anchor.diff:    "Define a function with BODY written in Lisp-1 style.
   
   This is just like DEFUN."
  -  (let1 *bound-vars*
  -      (append *bound-vars* (extract-argument-names args :allow-specializers nil))
  +  (with-vars-bound (extract-argument-names args :allow-specializers nil)
       `(defun ,name ,args
          ,(lisp1 `(block ,name ,@body)))))
   
   (defmacro defmethod1 (name (&rest args) &body body)
  -  "Define a function with BODY written in Lisp-1 style.
  +  "Define a method with BODY written in Lisp-1 style.
   
   This is just like DEFMETHOD."
  -  (let1 *bound-vars*
  -      (append *bound-vars* (extract-argument-names args :allow-specializers t))
  +  (with-vars-bound (extract-argument-names args :allow-specializers t)
       `(defmethod ,name ,args
          ,(lisp1 `(block ,name ,@body)))))
   
  
positive.code: 
  (deflisp1-walker lambda-function-form (arguments body)
    ;; For any function-form (ie lambda), we just transform the body.
    ;; We also must add the parameters to the list of bound variables.
    (let1 *bound-vars*
        (append (mapcar #'name arguments) *bound-vars*)
      (new 'lambda-function-form
  	 :arguments arguments
  	 :body      (lisp1s body))))
  
  (deflisp1-walker free-variable-reference (name)
    ;; If a free variable is bound in the toplevel, *and* not bound by
    ;; an enclosing lambda, then we'll return that function.  We take
    ;; advantage of the fact that the `name' slot is shared.
    (if (and (fboundp name) (not (member name *bound-vars*)))
        (change-class form 'free-function-object-form)
        form))
  
  
negative.code: 			(lisp1s arguments))))
  
  (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))))
  
  (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)
      (new (class-name-of form)
  	 :binds (lisp1b binds)
  	 :body  (lisp1s body))))
  
  ;; Walking all the other Common Lisp forms is rather straight-forward.
  
  (deflisp1-walker setq-form (var value)
    (new 'setq-form
  