anchor.diff:    "Produce AST nodes from a programmer-friendly representation.
   *CURRENT-LAMBDA* must be bound appropriately.
   Inherit source locations/etc from INHERIT."
  -  (declare (ignore inherit))
  -  (convert-ast-form form '()))
  -
  -(defun convert-ast-form (form new-variables)
  +  (convert-ast-form form inherit '()))
  +
  +(defun convert-ast-form (form inherit new-variables)
     (when (symbolp form)
       (let ((var (assoc form new-variables)))
         (assert var () "Missing substitution variable ~S" form)
  
positive.code:              (assert (eql (go-tag-tagbody go-tag) tagbody-info)))
              (symbol
               (let ((tag (make-instance 'go-tag
                                         :name go-tag
                                         :tagbody tagbody-info
                                         :use-count 1)))
  
negative.code:     (setf (tagbody-information-go-tags tagbody-info) (append (reverse new-go-tags)
                                                               (tagbody-information-go-tags tagbody-info)))
      (make-instance 'ast-tagbody
                     :inherit inherit
                     :info tagbody-info
                     :statements (loop
                                    for (go-tag statement) in statements
                                    collect (list (convert-ast-form go-tag inherit new-variables)
                                                  (convert-ast-form statement inherit new-variables))))))
  
  (defun convert-ast-the (inherit new-variables type value)
    (make-instance 'ast-the
                   :inherit inherit
                   :type (sys.int::typeexpand type)
                   :value (convert-ast-form value inherit new-variables)))
  
  (defun convert-ast-unwind-protect (inherit new-variables protected-form cleanup-function)
    (make-instance 'ast-unwind-protect
                   :inherit inherit
                   :protected-form (convert-ast-form protected-form inherit new-variables)
                   :cleanup-function (convert-ast-form cleanup-function inherit new-variables)))
  
  (defun convert-ast-call (inherit new-variables name &rest arguments)
    (make-instance 'ast-call
                   :inherit inherit
                   :name name
                   :arguments (loop
                                 for form in arguments
                                 collect (convert-ast-form form inherit new-variables))))
  
  (defun convert-ast-jump-table (inherit new-variables value &rest targets)
    (make-instance 'ast-jump-table
                   :inherit inherit
                   :value (convert-ast-form value inherit new-variables)
                   :targets (loop
                               for form in targets
                               collect (convert-ast-form form inherit new-variables))))
  