(** [limit n s] returns the sequence of all the elements in [s], up to [n]
elements in number and no more. Raises [Invalid_argument] if [n < 0].
+ If [?x] is provided, then the exception is raised if the sequence is
+ evaluated past the limit.
-val limit: int -> 'a t -> 'a t
+val limit: int -> 'a t -> 'a t
(** [shift n s] returns the sequence of all the elements in [s] after the first
[n] elements are discarded. Returns the empty sequence if [s] has fewer
val shift: int -> 'a t -> 'a t
+(** [sentinel x s] returns a sequence identical to [s] except that [x] is raised
+ by evaluating to the end. This is intended for use in incremental sequence
+val sentinel: exn -> 'a t -> 'a t
(** [reverse s] evaluates the entire sequence and composes a list of the
elements in reverse order. Tail recursive.