Higher Kinded Type-Polymorphic Collections
In brief, typekey provides the following features:
TypeTagthat is suitable for use as a key in a
TypeKeyto objects with type arguments that match the type indicated by the
Mapwhere the key and value of each key-value pair is bound to the same type argument.