sig   module type Interface =     sig       exception Malformed_code       exception Out_of_range       type t       val automatic :         string ->         CamomileLibrary.CharEncoding.Interface.t list ->         CamomileLibrary.CharEncoding.Interface.t ->         CamomileLibrary.CharEncoding.Interface.t       val new_enc :         string -> CamomileLibrary.CharEncoding.Interface.t -> unit       val alias : string -> string -> unit       val of_name : string -> CamomileLibrary.CharEncoding.Interface.t       val name_of : CamomileLibrary.CharEncoding.Interface.t -> string       val ascii : CamomileLibrary.CharEncoding.Interface.t       val latin1 : CamomileLibrary.CharEncoding.Interface.t       val utf8 : CamomileLibrary.CharEncoding.Interface.t       val utf16 : CamomileLibrary.CharEncoding.Interface.t       val utf16be : CamomileLibrary.CharEncoding.Interface.t       val utf16le : CamomileLibrary.CharEncoding.Interface.t       val utf32 : CamomileLibrary.CharEncoding.Interface.t       val utf32be : CamomileLibrary.CharEncoding.Interface.t       val utf32le : CamomileLibrary.CharEncoding.Interface.t       val ucs4 : CamomileLibrary.CharEncoding.Interface.t       val recode_string :         in_enc:CamomileLibrary.CharEncoding.Interface.t ->         out_enc:CamomileLibrary.CharEncoding.Interface.t -> string -> string       class uchar_input_channel_of :         CamomileLibrary.CharEncoding.Interface.t ->         CamomileLibrary.OOChannel.char_input_channel ->         [CamomileLibrary.UChar.t] OOChannel.obj_input_channel       class uchar_output_channel_of :         CamomileLibrary.CharEncoding.Interface.t ->         CamomileLibrary.OOChannel.char_output_channel ->         [CamomileLibrary.UChar.t] OOChannel.obj_output_channel       class convert_uchar_input :         CamomileLibrary.CharEncoding.Interface.t ->         CamomileLibrary.UChar.t CamomileLibrary.OOChannel.obj_input_channel ->         OOChannel.char_input_channel       class convert_uchar_output :         CamomileLibrary.CharEncoding.Interface.t ->         CamomileLibrary.UChar.t CamomileLibrary.OOChannel.obj_output_channel ->         OOChannel.char_output_channel       class convert_input :         in_enc:CamomileLibrary.CharEncoding.Interface.t ->         out_enc:CamomileLibrary.CharEncoding.Interface.t ->         CamomileLibrary.OOChannel.char_input_channel ->         OOChannel.char_input_channel       class convert_output :         in_enc:CamomileLibrary.CharEncoding.Interface.t ->         out_enc:CamomileLibrary.CharEncoding.Interface.t ->         CamomileLibrary.OOChannel.char_output_channel ->         OOChannel.char_output_channel       class out_channel :         CamomileLibrary.CharEncoding.Interface.t ->         Pervasives.out_channel ->         [CamomileLibrary.UChar.t] OOChannel.obj_output_channel       class in_channel :         CamomileLibrary.CharEncoding.Interface.t ->         Pervasives.in_channel ->         [CamomileLibrary.UChar.t] OOChannel.obj_input_channel       val ustream_of :         CamomileLibrary.CharEncoding.Interface.t ->         char Stream.t -> CamomileLibrary.UChar.t Stream.t       val char_stream_of :         CamomileLibrary.CharEncoding.Interface.t ->         CamomileLibrary.UChar.t Stream.t -> char Stream.t       module type Type =         sig           type text           val decode :             CamomileLibrary.CharEncoding.Interface.t ->             string -> CamomileLibrary.CharEncoding.Interface.Type.text           val encode :             CamomileLibrary.CharEncoding.Interface.t ->             CamomileLibrary.CharEncoding.Interface.Type.text -> string         end       module Make :         functor (Text : UnicodeString.Type->           sig             type text = Text.t             val decode : t -> string -> text             val encode : t -> text -> string           end     end   module Configure : functor (Config : ConfigInt.Type-> Interface end