sig
  val find : ('a -> bool) -> 'a BatLazyList.t -> 'a option
  val rfind : ('a -> bool) -> 'a BatLazyList.t -> 'a option
  val findi : (int -> 'a -> bool) -> 'a BatLazyList.t -> (int * 'a) option
  val rfindi : (int -> 'a -> bool) -> 'a BatLazyList.t -> (int * 'a) option
  val split_at :
    int ->
    'a BatLazyList.t ->
    [ `Invalid_index of int | `Ok of 'a BatLazyList.t * 'a BatLazyList.t ]
  val at : 'a BatLazyList.t -> int -> [ `Invalid_index of int | `Ok of 'a ]
  val assoc : 'a -> ('a * 'b) BatLazyList.t -> 'b option
  val assq : 'a -> ('a * 'b) BatLazyList.t -> 'b option
end