Why is COMPUTE-APPLICABLE-METHODS-USING-CLASSES using classes not COMPUTE-APPLICABLE-METHODS-USING-SPECIALIZERS? That is, it would be useful if there was a way for the implementation to query what methods apply to a particular class/object signature, and then cache this information. As near as I can tell, it is not possible to ever cache the effective methods of a generic function with EQL specializers. The only thing I noticed that seemed to be a gratuitous preemption of implementation flexibility was the mechanism for allowing direct access to instance slots. I don't have any problem with allowing direct access, but I don't like the idea that the user is in control of assigning slot locations, rather than the system. It seems to me that it would be in every way better if the user simply allowed the implementation to assign whatever offsets it wanted, and then queried the offset with SLOT-DEFINITION-LOCATION. Once S-D-L has been called, the implementation can't move the slot without UPDATE-DEPENDENT on the class.