JSMap provides an abstract and more type-safe access to maps
JSMap abstraction. The first type parameter gives
the type of keys used by the name and the second gives
the type of values.
insert k x inserts an element
x associated with the given
k into a map.
lookup k selects the value associated with the key