anchor.diff:  ;;; Compile an abstract syntax tree.
   
   (defun new-temporary ()
  -  (make-instance 'sicl-env:lexical-location))
  +  (make-instance 'sicl-env:lexical-location-info
  +		 :name (gensym)
  +		 :location (make-instance 'sicl-env:lexical-location)
  +		 :type t
  +		 :inline-info nil
  +		 :ignore-info nil
  +		 :dynamic-extent-p nil))
   
   (defun nil-fill (value-context successor)
     (let ((next successor))
  
positive.code: 	  (gethash instruction *instruction-table*)))
  
  (defmethod draw-instruction ((instruction funcall-instruction) stream)
    (draw-location (fun instruction) stream)
    (format stream "   ~a [label = \"funcall\"];~%"
  	  (gethash instruction *instruction-table*))
    (format stream "   ~a -> ~a [color = red, style = dashed];~%"
  
negative.code: 	     :code code
  	     :successors (list (nil-fill (cdr value-context) successor)))))))
  
  (defmethod compile-ast
      ((ast sicl-env:lexical-location-info) value-context successor)
    (cond ((eq value-context t)
  	 (make-instance 'put-values-instruction
  	   :inputs (list ast)
  	   :successors (list successor)))
  	((null value-context)
  	 (warn "variable compiled in a context with no values"))
  	(t
  	 (make-instance 'variable-assignment-instruction
  	   :outputs (list (car value-context))
  	   :inputs (list ast)
  	   :successors (list (nil-fill (cdr value-context) successor))))))
  
  ;;; This might be wrong.
  (defmethod compile-ast
      ((ast sicl-env:global-location-info) value-context successor)
    (cond ((eq value-context t)
  	 (make-instance 'put-values-instruction
  	   :inputs (list ast)
  	   :successors (list successor)))
  	((null value-context)
  	 (warn "variable compiled in a context with no values"))
  	(t
  	 (make-instance 'variable-assignment-instruction
  	   :outputs (list (car value-context))
  	   :inputs (list ast)
  	   :successors (list (nil-fill (cdr value-context) successor))))))
  
  (defun compile-toplevel (ast)
  