anchor.diff:      (unless *toplevel*
         (when (second form)
   	(let ((fun-name (->sym (second form))))
  -	  (set-add env fun-name)
   	  (set-add locals fun-name))))
     (let ((placeholder (list (car form))))
       (queue-enqueue lmbd-forms
  -		   (list form env placeholder (copy-list *lexenv-chain*)))
  +		   (list form placeholder (copy-list *lexenv-chain*)))
       placeholder))
   
   (define-transform-rule (:function form)
       (let ((placeholder (list (car form))))
         (queue-enqueue lmbd-forms
  -		     (list form env placeholder (copy-list *lexenv-chain*)))
  +		     (list form placeholder (copy-list *lexenv-chain*)))
         placeholder))
   
   (define-transform-rule (:toplevel form)
  
positive.code:     (declare (special lmbd-forms))
      (let ((toplevel (shallow-process-toplevel-form ast)))
        (loop until (queue-empty? lmbd-forms)
  	 for (form env position lexenv-chain) = (queue-dequeue lmbd-forms) do
  	   (let ((funct-form (shallow-process-function-form form env lexenv-chain)))
  	     (setf (car position) (car funct-form)
  		   (cdr position) (cdr funct-form))))
        toplevel)))
  
negative.code: 	    (transform-tree (second form)))))
  ;;
  
  (labels ((dump-decl-env (env)
  	   (let ((rest (append (second env) (set-elems (third env)))))
  	     (if (first env) (cons (first env) rest) rest)))
  	 (dump (el)
  	   (if (listp el) (dump-decl-env el) el)))
    (defun dump-lexenv-chain ()
      (mapcar #'dump *lexenv-chain*))
    (defun transform-obj-env (place)
      (setf (car place) (dump (car place)))
      (setf (cdr place) (mapcar #'dump (cdr place)))))
  