anchor.diff:    ()
     (:metaclass decorator-class))
   
  +(closer-mop:finalize-inheritance (find-class 'decorator))
  +
   (defparameter *o* (make-instance 'decoratee))
   
   (value *o*)
  
positive.code: (defclass decorator-class (standard-class)
    ())
  
  (defclass decorator-object (standard-object)
    ((decoratee :initarg :decoratee
  	      :initform (error "Provide the decoratee")
  	      :accessor decoratee
  	      :documentation "The object being decorated")))
  
  (defmethod closer-mop:validate-superclass ((class decorator-class)
  					   (superclass standard-class))
      t)
  
  (defmethod initialize-instance :around
    ((class decorator-class) &rest initargs
  
negative.code:     ((class decorator-class)
       (object decorator-object)
       slot)
    (if (not (decorate-slot-p slot))
        (call-next-method)
        (slot-boundp (decoratee object)
  		   (closer-mop:slot-definition-name slot))))
  