Module HMap

module type HashedType = sig ... end
module Make (M : HashedType) : CMap.ExtS with type key = M.t

Hash maps are maps that take advantage of having a hash on keys. This is essentially a hash table, except that it uses purely functional maps instead of arrays.