If/when introducing any
to swift protocols, it would be great opportunity to clean up .self, .Type and .Protocol in relation to protocols.
So:
(any Collection).self
is the existential type ???.Type
Collection.self
is the protocol type: Collection.Type
EDIT: to avoid confusion like this: Type checking inconsistency with generic metatypes