PolyMap
module type ValueS = sig ... end
Polymorphic maps over an extensible GADT tag type.
module type Tag = sig ... end
module Make (Tag : Tag) : sig ... end