anchor.diff:            (let ((next-exp (expand-partially self exp)))
               (if (eq exp next-exp)
                   (expansion-done self form)
  -                next-exp))
  +                (expansion-done self next-exp)))
             (expansion-done self form))))
     (:method expand-partially (self form)
       "Macro-expand FORM until it becomes a definition form or macro expansion stops."
  
positive.code:                (mapcar #'expand-binding)
                 (mapply #'var))))
      (copy-subenv subenv
                   :vars (append vars (.vars subenv)))))
  
  (defun augment/symbol-macros (symbol-macros &optional (subenv *subenv*))
    (copy-subenv subenv
                 :vars (append (mapply #'symbol-macro symbol-macros)
                               (.vars subenv))))
  
  (defun augment/block (block &optional (subenv *subenv*))
    (copy-subenv subenv
                 :blocks (cons block (.blocks subenv))))
  
  (defun augment/tags (tags &optional (subenv *subenv*))
    (copy-subenv subenv
                 :tags (append tags (.tags subenv))))
  
  (defun tagbody-tag? (form)
    (typep form '(or symbol integer)))
  
negative.code: (deftype binding ()
    '(or var symbol-macro fun macro))
  
  (defun expand-binding (bind)
    (if (listp bind)
        (if (rest bind)
  