anchor.diff:     #:ensure-slot-name
      #:class-of-object
      #:class-slot-by-name
  +   #:class-slots
      #:class-direct-slots
      #:class-direct-slot-names
      #:class-direct-slot-readers
  
positive.code: 	(finally (return (values writers writer-names slot-names)))))
  
  (defun class-of-object ( o )
    (typecase o
      (symbol (find-class o))
      (standard-class o)
      (standard-object (class-of o))))
  
  (defun class-direct-slot-readers ( o )
    (awhen (class-of-object o)
      (%slot-readers (closer-mop:class-direct-slots it ))))
  
  (defun class-slot-readers ( o )
    (awhen (class-of-object o)
      (%slot-readers (closer-mop:class-slots it))))
  
  (defun class-direct-slot-writers (o)
    (awhen (class-of-object o)
      (%slot-writers (closer-mop:class-direct-slots it))))
  
  (defun class-slot-writers (o)
    (awhen (class-of-object o)
      (%slot-writers (closer-mop:class-slots it))))
  
  (defun class-direct-slots (o)
    (awhen (class-of-object o)
      (closer-mop:class-direct-slots it)))
  
  (defun class-direct-slot-names (o)
    (awhen (class-of-object o)
      (mapcar
       #'closer-mop:slot-definition-name
       (closer-mop:class-direct-slots it))))
  
  (defun class-slot-names (o)
    (awhen (class-of-object o)
      (mapcar
       #'closer-mop:slot-definition-name
       (closer-mop:class-slots it))))
  
  (defun class-slot-definitions (o)
    (setf o (class-of-object o))
    (when o (closer-mop:class-slots o)))
  
  (defun class-slot-by-name (o k &key (test #'equalper) )
    (setf o (class-of-object o))
  
negative.code: 
  (defun ensure-slot-name (sn)
    (typecase sn
      (list (mapcar #'ensure-slot-name sn))
      ((or symbol string) sn)
      (closer-mop:slot-definition
       (closer-mop:slot-definition-name sn))))
  