Supporting specific types for keys and values, next to generics and primitives.

Does not work yet with fully qualified names.
Work in progress to support untyped specializations.