Describes a complex collection type.
Describes a complex collection type. The source types are the type arguments that will be needed to produce the collection. We have more than one because in the case of a Map for instance we could have multiple ones.
The applier function is a way to produce a new type of the same collection type given an input type. It's useful because we often want to derive the types of the generators based on the name of the field, to offer the auto-replacement funtionality for collections.
The source types that are needed to produce the collection type.
The applier function that allows producing a collection type from a list of type arguments.