Make_gen.T
type ('a, 'phantom) t
type 'a elt
val fold : ('a, 'phantom) t -> init:'acc -> f:('acc -> 'a elt -> 'acc) -> 'acc
val iter : [ `Custom of ('a, 'phantom) t -> f:('a elt -> unit) -> unit | `Define_using_fold ]
val length : [ `Custom of ('a, 'phantom) t -> int | `Define_using_fold ]