Actually different. Further reduced to (defun foo (x z) (let ((l (if x (tagbody m (if z (go m))) (list (list 1))))) (declare (dynamic-extent l)) (print l) 1))
Actually different. Further reduced to
(tagbody
(if z
(go m)))
(list (list 1)))))
(defun foo (x z)
(let ((l (if x
m
(declare (dynamic-extent l))
(print l)
1))