sig
  type t
  val create : int -> Rope.Buffer.t
  val clear : Rope.Buffer.t -> unit
  val reset : Rope.Buffer.t -> unit
  val length : Rope.Buffer.t -> int
  val add_char : Rope.Buffer.t -> char -> unit
  val add_string : Rope.Buffer.t -> string -> unit
  val add_substring : Rope.Buffer.t -> string -> int -> int -> unit
  val add_rope : Rope.Buffer.t -> Rope.rope -> unit
  val add_channel : Rope.Buffer.t -> Pervasives.in_channel -> int -> unit
  val add_buffer : Rope.Buffer.t -> Rope.Buffer.t -> unit
  val contents : Rope.Buffer.t -> Rope.rope
  val sub : Rope.Buffer.t -> int -> int -> Rope.rope
  val nth : Rope.Buffer.t -> int -> char
end