cons
, symbol
, array
, number
,
character
, hash-table
,
function
,
readtable
, package
, pathname
, stream
,
random-state
, condition
, restart
,
and any single other type created by defstruct
,
define-condition
,
or defclass
are pairwise disjoint,
except for type relations explicitly established by specifying
superclasses in defclass
or define-condition
or the :include option of destruct
.
defstruct
are
disjoint unless
one is a supertype of the other by virtue of
the defstruct
:include option.
defclass
or define-condition
are disjoint unless they have a common subclass or
one class is a subclass of the other.
t
and a supertype of type nil
and the disjointness requirements
are not violated.
At the discretion of the implementation, either standard-object
or structure-object
might appear in any class precedence list
for a system class that does not already specify either
standard-object
or structure-object
. If it does,
it must precede the class t
and follow all other standardized classes.