anchor.diff:  (defclass auxiliary-entry (entry)
     ((%base-entry :initarg :base-entry :reader base-entry)))
   
  +(defgeneric auxiliary-entry-p (entry))
  +
  +(defmethod auxiliary-entry-p (entry)
  +  (declare (ignore entry))
  +  nil)
  +
  +(defmethod auxiliary-entry-p ((entry auxiliary-entry))
  +  (declare (ignorable entry))
  +  t)
  +
  +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  +;;;
  +;;; NAMED-ENTRY.
  +;;; 
   ;;; A mixin class for entries having a name associated with them. 
   (defclass named-entry ()
     ((%name :initarg :name :reader name)))
  
positive.code: (defclass entry ()
    ())
  
  ;;; A base entry is an entry that does not refer to any other entry.
  ;;; Entries that represent functions, variables, macros, and optimize
  ;;; declarations are examples of base entries. 
  (defclass base-entry (entry)
    ())
  
  ;;; An auxiliary entry contains a reference to a base entry.  Type
  ;;; declarations, dynamic-extent declarations, and ignore declarations
  ;;; are examples of auxiliary entries, because they all refer to some
  
negative.code:     (auxiliary-entry function-space definition-entry)
    ())
  
  (defgeneric compiler-macro-entry-p (object))
  
  (defmethod compiler-macro-entry-p (object)
    (declare (ignore object))
    nil)
  
  (defmethod compiler-macro-entry-p ((object compiler-macro-entry))
    (declare (ignorable object))
    t)
  
  (defun make-compiler-macro-entry (base-entry expander)
    (make-instance 'compiler-macro-entry
  		 :base-entry base-entry
  