anchor.diff:  (defun walk-lambda-list (lambda-list parent env &key allow-specializers)
     (flet ((extend-env (argument)
                    (unless (typep argument 'allow-other-keys-function-argument-form)
  -                   (setf env (register env :let (name argument) argument)))))
  +                   (extend env :let (name argument) argument))))
       (let ((state :required)
             (arguments '()))
         (dolist (argument lambda-list)
  
positive.code:                               :binds '())
      (dolist* ((name args &body body) (second form))
        (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))))
  
negative.code:   (with-form-object (symbol-macrolet symbol-macrolet-form :parent parent :source form
                                       :binds '())
      (dolist* ((symbol expansion) (second form))
        (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))))
  