Dmap is a library that implements dependent (heterogeneous) maps. The type of keys is indexed by the type of the associated values, so that the maps might contain data whose types may depend on the values of keys. It is adapted from the implementation code for maps that is used by the OCaml standard library.