A type to specify a variable-size mapping of keys of a single type to values of a single type.
the type of the keys in the mapping
the type of the values in the mapping