anchor.diff:    (not (null (find slot-name (class-slots (class-of instance))
                      :key #'slot-definition-name))))
   (defun slot-exists-p (object slot-name)
  -  (if (or (eq (class-of (class-of object)) the-class-standard-class)
  -          (eq (class-of (class-of object)) the-class-funcallable-standard-class))
  -      (std-slot-exists-p object slot-name)
  -      (slot-exists-p-using-class (class-of object) object slot-name)))
  +  (let ((metaclass (class-of (class-of object))))
  +    (cond ((or (eq metaclass the-class-standard-class)
  +               (eq metaclass the-class-funcallable-standard-class))
  +           (std-slot-exists-p object slot-name))
  +          (t (slot-exists-p-using-class (class-of object) object slot-name)))))
   
   ;;; class-of
   
  
positive.code:          (return (values slots instance-layout)))
         (update-instance-for-new-layout instance))))
  
  (defun std-slot-value (instance slot-name)
    (when (not (symbolp slot-name))
      (setf slot-name (slot-definition-name slot-name)))
    (multiple-value-bind (slots layout)
        (fetch-up-to-date-instance-slots-and-layout instance)
      (let* ((location (or (fast-sv-position slot-name layout)
                           (error "The slot ~S is missing from the class ~S."
                                  slot-name (class-of instance))))
             (val (svref slots location)))
        (if (eq secret-unbound-value val)
            (error "The slot ~S is unbound in the object ~S." slot-name instance)
            val))))
  
  (defun slot-value (object slot-name)
    (cond ((or (eq (class-of (class-of object)) the-class-standard-class)
               (eq (class-of (class-of object)) the-class-funcallable-standard-class))
           (std-slot-value object slot-name))
          (t (slot-value-using-class (class-of object) object slot-name))))
  
  (defun (setf std-slot-value) (value instance slot-name)
    (when (not (symbolp slot-name))
      (setf slot-name (slot-definition-name slot-name)))
    (multiple-value-bind (slots layout)
  
negative.code:             new-value (class-of object) object slot-name))))
  
  (defun std-slot-boundp (instance slot-name)
    (multiple-value-bind (slots location)
        (slot-location-in-instance instance slot-name)
      (not (eq secret-unbound-value (slot-contents slots location)))))
  (defun slot-boundp (object slot-name)
    (let ((metaclass (class-of (class-of object))))
      (cond ((or (eq metaclass the-class-standard-class)
                 (eq metaclass the-class-funcallable-standard-class))
             (std-slot-boundp object slot-name))
            (t (slot-boundp-using-class (class-of object) object slot-name)))))
  
  (defun std-slot-makunbound (instance slot-name)
    (multiple-value-bind (slots location)
        (slot-location-in-instance instance slot-name)
      (setf (slot-contents slots location) secret-unbound-value))
    instance)
  (defun slot-makunbound (object slot-name)
    (let ((metaclass (class-of (class-of object))))
      (cond ((or (eq metaclass the-class-standard-class)
                 (eq metaclass the-class-funcallable-standard-class))
             (std-slot-makunbound object slot-name))
            (t (slot-makunbound-using-class (class-of object) object slot-name)))))
  
  (defun std-slot-exists-p (instance slot-name)
    (when (not (symbolp slot-name))
  