anchor.diff:  (defun (sys.int::cas sys.int::%struct-slot) (old new object class-name slot-name)
     (let ((class (sys.int::get-structure-type class-name)))
       (when (not (sys.int::structure-type-p object class))
  -      (sys.int::raise-type-error object class)
  +      (raise-struct-type-error object class slot-name)
         (sys.int::%%unreachable))
       (let* ((slot (find-struct-slot class slot-name))
              (type (mezzano.clos:slot-definition-type slot))
  
positive.code: (defun (setf sys.int::%struct-vector-slot) (value object class-name slot-name index)
    (let ((class (sys.int::get-structure-type class-name)))
      (when (not (sys.int::structure-type-p object class))
        (sys.int::raise-type-error object class)
        (sys.int::%%unreachable))
      (let* ((slot (find-struct-slot class slot-name))
             (type (mezzano.clos:slot-definition-type slot))
  
negative.code: (defun (setf sys.int::%struct-slot) (value object class-name slot-name)
    (let ((class (sys.int::get-structure-type class-name)))
      (when (not (sys.int::structure-type-p object class))
        (raise-struct-type-error object class slot-name)
        (sys.int::%%unreachable))
      (let* ((slot (find-struct-slot class slot-name))
             (type (mezzano.clos:slot-definition-type slot))
  