sig
  type t
  val window : ('a, 'b) t -> t
  val limit : ('a, 'b) t -> t
  val restore : t -> ('a, Iobuf_intf.seek) t -> unit
  val sexp_of_t : t -> Sexplib.Sexp.t
end