include module type of Base.List
type !'a t = 'a list
val compare : ('a -> 'a -> int) -> 'a t -> 'a t -> intval hash_fold_t : (Base__.Ppx_hash_lib.Std.Hash.state -> 'a -> Base__.Ppx_hash_lib.Std.Hash.state) -> Base__.Ppx_hash_lib.Std.Hash.state -> 'a t -> Base__.Ppx_hash_lib.Std.Hash.stateval t_of_sexp : (Sexplib0__.Sexp.t -> 'a) -> Sexplib0__.Sexp.t -> 'a tval sexp_of_t : ('a -> Sexplib0__.Sexp.t) -> 'a t -> Sexplib0__.Sexp.tval t_sexp_grammar : Base__.Ppx_sexp_conv_lib.Sexp.Private.Raw_grammar.tval mem : 'a t -> 'a -> equal:('a -> 'a -> bool) -> boolval length : 'a t -> intval is_empty : 'a t -> boolval iter : 'a t -> f:('a -> unit) -> unitval fold : 'a t -> init:'accum -> f:('accum -> 'a -> 'accum) -> 'accumval fold_result : 'a t -> init:'accum -> f:('accum -> 'a -> ('accum, 'e) Base__.Result.t) -> ('accum, 'e) Base__.Result.tval fold_until : 'a t -> init:'accum -> f:('accum -> 'a -> ('accum, 'final) Base__.Container_intf.Continue_or_stop.t) -> finish:('accum -> 'final) -> 'finalval exists : 'a t -> f:('a -> bool) -> boolval for_all : 'a t -> f:('a -> bool) -> boolval sum : (module Base__.Container_intf.Summable with type t = 'sum) -> 'a t -> f:('a -> 'sum) -> 'sumval find : 'a t -> f:('a -> bool) -> 'a optionval find_map : 'a t -> f:('a -> 'b option) -> 'b optionval to_list : 'a t -> 'a listval to_array : 'a t -> 'a arrayval min_elt : 'a t -> compare:('a -> 'a -> int) -> 'a optionval max_elt : 'a t -> compare:('a -> 'a -> int) -> 'a optionval invariant : 'a Base__.Invariant_intf.inv -> 'a t Base__.Invariant_intf.invval (>>=) : 'a t -> ('a -> 'b t) -> 'b tval (>>|) : 'a t -> ('a -> 'b) -> 'b t
val bind : 'a t -> f:('a -> 'b t) -> 'b tval return : 'a -> 'a tval join : 'a t t -> 'a tval ignore_m : 'a t -> unit tval all : 'a t list -> 'a list tval all_unit : unit t list -> unit t
val of_list : 'a t -> 'a tval nth : 'a t -> int -> 'a optionval nth_exn : 'a t -> int -> 'aval rev : 'a t -> 'a tval rev_append : 'a t -> 'a t -> 'a tval unordered_append : 'a t -> 'a t -> 'a tval rev_map : 'a t -> f:('a -> 'b) -> 'b tval iter2_exn : 'a t -> 'b t -> f:('a -> 'b -> unit) -> unitval iter2 : 'a t -> 'b t -> f:('a -> 'b -> unit) -> unit Or_unequal_lengths.tval rev_map2_exn : 'a t -> 'b t -> f:('a -> 'b -> 'c) -> 'c tval rev_map2 : 'a t -> 'b t -> f:('a -> 'b -> 'c) -> 'c t Or_unequal_lengths.tval fold2_exn : 'a t -> 'b t -> init:'c -> f:('c -> 'a -> 'b -> 'c) -> 'cval fold2 : 'a t -> 'b t -> init:'c -> f:('c -> 'a -> 'b -> 'c) -> 'c Or_unequal_lengths.tval for_alli : 'a t -> f:(int -> 'a -> bool) -> boolval for_all2_exn : 'a t -> 'b t -> f:('a -> 'b -> bool) -> boolval for_all2 : 'a t -> 'b t -> f:('a -> 'b -> bool) -> bool Or_unequal_lengths.tval existsi : 'a t -> f:(int -> 'a -> bool) -> boolval exists2_exn : 'a t -> 'b t -> f:('a -> 'b -> bool) -> boolval exists2 : 'a t -> 'b t -> f:('a -> 'b -> bool) -> bool Or_unequal_lengths.tval filter : 'a t -> f:('a -> bool) -> 'a tval rev_filter : 'a t -> f:('a -> bool) -> 'a tval filteri : 'a t -> f:(int -> 'a -> bool) -> 'a tval partition_map : 'a t -> f:('a -> ('b, 'c) Base__.Either0.t) -> 'b t * 'c tval partition3_map : 'a t -> f:('a -> [ `Fst of 'b | `Snd of 'c | `Trd of 'd ]) -> 'b t * 'c t * 'd tval partition_tf : 'a t -> f:('a -> bool) -> 'a t * 'a tval partition_result : ('ok, 'error) Base__.Result.t t -> 'ok t * 'error tval split_n : 'a t -> int -> 'a t * 'a tval sort : 'a t -> compare:('a -> 'a -> int) -> 'a tval stable_sort : 'a t -> compare:('a -> 'a -> int) -> 'a tval merge : 'a t -> 'a t -> compare:('a -> 'a -> int) -> 'a tval hd : 'a t -> 'a optionval tl : 'a t -> 'a t optionval hd_exn : 'a t -> 'aval tl_exn : 'a t -> 'a tval findi : 'a t -> f:(int -> 'a -> bool) -> (int * 'a) optionval find_exn : 'a t -> f:('a -> bool) -> 'aval find_map_exn : 'a t -> f:('a -> 'b option) -> 'bval find_mapi : 'a t -> f:(int -> 'a -> 'b option) -> 'b optionval find_mapi_exn : 'a t -> f:(int -> 'a -> 'b option) -> 'bval append : 'a t -> 'a t -> 'a tval map : 'a t -> f:('a -> 'b) -> 'b tval folding_map : 'a t -> init:'b -> f:('b -> 'a -> 'b * 'c) -> 'c tval folding_mapi : 'a t -> init:'b -> f:(int -> 'b -> 'a -> 'b * 'c) -> 'c tval fold_map : 'a t -> init:'b -> f:('b -> 'a -> 'b * 'c) -> 'b * 'c tval fold_mapi : 'a t -> init:'b -> f:(int -> 'b -> 'a -> 'b * 'c) -> 'b * 'c tval concat_map : 'a t -> f:('a -> 'b t) -> 'b tval concat_mapi : 'a t -> f:(int -> 'a -> 'b t) -> 'b tval map2_exn : 'a t -> 'b t -> f:('a -> 'b -> 'c) -> 'c tval map2 : 'a t -> 'b t -> f:('a -> 'b -> 'c) -> 'c t Or_unequal_lengths.tval rev_map3_exn : 'a t -> 'b t -> 'c t -> f:('a -> 'b -> 'c -> 'd) -> 'd tval rev_map3 : 'a t -> 'b t -> 'c t -> f:('a -> 'b -> 'c -> 'd) -> 'd t Or_unequal_lengths.tval map3_exn : 'a t -> 'b t -> 'c t -> f:('a -> 'b -> 'c -> 'd) -> 'd tval map3 : 'a t -> 'b t -> 'c t -> f:('a -> 'b -> 'c -> 'd) -> 'd t Or_unequal_lengths.tval rev_map_append : 'a t -> 'b t -> f:('a -> 'b) -> 'b tval fold_right : 'a t -> f:('a -> 'b -> 'b) -> init:'b -> 'bval fold_left : 'a t -> init:'b -> f:('b -> 'a -> 'b) -> 'bval unzip : ('a * 'b) t -> 'a t * 'b tval unzip3 : ('a * 'b * 'c) t -> 'a t * 'b t * 'c tval zip : 'a t -> 'b t -> ('a * 'b) t Or_unequal_lengths.tval zip_exn : 'a t -> 'b t -> ('a * 'b) tval mapi : 'a t -> f:(int -> 'a -> 'b) -> 'b tval rev_mapi : 'a t -> f:(int -> 'a -> 'b) -> 'b tval iteri : 'a t -> f:(int -> 'a -> unit) -> unitval foldi : 'a t -> init:'b -> f:(int -> 'b -> 'a -> 'b) -> 'bval reduce_exn : 'a t -> f:('a -> 'a -> 'a) -> 'aval reduce : 'a t -> f:('a -> 'a -> 'a) -> 'a optionval reduce_balanced : 'a t -> f:('a -> 'a -> 'a) -> 'a optionval reduce_balanced_exn : 'a t -> f:('a -> 'a -> 'a) -> 'aval group : 'a t -> break:('a -> 'a -> bool) -> 'a t tval groupi : 'a t -> break:(int -> 'a -> 'a -> bool) -> 'a t tval chunks_of : 'a t -> length:int -> 'a t tval last : 'a t -> 'a optionval last_exn : 'a t -> 'aval is_prefix : 'a t -> prefix:'a t -> equal:('a -> 'a -> bool) -> boolval is_suffix : 'a t -> suffix:'a t -> equal:('a -> 'a -> bool) -> boolval find_consecutive_duplicate : 'a t -> equal:('a -> 'a -> bool) -> ('a * 'a) optionval remove_consecutive_duplicates : ?which_to_keep:[ `First | `Last ] -> 'a t -> equal:('a -> 'a -> bool) -> 'a tval dedup_and_sort : compare:('a -> 'a -> int) -> 'a t -> 'a tval find_a_dup : compare:('a -> 'a -> int) -> 'a t -> 'a optionval contains_dup : compare:('a -> 'a -> int) -> 'a t -> boolval find_all_dups : compare:('a -> 'a -> int) -> 'a t -> 'a listval count : 'a t -> f:('a -> bool) -> intval counti : 'a t -> f:(int -> 'a -> bool) -> intval range : ?stride:int -> ?start:[ `exclusive | `inclusive ] -> ?stop:[ `exclusive | `inclusive ] -> int -> int -> int tval range' : compare:('a -> 'a -> int) -> stride:('a -> 'a) -> ?start:[ `exclusive | `inclusive ] -> ?stop:[ `exclusive | `inclusive ] -> 'a -> 'a -> 'a tval init : int -> f:(int -> 'a) -> 'a tval rev_filter_map : 'a t -> f:('a -> 'b option) -> 'b tval rev_filter_mapi : 'a t -> f:(int -> 'a -> 'b option) -> 'b tval filter_map : 'a t -> f:('a -> 'b option) -> 'b tval filter_mapi : 'a t -> f:(int -> 'a -> 'b option) -> 'b tval filter_opt : 'a option t -> 'a t
module Assoc : sig ... endval sub : 'a t -> pos:int -> len:int -> 'a tval take : 'a t -> int -> 'a tval drop : 'a t -> int -> 'a tval take_while : 'a t -> f:('a -> bool) -> 'a tval drop_while : 'a t -> f:('a -> bool) -> 'a tval split_while : 'a t -> f:('a -> bool) -> 'a t * 'a tval drop_last : 'a t -> 'a t optionval drop_last_exn : 'a t -> 'a tval concat : 'a t t -> 'a tval concat_no_order : 'a t t -> 'a tval cons : 'a -> 'a t -> 'a tval cartesian_product : 'a t -> 'b t -> ('a * 'b) tval permute : ?random_state:Base__.Random.State.t -> 'a t -> 'a tval random_element : ?random_state:Base__.Random.State.t -> 'a t -> 'a optionval random_element_exn : ?random_state:Base__.Random.State.t -> 'a t -> 'aval is_sorted : 'a t -> compare:('a -> 'a -> int) -> boolval is_sorted_strictly : 'a t -> compare:('a -> 'a -> int) -> boolval equal : ('a -> 'a -> bool) -> 'a t -> 'a t -> bool
module Infix : sig ... endval transpose : 'a t t -> 'a t t optionval transpose_exn : 'a t t -> 'a t tval intersperse : 'a t -> sep:'a -> 'a t
val append_one : 'a list -> 'a -> 'a list