anchor.diff:  
   (defwalker-handler tagbody (form parent env)
     (with-form-object (tagbody tagbody-form :parent parent :source form :body (cdr form))
  -    (setf env (register env :tagbody 'enclosing-tagbody tagbody))
  +    (extend env :tagbody 'enclosing-tagbody tagbody)
       (flet ((go-tag-p (form)
                (or (symbolp form) (integerp form))))
         ;; the loop below destructuivly modifies the body of tagbody,
  
positive.code:                                      :parent labels
                                       :source (list* name arguments body))
           do (push (cons name lambda) (binds labels))
           do (setf env (register env :flet name lambda)))
        (setf (binds labels) (nreverse (binds labels)))
        (loop
           for form in binds
  
negative.code:                               :binds '())
      (dolist* ((name args &body body) (second form))
        (let ((handler (eval `(lambda ,args ,@body))))
          (extend 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))))
  