sig   type xstring   type t = CamomileLibrary.XString.xstring   val get : CamomileLibrary.XString.xstring -> int -> CamomileLibrary.UChar.t   val set :     CamomileLibrary.XString.xstring -> int -> CamomileLibrary.UChar.t -> unit   val length : CamomileLibrary.XString.xstring -> int   val init :     int ->     (int -> CamomileLibrary.UChar.t) -> CamomileLibrary.XString.xstring   type index   val look :     CamomileLibrary.XString.xstring ->     CamomileLibrary.XString.index -> CamomileLibrary.UChar.t   val nth :     CamomileLibrary.XString.xstring -> int -> CamomileLibrary.XString.index   val first :     CamomileLibrary.XString.xstring -> CamomileLibrary.XString.index   val last : CamomileLibrary.XString.xstring -> CamomileLibrary.XString.index   val out_of_range :     CamomileLibrary.XString.xstring -> CamomileLibrary.XString.index -> bool   val next :     CamomileLibrary.XString.xstring ->     CamomileLibrary.XString.index -> CamomileLibrary.XString.index   val prev :     CamomileLibrary.XString.xstring ->     CamomileLibrary.XString.index -> CamomileLibrary.XString.index   val move :     CamomileLibrary.XString.xstring ->     CamomileLibrary.XString.index -> int -> CamomileLibrary.XString.index   val compare_index :     CamomileLibrary.XString.xstring ->     CamomileLibrary.XString.index -> CamomileLibrary.XString.index -> int   val make :     ?bufsize:int ->     int -> CamomileLibrary.UChar.t -> CamomileLibrary.XString.xstring   val clear : CamomileLibrary.XString.xstring -> unit   val reset : CamomileLibrary.XString.xstring -> unit   val copy :     CamomileLibrary.XString.xstring -> CamomileLibrary.XString.xstring   val sub :     CamomileLibrary.XString.xstring ->     int -> int -> CamomileLibrary.XString.xstring   val add_char :     CamomileLibrary.XString.xstring -> CamomileLibrary.UChar.t -> unit   val add_text :     CamomileLibrary.XString.xstring -> 'CamomileLibrary.UText.text -> unit   val add_xstring :     CamomileLibrary.XString.xstring ->     CamomileLibrary.XString.xstring -> unit   val shrink : CamomileLibrary.XString.xstring -> int -> unit   val append :     CamomileLibrary.XString.xstring ->     CamomileLibrary.XString.xstring -> CamomileLibrary.XString.xstring   val utext_of : CamomileLibrary.XString.xstring -> CamomileLibrary.UText.t   val ustring_of :     CamomileLibrary.XString.xstring -> CamomileLibrary.UText.ustring   val iter :     (CamomileLibrary.UChar.t -> unit) ->     CamomileLibrary.XString.xstring -> unit   val compare : CamomileLibrary.XString.t -> CamomileLibrary.XString.t -> int   module Buf :     sig       type buf       val create : int -> CamomileLibrary.XString.Buf.buf       val contents :         CamomileLibrary.XString.Buf.buf -> CamomileLibrary.XString.t       val length : CamomileLibrary.XString.Buf.buf -> int       val clear : CamomileLibrary.XString.Buf.buf -> unit       val reset : CamomileLibrary.XString.Buf.buf -> unit       val add_char :         CamomileLibrary.XString.Buf.buf -> CamomileLibrary.UChar.t -> unit       val add_string :         CamomileLibrary.XString.Buf.buf -> CamomileLibrary.XString.t -> unit       val add_buffer :         CamomileLibrary.XString.Buf.buf ->         CamomileLibrary.XString.Buf.buf -> unit     end end