anchor.diff:  (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)
  +  (with-bound-funs (mapcar #'car binds)
       (new (class-name-of form)
   	 :binds (lisp1b binds)
   	 :body  (lisp1s body))))
  
positive.code:   "Define a function with BODY written in Lisp-1 style.
  
  This is just like DEFUN."
    (with-vars-bound (extract-argument-names args :allow-specializers nil)
      `(defun ,name ,args
         ,(lisp1 `(block ,name ,@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))
  
  