anchor.diff:  
   ;;; Metaclasses.
   
  -(defclass forward-referenced-class (class) ())
  +(defclass forward-referenced-class (class)
  +  ((name :initarg :name)
  +   (direct-subclasses :initform '())
  +   (finalized-p :initform nil)))
  +
  +(defmethod print-object ((class forward-referenced-class) stream)
  +  (print-unreadable-object (class stream :identity t)
  +    (format stream "~:(~S~) ~S"
  +            (class-name (class-of class))
  +            (class-name class)))
  +  class)
  +
  +(defmethod update-instance-for-different-class :before
  +           ((old forward-referenced-class) (new standard-class) &rest initargs)
  +  (setf (class-direct-superclasses new) (list (find-class 'standard-class))))
  +
  +(defmethod update-instance-for-different-class :before
  +           ((old forward-referenced-class) (new funcallable-standard-class) &rest initargs)
  +  (setf (class-direct-superclasses new) (list (find-class 'funcallable-standard-class))))
   
   (defgeneric ensure-class-using-class (class name &key &allow-other-keys))
   
  
positive.code:           (setf (class-slots class) ())
            (setf (class-dependents class) ())
            (setf (class-hash class) (next-class-hash-value))
            class))
    ;; (It's now okay to define subclasses of t.)
    ;; 6. Create the other superclasses of standard-class (i.e., standard-object).
  
negative.code: ;;; Class redefinition.
  
  (defun std-after-reinitialization-for-classes (class &rest args &key &allow-other-keys)
    ;; Unfinalize the class.
    (setf (class-finalized-p class) nil)
    ;; Remove the class as a subclass from all existing superclasses.
    (dolist (superclass (class-direct-superclasses class))
      (setf (class-direct-subclasses superclass) (remove class (class-direct-subclasses superclass))))
  