+ (values new-value t))))))
+
+
+(defmethod (setf slot-value-using-class) :around
+ (new-value (cl hyperobject-class) obj (slot hyperobject-esd))
+ (multiple-value-bind (value changed-p) (do-svuc new-value cl obj slot)
+ (when changed-p
+ (setq value (call-next-method))
+ (when (direct-rules cl)
+ (fire-class-rules cl obj slot)))
+ value))
+
+