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