sig   type nonrec 'a t =     'RingBuffer.Committed.t = {     mutable contents : 'RingBuffer.t;     mutable mark : int option;   }   type mark = Weak of int | Uniq of int   val pp_with_mark : Format.formatter -> int * int * 'a t -> unit   val pp : Format.formatter -> 'a t -> unit   val copy : 'a t -> int -> 'RingBuffer.t   val prepare : 'a t -> int -> 'RingBuffer.t   val equal : mark -> mark -> bool   val mark : 'a t -> mark   val unmark : mark -> 'a t -> unit   val forget : mark -> 'a t -> unit   val write : 'a t -> 'Internal_buffer.t -> int -> int -> unit   val write_string : 'a t -> string -> int -> int -> unit   val create_bytes : int -> Internal_buffer.st t   val create_bigstring : int -> Internal_buffer.bs t   val create_by : proof:'Internal_buffer.t -> int -> 'a t   val size : 'a t -> int   val peek : 'a t -> 'Internal_buffer.t -> int -> int -> unit   val read : 'a t -> 'Internal_buffer.t -> int -> int -> unit   val read_space : 'a t -> ('Internal_buffer.t * int * int) option   val write_space : 'a t -> ('Internal_buffer.t * int * int) option   val transmit : 'a t -> ('Internal_buffer.t -> int -> int -> int) -> int   val ravailable : 'a t -> int   val wavailable : 'a t -> int   val radvance : 'a t -> int -> unit   val wadvance : 'a t -> int -> unit   val get : 'a t -> char   val rollback : 'a t -> 'Internal_buffer.t -> unit   val proof : 'a t -> 'Internal_buffer.t   val savailable : 'a t -> int end