Base.Containermodule Continue_or_stop : sig ... endContinue_or_stop.t is used by the f argument to fold_until in order to indicate whether folding should continue, or stop early.
module type S0 = sig ... endmodule type S0_phantom = sig ... endmodule type S0_with_creators = sig ... endmodule type S1 = sig ... endmodule type S1_phantom = sig ... endmodule type S1_with_creators = sig ... endmodule type Derived = sig ... endGeneric definitions of container operations in terms of fold.
module type Generic = sig ... endmodule type Generic_with_creators = sig ... endinclude Derivedval count : fold:('t, 'a, int) fold -> 't -> f:('a -> bool) -> intval min_elt : 
  fold:('t, 'a, 'a option) fold ->
  't ->
  compare:('a -> 'a -> int) ->
  'a optionval max_elt : 
  fold:('t, 'a, 'a option) fold ->
  't ->
  compare:('a -> 'a -> int) ->
  'a optionval length : fold:('t, _, int) fold -> 't -> intval to_list : fold:('t, 'a, 'a list) fold -> 't -> 'a listval fold_until : 
  fold:('t, 'a, 'acc) fold ->
  init:'acc ->
  f:('acc -> 'a -> ('acc, 'final) Continue_or_stop.t) ->
  finish:('acc -> 'final) ->
  't ->
  'finalGeneric definitions of container operations in terms of iter and length.
val is_empty : iter:('t, 'a) iter -> 't -> boolval mem : iter:('t, 'a) iter -> 't -> 'a -> equal:('a -> 'a -> bool) -> boolval exists : iter:('t, 'a) iter -> 't -> f:('a -> bool) -> boolval for_all : iter:('t, 'a) iter -> 't -> f:('a -> bool) -> boolval find : iter:('t, 'a) iter -> 't -> f:('a -> bool) -> 'a optionval find_map : iter:('t, 'a) iter -> 't -> f:('a -> 'b option) -> 'b optionThe idiom for using Container.Make is to bind the resulting module and to explicitly import each of the functions that one wants:
module Make_with_creators
  (T : sig ... end) : 
  S1_with_creators with type 'a t := 'a T.tmodule Make0_with_creators
  (T : sig ... end) : 
  S0_with_creators with type t := T.t and type elt := T.Elt.tmodule Make_gen_with_creators
  (T : sig ... end) : 
  Generic_with_creators
    with type ('a, 'phantom) t := ('a, 'phantom) T.t
     and type 'a elt := 'a T.elt
     and type ('a, 'phantom) concat := ('a, 'phantom) T.concat