Module type Enumeration_intf.Enumeration
module type S = S with type ('a, 'witness) enumeration := ('a, 'witness) t
module type S_fc = S_fc with type ('a, 'witness) enumeration := ('a, 'witness) t
val make : all:'a list -> (module S_fc with type enumerable_t = 'a)