about summary refs log tree commit diff
path: root/src/libcore
diff options
context:
space:
mode:
authorBrian Anderson <banderson@mozilla.com>2012-09-01 18:38:05 -0700
committerBrian Anderson <banderson@mozilla.com>2012-09-01 18:38:18 -0700
commit80c4f74c29ede062909db2b048b5b75820730994 (patch)
treed3b43776d36ddcc9d9582ab95745df3fdbddd95c /src/libcore
parentd777e5133360876baa4213f81a33934f04768a0f (diff)
Remove the 'to' keyword
Diffstat (limited to 'src/libcore')
-rw-r--r--src/libcore/char.rs8
-rw-r--r--src/libcore/float.rs4
-rw-r--r--src/libcore/unicode.rs4742
3 files changed, 2377 insertions, 2377 deletions
diff --git a/src/libcore/char.rs b/src/libcore/char.rs
index 8acbc08b0e8..71284f60b6f 100644
--- a/src/libcore/char.rs
+++ b/src/libcore/char.rs
@@ -120,9 +120,9 @@ pure fn is_digit(c: char) -> bool {
  */
 pure fn to_digit(c: char, radix: uint) -> Option<uint> {
     let val = match c {
-      '0' to '9' => c as uint - ('0' as uint),
-      'a' to 'z' => c as uint + 10u - ('a' as uint),
-      'A' to 'Z' => c as uint + 10u - ('A' as uint),
+      '0' .. '9' => c as uint - ('0' as uint),
+      'a' .. 'z' => c as uint + 10u - ('a' as uint),
+      'A' .. 'Z' => c as uint + 10u - ('A' as uint),
       _ => return None
     };
     if val < radix { Some(val) }
@@ -171,7 +171,7 @@ fn escape_default(c: char) -> ~str {
       '\\' => ~"\\\\",
       '\'' => ~"\\'",
       '"'  => ~"\\\"",
-      '\x20' to '\x7e' => str::from_char(c),
+      '\x20' .. '\x7e' => str::from_char(c),
       _ => escape_unicode(c)
     }
 }
diff --git a/src/libcore/float.rs b/src/libcore/float.rs
index 32fbcf209f6..125e9852f44 100644
--- a/src/libcore/float.rs
+++ b/src/libcore/float.rs
@@ -263,7 +263,7 @@ fn from_str(num: &str) -> Option<float> {
 
    //The string must start with one of the following characters.
    match str::char_at(num, 0u) {
-      '-' | '+' | '0' to '9' | '.' => (),
+      '-' | '+' | '0' .. '9' | '.' => (),
       _ => return None
    }
 
@@ -286,7 +286,7 @@ fn from_str(num: &str) -> Option<float> {
        c   = char_range.ch;
        pos = char_range.next;
        match c {
-         '0' to '9' => {
+         '0' .. '9' => {
            total = total * 10f;
            total += ((c as int) - ('0' as int)) as float;
          }
diff --git a/src/libcore/unicode.rs b/src/libcore/unicode.rs
index 6f3419aadd4..cdd2efbd8c3 100644
--- a/src/libcore/unicode.rs
+++ b/src/libcore/unicode.rs
@@ -5,8 +5,8 @@
 mod general_category {
     pure fn Cc(c: char) -> bool {
         return match c {
-              '\x00' to '\x1f'
-            | '\x7f' to '\x9f' => true,
+              '\x00' .. '\x1f'
+            | '\x7f' .. '\x9f' => true,
             _ => false
         };
     }
@@ -14,44 +14,44 @@ mod general_category {
     pure fn Cf(c: char) -> bool {
         return match c {
               '\xad'
-            | '\u0600' to '\u0603'
+            | '\u0600' .. '\u0603'
             | '\u06dd'
             | '\u070f'
-            | '\u17b4' to '\u17b5'
-            | '\u200b' to '\u200f'
-            | '\u202a' to '\u202e'
-            | '\u2060' to '\u206f'
+            | '\u17b4' .. '\u17b5'
+            | '\u200b' .. '\u200f'
+            | '\u202a' .. '\u202e'
+            | '\u2060' .. '\u206f'
             | '\ufeff'
-            | '\ufff9' to '\ufffb'
+            | '\ufff9' .. '\ufffb'
             | '\U000110bd'
-            | '\U0001d173' to '\U0001d17a'
-            | '\U000e0001' to '\U000e007f' => true,
+            | '\U0001d173' .. '\U0001d17a'
+            | '\U000e0001' .. '\U000e007f' => true,
             _ => false
         };
     }
 
     pure fn Co(c: char) -> bool {
         return match c {
-          '\ue000' to '\uf8ff' => true,
+          '\ue000' .. '\uf8ff' => true,
           _ => false
         };
     }
 
     pure fn Cs(c: char) -> bool {
         return match c {
-              '\ud800' to '\udfff' => true,
+              '\ud800' .. '\udfff' => true,
             _ => false
         };
     }
 
     pure fn Ll(c: char) -> bool {
         return match c {
-              '\x61' to '\x7a'
+              '\x61' .. '\x7a'
             | '\xaa'
             | '\xb5'
             | '\xba'
-            | '\xdf' to '\xf6'
-            | '\xf8' to '\xff'
+            | '\xdf' .. '\xf6'
+            | '\xf8' .. '\xff'
             | '\u0101'
             | '\u0103'
             | '\u0105'
@@ -79,7 +79,7 @@ mod general_category {
             | '\u0131'
             | '\u0133'
             | '\u0135'
-            | '\u0137' to '\u0138'
+            | '\u0137' .. '\u0138'
             | '\u013a'
             | '\u013c'
             | '\u013e'
@@ -87,7 +87,7 @@ mod general_category {
             | '\u0142'
             | '\u0144'
             | '\u0146'
-            | '\u0148' to '\u0149'
+            | '\u0148' .. '\u0149'
             | '\u014b'
             | '\u014d'
             | '\u014f'
@@ -113,26 +113,26 @@ mod general_category {
             | '\u0177'
             | '\u017a'
             | '\u017c'
-            | '\u017e' to '\u0180'
+            | '\u017e' .. '\u0180'
             | '\u0183'
             | '\u0185'
             | '\u0188'
-            | '\u018c' to '\u018d'
+            | '\u018c' .. '\u018d'
             | '\u0192'
             | '\u0195'
-            | '\u0199' to '\u019b'
+            | '\u0199' .. '\u019b'
             | '\u019e'
             | '\u01a1'
             | '\u01a3'
             | '\u01a5'
             | '\u01a8'
-            | '\u01aa' to '\u01ab'
+            | '\u01aa' .. '\u01ab'
             | '\u01ad'
             | '\u01b0'
             | '\u01b4'
             | '\u01b6'
-            | '\u01b9' to '\u01ba'
-            | '\u01bd' to '\u01bf'
+            | '\u01b9' .. '\u01ba'
+            | '\u01bd' .. '\u01bf'
             | '\u01c6'
             | '\u01c9'
             | '\u01cc'
@@ -143,7 +143,7 @@ mod general_category {
             | '\u01d6'
             | '\u01d8'
             | '\u01da'
-            | '\u01dc' to '\u01dd'
+            | '\u01dc' .. '\u01dd'
             | '\u01df'
             | '\u01e1'
             | '\u01e3'
@@ -152,7 +152,7 @@ mod general_category {
             | '\u01e9'
             | '\u01eb'
             | '\u01ed'
-            | '\u01ef' to '\u01f0'
+            | '\u01ef' .. '\u01f0'
             | '\u01f3'
             | '\u01f5'
             | '\u01f9'
@@ -184,24 +184,24 @@ mod general_category {
             | '\u022d'
             | '\u022f'
             | '\u0231'
-            | '\u0233' to '\u0239'
+            | '\u0233' .. '\u0239'
             | '\u023c'
-            | '\u023f' to '\u0240'
+            | '\u023f' .. '\u0240'
             | '\u0242'
             | '\u0247'
             | '\u0249'
             | '\u024b'
             | '\u024d'
-            | '\u024f' to '\u0293'
-            | '\u0295' to '\u02af'
+            | '\u024f' .. '\u0293'
+            | '\u0295' .. '\u02af'
             | '\u0371'
             | '\u0373'
             | '\u0377'
-            | '\u037b' to '\u037d'
+            | '\u037b' .. '\u037d'
             | '\u0390'
-            | '\u03ac' to '\u03ce'
-            | '\u03d0' to '\u03d1'
-            | '\u03d5' to '\u03d7'
+            | '\u03ac' .. '\u03ce'
+            | '\u03d0' .. '\u03d1'
+            | '\u03d5' .. '\u03d7'
             | '\u03d9'
             | '\u03db'
             | '\u03dd'
@@ -213,11 +213,11 @@ mod general_category {
             | '\u03e9'
             | '\u03eb'
             | '\u03ed'
-            | '\u03ef' to '\u03f3'
+            | '\u03ef' .. '\u03f3'
             | '\u03f5'
             | '\u03f8'
-            | '\u03fb' to '\u03fc'
-            | '\u0430' to '\u045f'
+            | '\u03fb' .. '\u03fc'
+            | '\u0430' .. '\u045f'
             | '\u0461'
             | '\u0463'
             | '\u0465'
@@ -268,7 +268,7 @@ mod general_category {
             | '\u04c8'
             | '\u04ca'
             | '\u04cc'
-            | '\u04ce' to '\u04cf'
+            | '\u04ce' .. '\u04cf'
             | '\u04d1'
             | '\u04d3'
             | '\u04d5'
@@ -313,10 +313,10 @@ mod general_category {
             | '\u0523'
             | '\u0525'
             | '\u0527'
-            | '\u0561' to '\u0587'
-            | '\u1d00' to '\u1d2b'
-            | '\u1d62' to '\u1d77'
-            | '\u1d79' to '\u1d9a'
+            | '\u0561' .. '\u0587'
+            | '\u1d00' .. '\u1d2b'
+            | '\u1d62' .. '\u1d77'
+            | '\u1d79' .. '\u1d9a'
             | '\u1e01'
             | '\u1e03'
             | '\u1e05'
@@ -391,7 +391,7 @@ mod general_category {
             | '\u1e8f'
             | '\u1e91'
             | '\u1e93'
-            | '\u1e95' to '\u1e9d'
+            | '\u1e95' .. '\u1e9d'
             | '\u1e9f'
             | '\u1ea1'
             | '\u1ea3'
@@ -440,41 +440,41 @@ mod general_category {
             | '\u1ef9'
             | '\u1efb'
             | '\u1efd'
-            | '\u1eff' to '\u1f07'
-            | '\u1f10' to '\u1f15'
-            | '\u1f20' to '\u1f27'
-            | '\u1f30' to '\u1f37'
-            | '\u1f40' to '\u1f45'
-            | '\u1f50' to '\u1f57'
-            | '\u1f60' to '\u1f67'
-            | '\u1f70' to '\u1f87'
-            | '\u1f90' to '\u1f97'
-            | '\u1fa0' to '\u1fa7'
-            | '\u1fb0' to '\u1fb7'
+            | '\u1eff' .. '\u1f07'
+            | '\u1f10' .. '\u1f15'
+            | '\u1f20' .. '\u1f27'
+            | '\u1f30' .. '\u1f37'
+            | '\u1f40' .. '\u1f45'
+            | '\u1f50' .. '\u1f57'
+            | '\u1f60' .. '\u1f67'
+            | '\u1f70' .. '\u1f87'
+            | '\u1f90' .. '\u1f97'
+            | '\u1fa0' .. '\u1fa7'
+            | '\u1fb0' .. '\u1fb7'
             | '\u1fbe'
-            | '\u1fc2' to '\u1fc7'
-            | '\u1fd0' to '\u1fd7'
-            | '\u1fe0' to '\u1fe7'
-            | '\u1ff2' to '\u1ff7'
+            | '\u1fc2' .. '\u1fc7'
+            | '\u1fd0' .. '\u1fd7'
+            | '\u1fe0' .. '\u1fe7'
+            | '\u1ff2' .. '\u1ff7'
             | '\u210a'
-            | '\u210e' to '\u210f'
+            | '\u210e' .. '\u210f'
             | '\u2113'
             | '\u212f'
             | '\u2134'
             | '\u2139'
-            | '\u213c' to '\u213d'
-            | '\u2146' to '\u2149'
+            | '\u213c' .. '\u213d'
+            | '\u2146' .. '\u2149'
             | '\u214e'
             | '\u2184'
-            | '\u2c30' to '\u2c5e'
+            | '\u2c30' .. '\u2c5e'
             | '\u2c61'
-            | '\u2c65' to '\u2c66'
+            | '\u2c65' .. '\u2c66'
             | '\u2c68'
             | '\u2c6a'
             | '\u2c6c'
             | '\u2c71'
-            | '\u2c73' to '\u2c74'
-            | '\u2c76' to '\u2c7c'
+            | '\u2c73' .. '\u2c74'
+            | '\u2c76' .. '\u2c7c'
             | '\u2c81'
             | '\u2c83'
             | '\u2c85'
@@ -524,10 +524,10 @@ mod general_category {
             | '\u2cdd'
             | '\u2cdf'
             | '\u2ce1'
-            | '\u2ce3' to '\u2ce4'
+            | '\u2ce3' .. '\u2ce4'
             | '\u2cec'
             | '\u2cee'
-            | '\u2d00' to '\u2d25'
+            | '\u2d00' .. '\u2d25'
             | '\ua641'
             | '\ua643'
             | '\ua645'
@@ -569,7 +569,7 @@ mod general_category {
             | '\ua729'
             | '\ua72b'
             | '\ua72d'
-            | '\ua72f' to '\ua731'
+            | '\ua72f' .. '\ua731'
             | '\ua733'
             | '\ua735'
             | '\ua737'
@@ -601,7 +601,7 @@ mod general_category {
             | '\ua76b'
             | '\ua76d'
             | '\ua76f'
-            | '\ua771' to '\ua778'
+            | '\ua771' .. '\ua778'
             | '\ua77a'
             | '\ua77c'
             | '\ua77f'
@@ -616,33 +616,33 @@ mod general_category {
             | '\ua7a3'
             | '\ua7a5'
             | '\ua7a7'
-            | '\ua7a9' to '\ua7fa'
-            | '\ufb00' to '\ufb17'
-            | '\uff41' to '\uff5a'
-            | '\U00010428' to '\U0001044f'
-            | '\U0001d41a' to '\U0001d433'
-            | '\U0001d44e' to '\U0001d467'
-            | '\U0001d482' to '\U0001d49b'
-            | '\U0001d4b6' to '\U0001d4cf'
-            | '\U0001d4ea' to '\U0001d503'
-            | '\U0001d51e' to '\U0001d537'
-            | '\U0001d552' to '\U0001d56b'
-            | '\U0001d586' to '\U0001d59f'
-            | '\U0001d5ba' to '\U0001d5d3'
-            | '\U0001d5ee' to '\U0001d607'
-            | '\U0001d622' to '\U0001d63b'
-            | '\U0001d656' to '\U0001d66f'
-            | '\U0001d68a' to '\U0001d6a5'
-            | '\U0001d6c2' to '\U0001d6da'
-            | '\U0001d6dc' to '\U0001d6e1'
-            | '\U0001d6fc' to '\U0001d714'
-            | '\U0001d716' to '\U0001d71b'
-            | '\U0001d736' to '\U0001d74e'
-            | '\U0001d750' to '\U0001d755'
-            | '\U0001d770' to '\U0001d788'
-            | '\U0001d78a' to '\U0001d78f'
-            | '\U0001d7aa' to '\U0001d7c2'
-            | '\U0001d7c4' to '\U0001d7c9'
+            | '\ua7a9' .. '\ua7fa'
+            | '\ufb00' .. '\ufb17'
+            | '\uff41' .. '\uff5a'
+            | '\U00010428' .. '\U0001044f'
+            | '\U0001d41a' .. '\U0001d433'
+            | '\U0001d44e' .. '\U0001d467'
+            | '\U0001d482' .. '\U0001d49b'
+            | '\U0001d4b6' .. '\U0001d4cf'
+            | '\U0001d4ea' .. '\U0001d503'
+            | '\U0001d51e' .. '\U0001d537'
+            | '\U0001d552' .. '\U0001d56b'
+            | '\U0001d586' .. '\U0001d59f'
+            | '\U0001d5ba' .. '\U0001d5d3'
+            | '\U0001d5ee' .. '\U0001d607'
+            | '\U0001d622' .. '\U0001d63b'
+            | '\U0001d656' .. '\U0001d66f'
+            | '\U0001d68a' .. '\U0001d6a5'
+            | '\U0001d6c2' .. '\U0001d6da'
+            | '\U0001d6dc' .. '\U0001d6e1'
+            | '\U0001d6fc' .. '\U0001d714'
+            | '\U0001d716' .. '\U0001d71b'
+            | '\U0001d736' .. '\U0001d74e'
+            | '\U0001d750' .. '\U0001d755'
+            | '\U0001d770' .. '\U0001d788'
+            | '\U0001d78a' .. '\U0001d78f'
+            | '\U0001d7aa' .. '\U0001d7c2'
+            | '\U0001d7c4' .. '\U0001d7c9'
             | '\U0001d7cb'
           => true,
           _ => false
@@ -651,17 +651,17 @@ mod general_category {
 
     pure fn Lm(c: char) -> bool {
         return match c {
-              '\u02b0' to '\u02c1'
-            | '\u02c6' to '\u02d1'
-            | '\u02e0' to '\u02e4'
+              '\u02b0' .. '\u02c1'
+            | '\u02c6' .. '\u02d1'
+            | '\u02e0' .. '\u02e4'
             | '\u02ec'
             | '\u02ee'
             | '\u0374'
             | '\u037a'
             | '\u0559'
             | '\u0640'
-            | '\u06e5' to '\u06e6'
-            | '\u07f4' to '\u07f5'
+            | '\u06e5' .. '\u06e6'
+            | '\u07f4' .. '\u07f5'
             | '\u07fa'
             | '\u081a'
             | '\u0824'
@@ -673,33 +673,33 @@ mod general_category {
             | '\u17d7'
             | '\u1843'
             | '\u1aa7'
-            | '\u1c78' to '\u1c7d'
-            | '\u1d2c' to '\u1d61'
+            | '\u1c78' .. '\u1c7d'
+            | '\u1d2c' .. '\u1d61'
             | '\u1d78'
-            | '\u1d9b' to '\u1dbf'
+            | '\u1d9b' .. '\u1dbf'
             | '\u2071'
             | '\u207f'
-            | '\u2090' to '\u209c'
+            | '\u2090' .. '\u209c'
             | '\u2c7d'
             | '\u2d6f'
             | '\u2e2f'
             | '\u3005'
-            | '\u3031' to '\u3035'
+            | '\u3031' .. '\u3035'
             | '\u303b'
-            | '\u309d' to '\u309e'
-            | '\u30fc' to '\u30fe'
+            | '\u309d' .. '\u309e'
+            | '\u30fc' .. '\u30fe'
             | '\ua015'
-            | '\ua4f8' to '\ua4fd'
+            | '\ua4f8' .. '\ua4fd'
             | '\ua60c'
             | '\ua67f'
-            | '\ua717' to '\ua71f'
+            | '\ua717' .. '\ua71f'
             | '\ua770'
             | '\ua788'
             | '\ua9cf'
             | '\uaa70'
             | '\uaadd'
             | '\uff70'
-            | '\uff9e' to '\uff9f'
+            | '\uff9e' .. '\uff9f'
           => true,
           _ => false
         };
@@ -708,184 +708,184 @@ mod general_category {
     pure fn Lo(c: char) -> bool {
         return match c {
               '\u01bb'
-            | '\u01c0' to '\u01c3'
+            | '\u01c0' .. '\u01c3'
             | '\u0294'
-            | '\u05d0' to '\u05f2'
-            | '\u0620' to '\u063f'
-            | '\u0641' to '\u064a'
-            | '\u066e' to '\u066f'
-            | '\u0671' to '\u06d3'
+            | '\u05d0' .. '\u05f2'
+            | '\u0620' .. '\u063f'
+            | '\u0641' .. '\u064a'
+            | '\u066e' .. '\u066f'
+            | '\u0671' .. '\u06d3'
             | '\u06d5'
-            | '\u06ee' to '\u06ef'
-            | '\u06fa' to '\u06fc'
+            | '\u06ee' .. '\u06ef'
+            | '\u06fa' .. '\u06fc'
             | '\u06ff'
             | '\u0710'
-            | '\u0712' to '\u072f'
-            | '\u074d' to '\u07a5'
+            | '\u0712' .. '\u072f'
+            | '\u074d' .. '\u07a5'
             | '\u07b1'
-            | '\u07ca' to '\u07ea'
-            | '\u0800' to '\u0815'
-            | '\u0840' to '\u0858'
-            | '\u0904' to '\u0939'
+            | '\u07ca' .. '\u07ea'
+            | '\u0800' .. '\u0815'
+            | '\u0840' .. '\u0858'
+            | '\u0904' .. '\u0939'
             | '\u093d'
             | '\u0950'
-            | '\u0958' to '\u0961'
-            | '\u0972' to '\u097f'
-            | '\u0985' to '\u09b9'
+            | '\u0958' .. '\u0961'
+            | '\u0972' .. '\u097f'
+            | '\u0985' .. '\u09b9'
             | '\u09bd'
             | '\u09ce'
-            | '\u09dc' to '\u09e1'
-            | '\u09f0' to '\u09f1'
-            | '\u0a05' to '\u0a39'
-            | '\u0a59' to '\u0a5e'
-            | '\u0a72' to '\u0a74'
-            | '\u0a85' to '\u0ab9'
+            | '\u09dc' .. '\u09e1'
+            | '\u09f0' .. '\u09f1'
+            | '\u0a05' .. '\u0a39'
+            | '\u0a59' .. '\u0a5e'
+            | '\u0a72' .. '\u0a74'
+            | '\u0a85' .. '\u0ab9'
             | '\u0abd'
-            | '\u0ad0' to '\u0ae1'
-            | '\u0b05' to '\u0b39'
+            | '\u0ad0' .. '\u0ae1'
+            | '\u0b05' .. '\u0b39'
             | '\u0b3d'
-            | '\u0b5c' to '\u0b61'
+            | '\u0b5c' .. '\u0b61'
             | '\u0b71'
-            | '\u0b83' to '\u0bb9'
+            | '\u0b83' .. '\u0bb9'
             | '\u0bd0'
-            | '\u0c05' to '\u0c3d'
-            | '\u0c58' to '\u0c61'
-            | '\u0c85' to '\u0cb9'
+            | '\u0c05' .. '\u0c3d'
+            | '\u0c58' .. '\u0c61'
+            | '\u0c85' .. '\u0cb9'
             | '\u0cbd'
-            | '\u0cde' to '\u0ce1'
-            | '\u0cf1' to '\u0cf2'
-            | '\u0d05' to '\u0d3d'
+            | '\u0cde' .. '\u0ce1'
+            | '\u0cf1' .. '\u0cf2'
+            | '\u0d05' .. '\u0d3d'
             | '\u0d4e'
-            | '\u0d60' to '\u0d61'
-            | '\u0d7a' to '\u0d7f'
-            | '\u0d85' to '\u0dc6'
-            | '\u0e01' to '\u0e30'
-            | '\u0e32' to '\u0e33'
-            | '\u0e40' to '\u0e45'
-            | '\u0e81' to '\u0eb0'
-            | '\u0eb2' to '\u0eb3'
-            | '\u0ebd' to '\u0ec4'
-            | '\u0edc' to '\u0f00'
-            | '\u0f40' to '\u0f6c'
-            | '\u0f88' to '\u0f8c'
-            | '\u1000' to '\u102a'
+            | '\u0d60' .. '\u0d61'
+            | '\u0d7a' .. '\u0d7f'
+            | '\u0d85' .. '\u0dc6'
+            | '\u0e01' .. '\u0e30'
+            | '\u0e32' .. '\u0e33'
+            | '\u0e40' .. '\u0e45'
+            | '\u0e81' .. '\u0eb0'
+            | '\u0eb2' .. '\u0eb3'
+            | '\u0ebd' .. '\u0ec4'
+            | '\u0edc' .. '\u0f00'
+            | '\u0f40' .. '\u0f6c'
+            | '\u0f88' .. '\u0f8c'
+            | '\u1000' .. '\u102a'
             | '\u103f'
-            | '\u1050' to '\u1055'
-            | '\u105a' to '\u105d'
+            | '\u1050' .. '\u1055'
+            | '\u105a' .. '\u105d'
             | '\u1061'
-            | '\u1065' to '\u1066'
-            | '\u106e' to '\u1070'
-            | '\u1075' to '\u1081'
+            | '\u1065' .. '\u1066'
+            | '\u106e' .. '\u1070'
+            | '\u1075' .. '\u1081'
             | '\u108e'
-            | '\u10d0' to '\u10fa'
-            | '\u1100' to '\u135a'
-            | '\u1380' to '\u138f'
-            | '\u13a0' to '\u13f4'
-            | '\u1401' to '\u166c'
-            | '\u166f' to '\u167f'
-            | '\u1681' to '\u169a'
-            | '\u16a0' to '\u16ea'
-            | '\u1700' to '\u1711'
-            | '\u1720' to '\u1731'
-            | '\u1740' to '\u1751'
-            | '\u1760' to '\u1770'
-            | '\u1780' to '\u17b3'
+            | '\u10d0' .. '\u10fa'
+            | '\u1100' .. '\u135a'
+            | '\u1380' .. '\u138f'
+            | '\u13a0' .. '\u13f4'
+            | '\u1401' .. '\u166c'
+            | '\u166f' .. '\u167f'
+            | '\u1681' .. '\u169a'
+            | '\u16a0' .. '\u16ea'
+            | '\u1700' .. '\u1711'
+            | '\u1720' .. '\u1731'
+            | '\u1740' .. '\u1751'
+            | '\u1760' .. '\u1770'
+            | '\u1780' .. '\u17b3'
             | '\u17dc'
-            | '\u1820' to '\u1842'
-            | '\u1844' to '\u18a8'
-            | '\u18aa' to '\u191c'
-            | '\u1950' to '\u19ab'
-            | '\u19c1' to '\u19c7'
-            | '\u1a00' to '\u1a16'
-            | '\u1a20' to '\u1a54'
-            | '\u1b05' to '\u1b33'
-            | '\u1b45' to '\u1b4b'
-            | '\u1b83' to '\u1ba0'
-            | '\u1bae' to '\u1baf'
-            | '\u1bc0' to '\u1be5'
-            | '\u1c00' to '\u1c23'
-            | '\u1c4d' to '\u1c4f'
-            | '\u1c5a' to '\u1c77'
-            | '\u1ce9' to '\u1cec'
-            | '\u1cee' to '\u1cf1'
-            | '\u2135' to '\u2138'
-            | '\u2d30' to '\u2d65'
-            | '\u2d80' to '\u2dde'
+            | '\u1820' .. '\u1842'
+            | '\u1844' .. '\u18a8'
+            | '\u18aa' .. '\u191c'
+            | '\u1950' .. '\u19ab'
+            | '\u19c1' .. '\u19c7'
+            | '\u1a00' .. '\u1a16'
+            | '\u1a20' .. '\u1a54'
+            | '\u1b05' .. '\u1b33'
+            | '\u1b45' .. '\u1b4b'
+            | '\u1b83' .. '\u1ba0'
+            | '\u1bae' .. '\u1baf'
+            | '\u1bc0' .. '\u1be5'
+            | '\u1c00' .. '\u1c23'
+            | '\u1c4d' .. '\u1c4f'
+            | '\u1c5a' .. '\u1c77'
+            | '\u1ce9' .. '\u1cec'
+            | '\u1cee' .. '\u1cf1'
+            | '\u2135' .. '\u2138'
+            | '\u2d30' .. '\u2d65'
+            | '\u2d80' .. '\u2dde'
             | '\u3006'
             | '\u303c'
-            | '\u3041' to '\u3096'
+            | '\u3041' .. '\u3096'
             | '\u309f'
-            | '\u30a1' to '\u30fa'
-            | '\u30ff' to '\u318e'
-            | '\u31a0' to '\u31ba'
-            | '\u31f0' to '\u31ff'
-            | '\u3400' to '\u4db5'
-            | '\u4e00' to '\ua014'
-            | '\ua016' to '\ua48c'
-            | '\ua4d0' to '\ua4f7'
-            | '\ua500' to '\ua60b'
-            | '\ua610' to '\ua61f'
-            | '\ua62a' to '\ua62b'
+            | '\u30a1' .. '\u30fa'
+            | '\u30ff' .. '\u318e'
+            | '\u31a0' .. '\u31ba'
+            | '\u31f0' .. '\u31ff'
+            | '\u3400' .. '\u4db5'
+            | '\u4e00' .. '\ua014'
+            | '\ua016' .. '\ua48c'
+            | '\ua4d0' .. '\ua4f7'
+            | '\ua500' .. '\ua60b'
+            | '\ua610' .. '\ua61f'
+            | '\ua62a' .. '\ua62b'
             | '\ua66e'
-            | '\ua6a0' to '\ua6e5'
-            | '\ua7fb' to '\ua801'
-            | '\ua803' to '\ua805'
-            | '\ua807' to '\ua80a'
-            | '\ua80c' to '\ua822'
-            | '\ua840' to '\ua873'
-            | '\ua882' to '\ua8b3'
-            | '\ua8f2' to '\ua8f7'
+            | '\ua6a0' .. '\ua6e5'
+            | '\ua7fb' .. '\ua801'
+            | '\ua803' .. '\ua805'
+            | '\ua807' .. '\ua80a'
+            | '\ua80c' .. '\ua822'
+            | '\ua840' .. '\ua873'
+            | '\ua882' .. '\ua8b3'
+            | '\ua8f2' .. '\ua8f7'
             | '\ua8fb'
-            | '\ua90a' to '\ua925'
-            | '\ua930' to '\ua946'
-            | '\ua960' to '\ua97c'
-            | '\ua984' to '\ua9b2'
-            | '\uaa00' to '\uaa28'
-            | '\uaa40' to '\uaa42'
-            | '\uaa44' to '\uaa4b'
-            | '\uaa60' to '\uaa6f'
-            | '\uaa71' to '\uaa76'
+            | '\ua90a' .. '\ua925'
+            | '\ua930' .. '\ua946'
+            | '\ua960' .. '\ua97c'
+            | '\ua984' .. '\ua9b2'
+            | '\uaa00' .. '\uaa28'
+            | '\uaa40' .. '\uaa42'
+            | '\uaa44' .. '\uaa4b'
+            | '\uaa60' .. '\uaa6f'
+            | '\uaa71' .. '\uaa76'
             | '\uaa7a'
-            | '\uaa80' to '\uaaaf'
+            | '\uaa80' .. '\uaaaf'
             | '\uaab1'
-            | '\uaab5' to '\uaab6'
-            | '\uaab9' to '\uaabd'
+            | '\uaab5' .. '\uaab6'
+            | '\uaab9' .. '\uaabd'
             | '\uaac0'
-            | '\uaac2' to '\uaadc'
-            | '\uab01' to '\uabe2'
-            | '\uac00' to '\ud7fb'
-            | '\uf900' to '\ufad9'
+            | '\uaac2' .. '\uaadc'
+            | '\uab01' .. '\uabe2'
+            | '\uac00' .. '\ud7fb'
+            | '\uf900' .. '\ufad9'
             | '\ufb1d'
-            | '\ufb1f' to '\ufb28'
-            | '\ufb2a' to '\ufbb1'
-            | '\ufbd3' to '\ufd3d'
-            | '\ufd50' to '\ufdfb'
-            | '\ufe70' to '\ufefc'
-            | '\uff66' to '\uff6f'
-            | '\uff71' to '\uff9d'
-            | '\uffa0' to '\uffdc'
-            | '\U00010000' to '\U000100fa'
-            | '\U00010280' to '\U0001031e'
-            | '\U00010330' to '\U00010340'
-            | '\U00010342' to '\U00010349'
-            | '\U00010380' to '\U0001039d'
-            | '\U000103a0' to '\U000103cf'
-            | '\U00010450' to '\U0001049d'
-            | '\U00010800' to '\U00010855'
-            | '\U00010900' to '\U00010915'
-            | '\U00010920' to '\U00010939'
+            | '\ufb1f' .. '\ufb28'
+            | '\ufb2a' .. '\ufbb1'
+            | '\ufbd3' .. '\ufd3d'
+            | '\ufd50' .. '\ufdfb'
+            | '\ufe70' .. '\ufefc'
+            | '\uff66' .. '\uff6f'
+            | '\uff71' .. '\uff9d'
+            | '\uffa0' .. '\uffdc'
+            | '\U00010000' .. '\U000100fa'
+            | '\U00010280' .. '\U0001031e'
+            | '\U00010330' .. '\U00010340'
+            | '\U00010342' .. '\U00010349'
+            | '\U00010380' .. '\U0001039d'
+            | '\U000103a0' .. '\U000103cf'
+            | '\U00010450' .. '\U0001049d'
+            | '\U00010800' .. '\U00010855'
+            | '\U00010900' .. '\U00010915'
+            | '\U00010920' .. '\U00010939'
             | '\U00010a00'
-            | '\U00010a10' to '\U00010a33'
-            | '\U00010a60' to '\U00010a7c'
-            | '\U00010b00' to '\U00010b35'
-            | '\U00010b40' to '\U00010b55'
-            | '\U00010b60' to '\U00010b72'
-            | '\U00010c00' to '\U00010c48'
-            | '\U00011003' to '\U00011037'
-            | '\U00011083' to '\U000110af'
-            | '\U00012000' to '\U0001236e'
-            | '\U00013000' to '\U0001b001'
-            | '\U00020000' to '\U0002fa1d'
+            | '\U00010a10' .. '\U00010a33'
+            | '\U00010a60' .. '\U00010a7c'
+            | '\U00010b00' .. '\U00010b35'
+            | '\U00010b40' .. '\U00010b55'
+            | '\U00010b60' .. '\U00010b72'
+            | '\U00010c00' .. '\U00010c48'
+            | '\U00011003' .. '\U00011037'
+            | '\U00011083' .. '\U000110af'
+            | '\U00012000' .. '\U0001236e'
+            | '\U00013000' .. '\U0001b001'
+            | '\U00020000' .. '\U0002fa1d'
           => true,
           _ => false
         };
@@ -897,9 +897,9 @@ mod general_category {
             | '\u01c8'
             | '\u01cb'
             | '\u01f2'
-            | '\u1f88' to '\u1f8f'
-            | '\u1f98' to '\u1f9f'
-            | '\u1fa8' to '\u1faf'
+            | '\u1f88' .. '\u1f8f'
+            | '\u1f98' .. '\u1f9f'
+            | '\u1fa8' .. '\u1faf'
             | '\u1fbc'
             | '\u1fcc'
             | '\u1ffc'
@@ -910,9 +910,9 @@ mod general_category {
 
     pure fn Lu(c: char) -> bool {
         return match c {
-              '\x41' to '\x5a'
-            | '\xc0' to '\xd6'
-            | '\xd8' to '\xde'
+              '\x41' .. '\x5a'
+            | '\xc0' .. '\xd6'
+            | '\xd8' .. '\xde'
             | '\u0100'
             | '\u0102'
             | '\u0104'
@@ -972,27 +972,27 @@ mod general_category {
             | '\u0172'
             | '\u0174'
             | '\u0176'
-            | '\u0178' to '\u0179'
+            | '\u0178' .. '\u0179'
             | '\u017b'
             | '\u017d'
-            | '\u0181' to '\u0182'
+            | '\u0181' .. '\u0182'
             | '\u0184'
-            | '\u0186' to '\u0187'
-            | '\u0189' to '\u018b'
-            | '\u018e' to '\u0191'
-            | '\u0193' to '\u0194'
-            | '\u0196' to '\u0198'
-            | '\u019c' to '\u019d'
-            | '\u019f' to '\u01a0'
+            | '\u0186' .. '\u0187'
+            | '\u0189' .. '\u018b'
+            | '\u018e' .. '\u0191'
+            | '\u0193' .. '\u0194'
+            | '\u0196' .. '\u0198'
+            | '\u019c' .. '\u019d'
+            | '\u019f' .. '\u01a0'
             | '\u01a2'
             | '\u01a4'
-            | '\u01a6' to '\u01a7'
+            | '\u01a6' .. '\u01a7'
             | '\u01a9'
             | '\u01ac'
-            | '\u01ae' to '\u01af'
-            | '\u01b1' to '\u01b3'
+            | '\u01ae' .. '\u01af'
+            | '\u01b1' .. '\u01b3'
             | '\u01b5'
-            | '\u01b7' to '\u01b8'
+            | '\u01b7' .. '\u01b8'
             | '\u01bc'
             | '\u01c4'
             | '\u01c7'
@@ -1016,7 +1016,7 @@ mod general_category {
             | '\u01ee'
             | '\u01f1'
             | '\u01f4'
-            | '\u01f6' to '\u01f8'
+            | '\u01f6' .. '\u01f8'
             | '\u01fa'
             | '\u01fc'
             | '\u01fe'
@@ -1046,10 +1046,10 @@ mod general_category {
             | '\u022e'
             | '\u0230'
             | '\u0232'
-            | '\u023a' to '\u023b'
-            | '\u023d' to '\u023e'
+            | '\u023a' .. '\u023b'
+            | '\u023d' .. '\u023e'
             | '\u0241'
-            | '\u0243' to '\u0246'
+            | '\u0243' .. '\u0246'
             | '\u0248'
             | '\u024a'
             | '\u024c'
@@ -1058,10 +1058,10 @@ mod general_category {
             | '\u0372'
             | '\u0376'
             | '\u0386'
-            | '\u0388' to '\u038f'
-            | '\u0391' to '\u03ab'
+            | '\u0388' .. '\u038f'
+            | '\u0391' .. '\u03ab'
             | '\u03cf'
-            | '\u03d2' to '\u03d4'
+            | '\u03d2' .. '\u03d4'
             | '\u03d8'
             | '\u03da'
             | '\u03dc'
@@ -1076,8 +1076,8 @@ mod general_category {
             | '\u03ee'
             | '\u03f4'
             | '\u03f7'
-            | '\u03f9' to '\u03fa'
-            | '\u03fd' to '\u042f'
+            | '\u03f9' .. '\u03fa'
+            | '\u03fd' .. '\u042f'
             | '\u0460'
             | '\u0462'
             | '\u0464'
@@ -1122,7 +1122,7 @@ mod general_category {
             | '\u04ba'
             | '\u04bc'
             | '\u04be'
-            | '\u04c0' to '\u04c1'
+            | '\u04c0' .. '\u04c1'
             | '\u04c3'
             | '\u04c5'
             | '\u04c7'
@@ -1173,8 +1173,8 @@ mod general_category {
             | '\u0522'
             | '\u0524'
             | '\u0526'
-            | '\u0531' to '\u0556'
-            | '\u10a0' to '\u10c5'
+            | '\u0531' .. '\u0556'
+            | '\u10a0' .. '\u10c5'
             | '\u1e00'
             | '\u1e02'
             | '\u1e04'
@@ -1299,42 +1299,42 @@ mod general_category {
             | '\u1efa'
             | '\u1efc'
             | '\u1efe'
-            | '\u1f08' to '\u1f0f'
-            | '\u1f18' to '\u1f1d'
-            | '\u1f28' to '\u1f2f'
-            | '\u1f38' to '\u1f3f'
-            | '\u1f48' to '\u1f4d'
-            | '\u1f59' to '\u1f5f'
-            | '\u1f68' to '\u1f6f'
-            | '\u1fb8' to '\u1fbb'
-            | '\u1fc8' to '\u1fcb'
-            | '\u1fd8' to '\u1fdb'
-            | '\u1fe8' to '\u1fec'
-            | '\u1ff8' to '\u1ffb'
+            | '\u1f08' .. '\u1f0f'
+            | '\u1f18' .. '\u1f1d'
+            | '\u1f28' .. '\u1f2f'
+            | '\u1f38' .. '\u1f3f'
+            | '\u1f48' .. '\u1f4d'
+            | '\u1f59' .. '\u1f5f'
+            | '\u1f68' .. '\u1f6f'
+            | '\u1fb8' .. '\u1fbb'
+            | '\u1fc8' .. '\u1fcb'
+            | '\u1fd8' .. '\u1fdb'
+            | '\u1fe8' .. '\u1fec'
+            | '\u1ff8' .. '\u1ffb'
             | '\u2102'
             | '\u2107'
-            | '\u210b' to '\u210d'
-            | '\u2110' to '\u2112'
+            | '\u210b' .. '\u210d'
+            | '\u2110' .. '\u2112'
             | '\u2115'
-            | '\u2119' to '\u211d'
+            | '\u2119' .. '\u211d'
             | '\u2124'
             | '\u2126'
             | '\u2128'
-            | '\u212a' to '\u212d'
-            | '\u2130' to '\u2133'
-            | '\u213e' to '\u213f'
+            | '\u212a' .. '\u212d'
+            | '\u2130' .. '\u2133'
+            | '\u213e' .. '\u213f'
             | '\u2145'
             | '\u2183'
-            | '\u2c00' to '\u2c2e'
+            | '\u2c00' .. '\u2c2e'
             | '\u2c60'
-            | '\u2c62' to '\u2c64'
+            | '\u2c62' .. '\u2c64'
             | '\u2c67'
             | '\u2c69'
             | '\u2c6b'
-            | '\u2c6d' to '\u2c70'
+            | '\u2c6d' .. '\u2c70'
             | '\u2c72'
             | '\u2c75'
-            | '\u2c7e' to '\u2c80'
+            | '\u2c7e' .. '\u2c80'
             | '\u2c82'
             | '\u2c84'
             | '\u2c86'
@@ -1461,7 +1461,7 @@ mod general_category {
             | '\ua76e'
             | '\ua779'
             | '\ua77b'
-            | '\ua77d' to '\ua77e'
+            | '\ua77d' .. '\ua77e'
             | '\ua780'
             | '\ua782'
             | '\ua784'
@@ -1474,26 +1474,26 @@ mod general_category {
             | '\ua7a4'
             | '\ua7a6'
             | '\ua7a8'
-            | '\uff21' to '\uff3a'
-            | '\U00010400' to '\U00010427'
-            | '\U0001d400' to '\U0001d419'
-            | '\U0001d434' to '\U0001d44d'
-            | '\U0001d468' to '\U0001d481'
-            | '\U0001d49c' to '\U0001d4b5'
-            | '\U0001d4d0' to '\U0001d4e9'
-            | '\U0001d504' to '\U0001d51c'
-            | '\U0001d538' to '\U0001d550'
-            | '\U0001d56c' to '\U0001d585'
-            | '\U0001d5a0' to '\U0001d5b9'
-            | '\U0001d5d4' to '\U0001d5ed'
-            | '\U0001d608' to '\U0001d621'
-            | '\U0001d63c' to '\U0001d655'
-            | '\U0001d670' to '\U0001d689'
-            | '\U0001d6a8' to '\U0001d6c0'
-            | '\U0001d6e2' to '\U0001d6fa'
-            | '\U0001d71c' to '\U0001d734'
-            | '\U0001d756' to '\U0001d76e'
-            | '\U0001d790' to '\U0001d7a8'
+            | '\uff21' .. '\uff3a'
+            | '\U00010400' .. '\U00010427'
+            | '\U0001d400' .. '\U0001d419'
+            | '\U0001d434' .. '\U0001d44d'
+            | '\U0001d468' .. '\U0001d481'
+            | '\U0001d49c' .. '\U0001d4b5'
+            | '\U0001d4d0' .. '\U0001d4e9'
+            | '\U0001d504' .. '\U0001d51c'
+            | '\U0001d538' .. '\U0001d550'
+            | '\U0001d56c' .. '\U0001d585'
+            | '\U0001d5a0' .. '\U0001d5b9'
+            | '\U0001d5d4' .. '\U0001d5ed'
+            | '\U0001d608' .. '\U0001d621'
+            | '\U0001d63c' .. '\U0001d655'
+            | '\U0001d670' .. '\U0001d689'
+            | '\U0001d6a8' .. '\U0001d6c0'
+            | '\U0001d6e2' .. '\U0001d6fa'
+            | '\U0001d71c' .. '\U0001d734'
+            | '\U0001d756' .. '\U0001d76e'
+            | '\U0001d790' .. '\U0001d7a8'
             | '\U0001d7ca'
           => true,
           _ => false
@@ -1504,108 +1504,108 @@ mod general_category {
         return match c {
               '\u0903'
             | '\u093b'
-            | '\u093e' to '\u0940'
-            | '\u0949' to '\u094c'
-            | '\u094e' to '\u094f'
-            | '\u0982' to '\u0983'
-            | '\u09be' to '\u09c0'
-            | '\u09c7' to '\u09cc'
+            | '\u093e' .. '\u0940'
+            | '\u0949' .. '\u094c'
+            | '\u094e' .. '\u094f'
+            | '\u0982' .. '\u0983'
+            | '\u09be' .. '\u09c0'
+            | '\u09c7' .. '\u09cc'
             | '\u09d7'
             | '\u0a03'
-            | '\u0a3e' to '\u0a40'
+            | '\u0a3e' .. '\u0a40'
             | '\u0a83'
-            | '\u0abe' to '\u0ac0'
-            | '\u0ac9' to '\u0acc'
-            | '\u0b02' to '\u0b03'
+            | '\u0abe' .. '\u0ac0'
+            | '\u0ac9' .. '\u0acc'
+            | '\u0b02' .. '\u0b03'
             | '\u0b3e'
             | '\u0b40'
-            | '\u0b47' to '\u0b4c'
+            | '\u0b47' .. '\u0b4c'
             | '\u0b57'
-            | '\u0bbe' to '\u0bbf'
-            | '\u0bc1' to '\u0bcc'
+            | '\u0bbe' .. '\u0bbf'
+            | '\u0bc1' .. '\u0bcc'
             | '\u0bd7'
-            | '\u0c01' to '\u0c03'
-            | '\u0c41' to '\u0c44'
-            | '\u0c82' to '\u0c83'
+            | '\u0c01' .. '\u0c03'
+            | '\u0c41' .. '\u0c44'
+            | '\u0c82' .. '\u0c83'
             | '\u0cbe'
-            | '\u0cc0' to '\u0cc4'
-            | '\u0cc7' to '\u0ccb'
-            | '\u0cd5' to '\u0cd6'
-            | '\u0d02' to '\u0d03'
-            | '\u0d3e' to '\u0d40'
-            | '\u0d46' to '\u0d4c'
+            | '\u0cc0' .. '\u0cc4'
+            | '\u0cc7' .. '\u0ccb'
+            | '\u0cd5' .. '\u0cd6'
+            | '\u0d02' .. '\u0d03'
+            | '\u0d3e' .. '\u0d40'
+            | '\u0d46' .. '\u0d4c'
             | '\u0d57'
-            | '\u0d82' to '\u0d83'
-            | '\u0dcf' to '\u0dd1'
-            | '\u0dd8' to '\u0df3'
-            | '\u0f3e' to '\u0f3f'
+            | '\u0d82' .. '\u0d83'
+            | '\u0dcf' .. '\u0dd1'
+            | '\u0dd8' .. '\u0df3'
+            | '\u0f3e' .. '\u0f3f'
             | '\u0f7f'
-            | '\u102b' to '\u102c'
+            | '\u102b' .. '\u102c'
             | '\u1031'
             | '\u1038'
-            | '\u103b' to '\u103c'
-            | '\u1056' to '\u1057'
-            | '\u1062' to '\u1064'
-            | '\u1067' to '\u106d'
-            | '\u1083' to '\u1084'
-            | '\u1087' to '\u108c'
+            | '\u103b' .. '\u103c'
+            | '\u1056' .. '\u1057'
+            | '\u1062' .. '\u1064'
+            | '\u1067' .. '\u106d'
+            | '\u1083' .. '\u1084'
+            | '\u1087' .. '\u108c'
             | '\u108f'
-            | '\u109a' to '\u109c'
+            | '\u109a' .. '\u109c'
             | '\u17b6'
-            | '\u17be' to '\u17c5'
-            | '\u17c7' to '\u17c8'
-            | '\u1923' to '\u1926'
-            | '\u1929' to '\u1931'
-            | '\u1933' to '\u1938'
-            | '\u19b0' to '\u19c0'
-            | '\u19c8' to '\u19c9'
-            | '\u1a19' to '\u1a1b'
+            | '\u17be' .. '\u17c5'
+            | '\u17c7' .. '\u17c8'
+            | '\u1923' .. '\u1926'
+            | '\u1929' .. '\u1931'
+            | '\u1933' .. '\u1938'
+            | '\u19b0' .. '\u19c0'
+            | '\u19c8' .. '\u19c9'
+            | '\u1a19' .. '\u1a1b'
             | '\u1a55'
             | '\u1a57'
             | '\u1a61'
-            | '\u1a63' to '\u1a64'
-            | '\u1a6d' to '\u1a72'
+            | '\u1a63' .. '\u1a64'
+            | '\u1a6d' .. '\u1a72'
             | '\u1b04'
             | '\u1b35'
             | '\u1b3b'
-            | '\u1b3d' to '\u1b41'
-            | '\u1b43' to '\u1b44'
+            | '\u1b3d' .. '\u1b41'
+            | '\u1b43' .. '\u1b44'
             | '\u1b82'
             | '\u1ba1'
-            | '\u1ba6' to '\u1ba7'
+            | '\u1ba6' .. '\u1ba7'
             | '\u1baa'
             | '\u1be7'
-            | '\u1bea' to '\u1bec'
+            | '\u1bea' .. '\u1bec'
             | '\u1bee'
-            | '\u1bf2' to '\u1bf3'
-            | '\u1c24' to '\u1c2b'
-            | '\u1c34' to '\u1c35'
+            | '\u1bf2' .. '\u1bf3'
+            | '\u1c24' .. '\u1c2b'
+            | '\u1c34' .. '\u1c35'
             | '\u1ce1'
             | '\u1cf2'
-            | '\ua823' to '\ua824'
+            | '\ua823' .. '\ua824'
             | '\ua827'
-            | '\ua880' to '\ua881'
-            | '\ua8b4' to '\ua8c3'
-            | '\ua952' to '\ua953'
+            | '\ua880' .. '\ua881'
+            | '\ua8b4' .. '\ua8c3'
+            | '\ua952' .. '\ua953'
             | '\ua983'
-            | '\ua9b4' to '\ua9b5'
-            | '\ua9ba' to '\ua9bb'
-            | '\ua9bd' to '\ua9c0'
-            | '\uaa2f' to '\uaa30'
-            | '\uaa33' to '\uaa34'
+            | '\ua9b4' .. '\ua9b5'
+            | '\ua9ba' .. '\ua9bb'
+            | '\ua9bd' .. '\ua9c0'
+            | '\uaa2f' .. '\uaa30'
+            | '\uaa33' .. '\uaa34'
             | '\uaa4d'
             | '\uaa7b'
-            | '\uabe3' to '\uabe4'
-            | '\uabe6' to '\uabe7'
-            | '\uabe9' to '\uabea'
+            | '\uabe3' .. '\uabe4'
+            | '\uabe6' .. '\uabe7'
+            | '\uabe9' .. '\uabea'
             | '\uabec'
             | '\U00011000'
             | '\U00011002'
             | '\U00011082'
-            | '\U000110b0' to '\U000110b2'
-            | '\U000110b7' to '\U000110b8'
-            | '\U0001d165' to '\U0001d166'
-            | '\U0001d16d' to '\U0001d172'
+            | '\U000110b0' .. '\U000110b2'
+            | '\U000110b7' .. '\U000110b8'
+            | '\U0001d165' .. '\U0001d166'
+            | '\U0001d16d' .. '\U0001d172'
           => true,
           _ => false
         };
@@ -1613,10 +1613,10 @@ mod general_category {
 
     pure fn Me(c: char) -> bool {
         return match c {
-              '\u0488' to '\u0489'
-            | '\u20dd' to '\u20e0'
-            | '\u20e2' to '\u20e4'
-            | '\ua670' to '\ua672'
+              '\u0488' .. '\u0489'
+            | '\u20dd' .. '\u20e0'
+            | '\u20e2' .. '\u20e4'
+            | '\ua670' .. '\ua672'
           => true,
           _ => false
         };
@@ -1624,192 +1624,192 @@ mod general_category {
 
     pure fn Mn(c: char) -> bool {
         return match c {
-              '\u0300' to '\u036f'
-            | '\u0483' to '\u0487'
-            | '\u0591' to '\u05bd'
+              '\u0300' .. '\u036f'
+            | '\u0483' .. '\u0487'
+            | '\u0591' .. '\u05bd'
             | '\u05bf'
-            | '\u05c1' to '\u05c2'
-            | '\u05c4' to '\u05c5'
+            | '\u05c1' .. '\u05c2'
+            | '\u05c4' .. '\u05c5'
             | '\u05c7'
-            | '\u0610' to '\u061a'
-            | '\u064b' to '\u065f'
+            | '\u0610' .. '\u061a'
+            | '\u064b' .. '\u065f'
             | '\u0670'
-            | '\u06d6' to '\u06dc'
-            | '\u06df' to '\u06e4'
-            | '\u06e7' to '\u06e8'
-            | '\u06ea' to '\u06ed'
+            | '\u06d6' .. '\u06dc'
+            | '\u06df' .. '\u06e4'
+            | '\u06e7' .. '\u06e8'
+            | '\u06ea' .. '\u06ed'
             | '\u0711'
-            | '\u0730' to '\u074a'
-            | '\u07a6' to '\u07b0'
-            | '\u07eb' to '\u07f3'
-            | '\u0816' to '\u0819'
-            | '\u081b' to '\u0823'
-            | '\u0825' to '\u0827'
-            | '\u0829' to '\u082d'
-            | '\u0859' to '\u085b'
-            | '\u0900' to '\u0902'
+            | '\u0730' .. '\u074a'
+            | '\u07a6' .. '\u07b0'
+            | '\u07eb' .. '\u07f3'
+            | '\u0816' .. '\u0819'
+            | '\u081b' .. '\u0823'
+            | '\u0825' .. '\u0827'
+            | '\u0829' .. '\u082d'
+            | '\u0859' .. '\u085b'
+            | '\u0900' .. '\u0902'
             | '\u093a'
             | '\u093c'
-            | '\u0941' to '\u0948'
+            | '\u0941' .. '\u0948'
             | '\u094d'
-            | '\u0951' to '\u0957'
-            | '\u0962' to '\u0963'
+            | '\u0951' .. '\u0957'
+            | '\u0962' .. '\u0963'
             | '\u0981'
             | '\u09bc'
-            | '\u09c1' to '\u09c4'
+            | '\u09c1' .. '\u09c4'
             | '\u09cd'
-            | '\u09e2' to '\u09e3'
-            | '\u0a01' to '\u0a02'
+            | '\u09e2' .. '\u09e3'
+            | '\u0a01' .. '\u0a02'
             | '\u0a3c'
-            | '\u0a41' to '\u0a51'
-            | '\u0a70' to '\u0a71'
-            | '\u0a75' to '\u0a82'
+            | '\u0a41' .. '\u0a51'
+            | '\u0a70' .. '\u0a71'
+            | '\u0a75' .. '\u0a82'
             | '\u0abc'
-            | '\u0ac1' to '\u0ac8'
+            | '\u0ac1' .. '\u0ac8'
             | '\u0acd'
-            | '\u0ae2' to '\u0ae3'
+            | '\u0ae2' .. '\u0ae3'
             | '\u0b01'
             | '\u0b3c'
             | '\u0b3f'
-            | '\u0b41' to '\u0b44'
-            | '\u0b4d' to '\u0b56'
-            | '\u0b62' to '\u0b63'
+            | '\u0b41' .. '\u0b44'
+            | '\u0b4d' .. '\u0b56'
+            | '\u0b62' .. '\u0b63'
             | '\u0b82'
             | '\u0bc0'
             | '\u0bcd'
-            | '\u0c3e' to '\u0c40'
-            | '\u0c46' to '\u0c56'
-            | '\u0c62' to '\u0c63'
+            | '\u0c3e' .. '\u0c40'
+            | '\u0c46' .. '\u0c56'
+            | '\u0c62' .. '\u0c63'
             | '\u0cbc'
             | '\u0cbf'
             | '\u0cc6'
-            | '\u0ccc' to '\u0ccd'
-            | '\u0ce2' to '\u0ce3'
-            | '\u0d41' to '\u0d44'
+            | '\u0ccc' .. '\u0ccd'
+            | '\u0ce2' .. '\u0ce3'
+            | '\u0d41' .. '\u0d44'
             | '\u0d4d'
-            | '\u0d62' to '\u0d63'
+            | '\u0d62' .. '\u0d63'
             | '\u0dca'
-            | '\u0dd2' to '\u0dd6'
+            | '\u0dd2' .. '\u0dd6'
             | '\u0e31'
-            | '\u0e34' to '\u0e3a'
-            | '\u0e47' to '\u0e4e'
+            | '\u0e34' .. '\u0e3a'
+            | '\u0e47' .. '\u0e4e'
             | '\u0eb1'
-            | '\u0eb4' to '\u0ebc'
-            | '\u0ec8' to '\u0ecd'
-            | '\u0f18' to '\u0f19'
+            | '\u0eb4' .. '\u0ebc'
+            | '\u0ec8' .. '\u0ecd'
+            | '\u0f18' .. '\u0f19'
             | '\u0f35'
             | '\u0f37'
             | '\u0f39'
-            | '\u0f71' to '\u0f7e'
-            | '\u0f80' to '\u0f84'
-            | '\u0f86' to '\u0f87'
-            | '\u0f8d' to '\u0fbc'
+            | '\u0f71' .. '\u0f7e'
+            | '\u0f80' .. '\u0f84'
+            | '\u0f86' .. '\u0f87'
+            | '\u0f8d' .. '\u0fbc'
             | '\u0fc6'
-            | '\u102d' to '\u1030'
-            | '\u1032' to '\u1037'
-            | '\u1039' to '\u103a'
-            | '\u103d' to '\u103e'
-            | '\u1058' to '\u1059'
-            | '\u105e' to '\u1060'
-            | '\u1071' to '\u1074'
+            | '\u102d' .. '\u1030'
+            | '\u1032' .. '\u1037'
+            | '\u1039' .. '\u103a'
+            | '\u103d' .. '\u103e'
+            | '\u1058' .. '\u1059'
+            | '\u105e' .. '\u1060'
+            | '\u1071' .. '\u1074'
             | '\u1082'
-            | '\u1085' to '\u1086'
+            | '\u1085' .. '\u1086'
             | '\u108d'
             | '\u109d'
-            | '\u135d' to '\u135f'
-            | '\u1712' to '\u1714'
-            | '\u1732' to '\u1734'
-            | '\u1752' to '\u1753'
-            | '\u1772' to '\u1773'
-            | '\u17b7' to '\u17bd'
+            | '\u135d' .. '\u135f'
+            | '\u1712' .. '\u1714'
+            | '\u1732' .. '\u1734'
+            | '\u1752' .. '\u1753'
+            | '\u1772' .. '\u1773'
+            | '\u17b7' .. '\u17bd'
             | '\u17c6'
-            | '\u17c9' to '\u17d3'
+            | '\u17c9' .. '\u17d3'
             | '\u17dd'
-            | '\u180b' to '\u180d'
+            | '\u180b' .. '\u180d'
             | '\u18a9'
-            | '\u1920' to '\u1922'
-            | '\u1927' to '\u1928'
+            | '\u1920' .. '\u1922'
+            | '\u1927' .. '\u1928'
             | '\u1932'
-            | '\u1939' to '\u193b'
-            | '\u1a17' to '\u1a18'
+            | '\u1939' .. '\u193b'
+            | '\u1a17' .. '\u1a18'
             | '\u1a56'
-            | '\u1a58' to '\u1a60'
+            | '\u1a58' .. '\u1a60'
             | '\u1a62'
-            | '\u1a65' to '\u1a6c'
-            | '\u1a73' to '\u1a7f'
-            | '\u1b00' to '\u1b03'
+            | '\u1a65' .. '\u1a6c'
+            | '\u1a73' .. '\u1a7f'
+            | '\u1b00' .. '\u1b03'
             | '\u1b34'
-            | '\u1b36' to '\u1b3a'
+            | '\u1b36' .. '\u1b3a'
             | '\u1b3c'
             | '\u1b42'
-            | '\u1b6b' to '\u1b73'
-            | '\u1b80' to '\u1b81'
-            | '\u1ba2' to '\u1ba5'
-            | '\u1ba8' to '\u1ba9'
+            | '\u1b6b' .. '\u1b73'
+            | '\u1b80' .. '\u1b81'
+            | '\u1ba2' .. '\u1ba5'
+            | '\u1ba8' .. '\u1ba9'
             | '\u1be6'
-            | '\u1be8' to '\u1be9'
+            | '\u1be8' .. '\u1be9'
             | '\u1bed'
-            | '\u1bef' to '\u1bf1'
-            | '\u1c2c' to '\u1c33'
-            | '\u1c36' to '\u1c37'
-            | '\u1cd0' to '\u1cd2'
-            | '\u1cd4' to '\u1ce0'
-            | '\u1ce2' to '\u1ce8'
+            | '\u1bef' .. '\u1bf1'
+            | '\u1c2c' .. '\u1c33'
+            | '\u1c36' .. '\u1c37'
+            | '\u1cd0' .. '\u1cd2'
+            | '\u1cd4' .. '\u1ce0'
+            | '\u1ce2' .. '\u1ce8'
             | '\u1ced'
-            | '\u1dc0' to '\u1dff'
-            | '\u20d0' to '\u20dc'
+            | '\u1dc0' .. '\u1dff'
+            | '\u20d0' .. '\u20dc'
             | '\u20e1'
-            | '\u20e5' to '\u20f0'
-            | '\u2cef' to '\u2cf1'
+            | '\u20e5' .. '\u20f0'
+            | '\u2cef' .. '\u2cf1'
             | '\u2d7f'
-            | '\u2de0' to '\u2dff'
-            | '\u302a' to '\u302f'
-            | '\u3099' to '\u309a'
+            | '\u2de0' .. '\u2dff'
+            | '\u302a' .. '\u302f'
+            | '\u3099' .. '\u309a'
             | '\ua66f'
-            | '\ua67c' to '\ua67d'
-            | '\ua6f0' to '\ua6f1'
+            | '\ua67c' .. '\ua67d'
+            | '\ua6f0' .. '\ua6f1'
             | '\ua802'
             | '\ua806'
             | '\ua80b'
-            | '\ua825' to '\ua826'
+            | '\ua825' .. '\ua826'
             | '\ua8c4'
-            | '\ua8e0' to '\ua8f1'
-            | '\ua926' to '\ua92d'
-            | '\ua947' to '\ua951'
-            | '\ua980' to '\ua982'
+            | '\ua8e0' .. '\ua8f1'
+            | '\ua926' .. '\ua92d'
+            | '\ua947' .. '\ua951'
+            | '\ua980' .. '\ua982'
             | '\ua9b3'
-            | '\ua9b6' to '\ua9b9'
+            | '\ua9b6' .. '\ua9b9'
             | '\ua9bc'
-            | '\uaa29' to '\uaa2e'
-            | '\uaa31' to '\uaa32'
-            | '\uaa35' to '\uaa36'
+            | '\uaa29' .. '\uaa2e'
+            | '\uaa31' .. '\uaa32'
+            | '\uaa35' .. '\uaa36'
             | '\uaa43'
             | '\uaa4c'
             | '\uaab0'
-            | '\uaab2' to '\uaab4'
-            | '\uaab7' to '\uaab8'
-            | '\uaabe' to '\uaabf'
+            | '\uaab2' .. '\uaab4'
+            | '\uaab7' .. '\uaab8'
+            | '\uaabe' .. '\uaabf'
             | '\uaac1'
             | '\uabe5'
             | '\uabe8'
             | '\uabed'
             | '\ufb1e'
-            | '\ufe00' to '\ufe0f'
-            | '\ufe20' to '\ufe26'
+            | '\ufe00' .. '\ufe0f'
+            | '\ufe20' .. '\ufe26'
             | '\U000101fd'
-            | '\U00010a01' to '\U00010a0f'
-            | '\U00010a38' to '\U00010a3f'
+            | '\U00010a01' .. '\U00010a0f'
+            | '\U00010a38' .. '\U00010a3f'
             | '\U00011001'
-            | '\U00011038' to '\U00011046'
-            | '\U00011080' to '\U00011081'
-            | '\U000110b3' to '\U000110b6'
-            | '\U000110b9' to '\U000110ba'
-            | '\U0001d167' to '\U0001d169'
-            | '\U0001d17b' to '\U0001d182'
-            | '\U0001d185' to '\U0001d18b'
-            | '\U0001d1aa' to '\U0001d1ad'
-            | '\U0001d242' to '\U0001d244'
-            | '\U000e0100' to '\U000e01ef'
+            | '\U00011038' .. '\U00011046'
+            | '\U00011080' .. '\U00011081'
+            | '\U000110b3' .. '\U000110b6'
+            | '\U000110b9' .. '\U000110ba'
+            | '\U0001d167' .. '\U0001d169'
+            | '\U0001d17b' .. '\U0001d182'
+            | '\U0001d185' .. '\U0001d18b'
+            | '\U0001d1aa' .. '\U0001d1ad'
+            | '\U0001d242' .. '\U0001d244'
+            | '\U000e0100' .. '\U000e01ef'
           => true,
           _ => false
         };
@@ -1817,43 +1817,43 @@ mod general_category {
 
     pure fn Nd(c: char) -> bool {
         return match c {
-              '\x30' to '\x39'
-            | '\u0660' to '\u0669'
-            | '\u06f0' to '\u06f9'
-            | '\u07c0' to '\u07c9'
-            | '\u0966' to '\u096f'
-            | '\u09e6' to '\u09ef'
-            | '\u0a66' to '\u0a6f'
-            | '\u0ae6' to '\u0aef'
-            | '\u0b66' to '\u0b6f'
-            | '\u0be6' to '\u0bef'
-            | '\u0c66' to '\u0c6f'
-            | '\u0ce6' to '\u0cef'
-            | '\u0d66' to '\u0d6f'
-            | '\u0e50' to '\u0e59'
-            | '\u0ed0' to '\u0ed9'
-            | '\u0f20' to '\u0f29'
-            | '\u1040' to '\u1049'
-            | '\u1090' to '\u1099'
-            | '\u17e0' to '\u17e9'
-            | '\u1810' to '\u1819'
-            | '\u1946' to '\u194f'
-            | '\u19d0' to '\u19d9'
-            | '\u1a80' to '\u1a99'
-            | '\u1b50' to '\u1b59'
-            | '\u1bb0' to '\u1bb9'
-            | '\u1c40' to '\u1c49'
-            | '\u1c50' to '\u1c59'
-            | '\ua620' to '\ua629'
-            | '\ua8d0' to '\ua8d9'
-            | '\ua900' to '\ua909'
-            | '\ua9d0' to '\ua9d9'
-            | '\uaa50' to '\uaa59'
-            | '\uabf0' to '\uabf9'
-            | '\uff10' to '\uff19'
-            | '\U000104a0' to '\U000104a9'
-            | '\U00011066' to '\U0001106f'
-            | '\U0001d7ce' to '\U0001d7ff'
+              '\x30' .. '\x39'
+            | '\u0660' .. '\u0669'
+            | '\u06f0' .. '\u06f9'
+            | '\u07c0' .. '\u07c9'
+            | '\u0966' .. '\u096f'
+            | '\u09e6' .. '\u09ef'
+            | '\u0a66' .. '\u0a6f'
+            | '\u0ae6' .. '\u0aef'
+            | '\u0b66' .. '\u0b6f'
+            | '\u0be6' .. '\u0bef'
+            | '\u0c66' .. '\u0c6f'
+            | '\u0ce6' .. '\u0cef'
+            | '\u0d66' .. '\u0d6f'
+            | '\u0e50' .. '\u0e59'
+            | '\u0ed0' .. '\u0ed9'
+            | '\u0f20' .. '\u0f29'
+            | '\u1040' .. '\u1049'
+            | '\u1090' .. '\u1099'
+            | '\u17e0' .. '\u17e9'
+            | '\u1810' .. '\u1819'
+            | '\u1946' .. '\u194f'
+            | '\u19d0' .. '\u19d9'
+            | '\u1a80' .. '\u1a99'
+            | '\u1b50' .. '\u1b59'
+            | '\u1bb0' .. '\u1bb9'
+            | '\u1c40' .. '\u1c49'
+            | '\u1c50' .. '\u1c59'
+            | '\ua620' .. '\ua629'
+            | '\ua8d0' .. '\ua8d9'
+            | '\ua900' .. '\ua909'
+            | '\ua9d0' .. '\ua9d9'
+            | '\uaa50' .. '\uaa59'
+            | '\uabf0' .. '\uabf9'
+            | '\uff10' .. '\uff19'
+            | '\U000104a0' .. '\U000104a9'
+            | '\U00011066' .. '\U0001106f'
+            | '\U0001d7ce' .. '\U0001d7ff'
           => true,
           _ => false
         };
@@ -1861,18 +1861,18 @@ mod general_category {
 
     pure fn Nl(c: char) -> bool {
         return match c {
-              '\u16ee' to '\u16f0'
-            | '\u2160' to '\u2182'
-            | '\u2185' to '\u2188'
+              '\u16ee' .. '\u16f0'
+            | '\u2160' .. '\u2182'
+            | '\u2185' .. '\u2188'
             | '\u3007'
-            | '\u3021' to '\u3029'
-            | '\u3038' to '\u303a'
-            | '\ua6e6' to '\ua6ef'
-            | '\U00010140' to '\U00010174'
+            | '\u3021' .. '\u3029'
+            | '\u3038' .. '\u303a'
+            | '\ua6e6' .. '\ua6ef'
+            | '\U00010140' .. '\U00010174'
             | '\U00010341'
             | '\U0001034a'
-            | '\U000103d1' to '\U000103d5'
-            | '\U00012400' to '\U00012462'
+            | '\U000103d1' .. '\U000103d5'
+            | '\U00012400' .. '\U00012462'
           => true,
           _ => false
         };
@@ -1880,47 +1880,47 @@ mod general_category {
 
     pure fn No(c: char) -> bool {
         return match c {
-              '\xb2' to '\xb3'
+              '\xb2' .. '\xb3'
             | '\xb9'
-            | '\xbc' to '\xbe'
-            | '\u09f4' to '\u09f9'
-            | '\u0b72' to '\u0b77'
-            | '\u0bf0' to '\u0bf2'
-            | '\u0c78' to '\u0c7e'
-            | '\u0d70' to '\u0d75'
-            | '\u0f2a' to '\u0f33'
-            | '\u1369' to '\u137c'
-            | '\u17f0' to '\u17f9'
+            | '\xbc' .. '\xbe'
+            | '\u09f4' .. '\u09f9'
+            | '\u0b72' .. '\u0b77'
+            | '\u0bf0' .. '\u0bf2'
+            | '\u0c78' .. '\u0c7e'
+            | '\u0d70' .. '\u0d75'
+            | '\u0f2a' .. '\u0f33'
+            | '\u1369' .. '\u137c'
+            | '\u17f0' .. '\u17f9'
             | '\u19da'
             | '\u2070'
-            | '\u2074' to '\u2079'
-            | '\u2080' to '\u2089'
-            | '\u2150' to '\u215f'
+            | '\u2074' .. '\u2079'
+            | '\u2080' .. '\u2089'
+            | '\u2150' .. '\u215f'
             | '\u2189'
-            | '\u2460' to '\u249b'
-            | '\u24ea' to '\u24ff'
-            | '\u2776' to '\u2793'
+            | '\u2460' .. '\u249b'
+            | '\u24ea' .. '\u24ff'
+            | '\u2776' .. '\u2793'
             | '\u2cfd'
-            | '\u3192' to '\u3195'
-            | '\u3220' to '\u3229'
-            | '\u3251' to '\u325f'
-            | '\u3280' to '\u3289'
-            | '\u32b1' to '\u32bf'
-            | '\ua830' to '\ua835'
-            | '\U00010107' to '\U00010133'
-            | '\U00010175' to '\U00010178'
+            | '\u3192' .. '\u3195'
+            | '\u3220' .. '\u3229'
+            | '\u3251' .. '\u325f'
+            | '\u3280' .. '\u3289'
+            | '\u32b1' .. '\u32bf'
+            | '\ua830' .. '\ua835'
+            | '\U00010107' .. '\U00010133'
+            | '\U00010175' .. '\U00010178'
             | '\U0001018a'
-            | '\U00010320' to '\U00010323'
-            | '\U00010858' to '\U0001085f'
-            | '\U00010916' to '\U0001091b'
-            | '\U00010a40' to '\U00010a47'
-            | '\U00010a7d' to '\U00010a7e'
-            | '\U00010b58' to '\U00010b5f'
-            | '\U00010b78' to '\U00010b7f'
-            | '\U00010e60' to '\U00010e7e'
-            | '\U00011052' to '\U00011065'
-            | '\U0001d360' to '\U0001d371'
-            | '\U0001f100' to '\U0001f10a'
+            | '\U00010320' .. '\U00010323'
+            | '\U00010858' .. '\U0001085f'
+            | '\U00010916' .. '\U0001091b'
+            | '\U00010a40' .. '\U00010a47'
+            | '\U00010a7d' .. '\U00010a7e'
+            | '\U00010b58' .. '\U00010b5f'
+            | '\U00010b78' .. '\U00010b7f'
+            | '\U00010e60' .. '\U00010e7e'
+            | '\U00011052' .. '\U00011065'
+            | '\U0001d360' .. '\U0001d371'
+            | '\U0001f100' .. '\U0001f10a'
           => true,
           _ => false
         };
@@ -1929,10 +1929,10 @@ mod general_category {
     pure fn Pc(c: char) -> bool {
         return match c {
               '\x5f'
-            | '\u203f' to '\u2040'
+            | '\u203f' .. '\u2040'
             | '\u2054'
-            | '\ufe33' to '\ufe34'
-            | '\ufe4d' to '\ufe4f'
+            | '\ufe33' .. '\ufe34'
+            | '\ufe4d' .. '\ufe4f'
             | '\uff3f'
           => true,
           _ => false
@@ -1946,13 +1946,13 @@ mod general_category {
             | '\u05be'
             | '\u1400'
             | '\u1806'
-            | '\u2010' to '\u2015'
+            | '\u2010' .. '\u2015'
             | '\u2e17'
             | '\u2e1a'
             | '\u301c'
             | '\u3030'
             | '\u30a0'
-            | '\ufe31' to '\ufe32'
+            | '\ufe31' .. '\ufe32'
             | '\ufe58'
             | '\ufe63'
             | '\uff0d'
@@ -2013,7 +2013,7 @@ mod general_category {
             | '\u3017'
             | '\u3019'
             | '\u301b'
-            | '\u301e' to '\u301f'
+            | '\u301e' .. '\u301f'
             | '\ufd3f'
             | '\ufe18'
             | '\ufe36'
@@ -2059,7 +2059,7 @@ mod general_category {
         return match c {
               '\xab'
             | '\u2018'
-            | '\u201b' to '\u201c'
+            | '\u201b' .. '\u201c'
             | '\u201f'
             | '\u2039'
             | '\u2e02'
@@ -2075,132 +2075,132 @@ mod general_category {
 
     pure fn Po(c: char) -> bool {
         return match c {
-              '\x21' to '\x23'
-            | '\x25' to '\x27'
+              '\x21' .. '\x23'
+            | '\x25' .. '\x27'
             | '\x2a'
             | '\x2c'
-            | '\x2e' to '\x2f'
-            | '\x3a' to '\x3b'
-            | '\x3f' to '\x40'
+            | '\x2e' .. '\x2f'
+            | '\x3a' .. '\x3b'
+            | '\x3f' .. '\x40'
             | '\x5c'
             | '\xa1'
             | '\xb7'
             | '\xbf'
             | '\u037e'
             | '\u0387'
-            | '\u055a' to '\u055f'
+            | '\u055a' .. '\u055f'
             | '\u0589'
             | '\u05c0'
             | '\u05c3'
             | '\u05c6'
-            | '\u05f3' to '\u05f4'
-            | '\u0609' to '\u060a'
-            | '\u060c' to '\u060d'
-            | '\u061b' to '\u061f'
-            | '\u066a' to '\u066d'
+            | '\u05f3' .. '\u05f4'
+            | '\u0609' .. '\u060a'
+            | '\u060c' .. '\u060d'
+            | '\u061b' .. '\u061f'
+            | '\u066a' .. '\u066d'
             | '\u06d4'
-            | '\u0700' to '\u070d'
-            | '\u07f7' to '\u07f9'
-            | '\u0830' to '\u083e'
+            | '\u0700' .. '\u070d'
+            | '\u07f7' .. '\u07f9'
+            | '\u0830' .. '\u083e'
             | '\u085e'
-            | '\u0964' to '\u0965'
+            | '\u0964' .. '\u0965'
             | '\u0970'
             | '\u0df4'
             | '\u0e4f'
-            | '\u0e5a' to '\u0e5b'
-            | '\u0f04' to '\u0f12'
+            | '\u0e5a' .. '\u0e5b'
+            | '\u0f04' .. '\u0f12'
             | '\u0f85'
-            | '\u0fd0' to '\u0fd4'
-            | '\u0fd9' to '\u0fda'
-            | '\u104a' to '\u104f'
+            | '\u0fd0' .. '\u0fd4'
+            | '\u0fd9' .. '\u0fda'
+            | '\u104a' .. '\u104f'
             | '\u10fb'
-            | '\u1361' to '\u1368'
-            | '\u166d' to '\u166e'
-            | '\u16eb' to '\u16ed'
-            | '\u1735' to '\u1736'
-            | '\u17d4' to '\u17d6'
-            | '\u17d8' to '\u17da'
-            | '\u1800' to '\u1805'
-            | '\u1807' to '\u180a'
-            | '\u1944' to '\u1945'
-            | '\u1a1e' to '\u1a1f'
-            | '\u1aa0' to '\u1aa6'
-            | '\u1aa8' to '\u1aad'
-            | '\u1b5a' to '\u1b60'
-            | '\u1bfc' to '\u1bff'
-            | '\u1c3b' to '\u1c3f'
-            | '\u1c7e' to '\u1c7f'
+            | '\u1361' .. '\u1368'
+            | '\u166d' .. '\u166e'
+            | '\u16eb' .. '\u16ed'
+            | '\u1735' .. '\u1736'
+            | '\u17d4' .. '\u17d6'
+            | '\u17d8' .. '\u17da'
+            | '\u1800' .. '\u1805'
+            | '\u1807' .. '\u180a'
+            | '\u1944' .. '\u1945'
+            | '\u1a1e' .. '\u1a1f'
+            | '\u1aa0' .. '\u1aa6'
+            | '\u1aa8' .. '\u1aad'
+            | '\u1b5a' .. '\u1b60'
+            | '\u1bfc' .. '\u1bff'
+            | '\u1c3b' .. '\u1c3f'
+            | '\u1c7e' .. '\u1c7f'
             | '\u1cd3'
-            | '\u2016' to '\u2017'
-            | '\u2020' to '\u2027'
-            | '\u2030' to '\u2038'
-            | '\u203b' to '\u203e'
-            | '\u2041' to '\u2043'
-            | '\u2047' to '\u2051'
+            | '\u2016' .. '\u2017'
+            | '\u2020' .. '\u2027'
+            | '\u2030' .. '\u2038'
+            | '\u203b' .. '\u203e'
+            | '\u2041' .. '\u2043'
+            | '\u2047' .. '\u2051'
             | '\u2053'
-            | '\u2055' to '\u205e'
-            | '\u2cf9' to '\u2cfc'
-            | '\u2cfe' to '\u2cff'
+            | '\u2055' .. '\u205e'
+            | '\u2cf9' .. '\u2cfc'
+            | '\u2cfe' .. '\u2cff'
             | '\u2d70'
-            | '\u2e00' to '\u2e01'
-            | '\u2e06' to '\u2e08'
+            | '\u2e00' .. '\u2e01'
+            | '\u2e06' .. '\u2e08'
             | '\u2e0b'
-            | '\u2e0e' to '\u2e16'
-            | '\u2e18' to '\u2e19'
+            | '\u2e0e' .. '\u2e16'
+            | '\u2e18' .. '\u2e19'
             | '\u2e1b'
-            | '\u2e1e' to '\u2e1f'
-            | '\u2e2a' to '\u2e2e'
-            | '\u2e30' to '\u2e31'
-            | '\u3001' to '\u3003'
+            | '\u2e1e' .. '\u2e1f'
+            | '\u2e2a' .. '\u2e2e'
+            | '\u2e30' .. '\u2e31'
+            | '\u3001' .. '\u3003'
             | '\u303d'
             | '\u30fb'
-            | '\ua4fe' to '\ua4ff'
-            | '\ua60d' to '\ua60f'
+            | '\ua4fe' .. '\ua4ff'
+            | '\ua60d' .. '\ua60f'
             | '\ua673'
             | '\ua67e'
-            | '\ua6f2' to '\ua6f7'
-            | '\ua874' to '\ua877'
-            | '\ua8ce' to '\ua8cf'
-            | '\ua8f8' to '\ua8fa'
-            | '\ua92e' to '\ua92f'
+            | '\ua6f2' .. '\ua6f7'
+            | '\ua874' .. '\ua877'
+            | '\ua8ce' .. '\ua8cf'
+            | '\ua8f8' .. '\ua8fa'
+            | '\ua92e' .. '\ua92f'
             | '\ua95f'
-            | '\ua9c1' to '\ua9cd'
-            | '\ua9de' to '\ua9df'
-            | '\uaa5c' to '\uaa5f'
-            | '\uaade' to '\uaadf'
+            | '\ua9c1' .. '\ua9cd'
+            | '\ua9de' .. '\ua9df'
+            | '\uaa5c' .. '\uaa5f'
+            | '\uaade' .. '\uaadf'
             | '\uabeb'
-            | '\ufe10' to '\ufe16'
+            | '\ufe10' .. '\ufe16'
             | '\ufe19'
             | '\ufe30'
-            | '\ufe45' to '\ufe46'
-            | '\ufe49' to '\ufe4c'
-            | '\ufe50' to '\ufe57'
-            | '\ufe5f' to '\ufe61'
+            | '\ufe45' .. '\ufe46'
+            | '\ufe49' .. '\ufe4c'
+            | '\ufe50' .. '\ufe57'
+            | '\ufe5f' .. '\ufe61'
             | '\ufe68'
-            | '\ufe6a' to '\ufe6b'
-            | '\uff01' to '\uff03'
-            | '\uff05' to '\uff07'
+            | '\ufe6a' .. '\ufe6b'
+            | '\uff01' .. '\uff03'
+            | '\uff05' .. '\uff07'
             | '\uff0a'
             | '\uff0c'
-            | '\uff0e' to '\uff0f'
-            | '\uff1a' to '\uff1b'
-            | '\uff1f' to '\uff20'
+            | '\uff0e' .. '\uff0f'
+            | '\uff1a' .. '\uff1b'
+            | '\uff1f' .. '\uff20'
             | '\uff3c'
             | '\uff61'
-            | '\uff64' to '\uff65'
-            | '\U00010100' to '\U00010101'
+            | '\uff64' .. '\uff65'
+            | '\U00010100' .. '\U00010101'
             | '\U0001039f'
             | '\U000103d0'
             | '\U00010857'
             | '\U0001091f'
             | '\U0001093f'
-            | '\U00010a50' to '\U00010a58'
+            | '\U00010a50' .. '\U00010a58'
             | '\U00010a7f'
-            | '\U00010b39' to '\U00010b3f'
-            | '\U00011047' to '\U0001104d'
-            | '\U000110bb' to '\U000110bc'
-            | '\U000110be' to '\U000110c1'
-            | '\U00012470' to '\U00012473'
+            | '\U00010b39' .. '\U00010b3f'
+            | '\U00011047' .. '\U0001104d'
+            | '\U000110bb' .. '\U000110bc'
+            | '\U000110be' .. '\U000110c1'
+            | '\U00012470' .. '\U00012473'
           => true,
           _ => false
         };
@@ -2288,21 +2288,21 @@ mod general_category {
     pure fn Sc(c: char) -> bool {
         return match c {
               '\x24'
-            | '\xa2' to '\xa5'
+            | '\xa2' .. '\xa5'
             | '\u060b'
-            | '\u09f2' to '\u09f3'
+            | '\u09f2' .. '\u09f3'
             | '\u09fb'
             | '\u0af1'
             | '\u0bf9'
             | '\u0e3f'
             | '\u17db'
-            | '\u20a0' to '\u20b9'
+            | '\u20a0' .. '\u20b9'
             | '\ua838'
             | '\ufdfc'
             | '\ufe69'
             | '\uff04'
-            | '\uffe0' to '\uffe1'
-            | '\uffe5' to '\uffe6'
+            | '\uffe0' .. '\uffe1'
+            | '\uffe5' .. '\uffe6'
           => true,
           _ => false
         };
@@ -2316,24 +2316,24 @@ mod general_category {
             | '\xaf'
             | '\xb4'
             | '\xb8'
-            | '\u02c2' to '\u02c5'
-            | '\u02d2' to '\u02df'
-            | '\u02e5' to '\u02eb'
+            | '\u02c2' .. '\u02c5'
+            | '\u02d2' .. '\u02df'
+            | '\u02e5' .. '\u02eb'
             | '\u02ed'
-            | '\u02ef' to '\u02ff'
+            | '\u02ef' .. '\u02ff'
             | '\u0375'
-            | '\u0384' to '\u0385'
+            | '\u0384' .. '\u0385'
             | '\u1fbd'
-            | '\u1fbf' to '\u1fc1'
-            | '\u1fcd' to '\u1fcf'
-            | '\u1fdd' to '\u1fdf'
-            | '\u1fed' to '\u1fef'
-            | '\u1ffd' to '\u1ffe'
-            | '\u309b' to '\u309c'
-            | '\ua700' to '\ua716'
-            | '\ua720' to '\ua721'
-            | '\ua789' to '\ua78a'
-            | '\ufbb2' to '\ufbc1'
+            | '\u1fbf' .. '\u1fc1'
+            | '\u1fcd' .. '\u1fcf'
+            | '\u1fdd' .. '\u1fdf'
+            | '\u1fed' .. '\u1fef'
+            | '\u1ffd' .. '\u1ffe'
+            | '\u309b' .. '\u309c'
+            | '\ua700' .. '\ua716'
+            | '\ua720' .. '\ua721'
+            | '\ua789' .. '\ua78a'
+            | '\ufbb2' .. '\ufbc1'
             | '\uff3e'
             | '\uff40'
             | '\uffe3'
@@ -2345,7 +2345,7 @@ mod general_category {
     pure fn Sm(c: char) -> bool {
         return match c {
               '\x2b'
-            | '\x3c' to '\x3e'
+            | '\x3c' .. '\x3e'
             | '\x7c'
             | '\x7e'
             | '\xac'
@@ -2353,51 +2353,51 @@ mod general_category {
             | '\xd7'
             | '\xf7'
             | '\u03f6'
-            | '\u0606' to '\u0608'
+            | '\u0606' .. '\u0608'
             | '\u2044'
             | '\u2052'
-            | '\u207a' to '\u207c'
-            | '\u208a' to '\u208c'
+            | '\u207a' .. '\u207c'
+            | '\u208a' .. '\u208c'
             | '\u2118'
-            | '\u2140' to '\u2144'
+            | '\u2140' .. '\u2144'
             | '\u214b'
-            | '\u2190' to '\u2194'
-            | '\u219a' to '\u219b'
+            | '\u2190' .. '\u2194'
+            | '\u219a' .. '\u219b'
             | '\u21a0'
             | '\u21a3'
             | '\u21a6'
             | '\u21ae'
-            | '\u21ce' to '\u21cf'
+            | '\u21ce' .. '\u21cf'
             | '\u21d2'
             | '\u21d4'
-            | '\u21f4' to '\u22ff'
-            | '\u2308' to '\u230b'
-            | '\u2320' to '\u2321'
+            | '\u21f4' .. '\u22ff'
+            | '\u2308' .. '\u230b'
+            | '\u2320' .. '\u2321'
             | '\u237c'
-            | '\u239b' to '\u23b3'
-            | '\u23dc' to '\u23e1'
+            | '\u239b' .. '\u23b3'
+            | '\u23dc' .. '\u23e1'
             | '\u25b7'
             | '\u25c1'
-            | '\u25f8' to '\u25ff'
+            | '\u25f8' .. '\u25ff'
             | '\u266f'
-            | '\u27c0' to '\u27c4'
-            | '\u27c7' to '\u27e5'
-            | '\u27f0' to '\u27ff'
-            | '\u2900' to '\u2982'
-            | '\u2999' to '\u29d7'
-            | '\u29dc' to '\u29fb'
-            | '\u29fe' to '\u2aff'
-            | '\u2b30' to '\u2b44'
-            | '\u2b47' to '\u2b4c'
+            | '\u27c0' .. '\u27c4'
+            | '\u27c7' .. '\u27e5'
+            | '\u27f0' .. '\u27ff'
+            | '\u2900' .. '\u2982'
+            | '\u2999' .. '\u29d7'
+            | '\u29dc' .. '\u29fb'
+            | '\u29fe' .. '\u2aff'
+            | '\u2b30' .. '\u2b44'
+            | '\u2b47' .. '\u2b4c'
             | '\ufb29'
             | '\ufe62'
-            | '\ufe64' to '\ufe66'
+            | '\ufe64' .. '\ufe66'
             | '\uff0b'
-            | '\uff1c' to '\uff1e'
+            | '\uff1c' .. '\uff1e'
             | '\uff5c'
             | '\uff5e'
             | '\uffe2'
-            | '\uffe9' to '\uffec'
+            | '\uffe9' .. '\uffec'
             | '\U0001d6c1'
             | '\U0001d6db'
             | '\U0001d6fb'
@@ -2415,118 +2415,118 @@ mod general_category {
 
     pure fn So(c: char) -> bool {
         return match c {
-              '\xa6' to '\xa7'
+              '\xa6' .. '\xa7'
             | '\xa9'
             | '\xae'
             | '\xb0'
             | '\xb6'
             | '\u0482'
-            | '\u060e' to '\u060f'
+            | '\u060e' .. '\u060f'
             | '\u06de'
             | '\u06e9'
-            | '\u06fd' to '\u06fe'
+            | '\u06fd' .. '\u06fe'
             | '\u07f6'
             | '\u09fa'
             | '\u0b70'
-            | '\u0bf3' to '\u0bf8'
+            | '\u0bf3' .. '\u0bf8'
             | '\u0bfa'
             | '\u0c7f'
             | '\u0d79'
-            | '\u0f01' to '\u0f03'
-            | '\u0f13' to '\u0f17'
-            | '\u0f1a' to '\u0f1f'
+            | '\u0f01' .. '\u0f03'
+            | '\u0f13' .. '\u0f17'
+            | '\u0f1a' .. '\u0f1f'
             | '\u0f34'
             | '\u0f36'
             | '\u0f38'
-            | '\u0fbe' to '\u0fc5'
-            | '\u0fc7' to '\u0fcf'
-            | '\u0fd5' to '\u0fd8'
-            | '\u109e' to '\u109f'
+            | '\u0fbe' .. '\u0fc5'
+            | '\u0fc7' .. '\u0fcf'
+            | '\u0fd5' .. '\u0fd8'
+            | '\u109e' .. '\u109f'
             | '\u1360'
-            | '\u1390' to '\u1399'
+            | '\u1390' .. '\u1399'
             | '\u1940'
-            | '\u19de' to '\u19ff'
-            | '\u1b61' to '\u1b6a'
-            | '\u1b74' to '\u1b7c'
-            | '\u2100' to '\u2101'
-            | '\u2103' to '\u2106'
-            | '\u2108' to '\u2109'
+            | '\u19de' .. '\u19ff'
+            | '\u1b61' .. '\u1b6a'
+            | '\u1b74' .. '\u1b7c'
+            | '\u2100' .. '\u2101'
+            | '\u2103' .. '\u2106'
+            | '\u2108' .. '\u2109'
             | '\u2114'
-            | '\u2116' to '\u2117'
-            | '\u211e' to '\u2123'
+            | '\u2116' .. '\u2117'
+            | '\u211e' .. '\u2123'
             | '\u2125'
             | '\u2127'
             | '\u2129'
             | '\u212e'
-            | '\u213a' to '\u213b'
+            | '\u213a' .. '\u213b'
             | '\u214a'
-            | '\u214c' to '\u214d'
+            | '\u214c' .. '\u214d'
             | '\u214f'
-            | '\u2195' to '\u2199'
-            | '\u219c' to '\u219f'
-            | '\u21a1' to '\u21a2'
-            | '\u21a4' to '\u21a5'
-            | '\u21a7' to '\u21ad'
-            | '\u21af' to '\u21cd'
-            | '\u21d0' to '\u21d1'
+            | '\u2195' .. '\u2199'
+            | '\u219c' .. '\u219f'
+            | '\u21a1' .. '\u21a2'
+            | '\u21a4' .. '\u21a5'
+            | '\u21a7' .. '\u21ad'
+            | '\u21af' .. '\u21cd'
+            | '\u21d0' .. '\u21d1'
             | '\u21d3'
-            | '\u21d5' to '\u21f3'
-            | '\u2300' to '\u2307'
-            | '\u230c' to '\u231f'
-            | '\u2322' to '\u2328'
-            | '\u232b' to '\u237b'
-            | '\u237d' to '\u239a'
-            | '\u23b4' to '\u23db'
-            | '\u23e2' to '\u244a'
-            | '\u249c' to '\u24e9'
-            | '\u2500' to '\u25b6'
-            | '\u25b8' to '\u25c0'
-            | '\u25c2' to '\u25f7'
-            | '\u2600' to '\u266e'
-            | '\u2670' to '\u2767'
-            | '\u2794' to '\u27bf'
-            | '\u2800' to '\u28ff'
-            | '\u2b00' to '\u2b2f'
-            | '\u2b45' to '\u2b46'
-            | '\u2b50' to '\u2b59'
-            | '\u2ce5' to '\u2cea'
-            | '\u2e80' to '\u2ffb'
+            | '\u21d5' .. '\u21f3'
+            | '\u2300' .. '\u2307'
+            | '\u230c' .. '\u231f'
+            | '\u2322' .. '\u2328'
+            | '\u232b' .. '\u237b'
+            | '\u237d' .. '\u239a'
+            | '\u23b4' .. '\u23db'
+            | '\u23e2' .. '\u244a'
+            | '\u249c' .. '\u24e9'
+            | '\u2500' .. '\u25b6'
+            | '\u25b8' .. '\u25c0'
+            | '\u25c2' .. '\u25f7'
+            | '\u2600' .. '\u266e'
+            | '\u2670' .. '\u2767'
+            | '\u2794' .. '\u27bf'
+            | '\u2800' .. '\u28ff'
+            | '\u2b00' .. '\u2b2f'
+            | '\u2b45' .. '\u2b46'
+            | '\u2b50' .. '\u2b59'
+            | '\u2ce5' .. '\u2cea'
+            | '\u2e80' .. '\u2ffb'
             | '\u3004'
-            | '\u3012' to '\u3013'
+            | '\u3012' .. '\u3013'
             | '\u3020'
-            | '\u3036' to '\u3037'
-            | '\u303e' to '\u303f'
-            | '\u3190' to '\u3191'
-            | '\u3196' to '\u319f'
-            | '\u31c0' to '\u31e3'
-            | '\u3200' to '\u321e'
-            | '\u322a' to '\u3250'
-            | '\u3260' to '\u327f'
-            | '\u328a' to '\u32b0'
-            | '\u32c0' to '\u33ff'
-            | '\u4dc0' to '\u4dff'
-            | '\ua490' to '\ua4c6'
-            | '\ua828' to '\ua82b'
-            | '\ua836' to '\ua837'
+            | '\u3036' .. '\u3037'
+            | '\u303e' .. '\u303f'
+            | '\u3190' .. '\u3191'
+            | '\u3196' .. '\u319f'
+            | '\u31c0' .. '\u31e3'
+            | '\u3200' .. '\u321e'
+            | '\u322a' .. '\u3250'
+            | '\u3260' .. '\u327f'
+            | '\u328a' .. '\u32b0'
+            | '\u32c0' .. '\u33ff'
+            | '\u4dc0' .. '\u4dff'
+            | '\ua490' .. '\ua4c6'
+            | '\ua828' .. '\ua82b'
+            | '\ua836' .. '\ua837'
             | '\ua839'
-            | '\uaa77' to '\uaa79'
+            | '\uaa77' .. '\uaa79'
             | '\ufdfd'
             | '\uffe4'
             | '\uffe8'
-            | '\uffed' to '\uffee'
-            | '\ufffc' to '\ufffd'
+            | '\uffed' .. '\uffee'
+            | '\ufffc' .. '\ufffd'
             | '\U00010102'
-            | '\U00010137' to '\U0001013f'
-            | '\U00010179' to '\U00010189'
-            | '\U00010190' to '\U000101fc'
-            | '\U0001d000' to '\U0001d164'
-            | '\U0001d16a' to '\U0001d16c'
-            | '\U0001d183' to '\U0001d184'
-            | '\U0001d18c' to '\U0001d1a9'
-            | '\U0001d1ae' to '\U0001d241'
-            | '\U0001d245' to '\U0001d356'
-            | '\U0001f000' to '\U0001f0df'
-            | '\U0001f110' to '\U0001f773'
+            | '\U00010137' .. '\U0001013f'
+            | '\U00010179' .. '\U00010189'
+            | '\U00010190' .. '\U000101fc'
+            | '\U0001d000' .. '\U0001d164'
+            | '\U0001d16a' .. '\U0001d16c'
+            | '\U0001d183' .. '\U0001d184'
+            | '\U0001d18c' .. '\U0001d1a9'
+            | '\U0001d1ae' .. '\U0001d241'
+            | '\U0001d245' .. '\U0001d356'
+            | '\U0001f000' .. '\U0001f0df'
+            | '\U0001f110' .. '\U0001f773'
           => true,
           _ => false
         };
@@ -2552,7 +2552,7 @@ mod general_category {
             | '\xa0'
             | '\u1680'
             | '\u180e'
-            | '\u2000' to '\u200a'
+            | '\u2000' .. '\u200a'
             | '\u202f'
             | '\u205f'
             | '\u3000'
@@ -2566,737 +2566,737 @@ mod derived_property {
     /// Check if a character has the alphabetic unicode property
     pure fn Alphabetic(c: char) -> bool {
         return match c {
-              '\x41' to '\x5a'
-            | '\x61' to '\x7a'
+              '\x41' .. '\x5a'
+            | '\x61' .. '\x7a'
             | '\xaa'
             | '\xb5'
             | '\xba'
-            | '\xc0' to '\xd6'
-            | '\xd8' to '\xf6'
-            | '\xf8' to '\u01ba'
+            | '\xc0' .. '\xd6'
+            | '\xd8' .. '\xf6'
+            | '\xf8' .. '\u01ba'
             | '\u01bb'
-            | '\u01bc' to '\u01bf'
-            | '\u01c0' to '\u01c3'
-            | '\u01c4' to '\u0293'
+            | '\u01bc' .. '\u01bf'
+            | '\u01c0' .. '\u01c3'
+            | '\u01c4' .. '\u0293'
             | '\u0294'
-            | '\u0295' to '\u02af'
-            | '\u02b0' to '\u02c1'
-            | '\u02c6' to '\u02d1'
-            | '\u02e0' to '\u02e4'
+            | '\u0295' .. '\u02af'
+            | '\u02b0' .. '\u02c1'
+            | '\u02c6' .. '\u02d1'
+            | '\u02e0' .. '\u02e4'
             | '\u02ec'
             | '\u02ee'
             | '\u0345'
-            | '\u0370' to '\u0373'
+            | '\u0370' .. '\u0373'
             | '\u0374'
-            | '\u0376' to '\u0377'
+            | '\u0376' .. '\u0377'
             | '\u037a'
-            | '\u037b' to '\u037d'
+            | '\u037b' .. '\u037d'
             | '\u0386'
-            | '\u0388' to '\u038a'
+            | '\u0388' .. '\u038a'
             | '\u038c'
-            | '\u038e' to '\u03a1'
-            | '\u03a3' to '\u03f5'
-            | '\u03f7' to '\u0481'
-            | '\u048a' to '\u0527'
-            | '\u0531' to '\u0556'
+            | '\u038e' .. '\u03a1'
+            | '\u03a3' .. '\u03f5'
+            | '\u03f7' .. '\u0481'
+            | '\u048a' .. '\u0527'
+            | '\u0531' .. '\u0556'
             | '\u0559'
-            | '\u0561' to '\u0587'
-            | '\u05b0' to '\u05bd'
+            | '\u0561' .. '\u0587'
+            | '\u05b0' .. '\u05bd'
             | '\u05bf'
-            | '\u05c1' to '\u05c2'
-            | '\u05c4' to '\u05c5'
+            | '\u05c1' .. '\u05c2'
+            | '\u05c4' .. '\u05c5'
             | '\u05c7'
-            | '\u05d0' to '\u05ea'
-            | '\u05f0' to '\u05f2'
-            | '\u0610' to '\u061a'
-            | '\u0620' to '\u063f'
+            | '\u05d0' .. '\u05ea'
+            | '\u05f0' .. '\u05f2'
+            | '\u0610' .. '\u061a'
+            | '\u0620' .. '\u063f'
             | '\u0640'
-            | '\u0641' to '\u064a'
-            | '\u064b' to '\u0657'
-            | '\u0659' to '\u065f'
-            | '\u066e' to '\u066f'
+            | '\u0641' .. '\u064a'
+            | '\u064b' .. '\u0657'
+            | '\u0659' .. '\u065f'
+            | '\u066e' .. '\u066f'
             | '\u0670'
-            | '\u0671' to '\u06d3'
+            | '\u0671' .. '\u06d3'
             | '\u06d5'
-            | '\u06d6' to '\u06dc'
-            | '\u06e1' to '\u06e4'
-            | '\u06e5' to '\u06e6'
-            | '\u06e7' to '\u06e8'
+            | '\u06d6' .. '\u06dc'
+            | '\u06e1' .. '\u06e4'
+            | '\u06e5' .. '\u06e6'
+            | '\u06e7' .. '\u06e8'
             | '\u06ed'
-            | '\u06ee' to '\u06ef'
-            | '\u06fa' to '\u06fc'
+            | '\u06ee' .. '\u06ef'
+            | '\u06fa' .. '\u06fc'
             | '\u06ff'
             | '\u0710'
             | '\u0711'
-            | '\u0712' to '\u072f'
-            | '\u0730' to '\u073f'
-            | '\u074d' to '\u07a5'
-            | '\u07a6' to '\u07b0'
+            | '\u0712' .. '\u072f'
+            | '\u0730' .. '\u073f'
+            | '\u074d' .. '\u07a5'
+            | '\u07a6' .. '\u07b0'
             | '\u07b1'
-            | '\u07ca' to '\u07ea'
-            | '\u07f4' to '\u07f5'
+            | '\u07ca' .. '\u07ea'
+            | '\u07f4' .. '\u07f5'
             | '\u07fa'
-            | '\u0800' to '\u0815'
-            | '\u0816' to '\u0817'
+            | '\u0800' .. '\u0815'
+            | '\u0816' .. '\u0817'
             | '\u081a'
-            | '\u081b' to '\u0823'
+            | '\u081b' .. '\u0823'
             | '\u0824'
-            | '\u0825' to '\u0827'
+            | '\u0825' .. '\u0827'
             | '\u0828'
-            | '\u0829' to '\u082c'
-            | '\u0840' to '\u0858'
-            | '\u0900' to '\u0902'
+            | '\u0829' .. '\u082c'
+            | '\u0840' .. '\u0858'
+            | '\u0900' .. '\u0902'
             | '\u0903'
-            | '\u0904' to '\u0939'
+            | '\u0904' .. '\u0939'
             | '\u093a'
             | '\u093b'
             | '\u093d'
-            | '\u093e' to '\u0940'
-            | '\u0941' to '\u0948'
-            | '\u0949' to '\u094c'
-            | '\u094e' to '\u094f'
+            | '\u093e' .. '\u0940'
+            | '\u0941' .. '\u0948'
+            | '\u0949' .. '\u094c'
+            | '\u094e' .. '\u094f'
             | '\u0950'
-            | '\u0955' to '\u0957'
-            | '\u0958' to '\u0961'
-            | '\u0962' to '\u0963'
+            | '\u0955' .. '\u0957'
+            | '\u0958' .. '\u0961'
+            | '\u0962' .. '\u0963'
             | '\u0971'
-            | '\u0972' to '\u0977'
-            | '\u0979' to '\u097f'
+            | '\u0972' .. '\u0977'
+            | '\u0979' .. '\u097f'
             | '\u0981'
-            | '\u0982' to '\u0983'
-            | '\u0985' to '\u098c'
-            | '\u098f' to '\u0990'
-            | '\u0993' to '\u09a8'
-            | '\u09aa' to '\u09b0'
+            | '\u0982' .. '\u0983'
+            | '\u0985' .. '\u098c'
+            | '\u098f' .. '\u0990'
+            | '\u0993' .. '\u09a8'
+            | '\u09aa' .. '\u09b0'
             | '\u09b2'
-            | '\u09b6' to '\u09b9'
+            | '\u09b6' .. '\u09b9'
             | '\u09bd'
-            | '\u09be' to '\u09c0'
-            | '\u09c1' to '\u09c4'
-            | '\u09c7' to '\u09c8'
-            | '\u09cb' to '\u09cc'
+            | '\u09be' .. '\u09c0'
+            | '\u09c1' .. '\u09c4'
+            | '\u09c7' .. '\u09c8'
+            | '\u09cb' .. '\u09cc'
             | '\u09ce'
             | '\u09d7'
-            | '\u09dc' to '\u09dd'
-            | '\u09df' to '\u09e1'
-            | '\u09e2' to '\u09e3'
-            | '\u09f0' to '\u09f1'
-            | '\u0a01' to '\u0a02'
+            | '\u09dc' .. '\u09dd'
+            | '\u09df' .. '\u09e1'
+            | '\u09e2' .. '\u09e3'
+            | '\u09f0' .. '\u09f1'
+            | '\u0a01' .. '\u0a02'
             | '\u0a03'
-            | '\u0a05' to '\u0a0a'
-            | '\u0a0f' to '\u0a10'
-            | '\u0a13' to '\u0a28'
-            | '\u0a2a' to '\u0a30'
-            | '\u0a32' to '\u0a33'
-            | '\u0a35' to '\u0a36'
-            | '\u0a38' to '\u0a39'
-            | '\u0a3e' to '\u0a40'
-            | '\u0a41' to '\u0a42'
-            | '\u0a47' to '\u0a48'
-            | '\u0a4b' to '\u0a4c'
+            | '\u0a05' .. '\u0a0a'
+            | '\u0a0f' .. '\u0a10'
+            | '\u0a13' .. '\u0a28'
+            | '\u0a2a' .. '\u0a30'
+            | '\u0a32' .. '\u0a33'
+            | '\u0a35' .. '\u0a36'
+            | '\u0a38' .. '\u0a39'
+            | '\u0a3e' .. '\u0a40'
+            | '\u0a41' .. '\u0a42'
+            | '\u0a47' .. '\u0a48'
+            | '\u0a4b' .. '\u0a4c'
             | '\u0a51'
-            | '\u0a59' to '\u0a5c'
+            | '\u0a59' .. '\u0a5c'
             | '\u0a5e'
-            | '\u0a70' to '\u0a71'
-            | '\u0a72' to '\u0a74'
+            | '\u0a70' .. '\u0a71'
+            | '\u0a72' .. '\u0a74'
             | '\u0a75'
-            | '\u0a81' to '\u0a82'
+            | '\u0a81' .. '\u0a82'
             | '\u0a83'
-            | '\u0a85' to '\u0a8d'
-            | '\u0a8f' to '\u0a91'
-            | '\u0a93' to '\u0aa8'
-            | '\u0aaa' to '\u0ab0'
-            | '\u0ab2' to '\u0ab3'
-            | '\u0ab5' to '\u0ab9'
+            | '\u0a85' .. '\u0a8d'
+            | '\u0a8f' .. '\u0a91'
+            | '\u0a93' .. '\u0aa8'
+            | '\u0aaa' .. '\u0ab0'
+            | '\u0ab2' .. '\u0ab3'
+            | '\u0ab5' .. '\u0ab9'
             | '\u0abd'
-            | '\u0abe' to '\u0ac0'
-            | '\u0ac1' to '\u0ac5'
-            | '\u0ac7' to '\u0ac8'
+            | '\u0abe' .. '\u0ac0'
+            | '\u0ac1' .. '\u0ac5'
+            | '\u0ac7' .. '\u0ac8'
             | '\u0ac9'
-            | '\u0acb' to '\u0acc'
+            | '\u0acb' .. '\u0acc'
             | '\u0ad0'
-            | '\u0ae0' to '\u0ae1'
-            | '\u0ae2' to '\u0ae3'
+            | '\u0ae0' .. '\u0ae1'
+            | '\u0ae2' .. '\u0ae3'
             | '\u0b01'
-            | '\u0b02' to '\u0b03'
-            | '\u0b05' to '\u0b0c'
-            | '\u0b0f' to '\u0b10'
-            | '\u0b13' to '\u0b28'
-            | '\u0b2a' to '\u0b30'
-            | '\u0b32' to '\u0b33'
-            | '\u0b35' to '\u0b39'
+            | '\u0b02' .. '\u0b03'
+            | '\u0b05' .. '\u0b0c'
+            | '\u0b0f' .. '\u0b10'
+            | '\u0b13' .. '\u0b28'
+            | '\u0b2a' .. '\u0b30'
+            | '\u0b32' .. '\u0b33'
+            | '\u0b35' .. '\u0b39'
             | '\u0b3d'
             | '\u0b3e'
             | '\u0b3f'
             | '\u0b40'
-            | '\u0b41' to '\u0b44'
-            | '\u0b47' to '\u0b48'
-            | '\u0b4b' to '\u0b4c'
+            | '\u0b41' .. '\u0b44'
+            | '\u0b47' .. '\u0b48'
+            | '\u0b4b' .. '\u0b4c'
             | '\u0b56'
             | '\u0b57'
-            | '\u0b5c' to '\u0b5d'
-            | '\u0b5f' to '\u0b61'
-            | '\u0b62' to '\u0b63'
+            | '\u0b5c' .. '\u0b5d'
+            | '\u0b5f' .. '\u0b61'
+            | '\u0b62' .. '\u0b63'
             | '\u0b71'
             | '\u0b82'
             | '\u0b83'
-            | '\u0b85' to '\u0b8a'
-            | '\u0b8e' to '\u0b90'
-            | '\u0b92' to '\u0b95'
-            | '\u0b99' to '\u0b9a'
+            | '\u0b85' .. '\u0b8a'
+            | '\u0b8e' .. '\u0b90'
+            | '\u0b92' .. '\u0b95'
+            | '\u0b99' .. '\u0b9a'
             | '\u0b9c'
-            | '\u0b9e' to '\u0b9f'
-            | '\u0ba3' to '\u0ba4'
-            | '\u0ba8' to '\u0baa'
-            | '\u0bae' to '\u0bb9'
-            | '\u0bbe' to '\u0bbf'
+            | '\u0b9e' .. '\u0b9f'
+            | '\u0ba3' .. '\u0ba4'
+            | '\u0ba8' .. '\u0baa'
+            | '\u0bae' .. '\u0bb9'
+            | '\u0bbe' .. '\u0bbf'
             | '\u0bc0'
-            | '\u0bc1' to '\u0bc2'
-            | '\u0bc6' to '\u0bc8'
-            | '\u0bca' to '\u0bcc'
+            | '\u0bc1' .. '\u0bc2'
+            | '\u0bc6' .. '\u0bc8'
+            | '\u0bca' .. '\u0bcc'
             | '\u0bd0'
             | '\u0bd7'
-            | '\u0c01' to '\u0c03'
-            | '\u0c05' to '\u0c0c'
-            | '\u0c0e' to '\u0c10'
-            | '\u0c12' to '\u0c28'
-            | '\u0c2a' to '\u0c33'
-            | '\u0c35' to '\u0c39'
+            | '\u0c01' .. '\u0c03'
+            | '\u0c05' .. '\u0c0c'
+            | '\u0c0e' .. '\u0c10'
+            | '\u0c12' .. '\u0c28'
+            | '\u0c2a' .. '\u0c33'
+            | '\u0c35' .. '\u0c39'
             | '\u0c3d'
-            | '\u0c3e' to '\u0c40'
-            | '\u0c41' to '\u0c44'
-            | '\u0c46' to '\u0c48'
-            | '\u0c4a' to '\u0c4c'
-            | '\u0c55' to '\u0c56'
-            | '\u0c58' to '\u0c59'
-            | '\u0c60' to '\u0c61'
-            | '\u0c62' to '\u0c63'
-            | '\u0c82' to '\u0c83'
-            | '\u0c85' to '\u0c8c'
-            | '\u0c8e' to '\u0c90'
-            | '\u0c92' to '\u0ca8'
-            | '\u0caa' to '\u0cb3'
-            | '\u0cb5' to '\u0cb9'
+            | '\u0c3e' .. '\u0c40'
+            | '\u0c41' .. '\u0c44'
+            | '\u0c46' .. '\u0c48'
+            | '\u0c4a' .. '\u0c4c'
+            | '\u0c55' .. '\u0c56'
+            | '\u0c58' .. '\u0c59'
+            | '\u0c60' .. '\u0c61'
+            | '\u0c62' .. '\u0c63'
+            | '\u0c82' .. '\u0c83'
+            | '\u0c85' .. '\u0c8c'
+            | '\u0c8e' .. '\u0c90'
+            | '\u0c92' .. '\u0ca8'
+            | '\u0caa' .. '\u0cb3'
+            | '\u0cb5' .. '\u0cb9'
             | '\u0cbd'
             | '\u0cbe'
             | '\u0cbf'
-            | '\u0cc0' to '\u0cc4'
+            | '\u0cc0' .. '\u0cc4'
             | '\u0cc6'
-            | '\u0cc7' to '\u0cc8'
-            | '\u0cca' to '\u0ccb'
+            | '\u0cc7' .. '\u0cc8'
+            | '\u0cca' .. '\u0ccb'
             | '\u0ccc'
-            | '\u0cd5' to '\u0cd6'
+            | '\u0cd5' .. '\u0cd6'
             | '\u0cde'
-            | '\u0ce0' to '\u0ce1'
-            | '\u0ce2' to '\u0ce3'
-            | '\u0cf1' to '\u0cf2'
-            | '\u0d02' to '\u0d03'
-            | '\u0d05' to '\u0d0c'
-            | '\u0d0e' to '\u0d10'
-            | '\u0d12' to '\u0d3a'
+            | '\u0ce0' .. '\u0ce1'
+            | '\u0ce2' .. '\u0ce3'
+            | '\u0cf1' .. '\u0cf2'
+            | '\u0d02' .. '\u0d03'
+            | '\u0d05' .. '\u0d0c'
+            | '\u0d0e' .. '\u0d10'
+            | '\u0d12' .. '\u0d3a'
             | '\u0d3d'
-            | '\u0d3e' to '\u0d40'
-            | '\u0d41' to '\u0d44'
-            | '\u0d46' to '\u0d48'
-            | '\u0d4a' to '\u0d4c'
+            | '\u0d3e' .. '\u0d40'
+            | '\u0d41' .. '\u0d44'
+            | '\u0d46' .. '\u0d48'
+            | '\u0d4a' .. '\u0d4c'
             | '\u0d4e'
             | '\u0d57'
-            | '\u0d60' to '\u0d61'
-            | '\u0d62' to '\u0d63'
-            | '\u0d7a' to '\u0d7f'
-            | '\u0d82' to '\u0d83'
-            | '\u0d85' to '\u0d96'
-            | '\u0d9a' to '\u0db1'
-            | '\u0db3' to '\u0dbb'
+            | '\u0d60' .. '\u0d61'
+            | '\u0d62' .. '\u0d63'
+            | '\u0d7a' .. '\u0d7f'
+            | '\u0d82' .. '\u0d83'
+            | '\u0d85' .. '\u0d96'
+            | '\u0d9a' .. '\u0db1'
+            | '\u0db3' .. '\u0dbb'
             | '\u0dbd'
-            | '\u0dc0' to '\u0dc6'
-            | '\u0dcf' to '\u0dd1'
-            | '\u0dd2' to '\u0dd4'
+            | '\u0dc0' .. '\u0dc6'
+            | '\u0dcf' .. '\u0dd1'
+            | '\u0dd2' .. '\u0dd4'
             | '\u0dd6'
-            | '\u0dd8' to '\u0ddf'
-            | '\u0df2' to '\u0df3'
-            | '\u0e01' to '\u0e30'
+            | '\u0dd8' .. '\u0ddf'
+            | '\u0df2' .. '\u0df3'
+            | '\u0e01' .. '\u0e30'
             | '\u0e31'
-            | '\u0e32' to '\u0e33'
-            | '\u0e34' to '\u0e3a'
-            | '\u0e40' to '\u0e45'
+            | '\u0e32' .. '\u0e33'
+            | '\u0e34' .. '\u0e3a'
+            | '\u0e40' .. '\u0e45'
             | '\u0e46'
             | '\u0e4d'
-            | '\u0e81' to '\u0e82'
+            | '\u0e81' .. '\u0e82'
             | '\u0e84'
-            | '\u0e87' to '\u0e88'
+            | '\u0e87' .. '\u0e88'
             | '\u0e8a'
             | '\u0e8d'
-            | '\u0e94' to '\u0e97'
-            | '\u0e99' to '\u0e9f'
-            | '\u0ea1' to '\u0ea3'
+            | '\u0e94' .. '\u0e97'
+            | '\u0e99' .. '\u0e9f'
+            | '\u0ea1' .. '\u0ea3'
             | '\u0ea5'
             | '\u0ea7'
-            | '\u0eaa' to '\u0eab'
-            | '\u0ead' to '\u0eb0'
+            | '\u0eaa' .. '\u0eab'
+            | '\u0ead' .. '\u0eb0'
             | '\u0eb1'
-            | '\u0eb2' to '\u0eb3'
-            | '\u0eb4' to '\u0eb9'
-            | '\u0ebb' to '\u0ebc'
+            | '\u0eb2' .. '\u0eb3'
+            | '\u0eb4' .. '\u0eb9'
+            | '\u0ebb' .. '\u0ebc'
             | '\u0ebd'
-            | '\u0ec0' to '\u0ec4'
+            | '\u0ec0' .. '\u0ec4'
             | '\u0ec6'
             | '\u0ecd'
-            | '\u0edc' to '\u0edd'
+            | '\u0edc' .. '\u0edd'
             | '\u0f00'
-            | '\u0f40' to '\u0f47'
-            | '\u0f49' to '\u0f6c'
-            | '\u0f71' to '\u0f7e'
+            | '\u0f40' .. '\u0f47'
+            | '\u0f49' .. '\u0f6c'
+            | '\u0f71' .. '\u0f7e'
             | '\u0f7f'
-            | '\u0f80' to '\u0f81'
-            | '\u0f88' to '\u0f8c'
-            | '\u0f8d' to '\u0f97'
-            | '\u0f99' to '\u0fbc'
-            | '\u1000' to '\u102a'
-            | '\u102b' to '\u102c'
-            | '\u102d' to '\u1030'
+            | '\u0f80' .. '\u0f81'
+            | '\u0f88' .. '\u0f8c'
+            | '\u0f8d' .. '\u0f97'
+            | '\u0f99' .. '\u0fbc'
+            | '\u1000' .. '\u102a'
+            | '\u102b' .. '\u102c'
+            | '\u102d' .. '\u1030'
             | '\u1031'
-            | '\u1032' to '\u1036'
+            | '\u1032' .. '\u1036'
             | '\u1038'
-            | '\u103b' to '\u103c'
-            | '\u103d' to '\u103e'
+            | '\u103b' .. '\u103c'
+            | '\u103d' .. '\u103e'
             | '\u103f'
-            | '\u1050' to '\u1055'
-            | '\u1056' to '\u1057'
-            | '\u1058' to '\u1059'
-            | '\u105a' to '\u105d'
-            | '\u105e' to '\u1060'
+            | '\u1050' .. '\u1055'
+            | '\u1056' .. '\u1057'
+            | '\u1058' .. '\u1059'
+            | '\u105a' .. '\u105d'
+            | '\u105e' .. '\u1060'
             | '\u1061'
             | '\u1062'
-            | '\u1065' to '\u1066'
-            | '\u1067' to '\u1068'
-            | '\u106e' to '\u1070'
-            | '\u1071' to '\u1074'
-            | '\u1075' to '\u1081'
+            | '\u1065' .. '\u1066'
+            | '\u1067' .. '\u1068'
+            | '\u106e' .. '\u1070'
+            | '\u1071' .. '\u1074'
+            | '\u1075' .. '\u1081'
             | '\u1082'
-            | '\u1083' to '\u1084'
-            | '\u1085' to '\u1086'
+            | '\u1083' .. '\u1084'
+            | '\u1085' .. '\u1086'
             | '\u108e'
             | '\u109c'
             | '\u109d'
-            | '\u10a0' to '\u10c5'
-            | '\u10d0' to '\u10fa'
+            | '\u10a0' .. '\u10c5'
+            | '\u10d0' .. '\u10fa'
             | '\u10fc'
-            | '\u1100' to '\u1248'
-            | '\u124a' to '\u124d'
-            | '\u1250' to '\u1256'
+            | '\u1100' .. '\u1248'
+            | '\u124a' .. '\u124d'
+            | '\u1250' .. '\u1256'
             | '\u1258'
-            | '\u125a' to '\u125d'
-            | '\u1260' to '\u1288'
-            | '\u128a' to '\u128d'
-            | '\u1290' to '\u12b0'
-            | '\u12b2' to '\u12b5'
-            | '\u12b8' to '\u12be'
+            | '\u125a' .. '\u125d'
+            | '\u1260' .. '\u1288'
+            | '\u128a' .. '\u128d'
+            | '\u1290' .. '\u12b0'
+            | '\u12b2' .. '\u12b5'
+            | '\u12b8' .. '\u12be'
             | '\u12c0'
-            | '\u12c2' to '\u12c5'
-            | '\u12c8' to '\u12d6'
-            | '\u12d8' to '\u1310'
-            | '\u1312' to '\u1315'
-            | '\u1318' to '\u135a'
+            | '\u12c2' .. '\u12c5'
+            | '\u12c8' .. '\u12d6'
+            | '\u12d8' .. '\u1310'
+            | '\u1312' .. '\u1315'
+            | '\u1318' .. '\u135a'
             | '\u135f'
-            | '\u1380' to '\u138f'
-            | '\u13a0' to '\u13f4'
-            | '\u1401' to '\u166c'
-            | '\u166f' to '\u167f'
-            | '\u1681' to '\u169a'
-            | '\u16a0' to '\u16ea'
-            | '\u16ee' to '\u16f0'
-            | '\u1700' to '\u170c'
-            | '\u170e' to '\u1711'
-            | '\u1712' to '\u1713'
-            | '\u1720' to '\u1731'
-            | '\u1732' to '\u1733'
-            | '\u1740' to '\u1751'
-            | '\u1752' to '\u1753'
-            | '\u1760' to '\u176c'
-            | '\u176e' to '\u1770'
-            | '\u1772' to '\u1773'
-            | '\u1780' to '\u17b3'
+            | '\u1380' .. '\u138f'
+            | '\u13a0' .. '\u13f4'
+            | '\u1401' .. '\u166c'
+            | '\u166f' .. '\u167f'
+            | '\u1681' .. '\u169a'
+            | '\u16a0' .. '\u16ea'
+            | '\u16ee' .. '\u16f0'
+            | '\u1700' .. '\u170c'
+            | '\u170e' .. '\u1711'
+            | '\u1712' .. '\u1713'
+            | '\u1720' .. '\u1731'
+            | '\u1732' .. '\u1733'
+            | '\u1740' .. '\u1751'
+            | '\u1752' .. '\u1753'
+            | '\u1760' .. '\u176c'
+            | '\u176e' .. '\u1770'
+            | '\u1772' .. '\u1773'
+            | '\u1780' .. '\u17b3'
             | '\u17b6'
-            | '\u17b7' to '\u17bd'
-            | '\u17be' to '\u17c5'
+            | '\u17b7' .. '\u17bd'
+            | '\u17be' .. '\u17c5'
             | '\u17c6'
-            | '\u17c7' to '\u17c8'
+            | '\u17c7' .. '\u17c8'
             | '\u17d7'
             | '\u17dc'
-            | '\u1820' to '\u1842'
+            | '\u1820' .. '\u1842'
             | '\u1843'
-            | '\u1844' to '\u1877'
-            | '\u1880' to '\u18a8'
+            | '\u1844' .. '\u1877'
+            | '\u1880' .. '\u18a8'
             | '\u18a9'
             | '\u18aa'
-            | '\u18b0' to '\u18f5'
-            | '\u1900' to '\u191c'
-            | '\u1920' to '\u1922'
-            | '\u1923' to '\u1926'
-            | '\u1927' to '\u1928'
-            | '\u1929' to '\u192b'
-            | '\u1930' to '\u1931'
+            | '\u18b0' .. '\u18f5'
+            | '\u1900' .. '\u191c'
+            | '\u1920' .. '\u1922'
+            | '\u1923' .. '\u1926'
+            | '\u1927' .. '\u1928'
+            | '\u1929' .. '\u192b'
+            | '\u1930' .. '\u1931'
             | '\u1932'
-            | '\u1933' to '\u1938'
-            | '\u1950' to '\u196d'
-            | '\u1970' to '\u1974'
-            | '\u1980' to '\u19ab'
-            | '\u19b0' to '\u19c0'
-            | '\u19c1' to '\u19c7'
-            | '\u19c8' to '\u19c9'
-            | '\u1a00' to '\u1a16'
-            | '\u1a17' to '\u1a18'
-            | '\u1a19' to '\u1a1b'
-            | '\u1a20' to '\u1a54'
+            | '\u1933' .. '\u1938'
+            | '\u1950' .. '\u196d'
+            | '\u1970' .. '\u1974'
+            | '\u1980' .. '\u19ab'
+            | '\u19b0' .. '\u19c0'
+            | '\u19c1' .. '\u19c7'
+            | '\u19c8' .. '\u19c9'
+            | '\u1a00' .. '\u1a16'
+            | '\u1a17' .. '\u1a18'
+            | '\u1a19' .. '\u1a1b'
+            | '\u1a20' .. '\u1a54'
             | '\u1a55'
             | '\u1a56'
             | '\u1a57'
-            | '\u1a58' to '\u1a5e'
+            | '\u1a58' .. '\u1a5e'
             | '\u1a61'
             | '\u1a62'
-            | '\u1a63' to '\u1a64'
-            | '\u1a65' to '\u1a6c'
-            | '\u1a6d' to '\u1a72'
-            | '\u1a73' to '\u1a74'
+            | '\u1a63' .. '\u1a64'
+            | '\u1a65' .. '\u1a6c'
+            | '\u1a6d' .. '\u1a72'
+            | '\u1a73' .. '\u1a74'
             | '\u1aa7'
-            | '\u1b00' to '\u1b03'
+            | '\u1b00' .. '\u1b03'
             | '\u1b04'
-            | '\u1b05' to '\u1b33'
+            | '\u1b05' .. '\u1b33'
             | '\u1b35'
-            | '\u1b36' to '\u1b3a'
+            | '\u1b36' .. '\u1b3a'
             | '\u1b3b'
             | '\u1b3c'
-            | '\u1b3d' to '\u1b41'
+            | '\u1b3d' .. '\u1b41'
             | '\u1b42'
             | '\u1b43'
-            | '\u1b45' to '\u1b4b'
-            | '\u1b80' to '\u1b81'
+            | '\u1b45' .. '\u1b4b'
+            | '\u1b80' .. '\u1b81'
             | '\u1b82'
-            | '\u1b83' to '\u1ba0'
+            | '\u1b83' .. '\u1ba0'
             | '\u1ba1'
-            | '\u1ba2' to '\u1ba5'
-            | '\u1ba6' to '\u1ba7'
-            | '\u1ba8' to '\u1ba9'
-            | '\u1bae' to '\u1baf'
-            | '\u1bc0' to '\u1be5'
+            | '\u1ba2' .. '\u1ba5'
+            | '\u1ba6' .. '\u1ba7'
+            | '\u1ba8' .. '\u1ba9'
+            | '\u1bae' .. '\u1baf'
+            | '\u1bc0' .. '\u1be5'
             | '\u1be7'
-            | '\u1be8' to '\u1be9'
-            | '\u1bea' to '\u1bec'
+            | '\u1be8' .. '\u1be9'
+            | '\u1bea' .. '\u1bec'
             | '\u1bed'
             | '\u1bee'
-            | '\u1bef' to '\u1bf1'
-            | '\u1c00' to '\u1c23'
-            | '\u1c24' to '\u1c2b'
-            | '\u1c2c' to '\u1c33'
-            | '\u1c34' to '\u1c35'
-            | '\u1c4d' to '\u1c4f'
-            | '\u1c5a' to '\u1c77'
-            | '\u1c78' to '\u1c7d'
-            | '\u1ce9' to '\u1cec'
-            | '\u1cee' to '\u1cf1'
+            | '\u1bef' .. '\u1bf1'
+            | '\u1c00' .. '\u1c23'
+            | '\u1c24' .. '\u1c2b'
+            | '\u1c2c' .. '\u1c33'
+            | '\u1c34' .. '\u1c35'
+            | '\u1c4d' .. '\u1c4f'
+            | '\u1c5a' .. '\u1c77'
+            | '\u1c78' .. '\u1c7d'
+            | '\u1ce9' .. '\u1cec'
+            | '\u1cee' .. '\u1cf1'
             | '\u1cf2'
-            | '\u1d00' to '\u1d2b'
-            | '\u1d2c' to '\u1d61'
-            | '\u1d62' to '\u1d77'
+            | '\u1d00' .. '\u1d2b'
+            | '\u1d2c' .. '\u1d61'
+            | '\u1d62' .. '\u1d77'
             | '\u1d78'
-            | '\u1d79' to '\u1d9a'
-            | '\u1d9b' to '\u1dbf'
-            | '\u1e00' to '\u1f15'
-            | '\u1f18' to '\u1f1d'
-            | '\u1f20' to '\u1f45'
-            | '\u1f48' to '\u1f4d'
-            | '\u1f50' to '\u1f57'
+            | '\u1d79' .. '\u1d9a'
+            | '\u1d9b' .. '\u1dbf'
+            | '\u1e00' .. '\u1f15'
+            | '\u1f18' .. '\u1f1d'
+            | '\u1f20' .. '\u1f45'
+            | '\u1f48' .. '\u1f4d'
+            | '\u1f50' .. '\u1f57'
             | '\u1f59'
             | '\u1f5b'
             | '\u1f5d'
-            | '\u1f5f' to '\u1f7d'
-            | '\u1f80' to '\u1fb4'
-            | '\u1fb6' to '\u1fbc'
+            | '\u1f5f' .. '\u1f7d'
+            | '\u1f80' .. '\u1fb4'
+            | '\u1fb6' .. '\u1fbc'
             | '\u1fbe'
-            | '\u1fc2' to '\u1fc4'
-            | '\u1fc6' to '\u1fcc'
-            | '\u1fd0' to '\u1fd3'
-            | '\u1fd6' to '\u1fdb'
-            | '\u1fe0' to '\u1fec'
-            | '\u1ff2' to '\u1ff4'
-            | '\u1ff6' to '\u1ffc'
+            | '\u1fc2' .. '\u1fc4'
+            | '\u1fc6' .. '\u1fcc'
+            | '\u1fd0' .. '\u1fd3'
+            | '\u1fd6' .. '\u1fdb'
+            | '\u1fe0' .. '\u1fec'
+            | '\u1ff2' .. '\u1ff4'
+            | '\u1ff6' .. '\u1ffc'
             | '\u2071'
             | '\u207f'
-            | '\u2090' to '\u209c'
+            | '\u2090' .. '\u209c'
             | '\u2102'
             | '\u2107'
-            | '\u210a' to '\u2113'
+            | '\u210a' .. '\u2113'
             | '\u2115'
-            | '\u2119' to '\u211d'
+            | '\u2119' .. '\u211d'
             | '\u2124'
             | '\u2126'
             | '\u2128'
-            | '\u212a' to '\u212d'
-            | '\u212f' to '\u2134'
-            | '\u2135' to '\u2138'
+            | '\u212a' .. '\u212d'
+            | '\u212f' .. '\u2134'
+            | '\u2135' .. '\u2138'
             | '\u2139'
-            | '\u213c' to '\u213f'
-            | '\u2145' to '\u2149'
+            | '\u213c' .. '\u213f'
+            | '\u2145' .. '\u2149'
             | '\u214e'
-            | '\u2160' to '\u2182'
-            | '\u2183' to '\u2184'
-            | '\u2185' to '\u2188'
-            | '\u24b6' to '\u24e9'
-            | '\u2c00' to '\u2c2e'
-            | '\u2c30' to '\u2c5e'
-            | '\u2c60' to '\u2c7c'
+            | '\u2160' .. '\u2182'
+            | '\u2183' .. '\u2184'
+            | '\u2185' .. '\u2188'
+            | '\u24b6' .. '\u24e9'
+            | '\u2c00' .. '\u2c2e'
+            | '\u2c30' .. '\u2c5e'
+            | '\u2c60' .. '\u2c7c'
             | '\u2c7d'
-            | '\u2c7e' to '\u2ce4'
-            | '\u2ceb' to '\u2cee'
-            | '\u2d00' to '\u2d25'
-            | '\u2d30' to '\u2d65'
+            | '\u2c7e' .. '\u2ce4'
+            | '\u2ceb' .. '\u2cee'
+            | '\u2d00' .. '\u2d25'
+            | '\u2d30' .. '\u2d65'
             | '\u2d6f'
-            | '\u2d80' to '\u2d96'
-            | '\u2da0' to '\u2da6'
-            | '\u2da8' to '\u2dae'
-            | '\u2db0' to '\u2db6'
-            | '\u2db8' to '\u2dbe'
-            | '\u2dc0' to '\u2dc6'
-            | '\u2dc8' to '\u2dce'
-            | '\u2dd0' to '\u2dd6'
-            | '\u2dd8' to '\u2dde'
-            | '\u2de0' to '\u2dff'
+            | '\u2d80' .. '\u2d96'
+            | '\u2da0' .. '\u2da6'
+            | '\u2da8' .. '\u2dae'
+            | '\u2db0' .. '\u2db6'
+            | '\u2db8' .. '\u2dbe'
+            | '\u2dc0' .. '\u2dc6'
+            | '\u2dc8' .. '\u2dce'
+            | '\u2dd0' .. '\u2dd6'
+            | '\u2dd8' .. '\u2dde'
+            | '\u2de0' .. '\u2dff'
             | '\u2e2f'
             | '\u3005'
             | '\u3006'
             | '\u3007'
-            | '\u3021' to '\u3029'
-            | '\u3031' to '\u3035'
-            | '\u3038' to '\u303a'
+            | '\u3021' .. '\u3029'
+            | '\u3031' .. '\u3035'
+            | '\u3038' .. '\u303a'
             | '\u303b'
             | '\u303c'
-            | '\u3041' to '\u3096'
-            | '\u309d' to '\u309e'
+            | '\u3041' .. '\u3096'
+            | '\u309d' .. '\u309e'
             | '\u309f'
-            | '\u30a1' to '\u30fa'
-            | '\u30fc' to '\u30fe'
+            | '\u30a1' .. '\u30fa'
+            | '\u30fc' .. '\u30fe'
             | '\u30ff'
-            | '\u3105' to '\u312d'
-            | '\u3131' to '\u318e'
-            | '\u31a0' to '\u31ba'
-            | '\u31f0' to '\u31ff'
-            | '\u3400' to '\u4db5'
-            | '\u4e00' to '\u9fcb'
-            | '\ua000' to '\ua014'
+            | '\u3105' .. '\u312d'
+            | '\u3131' .. '\u318e'
+            | '\u31a0' .. '\u31ba'
+            | '\u31f0' .. '\u31ff'
+            | '\u3400' .. '\u4db5'
+            | '\u4e00' .. '\u9fcb'
+            | '\ua000' .. '\ua014'
             | '\ua015'
-            | '\ua016' to '\ua48c'
-            | '\ua4d0' to '\ua4f7'
-            | '\ua4f8' to '\ua4fd'
-            | '\ua500' to '\ua60b'
+            | '\ua016' .. '\ua48c'
+            | '\ua4d0' .. '\ua4f7'
+            | '\ua4f8' .. '\ua4fd'
+            | '\ua500' .. '\ua60b'
             | '\ua60c'
-            | '\ua610' to '\ua61f'
-            | '\ua62a' to '\ua62b'
-            | '\ua640' to '\ua66d'
+            | '\ua610' .. '\ua61f'
+            | '\ua62a' .. '\ua62b'
+            | '\ua640' .. '\ua66d'
             | '\ua66e'
             | '\ua67f'
-            | '\ua680' to '\ua697'
-            | '\ua6a0' to '\ua6e5'
-            | '\ua6e6' to '\ua6ef'
-            | '\ua717' to '\ua71f'
-            | '\ua722' to '\ua76f'
+            | '\ua680' .. '\ua697'
+            | '\ua6a0' .. '\ua6e5'
+            | '\ua6e6' .. '\ua6ef'
+            | '\ua717' .. '\ua71f'
+            | '\ua722' .. '\ua76f'
             | '\ua770'
-            | '\ua771' to '\ua787'
+            | '\ua771' .. '\ua787'
             | '\ua788'
-            | '\ua78b' to '\ua78e'
-            | '\ua790' to '\ua791'
-            | '\ua7a0' to '\ua7a9'
+            | '\ua78b' .. '\ua78e'
+            | '\ua790' .. '\ua791'
+            | '\ua7a0' .. '\ua7a9'
             | '\ua7fa'
-            | '\ua7fb' to '\ua801'
-            | '\ua803' to '\ua805'
-            | '\ua807' to '\ua80a'
-            | '\ua80c' to '\ua822'
-            | '\ua823' to '\ua824'
-            | '\ua825' to '\ua826'
+            | '\ua7fb' .. '\ua801'
+            | '\ua803' .. '\ua805'
+            | '\ua807' .. '\ua80a'
+            | '\ua80c' .. '\ua822'
+            | '\ua823' .. '\ua824'
+            | '\ua825' .. '\ua826'
             | '\ua827'
-            | '\ua840' to '\ua873'
-            | '\ua880' to '\ua881'
-            | '\ua882' to '\ua8b3'
-            | '\ua8b4' to '\ua8c3'
-            | '\ua8f2' to '\ua8f7'
+            | '\ua840' .. '\ua873'
+            | '\ua880' .. '\ua881'
+            | '\ua882' .. '\ua8b3'
+            | '\ua8b4' .. '\ua8c3'
+            | '\ua8f2' .. '\ua8f7'
             | '\ua8fb'
-            | '\ua90a' to '\ua925'
-            | '\ua926' to '\ua92a'
-            | '\ua930' to '\ua946'
-            | '\ua947' to '\ua951'
+            | '\ua90a' .. '\ua925'
+            | '\ua926' .. '\ua92a'
+            | '\ua930' .. '\ua946'
+            | '\ua947' .. '\ua951'
             | '\ua952'
-            | '\ua960' to '\ua97c'
-            | '\ua980' to '\ua982'
+            | '\ua960' .. '\ua97c'
+            | '\ua980' .. '\ua982'
             | '\ua983'
-            | '\ua984' to '\ua9b2'
-            | '\ua9b4' to '\ua9b5'
-            | '\ua9b6' to '\ua9b9'
-            | '\ua9ba' to '\ua9bb'
+            | '\ua984' .. '\ua9b2'
+            | '\ua9b4' .. '\ua9b5'
+            | '\ua9b6' .. '\ua9b9'
+            | '\ua9ba' .. '\ua9bb'
             | '\ua9bc'
-            | '\ua9bd' to '\ua9bf'
+            | '\ua9bd' .. '\ua9bf'
             | '\ua9cf'
-            | '\uaa00' to '\uaa28'
-            | '\uaa29' to '\uaa2e'
-            | '\uaa2f' to '\uaa30'
-            | '\uaa31' to '\uaa32'
-            | '\uaa33' to '\uaa34'
-            | '\uaa35' to '\uaa36'
-            | '\uaa40' to '\uaa42'
+            | '\uaa00' .. '\uaa28'
+            | '\uaa29' .. '\uaa2e'
+            | '\uaa2f' .. '\uaa30'
+            | '\uaa31' .. '\uaa32'
+            | '\uaa33' .. '\uaa34'
+            | '\uaa35' .. '\uaa36'
+            | '\uaa40' .. '\uaa42'
             | '\uaa43'
-            | '\uaa44' to '\uaa4b'
+            | '\uaa44' .. '\uaa4b'
             | '\uaa4c'
             | '\uaa4d'
-            | '\uaa60' to '\uaa6f'
+            | '\uaa60' .. '\uaa6f'
             | '\uaa70'
-            | '\uaa71' to '\uaa76'
+            | '\uaa71' .. '\uaa76'
             | '\uaa7a'
-            | '\uaa80' to '\uaaaf'
+            | '\uaa80' .. '\uaaaf'
             | '\uaab0'
             | '\uaab1'
-            | '\uaab2' to '\uaab4'
-            | '\uaab5' to '\uaab6'
-            | '\uaab7' to '\uaab8'
-            | '\uaab9' to '\uaabd'
+            | '\uaab2' .. '\uaab4'
+            | '\uaab5' .. '\uaab6'
+            | '\uaab7' .. '\uaab8'
+            | '\uaab9' .. '\uaabd'
             | '\uaabe'
             | '\uaac0'
             | '\uaac2'
-            | '\uaadb' to '\uaadc'
+            | '\uaadb' .. '\uaadc'
             | '\uaadd'
-            | '\uab01' to '\uab06'
-            | '\uab09' to '\uab0e'
-            | '\uab11' to '\uab16'
-            | '\uab20' to '\uab26'
-            | '\uab28' to '\uab2e'
-            | '\uabc0' to '\uabe2'
-            | '\uabe3' to '\uabe4'
+            | '\uab01' .. '\uab06'
+            | '\uab09' .. '\uab0e'
+            | '\uab11' .. '\uab16'
+            | '\uab20' .. '\uab26'
+            | '\uab28' .. '\uab2e'
+            | '\uabc0' .. '\uabe2'
+            | '\uabe3' .. '\uabe4'
             | '\uabe5'
-            | '\uabe6' to '\uabe7'
+            | '\uabe6' .. '\uabe7'
             | '\uabe8'
-            | '\uabe9' to '\uabea'
-            | '\uac00' to '\ud7a3'
-            | '\ud7b0' to '\ud7c6'
-            | '\ud7cb' to '\ud7fb'
-            | '\uf900' to '\ufa2d'
-            | '\ufa30' to '\ufa6d'
-            | '\ufa70' to '\ufad9'
-            | '\ufb00' to '\ufb06'
-            | '\ufb13' to '\ufb17'
+            | '\uabe9' .. '\uabea'
+            | '\uac00' .. '\ud7a3'
+            | '\ud7b0' .. '\ud7c6'
+            | '\ud7cb' .. '\ud7fb'
+            | '\uf900' .. '\ufa2d'
+            | '\ufa30' .. '\ufa6d'
+            | '\ufa70' .. '\ufad9'
+            | '\ufb00' .. '\ufb06'
+            | '\ufb13' .. '\ufb17'
             | '\ufb1d'
             | '\ufb1e'
-            | '\ufb1f' to '\ufb28'
-            | '\ufb2a' to '\ufb36'
-            | '\ufb38' to '\ufb3c'
+            | '\ufb1f' .. '\ufb28'
+            | '\ufb2a' .. '\ufb36'
+            | '\ufb38' .. '\ufb3c'
             | '\ufb3e'
-            | '\ufb40' to '\ufb41'
-            | '\ufb43' to '\ufb44'
-            | '\ufb46' to '\ufbb1'
-            | '\ufbd3' to '\ufd3d'
-            | '\ufd50' to '\ufd8f'
-            | '\ufd92' to '\ufdc7'
-            | '\ufdf0' to '\ufdfb'
-            | '\ufe70' to '\ufe74'
-            | '\ufe76' to '\ufefc'
-            | '\uff21' to '\uff3a'
-            | '\uff41' to '\uff5a'
-            | '\uff66' to '\uff6f'
+            | '\ufb40' .. '\ufb41'
+            | '\ufb43' .. '\ufb44'
+            | '\ufb46' .. '\ufbb1'
+            | '\ufbd3' .. '\ufd3d'
+            | '\ufd50' .. '\ufd8f'
+            | '\ufd92' .. '\ufdc7'
+            | '\ufdf0' .. '\ufdfb'
+            | '\ufe70' .. '\ufe74'
+            | '\ufe76' .. '\ufefc'
+            | '\uff21' .. '\uff3a'
+            | '\uff41' .. '\uff5a'
+            | '\uff66' .. '\uff6f'
             | '\uff70'
-            | '\uff71' to '\uff9d'
-            | '\uff9e' to '\uff9f'
-            | '\uffa0' to '\uffbe'
-            | '\uffc2' to '\uffc7'
-            | '\uffca' to '\uffcf'
-            | '\uffd2' to '\uffd7'
-            | '\uffda' to '\uffdc'
-            | '\U00010000' to '\U0001000b'
-            | '\U0001000d' to '\U00010026'
-            | '\U00010028' to '\U0001003a'
-            | '\U0001003c' to '\U0001003d'
-            | '\U0001003f' to '\U0001004d'
-            | '\U00010050' to '\U0001005d'
-            | '\U00010080' to '\U000100fa'
-            | '\U00010140' to '\U00010174'
-            | '\U00010280' to '\U0001029c'
-            | '\U000102a0' to '\U000102d0'
-            | '\U00010300' to '\U0001031e'
-            | '\U00010330' to '\U00010340'
+            | '\uff71' .. '\uff9d'
+            | '\uff9e' .. '\uff9f'
+            | '\uffa0' .. '\uffbe'
+            | '\uffc2' .. '\uffc7'
+            | '\uffca' .. '\uffcf'
+            | '\uffd2' .. '\uffd7'
+            | '\uffda' .. '\uffdc'
+            | '\U00010000' .. '\U0001000b'
+            | '\U0001000d' .. '\U00010026'
+            | '\U00010028' .. '\U0001003a'
+            | '\U0001003c' .. '\U0001003d'
+            | '\U0001003f' .. '\U0001004d'
+            | '\U00010050' .. '\U0001005d'
+            | '\U00010080' .. '\U000100fa'
+            | '\U00010140' .. '\U00010174'
+            | '\U00010280' .. '\U0001029c'
+            | '\U000102a0' .. '\U000102d0'
+            | '\U00010300' .. '\U0001031e'
+            | '\U00010330' .. '\U00010340'
             | '\U00010341'
-            | '\U00010342' to '\U00010349'
+            | '\U00010342' .. '\U00010349'
             | '\U0001034a'
-            | '\U00010380' to '\U0001039d'
-            | '\U000103a0' to '\U000103c3'
-            | '\U000103c8' to '\U000103cf'
-            | '\U000103d1' to '\U000103d5'
-            | '\U00010400' to '\U0001044f'
-            | '\U00010450' to '\U0001049d'
-            | '\U00010800' to '\U00010805'
+            | '\U00010380' .. '\U0001039d'
+            | '\U000103a0' .. '\U000103c3'
+            | '\U000103c8' .. '\U000103cf'
+            | '\U000103d1' .. '\U000103d5'
+            | '\U00010400' .. '\U0001044f'
+            | '\U00010450' .. '\U0001049d'
+            | '\U00010800' .. '\U00010805'
             | '\U00010808'
-            | '\U0001080a' to '\U00010835'
-            | '\U00010837' to '\U00010838'
+            | '\U0001080a' .. '\U00010835'
+            | '\U00010837' .. '\U00010838'
             | '\U0001083c'
-            | '\U0001083f' to '\U00010855'
-            | '\U00010900' to '\U00010915'
-            | '\U00010920' to '\U00010939'
+            | '\U0001083f' .. '\U00010855'
+            | '\U00010900' .. '\U00010915'
+            | '\U00010920' .. '\U00010939'
             | '\U00010a00'
-            | '\U00010a01' to '\U00010a03'
-            | '\U00010a05' to '\U00010a06'
-            | '\U00010a0c' to '\U00010a0f'
-            | '\U00010a10' to '\U00010a13'
-            | '\U00010a15' to '\U00010a17'
-            | '\U00010a19' to '\U00010a33'
-            | '\U00010a60' to '\U00010a7c'
-            | '\U00010b00' to '\U00010b35'
-            | '\U00010b40' to '\U00010b55'
-            | '\U00010b60' to '\U00010b72'
-            | '\U00010c00' to '\U00010c48'
+            | '\U00010a01' .. '\U00010a03'
+            | '\U00010a05' .. '\U00010a06'
+            | '\U00010a0c' .. '\U00010a0f'
+            | '\U00010a10' .. '\U00010a13'
+            | '\U00010a15' .. '\U00010a17'
+            | '\U00010a19' .. '\U00010a33'
+            | '\U00010a60' .. '\U00010a7c'
+            | '\U00010b00' .. '\U00010b35'
+            | '\U00010b40' .. '\U00010b55'
+            | '\U00010b60' .. '\U00010b72'
+            | '\U00010c00' .. '\U00010c48'
             | '\U00011000'
             | '\U00011001'
             | '\U00011002'
-            | '\U00011003' to '\U00011037'
-            | '\U00011038' to '\U00011045'
+            | '\U00011003' .. '\U00011037'
+            | '\U00011038' .. '\U00011045'
             | '\U00011082'
-            | '\U00011083' to '\U000110af'
-            | '\U000110b0' to '\U000110b2'
-            | '\U000110b3' to '\U000110b6'
-            | '\U000110b7' to '\U000110b8'
-            | '\U00012000' to '\U0001236e'
-            | '\U00012400' to '\U00012462'
-            | '\U00013000' to '\U0001342e'
-            | '\U00016800' to '\U00016a38'
-            | '\U0001b000' to '\U0001b001'
-            | '\U0001d400' to '\U0001d454'
-            | '\U0001d456' to '\U0001d49c'
-            | '\U0001d49e' to '\U0001d49f'
+            | '\U00011083' .. '\U000110af'
+            | '\U000110b0' .. '\U000110b2'
+            | '\U000110b3' .. '\U000110b6'
+            | '\U000110b7' .. '\U000110b8'
+            | '\U00012000' .. '\U0001236e'
+            | '\U00012400' .. '\U00012462'
+            | '\U00013000' .. '\U0001342e'
+            | '\U00016800' .. '\U00016a38'
+            | '\U0001b000' .. '\U0001b001'
+            | '\U0001d400' .. '\U0001d454'
+            | '\U0001d456' .. '\U0001d49c'
+            | '\U0001d49e' .. '\U0001d49f'
             | '\U0001d4a2'
-            | '\U0001d4a5' to '\U0001d4a6'
-            | '\U0001d4a9' to '\U0001d4ac'
-            | '\U0001d4ae' to '\U0001d4b9'
+            | '\U0001d4a5' .. '\U0001d4a6'
+            | '\U0001d4a9' .. '\U0001d4ac'
+            | '\U0001d4ae' .. '\U0001d4b9'
             | '\U0001d4bb'
-            | '\U0001d4bd' to '\U0001d4c3'
-            | '\U0001d4c5' to '\U0001d505'
-            | '\U0001d507' to '\U0001d50a'
-            | '\U0001d50d' to '\U0001d514'
-            | '\U0001d516' to '\U0001d51c'
-            | '\U0001d51e' to '\U0001d539'
-            | '\U0001d53b' to '\U0001d53e'
-            | '\U0001d540' to '\U0001d544'
+            | '\U0001d4bd' .. '\U0001d4c3'
+            | '\U0001d4c5' .. '\U0001d505'
+            | '\U0001d507' .. '\U0001d50a'
+            | '\U0001d50d' .. '\U0001d514'
+            | '\U0001d516' .. '\U0001d51c'
+            | '\U0001d51e' .. '\U0001d539'
+            | '\U0001d53b' .. '\U0001d53e'
+            | '\U0001d540' .. '\U0001d544'
             | '\U0001d546'
-            | '\U0001d54a' to '\U0001d550'
-            | '\U0001d552' to '\U0001d6a5'
-            | '\U0001d6a8' to '\U0001d6c0'
-            | '\U0001d6c2' to '\U0001d6da'
-            | '\U0001d6dc' to '\U0001d6fa'
-            | '\U0001d6fc' to '\U0001d714'
-            | '\U0001d716' to '\U0001d734'
-            | '\U0001d736' to '\U0001d74e'
-            | '\U0001d750' to '\U0001d76e'
-            | '\U0001d770' to '\U0001d788'
-            | '\U0001d78a' to '\U0001d7a8'
-            | '\U0001d7aa' to '\U0001d7c2'
-            | '\U0001d7c4' to '\U0001d7cb'
-            | '\U00020000' to '\U0002a6d6'
-            | '\U0002a700' to '\U0002b734'
-            | '\U0002b740' to '\U0002b81d'
-            | '\U0002f800' to '\U0002fa1d'
+            | '\U0001d54a' .. '\U0001d550'
+            | '\U0001d552' .. '\U0001d6a5'
+            | '\U0001d6a8' .. '\U0001d6c0'
+            | '\U0001d6c2' .. '\U0001d6da'
+            | '\U0001d6dc' .. '\U0001d6fa'
+            | '\U0001d6fc' .. '\U0001d714'
+            | '\U0001d716' .. '\U0001d734'
+            | '\U0001d736' .. '\U0001d74e'
+            | '\U0001d750' .. '\U0001d76e'
+            | '\U0001d770' .. '\U0001d788'
+            | '\U0001d78a' .. '\U0001d7a8'
+            | '\U0001d7aa' .. '\U0001d7c2'
+            | '\U0001d7c4' .. '\U0001d7cb'
+            | '\U00020000' .. '\U0002a6d6'
+            | '\U0002a700' .. '\U0002b734'
+            | '\U0002b740' .. '\U0002b81d'
+            | '\U0002f800' .. '\U0002fa1d'
           => true,
           _ => false
         };
@@ -3304,870 +3304,870 @@ mod derived_property {
 
     pure fn XID_Continue(c: char) -> bool {
         return match c {
-              '\x30' to '\x39'
-            | '\x41' to '\x5a'
+              '\x30' .. '\x39'
+            | '\x41' .. '\x5a'
             | '\x5f'
-            | '\x61' to '\x7a'
+            | '\x61' .. '\x7a'
             | '\xaa'
             | '\xb5'
             | '\xb7'
             | '\xba'
-            | '\xc0' to '\xd6'
-            | '\xd8' to '\xf6'
-            | '\xf8' to '\u01ba'
+            | '\xc0' .. '\xd6'
+            | '\xd8' .. '\xf6'
+            | '\xf8' .. '\u01ba'
             | '\u01bb'
-            | '\u01bc' to '\u01bf'
-            | '\u01c0' to '\u01c3'
-            | '\u01c4' to '\u0293'
+            | '\u01bc' .. '\u01bf'
+            | '\u01c0' .. '\u01c3'
+            | '\u01c4' .. '\u0293'
             | '\u0294'
-            | '\u0295' to '\u02af'
-            | '\u02b0' to '\u02c1'
-            | '\u02c6' to '\u02d1'
-            | '\u02e0' to '\u02e4'
+            | '\u0295' .. '\u02af'
+            | '\u02b0' .. '\u02c1'
+            | '\u02c6' .. '\u02d1'
+            | '\u02e0' .. '\u02e4'
             | '\u02ec'
             | '\u02ee'
-            | '\u0300' to '\u036f'
-            | '\u0370' to '\u0373'
+            | '\u0300' .. '\u036f'
+            | '\u0370' .. '\u0373'
             | '\u0374'
-            | '\u0376' to '\u0377'
-            | '\u037b' to '\u037d'
+            | '\u0376' .. '\u0377'
+            | '\u037b' .. '\u037d'
             | '\u0386'
             | '\u0387'
-            | '\u0388' to '\u038a'
+            | '\u0388' .. '\u038a'
             | '\u038c'
-            | '\u038e' to '\u03a1'
-            | '\u03a3' to '\u03f5'
-            | '\u03f7' to '\u0481'
-            | '\u0483' to '\u0487'
-            | '\u048a' to '\u0527'
-            | '\u0531' to '\u0556'
+            | '\u038e' .. '\u03a1'
+            | '\u03a3' .. '\u03f5'
+            | '\u03f7' .. '\u0481'
+            | '\u0483' .. '\u0487'
+            | '\u048a' .. '\u0527'
+            | '\u0531' .. '\u0556'
             | '\u0559'
-            | '\u0561' to '\u0587'
-            | '\u0591' to '\u05bd'
+            | '\u0561' .. '\u0587'
+            | '\u0591' .. '\u05bd'
             | '\u05bf'
-            | '\u05c1' to '\u05c2'
-            | '\u05c4' to '\u05c5'
+            | '\u05c1' .. '\u05c2'
+            | '\u05c4' .. '\u05c5'
             | '\u05c7'
-            | '\u05d0' to '\u05ea'
-            | '\u05f0' to '\u05f2'
-            | '\u0610' to '\u061a'
-            | '\u0620' to '\u063f'
+            | '\u05d0' .. '\u05ea'
+            | '\u05f0' .. '\u05f2'
+            | '\u0610' .. '\u061a'
+            | '\u0620' .. '\u063f'
             | '\u0640'
-            | '\u0641' to '\u064a'
-            | '\u064b' to '\u065f'
-            | '\u0660' to '\u0669'
-            | '\u066e' to '\u066f'
+            | '\u0641' .. '\u064a'
+            | '\u064b' .. '\u065f'
+            | '\u0660' .. '\u0669'
+            | '\u066e' .. '\u066f'
             | '\u0670'
-            | '\u0671' to '\u06d3'
+            | '\u0671' .. '\u06d3'
             | '\u06d5'
-            | '\u06d6' to '\u06dc'
-            | '\u06df' to '\u06e4'
-            | '\u06e5' to '\u06e6'
-            | '\u06e7' to '\u06e8'
-            | '\u06ea' to '\u06ed'
-            | '\u06ee' to '\u06ef'
-            | '\u06f0' to '\u06f9'
-            | '\u06fa' to '\u06fc'
+            | '\u06d6' .. '\u06dc'
+            | '\u06df' .. '\u06e4'
+            | '\u06e5' .. '\u06e6'
+            | '\u06e7' .. '\u06e8'
+            | '\u06ea' .. '\u06ed'
+            | '\u06ee' .. '\u06ef'
+            | '\u06f0' .. '\u06f9'
+            | '\u06fa' .. '\u06fc'
             | '\u06ff'
             | '\u0710'
             | '\u0711'
-            | '\u0712' to '\u072f'
-            | '\u0730' to '\u074a'
-            | '\u074d' to '\u07a5'
-            | '\u07a6' to '\u07b0'
+            | '\u0712' .. '\u072f'
+            | '\u0730' .. '\u074a'
+            | '\u074d' .. '\u07a5'
+            | '\u07a6' .. '\u07b0'
             | '\u07b1'
-            | '\u07c0' to '\u07c9'
-            | '\u07ca' to '\u07ea'
-            | '\u07eb' to '\u07f3'
-            | '\u07f4' to '\u07f5'
+            | '\u07c0' .. '\u07c9'
+            | '\u07ca' .. '\u07ea'
+            | '\u07eb' .. '\u07f3'
+            | '\u07f4' .. '\u07f5'
             | '\u07fa'
-            | '\u0800' to '\u0815'
-            | '\u0816' to '\u0819'
+            | '\u0800' .. '\u0815'
+            | '\u0816' .. '\u0819'
             | '\u081a'
-            | '\u081b' to '\u0823'
+            | '\u081b' .. '\u0823'
             | '\u0824'
-            | '\u0825' to '\u0827'
+            | '\u0825' .. '\u0827'
             | '\u0828'
-            | '\u0829' to '\u082d'
-            | '\u0840' to '\u0858'
-            | '\u0859' to '\u085b'
-            | '\u0900' to '\u0902'
+            | '\u0829' .. '\u082d'
+            | '\u0840' .. '\u0858'
+            | '\u0859' .. '\u085b'
+            | '\u0900' .. '\u0902'
             | '\u0903'
-            | '\u0904' to '\u0939'
+            | '\u0904' .. '\u0939'
             | '\u093a'
             | '\u093b'
             | '\u093c'
             | '\u093d'
-            | '\u093e' to '\u0940'
-            | '\u0941' to '\u0948'
-            | '\u0949' to '\u094c'
+            | '\u093e' .. '\u0940'
+            | '\u0941' .. '\u0948'
+            | '\u0949' .. '\u094c'
             | '\u094d'
-            | '\u094e' to '\u094f'
+            | '\u094e' .. '\u094f'
             | '\u0950'
-            | '\u0951' to '\u0957'
-            | '\u0958' to '\u0961'
-            | '\u0962' to '\u0963'
-            | '\u0966' to '\u096f'
+            | '\u0951' .. '\u0957'
+            | '\u0958' .. '\u0961'
+            | '\u0962' .. '\u0963'
+            | '\u0966' .. '\u096f'
             | '\u0971'
-            | '\u0972' to '\u0977'
-            | '\u0979' to '\u097f'
+            | '\u0972' .. '\u0977'
+            | '\u0979' .. '\u097f'
             | '\u0981'
-            | '\u0982' to '\u0983'
-            | '\u0985' to '\u098c'
-            | '\u098f' to '\u0990'
-            | '\u0993' to '\u09a8'
-            | '\u09aa' to '\u09b0'
+            | '\u0982' .. '\u0983'
+            | '\u0985' .. '\u098c'
+            | '\u098f' .. '\u0990'
+            | '\u0993' .. '\u09a8'
+            | '\u09aa' .. '\u09b0'
             | '\u09b2'
-            | '\u09b6' to '\u09b9'
+            | '\u09b6' .. '\u09b9'
             | '\u09bc'
             | '\u09bd'
-            | '\u09be' to '\u09c0'
-            | '\u09c1' to '\u09c4'
-            | '\u09c7' to '\u09c8'
-            | '\u09cb' to '\u09cc'
+            | '\u09be' .. '\u09c0'
+            | '\u09c1' .. '\u09c4'
+            | '\u09c7' .. '\u09c8'
+            | '\u09cb' .. '\u09cc'
             | '\u09cd'
             | '\u09ce'
             | '\u09d7'
-            | '\u09dc' to '\u09dd'
-            | '\u09df' to '\u09e1'
-            | '\u09e2' to '\u09e3'
-            | '\u09e6' to '\u09ef'
-            | '\u09f0' to '\u09f1'
-            | '\u0a01' to '\u0a02'
+            | '\u09dc' .. '\u09dd'
+            | '\u09df' .. '\u09e1'
+            | '\u09e2' .. '\u09e3'
+            | '\u09e6' .. '\u09ef'
+            | '\u09f0' .. '\u09f1'
+            | '\u0a01' .. '\u0a02'
             | '\u0a03'
-            | '\u0a05' to '\u0a0a'
-            | '\u0a0f' to '\u0a10'
-            | '\u0a13' to '\u0a28'
-            | '\u0a2a' to '\u0a30'
-            | '\u0a32' to '\u0a33'
-            | '\u0a35' to '\u0a36'
-            | '\u0a38' to '\u0a39'
+            | '\u0a05' .. '\u0a0a'
+            | '\u0a0f' .. '\u0a10'
+            | '\u0a13' .. '\u0a28'
+            | '\u0a2a' .. '\u0a30'
+            | '\u0a32' .. '\u0a33'
+            | '\u0a35' .. '\u0a36'
+            | '\u0a38' .. '\u0a39'
             | '\u0a3c'
-            | '\u0a3e' to '\u0a40'
-            | '\u0a41' to '\u0a42'
-            | '\u0a47' to '\u0a48'
-            | '\u0a4b' to '\u0a4d'
+            | '\u0a3e' .. '\u0a40'
+            | '\u0a41' .. '\u0a42'
+            | '\u0a47' .. '\u0a48'
+            | '\u0a4b' .. '\u0a4d'
             | '\u0a51'
-            | '\u0a59' to '\u0a5c'
+            | '\u0a59' .. '\u0a5c'
             | '\u0a5e'
-            | '\u0a66' to '\u0a6f'
-            | '\u0a70' to '\u0a71'
-            | '\u0a72' to '\u0a74'
+            | '\u0a66' .. '\u0a6f'
+            | '\u0a70' .. '\u0a71'
+            | '\u0a72' .. '\u0a74'
             | '\u0a75'
-            | '\u0a81' to '\u0a82'
+            | '\u0a81' .. '\u0a82'
             | '\u0a83'
-            | '\u0a85' to '\u0a8d'
-            | '\u0a8f' to '\u0a91'
-            | '\u0a93' to '\u0aa8'
-            | '\u0aaa' to '\u0ab0'
-            | '\u0ab2' to '\u0ab3'
-            | '\u0ab5' to '\u0ab9'
+            | '\u0a85' .. '\u0a8d'
+            | '\u0a8f' .. '\u0a91'
+            | '\u0a93' .. '\u0aa8'
+            | '\u0aaa' .. '\u0ab0'
+            | '\u0ab2' .. '\u0ab3'
+            | '\u0ab5' .. '\u0ab9'
             | '\u0abc'
             | '\u0abd'
-            | '\u0abe' to '\u0ac0'
-            | '\u0ac1' to '\u0ac5'
-            | '\u0ac7' to '\u0ac8'
+            | '\u0abe' .. '\u0ac0'
+            | '\u0ac1' .. '\u0ac5'
+            | '\u0ac7' .. '\u0ac8'
             | '\u0ac9'
-            | '\u0acb' to '\u0acc'
+            | '\u0acb' .. '\u0acc'
             | '\u0acd'
             | '\u0ad0'
-            | '\u0ae0' to '\u0ae1'
-            | '\u0ae2' to '\u0ae3'
-            | '\u0ae6' to '\u0aef'
+            | '\u0ae0' .. '\u0ae1'
+            | '\u0ae2' .. '\u0ae3'
+            | '\u0ae6' .. '\u0aef'
             | '\u0b01'
-            | '\u0b02' to '\u0b03'
-            | '\u0b05' to '\u0b0c'
-            | '\u0b0f' to '\u0b10'
-            | '\u0b13' to '\u0b28'
-            | '\u0b2a' to '\u0b30'
-            | '\u0b32' to '\u0b33'
-            | '\u0b35' to '\u0b39'
+            | '\u0b02' .. '\u0b03'
+            | '\u0b05' .. '\u0b0c'
+            | '\u0b0f' .. '\u0b10'
+            | '\u0b13' .. '\u0b28'
+            | '\u0b2a' .. '\u0b30'
+            | '\u0b32' .. '\u0b33'
+            | '\u0b35' .. '\u0b39'
             | '\u0b3c'
             | '\u0b3d'
             | '\u0b3e'
             | '\u0b3f'
             | '\u0b40'
-            | '\u0b41' to '\u0b44'
-            | '\u0b47' to '\u0b48'
-            | '\u0b4b' to '\u0b4c'
+            | '\u0b41' .. '\u0b44'
+            | '\u0b47' .. '\u0b48'
+            | '\u0b4b' .. '\u0b4c'
             | '\u0b4d'
             | '\u0b56'
             | '\u0b57'
-            | '\u0b5c' to '\u0b5d'
-            | '\u0b5f' to '\u0b61'
-            | '\u0b62' to '\u0b63'
-            | '\u0b66' to '\u0b6f'
+            | '\u0b5c' .. '\u0b5d'
+            | '\u0b5f' .. '\u0b61'
+            | '\u0b62' .. '\u0b63'
+            | '\u0b66' .. '\u0b6f'
             | '\u0b71'
             | '\u0b82'
             | '\u0b83'
-            | '\u0b85' to '\u0b8a'
-            | '\u0b8e' to '\u0b90'
-            | '\u0b92' to '\u0b95'
-            | '\u0b99' to '\u0b9a'
+            | '\u0b85' .. '\u0b8a'
+            | '\u0b8e' .. '\u0b90'
+            | '\u0b92' .. '\u0b95'
+            | '\u0b99' .. '\u0b9a'
             | '\u0b9c'
-            | '\u0b9e' to '\u0b9f'
-            | '\u0ba3' to '\u0ba4'
-            | '\u0ba8' to '\u0baa'
-            | '\u0bae' to '\u0bb9'
-            | '\u0bbe' to '\u0bbf'
+            | '\u0b9e' .. '\u0b9f'
+            | '\u0ba3' .. '\u0ba4'
+            | '\u0ba8' .. '\u0baa'
+            | '\u0bae' .. '\u0bb9'
+            | '\u0bbe' .. '\u0bbf'
             | '\u0bc0'
-            | '\u0bc1' to '\u0bc2'
-            | '\u0bc6' to '\u0bc8'
-            | '\u0bca' to '\u0bcc'
+            | '\u0bc1' .. '\u0bc2'
+            | '\u0bc6' .. '\u0bc8'
+            | '\u0bca' .. '\u0bcc'
             | '\u0bcd'
             | '\u0bd0'
             | '\u0bd7'
-            | '\u0be6' to '\u0bef'
-            | '\u0c01' to '\u0c03'
-            | '\u0c05' to '\u0c0c'
-            | '\u0c0e' to '\u0c10'
-            | '\u0c12' to '\u0c28'
-            | '\u0c2a' to '\u0c33'
-            | '\u0c35' to '\u0c39'
+            | '\u0be6' .. '\u0bef'
+            | '\u0c01' .. '\u0c03'
+            | '\u0c05' .. '\u0c0c'
+            | '\u0c0e' .. '\u0c10'
+            | '\u0c12' .. '\u0c28'
+            | '\u0c2a' .. '\u0c33'
+            | '\u0c35' .. '\u0c39'
             | '\u0c3d'
-            | '\u0c3e' to '\u0c40'
-            | '\u0c41' to '\u0c44'
-            | '\u0c46' to '\u0c48'
-            | '\u0c4a' to '\u0c4d'
-            | '\u0c55' to '\u0c56'
-            | '\u0c58' to '\u0c59'
-            | '\u0c60' to '\u0c61'
-            | '\u0c62' to '\u0c63'
-            | '\u0c66' to '\u0c6f'
-            | '\u0c82' to '\u0c83'
-            | '\u0c85' to '\u0c8c'
-            | '\u0c8e' to '\u0c90'
-            | '\u0c92' to '\u0ca8'
-            | '\u0caa' to '\u0cb3'
-            | '\u0cb5' to '\u0cb9'
+            | '\u0c3e' .. '\u0c40'
+            | '\u0c41' .. '\u0c44'
+            | '\u0c46' .. '\u0c48'
+            | '\u0c4a' .. '\u0c4d'
+            | '\u0c55' .. '\u0c56'
+            | '\u0c58' .. '\u0c59'
+            | '\u0c60' .. '\u0c61'
+            | '\u0c62' .. '\u0c63'
+            | '\u0c66' .. '\u0c6f'
+            | '\u0c82' .. '\u0c83'
+            | '\u0c85' .. '\u0c8c'
+            | '\u0c8e' .. '\u0c90'
+            | '\u0c92' .. '\u0ca8'
+            | '\u0caa' .. '\u0cb3'
+            | '\u0cb5' .. '\u0cb9'
             | '\u0cbc'
             | '\u0cbd'
             | '\u0cbe'
             | '\u0cbf'
-            | '\u0cc0' to '\u0cc4'
+            | '\u0cc0' .. '\u0cc4'
             | '\u0cc6'
-            | '\u0cc7' to '\u0cc8'
-            | '\u0cca' to '\u0ccb'
-            | '\u0ccc' to '\u0ccd'
-            | '\u0cd5' to '\u0cd6'
+            | '\u0cc7' .. '\u0cc8'
+            | '\u0cca' .. '\u0ccb'
+            | '\u0ccc' .. '\u0ccd'
+            | '\u0cd5' .. '\u0cd6'
             | '\u0cde'
-            | '\u0ce0' to '\u0ce1'
-            | '\u0ce2' to '\u0ce3'
-            | '\u0ce6' to '\u0cef'
-            | '\u0cf1' to '\u0cf2'
-            | '\u0d02' to '\u0d03'
-            | '\u0d05' to '\u0d0c'
-            | '\u0d0e' to '\u0d10'
-            | '\u0d12' to '\u0d3a'
+            | '\u0ce0' .. '\u0ce1'
+            | '\u0ce2' .. '\u0ce3'
+            | '\u0ce6' .. '\u0cef'
+            | '\u0cf1' .. '\u0cf2'
+            | '\u0d02' .. '\u0d03'
+            | '\u0d05' .. '\u0d0c'
+            | '\u0d0e' .. '\u0d10'
+            | '\u0d12' .. '\u0d3a'
             | '\u0d3d'
-            | '\u0d3e' to '\u0d40'
-            | '\u0d41' to '\u0d44'
-            | '\u0d46' to '\u0d48'
-            | '\u0d4a' to '\u0d4c'
+            | '\u0d3e' .. '\u0d40'
+            | '\u0d41' .. '\u0d44'
+            | '\u0d46' .. '\u0d48'
+            | '\u0d4a' .. '\u0d4c'
             | '\u0d4d'
             | '\u0d4e'
             | '\u0d57'
-            | '\u0d60' to '\u0d61'
-            | '\u0d62' to '\u0d63'
-            | '\u0d66' to '\u0d6f'
-            | '\u0d7a' to '\u0d7f'
-            | '\u0d82' to '\u0d83'
-            | '\u0d85' to '\u0d96'
-            | '\u0d9a' to '\u0db1'
-            | '\u0db3' to '\u0dbb'
+            | '\u0d60' .. '\u0d61'
+            | '\u0d62' .. '\u0d63'
+            | '\u0d66' .. '\u0d6f'
+            | '\u0d7a' .. '\u0d7f'
+            | '\u0d82' .. '\u0d83'
+            | '\u0d85' .. '\u0d96'
+            | '\u0d9a' .. '\u0db1'
+            | '\u0db3' .. '\u0dbb'
             | '\u0dbd'
-            | '\u0dc0' to '\u0dc6'
+            | '\u0dc0' .. '\u0dc6'
             | '\u0dca'
-            | '\u0dcf' to '\u0dd1'
-            | '\u0dd2' to '\u0dd4'
+            | '\u0dcf' .. '\u0dd1'
+            | '\u0dd2' .. '\u0dd4'
             | '\u0dd6'
-            | '\u0dd8' to '\u0ddf'
-            | '\u0df2' to '\u0df3'
-            | '\u0e01' to '\u0e30'
+            | '\u0dd8' .. '\u0ddf'
+            | '\u0df2' .. '\u0df3'
+            | '\u0e01' .. '\u0e30'
             | '\u0e31'
-            | '\u0e32' to '\u0e33'
-            | '\u0e34' to '\u0e3a'
-            | '\u0e40' to '\u0e45'
+            | '\u0e32' .. '\u0e33'
+            | '\u0e34' .. '\u0e3a'
+            | '\u0e40' .. '\u0e45'
             | '\u0e46'
-            | '\u0e47' to '\u0e4e'
-            | '\u0e50' to '\u0e59'
-            | '\u0e81' to '\u0e82'
+            | '\u0e47' .. '\u0e4e'
+            | '\u0e50' .. '\u0e59'
+            | '\u0e81' .. '\u0e82'
             | '\u0e84'
-            | '\u0e87' to '\u0e88'
+            | '\u0e87' .. '\u0e88'
             | '\u0e8a'
             | '\u0e8d'
-            | '\u0e94' to '\u0e97'
-            | '\u0e99' to '\u0e9f'
-            | '\u0ea1' to '\u0ea3'
+            | '\u0e94' .. '\u0e97'
+            | '\u0e99' .. '\u0e9f'
+            | '\u0ea1' .. '\u0ea3'
             | '\u0ea5'
             | '\u0ea7'
-            | '\u0eaa' to '\u0eab'
-            | '\u0ead' to '\u0eb0'
+            | '\u0eaa' .. '\u0eab'
+            | '\u0ead' .. '\u0eb0'
             | '\u0eb1'
-            | '\u0eb2' to '\u0eb3'
-            | '\u0eb4' to '\u0eb9'
-            | '\u0ebb' to '\u0ebc'
+            | '\u0eb2' .. '\u0eb3'
+            | '\u0eb4' .. '\u0eb9'
+            | '\u0ebb' .. '\u0ebc'
             | '\u0ebd'
-            | '\u0ec0' to '\u0ec4'
+            | '\u0ec0' .. '\u0ec4'
             | '\u0ec6'
-            | '\u0ec8' to '\u0ecd'
-            | '\u0ed0' to '\u0ed9'
-            | '\u0edc' to '\u0edd'
+            | '\u0ec8' .. '\u0ecd'
+            | '\u0ed0' .. '\u0ed9'
+            | '\u0edc' .. '\u0edd'
             | '\u0f00'
-            | '\u0f18' to '\u0f19'
-            | '\u0f20' to '\u0f29'
+            | '\u0f18' .. '\u0f19'
+            | '\u0f20' .. '\u0f29'
             | '\u0f35'
             | '\u0f37'
             | '\u0f39'
-            | '\u0f3e' to '\u0f3f'
-            | '\u0f40' to '\u0f47'
-            | '\u0f49' to '\u0f6c'
-            | '\u0f71' to '\u0f7e'
+            | '\u0f3e' .. '\u0f3f'
+            | '\u0f40' .. '\u0f47'
+            | '\u0f49' .. '\u0f6c'
+            | '\u0f71' .. '\u0f7e'
             | '\u0f7f'
-            | '\u0f80' to '\u0f84'
-            | '\u0f86' to '\u0f87'
-            | '\u0f88' to '\u0f8c'
-            | '\u0f8d' to '\u0f97'
-            | '\u0f99' to '\u0fbc'
+            | '\u0f80' .. '\u0f84'
+            | '\u0f86' .. '\u0f87'
+            | '\u0f88' .. '\u0f8c'
+            | '\u0f8d' .. '\u0f97'
+            | '\u0f99' .. '\u0fbc'
             | '\u0fc6'
-            | '\u1000' to '\u102a'
-            | '\u102b' to '\u102c'
-            | '\u102d' to '\u1030'
+            | '\u1000' .. '\u102a'
+            | '\u102b' .. '\u102c'
+            | '\u102d' .. '\u1030'
             | '\u1031'
-            | '\u1032' to '\u1037'
+            | '\u1032' .. '\u1037'
             | '\u1038'
-            | '\u1039' to '\u103a'
-            | '\u103b' to '\u103c'
-            | '\u103d' to '\u103e'
+            | '\u1039' .. '\u103a'
+            | '\u103b' .. '\u103c'
+            | '\u103d' .. '\u103e'
             | '\u103f'
-            | '\u1040' to '\u1049'
-            | '\u1050' to '\u1055'
-            | '\u1056' to '\u1057'
-            | '\u1058' to '\u1059'
-            | '\u105a' to '\u105d'
-            | '\u105e' to '\u1060'
+            | '\u1040' .. '\u1049'
+            | '\u1050' .. '\u1055'
+            | '\u1056' .. '\u1057'
+            | '\u1058' .. '\u1059'
+            | '\u105a' .. '\u105d'
+            | '\u105e' .. '\u1060'
             | '\u1061'
-            | '\u1062' to '\u1064'
-            | '\u1065' to '\u1066'
-            | '\u1067' to '\u106d'
-            | '\u106e' to '\u1070'
-            | '\u1071' to '\u1074'
-            | '\u1075' to '\u1081'
+            | '\u1062' .. '\u1064'
+            | '\u1065' .. '\u1066'
+            | '\u1067' .. '\u106d'
+            | '\u106e' .. '\u1070'
+            | '\u1071' .. '\u1074'
+            | '\u1075' .. '\u1081'
             | '\u1082'
-            | '\u1083' to '\u1084'
-            | '\u1085' to '\u1086'
-            | '\u1087' to '\u108c'
+            | '\u1083' .. '\u1084'
+            | '\u1085' .. '\u1086'
+            | '\u1087' .. '\u108c'
             | '\u108d'
             | '\u108e'
             | '\u108f'
-            | '\u1090' to '\u1099'
-            | '\u109a' to '\u109c'
+            | '\u1090' .. '\u1099'
+            | '\u109a' .. '\u109c'
             | '\u109d'
-            | '\u10a0' to '\u10c5'
-            | '\u10d0' to '\u10fa'
+            | '\u10a0' .. '\u10c5'
+            | '\u10d0' .. '\u10fa'
             | '\u10fc'
-            | '\u1100' to '\u1248'
-            | '\u124a' to '\u124d'
-            | '\u1250' to '\u1256'
+            | '\u1100' .. '\u1248'
+            | '\u124a' .. '\u124d'
+            | '\u1250' .. '\u1256'
             | '\u1258'
-            | '\u125a' to '\u125d'
-            | '\u1260' to '\u1288'
-            | '\u128a' to '\u128d'
-            | '\u1290' to '\u12b0'
-            | '\u12b2' to '\u12b5'
-            | '\u12b8' to '\u12be'
+            | '\u125a' .. '\u125d'
+            | '\u1260' .. '\u1288'
+            | '\u128a' .. '\u128d'
+            | '\u1290' .. '\u12b0'
+            | '\u12b2' .. '\u12b5'
+            | '\u12b8' .. '\u12be'
             | '\u12c0'
-            | '\u12c2' to '\u12c5'
-            | '\u12c8' to '\u12d6'
-            | '\u12d8' to '\u1310'
-            | '\u1312' to '\u1315'
-            | '\u1318' to '\u135a'
-            | '\u135d' to '\u135f'
-            | '\u1369' to '\u1371'
-            | '\u1380' to '\u138f'
-            | '\u13a0' to '\u13f4'
-            | '\u1401' to '\u166c'
-            | '\u166f' to '\u167f'
-            | '\u1681' to '\u169a'
-            | '\u16a0' to '\u16ea'
-            | '\u16ee' to '\u16f0'
-            | '\u1700' to '\u170c'
-            | '\u170e' to '\u1711'
-            | '\u1712' to '\u1714'
-            | '\u1720' to '\u1731'
-            | '\u1732' to '\u1734'
-            | '\u1740' to '\u1751'
-            | '\u1752' to '\u1753'
-            | '\u1760' to '\u176c'
-            | '\u176e' to '\u1770'
-            | '\u1772' to '\u1773'
-            | '\u1780' to '\u17b3'
+            | '\u12c2' .. '\u12c5'
+            | '\u12c8' .. '\u12d6'
+            | '\u12d8' .. '\u1310'
+            | '\u1312' .. '\u1315'
+            | '\u1318' .. '\u135a'
+            | '\u135d' .. '\u135f'
+            | '\u1369' .. '\u1371'
+            | '\u1380' .. '\u138f'
+            | '\u13a0' .. '\u13f4'
+            | '\u1401' .. '\u166c'
+            | '\u166f' .. '\u167f'
+            | '\u1681' .. '\u169a'
+            | '\u16a0' .. '\u16ea'
+            | '\u16ee' .. '\u16f0'
+            | '\u1700' .. '\u170c'
+            | '\u170e' .. '\u1711'
+            | '\u1712' .. '\u1714'
+            | '\u1720' .. '\u1731'
+            | '\u1732' .. '\u1734'
+            | '\u1740' .. '\u1751'
+            | '\u1752' .. '\u1753'
+            | '\u1760' .. '\u176c'
+            | '\u176e' .. '\u1770'
+            | '\u1772' .. '\u1773'
+            | '\u1780' .. '\u17b3'
             | '\u17b6'
-            | '\u17b7' to '\u17bd'
-            | '\u17be' to '\u17c5'
+            | '\u17b7' .. '\u17bd'
+            | '\u17be' .. '\u17c5'
             | '\u17c6'
-            | '\u17c7' to '\u17c8'
-            | '\u17c9' to '\u17d3'
+            | '\u17c7' .. '\u17c8'
+            | '\u17c9' .. '\u17d3'
             | '\u17d7'
             | '\u17dc'
             | '\u17dd'
-            | '\u17e0' to '\u17e9'
-            | '\u180b' to '\u180d'
-            | '\u1810' to '\u1819'
-            | '\u1820' to '\u1842'
+            | '\u17e0' .. '\u17e9'
+            | '\u180b' .. '\u180d'
+            | '\u1810' .. '\u1819'
+            | '\u1820' .. '\u1842'
             | '\u1843'
-            | '\u1844' to '\u1877'
-            | '\u1880' to '\u18a8'
+            | '\u1844' .. '\u1877'
+            | '\u1880' .. '\u18a8'
             | '\u18a9'
             | '\u18aa'
-            | '\u18b0' to '\u18f5'
-            | '\u1900' to '\u191c'
-            | '\u1920' to '\u1922'
-            | '\u1923' to '\u1926'
-            | '\u1927' to '\u1928'
-            | '\u1929' to '\u192b'
-            | '\u1930' to '\u1931'
+            | '\u18b0' .. '\u18f5'
+            | '\u1900' .. '\u191c'
+            | '\u1920' .. '\u1922'
+            | '\u1923' .. '\u1926'
+            | '\u1927' .. '\u1928'
+            | '\u1929' .. '\u192b'
+            | '\u1930' .. '\u1931'
             | '\u1932'
-            | '\u1933' to '\u1938'
-            | '\u1939' to '\u193b'
-            | '\u1946' to '\u194f'
-            | '\u1950' to '\u196d'
-            | '\u1970' to '\u1974'
-            | '\u1980' to '\u19ab'
-            | '\u19b0' to '\u19c0'
-            | '\u19c1' to '\u19c7'
-            | '\u19c8' to '\u19c9'
-            | '\u19d0' to '\u19d9'
+            | '\u1933' .. '\u1938'
+            | '\u1939' .. '\u193b'
+            | '\u1946' .. '\u194f'
+            | '\u1950' .. '\u196d'
+            | '\u1970' .. '\u1974'
+            | '\u1980' .. '\u19ab'
+            | '\u19b0' .. '\u19c0'
+            | '\u19c1' .. '\u19c7'
+            | '\u19c8' .. '\u19c9'
+            | '\u19d0' .. '\u19d9'
             | '\u19da'
-            | '\u1a00' to '\u1a16'
-            | '\u1a17' to '\u1a18'
-            | '\u1a19' to '\u1a1b'
-            | '\u1a20' to '\u1a54'
+            | '\u1a00' .. '\u1a16'
+            | '\u1a17' .. '\u1a18'
+            | '\u1a19' .. '\u1a1b'
+            | '\u1a20' .. '\u1a54'
             | '\u1a55'
             | '\u1a56'
             | '\u1a57'
-            | '\u1a58' to '\u1a5e'
+            | '\u1a58' .. '\u1a5e'
             | '\u1a60'
             | '\u1a61'
             | '\u1a62'
-            | '\u1a63' to '\u1a64'
-            | '\u1a65' to '\u1a6c'
-            | '\u1a6d' to '\u1a72'
-            | '\u1a73' to '\u1a7c'
+            | '\u1a63' .. '\u1a64'
+            | '\u1a65' .. '\u1a6c'
+            | '\u1a6d' .. '\u1a72'
+            | '\u1a73' .. '\u1a7c'
             | '\u1a7f'
-            | '\u1a80' to '\u1a89'
-            | '\u1a90' to '\u1a99'
+            | '\u1a80' .. '\u1a89'
+            | '\u1a90' .. '\u1a99'
             | '\u1aa7'
-            | '\u1b00' to '\u1b03'
+            | '\u1b00' .. '\u1b03'
             | '\u1b04'
-            | '\u1b05' to '\u1b33'
+            | '\u1b05' .. '\u1b33'
             | '\u1b34'
             | '\u1b35'
-            | '\u1b36' to '\u1b3a'
+            | '\u1b36' .. '\u1b3a'
             | '\u1b3b'
             | '\u1b3c'
-            | '\u1b3d' to '\u1b41'
+            | '\u1b3d' .. '\u1b41'
             | '\u1b42'
-            | '\u1b43' to '\u1b44'
-            | '\u1b45' to '\u1b4b'
-            | '\u1b50' to '\u1b59'
-            | '\u1b6b' to '\u1b73'
-            | '\u1b80' to '\u1b81'
+            | '\u1b43' .. '\u1b44'
+            | '\u1b45' .. '\u1b4b'
+            | '\u1b50' .. '\u1b59'
+            | '\u1b6b' .. '\u1b73'
+            | '\u1b80' .. '\u1b81'
             | '\u1b82'
-            | '\u1b83' to '\u1ba0'
+            | '\u1b83' .. '\u1ba0'
             | '\u1ba1'
-            | '\u1ba2' to '\u1ba5'
-            | '\u1ba6' to '\u1ba7'
-            | '\u1ba8' to '\u1ba9'
+            | '\u1ba2' .. '\u1ba5'
+            | '\u1ba6' .. '\u1ba7'
+            | '\u1ba8' .. '\u1ba9'
             | '\u1baa'
-            | '\u1bae' to '\u1baf'
-            | '\u1bb0' to '\u1bb9'
-            | '\u1bc0' to '\u1be5'
+            | '\u1bae' .. '\u1baf'
+            | '\u1bb0' .. '\u1bb9'
+            | '\u1bc0' .. '\u1be5'
             | '\u1be6'
             | '\u1be7'
-            | '\u1be8' to '\u1be9'
-            | '\u1bea' to '\u1bec'
+            | '\u1be8' .. '\u1be9'
+            | '\u1bea' .. '\u1bec'
             | '\u1bed'
             | '\u1bee'
-            | '\u1bef' to '\u1bf1'
-            | '\u1bf2' to '\u1bf3'
-            | '\u1c00' to '\u1c23'
-            | '\u1c24' to '\u1c2b'
-            | '\u1c2c' to '\u1c33'
-            | '\u1c34' to '\u1c35'
-            | '\u1c36' to '\u1c37'
-            | '\u1c40' to '\u1c49'
-            | '\u1c4d' to '\u1c4f'
-            | '\u1c50' to '\u1c59'
-            | '\u1c5a' to '\u1c77'
-            | '\u1c78' to '\u1c7d'
-            | '\u1cd0' to '\u1cd2'
-            | '\u1cd4' to '\u1ce0'
+            | '\u1bef' .. '\u1bf1'
+            | '\u1bf2' .. '\u1bf3'
+            | '\u1c00' .. '\u1c23'
+            | '\u1c24' .. '\u1c2b'
+            | '\u1c2c' .. '\u1c33'
+            | '\u1c34' .. '\u1c35'
+            | '\u1c36' .. '\u1c37'
+            | '\u1c40' .. '\u1c49'
+            | '\u1c4d' .. '\u1c4f'
+            | '\u1c50' .. '\u1c59'
+            | '\u1c5a' .. '\u1c77'
+            | '\u1c78' .. '\u1c7d'
+            | '\u1cd0' .. '\u1cd2'
+            | '\u1cd4' .. '\u1ce0'
             | '\u1ce1'
-            | '\u1ce2' to '\u1ce8'
-            | '\u1ce9' to '\u1cec'
+            | '\u1ce2' .. '\u1ce8'
+            | '\u1ce9' .. '\u1cec'
             | '\u1ced'
-            | '\u1cee' to '\u1cf1'
+            | '\u1cee' .. '\u1cf1'
             | '\u1cf2'
-            | '\u1d00' to '\u1d2b'
-            | '\u1d2c' to '\u1d61'
-            | '\u1d62' to '\u1d77'
+            | '\u1d00' .. '\u1d2b'
+            | '\u1d2c' .. '\u1d61'
+            | '\u1d62' .. '\u1d77'
             | '\u1d78'
-            | '\u1d79' to '\u1d9a'
-            | '\u1d9b' to '\u1dbf'
-            | '\u1dc0' to '\u1de6'
-            | '\u1dfc' to '\u1dff'
-            | '\u1e00' to '\u1f15'
-            | '\u1f18' to '\u1f1d'
-            | '\u1f20' to '\u1f45'
-            | '\u1f48' to '\u1f4d'
-            | '\u1f50' to '\u1f57'
+            | '\u1d79' .. '\u1d9a'
+            | '\u1d9b' .. '\u1dbf'
+            | '\u1dc0' .. '\u1de6'
+            | '\u1dfc' .. '\u1dff'
+            | '\u1e00' .. '\u1f15'
+            | '\u1f18' .. '\u1f1d'
+            | '\u1f20' .. '\u1f45'
+            | '\u1f48' .. '\u1f4d'
+            | '\u1f50' .. '\u1f57'
             | '\u1f59'
             | '\u1f5b'
             | '\u1f5d'
-            | '\u1f5f' to '\u1f7d'
-            | '\u1f80' to '\u1fb4'
-            | '\u1fb6' to '\u1fbc'
+            | '\u1f5f' .. '\u1f7d'
+            | '\u1f80' .. '\u1fb4'
+            | '\u1fb6' .. '\u1fbc'
             | '\u1fbe'
-            | '\u1fc2' to '\u1fc4'
-            | '\u1fc6' to '\u1fcc'
-            | '\u1fd0' to '\u1fd3'
-            | '\u1fd6' to '\u1fdb'
-            | '\u1fe0' to '\u1fec'
-            | '\u1ff2' to '\u1ff4'
-            | '\u1ff6' to '\u1ffc'
-            | '\u203f' to '\u2040'
+            | '\u1fc2' .. '\u1fc4'
+            | '\u1fc6' .. '\u1fcc'
+            | '\u1fd0' .. '\u1fd3'
+            | '\u1fd6' .. '\u1fdb'
+            | '\u1fe0' .. '\u1fec'
+            | '\u1ff2' .. '\u1ff4'
+            | '\u1ff6' .. '\u1ffc'
+            | '\u203f' .. '\u2040'
             | '\u2054'
             | '\u2071'
             | '\u207f'
-            | '\u2090' to '\u209c'
-            | '\u20d0' to '\u20dc'
+            | '\u2090' .. '\u209c'
+            | '\u20d0' .. '\u20dc'
             | '\u20e1'
-            | '\u20e5' to '\u20f0'
+            | '\u20e5' .. '\u20f0'
             | '\u2102'
             | '\u2107'
-            | '\u210a' to '\u2113'
+            | '\u210a' .. '\u2113'
             | '\u2115'
             | '\u2118'
-            | '\u2119' to '\u211d'
+            | '\u2119' .. '\u211d'
             | '\u2124'
             | '\u2126'
             | '\u2128'
-            | '\u212a' to '\u212d'
+            | '\u212a' .. '\u212d'
             | '\u212e'
-            | '\u212f' to '\u2134'
-            | '\u2135' to '\u2138'
+            | '\u212f' .. '\u2134'
+            | '\u2135' .. '\u2138'
             | '\u2139'
-            | '\u213c' to '\u213f'
-            | '\u2145' to '\u2149'
+            | '\u213c' .. '\u213f'
+            | '\u2145' .. '\u2149'
             | '\u214e'
-            | '\u2160' to '\u2182'
-            | '\u2183' to '\u2184'
-            | '\u2185' to '\u2188'
-            | '\u2c00' to '\u2c2e'
-            | '\u2c30' to '\u2c5e'
-            | '\u2c60' to '\u2c7c'
+            | '\u2160' .. '\u2182'
+            | '\u2183' .. '\u2184'
+            | '\u2185' .. '\u2188'
+            | '\u2c00' .. '\u2c2e'
+            | '\u2c30' .. '\u2c5e'
+            | '\u2c60' .. '\u2c7c'
             | '\u2c7d'
-            | '\u2c7e' to '\u2ce4'
-            | '\u2ceb' to '\u2cee'
-            | '\u2cef' to '\u2cf1'
-            | '\u2d00' to '\u2d25'
-            | '\u2d30' to '\u2d65'
+            | '\u2c7e' .. '\u2ce4'
+            | '\u2ceb' .. '\u2cee'
+            | '\u2cef' .. '\u2cf1'
+            | '\u2d00' .. '\u2d25'
+            | '\u2d30' .. '\u2d65'
             | '\u2d6f'
             | '\u2d7f'
-            | '\u2d80' to '\u2d96'
-            | '\u2da0' to '\u2da6'
-            | '\u2da8' to '\u2dae'
-            | '\u2db0' to '\u2db6'
-            | '\u2db8' to '\u2dbe'
-            | '\u2dc0' to '\u2dc6'
-            | '\u2dc8' to '\u2dce'
-            | '\u2dd0' to '\u2dd6'
-            | '\u2dd8' to '\u2dde'
-            | '\u2de0' to '\u2dff'
+            | '\u2d80' .. '\u2d96'
+            | '\u2da0' .. '\u2da6'
+            | '\u2da8' .. '\u2dae'
+            | '\u2db0' .. '\u2db6'
+            | '\u2db8' .. '\u2dbe'
+            | '\u2dc0' .. '\u2dc6'
+            | '\u2dc8' .. '\u2dce'
+            | '\u2dd0' .. '\u2dd6'
+            | '\u2dd8' .. '\u2dde'
+            | '\u2de0' .. '\u2dff'
             | '\u3005'
             | '\u3006'
             | '\u3007'
-            | '\u3021' to '\u3029'
-            | '\u302a' to '\u302f'
-            | '\u3031' to '\u3035'
-            | '\u3038' to '\u303a'
+            | '\u3021' .. '\u3029'
+            | '\u302a' .. '\u302f'
+            | '\u3031' .. '\u3035'
+            | '\u3038' .. '\u303a'
             | '\u303b'
             | '\u303c'
-            | '\u3041' to '\u3096'
-            | '\u3099' to '\u309a'
-            | '\u309d' to '\u309e'
+            | '\u3041' .. '\u3096'
+            | '\u3099' .. '\u309a'
+            | '\u309d' .. '\u309e'
             | '\u309f'
-            | '\u30a1' to '\u30fa'
-            | '\u30fc' to '\u30fe'
+            | '\u30a1' .. '\u30fa'
+            | '\u30fc' .. '\u30fe'
             | '\u30ff'
-            | '\u3105' to '\u312d'
-            | '\u3131' to '\u318e'
-            | '\u31a0' to '\u31ba'
-            | '\u31f0' to '\u31ff'
-            | '\u3400' to '\u4db5'
-            | '\u4e00' to '\u9fcb'
-            | '\ua000' to '\ua014'
+            | '\u3105' .. '\u312d'
+            | '\u3131' .. '\u318e'
+            | '\u31a0' .. '\u31ba'
+            | '\u31f0' .. '\u31ff'
+            | '\u3400' .. '\u4db5'
+            | '\u4e00' .. '\u9fcb'
+            | '\ua000' .. '\ua014'
             | '\ua015'
-            | '\ua016' to '\ua48c'
-            | '\ua4d0' to '\ua4f7'
-            | '\ua4f8' to '\ua4fd'
-            | '\ua500' to '\ua60b'
+            | '\ua016' .. '\ua48c'
+            | '\ua4d0' .. '\ua4f7'
+            | '\ua4f8' .. '\ua4fd'
+            | '\ua500' .. '\ua60b'
             | '\ua60c'
-            | '\ua610' to '\ua61f'
-            | '\ua620' to '\ua629'
-            | '\ua62a' to '\ua62b'
-            | '\ua640' to '\ua66d'
+            | '\ua610' .. '\ua61f'
+            | '\ua620' .. '\ua629'
+            | '\ua62a' .. '\ua62b'
+            | '\ua640' .. '\ua66d'
             | '\ua66e'
             | '\ua66f'
-            | '\ua67c' to '\ua67d'
+            | '\ua67c' .. '\ua67d'
             | '\ua67f'
-            | '\ua680' to '\ua697'
-            | '\ua6a0' to '\ua6e5'
-            | '\ua6e6' to '\ua6ef'
-            | '\ua6f0' to '\ua6f1'
-            | '\ua717' to '\ua71f'
-            | '\ua722' to '\ua76f'
+            | '\ua680' .. '\ua697'
+            | '\ua6a0' .. '\ua6e5'
+            | '\ua6e6' .. '\ua6ef'
+            | '\ua6f0' .. '\ua6f1'
+            | '\ua717' .. '\ua71f'
+            | '\ua722' .. '\ua76f'
             | '\ua770'
-            | '\ua771' to '\ua787'
+            | '\ua771' .. '\ua787'
             | '\ua788'
-            | '\ua78b' to '\ua78e'
-            | '\ua790' to '\ua791'
-            | '\ua7a0' to '\ua7a9'
+            | '\ua78b' .. '\ua78e'
+            | '\ua790' .. '\ua791'
+            | '\ua7a0' .. '\ua7a9'
             | '\ua7fa'
-            | '\ua7fb' to '\ua801'
+            | '\ua7fb' .. '\ua801'
             | '\ua802'
-            | '\ua803' to '\ua805'
+            | '\ua803' .. '\ua805'
             | '\ua806'
-            | '\ua807' to '\ua80a'
+            | '\ua807' .. '\ua80a'
             | '\ua80b'
-            | '\ua80c' to '\ua822'
-            | '\ua823' to '\ua824'
-            | '\ua825' to '\ua826'
+            | '\ua80c' .. '\ua822'
+            | '\ua823' .. '\ua824'
+            | '\ua825' .. '\ua826'
             | '\ua827'
-            | '\ua840' to '\ua873'
-            | '\ua880' to '\ua881'
-            | '\ua882' to '\ua8b3'
-            | '\ua8b4' to '\ua8c3'
+            | '\ua840' .. '\ua873'
+            | '\ua880' .. '\ua881'
+            | '\ua882' .. '\ua8b3'
+            | '\ua8b4' .. '\ua8c3'
             | '\ua8c4'
-            | '\ua8d0' to '\ua8d9'
-            | '\ua8e0' to '\ua8f1'
-            | '\ua8f2' to '\ua8f7'
+            | '\ua8d0' .. '\ua8d9'
+            | '\ua8e0' .. '\ua8f1'
+            | '\ua8f2' .. '\ua8f7'
             | '\ua8fb'
-            | '\ua900' to '\ua909'
-            | '\ua90a' to '\ua925'
-            | '\ua926' to '\ua92d'
-            | '\ua930' to '\ua946'
-            | '\ua947' to '\ua951'
-            | '\ua952' to '\ua953'
-            | '\ua960' to '\ua97c'
-            | '\ua980' to '\ua982'
+            | '\ua900' .. '\ua909'
+            | '\ua90a' .. '\ua925'
+            | '\ua926' .. '\ua92d'
+            | '\ua930' .. '\ua946'
+            | '\ua947' .. '\ua951'
+            | '\ua952' .. '\ua953'
+            | '\ua960' .. '\ua97c'
+            | '\ua980' .. '\ua982'
             | '\ua983'
-            | '\ua984' to '\ua9b2'
+            | '\ua984' .. '\ua9b2'
             | '\ua9b3'
-            | '\ua9b4' to '\ua9b5'
-            | '\ua9b6' to '\ua9b9'
-            | '\ua9ba' to '\ua9bb'
+            | '\ua9b4' .. '\ua9b5'
+            | '\ua9b6' .. '\ua9b9'
+            | '\ua9ba' .. '\ua9bb'
             | '\ua9bc'
-            | '\ua9bd' to '\ua9c0'
+            | '\ua9bd' .. '\ua9c0'
             | '\ua9cf'
-            | '\ua9d0' to '\ua9d9'
-            | '\uaa00' to '\uaa28'
-            | '\uaa29' to '\uaa2e'
-            | '\uaa2f' to '\uaa30'
-            | '\uaa31' to '\uaa32'
-            | '\uaa33' to '\uaa34'
-            | '\uaa35' to '\uaa36'
-            | '\uaa40' to '\uaa42'
+            | '\ua9d0' .. '\ua9d9'
+            | '\uaa00' .. '\uaa28'
+            | '\uaa29' .. '\uaa2e'
+            | '\uaa2f' .. '\uaa30'
+            | '\uaa31' .. '\uaa32'
+            | '\uaa33' .. '\uaa34'
+            | '\uaa35' .. '\uaa36'
+            | '\uaa40' .. '\uaa42'
             | '\uaa43'
-            | '\uaa44' to '\uaa4b'
+            | '\uaa44' .. '\uaa4b'
             | '\uaa4c'
             | '\uaa4d'
-            | '\uaa50' to '\uaa59'
-            | '\uaa60' to '\uaa6f'
+            | '\uaa50' .. '\uaa59'
+            | '\uaa60' .. '\uaa6f'
             | '\uaa70'
-            | '\uaa71' to '\uaa76'
+            | '\uaa71' .. '\uaa76'
             | '\uaa7a'
             | '\uaa7b'
-            | '\uaa80' to '\uaaaf'
+            | '\uaa80' .. '\uaaaf'
             | '\uaab0'
             | '\uaab1'
-            | '\uaab2' to '\uaab4'
-            | '\uaab5' to '\uaab6'
-            | '\uaab7' to '\uaab8'
-            | '\uaab9' to '\uaabd'
-            | '\uaabe' to '\uaabf'
+            | '\uaab2' .. '\uaab4'
+            | '\uaab5' .. '\uaab6'
+            | '\uaab7' .. '\uaab8'
+            | '\uaab9' .. '\uaabd'
+            | '\uaabe' .. '\uaabf'
             | '\uaac0'
             | '\uaac1'
             | '\uaac2'
-            | '\uaadb' to '\uaadc'
+            | '\uaadb' .. '\uaadc'
             | '\uaadd'
-            | '\uab01' to '\uab06'
-            | '\uab09' to '\uab0e'
-            | '\uab11' to '\uab16'
-            | '\uab20' to '\uab26'
-            | '\uab28' to '\uab2e'
-            | '\uabc0' to '\uabe2'
-            | '\uabe3' to '\uabe4'
+            | '\uab01' .. '\uab06'
+            | '\uab09' .. '\uab0e'
+            | '\uab11' .. '\uab16'
+            | '\uab20' .. '\uab26'
+            | '\uab28' .. '\uab2e'
+            | '\uabc0' .. '\uabe2'
+            | '\uabe3' .. '\uabe4'
             | '\uabe5'
-            | '\uabe6' to '\uabe7'
+            | '\uabe6' .. '\uabe7'
             | '\uabe8'
-            | '\uabe9' to '\uabea'
+            | '\uabe9' .. '\uabea'
             | '\uabec'
             | '\uabed'
-            | '\uabf0' to '\uabf9'
-            | '\uac00' to '\ud7a3'
-            | '\ud7b0' to '\ud7c6'
-            | '\ud7cb' to '\ud7fb'
-            | '\uf900' to '\ufa2d'
-            | '\ufa30' to '\ufa6d'
-            | '\ufa70' to '\ufad9'
-            | '\ufb00' to '\ufb06'
-            | '\ufb13' to '\ufb17'
+            | '\uabf0' .. '\uabf9'
+            | '\uac00' .. '\ud7a3'
+            | '\ud7b0' .. '\ud7c6'
+            | '\ud7cb' .. '\ud7fb'
+            | '\uf900' .. '\ufa2d'
+            | '\ufa30' .. '\ufa6d'
+            | '\ufa70' .. '\ufad9'
+            | '\ufb00' .. '\ufb06'
+            | '\ufb13' .. '\ufb17'
             | '\ufb1d'
             | '\ufb1e'
-            | '\ufb1f' to '\ufb28'
-            | '\ufb2a' to '\ufb36'
-            | '\ufb38' to '\ufb3c'
+            | '\ufb1f' .. '\ufb28'
+            | '\ufb2a' .. '\ufb36'
+            | '\ufb38' .. '\ufb3c'
             | '\ufb3e'
-            | '\ufb40' to '\ufb41'
-            | '\ufb43' to '\ufb44'
-            | '\ufb46' to '\ufbb1'
-            | '\ufbd3' to '\ufc5d'
-            | '\ufc64' to '\ufd3d'
-            | '\ufd50' to '\ufd8f'
-            | '\ufd92' to '\ufdc7'
-            | '\ufdf0' to '\ufdf9'
-            | '\ufe00' to '\ufe0f'
-            | '\ufe20' to '\ufe26'
-            | '\ufe33' to '\ufe34'
-            | '\ufe4d' to '\ufe4f'
+            | '\ufb40' .. '\ufb41'
+            | '\ufb43' .. '\ufb44'
+            | '\ufb46' .. '\ufbb1'
+            | '\ufbd3' .. '\ufc5d'
+            | '\ufc64' .. '\ufd3d'
+            | '\ufd50' .. '\ufd8f'
+            | '\ufd92' .. '\ufdc7'
+            | '\ufdf0' .. '\ufdf9'
+            | '\ufe00' .. '\ufe0f'
+            | '\ufe20' .. '\ufe26'
+            | '\ufe33' .. '\ufe34'
+            | '\ufe4d' .. '\ufe4f'
             | '\ufe71'
             | '\ufe73'
             | '\ufe77'
             | '\ufe79'
             | '\ufe7b'
             | '\ufe7d'
-            | '\ufe7f' to '\ufefc'
-            | '\uff10' to '\uff19'
-            | '\uff21' to '\uff3a'
+            | '\ufe7f' .. '\ufefc'
+            | '\uff10' .. '\uff19'
+            | '\uff21' .. '\uff3a'
             | '\uff3f'
-            | '\uff41' to '\uff5a'
-            | '\uff66' to '\uff6f'
+            | '\uff41' .. '\uff5a'
+            | '\uff66' .. '\uff6f'
             | '\uff70'
-            | '\uff71' to '\uff9d'
-            | '\uff9e' to '\uff9f'
-            | '\uffa0' to '\uffbe'
-            | '\uffc2' to '\uffc7'
-            | '\uffca' to '\uffcf'
-            | '\uffd2' to '\uffd7'
-            | '\uffda' to '\uffdc'
-            | '\U00010000' to '\U0001000b'
-            | '\U0001000d' to '\U00010026'
-            | '\U00010028' to '\U0001003a'
-            | '\U0001003c' to '\U0001003d'
-            | '\U0001003f' to '\U0001004d'
-            | '\U00010050' to '\U0001005d'
-            | '\U00010080' to '\U000100fa'
-            | '\U00010140' to '\U00010174'
+            | '\uff71' .. '\uff9d'
+            | '\uff9e' .. '\uff9f'
+            | '\uffa0' .. '\uffbe'
+            | '\uffc2' .. '\uffc7'
+            | '\uffca' .. '\uffcf'
+            | '\uffd2' .. '\uffd7'
+            | '\uffda' .. '\uffdc'
+            | '\U00010000' .. '\U0001000b'
+            | '\U0001000d' .. '\U00010026'
+            | '\U00010028' .. '\U0001003a'
+            | '\U0001003c' .. '\U0001003d'
+            | '\U0001003f' .. '\U0001004d'
+            | '\U00010050' .. '\U0001005d'
+            | '\U00010080' .. '\U000100fa'
+            | '\U00010140' .. '\U00010174'
             | '\U000101fd'
-            | '\U00010280' to '\U0001029c'
-            | '\U000102a0' to '\U000102d0'
-            | '\U00010300' to '\U0001031e'
-            | '\U00010330' to '\U00010340'
+            | '\U00010280' .. '\U0001029c'
+            | '\U000102a0' .. '\U000102d0'
+            | '\U00010300' .. '\U0001031e'
+            | '\U00010330' .. '\U00010340'
             | '\U00010341'
-            | '\U00010342' to '\U00010349'
+            | '\U00010342' .. '\U00010349'
             | '\U0001034a'
-            | '\U00010380' to '\U0001039d'
-            | '\U000103a0' to '\U000103c3'
-            | '\U000103c8' to '\U000103cf'
-            | '\U000103d1' to '\U000103d5'
-            | '\U00010400' to '\U0001044f'
-            | '\U00010450' to '\U0001049d'
-            | '\U000104a0' to '\U000104a9'
-            | '\U00010800' to '\U00010805'
+            | '\U00010380' .. '\U0001039d'
+            | '\U000103a0' .. '\U000103c3'
+            | '\U000103c8' .. '\U000103cf'
+            | '\U000103d1' .. '\U000103d5'
+            | '\U00010400' .. '\U0001044f'
+            | '\U00010450' .. '\U0001049d'
+            | '\U000104a0' .. '\U000104a9'
+            | '\U00010800' .. '\U00010805'
             | '\U00010808'
-            | '\U0001080a' to '\U00010835'
-            | '\U00010837' to '\U00010838'
+            | '\U0001080a' .. '\U00010835'
+            | '\U00010837' .. '\U00010838'
             | '\U0001083c'
-            | '\U0001083f' to '\U00010855'
-            | '\U00010900' to '\U00010915'
-            | '\U00010920' to '\U00010939'
+            | '\U0001083f' .. '\U00010855'
+            | '\U00010900' .. '\U00010915'
+            | '\U00010920' .. '\U00010939'
             | '\U00010a00'
-            | '\U00010a01' to '\U00010a03'
-            | '\U00010a05' to '\U00010a06'
-            | '\U00010a0c' to '\U00010a0f'
-            | '\U00010a10' to '\U00010a13'
-            | '\U00010a15' to '\U00010a17'
-            | '\U00010a19' to '\U00010a33'
-            | '\U00010a38' to '\U00010a3a'
+            | '\U00010a01' .. '\U00010a03'
+            | '\U00010a05' .. '\U00010a06'
+            | '\U00010a0c' .. '\U00010a0f'
+            | '\U00010a10' .. '\U00010a13'
+            | '\U00010a15' .. '\U00010a17'
+            | '\U00010a19' .. '\U00010a33'
+            | '\U00010a38' .. '\U00010a3a'
             | '\U00010a3f'
-            | '\U00010a60' to '\U00010a7c'
-            | '\U00010b00' to '\U00010b35'
-            | '\U00010b40' to '\U00010b55'
-            | '\U00010b60' to '\U00010b72'
-            | '\U00010c00' to '\U00010c48'
+            | '\U00010a60' .. '\U00010a7c'
+            | '\U00010b00' .. '\U00010b35'
+            | '\U00010b40' .. '\U00010b55'
+            | '\U00010b60' .. '\U00010b72'
+            | '\U00010c00' .. '\U00010c48'
             | '\U00011000'
             | '\U00011001'
             | '\U00011002'
-            | '\U00011003' to '\U00011037'
-            | '\U00011038' to '\U00011046'
-            | '\U00011066' to '\U0001106f'
-            | '\U00011080' to '\U00011081'
+            | '\U00011003' .. '\U00011037'
+            | '\U00011038' .. '\U00011046'
+            | '\U00011066' .. '\U0001106f'
+            | '\U00011080' .. '\U00011081'
             | '\U00011082'
-            | '\U00011083' to '\U000110af'
-            | '\U000110b0' to '\U000110b2'
-            | '\U000110b3' to '\U000110b6'
-            | '\U000110b7' to '\U000110b8'
-            | '\U000110b9' to '\U000110ba'
-            | '\U00012000' to '\U0001236e'
-            | '\U00012400' to '\U00012462'
-            | '\U00013000' to '\U0001342e'
-            | '\U00016800' to '\U00016a38'
-            | '\U0001b000' to '\U0001b001'
-            | '\U0001d165' to '\U0001d166'
-            | '\U0001d167' to '\U0001d169'
-            | '\U0001d16d' to '\U0001d172'
-            | '\U0001d17b' to '\U0001d182'
-            | '\U0001d185' to '\U0001d18b'
-            | '\U0001d1aa' to '\U0001d1ad'
-            | '\U0001d242' to '\U0001d244'
-            | '\U0001d400' to '\U0001d454'
-            | '\U0001d456' to '\U0001d49c'
-            | '\U0001d49e' to '\U0001d49f'
+            | '\U00011083' .. '\U000110af'
+            | '\U000110b0' .. '\U000110b2'
+            | '\U000110b3' .. '\U000110b6'
+            | '\U000110b7' .. '\U000110b8'
+            | '\U000110b9' .. '\U000110ba'
+            | '\U00012000' .. '\U0001236e'
+            | '\U00012400' .. '\U00012462'
+            | '\U00013000' .. '\U0001342e'
+            | '\U00016800' .. '\U00016a38'
+            | '\U0001b000' .. '\U0001b001'
+            | '\U0001d165' .. '\U0001d166'
+            | '\U0001d167' .. '\U0001d169'
+            | '\U0001d16d' .. '\U0001d172'
+            | '\U0001d17b' .. '\U0001d182'
+            | '\U0001d185' .. '\U0001d18b'
+            | '\U0001d1aa' .. '\U0001d1ad'
+            | '\U0001d242' .. '\U0001d244'
+            | '\U0001d400' .. '\U0001d454'
+            | '\U0001d456' .. '\U0001d49c'
+            | '\U0001d49e' .. '\U0001d49f'
             | '\U0001d4a2'
-            | '\U0001d4a5' to '\U0001d4a6'
-            | '\U0001d4a9' to '\U0001d4ac'
-            | '\U0001d4ae' to '\U0001d4b9'
+            | '\U0001d4a5' .. '\U0001d4a6'
+            | '\U0001d4a9' .. '\U0001d4ac'
+            | '\U0001d4ae' .. '\U0001d4b9'
             | '\U0001d4bb'
-            | '\U0001d4bd' to '\U0001d4c3'
-            | '\U0001d4c5' to '\U0001d505'
-            | '\U0001d507' to '\U0001d50a'
-            | '\U0001d50d' to '\U0001d514'
-            | '\U0001d516' to '\U0001d51c'
-            | '\U0001d51e' to '\U0001d539'
-            | '\U0001d53b' to '\U0001d53e'
-            | '\U0001d540' to '\U0001d544'
+            | '\U0001d4bd' .. '\U0001d4c3'
+            | '\U0001d4c5' .. '\U0001d505'
+            | '\U0001d507' .. '\U0001d50a'
+            | '\U0001d50d' .. '\U0001d514'
+            | '\U0001d516' .. '\U0001d51c'
+            | '\U0001d51e' .. '\U0001d539'
+            | '\U0001d53b' .. '\U0001d53e'
+            | '\U0001d540' .. '\U0001d544'
             | '\U0001d546'
-            | '\U0001d54a' to '\U0001d550'
-            | '\U0001d552' to '\U0001d6a5'
-            | '\U0001d6a8' to '\U0001d6c0'
-            | '\U0001d6c2' to '\U0001d6da'
-            | '\U0001d6dc' to '\U0001d6fa'
-            | '\U0001d6fc' to '\U0001d714'
-            | '\U0001d716' to '\U0001d734'
-            | '\U0001d736' to '\U0001d74e'
-            | '\U0001d750' to '\U0001d76e'
-            | '\U0001d770' to '\U0001d788'
-            | '\U0001d78a' to '\U0001d7a8'
-            | '\U0001d7aa' to '\U0001d7c2'
-            | '\U0001d7c4' to '\U0001d7cb'
-            | '\U0001d7ce' to '\U0001d7ff'
-            | '\U00020000' to '\U0002a6d6'
-            | '\U0002a700' to '\U0002b734'
-            | '\U0002b740' to '\U0002b81d'
-            | '\U0002f800' to '\U0002fa1d'
-            | '\U000e0100' to '\U000e01ef'
+            | '\U0001d54a' .. '\U0001d550'
+            | '\U0001d552' .. '\U0001d6a5'
+            | '\U0001d6a8' .. '\U0001d6c0'
+            | '\U0001d6c2' .. '\U0001d6da'
+            | '\U0001d6dc' .. '\U0001d6fa'
+            | '\U0001d6fc' .. '\U0001d714'
+            | '\U0001d716' .. '\U0001d734'
+            | '\U0001d736' .. '\U0001d74e'
+            | '\U0001d750' .. '\U0001d76e'
+            | '\U0001d770' .. '\U0001d788'
+            | '\U0001d78a' .. '\U0001d7a8'
+            | '\U0001d7aa' .. '\U0001d7c2'
+            | '\U0001d7c4' .. '\U0001d7cb'
+            | '\U0001d7ce' .. '\U0001d7ff'
+            | '\U00020000' .. '\U0002a6d6'
+            | '\U0002a700' .. '\U0002b734'
+            | '\U0002b740' .. '\U0002b81d'
+            | '\U0002f800' .. '\U0002fa1d'
+            | '\U000e0100' .. '\U000e01ef'
           => true,
           _ => false
         };
@@ -4175,505 +4175,505 @@ mod derived_property {
 
     pure fn XID_Start(c: char) -> bool {
         return match c {
-              '\x41' to '\x5a'
-            | '\x61' to '\x7a'
+              '\x41' .. '\x5a'
+            | '\x61' .. '\x7a'
             | '\xaa'
             | '\xb5'
             | '\xba'
-            | '\xc0' to '\xd6'
-            | '\xd8' to '\xf6'
-            | '\xf8' to '\u01ba'
+            | '\xc0' .. '\xd6'
+            | '\xd8' .. '\xf6'
+            | '\xf8' .. '\u01ba'
             | '\u01bb'
-            | '\u01bc' to '\u01bf'
-            | '\u01c0' to '\u01c3'
-            | '\u01c4' to '\u0293'
+            | '\u01bc' .. '\u01bf'
+            | '\u01c0' .. '\u01c3'
+            | '\u01c4' .. '\u0293'
             | '\u0294'
-            | '\u0295' to '\u02af'
-            | '\u02b0' to '\u02c1'
-            | '\u02c6' to '\u02d1'
-            | '\u02e0' to '\u02e4'
+            | '\u0295' .. '\u02af'
+            | '\u02b0' .. '\u02c1'
+            | '\u02c6' .. '\u02d1'
+            | '\u02e0' .. '\u02e4'
             | '\u02ec'
             | '\u02ee'
-            | '\u0370' to '\u0373'
+            | '\u0370' .. '\u0373'
             | '\u0374'
-            | '\u0376' to '\u0377'
-            | '\u037b' to '\u037d'
+            | '\u0376' .. '\u0377'
+            | '\u037b' .. '\u037d'
             | '\u0386'
-            | '\u0388' to '\u038a'
+            | '\u0388' .. '\u038a'
             | '\u038c'
-            | '\u038e' to '\u03a1'
-            | '\u03a3' to '\u03f5'
-            | '\u03f7' to '\u0481'
-            | '\u048a' to '\u0527'
-            | '\u0531' to '\u0556'
+            | '\u038e' .. '\u03a1'
+            | '\u03a3' .. '\u03f5'
+            | '\u03f7' .. '\u0481'
+            | '\u048a' .. '\u0527'
+            | '\u0531' .. '\u0556'
             | '\u0559'
-            | '\u0561' to '\u0587'
-            | '\u05d0' to '\u05ea'
-            | '\u05f0' to '\u05f2'
-            | '\u0620' to '\u063f'
+            | '\u0561' .. '\u0587'
+            | '\u05d0' .. '\u05ea'
+            | '\u05f0' .. '\u05f2'
+            | '\u0620' .. '\u063f'
             | '\u0640'
-            | '\u0641' to '\u064a'
-            | '\u066e' to '\u066f'
-            | '\u0671' to '\u06d3'
+            | '\u0641' .. '\u064a'
+            | '\u066e' .. '\u066f'
+            | '\u0671' .. '\u06d3'
             | '\u06d5'
-            | '\u06e5' to '\u06e6'
-            | '\u06ee' to '\u06ef'
-            | '\u06fa' to '\u06fc'
+            | '\u06e5' .. '\u06e6'
+            | '\u06ee' .. '\u06ef'
+            | '\u06fa' .. '\u06fc'
             | '\u06ff'
             | '\u0710'
-            | '\u0712' to '\u072f'
-            | '\u074d' to '\u07a5'
+            | '\u0712' .. '\u072f'
+            | '\u074d' .. '\u07a5'
             | '\u07b1'
-            | '\u07ca' to '\u07ea'
-            | '\u07f4' to '\u07f5'
+            | '\u07ca' .. '\u07ea'
+            | '\u07f4' .. '\u07f5'
             | '\u07fa'
-            | '\u0800' to '\u0815'
+            | '\u0800' .. '\u0815'
             | '\u081a'
             | '\u0824'
             | '\u0828'
-            | '\u0840' to '\u0858'
-            | '\u0904' to '\u0939'
+            | '\u0840' .. '\u0858'
+            | '\u0904' .. '\u0939'
             | '\u093d'
             | '\u0950'
-            | '\u0958' to '\u0961'
+            | '\u0958' .. '\u0961'
             | '\u0971'
-            | '\u0972' to '\u0977'
-            | '\u0979' to '\u097f'
-            | '\u0985' to '\u098c'
-            | '\u098f' to '\u0990'
-            | '\u0993' to '\u09a8'
-            | '\u09aa' to '\u09b0'
+            | '\u0972' .. '\u0977'
+            | '\u0979' .. '\u097f'
+            | '\u0985' .. '\u098c'
+            | '\u098f' .. '\u0990'
+            | '\u0993' .. '\u09a8'
+            | '\u09aa' .. '\u09b0'
             | '\u09b2'
-            | '\u09b6' to '\u09b9'
+            | '\u09b6' .. '\u09b9'
             | '\u09bd'
             | '\u09ce'
-            | '\u09dc' to '\u09dd'
-            | '\u09df' to '\u09e1'
-            | '\u09f0' to '\u09f1'
-            | '\u0a05' to '\u0a0a'
-            | '\u0a0f' to '\u0a10'
-            | '\u0a13' to '\u0a28'
-            | '\u0a2a' to '\u0a30'
-            | '\u0a32' to '\u0a33'
-            | '\u0a35' to '\u0a36'
-            | '\u0a38' to '\u0a39'
-            | '\u0a59' to '\u0a5c'
+            | '\u09dc' .. '\u09dd'
+            | '\u09df' .. '\u09e1'
+            | '\u09f0' .. '\u09f1'
+            | '\u0a05' .. '\u0a0a'
+            | '\u0a0f' .. '\u0a10'
+            | '\u0a13' .. '\u0a28'
+            | '\u0a2a' .. '\u0a30'
+            | '\u0a32' .. '\u0a33'
+            | '\u0a35' .. '\u0a36'
+            | '\u0a38' .. '\u0a39'
+            | '\u0a59' .. '\u0a5c'
             | '\u0a5e'
-            | '\u0a72' to '\u0a74'
-            | '\u0a85' to '\u0a8d'
-            | '\u0a8f' to '\u0a91'
-            | '\u0a93' to '\u0aa8'
-            | '\u0aaa' to '\u0ab0'
-            | '\u0ab2' to '\u0ab3'
-            | '\u0ab5' to '\u0ab9'
+            | '\u0a72' .. '\u0a74'
+            | '\u0a85' .. '\u0a8d'
+            | '\u0a8f' .. '\u0a91'
+            | '\u0a93' .. '\u0aa8'
+            | '\u0aaa' .. '\u0ab0'
+            | '\u0ab2' .. '\u0ab3'
+            | '\u0ab5' .. '\u0ab9'
             | '\u0abd'
             | '\u0ad0'
-            | '\u0ae0' to '\u0ae1'
-            | '\u0b05' to '\u0b0c'
-            | '\u0b0f' to '\u0b10'
-            | '\u0b13' to '\u0b28'
-            | '\u0b2a' to '\u0b30'
-            | '\u0b32' to '\u0b33'
-            | '\u0b35' to '\u0b39'
+            | '\u0ae0' .. '\u0ae1'
+            | '\u0b05' .. '\u0b0c'
+            | '\u0b0f' .. '\u0b10'
+            | '\u0b13' .. '\u0b28'
+            | '\u0b2a' .. '\u0b30'
+            | '\u0b32' .. '\u0b33'
+            | '\u0b35' .. '\u0b39'
             | '\u0b3d'
-            | '\u0b5c' to '\u0b5d'
-            | '\u0b5f' to '\u0b61'
+            | '\u0b5c' .. '\u0b5d'
+            | '\u0b5f' .. '\u0b61'
             | '\u0b71'
             | '\u0b83'
-            | '\u0b85' to '\u0b8a'
-            | '\u0b8e' to '\u0b90'
-            | '\u0b92' to '\u0b95'
-            | '\u0b99' to '\u0b9a'
+            | '\u0b85' .. '\u0b8a'
+            | '\u0b8e' .. '\u0b90'
+            | '\u0b92' .. '\u0b95'
+            | '\u0b99' .. '\u0b9a'
             | '\u0b9c'
-            | '\u0b9e' to '\u0b9f'
-            | '\u0ba3' to '\u0ba4'
-            | '\u0ba8' to '\u0baa'
-            | '\u0bae' to '\u0bb9'
+            | '\u0b9e' .. '\u0b9f'
+            | '\u0ba3' .. '\u0ba4'
+            | '\u0ba8' .. '\u0baa'
+            | '\u0bae' .. '\u0bb9'
             | '\u0bd0'
-            | '\u0c05' to '\u0c0c'
-            | '\u0c0e' to '\u0c10'
-            | '\u0c12' to '\u0c28'
-            | '\u0c2a' to '\u0c33'
-            | '\u0c35' to '\u0c39'
+            | '\u0c05' .. '\u0c0c'
+            | '\u0c0e' .. '\u0c10'
+            | '\u0c12' .. '\u0c28'
+            | '\u0c2a' .. '\u0c33'
+            | '\u0c35' .. '\u0c39'
             | '\u0c3d'
-            | '\u0c58' to '\u0c59'
-            | '\u0c60' to '\u0c61'
-            | '\u0c85' to '\u0c8c'
-            | '\u0c8e' to '\u0c90'
-            | '\u0c92' to '\u0ca8'
-            | '\u0caa' to '\u0cb3'
-            | '\u0cb5' to '\u0cb9'
+            | '\u0c58' .. '\u0c59'
+            | '\u0c60' .. '\u0c61'
+            | '\u0c85' .. '\u0c8c'
+            | '\u0c8e' .. '\u0c90'
+            | '\u0c92' .. '\u0ca8'
+            | '\u0caa' .. '\u0cb3'
+            | '\u0cb5' .. '\u0cb9'
             | '\u0cbd'
             | '\u0cde'
-            | '\u0ce0' to '\u0ce1'
-            | '\u0cf1' to '\u0cf2'
-            | '\u0d05' to '\u0d0c'
-            | '\u0d0e' to '\u0d10'
-            | '\u0d12' to '\u0d3a'
+            | '\u0ce0' .. '\u0ce1'
+            | '\u0cf1' .. '\u0cf2'
+            | '\u0d05' .. '\u0d0c'
+            | '\u0d0e' .. '\u0d10'
+            | '\u0d12' .. '\u0d3a'
             | '\u0d3d'
             | '\u0d4e'
-            | '\u0d60' to '\u0d61'
-            | '\u0d7a' to '\u0d7f'
-            | '\u0d85' to '\u0d96'
-            | '\u0d9a' to '\u0db1'
-            | '\u0db3' to '\u0dbb'
+            | '\u0d60' .. '\u0d61'
+            | '\u0d7a' .. '\u0d7f'
+            | '\u0d85' .. '\u0d96'
+            | '\u0d9a' .. '\u0db1'
+            | '\u0db3' .. '\u0dbb'
             | '\u0dbd'
-            | '\u0dc0' to '\u0dc6'
-            | '\u0e01' to '\u0e30'
+            | '\u0dc0' .. '\u0dc6'
+            | '\u0e01' .. '\u0e30'
             | '\u0e32'
-            | '\u0e40' to '\u0e45'
+            | '\u0e40' .. '\u0e45'
             | '\u0e46'
-            | '\u0e81' to '\u0e82'
+            | '\u0e81' .. '\u0e82'
             | '\u0e84'
-            | '\u0e87' to '\u0e88'
+            | '\u0e87' .. '\u0e88'
             | '\u0e8a'
             | '\u0e8d'
-            | '\u0e94' to '\u0e97'
-            | '\u0e99' to '\u0e9f'
-            | '\u0ea1' to '\u0ea3'
+            | '\u0e94' .. '\u0e97'
+            | '\u0e99' .. '\u0e9f'
+            | '\u0ea1' .. '\u0ea3'
             | '\u0ea5'
             | '\u0ea7'
-            | '\u0eaa' to '\u0eab'
-            | '\u0ead' to '\u0eb0'
+            | '\u0eaa' .. '\u0eab'
+            | '\u0ead' .. '\u0eb0'
             | '\u0eb2'
             | '\u0ebd'
-            | '\u0ec0' to '\u0ec4'
+            | '\u0ec0' .. '\u0ec4'
             | '\u0ec6'
-            | '\u0edc' to '\u0edd'
+            | '\u0edc' .. '\u0edd'
             | '\u0f00'
-            | '\u0f40' to '\u0f47'
-            | '\u0f49' to '\u0f6c'
-            | '\u0f88' to '\u0f8c'
-            | '\u1000' to '\u102a'
+            | '\u0f40' .. '\u0f47'
+            | '\u0f49' .. '\u0f6c'
+            | '\u0f88' .. '\u0f8c'
+            | '\u1000' .. '\u102a'
             | '\u103f'
-            | '\u1050' to '\u1055'
-            | '\u105a' to '\u105d'
+            | '\u1050' .. '\u1055'
+            | '\u105a' .. '\u105d'
             | '\u1061'
-            | '\u1065' to '\u1066'
-            | '\u106e' to '\u1070'
-            | '\u1075' to '\u1081'
+            | '\u1065' .. '\u1066'
+            | '\u106e' .. '\u1070'
+            | '\u1075' .. '\u1081'
             | '\u108e'
-            | '\u10a0' to '\u10c5'
-            | '\u10d0' to '\u10fa'
+            | '\u10a0' .. '\u10c5'
+            | '\u10d0' .. '\u10fa'
             | '\u10fc'
-            | '\u1100' to '\u1248'
-            | '\u124a' to '\u124d'
-            | '\u1250' to '\u1256'
+            | '\u1100' .. '\u1248'
+            | '\u124a' .. '\u124d'
+            | '\u1250' .. '\u1256'
             | '\u1258'
-            | '\u125a' to '\u125d'
-            | '\u1260' to '\u1288'
-            | '\u128a' to '\u128d'
-            | '\u1290' to '\u12b0'
-            | '\u12b2' to '\u12b5'
-            | '\u12b8' to '\u12be'
+            | '\u125a' .. '\u125d'
+            | '\u1260' .. '\u1288'
+            | '\u128a' .. '\u128d'
+            | '\u1290' .. '\u12b0'
+            | '\u12b2' .. '\u12b5'
+            | '\u12b8' .. '\u12be'
             | '\u12c0'
-            | '\u12c2' to '\u12c5'
-            | '\u12c8' to '\u12d6'
-            | '\u12d8' to '\u1310'
-            | '\u1312' to '\u1315'
-            | '\u1318' to '\u135a'
-            | '\u1380' to '\u138f'
-            | '\u13a0' to '\u13f4'
-            | '\u1401' to '\u166c'
-            | '\u166f' to '\u167f'
-            | '\u1681' to '\u169a'
-            | '\u16a0' to '\u16ea'
-            | '\u16ee' to '\u16f0'
-            | '\u1700' to '\u170c'
-            | '\u170e' to '\u1711'
-            | '\u1720' to '\u1731'
-            | '\u1740' to '\u1751'
-            | '\u1760' to '\u176c'
-            | '\u176e' to '\u1770'
-            | '\u1780' to '\u17b3'
+            | '\u12c2' .. '\u12c5'
+            | '\u12c8' .. '\u12d6'
+            | '\u12d8' .. '\u1310'
+            | '\u1312' .. '\u1315'
+            | '\u1318' .. '\u135a'
+            | '\u1380' .. '\u138f'
+            | '\u13a0' .. '\u13f4'
+            | '\u1401' .. '\u166c'
+            | '\u166f' .. '\u167f'
+            | '\u1681' .. '\u169a'
+            | '\u16a0' .. '\u16ea'
+            | '\u16ee' .. '\u16f0'
+            | '\u1700' .. '\u170c'
+            | '\u170e' .. '\u1711'
+            | '\u1720' .. '\u1731'
+            | '\u1740' .. '\u1751'
+            | '\u1760' .. '\u176c'
+            | '\u176e' .. '\u1770'
+            | '\u1780' .. '\u17b3'
             | '\u17d7'
             | '\u17dc'
-            | '\u1820' to '\u1842'
+            | '\u1820' .. '\u1842'
             | '\u1843'
-            | '\u1844' to '\u1877'
-            | '\u1880' to '\u18a8'
+            | '\u1844' .. '\u1877'
+            | '\u1880' .. '\u18a8'
             | '\u18aa'
-            | '\u18b0' to '\u18f5'
-            | '\u1900' to '\u191c'
-            | '\u1950' to '\u196d'
-            | '\u1970' to '\u1974'
-            | '\u1980' to '\u19ab'
-            | '\u19c1' to '\u19c7'
-            | '\u1a00' to '\u1a16'
-            | '\u1a20' to '\u1a54'
+            | '\u18b0' .. '\u18f5'
+            | '\u1900' .. '\u191c'
+            | '\u1950' .. '\u196d'
+            | '\u1970' .. '\u1974'
+            | '\u1980' .. '\u19ab'
+            | '\u19c1' .. '\u19c7'
+            | '\u1a00' .. '\u1a16'
+            | '\u1a20' .. '\u1a54'
             | '\u1aa7'
-            | '\u1b05' to '\u1b33'
-            | '\u1b45' to '\u1b4b'
-            | '\u1b83' to '\u1ba0'
-            | '\u1bae' to '\u1baf'
-            | '\u1bc0' to '\u1be5'
-            | '\u1c00' to '\u1c23'
-            | '\u1c4d' to '\u1c4f'
-            | '\u1c5a' to '\u1c77'
-            | '\u1c78' to '\u1c7d'
-            | '\u1ce9' to '\u1cec'
-            | '\u1cee' to '\u1cf1'
-            | '\u1d00' to '\u1d2b'
-            | '\u1d2c' to '\u1d61'
-            | '\u1d62' to '\u1d77'
+            | '\u1b05' .. '\u1b33'
+            | '\u1b45' .. '\u1b4b'
+            | '\u1b83' .. '\u1ba0'
+            | '\u1bae' .. '\u1baf'
+            | '\u1bc0' .. '\u1be5'
+            | '\u1c00' .. '\u1c23'
+            | '\u1c4d' .. '\u1c4f'
+            | '\u1c5a' .. '\u1c77'
+            | '\u1c78' .. '\u1c7d'
+            | '\u1ce9' .. '\u1cec'
+            | '\u1cee' .. '\u1cf1'
+            | '\u1d00' .. '\u1d2b'
+            | '\u1d2c' .. '\u1d61'
+            | '\u1d62' .. '\u1d77'
             | '\u1d78'
-            | '\u1d79' to '\u1d9a'
-            | '\u1d9b' to '\u1dbf'
-            | '\u1e00' to '\u1f15'
-            | '\u1f18' to '\u1f1d'
-            | '\u1f20' to '\u1f45'
-            | '\u1f48' to '\u1f4d'
-            | '\u1f50' to '\u1f57'
+            | '\u1d79' .. '\u1d9a'
+            | '\u1d9b' .. '\u1dbf'
+            | '\u1e00' .. '\u1f15'
+            | '\u1f18' .. '\u1f1d'
+            | '\u1f20' .. '\u1f45'
+            | '\u1f48' .. '\u1f4d'
+            | '\u1f50' .. '\u1f57'
             | '\u1f59'
             | '\u1f5b'
             | '\u1f5d'
-            | '\u1f5f' to '\u1f7d'
-            | '\u1f80' to '\u1fb4'
-            | '\u1fb6' to '\u1fbc'
+            | '\u1f5f' .. '\u1f7d'
+            | '\u1f80' .. '\u1fb4'
+            | '\u1fb6' .. '\u1fbc'
             | '\u1fbe'
-            | '\u1fc2' to '\u1fc4'
-            | '\u1fc6' to '\u1fcc'
-            | '\u1fd0' to '\u1fd3'
-            | '\u1fd6' to '\u1fdb'
-            | '\u1fe0' to '\u1fec'
-            | '\u1ff2' to '\u1ff4'
-            | '\u1ff6' to '\u1ffc'
+            | '\u1fc2' .. '\u1fc4'
+            | '\u1fc6' .. '\u1fcc'
+            | '\u1fd0' .. '\u1fd3'
+            | '\u1fd6' .. '\u1fdb'
+            | '\u1fe0' .. '\u1fec'
+            | '\u1ff2' .. '\u1ff4'
+            | '\u1ff6' .. '\u1ffc'
             | '\u2071'
             | '\u207f'
-            | '\u2090' to '\u209c'
+            | '\u2090' .. '\u209c'
             | '\u2102'
             | '\u2107'
-            | '\u210a' to '\u2113'
+            | '\u210a' .. '\u2113'
             | '\u2115'
             | '\u2118'
-            | '\u2119' to '\u211d'
+            | '\u2119' .. '\u211d'
             | '\u2124'
             | '\u2126'
             | '\u2128'
-            | '\u212a' to '\u212d'
+            | '\u212a' .. '\u212d'
             | '\u212e'
-            | '\u212f' to '\u2134'
-            | '\u2135' to '\u2138'
+            | '\u212f' .. '\u2134'
+            | '\u2135' .. '\u2138'
             | '\u2139'
-            | '\u213c' to '\u213f'
-            | '\u2145' to '\u2149'
+            | '\u213c' .. '\u213f'
+            | '\u2145' .. '\u2149'
             | '\u214e'
-            | '\u2160' to '\u2182'
-            | '\u2183' to '\u2184'
-            | '\u2185' to '\u2188'
-            | '\u2c00' to '\u2c2e'
-            | '\u2c30' to '\u2c5e'
-            | '\u2c60' to '\u2c7c'
+            | '\u2160' .. '\u2182'
+            | '\u2183' .. '\u2184'
+            | '\u2185' .. '\u2188'
+            | '\u2c00' .. '\u2c2e'
+            | '\u2c30' .. '\u2c5e'
+            | '\u2c60' .. '\u2c7c'
             | '\u2c7d'
-            | '\u2c7e' to '\u2ce4'
-            | '\u2ceb' to '\u2cee'
-            | '\u2d00' to '\u2d25'
-            | '\u2d30' to '\u2d65'
+            | '\u2c7e' .. '\u2ce4'
+            | '\u2ceb' .. '\u2cee'
+            | '\u2d00' .. '\u2d25'
+            | '\u2d30' .. '\u2d65'
             | '\u2d6f'
-            | '\u2d80' to '\u2d96'
-            | '\u2da0' to '\u2da6'
-            | '\u2da8' to '\u2dae'
-            | '\u2db0' to '\u2db6'
-            | '\u2db8' to '\u2dbe'
-            | '\u2dc0' to '\u2dc6'
-            | '\u2dc8' to '\u2dce'
-            | '\u2dd0' to '\u2dd6'
-            | '\u2dd8' to '\u2dde'
+            | '\u2d80' .. '\u2d96'
+            | '\u2da0' .. '\u2da6'
+            | '\u2da8' .. '\u2dae'
+            | '\u2db0' .. '\u2db6'
+            | '\u2db8' .. '\u2dbe'
+            | '\u2dc0' .. '\u2dc6'
+            | '\u2dc8' .. '\u2dce'
+            | '\u2dd0' .. '\u2dd6'
+            | '\u2dd8' .. '\u2dde'
             | '\u3005'
             | '\u3006'
             | '\u3007'
-            | '\u3021' to '\u3029'
-            | '\u3031' to '\u3035'
-            | '\u3038' to '\u303a'
+            | '\u3021' .. '\u3029'
+            | '\u3031' .. '\u3035'
+            | '\u3038' .. '\u303a'
             | '\u303b'
             | '\u303c'
-            | '\u3041' to '\u3096'
-            | '\u309d' to '\u309e'
+            | '\u3041' .. '\u3096'
+            | '\u309d' .. '\u309e'
             | '\u309f'
-            | '\u30a1' to '\u30fa'
-            | '\u30fc' to '\u30fe'
+            | '\u30a1' .. '\u30fa'
+            | '\u30fc' .. '\u30fe'
             | '\u30ff'
-            | '\u3105' to '\u312d'
-            | '\u3131' to '\u318e'
-            | '\u31a0' to '\u31ba'
-            | '\u31f0' to '\u31ff'
-            | '\u3400' to '\u4db5'
-            | '\u4e00' to '\u9fcb'
-            | '\ua000' to '\ua014'
+            | '\u3105' .. '\u312d'
+            | '\u3131' .. '\u318e'
+            | '\u31a0' .. '\u31ba'
+            | '\u31f0' .. '\u31ff'
+            | '\u3400' .. '\u4db5'
+            | '\u4e00' .. '\u9fcb'
+            | '\ua000' .. '\ua014'
             | '\ua015'
-            | '\ua016' to '\ua48c'
-            | '\ua4d0' to '\ua4f7'
-            | '\ua4f8' to '\ua4fd'
-            | '\ua500' to '\ua60b'
+            | '\ua016' .. '\ua48c'
+            | '\ua4d0' .. '\ua4f7'
+            | '\ua4f8' .. '\ua4fd'
+            | '\ua500' .. '\ua60b'
             | '\ua60c'
-            | '\ua610' to '\ua61f'
-            | '\ua62a' to '\ua62b'
-            | '\ua640' to '\ua66d'
+            | '\ua610' .. '\ua61f'
+            | '\ua62a' .. '\ua62b'
+            | '\ua640' .. '\ua66d'
             | '\ua66e'
             | '\ua67f'
-            | '\ua680' to '\ua697'
-            | '\ua6a0' to '\ua6e5'
-            | '\ua6e6' to '\ua6ef'
-            | '\ua717' to '\ua71f'
-            | '\ua722' to '\ua76f'
+            | '\ua680' .. '\ua697'
+            | '\ua6a0' .. '\ua6e5'
+            | '\ua6e6' .. '\ua6ef'
+            | '\ua717' .. '\ua71f'
+            | '\ua722' .. '\ua76f'
             | '\ua770'
-            | '\ua771' to '\ua787'
+            | '\ua771' .. '\ua787'
             | '\ua788'
-            | '\ua78b' to '\ua78e'
-            | '\ua790' to '\ua791'
-            | '\ua7a0' to '\ua7a9'
+            | '\ua78b' .. '\ua78e'
+            | '\ua790' .. '\ua791'
+            | '\ua7a0' .. '\ua7a9'
             | '\ua7fa'
-            | '\ua7fb' to '\ua801'
-            | '\ua803' to '\ua805'
-            | '\ua807' to '\ua80a'
-            | '\ua80c' to '\ua822'
-            | '\ua840' to '\ua873'
-            | '\ua882' to '\ua8b3'
-            | '\ua8f2' to '\ua8f7'
+            | '\ua7fb' .. '\ua801'
+            | '\ua803' .. '\ua805'
+            | '\ua807' .. '\ua80a'
+            | '\ua80c' .. '\ua822'
+            | '\ua840' .. '\ua873'
+            | '\ua882' .. '\ua8b3'
+            | '\ua8f2' .. '\ua8f7'
             | '\ua8fb'
-            | '\ua90a' to '\ua925'
-            | '\ua930' to '\ua946'
-            | '\ua960' to '\ua97c'
-            | '\ua984' to '\ua9b2'
+            | '\ua90a' .. '\ua925'
+            | '\ua930' .. '\ua946'
+            | '\ua960' .. '\ua97c'
+            | '\ua984' .. '\ua9b2'
             | '\ua9cf'
-            | '\uaa00' to '\uaa28'
-            | '\uaa40' to '\uaa42'
-            | '\uaa44' to '\uaa4b'
-            | '\uaa60' to '\uaa6f'
+            | '\uaa00' .. '\uaa28'
+            | '\uaa40' .. '\uaa42'
+            | '\uaa44' .. '\uaa4b'
+            | '\uaa60' .. '\uaa6f'
             | '\uaa70'
-            | '\uaa71' to '\uaa76'
+            | '\uaa71' .. '\uaa76'
             | '\uaa7a'
-            | '\uaa80' to '\uaaaf'
+            | '\uaa80' .. '\uaaaf'
             | '\uaab1'
-            | '\uaab5' to '\uaab6'
-            | '\uaab9' to '\uaabd'
+            | '\uaab5' .. '\uaab6'
+            | '\uaab9' .. '\uaabd'
             | '\uaac0'
             | '\uaac2'
-            | '\uaadb' to '\uaadc'
+            | '\uaadb' .. '\uaadc'
             | '\uaadd'
-            | '\uab01' to '\uab06'
-            | '\uab09' to '\uab0e'
-            | '\uab11' to '\uab16'
-            | '\uab20' to '\uab26'
-            | '\uab28' to '\uab2e'
-            | '\uabc0' to '\uabe2'
-            | '\uac00' to '\ud7a3'
-            | '\ud7b0' to '\ud7c6'
-            | '\ud7cb' to '\ud7fb'
-            | '\uf900' to '\ufa2d'
-            | '\ufa30' to '\ufa6d'
-            | '\ufa70' to '\ufad9'
-            | '\ufb00' to '\ufb06'
-            | '\ufb13' to '\ufb17'
+            | '\uab01' .. '\uab06'
+            | '\uab09' .. '\uab0e'
+            | '\uab11' .. '\uab16'
+            | '\uab20' .. '\uab26'
+            | '\uab28' .. '\uab2e'
+            | '\uabc0' .. '\uabe2'
+            | '\uac00' .. '\ud7a3'
+            | '\ud7b0' .. '\ud7c6'
+            | '\ud7cb' .. '\ud7fb'
+            | '\uf900' .. '\ufa2d'
+            | '\ufa30' .. '\ufa6d'
+            | '\ufa70' .. '\ufad9'
+            | '\ufb00' .. '\ufb06'
+            | '\ufb13' .. '\ufb17'
             | '\ufb1d'
-            | '\ufb1f' to '\ufb28'
-            | '\ufb2a' to '\ufb36'
-            | '\ufb38' to '\ufb3c'
+            | '\ufb1f' .. '\ufb28'
+            | '\ufb2a' .. '\ufb36'
+            | '\ufb38' .. '\ufb3c'
             | '\ufb3e'
-            | '\ufb40' to '\ufb41'
-            | '\ufb43' to '\ufb44'
-            | '\ufb46' to '\ufbb1'
-            | '\ufbd3' to '\ufc5d'
-            | '\ufc64' to '\ufd3d'
-            | '\ufd50' to '\ufd8f'
-            | '\ufd92' to '\ufdc7'
-            | '\ufdf0' to '\ufdf9'
+            | '\ufb40' .. '\ufb41'
+            | '\ufb43' .. '\ufb44'
+            | '\ufb46' .. '\ufbb1'
+            | '\ufbd3' .. '\ufc5d'
+            | '\ufc64' .. '\ufd3d'
+            | '\ufd50' .. '\ufd8f'
+            | '\ufd92' .. '\ufdc7'
+            | '\ufdf0' .. '\ufdf9'
             | '\ufe71'
             | '\ufe73'
             | '\ufe77'
             | '\ufe79'
             | '\ufe7b'
             | '\ufe7d'
-            | '\ufe7f' to '\ufefc'
-            | '\uff21' to '\uff3a'
-            | '\uff41' to '\uff5a'
-            | '\uff66' to '\uff6f'
+            | '\ufe7f' .. '\ufefc'
+            | '\uff21' .. '\uff3a'
+            | '\uff41' .. '\uff5a'
+            | '\uff66' .. '\uff6f'
             | '\uff70'
-            | '\uff71' to '\uff9d'
-            | '\uffa0' to '\uffbe'
-            | '\uffc2' to '\uffc7'
-            | '\uffca' to '\uffcf'
-            | '\uffd2' to '\uffd7'
-            | '\uffda' to '\uffdc'
-            | '\U00010000' to '\U0001000b'
-            | '\U0001000d' to '\U00010026'
-            | '\U00010028' to '\U0001003a'
-            | '\U0001003c' to '\U0001003d'
-            | '\U0001003f' to '\U0001004d'
-            | '\U00010050' to '\U0001005d'
-            | '\U00010080' to '\U000100fa'
-            | '\U00010140' to '\U00010174'
-            | '\U00010280' to '\U0001029c'
-            | '\U000102a0' to '\U000102d0'
-            | '\U00010300' to '\U0001031e'
-            | '\U00010330' to '\U00010340'
+            | '\uff71' .. '\uff9d'
+            | '\uffa0' .. '\uffbe'
+            | '\uffc2' .. '\uffc7'
+            | '\uffca' .. '\uffcf'
+            | '\uffd2' .. '\uffd7'
+            | '\uffda' .. '\uffdc'
+            | '\U00010000' .. '\U0001000b'
+            | '\U0001000d' .. '\U00010026'
+            | '\U00010028' .. '\U0001003a'
+            | '\U0001003c' .. '\U0001003d'
+            | '\U0001003f' .. '\U0001004d'
+            | '\U00010050' .. '\U0001005d'
+            | '\U00010080' .. '\U000100fa'
+            | '\U00010140' .. '\U00010174'
+            | '\U00010280' .. '\U0001029c'
+            | '\U000102a0' .. '\U000102d0'
+            | '\U00010300' .. '\U0001031e'
+            | '\U00010330' .. '\U00010340'
             | '\U00010341'
-            | '\U00010342' to '\U00010349'
+            | '\U00010342' .. '\U00010349'
             | '\U0001034a'
-            | '\U00010380' to '\U0001039d'
-            | '\U000103a0' to '\U000103c3'
-            | '\U000103c8' to '\U000103cf'
-            | '\U000103d1' to '\U000103d5'
-            | '\U00010400' to '\U0001044f'
-            | '\U00010450' to '\U0001049d'
-            | '\U00010800' to '\U00010805'
+            | '\U00010380' .. '\U0001039d'
+            | '\U000103a0' .. '\U000103c3'
+            | '\U000103c8' .. '\U000103cf'
+            | '\U000103d1' .. '\U000103d5'
+            | '\U00010400' .. '\U0001044f'
+            | '\U00010450' .. '\U0001049d'
+            | '\U00010800' .. '\U00010805'
             | '\U00010808'
-            | '\U0001080a' to '\U00010835'
-            | '\U00010837' to '\U00010838'
+            | '\U0001080a' .. '\U00010835'
+            | '\U00010837' .. '\U00010838'
             | '\U0001083c'
-            | '\U0001083f' to '\U00010855'
-            | '\U00010900' to '\U00010915'
-            | '\U00010920' to '\U00010939'
+            | '\U0001083f' .. '\U00010855'
+            | '\U00010900' .. '\U00010915'
+            | '\U00010920' .. '\U00010939'
             | '\U00010a00'
-            | '\U00010a10' to '\U00010a13'
-            | '\U00010a15' to '\U00010a17'
-            | '\U00010a19' to '\U00010a33'
-            | '\U00010a60' to '\U00010a7c'
-            | '\U00010b00' to '\U00010b35'
-            | '\U00010b40' to '\U00010b55'
-            | '\U00010b60' to '\U00010b72'
-            | '\U00010c00' to '\U00010c48'
-            | '\U00011003' to '\U00011037'
-            | '\U00011083' to '\U000110af'
-            | '\U00012000' to '\U0001236e'
-            | '\U00012400' to '\U00012462'
-            | '\U00013000' to '\U0001342e'
-            | '\U00016800' to '\U00016a38'
-            | '\U0001b000' to '\U0001b001'
-            | '\U0001d400' to '\U0001d454'
-            | '\U0001d456' to '\U0001d49c'
-            | '\U0001d49e' to '\U0001d49f'
+            | '\U00010a10' .. '\U00010a13'
+            | '\U00010a15' .. '\U00010a17'
+            | '\U00010a19' .. '\U00010a33'
+            | '\U00010a60' .. '\U00010a7c'
+            | '\U00010b00' .. '\U00010b35'
+            | '\U00010b40' .. '\U00010b55'
+            | '\U00010b60' .. '\U00010b72'
+            | '\U00010c00' .. '\U00010c48'
+            | '\U00011003' .. '\U00011037'
+            | '\U00011083' .. '\U000110af'
+            | '\U00012000' .. '\U0001236e'
+            | '\U00012400' .. '\U00012462'
+            | '\U00013000' .. '\U0001342e'
+            | '\U00016800' .. '\U00016a38'
+            | '\U0001b000' .. '\U0001b001'
+            | '\U0001d400' .. '\U0001d454'
+            | '\U0001d456' .. '\U0001d49c'
+            | '\U0001d49e' .. '\U0001d49f'
             | '\U0001d4a2'
-            | '\U0001d4a5' to '\U0001d4a6'
-            | '\U0001d4a9' to '\U0001d4ac'
-            | '\U0001d4ae' to '\U0001d4b9'
+            | '\U0001d4a5' .. '\U0001d4a6'
+            | '\U0001d4a9' .. '\U0001d4ac'
+            | '\U0001d4ae' .. '\U0001d4b9'
             | '\U0001d4bb'
-            | '\U0001d4bd' to '\U0001d4c3'
-            | '\U0001d4c5' to '\U0001d505'
-            | '\U0001d507' to '\U0001d50a'
-            | '\U0001d50d' to '\U0001d514'
-            | '\U0001d516' to '\U0001d51c'
-            | '\U0001d51e' to '\U0001d539'
-            | '\U0001d53b' to '\U0001d53e'
-            | '\U0001d540' to '\U0001d544'
+            | '\U0001d4bd' .. '\U0001d4c3'
+            | '\U0001d4c5' .. '\U0001d505'
+            | '\U0001d507' .. '\U0001d50a'
+            | '\U0001d50d' .. '\U0001d514'
+            | '\U0001d516' .. '\U0001d51c'
+            | '\U0001d51e' .. '\U0001d539'
+            | '\U0001d53b' .. '\U0001d53e'
+            | '\U0001d540' .. '\U0001d544'
             | '\U0001d546'
-            | '\U0001d54a' to '\U0001d550'
-            | '\U0001d552' to '\U0001d6a5'
-            | '\U0001d6a8' to '\U0001d6c0'
-            | '\U0001d6c2' to '\U0001d6da'
-            | '\U0001d6dc' to '\U0001d6fa'
-            | '\U0001d6fc' to '\U0001d714'
-            | '\U0001d716' to '\U0001d734'
-            | '\U0001d736' to '\U0001d74e'
-            | '\U0001d750' to '\U0001d76e'
-            | '\U0001d770' to '\U0001d788'
-            | '\U0001d78a' to '\U0001d7a8'
-            | '\U0001d7aa' to '\U0001d7c2'
-            | '\U0001d7c4' to '\U0001d7cb'
-            | '\U00020000' to '\U0002a6d6'
-            | '\U0002a700' to '\U0002b734'
-            | '\U0002b740' to '\U0002b81d'
-            | '\U0002f800' to '\U0002fa1d'
+            | '\U0001d54a' .. '\U0001d550'
+            | '\U0001d552' .. '\U0001d6a5'
+            | '\U0001d6a8' .. '\U0001d6c0'
+            | '\U0001d6c2' .. '\U0001d6da'
+            | '\U0001d6dc' .. '\U0001d6fa'
+            | '\U0001d6fc' .. '\U0001d714'
+            | '\U0001d716' .. '\U0001d734'
+            | '\U0001d736' .. '\U0001d74e'
+            | '\U0001d750' .. '\U0001d76e'
+            | '\U0001d770' .. '\U0001d788'
+            | '\U0001d78a' .. '\U0001d7a8'
+            | '\U0001d7aa' .. '\U0001d7c2'
+            | '\U0001d7c4' .. '\U0001d7cb'
+            | '\U00020000' .. '\U0002a6d6'
+            | '\U0002a700' .. '\U0002b734'
+            | '\U0002b740' .. '\U0002b81d'
+            | '\U0002f800' .. '\U0002fa1d'
           => true,
           _ => false
         };