Hi, when using class indices they do not have a slot name. On destruction/index-remove this throws a condition on checking slot-boundp. I am using SBCL 1.0.14.23 and the latest bknr indices code, only indices, nothing else. Best regards Klaus ;Package changed to BKNR.INDICES #<PACKAGE "BKNR.INDICES"> BKNR.INDICES> (defvar *class-index* (index-create 'class-index :index-subclasses t)) *CLASS-INDEX* BKNR.INDICES> (defclass base-object () () (:metaclass indexed-class) (:class-indices (class :index *class-index* :slots nil :index-reader objects-of-class :index-values all-objects :index-subclasses t :index-keys all-class-names) (classes :index-type class-index :index-initargs (:index-superclasses t) :slots nil :index-subclasses t :index-reader objects-with-class))) #<INDEXED-CLASS BASE-OBJECT> ; in: LAMBDA NIL ; (SB-KERNEL:FLOAT-WAIT) ; ; note: deleting unreachable code ; ; compilation unit finished ; printed 1 note BKNR.INDICES> (defclass child1 (base-object) () (:metaclass indexed-class)) #<INDEXED-CLASS CHILD1> BKNR.INDICES> (defclass child2 (base-object) ((a :initarg :a)) (:metaclass indexed-class)) #<INDEXED-CLASS CHILD2> BKNR.INDICES> (make-instance 'child1) #<CHILD1 {AC66381}> BKNR.INDICES> (all-objects) (#<CHILD1 {AC66381}>) BKNR.INDICES> (destroy-object (first (all-objects))) When attempting to test to see whether slot is bound (SLOT-BOUNDP), the slot NIL is missing from the object #<CHILD1 {A7422D9}>. [Condition of type SIMPLE-ERROR] 0: [ABORT] Return to SLIME's top level. 1: [TERMINATE-THREAD] Terminate this thread (#<THREAD "repl-thread" {B54A251}>) ]> Quit debug