Why do these forms behave this way?
CL-USER> (setf *closures* (loop for num in (list 1 2 3 4) collect (lambda () n
The name num represents the same binding during the evaluation of LOOP. Maybe you want to write:
num
(mapcar 'constantly (list 1 2 3 4))
to get what you meant.