supertypes defined