sig
  type buf
  val create : int -> UnicodeString.Type.Buf.buf
  val contents : UnicodeString.Type.Buf.buf -> UnicodeString.Type.t
  val clear : UnicodeString.Type.Buf.buf -> unit
  val reset : UnicodeString.Type.Buf.buf -> unit
  val add_char : UnicodeString.Type.Buf.buf -> UChar.t -> unit
  val add_string : UnicodeString.Type.Buf.buf -> UnicodeString.Type.t -> unit
  val add_buffer :
    UnicodeString.Type.Buf.buf -> UnicodeString.Type.Buf.buf -> unit
end