Well, C is valid for A, and B is valid for A, and obviously A is valid for A. So the set of types that A equals is... { A B C }. Oh no. That's not a set. A set can't contain itself by definition.
So our data types have to be indivisible. You can't have a hierarchy of types. Thus, this hypothetical language also lacks Inheritance. Types are just free-floating things you re-arrange as needed.