anchor.diff:  ;; )
   
   (eval-when ()
  -  ;; FIXME: Not very rigorous tests onto the updated SHARED-INITIALIZE
  -
  -  (defsingleton x-a () ;; FIXME SINGLETON no longer appearing in the X-A CPL
  +
  +  (defsingleton x-a ()
       ())
   
     (typep (make-instance 'x-a) 'x-a)
  
positive.code:                        (compute-class implc nil))))
      (cond
        (implc-inst
         ;; FIXME: OTHERWISE need to defer evaluation !
         #+nil
         (warn "Dispatch from CHANGE-CLASS ~S ~S to initialize ~S"
               instance new implc-inst)
  
         ;; NB: in PCL this may be the only way that the
         ;; direct-supeclasses slot winds up initialized from
         ;; CHANGE-CLASS (??) (FIXME: Evaluate how that's been implemented)
         (shared-initialize implc-inst (list +direct-superclasses-slot+)))
        (t (warn "~<Unable to initilize unreachable ~
  implementation class ~S for ~S~>~< during CHANGE-CLASS ~s ~s~>"
                 implc new
                 instance new)))))
  
  
negative.code:                                                  &allow-other-keys)
    ;; ensure that any call to MAKE-INSTANCE of a SINGLETON will produce
    ;; an object that is a subtype of the original SINGLETON
  
    ;; NB: In some call sequences -- such as when a singleton is
    ;; created initially from DEFCLASS, rather than CHANGE-CLASS from a
    ;; FORWARD-RERFERENCED-CLASS -- this may be "Early enough" to catch
    ;; where PCL is initially setting the direct-superclasses list for the
    ;; class definition.
    ;;
    ;; NB: See also CHANGE-CLASS, SHARED-INITIALIZE
  
    (let ((tgt-class (find-class 'singleton))
          (unused-class (find-class 'standard-object))
  