functor (T : sig type 'a elt type 'a container end) ->
functor
(M : sig
val length : 'a T.container -> int
val is_empty : 'a T.container -> bool
val iter : 'a T.container -> f:('a T.elt -> unit) -> unit
val fold :
'a T.container -> init:'b -> f:('b -> 'a T.elt -> 'b) -> 'b
val exists : 'a T.container -> f:('a T.elt -> bool) -> bool
val for_all : 'a T.container -> f:('a T.elt -> bool) -> bool
val find :
'a T.container -> f:('a T.elt -> bool) -> 'a T.elt option
val to_list : 'a T.container -> 'a T.elt list
val to_array : 'a T.container -> 'a T.elt array
end) ->
sig end