anchor.diff:  
   ;;;; LET/LET*
   
  -(defclass variable-binding-form (form binding-form-mixin implicit-progn-mixin)
  +(defclass variable-binding-form (form binding-form-mixin implicit-progn-with-declare-mixin)
     ())
   
   (defclass let-form (variable-binding-form)
  
positive.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))
            (body macrolet) (walk-implict-progn macrolet (cddr form) env :declare t))))
  
  ;;;; MULTIPLE-VALUE-CALL
  
  
negative.code:          collect (cons name (walk-form `(lambda ,args ,@body) flet env)) into bindings
           finally (setf (binds flet) bindings))
        ;;;; walk the body in the new env
        (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)
  