anchor.diff:  (deflisp1-walker variable-binding-form (binds body)
     ;; Add all the bindings to the variable namespace so they aren't
     ;; sharp-quoted.
  -  (with-vars-bound (mapcar #'car binds)
  +  (with-bound-vars (mapcar #'car binds)
       (new (class-name-of form)
   	 :binds (lisp1b binds)
   	 :body  (lisp1s body))))
  
positive.code: (deflisp1-walker function-binding-form (binds body)
    ;; Add all the bindings to the function namespace to be sharp
    ;; quoted.
    (with-funs-bound (mapcar #'car binds)
      (new (class-name-of form)
  	 :binds (lisp1b binds)
  	 :body  (lisp1s body))))
  
negative.code:   ;; the variable has been bound by an enclosing function binding form
    ;; then we'll return that function.  We take advantage of the fact
    ;; that the `name' slot is shared.
    (if (or (and (fboundp name) (not (member name *bound-vars*)))
  	  (member name *bound-funs*))
        (change-class form 'free-function-object-form)
        form))
  
  