anchor.diff:      ;; FIXME: handle more proclamations
       ))
   
  -;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  -;;;
  -;;; Put some stuff in the global environment.
  -
  -(add-to-global-environment
  - (make-constant-variable-entry 'pi pi))
  -
  -(add-to-global-environment
  - (make-special-variable-entry '*read-base*))
  -
  -(add-to-global-environment
  - (make-global-function-entry 'car))
  -
  -(add-to-global-environment
  - (make-global-function-entry 'error))
  -
  -(add-to-global-environment
  - (make-global-function-entry '(setf fdefinition)))
  -
  -(add-to-global-environment
  - (make-global-function-entry 'funcall))
  -
  -(add-to-global-environment
  - (make-local-macro-entry
  -  'when
  -  (lambda (form env)
  -    (declare (ignore env))
  -    `(if ,(cadr form)
  -	 (progn ,(cddr form))
  -	 nil))))
  -
  
positive.code: 			       (eq (name entry) name)))
  			*global-environment*)))
      (when (null entry)
        (error "no function by that name"))
      (let ((existing-declaration
  	    (find-if (lambda (decl)
  		       (and (typep decl 'type-declaration-entry)
  			    (eq (location decl) (location entry))))
  		     *global-environment*)))
        (cond ((null existing-declaration)
  	     (add-to-global-environment
  	      (make-type-declaration-entry entry type)))
  	    ((equal (type existing-declaration) type)
  	     nil)
  	    (t
  
negative.code: 	(t nil)))
  
  (defun find-dynamic-extent-info (entry env)
    (loop for e in (append env (proclamations *global-environment*))
  	when (and (typep e 'dynamic-extent-declaration-entry)
  		  (eq (location e) entry))
  	  return t))
  
  (defun variable-info (name env)
    (let ((entry (find-variable name env)))
      (cond ((null entry)
  	   nil)
  	  ((typep entry 'constant-variable-entry)
  