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