CollectionType should extend from a new type ParameterizedType, to allow modelling more complex types like e.g. Map. The idea is, that ParameterizedType has N parameter types and CollectionType is a special variant of that, because it has the notion of an element type.
When doing that, there also needs to be a way to register a "TypeFactory" for such custom collection types, which will produce ParameterizedType instances. We should try to model collection types through that same mechanism.
CollectionTypeshould extend from a new typeParameterizedType, to allow modelling more complex types like e.g.Map. The idea is, thatParameterizedTypehas N parameter types andCollectionTypeis a special variant of that, because it has the notion of an element type.When doing that, there also needs to be a way to register a "TypeFactory" for such custom collection types, which will produce
ParameterizedTypeinstances. We should try to model collection types through that same mechanism.