"An open type.
 
 An open type is a type which may contain unbound type variables, such as `List<T>`."
shared sealed interface OpenType of OpenClassOrInterfaceType
                       | OpenTypeVariable
                       | OpenUnion
                       | OpenIntersection
                       | nothingType {}