anchor.diff:    (:nicknames #:ltp.common.mop.singleton)
     (:use #:ltp/common/mop
           #:ltp/common
  -        #:cl))
  +        #:cl)
  +  (:export
  +   #:singleton
  +   #:defsingleton
  +   ))
   
   (in-package #:ltp/common/mop/singleton)
   
  
positive.code: 
  
  
  (defclass singleton-2 (singleton-1)
    ((sl-c))
    (:metaclass singleton))
  
  (finalize-inheritance (find-class 'singleton-2))
  
  
negative.code: #+nil
  (eval-when ()
  
  (defsingleton singleton-1 ()
    ((sl-1)
     (sl-b)))
  
  (let ((c (find-class 'singleton-1)))
    (finalize-inheritance c)
    (multiple-value-bind (st-1 st-2)
        (subtypep c 'singleton)
      (multiple-value-bind (mt-1 mt-2)
          (subtypep (class-of c) 'singleton)
        (values st-1 st-2
                mt-1 mt-2))))
  
  ;; => T, T, T, T
  
  
  (finalize-inheritance (find-class 'singleton-1))
  
  