anchor.diff:    (with-form-object (symbol-macrolet symbol-macrolet-form :parent parent :source form
                                        :binds '())
       (dolist* ((symbol expansion) (second form))
  -      (setf env (register env :symbol-macrolet symbol expansion))
  +      (extend env :symbol-macrolet symbol expansion)
         (push (cons symbol expansion) (binds symbol-macrolet)))
       (setf (binds symbol-macrolet) (nreverse (binds symbol-macrolet))
             (body symbol-macrolet) (walk-implict-progn parent (cddr form) env))))
  
positive.code: 		 (extend-env ((var list) newdeclare &rest datum)
  		   `(dolist (,var ,list)
  		      (when ,newdeclare (push ,newdeclare declares))
  		      (setf environment (register environment :declare ,@datum)))))
  	(destructuring-bind (type &rest arguments)
  	    declaration
  	  (case type
  
negative.code:   (let ((walk-env '()))
      (when lexical-env
        (dolist (var (lexical-variables lexical-env))
          (extend walk-env :lexical-let var t))
        (dolist (fun (lexical-functions lexical-env))
  	(extend walk-env :lexical-flet fun t)))
      walk-env))
  
  ;;;; This takes a Common Lisp form and transforms it into a tree of
  