This question points to a whole can of worms opened by treating class" and "subclass" as equivalent to type and "subtype, a practice common to languages such as C++ and Java, and a topic discussed e.g. by ChrisDate and Darwen in TheThirdManifesto. -- DanMuller