sig
  val hd : 'BatSeq.t -> 'a option
  val tl : 'BatSeq.t -> 'BatSeq.t option
  val first : 'BatSeq.t -> 'a option
  val last : 'BatSeq.t -> 'a option
  val at : 'BatSeq.t -> int -> 'a option
  val reduce : ('-> '-> 'a) -> 'BatSeq.t -> 'a option
  val max : 'BatSeq.t -> 'a option
  val min : 'BatSeq.t -> 'a option
  val combine : 'BatSeq.t -> 'BatSeq.t -> ('a * 'b) BatSeq.t
end