anchor.diff:  
   (defmacro deftype (name lambda-list &body body)
     `(eval-when (:compile-toplevel :load-toplevel :execute)
  -     (setf (sicl-env:type-expander ',name *global-environment*)
  +     (setf (sicl-env:type-expander
  +	    ',name
  +	    sicl-env:*global-environment*)
   	   (function ,(cleavir-code-utilities:parse-deftype 
   		       name
   		       lambda-list
  
positive.code: (defmacro defconstant (name initial-value &optional documentation)
    (declare (ignore documentation))
    `(eval-when (:compile-toplevel :load-toplevel :execute)
       (setf (sicl-env:constant-variable ',name *global-environment*)
  	   ,initial-value)))
  
  ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  
negative.code:   (if initial-value-p
        `(progn
  	 (eval-when (:compile-toplevel)
  	   (setf (sicl-env:special-variable
  		  ',name
  		  sicl-env:*global-environment*
  		  nil)
  		 nil))
  	 (eval-when (:load-toplevel :execute)
  	   (unless (sicl-env:boundp ',name
  				    sicl-env:*global-environment*)
  	     (setf (sicl-env:special-variable
  		    ',name
  		    sicl-env:*global-environment*
  		    t)
  		   ,initial-value))))
        `(eval-when (:compile-toplevel :load-toplevel :execute)
  	 (setf (sicl-env:special-variable
  		',name
  		sicl-env:*global-environment*
  		nil)
  	       nil))))
  
  ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  