sig
  type buf
  val create : int -> Main.Type.UText.Buf.buf
  val contents : Main.Type.UText.Buf.buf -> Main.Type.UText.t
  val contents_string : Main.Type.UText.Buf.buf -> Main.Type.UText.ustring
  val length : Main.Type.UText.Buf.buf -> int
  val clear : Main.Type.UText.Buf.buf -> unit
  val reset : Main.Type.UText.Buf.buf -> unit
  val add_char : Main.Type.UText.Buf.buf -> Main.Type.UChar.t -> unit
  val add_string : Main.Type.UText.Buf.buf -> 'Main.Type.UText.text -> unit
  val add_buffer : Main.Type.UText.Buf.buf -> Main.Type.UText.Buf.buf -> unit
end