An open type.
An open type is a type which may contain unbound type variables, such as List<T>.
List<T>
no type hierarchy
no supertypes hierarchy
OpenType
OpenClassOrInterfaceType
OpenClassType
OpenInterfaceType
OpenIntersection
OpenTypeVariable
OpenUnion
nothingType
Object
hash
string
equals()