Base.Indexed_containerProvides generic signatures for containers that support indexed iteration (iteri, foldi, ...). In principle, any container that has iter can also implement iteri, but the idea is that Indexed_container_intf should be included only for containers that have a meaningful underlying ordering.
module type Derived = sig ... endGeneric definitions of foldi and iteri in terms of fold.
module type Generic = sig ... endmodule type Generic_with_creators = sig ... endmodule type S0 = sig ... endmodule type S0_with_creators = sig ... endmodule type S1 = sig ... endmodule type S1_with_creators = sig ... endinclude DerivedGeneric definitions of indexed container operations in terms of foldi.
Generic definitions of indexed container operations in terms of iteri.
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