anchor.diff:  
   (defstruct funinfo
     ; Lists of stack variables. The rest contains the parent environments.
  -  (env (cons nil nil))
  +  (env nil)
   
     ; List of arguments.
     (args nil)
  +
  +  (renamed-vars nil)
   
     ; List of variables defined outside the function.
     (free-vars nil)
  
positive.code: 					 env-pos env
  					 lexical-pos lexicals)
  				   2))))
  
  ;;;; CLOSURES
  
  
negative.code:     (nconc! (funinfo-free-vars fi) (list var)))
    var)
  
  ;;;; ARGUMENTS & ENVIRONMENT
  
  (defun funinfo-in-args-or-env? (fi x)
    (or (funinfo-arg? fi x)
  	  (funinfo-env-pos fi x)))
  
  (defun funinfo-in-this-or-parent-env? (fi var)
    (when fi
      (or (funinfo-in-args-or-env? fi var)
  	    (awhen (funinfo-parent fi)
  		  (funinfo-in-this-or-parent-env? ! var)))))
  
  ;;;; ENVIRONMENT
  
  (defmacro with-funinfo-env-temporary (fi args &rest body)
    (with-gensym old-env
  