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