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.
[Editorial Note by KMP: The comments in the source say gray suggested some change
from “common superclass” to “common subclass” in the following, but the
result looks suspicious to me.]
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.