anchor.diff:           collect (cons name (walk-form `(lambda ,args ,@body) flet env)) into bindings
            finally (setf (binds flet) bindings))
         ;;;; walk the body in the new env
  -      (setf (body flet) (walk-implict-progn flet
  -                                            body
  -                                            (loop
  -                                               with env = env
  -                                               for (name . lambda) in (binds flet)
  -                                               do (setf env (register env :flet name lambda))
  -                                               finally (return env))
  -                                            :declare t)))))
  +      (multiple-value-setf ((body flet) nil (declares flet))
  +			   (walk-implict-progn flet
  +					       body
  +					       (loop
  +						  with env = env
  +						  for (name . lambda) in (binds flet)
  +						  do (setf env (register env :flet name lambda))
  +						  finally (return env))
  +					       :declare t)))))
   
   (defwalker-handler labels (form parent env)
     (destructuring-bind (binds &body body)
  
positive.code:          (extend-env (var (rest arguments)) var `(type ,(first arguments))))
          (t
           (extend-env (var arguments) var `(type ,type))))))
    environment)
  
  (defun walk-implict-progn (parent forms env &key docstring declare)
    (multiple-value-bind (body env docstring)
        (split-body forms env :docstring docstring :declare declare)
      (values (mapcar (lambda (form)
                        (walk-form form parent env))
                      body)
              docstring)))
  
  ;;;; Atoms
  
  
negative.code:       (let ((handler (eval `(lambda ,args ,@body))))
          (setf env (register env :macrolet name handler))
          (push (cons name handler) (binds macrolet))))
      (setf (binds macrolet) (nreverse (binds macrolet)))
      (multiple-value-setf ((body macrolet) nil (declares macrolet)) (walk-implict-progn macrolet (cddr form) env :declare t))))
  
  ;;;; MULTIPLE-VALUE-CALL
  
  