sig   module type Type =     sig       type general_category_type =           [ `Cc           | `Cf           | `Cn           | `Co           | `Cs           | `Ll           | `Lm           | `Lo           | `Lt           | `Lu           | `Mc           | `Me           | `Mn           | `Nd           | `Nl           | `No           | `Pc           | `Pd           | `Pe           | `Pf           | `Pi           | `Po           | `Ps           | `Sc           | `Sk           | `Sm           | `So           | `Zl           | `Zp           | `Zs ]       val general_category :         CamomileLibrary.UChar.t ->         CamomileLibrary.UCharInfo.Type.general_category_type       val load_general_category_map :         unit ->         CamomileLibrary.UCharInfo.Type.general_category_type         CamomileLibrary.UMap.t       type character_property_type =           [ `Alphabetic           | `Ascii_Hex_Digit           | `Bidi_Control           | `Default_Ignorable_Code_Point           | `Deprecated           | `Diacritic           | `Extender           | `Grapheme_Base           | `Grapheme_Extend           | `Grapheme_Link           | `Hex_Digit           | `Hyphen           | `IDS_Binary_Operator           | `IDS_Trinary_Operator           | `ID_Continue           | `ID_Start           | `Ideographic           | `Logical_Order_Exception           | `Lowercase           | `Math           | `Noncharacter_Code_Point           | `Other_Alphabetic           | `Other_Grapheme_Extend           | `Other_Lowercase           | `Other_Math           | `Other_Uppercase           | `Other_default_Ignorable_Code_Point           | `Quotation_Mark           | `Radical           | `Soft_Dotted           | `Terminal_Punctuation           | `Unified_Ideograph           | `Uppercase           | `White_Space           | `XID_Continue           | `XID_Start ]       val load_property_tbl :         CamomileLibrary.UCharInfo.Type.character_property_type ->         CamomileLibrary.UCharTbl.Bool.t       val load_property_tbl_by_name :         string -> CamomileLibrary.UCharTbl.Bool.t       val load_property_set :         CamomileLibrary.UCharInfo.Type.character_property_type ->         CamomileLibrary.USet.t       val load_property_set_by_name : string -> CamomileLibrary.USet.t       type script_type =           [ `Arabic           | `Armenian           | `Bengali           | `Bopomofo           | `Buhid           | `Canadian_Aboriginal           | `Cherokee           | `Common           | `Cyrillic           | `Deseret           | `Devanagari           | `Ethiopic           | `Georgian           | `Gothic           | `Greek           | `Gujarati           | `Gurmukhi           | `Han           | `Hangul           | `Hanunoo           | `Hebrew           | `Hiragana           | `Inherited           | `Kannada           | `Katakana           | `Khmer           | `Lao           | `Latin           | `Malayalam           | `Mongolian           | `Myanmar           | `Ogham           | `Old_Italic           | `Oriya           | `Runic           | `Sinhala           | `Syriac           | `Tagalog           | `Tagbanwa           | `Tamil           | `Telugu           | `Thaana           | `Thai           | `Tibetan           | `Yi ]       val script :         CamomileLibrary.UChar.t -> CamomileLibrary.UCharInfo.Type.script_type       val load_script_map :         unit ->         CamomileLibrary.UCharInfo.Type.script_type CamomileLibrary.UMap.t       type version_type =           [ `Nc | `v1_0 | `v1_1 | `v2_0 | `v2_1 | `v3_0 | `v3_1 | `v3_2 ]       val age :         CamomileLibrary.UChar.t ->         CamomileLibrary.UCharInfo.Type.version_type       val older :         CamomileLibrary.UCharInfo.Type.version_type ->         CamomileLibrary.UCharInfo.Type.version_type -> bool       val load_to_lower1_tbl :         unit -> CamomileLibrary.UChar.t CamomileLibrary.UCharTbl.t       val load_to_upper1_tbl :         unit -> CamomileLibrary.UChar.t CamomileLibrary.UCharTbl.t       val load_to_title1_tbl :         unit -> CamomileLibrary.UChar.t CamomileLibrary.UCharTbl.t       type casemap_condition =           [ `AfterSoftDotted           | `BeforeDot           | `FinalSigma           | `Locale of string           | `MoreAbove           | `Not of CamomileLibrary.UCharInfo.Type.casemap_condition ]       type special_casing_property = {         lower : CamomileLibrary.UChar.t list;         title : CamomileLibrary.UChar.t list;         upper : CamomileLibrary.UChar.t list;         condition : CamomileLibrary.UCharInfo.Type.casemap_condition list;       }       val load_conditional_casing_tbl :         unit ->         CamomileLibrary.UCharInfo.Type.special_casing_property list         CamomileLibrary.UCharTbl.t       val load_casefolding_tbl :         unit -> CamomileLibrary.UChar.t list CamomileLibrary.UCharTbl.t       val combined_class : CamomileLibrary.UChar.t -> int       type decomposition_type =           [ `Canon           | `Circle           | `Compat           | `Final           | `Font           | `Fraction           | `Initial           | `Isolated           | `Medial           | `Narrow           | `NoBreak           | `Small           | `Square           | `Sub           | `Super           | `Vertical           | `Wide ]       type decomposition_info =           [ `Canonform           | `Composite of               CamomileLibrary.UCharInfo.Type.decomposition_type *               CamomileLibrary.UChar.t list           | `HangulSyllable ]       val load_decomposition_tbl :         unit ->         CamomileLibrary.UCharInfo.Type.decomposition_info         CamomileLibrary.UCharTbl.t       val load_composition_tbl :         unit ->         (CamomileLibrary.UChar.t * CamomileLibrary.UChar.t) list         CamomileLibrary.UCharTbl.t       val load_composition_exclusion_tbl :         unit -> CamomileLibrary.UCharTbl.Bool.t     end   module Make : functor (Config : ConfigInt.Type-> Type end