anchor.diff:  ;;; Default method when there is not a more specific method for
   ;;; the head symbol.
   (defmethod convert-compound ((head symbol) form env)
  -  (let ((info (sicl-env:function-info head env t)))
  +  (let* ((info (sicl-env:function-info head env t))
  +	 (location (sicl-env:location info)))
       (sicl-ast:make-call-ast
  -     (sicl-ast:make-global-ast
  -      (sicl-env:name (sicl-env:location info))
  -      (sicl-env:storage (sicl-env:location info)))
  +     (find-or-create-ast location)
        (convert-sequence (cdr form) env))))
   
   ;;; Method to be used when the head of a compound form is a
  
positive.code: 	    (loop for (name lambda-list . body) in (cadr form)
  		  for fun = (convert-code lambda-list body env)
  		  collect (sicl-ast:make-setq-ast
  			   (let ((location (sicl-env:location 
  					    (sicl-env:function-info name new-env t))))
  			     (sicl-ast:make-lexical-ast
  			      (sicl-env:name location)
  			      (sicl-env:storage location)))
  			   fun))))
        (multiple-value-bind (declarations forms)
  	  (sicl-code-utilities:separate-ordinary-body (cddr form))
  
negative.code: 	 (convert-compound (car form) form environment))))
  	 
  (defun convert-top-level-form (form)
    (let ((*location-asts* (make-hash-table :test #'eq)))
      (convert `(function (lambda () ,form)) nil)))
  
  ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  