Enumeration.Make
module T : sig ... end
type enumeration_witness
val enumeration : (T.t, enumeration_witness) t