sig   type cp = int   val is_cp : int -> bool   val is_scalar_value : int -> bool   module Cpmap :     sig       type key = cp       type +'a t       val empty : 'a t       val is_empty : 'a t -> bool       val mem : key -> 'a t -> bool       val add : key -> '-> 'a t -> 'a t       val singleton : key -> '-> 'a t       val remove : key -> 'a t -> 'a t       val merge :         (key -> 'a option -> 'b option -> 'c option) -> 'a t -> 'b t -> 'c t       val union : (key -> '-> '-> 'a option) -> 'a t -> 'a t -> 'a t       val compare : ('-> '-> int) -> 'a t -> 'a t -> int       val equal : ('-> '-> bool) -> 'a t -> 'a t -> bool       val iter : (key -> '-> unit) -> 'a t -> unit       val fold : (key -> '-> '-> 'b) -> 'a t -> '-> 'b       val for_all : (key -> '-> bool) -> 'a t -> bool       val exists : (key -> '-> bool) -> 'a t -> bool       val filter : (key -> '-> bool) -> 'a t -> 'a t       val partition : (key -> '-> bool) -> 'a t -> 'a t * 'a t       val cardinal : 'a t -> int       val bindings : 'a t -> (key * 'a) list       val min_binding : 'a t -> key * 'a       val max_binding : 'a t -> key * 'a       val choose : 'a t -> key * 'a       val split : key -> 'a t -> 'a t * 'a option * 'a t       val find : key -> 'a t -> 'a       val map : ('-> 'b) -> 'a t -> 'b t       val mapi : (key -> '-> 'b) -> 'a t -> 'b t     end   type props   type 'a prop   val find : Uucd.props -> 'Uucd.prop -> 'a option   val unknown_prop : string * string -> string Uucd.prop   val age : [ `Unassigned | `Version of int * int ] Uucd.prop   val alphabetic : bool Uucd.prop   val ascii_hex_digit : bool Uucd.prop   val bidi_class :     [ `AL     | `AN     | `B     | `BN     | `CS     | `EN     | `ES     | `ET     | `FSI     | `L     | `LRE     | `LRI     | `LRO     | `NSM     | `ON     | `PDF     | `PDI     | `R     | `RLE     | `RLI     | `RLO     | `S     | `WS ] Uucd.prop   val bidi_control : bool Uucd.prop   val bidi_mirrored : bool Uucd.prop   val bidi_mirroring_glyph : Uucd.cp option Uucd.prop   val bidi_paired_bracket : [ `Cp of Uucd.cp | `Self ] Uucd.prop   val bidi_paired_bracket_type : [ `C | `N | `O ] Uucd.prop   val block :     [ `ASCII     | `Adlam     | `Aegean_Numbers     | `Ahom     | `Alchemical     | `Alphabetic_PF     | `Anatolian_Hieroglyphs     | `Ancient_Greek_Music     | `Ancient_Greek_Numbers     | `Ancient_Symbols     | `Arabic     | `Arabic_Ext_A     | `Arabic_Math     | `Arabic_PF_A     | `Arabic_PF_B     | `Arabic_Sup     | `Armenian     | `Arrows     | `Avestan     | `Balinese     | `Bamum     | `Bamum_Sup     | `Bassa_Vah     | `Batak     | `Bengali     | `Bhaiksuki     | `Block_Elements     | `Bopomofo     | `Bopomofo_Ext     | `Box_Drawing     | `Brahmi     | `Braille     | `Buginese     | `Buhid     | `Byzantine_Music     | `CJK     | `CJK_Compat     | `CJK_Compat_Forms     | `CJK_Compat_Ideographs     | `CJK_Compat_Ideographs_Sup     | `CJK_Ext_A     | `CJK_Ext_B     | `CJK_Ext_C     | `CJK_Ext_D     | `CJK_Ext_E     | `CJK_Radicals_Sup     | `CJK_Strokes     | `CJK_Symbols     | `Carian     | `Caucasian_Albanian     | `Chakma     | `Cham     | `Cherokee     | `Cherokee_Sup     | `Compat_Jamo     | `Control_Pictures     | `Coptic     | `Coptic_Epact_Numbers     | `Counting_Rod     | `Cuneiform     | `Cuneiform_Numbers     | `Currency_Symbols     | `Cypriot_Syllabary     | `Cyrillic     | `Cyrillic_Ext_A     | `Cyrillic_Ext_B     | `Cyrillic_Ext_C     | `Cyrillic_Sup     | `Deseret     | `Devanagari     | `Devanagari_Ext     | `Diacriticals     | `Diacriticals_Ext     | `Diacriticals_For_Symbols     | `Diacriticals_Sup     | `Dingbats     | `Domino     | `Duployan     | `Early_Dynastic_Cuneiform     | `Egyptian_Hieroglyphs     | `Elbasan     | `Emoticons     | `Enclosed_Alphanum     | `Enclosed_Alphanum_Sup     | `Enclosed_CJK     | `Enclosed_Ideographic_Sup     | `Ethiopic     | `Ethiopic_Ext     | `Ethiopic_Ext_A     | `Ethiopic_Sup     | `Geometric_Shapes     | `Geometric_Shapes_Ext     | `Georgian     | `Georgian_Sup     | `Glagolitic     | `Glagolitic_Sup     | `Gothic     | `Grantha     | `Greek     | `Greek_Ext     | `Gujarati     | `Gurmukhi     | `Half_And_Full_Forms     | `Half_Marks     | `Hangul     | `Hanunoo     | `Hatran     | `Hebrew     | `High_PU_Surrogates     | `High_Surrogates     | `Hiragana     | `IDC     | `IPA_Ext     | `Ideographic_Symbols     | `Imperial_Aramaic     | `Indic_Number_Forms     | `Inscriptional_Pahlavi     | `Inscriptional_Parthian     | `Jamo     | `Jamo_Ext_A     | `Jamo_Ext_B     | `Javanese     | `Kaithi     | `Kana_Sup     | `Kanbun     | `Kangxi     | `Kannada     | `Katakana     | `Katakana_Ext     | `Kayah_Li     | `Kharoshthi     | `Khmer     | `Khmer_Symbols     | `Khojki     | `Khudawadi     | `Lao     | `Latin_1_Sup     | `Latin_Ext_A     | `Latin_Ext_Additional     | `Latin_Ext_B     | `Latin_Ext_C     | `Latin_Ext_D     | `Latin_Ext_E     | `Lepcha     | `Letterlike_Symbols     | `Limbu     | `Linear_A     | `Linear_B_Ideograms     | `Linear_B_Syllabary     | `Lisu     | `Low_Surrogates     | `Lycian     | `Lydian     | `Mahajani     | `Mahjong     | `Malayalam     | `Mandaic     | `Manichaean     | `Marchen     | `Math_Alphanum     | `Math_Operators     | `Meetei_Mayek     | `Meetei_Mayek_Ext     | `Mende_Kikakui     | `Meroitic_Cursive     | `Meroitic_Hieroglyphs     | `Miao     | `Misc_Arrows     | `Misc_Math_Symbols_A     | `Misc_Math_Symbols_B     | `Misc_Pictographs     | `Misc_Symbols     | `Misc_Technical     | `Modi     | `Modifier_Letters     | `Modifier_Tone_Letters     | `Mongolian     | `Mongolian_Sup     | `Mro     | `Multani     | `Music     | `Myanmar     | `Myanmar_Ext_A     | `Myanmar_Ext_B     | `NB     | `NKo     | `Nabataean     | `New_Tai_Lue     | `Newa     | `Number_Forms     | `OCR     | `Ogham     | `Ol_Chiki     | `Old_Hungarian     | `Old_Italic     | `Old_North_Arabian     | `Old_Permic     | `Old_Persian     | `Old_South_Arabian     | `Old_Turkic     | `Oriya     | `Ornamental_Dingbats     | `Osage     | `Osmanya     | `PUA     | `Pahawh_Hmong     | `Palmyrene     | `Pau_Cin_Hau     | `Phags_Pa     | `Phaistos     | `Phoenician     | `Phonetic_Ext     | `Phonetic_Ext_Sup     | `Playing_Cards     | `Psalter_Pahlavi     | `Punctuation     | `Rejang     | `Rumi     | `Runic     | `Samaritan     | `Saurashtra     | `Sharada     | `Shavian     | `Shorthand_Format_Controls     | `Siddham     | `Sinhala     | `Sinhala_Archaic_Numbers     | `Small_Forms     | `Sora_Sompeng     | `Specials     | `Sundanese     | `Sundanese_Sup     | `Sup_Arrows_A     | `Sup_Arrows_B     | `Sup_Arrows_C     | `Sup_Math_Operators     | `Sup_PUA_A     | `Sup_PUA_B     | `Sup_Punctuation     | `Sup_Symbols_And_Pictographs     | `Super_And_Sub     | `Sutton_SignWriting     | `Syloti_Nagri     | `Syriac     | `Tagalog     | `Tagbanwa     | `Tags     | `Tai_Le     | `Tai_Tham     | `Tai_Viet     | `Tai_Xuan_Jing     | `Takri     | `Tamil     | `Tangut     | `Tangut_Components     | `Telugu     | `Thaana     | `Thai     | `Tibetan     | `Tifinagh     | `Tirhuta     | `Transport_And_Map     | `UCAS     | `UCAS_Ext     | `Ugaritic     | `VS     | `VS_Sup     | `Vai     | `Vedic_Ext     | `Vertical_Forms     | `Warang_Citi     | `Yi_Radicals     | `Yi_Syllables     | `Yijing ] Uucd.prop   val canonical_combining_class : int Uucd.prop   val cased : bool Uucd.prop   val case_folding : [ `Cps of Uucd.cp list | `Self ] Uucd.prop   val case_ignorable : bool Uucd.prop   val changes_when_casefolded : bool Uucd.prop   val changes_when_casemapped : bool Uucd.prop   val changes_when_lowercased : bool Uucd.prop   val changes_when_nfkc_casefolded : bool Uucd.prop   val changes_when_titlecased : bool Uucd.prop   val changes_when_uppercased : bool Uucd.prop   val composition_exclusion : bool Uucd.prop   val dash : bool Uucd.prop   val decomposition_mapping : [ `Cps of Uucd.cp list | `Self ] Uucd.prop   val decomposition_type :     [ `Can     | `Com     | `Enc     | `Fin     | `Font     | `Fra     | `Init     | `Iso     | `Med     | `Nar     | `Nb     | `None     | `Sml     | `Sqr     | `Sub     | `Sup     | `Vert     | `Wide ] Uucd.prop   val default_ignorable_code_point : bool Uucd.prop   val deprecated : bool Uucd.prop   val diacritic : bool Uucd.prop   val east_asian_width : [ `A | `F | `H | `N | `Na | `W ] Uucd.prop   val expands_on_nfc : bool Uucd.prop   val expands_on_nfd : bool Uucd.prop   val expands_on_nfkc : bool Uucd.prop   val expands_on_nfkd : bool Uucd.prop   val extender : bool Uucd.prop   val fc_nfkc_closure : [ `Cps of Uucd.cp list | `Self ] Uucd.prop   val full_composition_exclusion : bool Uucd.prop   val general_category :     [ `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 ] Uucd.prop   val grapheme_base : bool Uucd.prop   val grapheme_cluster_break :     [ `CN     | `CR     | `EB     | `EBG     | `EM     | `EX     | `GAZ     | `L     | `LF     | `LV     | `LVT     | `PP     | `RI     | `SM     | `T     | `V     | `XX     | `ZWJ ] Uucd.prop   val grapheme_extend : bool Uucd.prop   val grapheme_link : bool Uucd.prop   val hangul_syllable_type : [ `L | `LV | `LVT | `NA | `T | `V ] Uucd.prop   val hex_digit : bool Uucd.prop   val hyphen : bool Uucd.prop   val id_continue : bool Uucd.prop   val id_start : bool Uucd.prop   val ideographic : bool Uucd.prop   val ids_binary_operator : bool Uucd.prop   val ids_trinary_operator : bool Uucd.prop   val indic_syllabic_category :     [ `Avagraha     | `Bindu     | `Brahmi_Joining_Number     | `Cantillation_Mark     | `Consonant     | `Consonant_Dead     | `Consonant_Final     | `Consonant_Head_Letter     | `Consonant_Killer     | `Consonant_Medial     | `Consonant_Placeholder     | `Consonant_Preceding_Repha     | `Consonant_Prefixed     | `Consonant_Repha     | `Consonant_Subjoined     | `Consonant_Succeeding_Repha     | `Consonant_With_Stacker     | `Gemination_Mark     | `Invisible_Stacker     | `Joiner     | `Modifying_Letter     | `Non_Joiner     | `Nukta     | `Number     | `Number_Joiner     | `Other     | `Pure_Killer     | `Register_Shifter     | `Syllable_Modifier     | `Tone_Letter     | `Tone_Mark     | `Virama     | `Visarga     | `Vowel     | `Vowel_Dependent     | `Vowel_Independent ] Uucd.prop   val indic_matra_category :     [ `Bottom     | `Bottom_And_Right     | `Invisible     | `Left     | `Left_And_Right     | `NA     | `Overstruck     | `Right     | `Top     | `Top_And_Bottom     | `Top_And_Bottom_And_Right     | `Top_And_Left     | `Top_And_Left_And_Right     | `Top_And_Right     | `Visual_Order_Left ] Uucd.prop   val indic_positional_category :     [ `Bottom     | `Bottom_And_Right     | `Left     | `Left_And_Right     | `NA     | `Overstruck     | `Right     | `Top     | `Top_And_Bottom     | `Top_And_Bottom_And_Right     | `Top_And_Left     | `Top_And_Left_And_Right     | `Top_And_Right     | `Visual_Order_Left ] Uucd.prop   val iso_comment : string Uucd.prop   val jamo_short_name : string Uucd.prop   val join_control : bool Uucd.prop   val joining_group :     [ `African_Feh     | `African_Noon     | `African_Qaf     | `Ain     | `Alaph     | `Alef     | `Alef_Maqsurah     | `Beh     | `Beth     | `Burushaski_Yeh_Barree     | `Dal     | `Dalath_Rish     | `E     | `Farsi_Yeh     | `Fe     | `Feh     | `Final_Semkath     | `Gaf     | `Gamal     | `Hah     | `Hamza_On_Heh_Goal     | `He     | `Heh     | `Heh_Goal     | `Heth     | `Kaf     | `Kaph     | `Khaph     | `Knotted_Heh     | `Lam     | `Lamadh     | `Manichaean_Aleph     | `Manichaean_Ayin     | `Manichaean_Beth     | `Manichaean_Daleth     | `Manichaean_Dhamedh     | `Manichaean_Five     | `Manichaean_Gimel     | `Manichaean_Heth     | `Manichaean_Hundred     | `Manichaean_Kaph     | `Manichaean_Lamedh     | `Manichaean_Mem     | `Manichaean_Nun     | `Manichaean_One     | `Manichaean_Pe     | `Manichaean_Qoph     | `Manichaean_Resh     | `Manichaean_Sadhe     | `Manichaean_Samekh     | `Manichaean_Taw     | `Manichaean_Ten     | `Manichaean_Teth     | `Manichaean_Thamedh     | `Manichaean_Twenty     | `Manichaean_Waw     | `Manichaean_Yodh     | `Manichaean_Zayin     | `Meem     | `Mim     | `No_Joining_Group     | `Noon     | `Nun     | `Nya     | `Pe     | `Qaf     | `Qaph     | `Reh     | `Reversed_Pe     | `Rohingya_Yeh     | `Sad     | `Sadhe     | `Seen     | `Semkath     | `Shin     | `Straight_Waw     | `Swash_Kaf     | `Syriac_Waw     | `Tah     | `Taw     | `Teh_Marbuta     | `Teh_Marbuta_Goal     | `Teth     | `Waw     | `Yeh     | `Yeh_Barree     | `Yeh_With_Tail     | `Yudh     | `Yudh_He     | `Zain     | `Zhain ] Uucd.prop   val joining_type : [ `C | `D | `L | `R | `T | `U ] Uucd.prop   val line_break :     [ `AI     | `AL     | `B2     | `BA     | `BB     | `BK     | `CB     | `CJ     | `CL     | `CM     | `CP     | `CR     | `EB     | `EM     | `EX     | `GL     | `H2     | `H3     | `HL     | `HY     | `ID     | `IN     | `IS     | `JL     | `JT     | `JV     | `LF     | `NL     | `NS     | `NU     | `OP     | `PO     | `PR     | `QU     | `RI     | `SA     | `SG     | `SP     | `SY     | `WJ     | `XX     | `ZW     | `ZWJ ] Uucd.prop   val logical_order_exception : bool Uucd.prop   val lowercase : bool Uucd.prop   val lowercase_mapping : [ `Cps of Uucd.cp list | `Self ] Uucd.prop   val math : bool Uucd.prop   val name : [ `Name of string | `Pattern of string ] Uucd.prop   val name_alias :     (string *      [ `Abbreviation | `Alternate | `Control | `Correction | `Figment ])     list Uucd.prop   val nfc_quick_check : [ `False | `Maybe | `True ] Uucd.prop   val nfd_quick_check : [ `False | `Maybe | `True ] Uucd.prop   val nfkc_quick_check : [ `False | `Maybe | `True ] Uucd.prop   val nfkc_casefold : [ `Cps of Uucd.cp list | `Self ] Uucd.prop   val nfkd_quick_check : [ `False | `Maybe | `True ] Uucd.prop   val noncharacter_code_point : bool Uucd.prop   val numeric_type : [ `De | `Di | `None | `Nu ] Uucd.prop   val numeric_value : [ `Frac of int * int | `NaN | `Num of int64 ] Uucd.prop   val other_alphabetic : bool Uucd.prop   val other_default_ignorable_code_point : bool Uucd.prop   val other_grapheme_extend : bool Uucd.prop   val other_id_continue : bool Uucd.prop   val other_id_start : bool Uucd.prop   val other_lowercase : bool Uucd.prop   val other_math : bool Uucd.prop   val other_uppercase : bool Uucd.prop   val pattern_syntax : bool Uucd.prop   val pattern_white_space : bool Uucd.prop   val prepended_concatenation_mark : bool Uucd.prop   val quotation_mark : bool Uucd.prop   val radical : bool Uucd.prop   type script =       [ `Adlm       | `Aghb       | `Ahom       | `Arab       | `Armi       | `Armn       | `Avst       | `Bali       | `Bamu       | `Bass       | `Batk       | `Beng       | `Bhks       | `Bopo       | `Brah       | `Brai       | `Bugi       | `Buhd       | `Cakm       | `Cans       | `Cari       | `Cham       | `Cher       | `Copt       | `Cprt       | `Cyrl       | `Deva       | `Dsrt       | `Dupl       | `Egyp       | `Elba       | `Ethi       | `Geor       | `Glag       | `Goth       | `Gran       | `Grek       | `Gujr       | `Guru       | `Hang       | `Hani       | `Hano       | `Hatr       | `Hebr       | `Hira       | `Hluw       | `Hmng       | `Hrkt       | `Hung       | `Ital       | `Java       | `Kali       | `Kana       | `Khar       | `Khmr       | `Khoj       | `Knda       | `Kthi       | `Lana       | `Laoo       | `Latn       | `Lepc       | `Limb       | `Lina       | `Linb       | `Lisu       | `Lyci       | `Lydi       | `Mahj       | `Mand       | `Mani       | `Marc       | `Mend       | `Merc       | `Mero       | `Mlym       | `Modi       | `Mong       | `Mroo       | `Mtei       | `Mult       | `Mymr       | `Narb       | `Nbat       | `Newa       | `Nkoo       | `Ogam       | `Olck       | `Orkh       | `Orya       | `Osge       | `Osma       | `Palm       | `Pauc       | `Perm       | `Phag       | `Phli       | `Phlp       | `Phnx       | `Plrd       | `Prti       | `Qaai       | `Rjng       | `Runr       | `Samr       | `Sarb       | `Saur       | `Sgnw       | `Shaw       | `Shrd       | `Sidd       | `Sind       | `Sinh       | `Sora       | `Sund       | `Sylo       | `Syrc       | `Tagb       | `Takr       | `Tale       | `Talu       | `Taml       | `Tang       | `Tavt       | `Telu       | `Tfng       | `Tglg       | `Thaa       | `Thai       | `Tibt       | `Tirh       | `Ugar       | `Vaii       | `Wara       | `Xpeo       | `Xsux       | `Yiii       | `Zinh       | `Zyyy       | `Zzzz ]   val script : Uucd.script Uucd.prop   val script_extensions : Uucd.script list Uucd.prop   val sentence_break :     [ `AT     | `CL     | `CR     | `EX     | `FO     | `LE     | `LF     | `LO     | `NU     | `SC     | `SE     | `SP     | `ST     | `UP     | `XX ] Uucd.prop   val simple_case_folding : [ `Cp of Uucd.cp | `Self ] Uucd.prop   val simple_lowercase_mapping : [ `Cp of Uucd.cp | `Self ] Uucd.prop   val simple_titlecase_mapping : [ `Cp of Uucd.cp | `Self ] Uucd.prop   val simple_uppercase_mapping : [ `Cp of Uucd.cp | `Self ] Uucd.prop   val soft_dotted : bool Uucd.prop   val sterm : bool Uucd.prop   val terminal_punctuation : bool Uucd.prop   val titlecase_mapping : [ `Cps of Uucd.cp list | `Self ] Uucd.prop   val uax_42_element :     [ `Char | `Noncharacter | `Reserved | `Surrogate ] Uucd.prop   val unicode_1_name : string Uucd.prop   val unified_ideograph : bool Uucd.prop   val uppercase : bool Uucd.prop   val uppercase_mapping : [ `Cps of Uucd.cp list | `Self ] Uucd.prop   val variation_selector : bool Uucd.prop   val white_space : bool Uucd.prop   val word_break :     [ `CR     | `DQ     | `EB     | `EBG     | `EM     | `EX     | `Extend     | `FO     | `GAZ     | `HL     | `KA     | `LE     | `LF     | `MB     | `ML     | `MN     | `NL     | `NU     | `RI     | `SQ     | `XX     | `ZWJ ] Uucd.prop   val xid_continue : bool Uucd.prop   val xid_start : bool Uucd.prop   val kAccountingNumeric : string Uucd.prop   val kAlternateHanYu : string Uucd.prop   val kAlternateJEF : string Uucd.prop   val kAlternateKangXi : string Uucd.prop   val kAlternateMorohashi : string Uucd.prop   val kBigFive : string Uucd.prop   val kCCCII : string Uucd.prop   val kCNS1986 : string Uucd.prop   val kCNS1992 : string Uucd.prop   val kCangjie : string Uucd.prop   val kCantonese : string Uucd.prop   val kCheungBauer : string Uucd.prop   val kCheungBauerIndex : string Uucd.prop   val kCihaiT : string Uucd.prop   val kCompatibilityVariant : string Uucd.prop   val kCowles : string Uucd.prop   val kDaeJaweon : string Uucd.prop   val kDefinition : string Uucd.prop   val kEACC : string Uucd.prop   val kFenn : string Uucd.prop   val kFennIndex : string Uucd.prop   val kFourCornerCode : string Uucd.prop   val kFrequency : string Uucd.prop   val kGB0 : string Uucd.prop   val kGB1 : string Uucd.prop   val kGB3 : string Uucd.prop   val kGB5 : string Uucd.prop   val kGB7 : string Uucd.prop   val kGB8 : string Uucd.prop   val kGradeLevel : string Uucd.prop   val kGSR : string Uucd.prop   val kHangul : string Uucd.prop   val kHanYu : string Uucd.prop   val kHanyuPinlu : string Uucd.prop   val kHanyuPinyin : string Uucd.prop   val kHDZRadBreak : string Uucd.prop   val kHKGlyph : string Uucd.prop   val kHKSCS : string Uucd.prop   val kIBMJapan : string Uucd.prop   val kIICore : string Uucd.prop   val kIRGDaeJaweon : string Uucd.prop   val kIRGDaiKanwaZiten : string Uucd.prop   val kIRGHanyuDaZidian : string Uucd.prop   val kIRGKangXi : string Uucd.prop   val kIRG_GSource : string Uucd.prop   val kIRG_HSource : string Uucd.prop   val kIRG_JSource : string Uucd.prop   val kIRG_KPSource : string Uucd.prop   val kIRG_KSource : string Uucd.prop   val kIRG_MSource : string Uucd.prop   val kIRG_TSource : string Uucd.prop   val kIRG_USource : string Uucd.prop   val kIRG_VSource : string Uucd.prop   val kJa : string Uucd.prop   val kJHJ : string Uucd.prop   val kJIS0213 : string Uucd.prop   val kJapaneseKun : string Uucd.prop   val kJapaneseOn : string Uucd.prop   val kJis0 : string Uucd.prop   val kJis1 : string Uucd.prop   val kKPS0 : string Uucd.prop   val kKPS1 : string Uucd.prop   val kKSC0 : string Uucd.prop   val kKSC1 : string Uucd.prop   val kKangXi : string Uucd.prop   val kKarlgren : string Uucd.prop   val kKorean : string Uucd.prop   val kLau : string Uucd.prop   val kMainlandTelegraph : string Uucd.prop   val kMandarin : string Uucd.prop   val kMatthews : string Uucd.prop   val kMeyerWempe : string Uucd.prop   val kMorohashi : string Uucd.prop   val kNelson : string Uucd.prop   val kOtherNumeric : string Uucd.prop   val kPhonetic : string Uucd.prop   val kPrimaryNumeric : string Uucd.prop   val kPseudoGB1 : string Uucd.prop   val kRSAdobe_Japan1_6 : string Uucd.prop   val kRSJapanese : string Uucd.prop   val kRSKanWa : string Uucd.prop   val kRSKangXi : string Uucd.prop   val kRSKorean : string Uucd.prop   val kRSMerged : string Uucd.prop   val kRSUnicode : string Uucd.prop   val kRSTUnicode : string Uucd.prop   val kSBGY : string Uucd.prop   val kSemanticVariant : string Uucd.prop   val kSimplifiedVariant : string Uucd.prop   val kSpecializedSemanticVariant : string Uucd.prop   val kTaiwanTelegraph : string Uucd.prop   val kTang : string Uucd.prop   val kTGT_MergedSrc : string Uucd.prop   val kTotalStrokes : string Uucd.prop   val kTraditionalVariant : string Uucd.prop   val kVietnamese : string Uucd.prop   val kXHC1983 : string Uucd.prop   val kWubi : string Uucd.prop   val kXerox : string Uucd.prop   val kZVariant : string Uucd.prop   type block = (Uucd.cp * Uucd.cp) * string   type named_sequence = string * Uucd.cp list   type normalization_correction =       Uucd.cp * Uucd.cp list * Uucd.cp list * (int * int * int)   type standardized_variant =       Uucd.cp list * string * [ `Final | `Initial | `Isolate | `Medial ] list   type cjk_radical = string * Uucd.cp * Uucd.cp   type emoji_source = Uucd.cp list * int option * int option * int option   type t = {     description : string;     repertoire : Uucd.props Uucd.Cpmap.t;     blocks : Uucd.block list;     named_sequences : Uucd.named_sequence list;     provisional_named_sequences : Uucd.named_sequence list;     normalization_corrections : Uucd.normalization_correction list;     standardized_variants : Uucd.standardized_variant list;     cjk_radicals : Uucd.cjk_radical list;     emoji_sources : Uucd.emoji_source list;   }   val cp_prop : Uucd.t -> Uucd.cp -> 'Uucd.prop -> 'a option   type src = [ `Channel of Pervasives.in_channel | `String of string ]   type decoder   val decoder : [< Uucd.src ] -> Uucd.decoder   val decode : Uucd.decoder -> [ `Error of string | `Ok of Uucd.t ]   val decoded_range : Uucd.decoder -> (int * int) * (int * int) end