anchor.diff:    (let ((walk-env '()))
       (when lexical-env
         (dolist (var (lexical-variables lexical-env))
  -        (setf walk-env (register walk-env :lexical-let var t)))
  +        (extend walk-env :lexical-let var t))
         (dolist (fun (lexical-functions lexical-env))
  -	(setf walk-env (register walk-env :lexical-flet fun t))))
  +	(extend walk-env :lexical-flet fun t)))
       walk-env))
   
   ;;;; This takes a Common Lisp form and transforms it into a tree of
  
positive.code:   (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))
        (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))))
  
negative.code:                                  (second form)))
      (dolist* ((var . value) (binds let))
        (declare (ignore value))
        (extend env :let var :dummy))
      (multiple-value-setf ((body let) nil (declares let)) (walk-implict-progn let (cddr form) env :declare t))))
  
  (defclass let*-form (variable-binding-form)
  