anchor.diff:    (make-instance 'lexical-variable-info
       :name (name defining-info)
       :identity (identity defining-info)
  -    :type (cons 'and (variable-type environment defining-info))
  +    :type (apply #'conjoin-types
  +		 (variable-type environment defining-info))
       :ignore
       (let ((entry (variable-ignore environment defining-info)))
         (if (null entry) nil (ignore defining-info)))
  
positive.code:   (make-instance 'symbol-macro-info
      :name (name defining-info)
      :expansion (expansion defining-info)
      :type (cons 'and (variable-type environment defining-info))))
  
  ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  ;;;
  
negative.code:     (environment (defining-info special-variable-info))
    (make-instance 'special-variable-info
      :name (name defining-info)
      :type (apply #'conjoin-types
  		 (variable-type environment defining-info))
      :global-p (global-p defining-info)
      :ignore
      (let ((entry (variable-ignore environment defining-info)))
  