Hmap provides an hashing table datastructure whose values are typed by the type parameter of the associated (polymorphic) key.