sig
  type ('a, 'b) seq
  exception End_of_sequence
  val read :
    'a Mapred_toolkit.Store.store -> ('a, [ `R ]) Mapred_toolkit.Seq.seq
  val extend :
    'a Mapred_toolkit.Store.store -> ('a, [ `W ]) Mapred_toolkit.Seq.seq
  val reread :
    ('a, 'b) Mapred_toolkit.Seq.seq -> ('a, [ `R ]) Mapred_toolkit.Seq.seq
  val store :
    ('a, 'b) Mapred_toolkit.Seq.seq -> 'a Mapred_toolkit.Store.store
  val notebook : unit -> ('a, [ `R | `W ]) Mapred_toolkit.Seq.seq
  val is_empty : ('a, [> `R ]) Mapred_toolkit.Seq.seq -> bool
  val hd : ('a, [> `R ]) Mapred_toolkit.Seq.seq -> 'a
  val tl :
    ('a, [> `R ] as 'b) Mapred_toolkit.Seq.seq ->
    ('a, 'b) Mapred_toolkit.Seq.seq
  val add :
    'a ->
    ('a, [> `W ] as 'b) Mapred_toolkit.Seq.seq ->
    ('a, 'b) Mapred_toolkit.Seq.seq
  val addl :
    'a list ->
    ('a, [> `W ] as 'b) Mapred_toolkit.Seq.seq ->
    ('a, 'b) Mapred_toolkit.Seq.seq
  val append :
    ('a, [> `W ] as 'b) Mapred_toolkit.Seq.seq ->
    ('a, [> `R ]) Mapred_toolkit.Seq.seq -> ('a, 'b) Mapred_toolkit.Seq.seq
  val flush : ('a, 'b) Mapred_toolkit.Seq.seq -> unit
  val length : ('a, 'b) Mapred_toolkit.Seq.seq -> int
  val length64 : ('a, 'b) Mapred_toolkit.Seq.seq -> int64
  val hdl : int -> ('a, [> `R ]) Mapred_toolkit.Seq.seq -> 'a list
  val iter : ('a -> unit) -> ('a, [> `R ]) Mapred_toolkit.Seq.seq -> unit
  val fold :
    ('a -> 'b -> 'a) -> 'a -> ('b, [> `R ]) Mapred_toolkit.Seq.seq -> 'a
  val map :
    ('a -> 'b) ->
    ('a, [> `R ]) Mapred_toolkit.Seq.seq ->
    ('b, [> `W ] as 'c) Mapred_toolkit.Seq.seq ->
    ('b, 'c) Mapred_toolkit.Seq.seq
  val mapl :
    ('a -> 'b list) ->
    ('a, [> `R ]) Mapred_toolkit.Seq.seq ->
    ('b, [> `W ] as 'c) Mapred_toolkit.Seq.seq ->
    ('b, 'c) Mapred_toolkit.Seq.seq
  val sort :
    hash:('a -> int) ->
    cmp:('a -> 'a -> int) ->
    ('a, [> `R ]) Mapred_toolkit.Seq.seq ->
    ('a, [> `W ] as 'b) Mapred_toolkit.Seq.seq ->
    ('a, 'b) Mapred_toolkit.Seq.seq
  val mapl_sort_fold :
    mapl:('a -> 'b list) ->
    hash:('b -> int) ->
    cmp:('b -> 'b -> int) ->
    initfold:(int -> 'c) ->
    fold:('c -> 'b -> 'c * 'd list) ->
    ?finfold:('c -> 'd list) ->
    partition_of:('b -> int) ->
    partitions:int ->
    'a Mapred_toolkit.Place.t ->
    'd Mapred_toolkit.Place.t -> ('d, [ `W ]) Mapred_toolkit.Seq.seq list
end