anchor.diff:           (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)
  +(defun slot-location-in-instance (instance slot-name)
     (when (not (symbolp slot-name))
       (setf slot-name (slot-definition-name slot-name)))
     (multiple-value-bind (slots layout)
  
positive.code:   (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)))
  
  ;;; class-of
  
  
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))
  