The type hierarchy – subtypes and supertypes