anchor.diff:           (cond ((and (not (null applicable-methods))
                        (every 'primary-method-p applicable-methods)
                        (typep (first applicable-methods) 'standard-reader-method)
  -                     (std-class-p (class-of class)))
  +                     (std-class-p (class-of class))
  +                     (slot-exists-in-class-p class (slot-value (first applicable-methods) 'slot-definition)))
                   (let ((location (slot-location class (slot-value (first applicable-methods) 'slot-definition))))
  +                  (assert location)
                     (setf (single-dispatch-emf-entry emf-table class) location)
                     (pushnew gf (class-dependents class))
                     (fast-slot-read (first args) location)))
  
positive.code: 
  (defun slot-exists-p (instance slot-name)
    (not (null (find-effective-slot instance slot-name))))
  
  ;;; class-of
  
  
negative.code: (defun std-slot-boundp (instance slot-name)
    (multiple-value-bind (slots location)
        (slot-location-in-instance instance slot-name)
      (when (not location)
        (return-from std-slot-boundp
          (values (slot-missing (class-of instance) instance
                                slot-name 'slot-boundp))))
      (not (eq *secret-unbound-value* (slot-contents slots location)))))
  (defun slot-boundp (object slot-name)
    (let ((metaclass (class-of (class-of object))))
  