Enumeration.Make
T : sig ... end
type ('a, 'b) enumeration
type t
type enumeration_witness
val enumeration : (t, enumeration_witness) enumeration