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