anchor.diff:  
   (in-package :serapeum/internal-definitions)
   
  -(defvar *in-let*)
  +(defvar *subenv*)
   (defvar *orig-form*)
  -(defvar *local-symbol-macros*)
   
   (defmacro nonlocal (&body body)
     `(progn ,@body))
  
positive.code: 
  The `local' macro is loosely based on Racket's support for internal
  definitions."
    (catch 'local
      (multiple-value-bind (body decls) (parse-body orig-body)
        (let (*in-let* *orig-form* *local-symbol-macros*)
          (generate-internal-definitions
           (make 'internal-definitions-env
                 :decls decls
  
negative.code:              (push `(declare (type function ,temp)) decls)
               (push `(,name (&rest args) (apply ,temp args)) labels)
               `(progn (setf ,temp (ensure-function ,expr)) ',name)))
            ;; Sequencing.
            ((progn &body body)
             (if (single body)
                 (expand-partially self (first body))
                 (if *in-binding-form*
                     `(progn ,@(mapcar (op (expand-partially self _)) body))
                     (invoke-restart 'splice body))))
            (((prog1 multiple-value-prog1) f &body body)
  