anchor.diff:  
   (defun funinfo-env-reset (fi)
     (setf (funinfo-env fi) nil)
  -  (setf (funinfo-env-hash fi) (make-hash-table :test #'eq)))
  +  (unless (funinfo-parent fi)
  +    (setf (funinfo-env-hash fi) (make-hash-table :test #'eq))))
   
   (defun funinfo-add-used-env (fi x)
     (adjoin! x (funinfo-used-env fi) :test #'eq))
  
positive.code: 			 (funinfo-args fi)))
  
  (defun funinfo-in-env? (fi x)
    (href (funinfo-env-hash fi) x))
  
  (defun funinfo-in-args-or-env? (fi x)
    (or (funinfo-arg? fi x)
  
negative.code: 	(error "atom expected"))
    (unless (funinfo-in-env? fi x)
  	; XXX (error "double definition of ~A in ~A" x (funinfo-env fi))
      (unless (funinfo-parent fi)
    	  (unless (funinfo-env-hash fi)
    	    (setf (funinfo-env-hash fi) (make-hash-table :test #'eq)))
    	  (setf (href (funinfo-env-hash fi) x) t))
      (push x (funinfo-env fi)))
    x)
  
  