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