anchor.diff:                   (extend-env (car arguments)))))))
         (setf (arguments func) (nreverse arguments))
         ;; 2) parse the body
  -      (setf (body func) (walk-implict-progn func (cddr form) env :declare t))
  +      (multiple-value-setf ((body func) nil (declares func)) (walk-implict-progn func (cddr form) env :declare t))
         ;; all done
         func)))
   
  
positive.code: 
  ;;;; FLET/LABELS
  
  (defclass function-binding-form (form binding-form-mixin implicit-progn-mixin)
    ())
  
  (defclass flet-form (function-binding-form)
  
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)
  