sig   type text   class nfd :     CamomileLibrary.UChar.t #CamomileLibrary.OOChannel.obj_output_channel ->     [CamomileLibrary.UChar.t] OOChannel.obj_output_channel   class nfc :     CamomileLibrary.UChar.t #CamomileLibrary.OOChannel.obj_output_channel ->     [CamomileLibrary.UChar.t] OOChannel.obj_output_channel   class nfkd :     CamomileLibrary.UChar.t #CamomileLibrary.OOChannel.obj_output_channel ->     [CamomileLibrary.UChar.t] OOChannel.obj_output_channel   class nfkc :     CamomileLibrary.UChar.t #CamomileLibrary.OOChannel.obj_output_channel ->     [CamomileLibrary.UChar.t] OOChannel.obj_output_channel   val nfd : CamomileLibrary.UNF.Type.text -> CamomileLibrary.UNF.Type.text   val nfkd : CamomileLibrary.UNF.Type.text -> CamomileLibrary.UNF.Type.text   val nfc : CamomileLibrary.UNF.Type.text -> CamomileLibrary.UNF.Type.text   val nfkc : CamomileLibrary.UNF.Type.text -> CamomileLibrary.UNF.Type.text   module NFCBuf :     sig       type buf       val create : int -> CamomileLibrary.UNF.Type.NFCBuf.buf       val contents :         CamomileLibrary.UNF.Type.NFCBuf.buf -> CamomileLibrary.UNF.Type.text       val clear : CamomileLibrary.UNF.Type.NFCBuf.buf -> unit       val reset : CamomileLibrary.UNF.Type.NFCBuf.buf -> unit       val add_char :         CamomileLibrary.UNF.Type.NFCBuf.buf ->         CamomileLibrary.UChar.t -> unit       val add_string :         CamomileLibrary.UNF.Type.NFCBuf.buf ->         CamomileLibrary.UNF.Type.text -> unit       val add_buffer :         CamomileLibrary.UNF.Type.NFCBuf.buf ->         CamomileLibrary.UNF.Type.NFCBuf.buf -> unit     end   val nfc_append :     CamomileLibrary.UNF.Type.text ->     CamomileLibrary.UNF.Type.text -> CamomileLibrary.UNF.Type.text   val put_nfd :     CamomileLibrary.XString.t -> CamomileLibrary.UNF.Type.text -> unit   val put_nfkd :     CamomileLibrary.XString.t -> CamomileLibrary.UNF.Type.text -> unit   val put_nfc :     CamomileLibrary.XString.t -> CamomileLibrary.UNF.Type.text -> unit   val put_nfkc :     CamomileLibrary.XString.t -> CamomileLibrary.UNF.Type.text -> unit   type index   val nfd_inc :     CamomileLibrary.UNF.Type.text ->     CamomileLibrary.UNF.Type.index ->     ([ `Inc of          CamomileLibrary.UChar.t list * CamomileLibrary.UNF.Type.index *          'a lazy_t ]      as 'a)   val canon_compare :     CamomileLibrary.UNF.Type.text -> CamomileLibrary.UNF.Type.text -> int   val nfd_decompose : CamomileLibrary.UChar.t -> CamomileLibrary.UChar.t list   val nfkd_decompose :     CamomileLibrary.UChar.t -> CamomileLibrary.UChar.t list end