`type buf = Stdlib.Buffer.t`

Buffers for UTF-8 strings.

`val create : int -> buf`

`create n` creates the buffer with the initial size `n`-bytes.

`val contents : buf -> t`

`contents buf` returns the contents of the buffer.

`val clear : buf -> unit`

Empty the buffer, but retains the internal storage which was holding the contents

`val reset : buf -> unit`

Empty the buffer and de-allocate the internal storage.

`val add_char : buf -> BatUChar.t -> unit`

Add one Unicode character to the buffer.

`val add_string : buf -> t -> unit`

Add the UTF-8 string to the buffer.

`val add_buffer : buf -> buf -> unit`

`add_buffer b1 b2` adds the contents of `b2` to `b1`. The contents of `b2` is not changed.