# Module BatEnum.Labels

    module Labels: sig .. end

Operations on `BatEnum` with labels.

This module overrides a number of functions of `BatEnum` by functions in which some arguments require labels. These labels are there to improve readability and safety and to let you change the order of arguments to functions. In every case, the behavior of the function is identical to that of the corresponding function of `BatEnum`.

    val iter : f:('a -> unit) -> 'a BatEnum.t -> unit

    val iter2 : f:('a -> 'b -> unit) -> 'a BatEnum.t -> 'b BatEnum.t -> unit

    val exists : f:('a -> bool) -> 'a BatEnum.t -> bool

    val for_all : f:('a -> bool) -> 'a BatEnum.t -> bool

    val fold : f:('b -> 'a -> 'b) -> init:'b -> 'a BatEnum.t -> 'b

    val fold2 : f:('a -> 'b -> 'c -> 'c) -> init:'c -> 'a BatEnum.t -> 'b BatEnum.t -> 'c

    val iteri : f:(int -> 'a -> unit) -> 'a BatEnum.t -> unit

    val iter2i : f:(int -> 'a -> 'b -> unit) -> 'a BatEnum.t -> 'b BatEnum.t -> unit

    val foldi : f:(int -> 'a -> 'b -> 'b) -> init:'b -> 'a BatEnum.t -> 'b

    val fold2i : f:(int -> 'a -> 'b -> 'c -> 'c) ->
           init:'c -> 'a BatEnum.t -> 'b BatEnum.t -> 'c

    val find : f:('a -> bool) -> 'a BatEnum.t -> 'a

    val take_while : f:('a -> bool) -> 'a BatEnum.t -> 'a BatEnum.t

    val drop_while : f:('a -> bool) -> 'a BatEnum.t -> 'a BatEnum.t

    val map : f:('a -> 'b) -> 'a BatEnum.t -> 'b BatEnum.t

    val mapi : f:(int -> 'a -> 'b) -> 'a BatEnum.t -> 'b BatEnum.t

    val filter : f:('a -> bool) -> 'a BatEnum.t -> 'a BatEnum.t

    val filter_map : f:('a -> 'b option) -> 'a BatEnum.t -> 'b BatEnum.t

    val from : f:(unit -> 'a) -> 'a BatEnum.t

    val from_while : f:(unit -> 'a option) -> 'a BatEnum.t

    val from_loop : init:'b -> f:('b -> 'a * 'b) -> 'a BatEnum.t

    val seq : init:'a -> f:('a -> 'a) -> cnd:('a -> bool) -> 'a BatEnum.t

    val unfold : init:'b -> f:('b -> ('a * 'b) option) -> 'a BatEnum.t

    val init : int -> f:(int -> 'a) -> 'a BatEnum.t

    val switch : f:('a -> bool) -> 'a BatEnum.t -> 'a BatEnum.t * 'a BatEnum.t

    val compare : ?cmp:('a -> 'a -> int) -> 'a BatEnum.t -> 'a BatEnum.t -> int

    module LExceptionless: sig .. end