The place of first setf is evaluated before the value form which has a side effect that the car of lst becomes the cdr of lst, due to consing.// I've used defvar and a non-empty list, otherwise SBCL would be complaining.