sig
  val iter : f:('-> 'b) -> 'BatLazyList.t -> unit
  val iteri : f:(int -> '-> unit) -> 'BatLazyList.t -> unit
  val map : f:('-> 'b) -> 'BatLazyList.t -> 'BatLazyList.t
  val mapi : f:(int -> '-> 'b) -> 'BatLazyList.t -> 'BatLazyList.t
  val fold_left : f:('-> '-> 'a) -> init:'-> 'BatLazyList.t -> 'a
  val fold_right : f:('-> '-> 'b) -> init:'-> 'BatLazyList.t -> 'b
  val find : f:('-> bool) -> 'BatLazyList.t -> 'a
  val rfind : f:('-> bool) -> 'BatLazyList.t -> 'a
  val find_exn : f:('-> bool) -> exn -> 'BatLazyList.t -> 'a
  val rfind_exn : f:('-> bool) -> exn -> 'BatLazyList.t -> 'a
  val findi : f:(int -> '-> bool) -> 'BatLazyList.t -> int * 'a
  val rfindi : f:(int -> '-> bool) -> 'BatLazyList.t -> int * 'a
  val remove_if : f:('-> bool) -> 'BatLazyList.t -> 'BatLazyList.t
  val remove_all_such :
    f:('-> bool) -> 'BatLazyList.t -> 'BatLazyList.t
  val take_while : f:('-> bool) -> 'BatLazyList.t -> 'BatLazyList.t
  val drop_while : f:('-> bool) -> 'BatLazyList.t -> 'BatLazyList.t
  val filter : f:('-> bool) -> 'BatLazyList.t -> 'BatLazyList.t
  val exists : f:('-> bool) -> 'BatLazyList.t -> bool
  val for_all : f:('-> bool) -> 'BatLazyList.t -> bool
  val filter_map :
    f:('-> 'b option) -> 'BatLazyList.t -> 'BatLazyList.t
  val map2 :
    f:('-> '-> 'c) ->
    'BatLazyList.t -> 'BatLazyList.t -> 'BatLazyList.t
  val iter2 :
    f:('-> '-> unit) -> 'BatLazyList.t -> 'BatLazyList.t -> unit
  val fold_right2 :
    f:('-> '-> '-> 'c) ->
    'BatLazyList.t -> 'BatLazyList.t -> init:'-> 'c
  val for_all2 :
    f:('-> '-> bool) -> 'BatLazyList.t -> 'BatLazyList.t -> bool
  val exists2 :
    f:('-> '-> bool) -> 'BatLazyList.t -> 'BatLazyList.t -> bool
  module Exceptionless :
    sig
      val find : f:('-> bool) -> 'BatLazyList.t -> 'a option
      val rfind : f:('-> bool) -> 'BatLazyList.t -> 'a option
      val findi :
        f:(int -> '-> bool) -> 'BatLazyList.t -> (int * 'a) option
      val rfindi :
        f:(int -> '-> bool) -> 'BatLazyList.t -> (int * 'a) option
      val split_at :
        int ->
        'BatLazyList.t ->
        [ `Invalid_index of int | `Ok of 'BatLazyList.t * 'BatLazyList.t
        ]
      val at :
        'BatLazyList.t -> int -> [ `Invalid_index of int | `Ok of 'a ]
      val assoc : '-> ('a * 'b) BatLazyList.t -> 'b option
      val assq : '-> ('a * 'b) BatLazyList.t -> 'b option
    end
end