DATA-TYPES-HIERARCHY-UNDERSPECIFIEDHASH-TABLE, READTABLE, PACKAGE, PATHNAME, STREAM, and RANDOM-STATE currently are not required to be disjoint from CONS, SYMBOL, ARRAY, NUMBER, or CHARACTER. The same is true of DEFSTRUCT types. With the arrival of CLOS, lack of disjointness will be inconvenient because one cannot reliably use generic function dispatch on these types.
* The types CONS, SYMBOL, ARRAY, NUMBER, CHARACTER, HASH-TABLE, READTABLE, PACKAGE, PATHNAME, STREAM, RANDOM-STATE, and any single other type created by DEFSTRUCT [or DEFCLASS] are pairwise disjoint.
Also, in the discussion of the DEFSTRUCT :INCLUDE option, it is an error for the type given to the :INCLUDE option to be CONS, SYMBOL, ARRAY, NUMBER, CHARACTER, HASH-TABLE, READTABLE, PACKAGE, PATHNAME, STREAM, or RANDOM-STATE.
CLOS generic function mechanism. This is not possible under the current specification.DEFSTRUCT to define data structures such as hash tables and random-states.CLOS will be less useful.CLOS will be more useful.CLOS committee.