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