sig   type mutability = [ `Immutable | `Mutable ]   type 'a text   type utext = [ `Immutable ] CamomileLibrary.Type.UText.text   type ustring = [ `Mutable ] CamomileLibrary.Type.UText.text   type t = CamomileLibrary.Type.UText.utext   val utext_of_ustring :     CamomileLibrary.Type.UText.ustring -> CamomileLibrary.Type.UText.utext   val ustring_of_utext :     CamomileLibrary.Type.UText.utext -> CamomileLibrary.Type.UText.ustring   val get :     'CamomileLibrary.Type.UText.text -> int -> CamomileLibrary.Type.UChar.t   val set :     CamomileLibrary.Type.UText.ustring ->     int -> CamomileLibrary.Type.UChar.t -> unit   type index   val look :     'CamomileLibrary.Type.UText.text ->     CamomileLibrary.Type.UText.index -> CamomileLibrary.Type.UChar.t   val nth :     'CamomileLibrary.Type.UText.text ->     int -> CamomileLibrary.Type.UText.index   val first :     'CamomileLibrary.Type.UText.text -> CamomileLibrary.Type.UText.index   val last :     'CamomileLibrary.Type.UText.text -> CamomileLibrary.Type.UText.index   val out_of_range :     'CamomileLibrary.Type.UText.text ->     CamomileLibrary.Type.UText.index -> bool   val compare_index :     'CamomileLibrary.Type.UText.text ->     CamomileLibrary.Type.UText.index ->     CamomileLibrary.Type.UText.index -> int   val next :     'CamomileLibrary.Type.UText.text ->     CamomileLibrary.Type.UText.index -> CamomileLibrary.Type.UText.index   val prev :     'CamomileLibrary.Type.UText.text ->     CamomileLibrary.Type.UText.index -> CamomileLibrary.Type.UText.index   val move :     'CamomileLibrary.Type.UText.text ->     CamomileLibrary.Type.UText.index ->     int -> CamomileLibrary.Type.UText.index   val length : 'CamomileLibrary.Type.UText.text -> int   val of_string : string -> CamomileLibrary.Type.UText.utext   val init :     int ->     (int -> CamomileLibrary.Type.UChar.t) -> CamomileLibrary.Type.UText.utext   val init_ustring :     int ->     (int -> CamomileLibrary.Type.UChar.t) ->     CamomileLibrary.Type.UText.ustring   val make :     int -> CamomileLibrary.Type.UChar.t -> CamomileLibrary.Type.UText.ustring   val copy :     CamomileLibrary.Type.UText.ustring -> CamomileLibrary.Type.UText.ustring   val sub :     'CamomileLibrary.Type.UText.text ->     int -> int -> 'CamomileLibrary.Type.UText.text   val fill :     CamomileLibrary.Type.UText.ustring ->     int -> int -> CamomileLibrary.Type.UChar.t -> unit   val blit :     'CamomileLibrary.Type.UText.text ->     int -> CamomileLibrary.Type.UText.ustring -> int -> int -> unit   val append :     'CamomileLibrary.Type.UText.text ->     'CamomileLibrary.Type.UText.text -> 'CamomileLibrary.Type.UText.text   val iter :     (CamomileLibrary.Type.UChar.t -> unit) ->     'CamomileLibrary.Type.UText.text -> unit   val compare :     'CamomileLibrary.Type.UText.text ->     'CamomileLibrary.Type.UText.text -> int   module Buf :     sig       type buf       val create : int -> CamomileLibrary.Type.UText.Buf.buf       val contents :         CamomileLibrary.Type.UText.Buf.buf -> CamomileLibrary.Type.UText.t       val contents_string :         CamomileLibrary.Type.UText.Buf.buf ->         CamomileLibrary.Type.UText.ustring       val length : CamomileLibrary.Type.UText.Buf.buf -> int       val clear : CamomileLibrary.Type.UText.Buf.buf -> unit       val reset : CamomileLibrary.Type.UText.Buf.buf -> unit       val add_char :         CamomileLibrary.Type.UText.Buf.buf ->         CamomileLibrary.Type.UChar.t -> unit       val add_string :         CamomileLibrary.Type.UText.Buf.buf ->         'CamomileLibrary.Type.UText.text -> unit       val add_buffer :         CamomileLibrary.Type.UText.Buf.buf ->         CamomileLibrary.Type.UText.Buf.buf -> unit     end end