type !'a t = unit -> 'a nodeand !'a node = 'a Seq.node = | Nil| Cons of 'a * 'a t
val is_empty : 'a t -> boolval uncons : 'a t -> ('a * 'a t) optionval iteri : (int -> 'a -> unit) -> 'a t -> unitval fold_lefti : ('b -> int -> 'a -> 'b) -> 'b -> 'a t -> 'bval for_all : ('a -> bool) -> 'a t -> boolval exists : ('a -> bool) -> 'a t -> boolval find : ('a -> bool) -> 'a t -> 'a optionval find_map : ('a -> 'b option) -> 'a t -> 'b optionval iter2 : ('a -> 'b -> unit) -> 'a t -> 'b t -> unitval fold_left2 : ('a -> 'b -> 'c -> 'a) -> 'a -> 'b t -> 'c t -> 'aval for_all2 : ('a -> 'b -> bool) -> 'a t -> 'b t -> boolval exists2 : ('a -> 'b -> bool) -> 'a t -> 'b t -> boolval equal : ('a -> 'b -> bool) -> 'a t -> 'b t -> boolval compare : ('a -> 'b -> int) -> 'a t -> 'b t -> intval init : int -> (int -> 'a) -> 'a tval forever : (unit -> 'a) -> 'a tval iterate : ('a -> 'a) -> 'a -> 'a tval mapi : (int -> 'a -> 'b) -> 'a t -> 'b tval scan : ('b -> 'a -> 'b) -> 'b -> 'a t -> 'b tval take : int -> 'a t -> 'a tval drop : int -> 'a t -> 'a tval take_while : ('a -> bool) -> 'a t -> 'a tval drop_while : ('a -> bool) -> 'a t -> 'a tval group : ('a -> 'a -> bool) -> 'a t -> 'a t tval memoize : 'a t -> 'a tval transpose : 'a t t -> 'a t tval zip : 'a t -> 'b t -> ('a * 'b) tval map2 : ('a -> 'b -> 'c) -> 'a t -> 'b t -> 'c tval interleave : 'a t -> 'a t -> 'a tval sorted_merge : ('a -> 'a -> int) -> 'a t -> 'a t -> 'a tval product : 'a t -> 'b t -> ('a * 'b) tval map_product : ('a -> 'b -> 'c) -> 'a t -> 'b t -> 'c tval unzip : ('a * 'b) t -> 'a t * 'b tval split : ('a * 'b) t -> 'a t * 'b tval partition_map : ('a -> ('b, 'c) Either.t) -> 'a t -> 'b t * 'c tval partition : ('a -> bool) -> 'a t -> 'a t * 'a tval of_dispenser : (unit -> 'a option) -> 'a tval to_dispenser : 'a t -> unit -> 'a optionval concat : 'a t t -> 'a tval concat_map : ('a -> 'b t) -> 'a t -> 'b tval cons : 'a -> 'a t -> 'a tval unfold : ('b -> ('a * 'b) option) -> 'b -> 'a tval append : 'a t -> 'a t -> 'a tval iter : ('a -> unit) -> 'a t -> unitval fold_left : ('a -> 'b -> 'a) -> 'a -> 'b t -> 'aval map : ('a -> 'b) -> 'a t -> 'b tval filter : ('a -> bool) -> 'a t -> 'a tval filter_map : ('a -> 'b option) -> 'a t -> 'b tval flat_map : ('a -> 'b t) -> 'a t -> 'b t