`sig type t = (int, Bigarray.int16_unsigned_elt, Bigarray.c_layout) Bigarray.Array1.t exception Malformed_code val validate : CamomileLibrary.UTF16.t -> unit val get : CamomileLibrary.UTF16.t -> int -> CamomileLibrary.UChar.t exception Out_of_range val init : int -> (int -> CamomileLibrary.UChar.t) -> CamomileLibrary.UTF16.t val length : CamomileLibrary.UTF16.t -> int type index = int val nth : CamomileLibrary.UTF16.t -> int -> CamomileLibrary.UTF16.index val first : CamomileLibrary.UTF16.t -> CamomileLibrary.UTF16.index val last : CamomileLibrary.UTF16.t -> CamomileLibrary.UTF16.index val look : CamomileLibrary.UTF16.t -> CamomileLibrary.UTF16.index -> CamomileLibrary.UChar.t val out_of_range : CamomileLibrary.UTF16.t -> CamomileLibrary.UTF16.index -> bool val compare_index : CamomileLibrary.UTF16.t -> CamomileLibrary.UTF16.index -> CamomileLibrary.UTF16.index -> int val next : CamomileLibrary.UTF16.t -> CamomileLibrary.UTF16.index -> CamomileLibrary.UTF16.index val prev : CamomileLibrary.UTF16.t -> CamomileLibrary.UTF16.index -> CamomileLibrary.UTF16.index val move : CamomileLibrary.UTF16.t -> CamomileLibrary.UTF16.index -> int -> CamomileLibrary.UTF16.index val iter : (CamomileLibrary.UChar.t -> unit) -> CamomileLibrary.UTF16.t -> unit val compare : CamomileLibrary.UTF16.t -> CamomileLibrary.UTF16.t -> int module Buf : sig type buf val create : int -> CamomileLibrary.UTF16.Buf.buf val contents : CamomileLibrary.UTF16.Buf.buf -> CamomileLibrary.UTF16.t val clear : CamomileLibrary.UTF16.Buf.buf -> unit val reset : CamomileLibrary.UTF16.Buf.buf -> unit val add_char : CamomileLibrary.UTF16.Buf.buf -> CamomileLibrary.UChar.t -> unit val add_string : CamomileLibrary.UTF16.Buf.buf -> CamomileLibrary.UTF16.t -> unit val add_buffer : CamomileLibrary.UTF16.Buf.buf -> CamomileLibrary.UTF16.Buf.buf -> unit end end`