type 'buf t = private {buf : 'buf;off : int;len : int;
}val unsafe_make : off:int -> len:int -> 'buf -> 'buf tval sub : 'a t -> off:int -> len:int -> 'a tval shift : 'a t -> int -> 'a tval is_empty : 'a t -> boolmodule type R = sig ... endmodule type W = sig ... end