[svn:parrot] r42806 - trunk/ext/nqp-rx/src/stage0

coke at svn.parrot.org coke at svn.parrot.org
Wed Nov 25 20:09:52 UTC 2009


Author: coke
Date: Wed Nov 25 20:09:43 2009
New Revision: 42806
URL: https://trac.parrot.org/parrot/changeset/42806

Log:
Update nqp-rx with try/CATCH/CONTROL work from tene++

Modified:
   trunk/ext/nqp-rx/src/stage0/HLL-s0.pir
   trunk/ext/nqp-rx/src/stage0/NQP-s0.pir
   trunk/ext/nqp-rx/src/stage0/P6Regex-s0.pir
   trunk/ext/nqp-rx/src/stage0/Regex-s0.pir

Modified: trunk/ext/nqp-rx/src/stage0/HLL-s0.pir
==============================================================================
--- trunk/ext/nqp-rx/src/stage0/HLL-s0.pir	Wed Nov 25 15:55:29 2009	(r42805)
+++ trunk/ext/nqp-rx/src/stage0/HLL-s0.pir	Wed Nov 25 20:09:43 2009	(r42806)
@@ -862,111 +862,111 @@
 ### .include 'gen/hllgrammar-grammar.pir'
 
 .namespace []
-.sub "_block11"  :anon :subid("10_1259103971.9212")
+.sub "_block11"  :anon :subid("10_1259177727.36125")
 .annotate "line", 0
     get_hll_global $P14, ["HLL";"Grammar"], "_block13" 
     capture_lex $P14
 .annotate "line", 5
     get_hll_global $P14, ["HLL";"Grammar"], "_block13" 
     capture_lex $P14
-    $P296 = $P14()
+    $P297 = $P14()
 .annotate "line", 1
-    .return ($P296)
+    .return ($P297)
 .end
 
 
 .namespace []
-.sub "" :load :init :subid("post94") :outer("10_1259103971.9212")
+.sub "" :load :init :subid("post94") :outer("10_1259177727.36125")
 .annotate "line", 0
-    .const 'Sub' $P12 = "10_1259103971.9212" 
+    .const 'Sub' $P12 = "10_1259177727.36125" 
     .local pmc block
     set block, $P12
-    $P297 = get_root_global ["parrot"], "P6metaclass"
-    $P297."new_class"("HLL::Grammar", "Regex::Cursor" :named("parent"))
+    $P298 = get_root_global ["parrot"], "P6metaclass"
+    $P298."new_class"("HLL::Grammar", "Regex::Cursor" :named("parent"))
 .end
 
 
 .namespace ["HLL";"Grammar"]
-.sub "_block13"  :subid("11_1259103971.9212") :outer("10_1259103971.9212")
+.sub "_block13"  :subid("11_1259177727.36125") :outer("10_1259177727.36125")
 .annotate "line", 5
-    .const 'Sub' $P286 = "92_1259103971.9212" 
-    capture_lex $P286
-    .const 'Sub' $P279 = "90_1259103971.9212" 
-    capture_lex $P279
-    .const 'Sub' $P266 = "87_1259103971.9212" 
+    .const 'Sub' $P287 = "92_1259177727.36125" 
+    capture_lex $P287
+    .const 'Sub' $P280 = "90_1259177727.36125" 
+    capture_lex $P280
+    .const 'Sub' $P266 = "87_1259177727.36125" 
     capture_lex $P266
-    .const 'Sub' $P261 = "85_1259103971.9212" 
+    .const 'Sub' $P261 = "85_1259177727.36125" 
     capture_lex $P261
-    .const 'Sub' $P255 = "83_1259103971.9212" 
+    .const 'Sub' $P255 = "83_1259177727.36125" 
     capture_lex $P255
-    .const 'Sub' $P249 = "81_1259103971.9212" 
+    .const 'Sub' $P249 = "81_1259177727.36125" 
     capture_lex $P249
-    .const 'Sub' $P244 = "79_1259103971.9212" 
+    .const 'Sub' $P244 = "79_1259177727.36125" 
     capture_lex $P244
-    .const 'Sub' $P239 = "77_1259103971.9212" 
+    .const 'Sub' $P239 = "77_1259177727.36125" 
     capture_lex $P239
-    .const 'Sub' $P234 = "75_1259103971.9212" 
+    .const 'Sub' $P234 = "75_1259177727.36125" 
     capture_lex $P234
-    .const 'Sub' $P229 = "73_1259103971.9212" 
+    .const 'Sub' $P229 = "73_1259177727.36125" 
     capture_lex $P229
-    .const 'Sub' $P224 = "71_1259103971.9212" 
+    .const 'Sub' $P224 = "71_1259177727.36125" 
     capture_lex $P224
-    .const 'Sub' $P219 = "69_1259103971.9212" 
+    .const 'Sub' $P219 = "69_1259177727.36125" 
     capture_lex $P219
-    .const 'Sub' $P208 = "65_1259103971.9212" 
+    .const 'Sub' $P208 = "65_1259177727.36125" 
     capture_lex $P208
-    .const 'Sub' $P195 = "63_1259103971.9212" 
+    .const 'Sub' $P195 = "63_1259177727.36125" 
     capture_lex $P195
-    .const 'Sub' $P183 = "61_1259103971.9212" 
+    .const 'Sub' $P183 = "61_1259177727.36125" 
     capture_lex $P183
-    .const 'Sub' $P176 = "59_1259103971.9212" 
+    .const 'Sub' $P176 = "59_1259177727.36125" 
     capture_lex $P176
-    .const 'Sub' $P167 = "57_1259103971.9212" 
+    .const 'Sub' $P167 = "57_1259177727.36125" 
     capture_lex $P167
-    .const 'Sub' $P160 = "55_1259103971.9212" 
+    .const 'Sub' $P160 = "55_1259177727.36125" 
     capture_lex $P160
-    .const 'Sub' $P151 = "53_1259103971.9212" 
+    .const 'Sub' $P151 = "53_1259177727.36125" 
     capture_lex $P151
-    .const 'Sub' $P144 = "51_1259103971.9212" 
+    .const 'Sub' $P144 = "51_1259177727.36125" 
     capture_lex $P144
-    .const 'Sub' $P135 = "49_1259103971.9212" 
+    .const 'Sub' $P135 = "49_1259177727.36125" 
     capture_lex $P135
-    .const 'Sub' $P128 = "47_1259103971.9212" 
+    .const 'Sub' $P128 = "47_1259177727.36125" 
     capture_lex $P128
-    .const 'Sub' $P121 = "45_1259103971.9212" 
+    .const 'Sub' $P121 = "45_1259177727.36125" 
     capture_lex $P121
-    .const 'Sub' $P111 = "43_1259103971.9212" 
+    .const 'Sub' $P111 = "43_1259177727.36125" 
     capture_lex $P111
-    .const 'Sub' $P103 = "41_1259103971.9212" 
+    .const 'Sub' $P103 = "41_1259177727.36125" 
     capture_lex $P103
-    .const 'Sub' $P93 = "40_1259103971.9212" 
+    .const 'Sub' $P93 = "40_1259177727.36125" 
     capture_lex $P93
-    .const 'Sub' $P87 = "38_1259103971.9212" 
+    .const 'Sub' $P87 = "38_1259177727.36125" 
     capture_lex $P87
-    .const 'Sub' $P82 = "36_1259103971.9212" 
+    .const 'Sub' $P82 = "36_1259177727.36125" 
     capture_lex $P82
-    .const 'Sub' $P74 = "34_1259103971.9212" 
+    .const 'Sub' $P74 = "34_1259177727.36125" 
     capture_lex $P74
-    .const 'Sub' $P68 = "32_1259103971.9212" 
+    .const 'Sub' $P68 = "32_1259177727.36125" 
     capture_lex $P68
-    .const 'Sub' $P62 = "30_1259103971.9212" 
+    .const 'Sub' $P62 = "30_1259177727.36125" 
     capture_lex $P62
-    .const 'Sub' $P56 = "28_1259103971.9212" 
+    .const 'Sub' $P56 = "28_1259177727.36125" 
     capture_lex $P56
-    .const 'Sub' $P23 = "14_1259103971.9212" 
+    .const 'Sub' $P23 = "14_1259177727.36125" 
     capture_lex $P23
-    .const 'Sub' $P15 = "12_1259103971.9212" 
+    .const 'Sub' $P15 = "12_1259177727.36125" 
     capture_lex $P15
 .annotate "line", 33
-    .const 'Sub' $P286 = "92_1259103971.9212" 
-    capture_lex $P286
+    .const 'Sub' $P287 = "92_1259177727.36125" 
+    capture_lex $P287
 .annotate "line", 5
-    .return ($P286)
+    .return ($P287)
 .end
 
 
 .namespace ["HLL";"Grammar"]
-.sub "ws"  :subid("12_1259103971.9212") :method :outer("11_1259103971.9212")
+.sub "ws"  :subid("12_1259177727.36125") :method :outer("11_1259177727.36125")
 .annotate "line", 5
     .local string rx16_tgt
     .local int rx16_pos
@@ -1050,7 +1050,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "!PREFIX__ws"  :subid("13_1259103971.9212") :method
+.sub "!PREFIX__ws"  :subid("13_1259177727.36125") :method
 .annotate "line", 5
     new $P18, "ResizablePMCArray"
     push $P18, ""
@@ -1059,7 +1059,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "termish"  :subid("14_1259103971.9212") :method :outer("11_1259103971.9212")
+.sub "termish"  :subid("14_1259177727.36125") :method :outer("11_1259177727.36125")
 .annotate "line", 5
     .local string rx24_tgt
     .local int rx24_pos
@@ -1151,7 +1151,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "!PREFIX__termish"  :subid("15_1259103971.9212") :method
+.sub "!PREFIX__termish"  :subid("15_1259177727.36125") :method
 .annotate "line", 5
     new $P26, "ResizablePMCArray"
     push $P26, ""
@@ -1160,7 +1160,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "term"  :subid("16_1259103971.9212") :method
+.sub "term"  :subid("16_1259177727.36125") :method
 .annotate "line", 13
     $P33 = self."!protoregex"("term")
     .return ($P33)
@@ -1168,7 +1168,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "!PREFIX__term"  :subid("17_1259103971.9212") :method
+.sub "!PREFIX__term"  :subid("17_1259177727.36125") :method
 .annotate "line", 13
     $P35 = self."!PREFIX__!protoregex"("term")
     .return ($P35)
@@ -1176,7 +1176,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "infix"  :subid("18_1259103971.9212") :method
+.sub "infix"  :subid("18_1259177727.36125") :method
 .annotate "line", 14
     $P37 = self."!protoregex"("infix")
     .return ($P37)
@@ -1184,7 +1184,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "!PREFIX__infix"  :subid("19_1259103971.9212") :method
+.sub "!PREFIX__infix"  :subid("19_1259177727.36125") :method
 .annotate "line", 14
     $P39 = self."!PREFIX__!protoregex"("infix")
     .return ($P39)
@@ -1192,7 +1192,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "prefix"  :subid("20_1259103971.9212") :method
+.sub "prefix"  :subid("20_1259177727.36125") :method
 .annotate "line", 15
     $P41 = self."!protoregex"("prefix")
     .return ($P41)
@@ -1200,7 +1200,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "!PREFIX__prefix"  :subid("21_1259103971.9212") :method
+.sub "!PREFIX__prefix"  :subid("21_1259177727.36125") :method
 .annotate "line", 15
     $P43 = self."!PREFIX__!protoregex"("prefix")
     .return ($P43)
@@ -1208,7 +1208,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "postfix"  :subid("22_1259103971.9212") :method
+.sub "postfix"  :subid("22_1259177727.36125") :method
 .annotate "line", 16
     $P45 = self."!protoregex"("postfix")
     .return ($P45)
@@ -1216,7 +1216,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "!PREFIX__postfix"  :subid("23_1259103971.9212") :method
+.sub "!PREFIX__postfix"  :subid("23_1259177727.36125") :method
 .annotate "line", 16
     $P47 = self."!PREFIX__!protoregex"("postfix")
     .return ($P47)
@@ -1224,7 +1224,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "circumfix"  :subid("24_1259103971.9212") :method
+.sub "circumfix"  :subid("24_1259177727.36125") :method
 .annotate "line", 17
     $P49 = self."!protoregex"("circumfix")
     .return ($P49)
@@ -1232,7 +1232,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "!PREFIX__circumfix"  :subid("25_1259103971.9212") :method
+.sub "!PREFIX__circumfix"  :subid("25_1259177727.36125") :method
 .annotate "line", 17
     $P51 = self."!PREFIX__!protoregex"("circumfix")
     .return ($P51)
@@ -1240,7 +1240,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "postcircumfix"  :subid("26_1259103971.9212") :method
+.sub "postcircumfix"  :subid("26_1259177727.36125") :method
 .annotate "line", 18
     $P53 = self."!protoregex"("postcircumfix")
     .return ($P53)
@@ -1248,7 +1248,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "!PREFIX__postcircumfix"  :subid("27_1259103971.9212") :method
+.sub "!PREFIX__postcircumfix"  :subid("27_1259177727.36125") :method
 .annotate "line", 18
     $P55 = self."!PREFIX__!protoregex"("postcircumfix")
     .return ($P55)
@@ -1256,7 +1256,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "term:sym<circumfix>"  :subid("28_1259103971.9212") :method :outer("11_1259103971.9212")
+.sub "term:sym<circumfix>"  :subid("28_1259177727.36125") :method :outer("11_1259177727.36125")
 .annotate "line", 5
     .local string rx57_tgt
     .local int rx57_pos
@@ -1314,7 +1314,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "!PREFIX__term:sym<circumfix>"  :subid("29_1259103971.9212") :method
+.sub "!PREFIX__term:sym<circumfix>"  :subid("29_1259177727.36125") :method
 .annotate "line", 5
     $P59 = self."!PREFIX__!subrule"("circumfix", "")
     new $P60, "ResizablePMCArray"
@@ -1324,7 +1324,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "infixish"  :subid("30_1259103971.9212") :method :outer("11_1259103971.9212")
+.sub "infixish"  :subid("30_1259177727.36125") :method :outer("11_1259177727.36125")
 .annotate "line", 5
     .local string rx63_tgt
     .local int rx63_pos
@@ -1382,7 +1382,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "!PREFIX__infixish"  :subid("31_1259103971.9212") :method
+.sub "!PREFIX__infixish"  :subid("31_1259177727.36125") :method
 .annotate "line", 5
     $P65 = self."!PREFIX__!subrule"("OPER=infix", "")
     new $P66, "ResizablePMCArray"
@@ -1392,7 +1392,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "prefixish"  :subid("32_1259103971.9212") :method :outer("11_1259103971.9212")
+.sub "prefixish"  :subid("32_1259177727.36125") :method :outer("11_1259177727.36125")
 .annotate "line", 5
     .local string rx69_tgt
     .local int rx69_pos
@@ -1455,7 +1455,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "!PREFIX__prefixish"  :subid("33_1259103971.9212") :method
+.sub "!PREFIX__prefixish"  :subid("33_1259177727.36125") :method
 .annotate "line", 5
     $P71 = self."!PREFIX__!subrule"("OPER=prefix", "")
     new $P72, "ResizablePMCArray"
@@ -1465,7 +1465,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "postfixish"  :subid("34_1259103971.9212") :method :outer("11_1259103971.9212")
+.sub "postfixish"  :subid("34_1259177727.36125") :method :outer("11_1259177727.36125")
 .annotate "line", 5
     .local string rx75_tgt
     .local int rx75_pos
@@ -1539,7 +1539,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "!PREFIX__postfixish"  :subid("35_1259103971.9212") :method
+.sub "!PREFIX__postfixish"  :subid("35_1259177727.36125") :method
 .annotate "line", 5
     $P77 = self."!PREFIX__!subrule"("OPER=postcircumfix", "")
     $P78 = self."!PREFIX__!subrule"("OPER=postfix", "")
@@ -1551,7 +1551,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "nullterm"  :subid("36_1259103971.9212") :method :outer("11_1259103971.9212")
+.sub "nullterm"  :subid("36_1259177727.36125") :method :outer("11_1259177727.36125")
 .annotate "line", 5
     .local string rx83_tgt
     .local int rx83_pos
@@ -1602,7 +1602,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "!PREFIX__nullterm"  :subid("37_1259103971.9212") :method
+.sub "!PREFIX__nullterm"  :subid("37_1259177727.36125") :method
 .annotate "line", 5
     new $P85, "ResizablePMCArray"
     push $P85, ""
@@ -1611,7 +1611,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "nullterm_alt"  :subid("38_1259103971.9212") :method :outer("11_1259103971.9212")
+.sub "nullterm_alt"  :subid("38_1259177727.36125") :method :outer("11_1259177727.36125")
 .annotate "line", 5
     .local string rx88_tgt
     .local int rx88_pos
@@ -1669,7 +1669,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "!PREFIX__nullterm_alt"  :subid("39_1259103971.9212") :method
+.sub "!PREFIX__nullterm_alt"  :subid("39_1259177727.36125") :method
 .annotate "line", 5
     $P90 = self."!PREFIX__!subrule"("term", "")
     new $P91, "ResizablePMCArray"
@@ -1679,7 +1679,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "nulltermish"  :subid("40_1259103971.9212") :method :outer("11_1259103971.9212")
+.sub "nulltermish"  :subid("40_1259177727.36125") :method :outer("11_1259177727.36125")
 .annotate "line", 33
     new $P95, 'ExceptionHandler'
     set_addr $P95, control_94
@@ -1706,7 +1706,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "quote_delimited"  :subid("41_1259103971.9212") :method :outer("11_1259103971.9212")
+.sub "quote_delimited"  :subid("41_1259177727.36125") :method :outer("11_1259177727.36125")
 .annotate "line", 33
     .local string rx104_tgt
     .local int rx104_pos
@@ -1788,7 +1788,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "!PREFIX__quote_delimited"  :subid("42_1259103971.9212") :method
+.sub "!PREFIX__quote_delimited"  :subid("42_1259177727.36125") :method
 .annotate "line", 33
     $P106 = self."!PREFIX__!subrule"("starter", "")
     new $P107, "ResizablePMCArray"
@@ -1798,7 +1798,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "quote_atom"  :subid("43_1259103971.9212") :method :outer("11_1259103971.9212")
+.sub "quote_atom"  :subid("43_1259177727.36125") :method :outer("11_1259177727.36125")
 .annotate "line", 33
     .local string rx112_tgt
     .local int rx112_pos
@@ -1889,7 +1889,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "!PREFIX__quote_atom"  :subid("44_1259103971.9212") :method
+.sub "!PREFIX__quote_atom"  :subid("44_1259177727.36125") :method
 .annotate "line", 33
     new $P114, "ResizablePMCArray"
     push $P114, ""
@@ -1898,7 +1898,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "decint"  :subid("45_1259103971.9212") :method :outer("11_1259103971.9212")
+.sub "decint"  :subid("45_1259177727.36125") :method :outer("11_1259177727.36125")
 .annotate "line", 33
     .local string rx122_tgt
     .local int rx122_pos
@@ -1970,7 +1970,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "!PREFIX__decint"  :subid("46_1259103971.9212") :method
+.sub "!PREFIX__decint"  :subid("46_1259177727.36125") :method
 .annotate "line", 33
     new $P124, "ResizablePMCArray"
     push $P124, ""
@@ -1979,7 +1979,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "hexints"  :subid("47_1259103971.9212") :method :outer("11_1259103971.9212")
+.sub "hexints"  :subid("47_1259177727.36125") :method :outer("11_1259177727.36125")
 .annotate "line", 33
     .local string rx129_tgt
     .local int rx129_pos
@@ -2063,7 +2063,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "!PREFIX__hexints"  :subid("48_1259103971.9212") :method
+.sub "!PREFIX__hexints"  :subid("48_1259177727.36125") :method
 .annotate "line", 33
     new $P131, "ResizablePMCArray"
     push $P131, ""
@@ -2072,7 +2072,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "hexint"  :subid("49_1259103971.9212") :method :outer("11_1259103971.9212")
+.sub "hexint"  :subid("49_1259177727.36125") :method :outer("11_1259177727.36125")
 .annotate "line", 33
     .local string rx136_tgt
     .local int rx136_pos
@@ -2153,7 +2153,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "!PREFIX__hexint"  :subid("50_1259103971.9212") :method
+.sub "!PREFIX__hexint"  :subid("50_1259177727.36125") :method
 .annotate "line", 33
     new $P138, "ResizablePMCArray"
     push $P138, ""
@@ -2162,7 +2162,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "hexints"  :subid("51_1259103971.9212") :method :outer("11_1259103971.9212")
+.sub "hexints"  :subid("51_1259177727.36125") :method :outer("11_1259177727.36125")
 .annotate "line", 33
     .local string rx145_tgt
     .local int rx145_pos
@@ -2246,7 +2246,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "!PREFIX__hexints"  :subid("52_1259103971.9212") :method
+.sub "!PREFIX__hexints"  :subid("52_1259177727.36125") :method
 .annotate "line", 33
     new $P147, "ResizablePMCArray"
     push $P147, ""
@@ -2255,7 +2255,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "octint"  :subid("53_1259103971.9212") :method :outer("11_1259103971.9212")
+.sub "octint"  :subid("53_1259177727.36125") :method :outer("11_1259177727.36125")
 .annotate "line", 33
     .local string rx152_tgt
     .local int rx152_pos
@@ -2336,7 +2336,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "!PREFIX__octint"  :subid("54_1259103971.9212") :method
+.sub "!PREFIX__octint"  :subid("54_1259177727.36125") :method
 .annotate "line", 33
     new $P154, "ResizablePMCArray"
     push $P154, ""
@@ -2345,7 +2345,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "octints"  :subid("55_1259103971.9212") :method :outer("11_1259103971.9212")
+.sub "octints"  :subid("55_1259177727.36125") :method :outer("11_1259177727.36125")
 .annotate "line", 33
     .local string rx161_tgt
     .local int rx161_pos
@@ -2429,7 +2429,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "!PREFIX__octints"  :subid("56_1259103971.9212") :method
+.sub "!PREFIX__octints"  :subid("56_1259177727.36125") :method
 .annotate "line", 33
     new $P163, "ResizablePMCArray"
     push $P163, ""
@@ -2438,7 +2438,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "binint"  :subid("57_1259103971.9212") :method :outer("11_1259103971.9212")
+.sub "binint"  :subid("57_1259177727.36125") :method :outer("11_1259177727.36125")
 .annotate "line", 33
     .local string rx168_tgt
     .local int rx168_pos
@@ -2519,7 +2519,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "!PREFIX__binint"  :subid("58_1259103971.9212") :method
+.sub "!PREFIX__binint"  :subid("58_1259177727.36125") :method
 .annotate "line", 33
     new $P170, "ResizablePMCArray"
     push $P170, ""
@@ -2528,7 +2528,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "binints"  :subid("59_1259103971.9212") :method :outer("11_1259103971.9212")
+.sub "binints"  :subid("59_1259177727.36125") :method :outer("11_1259177727.36125")
 .annotate "line", 33
     .local string rx177_tgt
     .local int rx177_pos
@@ -2612,7 +2612,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "!PREFIX__binints"  :subid("60_1259103971.9212") :method
+.sub "!PREFIX__binints"  :subid("60_1259177727.36125") :method
 .annotate "line", 33
     new $P179, "ResizablePMCArray"
     push $P179, ""
@@ -2621,7 +2621,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "integer"  :subid("61_1259103971.9212") :method :outer("11_1259103971.9212")
+.sub "integer"  :subid("61_1259177727.36125") :method :outer("11_1259177727.36125")
 .annotate "line", 33
     .local string rx184_tgt
     .local int rx184_pos
@@ -2769,7 +2769,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "!PREFIX__integer"  :subid("62_1259103971.9212") :method
+.sub "!PREFIX__integer"  :subid("62_1259177727.36125") :method
 .annotate "line", 33
     $P186 = self."!PREFIX__!subrule"("VALUE=decint", "")
     $P187 = self."!PREFIX__!subrule"("VALUE=decint", "0d")
@@ -2787,7 +2787,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "dec_number"  :subid("63_1259103971.9212") :method :outer("11_1259103971.9212")
+.sub "dec_number"  :subid("63_1259177727.36125") :method :outer("11_1259177727.36125")
 .annotate "line", 33
     .local string rx196_tgt
     .local int rx196_pos
@@ -2966,7 +2966,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "!PREFIX__dec_number"  :subid("64_1259103971.9212") :method
+.sub "!PREFIX__dec_number"  :subid("64_1259177727.36125") :method
 .annotate "line", 33
     new $P198, "ResizablePMCArray"
     push $P198, ""
@@ -2977,7 +2977,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "escale"  :subid("65_1259103971.9212") :method :outer("11_1259103971.9212")
+.sub "escale"  :subid("65_1259177727.36125") :method :outer("11_1259177727.36125")
 .annotate "line", 33
     .local string rx209_tgt
     .local int rx209_pos
@@ -3054,7 +3054,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "!PREFIX__escale"  :subid("66_1259103971.9212") :method
+.sub "!PREFIX__escale"  :subid("66_1259177727.36125") :method
 .annotate "line", 33
     new $P211, "ResizablePMCArray"
     push $P211, "e"
@@ -3064,7 +3064,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "quote_escape"  :subid("67_1259103971.9212") :method
+.sub "quote_escape"  :subid("67_1259177727.36125") :method
 .annotate "line", 79
     $P216 = self."!protoregex"("quote_escape")
     .return ($P216)
@@ -3072,7 +3072,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "!PREFIX__quote_escape"  :subid("68_1259103971.9212") :method
+.sub "!PREFIX__quote_escape"  :subid("68_1259177727.36125") :method
 .annotate "line", 79
     $P218 = self."!PREFIX__!protoregex"("quote_escape")
     .return ($P218)
@@ -3080,7 +3080,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "quote_escape:sym<backslash>"  :subid("69_1259103971.9212") :method :outer("11_1259103971.9212")
+.sub "quote_escape:sym<backslash>"  :subid("69_1259177727.36125") :method :outer("11_1259177727.36125")
 .annotate "line", 33
     .local string rx220_tgt
     .local int rx220_pos
@@ -3142,7 +3142,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "!PREFIX__quote_escape:sym<backslash>"  :subid("70_1259103971.9212") :method
+.sub "!PREFIX__quote_escape:sym<backslash>"  :subid("70_1259177727.36125") :method
 .annotate "line", 33
     new $P222, "ResizablePMCArray"
     push $P222, "\\\\"
@@ -3151,7 +3151,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "quote_escape:sym<stopper>"  :subid("71_1259103971.9212") :method :outer("11_1259103971.9212")
+.sub "quote_escape:sym<stopper>"  :subid("71_1259177727.36125") :method :outer("11_1259177727.36125")
 .annotate "line", 33
     .local string rx225_tgt
     .local int rx225_pos
@@ -3220,7 +3220,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "!PREFIX__quote_escape:sym<stopper>"  :subid("72_1259103971.9212") :method
+.sub "!PREFIX__quote_escape:sym<stopper>"  :subid("72_1259177727.36125") :method
 .annotate "line", 33
     new $P227, "ResizablePMCArray"
     push $P227, "\\"
@@ -3229,7 +3229,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "quote_escape:sym<bs>"  :subid("73_1259103971.9212") :method :outer("11_1259103971.9212")
+.sub "quote_escape:sym<bs>"  :subid("73_1259177727.36125") :method :outer("11_1259177727.36125")
 .annotate "line", 33
     .local string rx230_tgt
     .local int rx230_pos
@@ -3291,7 +3291,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "!PREFIX__quote_escape:sym<bs>"  :subid("74_1259103971.9212") :method
+.sub "!PREFIX__quote_escape:sym<bs>"  :subid("74_1259177727.36125") :method
 .annotate "line", 33
     new $P232, "ResizablePMCArray"
     push $P232, "\\b"
@@ -3300,7 +3300,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "quote_escape:sym<nl>"  :subid("75_1259103971.9212") :method :outer("11_1259103971.9212")
+.sub "quote_escape:sym<nl>"  :subid("75_1259177727.36125") :method :outer("11_1259177727.36125")
 .annotate "line", 33
     .local string rx235_tgt
     .local int rx235_pos
@@ -3362,7 +3362,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "!PREFIX__quote_escape:sym<nl>"  :subid("76_1259103971.9212") :method
+.sub "!PREFIX__quote_escape:sym<nl>"  :subid("76_1259177727.36125") :method
 .annotate "line", 33
     new $P237, "ResizablePMCArray"
     push $P237, "\\n"
@@ -3371,7 +3371,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "quote_escape:sym<cr>"  :subid("77_1259103971.9212") :method :outer("11_1259103971.9212")
+.sub "quote_escape:sym<cr>"  :subid("77_1259177727.36125") :method :outer("11_1259177727.36125")
 .annotate "line", 33
     .local string rx240_tgt
     .local int rx240_pos
@@ -3433,7 +3433,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "!PREFIX__quote_escape:sym<cr>"  :subid("78_1259103971.9212") :method
+.sub "!PREFIX__quote_escape:sym<cr>"  :subid("78_1259177727.36125") :method
 .annotate "line", 33
     new $P242, "ResizablePMCArray"
     push $P242, "\\r"
@@ -3442,7 +3442,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "quote_escape:sym<tab>"  :subid("79_1259103971.9212") :method :outer("11_1259103971.9212")
+.sub "quote_escape:sym<tab>"  :subid("79_1259177727.36125") :method :outer("11_1259177727.36125")
 .annotate "line", 33
     .local string rx245_tgt
     .local int rx245_pos
@@ -3504,7 +3504,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "!PREFIX__quote_escape:sym<tab>"  :subid("80_1259103971.9212") :method
+.sub "!PREFIX__quote_escape:sym<tab>"  :subid("80_1259177727.36125") :method
 .annotate "line", 33
     new $P247, "ResizablePMCArray"
     push $P247, "\\t"
@@ -3513,7 +3513,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "quote_escape:sym<hex>"  :subid("81_1259103971.9212") :method :outer("11_1259103971.9212")
+.sub "quote_escape:sym<hex>"  :subid("81_1259177727.36125") :method :outer("11_1259177727.36125")
 .annotate "line", 33
     .local string rx250_tgt
     .local int rx250_pos
@@ -3611,7 +3611,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "!PREFIX__quote_escape:sym<hex>"  :subid("82_1259103971.9212") :method
+.sub "!PREFIX__quote_escape:sym<hex>"  :subid("82_1259177727.36125") :method
 .annotate "line", 33
     new $P252, "ResizablePMCArray"
     push $P252, unicode:"\\x"
@@ -3620,7 +3620,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "quote_escape:sym<oct>"  :subid("83_1259103971.9212") :method :outer("11_1259103971.9212")
+.sub "quote_escape:sym<oct>"  :subid("83_1259177727.36125") :method :outer("11_1259177727.36125")
 .annotate "line", 33
     .local string rx256_tgt
     .local int rx256_pos
@@ -3718,7 +3718,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "!PREFIX__quote_escape:sym<oct>"  :subid("84_1259103971.9212") :method
+.sub "!PREFIX__quote_escape:sym<oct>"  :subid("84_1259177727.36125") :method
 .annotate "line", 33
     new $P258, "ResizablePMCArray"
     push $P258, "\\o"
@@ -3727,7 +3727,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "quote_escape:sym<chr>"  :subid("85_1259103971.9212") :method :outer("11_1259103971.9212")
+.sub "quote_escape:sym<chr>"  :subid("85_1259177727.36125") :method :outer("11_1259177727.36125")
 .annotate "line", 33
     .local string rx262_tgt
     .local int rx262_pos
@@ -3796,7 +3796,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "!PREFIX__quote_escape:sym<chr>"  :subid("86_1259103971.9212") :method
+.sub "!PREFIX__quote_escape:sym<chr>"  :subid("86_1259177727.36125") :method
 .annotate "line", 33
     new $P264, "ResizablePMCArray"
     push $P264, "\\c"
@@ -3805,9 +3805,9 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "charname"  :subid("87_1259103971.9212") :method :outer("11_1259103971.9212")
+.sub "charname"  :subid("87_1259177727.36125") :method :outer("11_1259177727.36125")
 .annotate "line", 33
-    .const 'Sub' $P276 = "89_1259103971.9212" 
+    .const 'Sub' $P276 = "89_1259177727.36125" 
     capture_lex $P276
     .local string rx267_tgt
     .local int rx267_pos
@@ -3885,7 +3885,7 @@
 .annotate "line", 100
   # rx subrule "before" subtype=zerowidth negate=
     rx267_cur."!cursor_pos"(rx267_pos)
-    .const 'Sub' $P276 = "89_1259103971.9212" 
+    .const 'Sub' $P276 = "89_1259177727.36125" 
     capture_lex $P276
     $P10 = rx267_cur."before"($P276)
     unless $P10, rx267_fail
@@ -3910,7 +3910,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "!PREFIX__charname"  :subid("88_1259103971.9212") :method
+.sub "!PREFIX__charname"  :subid("88_1259177727.36125") :method
 .annotate "line", 33
     $P269 = self."!PREFIX__!subrule"("integer", "")
     new $P270, "ResizablePMCArray"
@@ -3972,416 +3972,417 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "_block275"  :anon :subid("89_1259103971.9212") :method :outer("87_1259103971.9212")
+.sub "_block275"  :anon :subid("89_1259177727.36125") :method :outer("87_1259177727.36125")
 .annotate "line", 100
-    .local string rx277_tgt
-    .local int rx277_pos
-    .local int rx277_off
-    .local int rx277_eos
-    .local int rx277_rep
-    .local pmc rx277_cur
-    (rx277_cur, rx277_pos, rx277_tgt) = self."!cursor_start"()
-    rx277_cur."!cursor_debug"("START ", "")
-    .lex unicode:"$\x{a2}", rx277_cur
+    .lex unicode:"$\x{a2}", $P277
+    .local string rx278_tgt
+    .local int rx278_pos
+    .local int rx278_off
+    .local int rx278_eos
+    .local int rx278_rep
+    .local pmc rx278_cur
+    (rx278_cur, rx278_pos, rx278_tgt) = self."!cursor_start"()
+    rx278_cur."!cursor_debug"("START ", "")
+    .lex unicode:"$\x{a2}", rx278_cur
     .local pmc match
     .lex "$/", match
-    length rx277_eos, rx277_tgt
-    set rx277_off, 0
-    lt rx277_pos, 2, rx277_start
-    sub rx277_off, rx277_pos, 1
-    substr rx277_tgt, rx277_tgt, rx277_off
-  rx277_start:
+    length rx278_eos, rx278_tgt
+    set rx278_off, 0
+    lt rx278_pos, 2, rx278_start
+    sub rx278_off, rx278_pos, 1
+    substr rx278_tgt, rx278_tgt, rx278_off
+  rx278_start:
     $I10 = self.'from'()
-    ne $I10, -1, rxscan278_done
-    goto rxscan278_scan
-  rxscan278_loop:
-    ($P10) = rx277_cur."from"()
+    ne $I10, -1, rxscan279_done
+    goto rxscan279_scan
+  rxscan279_loop:
+    ($P10) = rx278_cur."from"()
     inc $P10
-    set rx277_pos, $P10
-    ge rx277_pos, rx277_eos, rxscan278_done
-  rxscan278_scan:
-    set_addr $I10, rxscan278_loop
-    rx277_cur."!mark_push"(0, rx277_pos, $I10)
-  rxscan278_done:
+    set rx278_pos, $P10
+    ge rx278_pos, rx278_eos, rxscan279_done
+  rxscan279_scan:
+    set_addr $I10, rxscan279_loop
+    rx278_cur."!mark_push"(0, rx278_pos, $I10)
+  rxscan279_done:
   # rx charclass_q s r 0..-1
-    sub $I10, rx277_pos, rx277_off
-    find_not_cclass $I11, 32, rx277_tgt, $I10, rx277_eos
-    add rx277_pos, rx277_off, $I11
+    sub $I10, rx278_pos, rx278_off
+    find_not_cclass $I11, 32, rx278_tgt, $I10, rx278_eos
+    add rx278_pos, rx278_off, $I11
   # rx enumcharlist negate=0 
-    ge rx277_pos, rx277_eos, rx277_fail
-    sub $I10, rx277_pos, rx277_off
-    substr $S10, rx277_tgt, $I10, 1
+    ge rx278_pos, rx278_eos, rx278_fail
+    sub $I10, rx278_pos, rx278_off
+    substr $S10, rx278_tgt, $I10, 1
     index $I11, "],#", $S10
-    lt $I11, 0, rx277_fail
-    inc rx277_pos
+    lt $I11, 0, rx278_fail
+    inc rx278_pos
   # rx pass
-    rx277_cur."!cursor_pass"(rx277_pos, "")
-    rx277_cur."!cursor_debug"("PASS  ", "", " at pos=", rx277_pos)
-    .return (rx277_cur)
-  rx277_fail:
-    (rx277_rep, rx277_pos, $I10, $P10) = rx277_cur."!mark_fail"(0)
-    lt rx277_pos, -1, rx277_done
-    eq rx277_pos, -1, rx277_fail
+    rx278_cur."!cursor_pass"(rx278_pos, "")
+    rx278_cur."!cursor_debug"("PASS  ", "", " at pos=", rx278_pos)
+    .return (rx278_cur)
+  rx278_fail:
+    (rx278_rep, rx278_pos, $I10, $P10) = rx278_cur."!mark_fail"(0)
+    lt rx278_pos, -1, rx278_done
+    eq rx278_pos, -1, rx278_fail
     jump $I10
-  rx277_done:
-    rx277_cur."!cursor_fail"()
-    rx277_cur."!cursor_debug"("FAIL  ", "")
-    .return (rx277_cur)
+  rx278_done:
+    rx278_cur."!cursor_fail"()
+    rx278_cur."!cursor_debug"("FAIL  ", "")
+    .return (rx278_cur)
     .return ()
 .end
 
 
 .namespace ["HLL";"Grammar"]
-.sub "charnames"  :subid("90_1259103971.9212") :method :outer("11_1259103971.9212")
+.sub "charnames"  :subid("90_1259177727.36125") :method :outer("11_1259177727.36125")
 .annotate "line", 33
-    .local string rx280_tgt
-    .local int rx280_pos
-    .local int rx280_off
-    .local int rx280_eos
-    .local int rx280_rep
-    .local pmc rx280_cur
-    (rx280_cur, rx280_pos, rx280_tgt) = self."!cursor_start"()
-    rx280_cur."!cursor_debug"("START ", "charnames")
-    rx280_cur."!cursor_caparray"("charname")
-    .lex unicode:"$\x{a2}", rx280_cur
+    .local string rx281_tgt
+    .local int rx281_pos
+    .local int rx281_off
+    .local int rx281_eos
+    .local int rx281_rep
+    .local pmc rx281_cur
+    (rx281_cur, rx281_pos, rx281_tgt) = self."!cursor_start"()
+    rx281_cur."!cursor_debug"("START ", "charnames")
+    rx281_cur."!cursor_caparray"("charname")
+    .lex unicode:"$\x{a2}", rx281_cur
     .local pmc match
     .lex "$/", match
-    length rx280_eos, rx280_tgt
-    set rx280_off, 0
-    lt rx280_pos, 2, rx280_start
-    sub rx280_off, rx280_pos, 1
-    substr rx280_tgt, rx280_tgt, rx280_off
-  rx280_start:
+    length rx281_eos, rx281_tgt
+    set rx281_off, 0
+    lt rx281_pos, 2, rx281_start
+    sub rx281_off, rx281_pos, 1
+    substr rx281_tgt, rx281_tgt, rx281_off
+  rx281_start:
     $I10 = self.'from'()
-    ne $I10, -1, rxscan283_done
-    goto rxscan283_scan
-  rxscan283_loop:
-    ($P10) = rx280_cur."from"()
+    ne $I10, -1, rxscan284_done
+    goto rxscan284_scan
+  rxscan284_loop:
+    ($P10) = rx281_cur."from"()
     inc $P10
-    set rx280_pos, $P10
-    ge rx280_pos, rx280_eos, rxscan283_done
-  rxscan283_scan:
-    set_addr $I10, rxscan283_loop
-    rx280_cur."!mark_push"(0, rx280_pos, $I10)
-  rxscan283_done:
+    set rx281_pos, $P10
+    ge rx281_pos, rx281_eos, rxscan284_done
+  rxscan284_scan:
+    set_addr $I10, rxscan284_loop
+    rx281_cur."!mark_push"(0, rx281_pos, $I10)
+  rxscan284_done:
 .annotate "line", 102
-  # rx rxquantr284 ** 1..*
-    set_addr $I285, rxquantr284_done
-    rx280_cur."!mark_push"(0, -1, $I285)
-  rxquantr284_loop:
+  # rx rxquantr285 ** 1..*
+    set_addr $I286, rxquantr285_done
+    rx281_cur."!mark_push"(0, -1, $I286)
+  rxquantr285_loop:
   # rx subrule "ws" subtype=method negate=
-    rx280_cur."!cursor_pos"(rx280_pos)
-    $P10 = rx280_cur."ws"()
-    unless $P10, rx280_fail
-    rx280_pos = $P10."pos"()
+    rx281_cur."!cursor_pos"(rx281_pos)
+    $P10 = rx281_cur."ws"()
+    unless $P10, rx281_fail
+    rx281_pos = $P10."pos"()
   # rx subrule "charname" subtype=capture negate=
-    rx280_cur."!cursor_pos"(rx280_pos)
-    $P10 = rx280_cur."charname"()
-    unless $P10, rx280_fail
-    rx280_cur."!mark_push"(0, -1, 0, $P10)
+    rx281_cur."!cursor_pos"(rx281_pos)
+    $P10 = rx281_cur."charname"()
+    unless $P10, rx281_fail
+    rx281_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("charname")
-    rx280_pos = $P10."pos"()
+    rx281_pos = $P10."pos"()
   # rx subrule "ws" subtype=method negate=
-    rx280_cur."!cursor_pos"(rx280_pos)
-    $P10 = rx280_cur."ws"()
-    unless $P10, rx280_fail
-    rx280_pos = $P10."pos"()
-    (rx280_rep) = rx280_cur."!mark_commit"($I285)
-    rx280_cur."!mark_push"(rx280_rep, rx280_pos, $I285)
+    rx281_cur."!cursor_pos"(rx281_pos)
+    $P10 = rx281_cur."ws"()
+    unless $P10, rx281_fail
+    rx281_pos = $P10."pos"()
+    (rx281_rep) = rx281_cur."!mark_commit"($I286)
+    rx281_cur."!mark_push"(rx281_rep, rx281_pos, $I286)
   # rx literal  ","
-    add $I11, rx280_pos, 1
-    gt $I11, rx280_eos, rx280_fail
-    sub $I11, rx280_pos, rx280_off
-    substr $S10, rx280_tgt, $I11, 1
-    ne $S10, ",", rx280_fail
-    add rx280_pos, 1
-    goto rxquantr284_loop
-  rxquantr284_done:
+    add $I11, rx281_pos, 1
+    gt $I11, rx281_eos, rx281_fail
+    sub $I11, rx281_pos, rx281_off
+    substr $S10, rx281_tgt, $I11, 1
+    ne $S10, ",", rx281_fail
+    add rx281_pos, 1
+    goto rxquantr285_loop
+  rxquantr285_done:
   # rx pass
-    rx280_cur."!cursor_pass"(rx280_pos, "charnames")
-    rx280_cur."!cursor_debug"("PASS  ", "charnames", " at pos=", rx280_pos)
-    .return (rx280_cur)
-  rx280_fail:
-.annotate "line", 33
-    (rx280_rep, rx280_pos, $I10, $P10) = rx280_cur."!mark_fail"(0)
-    lt rx280_pos, -1, rx280_done
-    eq rx280_pos, -1, rx280_fail
+    rx281_cur."!cursor_pass"(rx281_pos, "charnames")
+    rx281_cur."!cursor_debug"("PASS  ", "charnames", " at pos=", rx281_pos)
+    .return (rx281_cur)
+  rx281_fail:
+.annotate "line", 33
+    (rx281_rep, rx281_pos, $I10, $P10) = rx281_cur."!mark_fail"(0)
+    lt rx281_pos, -1, rx281_done
+    eq rx281_pos, -1, rx281_fail
     jump $I10
-  rx280_done:
-    rx280_cur."!cursor_fail"()
-    rx280_cur."!cursor_debug"("FAIL  ", "charnames")
-    .return (rx280_cur)
+  rx281_done:
+    rx281_cur."!cursor_fail"()
+    rx281_cur."!cursor_debug"("FAIL  ", "charnames")
+    .return (rx281_cur)
     .return ()
 .end
 
 
 .namespace ["HLL";"Grammar"]
-.sub "!PREFIX__charnames"  :subid("91_1259103971.9212") :method
+.sub "!PREFIX__charnames"  :subid("91_1259177727.36125") :method
 .annotate "line", 33
-    new $P282, "ResizablePMCArray"
-    push $P282, ""
-    .return ($P282)
+    new $P283, "ResizablePMCArray"
+    push $P283, ""
+    .return ($P283)
 .end
 
 
 .namespace ["HLL";"Grammar"]
-.sub "charspec"  :subid("92_1259103971.9212") :method :outer("11_1259103971.9212")
+.sub "charspec"  :subid("92_1259177727.36125") :method :outer("11_1259177727.36125")
 .annotate "line", 33
-    .local string rx287_tgt
-    .local int rx287_pos
-    .local int rx287_off
-    .local int rx287_eos
-    .local int rx287_rep
-    .local pmc rx287_cur
-    (rx287_cur, rx287_pos, rx287_tgt) = self."!cursor_start"()
-    rx287_cur."!cursor_debug"("START ", "charspec")
-    .lex unicode:"$\x{a2}", rx287_cur
+    .local string rx288_tgt
+    .local int rx288_pos
+    .local int rx288_off
+    .local int rx288_eos
+    .local int rx288_rep
+    .local pmc rx288_cur
+    (rx288_cur, rx288_pos, rx288_tgt) = self."!cursor_start"()
+    rx288_cur."!cursor_debug"("START ", "charspec")
+    .lex unicode:"$\x{a2}", rx288_cur
     .local pmc match
     .lex "$/", match
-    length rx287_eos, rx287_tgt
-    set rx287_off, 0
-    lt rx287_pos, 2, rx287_start
-    sub rx287_off, rx287_pos, 1
-    substr rx287_tgt, rx287_tgt, rx287_off
-  rx287_start:
+    length rx288_eos, rx288_tgt
+    set rx288_off, 0
+    lt rx288_pos, 2, rx288_start
+    sub rx288_off, rx288_pos, 1
+    substr rx288_tgt, rx288_tgt, rx288_off
+  rx288_start:
     $I10 = self.'from'()
-    ne $I10, -1, rxscan292_done
-    goto rxscan292_scan
-  rxscan292_loop:
-    ($P10) = rx287_cur."from"()
+    ne $I10, -1, rxscan293_done
+    goto rxscan293_scan
+  rxscan293_loop:
+    ($P10) = rx288_cur."from"()
     inc $P10
-    set rx287_pos, $P10
-    ge rx287_pos, rx287_eos, rxscan292_done
-  rxscan292_scan:
-    set_addr $I10, rxscan292_loop
-    rx287_cur."!mark_push"(0, rx287_pos, $I10)
-  rxscan292_done:
-  alt293_0:
+    set rx288_pos, $P10
+    ge rx288_pos, rx288_eos, rxscan293_done
+  rxscan293_scan:
+    set_addr $I10, rxscan293_loop
+    rx288_cur."!mark_push"(0, rx288_pos, $I10)
+  rxscan293_done:
+  alt294_0:
 .annotate "line", 104
-    set_addr $I10, alt293_1
-    rx287_cur."!mark_push"(0, rx287_pos, $I10)
+    set_addr $I10, alt294_1
+    rx288_cur."!mark_push"(0, rx288_pos, $I10)
 .annotate "line", 105
   # rx literal  "["
-    add $I11, rx287_pos, 1
-    gt $I11, rx287_eos, rx287_fail
-    sub $I11, rx287_pos, rx287_off
-    substr $S10, rx287_tgt, $I11, 1
-    ne $S10, "[", rx287_fail
-    add rx287_pos, 1
+    add $I11, rx288_pos, 1
+    gt $I11, rx288_eos, rx288_fail
+    sub $I11, rx288_pos, rx288_off
+    substr $S10, rx288_tgt, $I11, 1
+    ne $S10, "[", rx288_fail
+    add rx288_pos, 1
   # rx subrule "charnames" subtype=capture negate=
-    rx287_cur."!cursor_pos"(rx287_pos)
-    $P10 = rx287_cur."charnames"()
-    unless $P10, rx287_fail
-    rx287_cur."!mark_push"(0, -1, 0, $P10)
+    rx288_cur."!cursor_pos"(rx288_pos)
+    $P10 = rx288_cur."charnames"()
+    unless $P10, rx288_fail
+    rx288_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("charnames")
-    rx287_pos = $P10."pos"()
+    rx288_pos = $P10."pos"()
   # rx literal  "]"
-    add $I11, rx287_pos, 1
-    gt $I11, rx287_eos, rx287_fail
-    sub $I11, rx287_pos, rx287_off
-    substr $S10, rx287_tgt, $I11, 1
-    ne $S10, "]", rx287_fail
-    add rx287_pos, 1
-    goto alt293_end
-  alt293_1:
-    set_addr $I10, alt293_2
-    rx287_cur."!mark_push"(0, rx287_pos, $I10)
+    add $I11, rx288_pos, 1
+    gt $I11, rx288_eos, rx288_fail
+    sub $I11, rx288_pos, rx288_off
+    substr $S10, rx288_tgt, $I11, 1
+    ne $S10, "]", rx288_fail
+    add rx288_pos, 1
+    goto alt294_end
+  alt294_1:
+    set_addr $I10, alt294_2
+    rx288_cur."!mark_push"(0, rx288_pos, $I10)
 .annotate "line", 106
   # rx charclass_q d r 1..-1
-    sub $I10, rx287_pos, rx287_off
-    find_not_cclass $I11, 8, rx287_tgt, $I10, rx287_eos
+    sub $I10, rx288_pos, rx288_off
+    find_not_cclass $I11, 8, rx288_tgt, $I10, rx288_eos
     add $I12, $I10, 1
-    lt $I11, $I12, rx287_fail
-    add rx287_pos, rx287_off, $I11
-  # rx rxquantr294 ** 0..*
-    set_addr $I295, rxquantr294_done
-    rx287_cur."!mark_push"(0, rx287_pos, $I295)
-  rxquantr294_loop:
+    lt $I11, $I12, rx288_fail
+    add rx288_pos, rx288_off, $I11
+  # rx rxquantr295 ** 0..*
+    set_addr $I296, rxquantr295_done
+    rx288_cur."!mark_push"(0, rx288_pos, $I296)
+  rxquantr295_loop:
   # rx literal  "_"
-    add $I11, rx287_pos, 1
-    gt $I11, rx287_eos, rx287_fail
-    sub $I11, rx287_pos, rx287_off
-    substr $S10, rx287_tgt, $I11, 1
-    ne $S10, "_", rx287_fail
-    add rx287_pos, 1
+    add $I11, rx288_pos, 1
+    gt $I11, rx288_eos, rx288_fail
+    sub $I11, rx288_pos, rx288_off
+    substr $S10, rx288_tgt, $I11, 1
+    ne $S10, "_", rx288_fail
+    add rx288_pos, 1
   # rx charclass_q d r 1..-1
-    sub $I10, rx287_pos, rx287_off
-    find_not_cclass $I11, 8, rx287_tgt, $I10, rx287_eos
+    sub $I10, rx288_pos, rx288_off
+    find_not_cclass $I11, 8, rx288_tgt, $I10, rx288_eos
     add $I12, $I10, 1
-    lt $I11, $I12, rx287_fail
-    add rx287_pos, rx287_off, $I11
-    (rx287_rep) = rx287_cur."!mark_commit"($I295)
-    rx287_cur."!mark_push"(rx287_rep, rx287_pos, $I295)
-    goto rxquantr294_loop
-  rxquantr294_done:
-    goto alt293_end
-  alt293_2:
-    set_addr $I10, alt293_3
-    rx287_cur."!mark_push"(0, rx287_pos, $I10)
+    lt $I11, $I12, rx288_fail
+    add rx288_pos, rx288_off, $I11
+    (rx288_rep) = rx288_cur."!mark_commit"($I296)
+    rx288_cur."!mark_push"(rx288_rep, rx288_pos, $I296)
+    goto rxquantr295_loop
+  rxquantr295_done:
+    goto alt294_end
+  alt294_2:
+    set_addr $I10, alt294_3
+    rx288_cur."!mark_push"(0, rx288_pos, $I10)
 .annotate "line", 107
   # rx enumcharlist negate=0 
-    ge rx287_pos, rx287_eos, rx287_fail
-    sub $I10, rx287_pos, rx287_off
-    substr $S10, rx287_tgt, $I10, 1
+    ge rx288_pos, rx288_eos, rx288_fail
+    sub $I10, rx288_pos, rx288_off
+    substr $S10, rx288_tgt, $I10, 1
     index $I11, "?@ABCDEFGHIJKLMNOPQRSTUVWXYZ", $S10
-    lt $I11, 0, rx287_fail
-    inc rx287_pos
-    goto alt293_end
-  alt293_3:
+    lt $I11, 0, rx288_fail
+    inc rx288_pos
+    goto alt294_end
+  alt294_3:
 .annotate "line", 108
   # rx subrule "panic" subtype=method negate=
-    rx287_cur."!cursor_pos"(rx287_pos)
-    $P10 = rx287_cur."panic"("Unrecognized \\c character")
-    unless $P10, rx287_fail
-    rx287_pos = $P10."pos"()
-  alt293_end:
+    rx288_cur."!cursor_pos"(rx288_pos)
+    $P10 = rx288_cur."panic"("Unrecognized \\c character")
+    unless $P10, rx288_fail
+    rx288_pos = $P10."pos"()
+  alt294_end:
 .annotate "line", 103
   # rx pass
-    rx287_cur."!cursor_pass"(rx287_pos, "charspec")
-    rx287_cur."!cursor_debug"("PASS  ", "charspec", " at pos=", rx287_pos)
-    .return (rx287_cur)
-  rx287_fail:
-.annotate "line", 33
-    (rx287_rep, rx287_pos, $I10, $P10) = rx287_cur."!mark_fail"(0)
-    lt rx287_pos, -1, rx287_done
-    eq rx287_pos, -1, rx287_fail
+    rx288_cur."!cursor_pass"(rx288_pos, "charspec")
+    rx288_cur."!cursor_debug"("PASS  ", "charspec", " at pos=", rx288_pos)
+    .return (rx288_cur)
+  rx288_fail:
+.annotate "line", 33
+    (rx288_rep, rx288_pos, $I10, $P10) = rx288_cur."!mark_fail"(0)
+    lt rx288_pos, -1, rx288_done
+    eq rx288_pos, -1, rx288_fail
     jump $I10
-  rx287_done:
-    rx287_cur."!cursor_fail"()
-    rx287_cur."!cursor_debug"("FAIL  ", "charspec")
-    .return (rx287_cur)
+  rx288_done:
+    rx288_cur."!cursor_fail"()
+    rx288_cur."!cursor_debug"("FAIL  ", "charspec")
+    .return (rx288_cur)
     .return ()
 .end
 
 
 .namespace ["HLL";"Grammar"]
-.sub "!PREFIX__charspec"  :subid("93_1259103971.9212") :method
+.sub "!PREFIX__charspec"  :subid("93_1259177727.36125") :method
 .annotate "line", 33
-    $P289 = self."!PREFIX__!subrule"("", "")
-    $P290 = self."!PREFIX__!subrule"("charnames", "[")
-    new $P291, "ResizablePMCArray"
-    push $P291, $P289
-    push $P291, "Z"
-    push $P291, "Y"
-    push $P291, "X"
-    push $P291, "W"
-    push $P291, "V"
-    push $P291, "U"
-    push $P291, "T"
-    push $P291, "S"
-    push $P291, "R"
-    push $P291, "Q"
-    push $P291, "P"
-    push $P291, "O"
-    push $P291, "N"
-    push $P291, "M"
-    push $P291, "L"
-    push $P291, "K"
-    push $P291, "J"
-    push $P291, "I"
-    push $P291, "H"
-    push $P291, "G"
-    push $P291, "F"
-    push $P291, "E"
-    push $P291, "D"
-    push $P291, "C"
-    push $P291, "B"
-    push $P291, "A"
-    push $P291, "@"
-    push $P291, "?"
-    push $P291, ""
-    push $P291, $P290
-    .return ($P291)
+    $P290 = self."!PREFIX__!subrule"("", "")
+    $P291 = self."!PREFIX__!subrule"("charnames", "[")
+    new $P292, "ResizablePMCArray"
+    push $P292, $P290
+    push $P292, "Z"
+    push $P292, "Y"
+    push $P292, "X"
+    push $P292, "W"
+    push $P292, "V"
+    push $P292, "U"
+    push $P292, "T"
+    push $P292, "S"
+    push $P292, "R"
+    push $P292, "Q"
+    push $P292, "P"
+    push $P292, "O"
+    push $P292, "N"
+    push $P292, "M"
+    push $P292, "L"
+    push $P292, "K"
+    push $P292, "J"
+    push $P292, "I"
+    push $P292, "H"
+    push $P292, "G"
+    push $P292, "F"
+    push $P292, "E"
+    push $P292, "D"
+    push $P292, "C"
+    push $P292, "B"
+    push $P292, "A"
+    push $P292, "@"
+    push $P292, "?"
+    push $P292, ""
+    push $P292, $P291
+    .return ($P292)
 .end
 
 ### .include 'gen/hllgrammar-actions.pir'
 
 .namespace []
-.sub "_block11"  :anon :subid("10_1259103973.24593")
+.sub "_block11"  :anon :subid("10_1259177731.48064")
 .annotate "line", 0
     get_hll_global $P14, ["HLL";"Actions"], "_block13" 
     capture_lex $P14
 .annotate "line", 3
     get_hll_global $P14, ["HLL";"Actions"], "_block13" 
     capture_lex $P14
-    $P453 = $P14()
+    $P451 = $P14()
 .annotate "line", 1
-    .return ($P453)
+    .return ($P451)
 .end
 
 
 .namespace []
-.sub "" :load :init :subid("post41") :outer("10_1259103973.24593")
+.sub "" :load :init :subid("post41") :outer("10_1259177731.48064")
 .annotate "line", 0
-    .const 'Sub' $P12 = "10_1259103973.24593" 
+    .const 'Sub' $P12 = "10_1259177731.48064" 
     .local pmc block
     set block, $P12
-    $P454 = get_root_global ["parrot"], "P6metaclass"
-    $P454."new_class"("HLL::Actions")
+    $P452 = get_root_global ["parrot"], "P6metaclass"
+    $P452."new_class"("HLL::Actions")
 .end
 
 
 .namespace ["HLL";"Actions"]
-.sub "_block13"  :subid("11_1259103973.24593") :outer("10_1259103973.24593")
+.sub "_block13"  :subid("11_1259177731.48064") :outer("10_1259177731.48064")
 .annotate "line", 3
-    .const 'Sub' $P436 = "40_1259103973.24593" 
-    capture_lex $P436
-    .const 'Sub' $P419 = "39_1259103973.24593" 
-    capture_lex $P419
-    .const 'Sub' $P412 = "38_1259103973.24593" 
-    capture_lex $P412
-    .const 'Sub' $P405 = "37_1259103973.24593" 
-    capture_lex $P405
-    .const 'Sub' $P398 = "36_1259103973.24593" 
-    capture_lex $P398
-    .const 'Sub' $P391 = "35_1259103973.24593" 
-    capture_lex $P391
-    .const 'Sub' $P381 = "34_1259103973.24593" 
-    capture_lex $P381
-    .const 'Sub' $P374 = "33_1259103973.24593" 
-    capture_lex $P374
-    .const 'Sub' $P358 = "32_1259103973.24593" 
-    capture_lex $P358
-    .const 'Sub' $P283 = "30_1259103973.24593" 
-    capture_lex $P283
-    .const 'Sub' $P222 = "27_1259103973.24593" 
-    capture_lex $P222
-    .const 'Sub' $P213 = "26_1259103973.24593" 
-    capture_lex $P213
-    .const 'Sub' $P204 = "25_1259103973.24593" 
-    capture_lex $P204
-    .const 'Sub' $P195 = "24_1259103973.24593" 
-    capture_lex $P195
-    .const 'Sub' $P186 = "23_1259103973.24593" 
-    capture_lex $P186
-    .const 'Sub' $P177 = "22_1259103973.24593" 
-    capture_lex $P177
-    .const 'Sub' $P167 = "21_1259103973.24593" 
-    capture_lex $P167
-    .const 'Sub' $P157 = "20_1259103973.24593" 
-    capture_lex $P157
-    .const 'Sub' $P149 = "19_1259103973.24593" 
-    capture_lex $P149
-    .const 'Sub' $P139 = "18_1259103973.24593" 
-    capture_lex $P139
-    .const 'Sub' $P129 = "17_1259103973.24593" 
-    capture_lex $P129
-    .const 'Sub' $P28 = "14_1259103973.24593" 
+    .const 'Sub' $P434 = "40_1259177731.48064" 
+    capture_lex $P434
+    .const 'Sub' $P417 = "39_1259177731.48064" 
+    capture_lex $P417
+    .const 'Sub' $P410 = "38_1259177731.48064" 
+    capture_lex $P410
+    .const 'Sub' $P403 = "37_1259177731.48064" 
+    capture_lex $P403
+    .const 'Sub' $P396 = "36_1259177731.48064" 
+    capture_lex $P396
+    .const 'Sub' $P389 = "35_1259177731.48064" 
+    capture_lex $P389
+    .const 'Sub' $P379 = "34_1259177731.48064" 
+    capture_lex $P379
+    .const 'Sub' $P372 = "33_1259177731.48064" 
+    capture_lex $P372
+    .const 'Sub' $P356 = "32_1259177731.48064" 
+    capture_lex $P356
+    .const 'Sub' $P281 = "30_1259177731.48064" 
+    capture_lex $P281
+    .const 'Sub' $P220 = "27_1259177731.48064" 
+    capture_lex $P220
+    .const 'Sub' $P211 = "26_1259177731.48064" 
+    capture_lex $P211
+    .const 'Sub' $P202 = "25_1259177731.48064" 
+    capture_lex $P202
+    .const 'Sub' $P193 = "24_1259177731.48064" 
+    capture_lex $P193
+    .const 'Sub' $P184 = "23_1259177731.48064" 
+    capture_lex $P184
+    .const 'Sub' $P175 = "22_1259177731.48064" 
+    capture_lex $P175
+    .const 'Sub' $P165 = "21_1259177731.48064" 
+    capture_lex $P165
+    .const 'Sub' $P155 = "20_1259177731.48064" 
+    capture_lex $P155
+    .const 'Sub' $P148 = "19_1259177731.48064" 
+    capture_lex $P148
+    .const 'Sub' $P138 = "18_1259177731.48064" 
+    capture_lex $P138
+    .const 'Sub' $P128 = "17_1259177731.48064" 
+    capture_lex $P128
+    .const 'Sub' $P28 = "14_1259177731.48064" 
     capture_lex $P28
-    .const 'Sub' $P22 = "13_1259103973.24593" 
+    .const 'Sub' $P22 = "13_1259177731.48064" 
     capture_lex $P22
-    .const 'Sub' $P15 = "12_1259103973.24593" 
+    .const 'Sub' $P15 = "12_1259177731.48064" 
     capture_lex $P15
 .annotate "line", 163
-    .const 'Sub' $P436 = "40_1259103973.24593" 
-    capture_lex $P436
+    .const 'Sub' $P434 = "40_1259177731.48064" 
+    capture_lex $P434
 .annotate "line", 3
-    .return ($P436)
+    .return ($P434)
 .end
 
 
 .namespace ["HLL";"Actions"]
-.sub "string_to_int"  :subid("12_1259103973.24593") :outer("11_1259103973.24593")
+.sub "string_to_int"  :subid("12_1259177731.48064") :outer("11_1259177731.48064")
     .param pmc param_18
     .param pmc param_19
 .annotate "line", 3
@@ -4434,7 +4435,7 @@
 
 
 .namespace ["HLL";"Actions"]
-.sub "ints_to_string"  :subid("13_1259103973.24593") :outer("11_1259103973.24593")
+.sub "ints_to_string"  :subid("13_1259177731.48064") :outer("11_1259177731.48064")
     .param pmc param_25
 .annotate "line", 37
     new $P24, 'ExceptionHandler'
@@ -4475,14 +4476,14 @@
 
 
 .namespace ["HLL";"Actions"]
-.sub "EXPR"  :subid("14_1259103973.24593") :method :outer("11_1259103973.24593")
+.sub "EXPR"  :subid("14_1259177731.48064") :method :outer("11_1259177731.48064")
     .param pmc param_31
     .param pmc param_32 :optional
     .param int has_param_32 :opt_flag
 .annotate "line", 62
-    .const 'Sub' $P111 = "16_1259103973.24593" 
+    .const 'Sub' $P111 = "16_1259177731.48064" 
     capture_lex $P111
-    .const 'Sub' $P78 = "15_1259103973.24593" 
+    .const 'Sub' $P78 = "15_1259177731.48064" 
     capture_lex $P78
     new $P30, 'ExceptionHandler'
     set_addr $P30, control_29
@@ -4510,7 +4511,7 @@
   unless_35_end:
 .annotate "line", 64
     find_lex $P40, "$/"
-    $P41 = $P40."ast"()
+    $P41 = $P40."peek_ast"()
     set $P39, $P41
     defined $I43, $P39
     if $I43, default_42
@@ -4522,7 +4523,7 @@
     unless_null $P45, vivify_44
     new $P45, "Undef"
   vivify_44:
-    $P46 = $P45."ast"()
+    $P46 = $P45."peek_ast"()
     set $P39, $P46
   default_42:
     store_lex "$past", $P39
@@ -4617,7 +4618,7 @@
     find_lex $P75, "$past"
     $P76 = $P75."name"()
     if $P76, unless_74_end
-    .const 'Sub' $P78 = "15_1259103973.24593" 
+    .const 'Sub' $P78 = "15_1259177731.48064" 
     capture_lex $P78
     $P78()
   unless_74_end:
@@ -4633,26 +4634,26 @@
     defined $I108, $P107
     unless $I108, for_undef_64
     iter $P105, $P107
-    new $P123, 'ExceptionHandler'
-    set_addr $P123, loop122_handler
-    $P123."handle_types"(65, 67, 66)
-    push_eh $P123
-  loop122_test:
-    unless $P105, loop122_done
+    new $P122, 'ExceptionHandler'
+    set_addr $P122, loop121_handler
+    $P122."handle_types"(65, 67, 66)
+    push_eh $P122
+  loop121_test:
+    unless $P105, loop121_done
     shift $P109, $P105
-  loop122_redo:
-    .const 'Sub' $P111 = "16_1259103973.24593" 
+  loop121_redo:
+    .const 'Sub' $P111 = "16_1259177731.48064" 
     capture_lex $P111
     $P111($P109)
-  loop122_next:
-    goto loop122_test
-  loop122_handler:
+  loop121_next:
+    goto loop121_test
+  loop121_handler:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P124, exception, 'type'
-    eq $P124, 65, loop122_next
-    eq $P124, 67, loop122_redo
-  loop122_done:
+    getattribute $P123, exception, 'type'
+    eq $P123, 65, loop121_next
+    eq $P123, 67, loop121_redo
+  loop121_done:
     pop_eh 
   for_undef_64:
 .annotate "line", 81
@@ -4672,21 +4673,21 @@
     $P101."unshift"($P104)
   if_97_end:
 .annotate "line", 84
-    find_lex $P125, "$/"
-    find_lex $P126, "$past"
-    $P127 = $P125."!make"($P126)
+    find_lex $P124, "$/"
+    find_lex $P125, "$past"
+    $P126 = $P124."!make"($P125)
 .annotate "line", 62
-    .return ($P127)
+    .return ($P126)
   control_29:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P128, exception, "payload"
-    .return ($P128)
+    getattribute $P127, exception, "payload"
+    .return ($P127)
 .end
 
 
 .namespace ["HLL";"Actions"]
-.sub "_block77"  :anon :subid("15_1259103973.24593") :outer("14_1259103973.24593")
+.sub "_block77"  :anon :subid("15_1259177731.48064") :outer("14_1259177731.48064")
 .annotate "line", 71
     new $P79, "Undef"
     .lex "$name", $P79
@@ -4736,926 +4737,923 @@
 
 
 .namespace ["HLL";"Actions"]
-.sub "_block110"  :anon :subid("16_1259103973.24593") :outer("14_1259103973.24593")
+.sub "_block110"  :anon :subid("16_1259177731.48064") :outer("14_1259177731.48064")
     .param pmc param_112
 .annotate "line", 82
     .lex "$_", param_112
     find_lex $P115, "$_"
     $P116 = $P115."ast"()
-    defined $I117, $P116
-    if $I117, if_114
-    new $P113, 'Integer'
-    set $P113, $I117
+    if $P116, if_114
+    set $P113, $P116
     goto if_114_end
   if_114:
-    find_lex $P118, "$past"
-    find_lex $P119, "$_"
-    $P120 = $P119."ast"()
-    $P121 = $P118."push"($P120)
-    set $P113, $P121
+    find_lex $P117, "$past"
+    find_lex $P118, "$_"
+    $P119 = $P118."ast"()
+    $P120 = $P117."push"($P119)
+    set $P113, $P120
   if_114_end:
     .return ($P113)
 .end
 
 
 .namespace ["HLL";"Actions"]
-.sub "term:sym<circumfix>"  :subid("17_1259103973.24593") :method :outer("11_1259103973.24593")
-    .param pmc param_132
+.sub "term:sym<circumfix>"  :subid("17_1259177731.48064") :method :outer("11_1259177731.48064")
+    .param pmc param_131
 .annotate "line", 87
-    new $P131, 'ExceptionHandler'
-    set_addr $P131, control_130
-    $P131."handle_types"(58)
-    push_eh $P131
+    new $P130, 'ExceptionHandler'
+    set_addr $P130, control_129
+    $P130."handle_types"(58)
+    push_eh $P130
     .lex "self", self
-    .lex "$/", param_132
+    .lex "$/", param_131
+    find_lex $P132, "$/"
     find_lex $P133, "$/"
-    find_lex $P134, "$/"
-    unless_null $P134, vivify_67
-    new $P134, "Hash"
+    unless_null $P133, vivify_67
+    new $P133, "Hash"
   vivify_67:
-    set $P135, $P134["circumfix"]
-    unless_null $P135, vivify_68
-    new $P135, "Undef"
+    set $P134, $P133["circumfix"]
+    unless_null $P134, vivify_68
+    new $P134, "Undef"
   vivify_68:
-    $P136 = $P135."ast"()
-    $P137 = $P133."!make"($P136)
-    .return ($P137)
-  control_130:
+    $P135 = $P134."ast"()
+    $P136 = $P132."!make"($P135)
+    .return ($P136)
+  control_129:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P138, exception, "payload"
-    .return ($P138)
+    getattribute $P137, exception, "payload"
+    .return ($P137)
 .end
 
 
 .namespace ["HLL";"Actions"]
-.sub "termish"  :subid("18_1259103973.24593") :method :outer("11_1259103973.24593")
-    .param pmc param_142
+.sub "termish"  :subid("18_1259177731.48064") :method :outer("11_1259177731.48064")
+    .param pmc param_141
 .annotate "line", 89
-    new $P141, 'ExceptionHandler'
-    set_addr $P141, control_140
-    $P141."handle_types"(58)
-    push_eh $P141
+    new $P140, 'ExceptionHandler'
+    set_addr $P140, control_139
+    $P140."handle_types"(58)
+    push_eh $P140
     .lex "self", self
-    .lex "$/", param_142
+    .lex "$/", param_141
+    find_lex $P142, "$/"
     find_lex $P143, "$/"
-    find_lex $P144, "$/"
-    unless_null $P144, vivify_69
-    new $P144, "Hash"
+    unless_null $P143, vivify_69
+    new $P143, "Hash"
   vivify_69:
-    set $P145, $P144["term"]
-    unless_null $P145, vivify_70
-    new $P145, "Undef"
+    set $P144, $P143["term"]
+    unless_null $P144, vivify_70
+    new $P144, "Undef"
   vivify_70:
-    $P146 = $P145."ast"()
-    $P147 = $P143."!make"($P146)
-    .return ($P147)
-  control_140:
+    $P145 = $P144."ast"()
+    $P146 = $P142."!make"($P145)
+    .return ($P146)
+  control_139:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P148, exception, "payload"
-    .return ($P148)
+    getattribute $P147, exception, "payload"
+    .return ($P147)
 .end
 
 
 .namespace ["HLL";"Actions"]
-.sub "nullterm"  :subid("19_1259103973.24593") :method :outer("11_1259103973.24593")
-    .param pmc param_152
+.sub "nullterm"  :subid("19_1259177731.48064") :method :outer("11_1259177731.48064")
+    .param pmc param_151
 .annotate "line", 90
-    new $P151, 'ExceptionHandler'
-    set_addr $P151, control_150
-    $P151."handle_types"(58)
-    push_eh $P151
+    new $P150, 'ExceptionHandler'
+    set_addr $P150, control_149
+    $P150."handle_types"(58)
+    push_eh $P150
     .lex "self", self
-    .lex "$/", param_152
-    find_lex $P153, "$/"
- $P154 = new ['Undef'] 
-    $P155 = $P153."!make"($P154)
-    .return ($P155)
-  control_150:
+    .lex "$/", param_151
+    find_lex $P152, "$/"
+    $P153 = $P152."!make"(0)
+    .return ($P153)
+  control_149:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P156, exception, "payload"
-    .return ($P156)
+    getattribute $P154, exception, "payload"
+    .return ($P154)
 .end
 
 
 .namespace ["HLL";"Actions"]
-.sub "nullterm_alt"  :subid("20_1259103973.24593") :method :outer("11_1259103973.24593")
-    .param pmc param_160
+.sub "nullterm_alt"  :subid("20_1259177731.48064") :method :outer("11_1259177731.48064")
+    .param pmc param_158
 .annotate "line", 91
-    new $P159, 'ExceptionHandler'
-    set_addr $P159, control_158
-    $P159."handle_types"(58)
-    push_eh $P159
+    new $P157, 'ExceptionHandler'
+    set_addr $P157, control_156
+    $P157."handle_types"(58)
+    push_eh $P157
     .lex "self", self
-    .lex "$/", param_160
-    find_lex $P161, "$/"
-    find_lex $P162, "$/"
-    unless_null $P162, vivify_71
-    new $P162, "Hash"
+    .lex "$/", param_158
+    find_lex $P159, "$/"
+    find_lex $P160, "$/"
+    unless_null $P160, vivify_71
+    new $P160, "Hash"
   vivify_71:
-    set $P163, $P162["term"]
-    unless_null $P163, vivify_72
-    new $P163, "Undef"
+    set $P161, $P160["term"]
+    unless_null $P161, vivify_72
+    new $P161, "Undef"
   vivify_72:
-    $P164 = $P163."ast"()
-    $P165 = $P161."!make"($P164)
-    .return ($P165)
-  control_158:
+    $P162 = $P161."ast"()
+    $P163 = $P159."!make"($P162)
+    .return ($P163)
+  control_156:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P166, exception, "payload"
-    .return ($P166)
+    getattribute $P164, exception, "payload"
+    .return ($P164)
 .end
 
 
 .namespace ["HLL";"Actions"]
-.sub "integer"  :subid("21_1259103973.24593") :method :outer("11_1259103973.24593")
-    .param pmc param_170
+.sub "integer"  :subid("21_1259177731.48064") :method :outer("11_1259177731.48064")
+    .param pmc param_168
 .annotate "line", 93
-    new $P169, 'ExceptionHandler'
-    set_addr $P169, control_168
-    $P169."handle_types"(58)
-    push_eh $P169
+    new $P167, 'ExceptionHandler'
+    set_addr $P167, control_166
+    $P167."handle_types"(58)
+    push_eh $P167
     .lex "self", self
-    .lex "$/", param_170
-    find_lex $P171, "$/"
-    find_lex $P172, "$/"
-    unless_null $P172, vivify_73
-    new $P172, "Hash"
+    .lex "$/", param_168
+    find_lex $P169, "$/"
+    find_lex $P170, "$/"
+    unless_null $P170, vivify_73
+    new $P170, "Hash"
   vivify_73:
-    set $P173, $P172["VALUE"]
-    unless_null $P173, vivify_74
-    new $P173, "Undef"
+    set $P171, $P170["VALUE"]
+    unless_null $P171, vivify_74
+    new $P171, "Undef"
   vivify_74:
-    $P174 = $P173."ast"()
-    $P175 = $P171."!make"($P174)
-    .return ($P175)
-  control_168:
+    $P172 = $P171."ast"()
+    $P173 = $P169."!make"($P172)
+    .return ($P173)
+  control_166:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P176, exception, "payload"
-    .return ($P176)
+    getattribute $P174, exception, "payload"
+    .return ($P174)
 .end
 
 
 .namespace ["HLL";"Actions"]
-.sub "dec_number"  :subid("22_1259103973.24593") :method :outer("11_1259103973.24593")
-    .param pmc param_180
+.sub "dec_number"  :subid("22_1259177731.48064") :method :outer("11_1259177731.48064")
+    .param pmc param_178
 .annotate "line", 95
-    new $P179, 'ExceptionHandler'
-    set_addr $P179, control_178
-    $P179."handle_types"(58)
-    push_eh $P179
+    new $P177, 'ExceptionHandler'
+    set_addr $P177, control_176
+    $P177."handle_types"(58)
+    push_eh $P177
     .lex "self", self
-    .lex "$/", param_180
-    find_lex $P181, "$/"
-    find_lex $P182, "$/"
-    set $N183, $P182
-    $P184 = $P181."!make"($N183)
-    .return ($P184)
-  control_178:
+    .lex "$/", param_178
+    find_lex $P179, "$/"
+    find_lex $P180, "$/"
+    set $N181, $P180
+    $P182 = $P179."!make"($N181)
+    .return ($P182)
+  control_176:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P185, exception, "payload"
-    .return ($P185)
+    getattribute $P183, exception, "payload"
+    .return ($P183)
 .end
 
 
 .namespace ["HLL";"Actions"]
-.sub "decint"  :subid("23_1259103973.24593") :method :outer("11_1259103973.24593")
-    .param pmc param_189
+.sub "decint"  :subid("23_1259177731.48064") :method :outer("11_1259177731.48064")
+    .param pmc param_187
 .annotate "line", 97
-    new $P188, 'ExceptionHandler'
-    set_addr $P188, control_187
-    $P188."handle_types"(58)
-    push_eh $P188
+    new $P186, 'ExceptionHandler'
+    set_addr $P186, control_185
+    $P186."handle_types"(58)
+    push_eh $P186
     .lex "self", self
-    .lex "$/", param_189
-    find_lex $P190, "$/"
-    find_lex $P191, "$/"
-    $P192 = "string_to_int"($P191, 10)
-    $P193 = $P190."!make"($P192)
-    .return ($P193)
-  control_187:
+    .lex "$/", param_187
+    find_lex $P188, "$/"
+    find_lex $P189, "$/"
+    $P190 = "string_to_int"($P189, 10)
+    $P191 = $P188."!make"($P190)
+    .return ($P191)
+  control_185:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P194, exception, "payload"
-    .return ($P194)
+    getattribute $P192, exception, "payload"
+    .return ($P192)
 .end
 
 
 .namespace ["HLL";"Actions"]
-.sub "hexint"  :subid("24_1259103973.24593") :method :outer("11_1259103973.24593")
-    .param pmc param_198
+.sub "hexint"  :subid("24_1259177731.48064") :method :outer("11_1259177731.48064")
+    .param pmc param_196
 .annotate "line", 98
-    new $P197, 'ExceptionHandler'
-    set_addr $P197, control_196
-    $P197."handle_types"(58)
-    push_eh $P197
+    new $P195, 'ExceptionHandler'
+    set_addr $P195, control_194
+    $P195."handle_types"(58)
+    push_eh $P195
     .lex "self", self
-    .lex "$/", param_198
-    find_lex $P199, "$/"
-    find_lex $P200, "$/"
-    $P201 = "string_to_int"($P200, 16)
-    $P202 = $P199."!make"($P201)
-    .return ($P202)
-  control_196:
+    .lex "$/", param_196
+    find_lex $P197, "$/"
+    find_lex $P198, "$/"
+    $P199 = "string_to_int"($P198, 16)
+    $P200 = $P197."!make"($P199)
+    .return ($P200)
+  control_194:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P203, exception, "payload"
-    .return ($P203)
+    getattribute $P201, exception, "payload"
+    .return ($P201)
 .end
 
 
 .namespace ["HLL";"Actions"]
-.sub "octint"  :subid("25_1259103973.24593") :method :outer("11_1259103973.24593")
-    .param pmc param_207
+.sub "octint"  :subid("25_1259177731.48064") :method :outer("11_1259177731.48064")
+    .param pmc param_205
 .annotate "line", 99
-    new $P206, 'ExceptionHandler'
-    set_addr $P206, control_205
-    $P206."handle_types"(58)
-    push_eh $P206
+    new $P204, 'ExceptionHandler'
+    set_addr $P204, control_203
+    $P204."handle_types"(58)
+    push_eh $P204
     .lex "self", self
-    .lex "$/", param_207
-    find_lex $P208, "$/"
-    find_lex $P209, "$/"
-    $P210 = "string_to_int"($P209, 8)
-    $P211 = $P208."!make"($P210)
-    .return ($P211)
-  control_205:
+    .lex "$/", param_205
+    find_lex $P206, "$/"
+    find_lex $P207, "$/"
+    $P208 = "string_to_int"($P207, 8)
+    $P209 = $P206."!make"($P208)
+    .return ($P209)
+  control_203:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P212, exception, "payload"
-    .return ($P212)
+    getattribute $P210, exception, "payload"
+    .return ($P210)
 .end
 
 
 .namespace ["HLL";"Actions"]
-.sub "binint"  :subid("26_1259103973.24593") :method :outer("11_1259103973.24593")
-    .param pmc param_216
+.sub "binint"  :subid("26_1259177731.48064") :method :outer("11_1259177731.48064")
+    .param pmc param_214
 .annotate "line", 100
-    new $P215, 'ExceptionHandler'
-    set_addr $P215, control_214
-    $P215."handle_types"(58)
-    push_eh $P215
+    new $P213, 'ExceptionHandler'
+    set_addr $P213, control_212
+    $P213."handle_types"(58)
+    push_eh $P213
     .lex "self", self
-    .lex "$/", param_216
-    find_lex $P217, "$/"
-    find_lex $P218, "$/"
-    $P219 = "string_to_int"($P218, 2)
-    $P220 = $P217."!make"($P219)
-    .return ($P220)
-  control_214:
+    .lex "$/", param_214
+    find_lex $P215, "$/"
+    find_lex $P216, "$/"
+    $P217 = "string_to_int"($P216, 2)
+    $P218 = $P215."!make"($P217)
+    .return ($P218)
+  control_212:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P221, exception, "payload"
-    .return ($P221)
+    getattribute $P219, exception, "payload"
+    .return ($P219)
 .end
 
 
 .namespace ["HLL";"Actions"]
-.sub "quote_EXPR"  :subid("27_1259103973.24593") :method :outer("11_1259103973.24593")
-    .param pmc param_225
+.sub "quote_EXPR"  :subid("27_1259177731.48064") :method :outer("11_1259177731.48064")
+    .param pmc param_223
 .annotate "line", 102
-    .const 'Sub' $P241 = "28_1259103973.24593" 
-    capture_lex $P241
-    new $P224, 'ExceptionHandler'
-    set_addr $P224, control_223
-    $P224."handle_types"(58)
-    push_eh $P224
+    .const 'Sub' $P239 = "28_1259177731.48064" 
+    capture_lex $P239
+    new $P222, 'ExceptionHandler'
+    set_addr $P222, control_221
+    $P222."handle_types"(58)
+    push_eh $P222
     .lex "self", self
-    .lex "$/", param_225
+    .lex "$/", param_223
 .annotate "line", 103
-    new $P226, "Undef"
-    .lex "$past", $P226
-    find_lex $P227, "$/"
-    unless_null $P227, vivify_75
-    new $P227, "Hash"
+    new $P224, "Undef"
+    .lex "$past", $P224
+    find_lex $P225, "$/"
+    unless_null $P225, vivify_75
+    new $P225, "Hash"
   vivify_75:
-    set $P228, $P227["quote_delimited"]
-    unless_null $P228, vivify_76
-    new $P228, "Undef"
+    set $P226, $P225["quote_delimited"]
+    unless_null $P226, vivify_76
+    new $P226, "Undef"
   vivify_76:
-    $P229 = $P228."ast"()
-    store_lex "$past", $P229
+    $P227 = $P226."ast"()
+    store_lex "$past", $P227
 .annotate "line", 104
-    get_hll_global $P231, ["HLL";"Grammar"], "quotemod_check"
-    find_lex $P232, "$/"
-    $P233 = $P231($P232, "w")
-    unless $P233, if_230_end
+    get_hll_global $P229, ["HLL";"Grammar"], "quotemod_check"
+    find_lex $P230, "$/"
+    $P231 = $P229($P230, "w")
+    unless $P231, if_228_end
 .annotate "line", 105
-    get_hll_global $P235, ["PAST"], "Node"
-    find_lex $P236, "$past"
-    $P237 = $P235."ACCEPTS"($P236)
-    if $P237, if_234
+    get_hll_global $P233, ["PAST"], "Node"
+    find_lex $P234, "$past"
+    $P235 = $P233."ACCEPTS"($P234)
+    if $P235, if_232
 .annotate "line", 108
-    .const 'Sub' $P241 = "28_1259103973.24593" 
-    capture_lex $P241
-    $P241()
-    goto if_234_end
-  if_234:
+    .const 'Sub' $P239 = "28_1259177731.48064" 
+    capture_lex $P239
+    $P239()
+    goto if_232_end
+  if_232:
 .annotate "line", 106
-    find_lex $P238, "$/"
-    $P239 = $P238."CURSOR"()
-    $P239."panic"("Can't form :w list from non-constant strings (yet)")
-  if_234_end:
-  if_230_end:
+    find_lex $P236, "$/"
+    $P237 = $P236."CURSOR"()
+    $P237."panic"("Can't form :w list from non-constant strings (yet)")
+  if_232_end:
+  if_228_end:
 .annotate "line", 116
-    get_hll_global $P271, ["PAST"], "Node"
-    find_lex $P272, "$past"
-    $P273 = $P271."ACCEPTS"($P272)
-    isfalse $I274, $P273
-    unless $I274, if_270_end
+    get_hll_global $P269, ["PAST"], "Node"
+    find_lex $P270, "$past"
+    $P271 = $P269."ACCEPTS"($P270)
+    isfalse $I272, $P271
+    unless $I272, if_268_end
 .annotate "line", 117
-    get_hll_global $P275, ["PAST"], "Val"
-    find_lex $P276, "$past"
-    set $S277, $P276
-    $P278 = $P275."new"($S277 :named("value"))
-    store_lex "$past", $P278
-  if_270_end:
+    get_hll_global $P273, ["PAST"], "Val"
+    find_lex $P274, "$past"
+    set $S275, $P274
+    $P276 = $P273."new"($S275 :named("value"))
+    store_lex "$past", $P276
+  if_268_end:
 .annotate "line", 119
-    find_lex $P279, "$/"
-    find_lex $P280, "$past"
-    $P281 = $P279."!make"($P280)
+    find_lex $P277, "$/"
+    find_lex $P278, "$past"
+    $P279 = $P277."!make"($P278)
 .annotate "line", 102
-    .return ($P281)
-  control_223:
+    .return ($P279)
+  control_221:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P282, exception, "payload"
-    .return ($P282)
+    getattribute $P280, exception, "payload"
+    .return ($P280)
 .end
 
 
 .namespace ["HLL";"Actions"]
-.sub "_block240"  :anon :subid("28_1259103973.24593") :outer("27_1259103973.24593")
+.sub "_block238"  :anon :subid("28_1259177731.48064") :outer("27_1259177731.48064")
 .annotate "line", 108
-    .const 'Sub' $P262 = "29_1259103973.24593" 
-    capture_lex $P262
+    .const 'Sub' $P260 = "29_1259177731.48064" 
+    capture_lex $P260
 .annotate "line", 109
-    new $P242, "ResizablePMCArray"
-    .lex "@words", $P242
-    get_hll_global $P243, ["HLL";"Grammar"], "split_words"
-    find_lex $P244, "$/"
-    find_lex $P245, "$past"
-    $P246 = $P243($P244, $P245)
-    store_lex "@words", $P246
+    new $P240, "ResizablePMCArray"
+    .lex "@words", $P240
+    get_hll_global $P241, ["HLL";"Grammar"], "split_words"
+    find_lex $P242, "$/"
+    find_lex $P243, "$past"
+    $P244 = $P241($P242, $P243)
+    store_lex "@words", $P244
 .annotate "line", 110
-    find_lex $P249, "@words"
+    find_lex $P247, "@words"
+    set $N248, $P247
+    new $P249, "Integer"
+    assign $P249, 1
     set $N250, $P249
-    new $P251, "Integer"
-    assign $P251, 1
-    set $N252, $P251
-    isgt $I253, $N250, $N252
-    if $I253, if_248
-    new $P247, 'Integer'
-    set $P247, $I253
-    goto if_248_end
-  if_248:
+    isgt $I251, $N248, $N250
+    if $I251, if_246
+    new $P245, 'Integer'
+    set $P245, $I251
+    goto if_246_end
+  if_246:
 .annotate "line", 111
-    get_hll_global $P254, ["PAST"], "Op"
-    find_lex $P255, "$/"
-    $P256 = $P254."new"("list" :named("pasttype"), $P255 :named("node"))
-    store_lex "$past", $P256
+    get_hll_global $P252, ["PAST"], "Op"
+    find_lex $P253, "$/"
+    $P254 = $P252."new"("list" :named("pasttype"), $P253 :named("node"))
+    store_lex "$past", $P254
 .annotate "line", 112
-    find_lex $P258, "@words"
-    defined $I259, $P258
-    unless $I259, for_undef_77
-    iter $P257, $P258
-    new $P268, 'ExceptionHandler'
-    set_addr $P268, loop267_handler
-    $P268."handle_types"(65, 67, 66)
-    push_eh $P268
-  loop267_test:
-    unless $P257, loop267_done
-    shift $P260, $P257
-  loop267_redo:
-    .const 'Sub' $P262 = "29_1259103973.24593" 
-    capture_lex $P262
-    $P262($P260)
-  loop267_next:
-    goto loop267_test
-  loop267_handler:
+    find_lex $P256, "@words"
+    defined $I257, $P256
+    unless $I257, for_undef_77
+    iter $P255, $P256
+    new $P266, 'ExceptionHandler'
+    set_addr $P266, loop265_handler
+    $P266."handle_types"(65, 67, 66)
+    push_eh $P266
+  loop265_test:
+    unless $P255, loop265_done
+    shift $P258, $P255
+  loop265_redo:
+    .const 'Sub' $P260 = "29_1259177731.48064" 
+    capture_lex $P260
+    $P260($P258)
+  loop265_next:
+    goto loop265_test
+  loop265_handler:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P269, exception, 'type'
-    eq $P269, 65, loop267_next
-    eq $P269, 67, loop267_redo
-  loop267_done:
+    getattribute $P267, exception, 'type'
+    eq $P267, 65, loop265_next
+    eq $P267, 67, loop265_redo
+  loop265_done:
     pop_eh 
   for_undef_77:
 .annotate "line", 110
-    set $P247, $P257
-  if_248_end:
+    set $P245, $P255
+  if_246_end:
 .annotate "line", 108
-    .return ($P247)
+    .return ($P245)
 .end
 
 
 .namespace ["HLL";"Actions"]
-.sub "_block261"  :anon :subid("29_1259103973.24593") :outer("28_1259103973.24593")
-    .param pmc param_263
+.sub "_block259"  :anon :subid("29_1259177731.48064") :outer("28_1259177731.48064")
+    .param pmc param_261
 .annotate "line", 112
-    .lex "$_", param_263
-    find_lex $P264, "$past"
-    find_lex $P265, "$_"
-    $P266 = $P264."push"($P265)
-    .return ($P266)
+    .lex "$_", param_261
+    find_lex $P262, "$past"
+    find_lex $P263, "$_"
+    $P264 = $P262."push"($P263)
+    .return ($P264)
 .end
 
 
 .namespace ["HLL";"Actions"]
-.sub "quote_delimited"  :subid("30_1259103973.24593") :method :outer("11_1259103973.24593")
-    .param pmc param_286
+.sub "quote_delimited"  :subid("30_1259177731.48064") :method :outer("11_1259177731.48064")
+    .param pmc param_284
 .annotate "line", 122
-    .const 'Sub' $P298 = "31_1259103973.24593" 
-    capture_lex $P298
-    new $P285, 'ExceptionHandler'
-    set_addr $P285, control_284
-    $P285."handle_types"(58)
-    push_eh $P285
+    .const 'Sub' $P296 = "31_1259177731.48064" 
+    capture_lex $P296
+    new $P283, 'ExceptionHandler'
+    set_addr $P283, control_282
+    $P283."handle_types"(58)
+    push_eh $P283
     .lex "self", self
-    .lex "$/", param_286
+    .lex "$/", param_284
 .annotate "line", 123
-    new $P287, "ResizablePMCArray"
-    .lex "@parts", $P287
+    new $P285, "ResizablePMCArray"
+    .lex "@parts", $P285
 .annotate "line", 124
-    new $P288, "Undef"
-    .lex "$lastlit", $P288
+    new $P286, "Undef"
+    .lex "$lastlit", $P286
 .annotate "line", 140
-    new $P289, "Undef"
-    .lex "$past", $P289
+    new $P287, "Undef"
+    .lex "$past", $P287
 .annotate "line", 122
-    find_lex $P290, "@parts"
+    find_lex $P288, "@parts"
 .annotate "line", 124
-    new $P291, "String"
-    assign $P291, ""
-    store_lex "$lastlit", $P291
+    new $P289, "String"
+    assign $P289, ""
+    store_lex "$lastlit", $P289
 .annotate "line", 125
-    find_lex $P293, "$/"
-    unless_null $P293, vivify_78
-    new $P293, "Hash"
+    find_lex $P291, "$/"
+    unless_null $P291, vivify_78
+    new $P291, "Hash"
   vivify_78:
-    set $P294, $P293["quote_atom"]
-    unless_null $P294, vivify_79
-    new $P294, "Undef"
+    set $P292, $P291["quote_atom"]
+    unless_null $P292, vivify_79
+    new $P292, "Undef"
   vivify_79:
-    defined $I295, $P294
-    unless $I295, for_undef_80
-    iter $P292, $P294
-    new $P331, 'ExceptionHandler'
-    set_addr $P331, loop330_handler
-    $P331."handle_types"(65, 67, 66)
-    push_eh $P331
-  loop330_test:
-    unless $P292, loop330_done
-    shift $P296, $P292
-  loop330_redo:
-    .const 'Sub' $P298 = "31_1259103973.24593" 
-    capture_lex $P298
-    $P298($P296)
-  loop330_next:
-    goto loop330_test
-  loop330_handler:
+    defined $I293, $P292
+    unless $I293, for_undef_80
+    iter $P290, $P292
+    new $P329, 'ExceptionHandler'
+    set_addr $P329, loop328_handler
+    $P329."handle_types"(65, 67, 66)
+    push_eh $P329
+  loop328_test:
+    unless $P290, loop328_done
+    shift $P294, $P290
+  loop328_redo:
+    .const 'Sub' $P296 = "31_1259177731.48064" 
+    capture_lex $P296
+    $P296($P294)
+  loop328_next:
+    goto loop328_test
+  loop328_handler:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P332, exception, 'type'
-    eq $P332, 65, loop330_next
-    eq $P332, 67, loop330_redo
-  loop330_done:
+    getattribute $P330, exception, 'type'
+    eq $P330, 65, loop328_next
+    eq $P330, 67, loop328_redo
+  loop328_done:
     pop_eh 
   for_undef_80:
 .annotate "line", 139
-    find_lex $P334, "$lastlit"
-    set $S335, $P334
-    isgt $I336, $S335, ""
-    unless $I336, if_333_end
-    find_lex $P337, "@parts"
-    find_lex $P338, "$lastlit"
-    $P337."push"($P338)
-  if_333_end:
+    find_lex $P332, "$lastlit"
+    set $S333, $P332
+    isgt $I334, $S333, ""
+    unless $I334, if_331_end
+    find_lex $P335, "@parts"
+    find_lex $P336, "$lastlit"
+    $P335."push"($P336)
+  if_331_end:
 .annotate "line", 140
-    find_lex $P341, "@parts"
-    if $P341, if_340
-    new $P344, "String"
-    assign $P344, ""
-    set $P339, $P344
-    goto if_340_end
-  if_340:
-    find_lex $P342, "@parts"
-    $P343 = $P342."shift"()
-    set $P339, $P343
-  if_340_end:
-    store_lex "$past", $P339
+    find_lex $P339, "@parts"
+    if $P339, if_338
+    new $P342, "String"
+    assign $P342, ""
+    set $P337, $P342
+    goto if_338_end
+  if_338:
+    find_lex $P340, "@parts"
+    $P341 = $P340."shift"()
+    set $P337, $P341
+  if_338_end:
+    store_lex "$past", $P337
 .annotate "line", 141
-    new $P352, 'ExceptionHandler'
-    set_addr $P352, loop351_handler
-    $P352."handle_types"(65, 67, 66)
-    push_eh $P352
-  loop351_test:
-    find_lex $P345, "@parts"
-    unless $P345, loop351_done
-  loop351_redo:
+    new $P350, 'ExceptionHandler'
+    set_addr $P350, loop349_handler
+    $P350."handle_types"(65, 67, 66)
+    push_eh $P350
+  loop349_test:
+    find_lex $P343, "@parts"
+    unless $P343, loop349_done
+  loop349_redo:
 .annotate "line", 142
-    get_hll_global $P346, ["PAST"], "Op"
-    find_lex $P347, "$past"
-    find_lex $P348, "@parts"
-    $P349 = $P348."shift"()
-    $P350 = $P346."new"($P347, $P349, "concat" :named("pirop"))
-    store_lex "$past", $P350
-  loop351_next:
+    get_hll_global $P344, ["PAST"], "Op"
+    find_lex $P345, "$past"
+    find_lex $P346, "@parts"
+    $P347 = $P346."shift"()
+    $P348 = $P344."new"($P345, $P347, "concat" :named("pirop"))
+    store_lex "$past", $P348
+  loop349_next:
 .annotate "line", 141
-    goto loop351_test
-  loop351_handler:
+    goto loop349_test
+  loop349_handler:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P353, exception, 'type'
-    eq $P353, 65, loop351_next
-    eq $P353, 67, loop351_redo
-  loop351_done:
+    getattribute $P351, exception, 'type'
+    eq $P351, 65, loop349_next
+    eq $P351, 67, loop349_redo
+  loop349_done:
     pop_eh 
 .annotate "line", 144
-    find_lex $P354, "$/"
-    find_lex $P355, "$past"
-    $P356 = $P354."!make"($P355)
+    find_lex $P352, "$/"
+    find_lex $P353, "$past"
+    $P354 = $P352."!make"($P353)
 .annotate "line", 122
-    .return ($P356)
-  control_284:
+    .return ($P354)
+  control_282:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P357, exception, "payload"
-    .return ($P357)
+    getattribute $P355, exception, "payload"
+    .return ($P355)
 .end
 
 
 .namespace ["HLL";"Actions"]
-.sub "_block297"  :anon :subid("31_1259103973.24593") :outer("30_1259103973.24593")
-    .param pmc param_300
+.sub "_block295"  :anon :subid("31_1259177731.48064") :outer("30_1259177731.48064")
+    .param pmc param_298
 .annotate "line", 126
-    new $P299, "Undef"
-    .lex "$ast", $P299
-    .lex "$_", param_300
-    find_lex $P301, "$_"
-    $P302 = $P301."ast"()
-    store_lex "$ast", $P302
+    new $P297, "Undef"
+    .lex "$ast", $P297
+    .lex "$_", param_298
+    find_lex $P299, "$_"
+    $P300 = $P299."ast"()
+    store_lex "$ast", $P300
 .annotate "line", 127
-    get_hll_global $P305, ["PAST"], "Node"
-    find_lex $P306, "$ast"
-    $P307 = $P305."ACCEPTS"($P306)
-    isfalse $I308, $P307
-    if $I308, if_304
+    get_hll_global $P303, ["PAST"], "Node"
+    find_lex $P304, "$ast"
+    $P305 = $P303."ACCEPTS"($P304)
+    isfalse $I306, $P305
+    if $I306, if_302
 .annotate "line", 130
-    find_lex $P314, "$ast"
-    get_hll_global $P315, ["PAST"], "Val"
-    $P316 = $P314."isa"($P315)
-    if $P316, if_313
+    find_lex $P312, "$ast"
+    get_hll_global $P313, ["PAST"], "Val"
+    $P314 = $P312."isa"($P313)
+    if $P314, if_311
 .annotate "line", 134
-    find_lex $P322, "$lastlit"
-    set $S323, $P322
-    isgt $I324, $S323, ""
-    unless $I324, if_321_end
+    find_lex $P320, "$lastlit"
+    set $S321, $P320
+    isgt $I322, $S321, ""
+    unless $I322, if_319_end
+    find_lex $P323, "@parts"
+    find_lex $P324, "$lastlit"
+    $P323."push"($P324)
+  if_319_end:
+.annotate "line", 135
     find_lex $P325, "@parts"
-    find_lex $P326, "$lastlit"
+    find_lex $P326, "$ast"
     $P325."push"($P326)
-  if_321_end:
-.annotate "line", 135
-    find_lex $P327, "@parts"
-    find_lex $P328, "$ast"
-    $P327."push"($P328)
 .annotate "line", 136
-    new $P329, "String"
-    assign $P329, ""
-    store_lex "$lastlit", $P329
+    new $P327, "String"
+    assign $P327, ""
+    store_lex "$lastlit", $P327
 .annotate "line", 133
-    set $P312, $P329
+    set $P310, $P327
 .annotate "line", 130
-    goto if_313_end
-  if_313:
+    goto if_311_end
+  if_311:
 .annotate "line", 131
-    find_lex $P317, "$lastlit"
-    find_lex $P318, "$ast"
-    $S319 = $P318."value"()
-    concat $P320, $P317, $S319
-    store_lex "$lastlit", $P320
+    find_lex $P315, "$lastlit"
+    find_lex $P316, "$ast"
+    $S317 = $P316."value"()
+    concat $P318, $P315, $S317
+    store_lex "$lastlit", $P318
 .annotate "line", 130
-    set $P312, $P320
-  if_313_end:
-    set $P303, $P312
+    set $P310, $P318
+  if_311_end:
+    set $P301, $P310
 .annotate "line", 127
-    goto if_304_end
-  if_304:
+    goto if_302_end
+  if_302:
 .annotate "line", 128
-    find_lex $P309, "$lastlit"
-    find_lex $P310, "$ast"
-    concat $P311, $P309, $P310
-    store_lex "$lastlit", $P311
+    find_lex $P307, "$lastlit"
+    find_lex $P308, "$ast"
+    concat $P309, $P307, $P308
+    store_lex "$lastlit", $P309
 .annotate "line", 127
-    set $P303, $P311
-  if_304_end:
+    set $P301, $P309
+  if_302_end:
 .annotate "line", 125
-    .return ($P303)
+    .return ($P301)
 .end
 
 
 .namespace ["HLL";"Actions"]
-.sub "quote_atom"  :subid("32_1259103973.24593") :method :outer("11_1259103973.24593")
-    .param pmc param_361
+.sub "quote_atom"  :subid("32_1259177731.48064") :method :outer("11_1259177731.48064")
+    .param pmc param_359
 .annotate "line", 147
-    new $P360, 'ExceptionHandler'
-    set_addr $P360, control_359
-    $P360."handle_types"(58)
-    push_eh $P360
+    new $P358, 'ExceptionHandler'
+    set_addr $P358, control_357
+    $P358."handle_types"(58)
+    push_eh $P358
     .lex "self", self
-    .lex "$/", param_361
+    .lex "$/", param_359
 .annotate "line", 148
-    find_lex $P362, "$/"
+    find_lex $P360, "$/"
+    find_lex $P363, "$/"
+    unless_null $P363, vivify_81
+    new $P363, "Hash"
+  vivify_81:
+    set $P364, $P363["quote_escape"]
+    unless_null $P364, vivify_82
+    new $P364, "Undef"
+  vivify_82:
+    if $P364, if_362
+    find_lex $P368, "$/"
+    set $S369, $P368
+    new $P361, 'String'
+    set $P361, $S369
+    goto if_362_end
+  if_362:
     find_lex $P365, "$/"
-    unless_null $P365, vivify_81
+    unless_null $P365, vivify_83
     new $P365, "Hash"
-  vivify_81:
+  vivify_83:
     set $P366, $P365["quote_escape"]
-    unless_null $P366, vivify_82
+    unless_null $P366, vivify_84
     new $P366, "Undef"
-  vivify_82:
-    if $P366, if_364
-    find_lex $P370, "$/"
-    set $S371, $P370
-    new $P363, 'String'
-    set $P363, $S371
-    goto if_364_end
-  if_364:
-    find_lex $P367, "$/"
-    unless_null $P367, vivify_83
-    new $P367, "Hash"
-  vivify_83:
-    set $P368, $P367["quote_escape"]
-    unless_null $P368, vivify_84
-    new $P368, "Undef"
   vivify_84:
-    $P369 = $P368."ast"()
-    set $P363, $P369
-  if_364_end:
-    $P372 = $P362."!make"($P363)
+    $P367 = $P366."ast"()
+    set $P361, $P367
+  if_362_end:
+    $P370 = $P360."!make"($P361)
 .annotate "line", 147
-    .return ($P372)
-  control_359:
+    .return ($P370)
+  control_357:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P373, exception, "payload"
-    .return ($P373)
+    getattribute $P371, exception, "payload"
+    .return ($P371)
 .end
 
 
 .namespace ["HLL";"Actions"]
-.sub "quote_escape:sym<backslash>"  :subid("33_1259103973.24593") :method :outer("11_1259103973.24593")
-    .param pmc param_377
+.sub "quote_escape:sym<backslash>"  :subid("33_1259177731.48064") :method :outer("11_1259177731.48064")
+    .param pmc param_375
 .annotate "line", 151
-    new $P376, 'ExceptionHandler'
-    set_addr $P376, control_375
-    $P376."handle_types"(58)
-    push_eh $P376
+    new $P374, 'ExceptionHandler'
+    set_addr $P374, control_373
+    $P374."handle_types"(58)
+    push_eh $P374
     .lex "self", self
-    .lex "$/", param_377
-    find_lex $P378, "$/"
-    $P379 = $P378."!make"("\\")
-    .return ($P379)
-  control_375:
+    .lex "$/", param_375
+    find_lex $P376, "$/"
+    $P377 = $P376."!make"("\\")
+    .return ($P377)
+  control_373:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P380, exception, "payload"
-    .return ($P380)
+    getattribute $P378, exception, "payload"
+    .return ($P378)
 .end
 
 
 .namespace ["HLL";"Actions"]
-.sub "quote_escape:sym<stopper>"  :subid("34_1259103973.24593") :method :outer("11_1259103973.24593")
-    .param pmc param_384
+.sub "quote_escape:sym<stopper>"  :subid("34_1259177731.48064") :method :outer("11_1259177731.48064")
+    .param pmc param_382
 .annotate "line", 152
-    new $P383, 'ExceptionHandler'
-    set_addr $P383, control_382
-    $P383."handle_types"(58)
-    push_eh $P383
+    new $P381, 'ExceptionHandler'
+    set_addr $P381, control_380
+    $P381."handle_types"(58)
+    push_eh $P381
     .lex "self", self
-    .lex "$/", param_384
-    find_lex $P385, "$/"
-    find_lex $P386, "$/"
-    unless_null $P386, vivify_85
-    new $P386, "Hash"
+    .lex "$/", param_382
+    find_lex $P383, "$/"
+    find_lex $P384, "$/"
+    unless_null $P384, vivify_85
+    new $P384, "Hash"
   vivify_85:
-    set $P387, $P386["stopper"]
-    unless_null $P387, vivify_86
-    new $P387, "Undef"
+    set $P385, $P384["stopper"]
+    unless_null $P385, vivify_86
+    new $P385, "Undef"
   vivify_86:
-    set $S388, $P387
-    $P389 = $P385."!make"($S388)
-    .return ($P389)
-  control_382:
+    set $S386, $P385
+    $P387 = $P383."!make"($S386)
+    .return ($P387)
+  control_380:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P390, exception, "payload"
-    .return ($P390)
+    getattribute $P388, exception, "payload"
+    .return ($P388)
 .end
 
 
 .namespace ["HLL";"Actions"]
-.sub "quote_escape:sym<bs>"  :subid("35_1259103973.24593") :method :outer("11_1259103973.24593")
-    .param pmc param_394
+.sub "quote_escape:sym<bs>"  :subid("35_1259177731.48064") :method :outer("11_1259177731.48064")
+    .param pmc param_392
 .annotate "line", 154
-    new $P393, 'ExceptionHandler'
-    set_addr $P393, control_392
-    $P393."handle_types"(58)
-    push_eh $P393
+    new $P391, 'ExceptionHandler'
+    set_addr $P391, control_390
+    $P391."handle_types"(58)
+    push_eh $P391
     .lex "self", self
-    .lex "$/", param_394
-    find_lex $P395, "$/"
-    $P396 = $P395."!make"("\b")
-    .return ($P396)
-  control_392:
+    .lex "$/", param_392
+    find_lex $P393, "$/"
+    $P394 = $P393."!make"("\b")
+    .return ($P394)
+  control_390:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P397, exception, "payload"
-    .return ($P397)
+    getattribute $P395, exception, "payload"
+    .return ($P395)
 .end
 
 
 .namespace ["HLL";"Actions"]
-.sub "quote_escape:sym<nl>"  :subid("36_1259103973.24593") :method :outer("11_1259103973.24593")
-    .param pmc param_401
+.sub "quote_escape:sym<nl>"  :subid("36_1259177731.48064") :method :outer("11_1259177731.48064")
+    .param pmc param_399
 .annotate "line", 155
-    new $P400, 'ExceptionHandler'
-    set_addr $P400, control_399
-    $P400."handle_types"(58)
-    push_eh $P400
+    new $P398, 'ExceptionHandler'
+    set_addr $P398, control_397
+    $P398."handle_types"(58)
+    push_eh $P398
     .lex "self", self
-    .lex "$/", param_401
-    find_lex $P402, "$/"
-    $P403 = $P402."!make"("\n")
-    .return ($P403)
-  control_399:
+    .lex "$/", param_399
+    find_lex $P400, "$/"
+    $P401 = $P400."!make"("\n")
+    .return ($P401)
+  control_397:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P404, exception, "payload"
-    .return ($P404)
+    getattribute $P402, exception, "payload"
+    .return ($P402)
 .end
 
 
 .namespace ["HLL";"Actions"]
-.sub "quote_escape:sym<cr>"  :subid("37_1259103973.24593") :method :outer("11_1259103973.24593")
-    .param pmc param_408
+.sub "quote_escape:sym<cr>"  :subid("37_1259177731.48064") :method :outer("11_1259177731.48064")
+    .param pmc param_406
 .annotate "line", 156
-    new $P407, 'ExceptionHandler'
-    set_addr $P407, control_406
-    $P407."handle_types"(58)
-    push_eh $P407
+    new $P405, 'ExceptionHandler'
+    set_addr $P405, control_404
+    $P405."handle_types"(58)
+    push_eh $P405
     .lex "self", self
-    .lex "$/", param_408
-    find_lex $P409, "$/"
-    $P410 = $P409."!make"("\r")
-    .return ($P410)
-  control_406:
+    .lex "$/", param_406
+    find_lex $P407, "$/"
+    $P408 = $P407."!make"("\r")
+    .return ($P408)
+  control_404:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P411, exception, "payload"
-    .return ($P411)
+    getattribute $P409, exception, "payload"
+    .return ($P409)
 .end
 
 
 .namespace ["HLL";"Actions"]
-.sub "quote_escape:sym<tab>"  :subid("38_1259103973.24593") :method :outer("11_1259103973.24593")
-    .param pmc param_415
+.sub "quote_escape:sym<tab>"  :subid("38_1259177731.48064") :method :outer("11_1259177731.48064")
+    .param pmc param_413
 .annotate "line", 157
-    new $P414, 'ExceptionHandler'
-    set_addr $P414, control_413
-    $P414."handle_types"(58)
-    push_eh $P414
+    new $P412, 'ExceptionHandler'
+    set_addr $P412, control_411
+    $P412."handle_types"(58)
+    push_eh $P412
     .lex "self", self
-    .lex "$/", param_415
-    find_lex $P416, "$/"
-    $P417 = $P416."!make"("\t")
-    .return ($P417)
-  control_413:
+    .lex "$/", param_413
+    find_lex $P414, "$/"
+    $P415 = $P414."!make"("\t")
+    .return ($P415)
+  control_411:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P418, exception, "payload"
-    .return ($P418)
+    getattribute $P416, exception, "payload"
+    .return ($P416)
 .end
 
 
 .namespace ["HLL";"Actions"]
-.sub "quote_escape:sym<hex>"  :subid("39_1259103973.24593") :method :outer("11_1259103973.24593")
-    .param pmc param_422
+.sub "quote_escape:sym<hex>"  :subid("39_1259177731.48064") :method :outer("11_1259177731.48064")
+    .param pmc param_420
 .annotate "line", 159
-    new $P421, 'ExceptionHandler'
-    set_addr $P421, control_420
-    $P421."handle_types"(58)
-    push_eh $P421
+    new $P419, 'ExceptionHandler'
+    set_addr $P419, control_418
+    $P419."handle_types"(58)
+    push_eh $P419
     .lex "self", self
-    .lex "$/", param_422
+    .lex "$/", param_420
 .annotate "line", 160
-    find_lex $P423, "$/"
-    find_lex $P426, "$/"
-    unless_null $P426, vivify_87
-    new $P426, "Hash"
+    find_lex $P421, "$/"
+    find_lex $P424, "$/"
+    unless_null $P424, vivify_87
+    new $P424, "Hash"
   vivify_87:
-    set $P427, $P426["hexint"]
-    unless_null $P427, vivify_88
-    new $P427, "Undef"
+    set $P425, $P424["hexint"]
+    unless_null $P425, vivify_88
+    new $P425, "Undef"
   vivify_88:
-    if $P427, if_425
-    find_lex $P430, "$/"
-    unless_null $P430, vivify_89
-    new $P430, "Hash"
+    if $P425, if_423
+    find_lex $P428, "$/"
+    unless_null $P428, vivify_89
+    new $P428, "Hash"
   vivify_89:
-    set $P431, $P430["hexints"]
-    unless_null $P431, vivify_90
-    new $P431, "Hash"
+    set $P429, $P428["hexints"]
+    unless_null $P429, vivify_90
+    new $P429, "Hash"
   vivify_90:
-    set $P432, $P431["hexint"]
-    unless_null $P432, vivify_91
-    new $P432, "Undef"
+    set $P430, $P429["hexint"]
+    unless_null $P430, vivify_91
+    new $P430, "Undef"
   vivify_91:
-    set $P424, $P432
-    goto if_425_end
-  if_425:
-    find_lex $P428, "$/"
-    unless_null $P428, vivify_92
-    new $P428, "Hash"
+    set $P422, $P430
+    goto if_423_end
+  if_423:
+    find_lex $P426, "$/"
+    unless_null $P426, vivify_92
+    new $P426, "Hash"
   vivify_92:
-    set $P429, $P428["hexint"]
-    unless_null $P429, vivify_93
-    new $P429, "Undef"
+    set $P427, $P426["hexint"]
+    unless_null $P427, vivify_93
+    new $P427, "Undef"
   vivify_93:
-    set $P424, $P429
-  if_425_end:
-    $P433 = "ints_to_string"($P424)
-    $P434 = $P423."!make"($P433)
+    set $P422, $P427
+  if_423_end:
+    $P431 = "ints_to_string"($P422)
+    $P432 = $P421."!make"($P431)
 .annotate "line", 159
-    .return ($P434)
-  control_420:
+    .return ($P432)
+  control_418:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P435, exception, "payload"
-    .return ($P435)
+    getattribute $P433, exception, "payload"
+    .return ($P433)
 .end
 
 
 .namespace ["HLL";"Actions"]
-.sub "quote_escape:sym<oct>"  :subid("40_1259103973.24593") :method :outer("11_1259103973.24593")
-    .param pmc param_439
+.sub "quote_escape:sym<oct>"  :subid("40_1259177731.48064") :method :outer("11_1259177731.48064")
+    .param pmc param_437
 .annotate "line", 163
-    new $P438, 'ExceptionHandler'
-    set_addr $P438, control_437
-    $P438."handle_types"(58)
-    push_eh $P438
+    new $P436, 'ExceptionHandler'
+    set_addr $P436, control_435
+    $P436."handle_types"(58)
+    push_eh $P436
     .lex "self", self
-    .lex "$/", param_439
+    .lex "$/", param_437
 .annotate "line", 164
-    find_lex $P440, "$/"
-    find_lex $P443, "$/"
-    unless_null $P443, vivify_94
-    new $P443, "Hash"
+    find_lex $P438, "$/"
+    find_lex $P441, "$/"
+    unless_null $P441, vivify_94
+    new $P441, "Hash"
   vivify_94:
-    set $P444, $P443["octint"]
-    unless_null $P444, vivify_95
-    new $P444, "Undef"
+    set $P442, $P441["octint"]
+    unless_null $P442, vivify_95
+    new $P442, "Undef"
   vivify_95:
-    if $P444, if_442
-    find_lex $P447, "$/"
-    unless_null $P447, vivify_96
-    new $P447, "Hash"
+    if $P442, if_440
+    find_lex $P445, "$/"
+    unless_null $P445, vivify_96
+    new $P445, "Hash"
   vivify_96:
-    set $P448, $P447["octints"]
-    unless_null $P448, vivify_97
-    new $P448, "Hash"
+    set $P446, $P445["octints"]
+    unless_null $P446, vivify_97
+    new $P446, "Hash"
   vivify_97:
-    set $P449, $P448["octint"]
-    unless_null $P449, vivify_98
-    new $P449, "Undef"
+    set $P447, $P446["octint"]
+    unless_null $P447, vivify_98
+    new $P447, "Undef"
   vivify_98:
-    set $P441, $P449
-    goto if_442_end
-  if_442:
-    find_lex $P445, "$/"
-    unless_null $P445, vivify_99
-    new $P445, "Hash"
+    set $P439, $P447
+    goto if_440_end
+  if_440:
+    find_lex $P443, "$/"
+    unless_null $P443, vivify_99
+    new $P443, "Hash"
   vivify_99:
-    set $P446, $P445["octint"]
-    unless_null $P446, vivify_100
-    new $P446, "Undef"
+    set $P444, $P443["octint"]
+    unless_null $P444, vivify_100
+    new $P444, "Undef"
   vivify_100:
-    set $P441, $P446
-  if_442_end:
-    $P450 = "ints_to_string"($P441)
-    $P451 = $P440."!make"($P450)
+    set $P439, $P444
+  if_440_end:
+    $P448 = "ints_to_string"($P439)
+    $P449 = $P438."!make"($P448)
 .annotate "line", 163
-    .return ($P451)
-  control_437:
+    .return ($P449)
+  control_435:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P452, exception, "payload"
-    .return ($P452)
+    getattribute $P450, exception, "payload"
+    .return ($P450)
 .end
 
 

Modified: trunk/ext/nqp-rx/src/stage0/NQP-s0.pir
==============================================================================
--- trunk/ext/nqp-rx/src/stage0/NQP-s0.pir	Wed Nov 25 15:55:29 2009	(r42805)
+++ trunk/ext/nqp-rx/src/stage0/NQP-s0.pir	Wed Nov 25 20:09:43 2009	(r42806)
@@ -15,371 +15,375 @@
 ### .include 'gen/nqp-grammar.pir'
 
 .namespace []
-.sub "_block11"  :anon :subid("10_1259103982.97329")
+.sub "_block11"  :anon :subid("10_1259177761.22934")
 .annotate "line", 0
     get_hll_global $P14, ["NQP";"Grammar"], "_block13" 
     capture_lex $P14
 .annotate "line", 4
     get_hll_global $P14, ["NQP";"Grammar"], "_block13" 
     capture_lex $P14
-    $P1231 = $P14()
+    $P1253 = $P14()
 .annotate "line", 1
-    .return ($P1231)
+    .return ($P1253)
 .end
 
 
 .namespace []
-.sub "" :load :init :subid("post316") :outer("10_1259103982.97329")
+.sub "" :load :init :subid("post320") :outer("10_1259177761.22934")
 .annotate "line", 0
-    .const 'Sub' $P12 = "10_1259103982.97329" 
+    .const 'Sub' $P12 = "10_1259177761.22934" 
     .local pmc block
     set block, $P12
-    $P1232 = get_root_global ["parrot"], "P6metaclass"
-    $P1232."new_class"("NQP::Grammar", "HLL::Grammar" :named("parent"))
+    $P1254 = get_root_global ["parrot"], "P6metaclass"
+    $P1254."new_class"("NQP::Grammar", "HLL::Grammar" :named("parent"))
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "_block13"  :subid("11_1259103982.97329") :outer("10_1259103982.97329")
+.sub "_block13"  :subid("11_1259177761.22934") :outer("10_1259177761.22934")
 .annotate "line", 4
-    get_hll_global $P1175, ["NQP";"Regex"], "_block1174" 
+    get_hll_global $P1195, ["NQP";"Regex"], "_block1194" 
+    capture_lex $P1195
+    .const 'Sub' $P1188 = "305_1259177761.22934" 
+    capture_lex $P1188
+    .const 'Sub' $P1182 = "303_1259177761.22934" 
+    capture_lex $P1182
+    .const 'Sub' $P1175 = "301_1259177761.22934" 
     capture_lex $P1175
-    .const 'Sub' $P1168 = "301_1259103982.97329" 
+    .const 'Sub' $P1168 = "299_1259177761.22934" 
     capture_lex $P1168
-    .const 'Sub' $P1162 = "299_1259103982.97329" 
-    capture_lex $P1162
-    .const 'Sub' $P1155 = "297_1259103982.97329" 
-    capture_lex $P1155
-    .const 'Sub' $P1148 = "295_1259103982.97329" 
+    .const 'Sub' $P1161 = "297_1259177761.22934" 
+    capture_lex $P1161
+    .const 'Sub' $P1154 = "295_1259177761.22934" 
+    capture_lex $P1154
+    .const 'Sub' $P1148 = "293_1259177761.22934" 
     capture_lex $P1148
-    .const 'Sub' $P1141 = "293_1259103982.97329" 
+    .const 'Sub' $P1141 = "291_1259177761.22934" 
     capture_lex $P1141
-    .const 'Sub' $P1134 = "291_1259103982.97329" 
+    .const 'Sub' $P1134 = "289_1259177761.22934" 
     capture_lex $P1134
-    .const 'Sub' $P1128 = "289_1259103982.97329" 
-    capture_lex $P1128
-    .const 'Sub' $P1121 = "287_1259103982.97329" 
-    capture_lex $P1121
-    .const 'Sub' $P1114 = "285_1259103982.97329" 
-    capture_lex $P1114
-    .const 'Sub' $P1107 = "283_1259103982.97329" 
-    capture_lex $P1107
-    .const 'Sub' $P1100 = "281_1259103982.97329" 
-    capture_lex $P1100
-    .const 'Sub' $P1093 = "279_1259103982.97329" 
-    capture_lex $P1093
-    .const 'Sub' $P1086 = "277_1259103982.97329" 
-    capture_lex $P1086
-    .const 'Sub' $P1079 = "275_1259103982.97329" 
-    capture_lex $P1079
-    .const 'Sub' $P1072 = "273_1259103982.97329" 
-    capture_lex $P1072
-    .const 'Sub' $P1065 = "271_1259103982.97329" 
-    capture_lex $P1065
-    .const 'Sub' $P1058 = "269_1259103982.97329" 
-    capture_lex $P1058
-    .const 'Sub' $P1051 = "267_1259103982.97329" 
-    capture_lex $P1051
-    .const 'Sub' $P1044 = "265_1259103982.97329" 
-    capture_lex $P1044
-    .const 'Sub' $P1037 = "263_1259103982.97329" 
-    capture_lex $P1037
-    .const 'Sub' $P1030 = "261_1259103982.97329" 
-    capture_lex $P1030
-    .const 'Sub' $P1023 = "259_1259103982.97329" 
-    capture_lex $P1023
-    .const 'Sub' $P1016 = "257_1259103982.97329" 
-    capture_lex $P1016
-    .const 'Sub' $P1009 = "255_1259103982.97329" 
-    capture_lex $P1009
-    .const 'Sub' $P1002 = "253_1259103982.97329" 
-    capture_lex $P1002
-    .const 'Sub' $P995 = "251_1259103982.97329" 
-    capture_lex $P995
-    .const 'Sub' $P988 = "249_1259103982.97329" 
-    capture_lex $P988
-    .const 'Sub' $P981 = "247_1259103982.97329" 
-    capture_lex $P981
-    .const 'Sub' $P974 = "245_1259103982.97329" 
-    capture_lex $P974
-    .const 'Sub' $P967 = "243_1259103982.97329" 
+    .const 'Sub' $P1127 = "287_1259177761.22934" 
+    capture_lex $P1127
+    .const 'Sub' $P1120 = "285_1259177761.22934" 
+    capture_lex $P1120
+    .const 'Sub' $P1113 = "283_1259177761.22934" 
+    capture_lex $P1113
+    .const 'Sub' $P1106 = "281_1259177761.22934" 
+    capture_lex $P1106
+    .const 'Sub' $P1099 = "279_1259177761.22934" 
+    capture_lex $P1099
+    .const 'Sub' $P1092 = "277_1259177761.22934" 
+    capture_lex $P1092
+    .const 'Sub' $P1085 = "275_1259177761.22934" 
+    capture_lex $P1085
+    .const 'Sub' $P1078 = "273_1259177761.22934" 
+    capture_lex $P1078
+    .const 'Sub' $P1071 = "271_1259177761.22934" 
+    capture_lex $P1071
+    .const 'Sub' $P1064 = "269_1259177761.22934" 
+    capture_lex $P1064
+    .const 'Sub' $P1057 = "267_1259177761.22934" 
+    capture_lex $P1057
+    .const 'Sub' $P1050 = "265_1259177761.22934" 
+    capture_lex $P1050
+    .const 'Sub' $P1043 = "263_1259177761.22934" 
+    capture_lex $P1043
+    .const 'Sub' $P1036 = "261_1259177761.22934" 
+    capture_lex $P1036
+    .const 'Sub' $P1029 = "259_1259177761.22934" 
+    capture_lex $P1029
+    .const 'Sub' $P1022 = "257_1259177761.22934" 
+    capture_lex $P1022
+    .const 'Sub' $P1015 = "255_1259177761.22934" 
+    capture_lex $P1015
+    .const 'Sub' $P1008 = "253_1259177761.22934" 
+    capture_lex $P1008
+    .const 'Sub' $P1001 = "251_1259177761.22934" 
+    capture_lex $P1001
+    .const 'Sub' $P994 = "249_1259177761.22934" 
+    capture_lex $P994
+    .const 'Sub' $P987 = "247_1259177761.22934" 
+    capture_lex $P987
+    .const 'Sub' $P980 = "245_1259177761.22934" 
+    capture_lex $P980
+    .const 'Sub' $P973 = "243_1259177761.22934" 
+    capture_lex $P973
+    .const 'Sub' $P967 = "241_1259177761.22934" 
     capture_lex $P967
-    .const 'Sub' $P960 = "241_1259103982.97329" 
+    .const 'Sub' $P960 = "239_1259177761.22934" 
     capture_lex $P960
-    .const 'Sub' $P953 = "239_1259103982.97329" 
+    .const 'Sub' $P953 = "237_1259177761.22934" 
     capture_lex $P953
-    .const 'Sub' $P947 = "237_1259103982.97329" 
-    capture_lex $P947
-    .const 'Sub' $P940 = "235_1259103982.97329" 
-    capture_lex $P940
-    .const 'Sub' $P933 = "233_1259103982.97329" 
-    capture_lex $P933
-    .const 'Sub' $P926 = "231_1259103982.97329" 
-    capture_lex $P926
-    .const 'Sub' $P919 = "229_1259103982.97329" 
-    capture_lex $P919
-    .const 'Sub' $P912 = "227_1259103982.97329" 
+    .const 'Sub' $P946 = "235_1259177761.22934" 
+    capture_lex $P946
+    .const 'Sub' $P939 = "233_1259177761.22934" 
+    capture_lex $P939
+    .const 'Sub' $P932 = "231_1259177761.22934" 
+    capture_lex $P932
+    .const 'Sub' $P925 = "229_1259177761.22934" 
+    capture_lex $P925
+    .const 'Sub' $P918 = "227_1259177761.22934" 
+    capture_lex $P918
+    .const 'Sub' $P912 = "225_1259177761.22934" 
     capture_lex $P912
-    .const 'Sub' $P905 = "225_1259103982.97329" 
-    capture_lex $P905
-    .const 'Sub' $P898 = "223_1259103982.97329" 
-    capture_lex $P898
-    .const 'Sub' $P892 = "221_1259103982.97329" 
-    capture_lex $P892
-    .const 'Sub' $P886 = "219_1259103982.97329" 
-    capture_lex $P886
-    .const 'Sub' $P881 = "217_1259103982.97329" 
-    capture_lex $P881
-    .const 'Sub' $P875 = "215_1259103982.97329" 
-    capture_lex $P875
-    .const 'Sub' $P869 = "213_1259103982.97329" 
-    capture_lex $P869
-    .const 'Sub' $P864 = "211_1259103982.97329" 
+    .const 'Sub' $P906 = "223_1259177761.22934" 
+    capture_lex $P906
+    .const 'Sub' $P901 = "221_1259177761.22934" 
+    capture_lex $P901
+    .const 'Sub' $P895 = "219_1259177761.22934" 
+    capture_lex $P895
+    .const 'Sub' $P889 = "217_1259177761.22934" 
+    capture_lex $P889
+    .const 'Sub' $P884 = "215_1259177761.22934" 
+    capture_lex $P884
+    .const 'Sub' $P879 = "213_1259177761.22934" 
+    capture_lex $P879
+    .const 'Sub' $P872 = "211_1259177761.22934" 
+    capture_lex $P872
+    .const 'Sub' $P864 = "209_1259177761.22934" 
     capture_lex $P864
-    .const 'Sub' $P859 = "209_1259103982.97329" 
+    .const 'Sub' $P859 = "207_1259177761.22934" 
     capture_lex $P859
-    .const 'Sub' $P852 = "207_1259103982.97329" 
-    capture_lex $P852
-    .const 'Sub' $P844 = "205_1259103982.97329" 
-    capture_lex $P844
-    .const 'Sub' $P839 = "203_1259103982.97329" 
-    capture_lex $P839
-    .const 'Sub' $P834 = "201_1259103982.97329" 
-    capture_lex $P834
-    .const 'Sub' $P826 = "199_1259103982.97329" 
-    capture_lex $P826
-    .const 'Sub' $P818 = "197_1259103982.97329" 
-    capture_lex $P818
-    .const 'Sub' $P813 = "195_1259103982.97329" 
-    capture_lex $P813
-    .const 'Sub' $P808 = "193_1259103982.97329" 
-    capture_lex $P808
-    .const 'Sub' $P802 = "191_1259103982.97329" 
-    capture_lex $P802
-    .const 'Sub' $P796 = "189_1259103982.97329" 
-    capture_lex $P796
-    .const 'Sub' $P790 = "187_1259103982.97329" 
-    capture_lex $P790
-    .const 'Sub' $P784 = "185_1259103982.97329" 
-    capture_lex $P784
-    .const 'Sub' $P779 = "183_1259103982.97329" 
-    capture_lex $P779
-    .const 'Sub' $P774 = "181_1259103982.97329" 
-    capture_lex $P774
-    .const 'Sub' $P761 = "177_1259103982.97329" 
-    capture_lex $P761
-    .const 'Sub' $P753 = "175_1259103982.97329" 
-    capture_lex $P753
-    .const 'Sub' $P747 = "173_1259103982.97329" 
-    capture_lex $P747
-    .const 'Sub' $P740 = "171_1259103982.97329" 
-    capture_lex $P740
-    .const 'Sub' $P734 = "169_1259103982.97329" 
-    capture_lex $P734
-    .const 'Sub' $P726 = "167_1259103982.97329" 
+    .const 'Sub' $P854 = "205_1259177761.22934" 
+    capture_lex $P854
+    .const 'Sub' $P846 = "203_1259177761.22934" 
+    capture_lex $P846
+    .const 'Sub' $P838 = "201_1259177761.22934" 
+    capture_lex $P838
+    .const 'Sub' $P833 = "199_1259177761.22934" 
+    capture_lex $P833
+    .const 'Sub' $P828 = "197_1259177761.22934" 
+    capture_lex $P828
+    .const 'Sub' $P822 = "195_1259177761.22934" 
+    capture_lex $P822
+    .const 'Sub' $P816 = "193_1259177761.22934" 
+    capture_lex $P816
+    .const 'Sub' $P810 = "191_1259177761.22934" 
+    capture_lex $P810
+    .const 'Sub' $P804 = "189_1259177761.22934" 
+    capture_lex $P804
+    .const 'Sub' $P799 = "187_1259177761.22934" 
+    capture_lex $P799
+    .const 'Sub' $P794 = "185_1259177761.22934" 
+    capture_lex $P794
+    .const 'Sub' $P781 = "181_1259177761.22934" 
+    capture_lex $P781
+    .const 'Sub' $P773 = "179_1259177761.22934" 
+    capture_lex $P773
+    .const 'Sub' $P767 = "177_1259177761.22934" 
+    capture_lex $P767
+    .const 'Sub' $P760 = "175_1259177761.22934" 
+    capture_lex $P760
+    .const 'Sub' $P754 = "173_1259177761.22934" 
+    capture_lex $P754
+    .const 'Sub' $P746 = "171_1259177761.22934" 
+    capture_lex $P746
+    .const 'Sub' $P738 = "169_1259177761.22934" 
+    capture_lex $P738
+    .const 'Sub' $P732 = "167_1259177761.22934" 
+    capture_lex $P732
+    .const 'Sub' $P726 = "165_1259177761.22934" 
     capture_lex $P726
-    .const 'Sub' $P718 = "165_1259103982.97329" 
-    capture_lex $P718
-    .const 'Sub' $P712 = "163_1259103982.97329" 
-    capture_lex $P712
-    .const 'Sub' $P706 = "161_1259103982.97329" 
-    capture_lex $P706
-    .const 'Sub' $P691 = "157_1259103982.97329" 
-    capture_lex $P691
-    .const 'Sub' $P659 = "155_1259103982.97329" 
-    capture_lex $P659
-    .const 'Sub' $P651 = "153_1259103982.97329" 
-    capture_lex $P651
-    .const 'Sub' $P645 = "151_1259103982.97329" 
-    capture_lex $P645
-    .const 'Sub' $P635 = "149_1259103982.97329" 
-    capture_lex $P635
-    .const 'Sub' $P620 = "147_1259103982.97329" 
-    capture_lex $P620
-    .const 'Sub' $P611 = "145_1259103982.97329" 
-    capture_lex $P611
-    .const 'Sub' $P592 = "143_1259103982.97329" 
-    capture_lex $P592
-    .const 'Sub' $P573 = "141_1259103982.97329" 
-    capture_lex $P573
-    .const 'Sub' $P566 = "139_1259103982.97329" 
-    capture_lex $P566
-    .const 'Sub' $P559 = "137_1259103982.97329" 
-    capture_lex $P559
-    .const 'Sub' $P549 = "133_1259103982.97329" 
-    capture_lex $P549
-    .const 'Sub' $P538 = "131_1259103982.97329" 
-    capture_lex $P538
-    .const 'Sub' $P531 = "129_1259103982.97329" 
-    capture_lex $P531
-    .const 'Sub' $P524 = "127_1259103982.97329" 
-    capture_lex $P524
-    .const 'Sub' $P517 = "125_1259103982.97329" 
-    capture_lex $P517
-    .const 'Sub' $P490 = "121_1259103982.97329" 
-    capture_lex $P490
-    .const 'Sub' $P481 = "119_1259103982.97329" 
-    capture_lex $P481
-    .const 'Sub' $P474 = "117_1259103982.97329" 
-    capture_lex $P474
-    .const 'Sub' $P465 = "113_1259103982.97329" 
-    capture_lex $P465
-    .const 'Sub' $P460 = "111_1259103982.97329" 
-    capture_lex $P460
-    .const 'Sub' $P448 = "109_1259103982.97329" 
-    capture_lex $P448
-    .const 'Sub' $P437 = "107_1259103982.97329" 
-    capture_lex $P437
-    .const 'Sub' $P432 = "105_1259103982.97329" 
-    capture_lex $P432
-    .const 'Sub' $P426 = "103_1259103982.97329" 
-    capture_lex $P426
-    .const 'Sub' $P420 = "101_1259103982.97329" 
-    capture_lex $P420
-    .const 'Sub' $P414 = "99_1259103982.97329" 
-    capture_lex $P414
-    .const 'Sub' $P408 = "97_1259103982.97329" 
-    capture_lex $P408
-    .const 'Sub' $P402 = "95_1259103982.97329" 
+    .const 'Sub' $P711 = "161_1259177761.22934" 
+    capture_lex $P711
+    .const 'Sub' $P679 = "159_1259177761.22934" 
+    capture_lex $P679
+    .const 'Sub' $P671 = "157_1259177761.22934" 
+    capture_lex $P671
+    .const 'Sub' $P665 = "155_1259177761.22934" 
+    capture_lex $P665
+    .const 'Sub' $P655 = "153_1259177761.22934" 
+    capture_lex $P655
+    .const 'Sub' $P640 = "151_1259177761.22934" 
+    capture_lex $P640
+    .const 'Sub' $P631 = "149_1259177761.22934" 
+    capture_lex $P631
+    .const 'Sub' $P612 = "147_1259177761.22934" 
+    capture_lex $P612
+    .const 'Sub' $P593 = "145_1259177761.22934" 
+    capture_lex $P593
+    .const 'Sub' $P586 = "143_1259177761.22934" 
+    capture_lex $P586
+    .const 'Sub' $P579 = "141_1259177761.22934" 
+    capture_lex $P579
+    .const 'Sub' $P569 = "137_1259177761.22934" 
+    capture_lex $P569
+    .const 'Sub' $P558 = "135_1259177761.22934" 
+    capture_lex $P558
+    .const 'Sub' $P551 = "133_1259177761.22934" 
+    capture_lex $P551
+    .const 'Sub' $P544 = "131_1259177761.22934" 
+    capture_lex $P544
+    .const 'Sub' $P537 = "129_1259177761.22934" 
+    capture_lex $P537
+    .const 'Sub' $P510 = "125_1259177761.22934" 
+    capture_lex $P510
+    .const 'Sub' $P501 = "123_1259177761.22934" 
+    capture_lex $P501
+    .const 'Sub' $P494 = "121_1259177761.22934" 
+    capture_lex $P494
+    .const 'Sub' $P485 = "117_1259177761.22934" 
+    capture_lex $P485
+    .const 'Sub' $P480 = "115_1259177761.22934" 
+    capture_lex $P480
+    .const 'Sub' $P468 = "113_1259177761.22934" 
+    capture_lex $P468
+    .const 'Sub' $P457 = "111_1259177761.22934" 
+    capture_lex $P457
+    .const 'Sub' $P452 = "109_1259177761.22934" 
+    capture_lex $P452
+    .const 'Sub' $P446 = "107_1259177761.22934" 
+    capture_lex $P446
+    .const 'Sub' $P440 = "105_1259177761.22934" 
+    capture_lex $P440
+    .const 'Sub' $P434 = "103_1259177761.22934" 
+    capture_lex $P434
+    .const 'Sub' $P428 = "101_1259177761.22934" 
+    capture_lex $P428
+    .const 'Sub' $P422 = "99_1259177761.22934" 
+    capture_lex $P422
+    .const 'Sub' $P416 = "97_1259177761.22934" 
+    capture_lex $P416
+    .const 'Sub' $P410 = "95_1259177761.22934" 
+    capture_lex $P410
+    .const 'Sub' $P402 = "93_1259177761.22934" 
     capture_lex $P402
-    .const 'Sub' $P396 = "93_1259103982.97329" 
-    capture_lex $P396
-    .const 'Sub' $P390 = "91_1259103982.97329" 
-    capture_lex $P390
-    .const 'Sub' $P382 = "89_1259103982.97329" 
+    .const 'Sub' $P394 = "91_1259177761.22934" 
+    capture_lex $P394
+    .const 'Sub' $P382 = "87_1259177761.22934" 
     capture_lex $P382
-    .const 'Sub' $P374 = "87_1259103982.97329" 
+    .const 'Sub' $P374 = "85_1259177761.22934" 
     capture_lex $P374
-    .const 'Sub' $P362 = "83_1259103982.97329" 
-    capture_lex $P362
-    .const 'Sub' $P354 = "81_1259103982.97329" 
-    capture_lex $P354
-    .const 'Sub' $P344 = "77_1259103982.97329" 
-    capture_lex $P344
-    .const 'Sub' $P337 = "75_1259103982.97329" 
-    capture_lex $P337
-    .const 'Sub' $P330 = "73_1259103982.97329" 
+    .const 'Sub' $P364 = "81_1259177761.22934" 
+    capture_lex $P364
+    .const 'Sub' $P357 = "79_1259177761.22934" 
+    capture_lex $P357
+    .const 'Sub' $P350 = "77_1259177761.22934" 
+    capture_lex $P350
+    .const 'Sub' $P338 = "73_1259177761.22934" 
+    capture_lex $P338
+    .const 'Sub' $P330 = "71_1259177761.22934" 
     capture_lex $P330
-    .const 'Sub' $P318 = "69_1259103982.97329" 
-    capture_lex $P318
-    .const 'Sub' $P298 = "67_1259103982.97329" 
-    capture_lex $P298
-    .const 'Sub' $P289 = "65_1259103982.97329" 
-    capture_lex $P289
-    .const 'Sub' $P271 = "62_1259103982.97329" 
-    capture_lex $P271
-    .const 'Sub' $P251 = "60_1259103982.97329" 
-    capture_lex $P251
-    .const 'Sub' $P242 = "56_1259103982.97329" 
-    capture_lex $P242
-    .const 'Sub' $P237 = "54_1259103982.97329" 
-    capture_lex $P237
-    .const 'Sub' $P228 = "50_1259103982.97329" 
-    capture_lex $P228
-    .const 'Sub' $P223 = "48_1259103982.97329" 
-    capture_lex $P223
-    .const 'Sub' $P215 = "46_1259103982.97329" 
-    capture_lex $P215
-    .const 'Sub' $P208 = "44_1259103982.97329" 
-    capture_lex $P208
-    .const 'Sub' $P202 = "42_1259103982.97329" 
-    capture_lex $P202
-    .const 'Sub' $P194 = "40_1259103982.97329" 
-    capture_lex $P194
-    .const 'Sub' $P188 = "38_1259103982.97329" 
-    capture_lex $P188
-    .const 'Sub' $P182 = "36_1259103982.97329" 
-    capture_lex $P182
-    .const 'Sub' $P166 = "33_1259103982.97329" 
-    capture_lex $P166
-    .const 'Sub' $P153 = "31_1259103982.97329" 
-    capture_lex $P153
-    .const 'Sub' $P146 = "29_1259103982.97329" 
-    capture_lex $P146
-    .const 'Sub' $P103 = "26_1259103982.97329" 
-    capture_lex $P103
-    .const 'Sub' $P85 = "23_1259103982.97329" 
+    .const 'Sub' $P322 = "69_1259177761.22934" 
+    capture_lex $P322
+    .const 'Sub' $P302 = "67_1259177761.22934" 
+    capture_lex $P302
+    .const 'Sub' $P293 = "65_1259177761.22934" 
+    capture_lex $P293
+    .const 'Sub' $P274 = "62_1259177761.22934" 
+    capture_lex $P274
+    .const 'Sub' $P254 = "60_1259177761.22934" 
+    capture_lex $P254
+    .const 'Sub' $P245 = "56_1259177761.22934" 
+    capture_lex $P245
+    .const 'Sub' $P240 = "54_1259177761.22934" 
+    capture_lex $P240
+    .const 'Sub' $P231 = "50_1259177761.22934" 
+    capture_lex $P231
+    .const 'Sub' $P226 = "48_1259177761.22934" 
+    capture_lex $P226
+    .const 'Sub' $P218 = "46_1259177761.22934" 
+    capture_lex $P218
+    .const 'Sub' $P211 = "44_1259177761.22934" 
+    capture_lex $P211
+    .const 'Sub' $P205 = "42_1259177761.22934" 
+    capture_lex $P205
+    .const 'Sub' $P197 = "40_1259177761.22934" 
+    capture_lex $P197
+    .const 'Sub' $P191 = "38_1259177761.22934" 
+    capture_lex $P191
+    .const 'Sub' $P185 = "36_1259177761.22934" 
+    capture_lex $P185
+    .const 'Sub' $P168 = "33_1259177761.22934" 
+    capture_lex $P168
+    .const 'Sub' $P155 = "31_1259177761.22934" 
+    capture_lex $P155
+    .const 'Sub' $P148 = "29_1259177761.22934" 
+    capture_lex $P148
+    .const 'Sub' $P104 = "26_1259177761.22934" 
+    capture_lex $P104
+    .const 'Sub' $P85 = "23_1259177761.22934" 
     capture_lex $P85
-    .const 'Sub' $P75 = "21_1259103982.97329" 
+    .const 'Sub' $P75 = "21_1259177761.22934" 
     capture_lex $P75
-    .const 'Sub' $P61 = "19_1259103982.97329" 
+    .const 'Sub' $P61 = "19_1259177761.22934" 
     capture_lex $P61
-    .const 'Sub' $P46 = "17_1259103982.97329" 
+    .const 'Sub' $P46 = "17_1259177761.22934" 
     capture_lex $P46
-    .const 'Sub' $P39 = "15_1259103982.97329" 
+    .const 'Sub' $P39 = "15_1259177761.22934" 
     capture_lex $P39
-    .const 'Sub' $P33 = "13_1259103982.97329" 
+    .const 'Sub' $P33 = "13_1259177761.22934" 
     capture_lex $P33
-    .const 'Sub' $P15 = "12_1259103982.97329" 
+    .const 'Sub' $P15 = "12_1259177761.22934" 
     capture_lex $P15
-.annotate "line", 498
-    get_hll_global $P1175, ["NQP";"Regex"], "_block1174" 
-    capture_lex $P1175
-    $P1214 = $P1175()
+.annotate "line", 508
+    get_hll_global $P1195, ["NQP";"Regex"], "_block1194" 
+    capture_lex $P1195
+    $P1236 = $P1195()
 .annotate "line", 4
-    .return ($P1214)
+    .return ($P1236)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "" :load :init :subid("post317") :outer("11_1259103982.97329")
+.sub "" :load :init :subid("post321") :outer("11_1259177761.22934")
 .annotate "line", 4
     get_hll_global $P14, ["NQP";"Grammar"], "_block13" 
     .local pmc block
     set block, $P14
-.annotate "line", 391
-    get_hll_global $P1215, ["NQP"], "Grammar"
-    $P1215."O"(":prec<y=>, :assoc<unary>", "%methodop")
-.annotate "line", 392
-    get_hll_global $P1216, ["NQP"], "Grammar"
-    $P1216."O"(":prec<x=>, :assoc<unary>", "%autoincrement")
-.annotate "line", 393
-    get_hll_global $P1217, ["NQP"], "Grammar"
-    $P1217."O"(":prec<w=>, :assoc<left>", "%exponentiation")
-.annotate "line", 394
-    get_hll_global $P1218, ["NQP"], "Grammar"
-    $P1218."O"(":prec<v=>, :assoc<unary>", "%symbolic_unary")
-.annotate "line", 395
-    get_hll_global $P1219, ["NQP"], "Grammar"
-    $P1219."O"(":prec<u=>, :assoc<left>", "%multiplicative")
-.annotate "line", 396
-    get_hll_global $P1220, ["NQP"], "Grammar"
-    $P1220."O"(":prec<t=>, :assoc<left>", "%additive")
-.annotate "line", 397
-    get_hll_global $P1221, ["NQP"], "Grammar"
-    $P1221."O"(":prec<r=>, :assoc<left>", "%concatenation")
-.annotate "line", 398
-    get_hll_global $P1222, ["NQP"], "Grammar"
-    $P1222."O"(":prec<m=>, :assoc<left>", "%relational")
-.annotate "line", 399
-    get_hll_global $P1223, ["NQP"], "Grammar"
-    $P1223."O"(":prec<l=>, :assoc<left>", "%tight_and")
-.annotate "line", 400
-    get_hll_global $P1224, ["NQP"], "Grammar"
-    $P1224."O"(":prec<k=>, :assoc<left>", "%tight_or")
 .annotate "line", 401
-    get_hll_global $P1225, ["NQP"], "Grammar"
-    $P1225."O"(":prec<j=>, :assoc<right>", "%conditional")
+    get_hll_global $P1237, ["NQP"], "Grammar"
+    $P1237."O"(":prec<y=>, :assoc<unary>", "%methodop")
 .annotate "line", 402
-    get_hll_global $P1226, ["NQP"], "Grammar"
-    $P1226."O"(":prec<i=>, :assoc<right>", "%assignment")
+    get_hll_global $P1238, ["NQP"], "Grammar"
+    $P1238."O"(":prec<x=>, :assoc<unary>", "%autoincrement")
 .annotate "line", 403
-    get_hll_global $P1227, ["NQP"], "Grammar"
-    $P1227."O"(":prec<g=>, :assoc<list>, :nextterm<nulltermish>", "%comma")
+    get_hll_global $P1239, ["NQP"], "Grammar"
+    $P1239."O"(":prec<w=>, :assoc<left>", "%exponentiation")
 .annotate "line", 404
-    get_hll_global $P1228, ["NQP"], "Grammar"
-    $P1228."O"(":prec<f=>, :assoc<list>", "%list_infix")
+    get_hll_global $P1240, ["NQP"], "Grammar"
+    $P1240."O"(":prec<v=>, :assoc<unary>", "%symbolic_unary")
 .annotate "line", 405
-    get_hll_global $P1229, ["NQP"], "Grammar"
-    $P1229."O"(":prec<e=>, :assoc<unary>", "%list_prefix")
-.annotate "line", 390
-    $P1230 = get_root_global ["parrot"], "P6metaclass"
-    $P1230."new_class"("NQP::Regex", "Regex::P6Regex::Grammar" :named("parent"))
+    get_hll_global $P1241, ["NQP"], "Grammar"
+    $P1241."O"(":prec<u=>, :assoc<left>", "%multiplicative")
+.annotate "line", 406
+    get_hll_global $P1242, ["NQP"], "Grammar"
+    $P1242."O"(":prec<t=>, :assoc<left>", "%additive")
+.annotate "line", 407
+    get_hll_global $P1243, ["NQP"], "Grammar"
+    $P1243."O"(":prec<r=>, :assoc<left>", "%concatenation")
+.annotate "line", 408
+    get_hll_global $P1244, ["NQP"], "Grammar"
+    $P1244."O"(":prec<m=>, :assoc<left>", "%relational")
+.annotate "line", 409
+    get_hll_global $P1245, ["NQP"], "Grammar"
+    $P1245."O"(":prec<l=>, :assoc<left>", "%tight_and")
+.annotate "line", 410
+    get_hll_global $P1246, ["NQP"], "Grammar"
+    $P1246."O"(":prec<k=>, :assoc<left>", "%tight_or")
+.annotate "line", 411
+    get_hll_global $P1247, ["NQP"], "Grammar"
+    $P1247."O"(":prec<j=>, :assoc<right>", "%conditional")
+.annotate "line", 412
+    get_hll_global $P1248, ["NQP"], "Grammar"
+    $P1248."O"(":prec<i=>, :assoc<right>", "%assignment")
+.annotate "line", 413
+    get_hll_global $P1249, ["NQP"], "Grammar"
+    $P1249."O"(":prec<g=>, :assoc<list>, :nextterm<nulltermish>", "%comma")
+.annotate "line", 414
+    get_hll_global $P1250, ["NQP"], "Grammar"
+    $P1250."O"(":prec<f=>, :assoc<list>", "%list_infix")
+.annotate "line", 415
+    get_hll_global $P1251, ["NQP"], "Grammar"
+    $P1251."O"(":prec<e=>, :assoc<unary>", "%list_prefix")
+.annotate "line", 400
+    $P1252 = get_root_global ["parrot"], "P6metaclass"
+    $P1252."new_class"("NQP::Regex", "Regex::P6Regex::Grammar" :named("parent"))
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "TOP"  :subid("12_1259103982.97329") :method :outer("11_1259103982.97329")
+.sub "TOP"  :subid("12_1259177761.22934") :method :outer("11_1259177761.22934")
 .annotate "line", 4
     new $P17, 'ExceptionHandler'
     set_addr $P17, control_16
@@ -394,55 +398,55 @@
     .lex "$*SCOPE", $P19
 .annotate "line", 4
     find_lex $P20, "%*LANG"
-    unless_null $P20, vivify_318
+    unless_null $P20, vivify_322
     get_hll_global $P20, "%LANG"
-    unless_null $P20, vivify_319
+    unless_null $P20, vivify_323
     die "Contextual %*LANG not found"
-  vivify_319:
-  vivify_318:
+  vivify_323:
+  vivify_322:
 .annotate "line", 6
     get_hll_global $P21, ["NQP"], "Regex"
     find_lex $P22, "%*LANG"
-    unless_null $P22, vivify_320
+    unless_null $P22, vivify_324
     get_hll_global $P22, "%LANG"
-    unless_null $P22, vivify_321
+    unless_null $P22, vivify_325
     die "Contextual %*LANG not found"
-  vivify_321:
+  vivify_325:
     store_lex "%*LANG", $P22
-  vivify_320:
+  vivify_324:
     set $P22["Regex"], $P21
 .annotate "line", 7
     get_hll_global $P23, ["NQP"], "RegexActions"
     find_lex $P24, "%*LANG"
-    unless_null $P24, vivify_322
+    unless_null $P24, vivify_326
     get_hll_global $P24, "%LANG"
-    unless_null $P24, vivify_323
+    unless_null $P24, vivify_327
     die "Contextual %*LANG not found"
-  vivify_323:
+  vivify_327:
     store_lex "%*LANG", $P24
-  vivify_322:
+  vivify_326:
     set $P24["Regex-actions"], $P23
 .annotate "line", 8
     get_hll_global $P25, ["NQP"], "Grammar"
     find_lex $P26, "%*LANG"
-    unless_null $P26, vivify_324
+    unless_null $P26, vivify_328
     get_hll_global $P26, "%LANG"
-    unless_null $P26, vivify_325
+    unless_null $P26, vivify_329
     die "Contextual %*LANG not found"
-  vivify_325:
+  vivify_329:
     store_lex "%*LANG", $P26
-  vivify_324:
+  vivify_328:
     set $P26["MAIN"], $P25
 .annotate "line", 9
     get_hll_global $P27, ["NQP"], "Actions"
     find_lex $P28, "%*LANG"
-    unless_null $P28, vivify_326
+    unless_null $P28, vivify_330
     get_hll_global $P28, "%LANG"
-    unless_null $P28, vivify_327
+    unless_null $P28, vivify_331
     die "Contextual %*LANG not found"
-  vivify_327:
+  vivify_331:
     store_lex "%*LANG", $P28
-  vivify_326:
+  vivify_330:
     set $P28["MAIN-actions"], $P27
 .annotate "line", 10
     new $P29, "String"
@@ -462,7 +466,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "identifier"  :subid("13_1259103982.97329") :method :outer("11_1259103982.97329")
+.sub "identifier"  :subid("13_1259177761.22934") :method :outer("11_1259177761.22934")
 .annotate "line", 4
     .local string rx34_tgt
     .local int rx34_pos
@@ -520,7 +524,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__identifier"  :subid("14_1259103982.97329") :method
+.sub "!PREFIX__identifier"  :subid("14_1259177761.22934") :method
 .annotate "line", 4
     $P36 = self."!PREFIX__!subrule"("ident", "")
     new $P37, "ResizablePMCArray"
@@ -530,7 +534,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "name"  :subid("15_1259103982.97329") :method :outer("11_1259103982.97329")
+.sub "name"  :subid("15_1259177761.22934") :method :outer("11_1259177761.22934")
 .annotate "line", 4
     .local string rx40_tgt
     .local int rx40_pos
@@ -604,7 +608,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__name"  :subid("16_1259103982.97329") :method
+.sub "!PREFIX__name"  :subid("16_1259177761.22934") :method
 .annotate "line", 4
     new $P42, "ResizablePMCArray"
     push $P42, ""
@@ -613,7 +617,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "deflongname"  :subid("17_1259103982.97329") :method :outer("11_1259103982.97329")
+.sub "deflongname"  :subid("17_1259177761.22934") :method :outer("11_1259177761.22934")
 .annotate "line", 4
     .local string rx47_tgt
     .local int rx47_pos
@@ -772,7 +776,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__deflongname"  :subid("18_1259103982.97329") :method
+.sub "!PREFIX__deflongname"  :subid("18_1259177761.22934") :method
 .annotate "line", 4
     $P49 = self."!PREFIX__!subrule"("identifier", "")
     new $P50, "ResizablePMCArray"
@@ -782,7 +786,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "ENDSTMT"  :subid("19_1259103982.97329") :method :outer("11_1259103982.97329")
+.sub "ENDSTMT"  :subid("19_1259177761.22934") :method :outer("11_1259177761.22934")
 .annotate "line", 4
     .local string rx62_tgt
     .local int rx62_pos
@@ -914,7 +918,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__ENDSTMT"  :subid("20_1259103982.97329") :method
+.sub "!PREFIX__ENDSTMT"  :subid("20_1259177761.22934") :method
 .annotate "line", 4
     new $P64, "ResizablePMCArray"
     push $P64, ""
@@ -923,7 +927,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "ws"  :subid("21_1259103982.97329") :method :outer("11_1259103982.97329")
+.sub "ws"  :subid("21_1259177761.22934") :method :outer("11_1259177761.22934")
 .annotate "line", 4
     .local string rx76_tgt
     .local int rx76_pos
@@ -1049,7 +1053,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__ws"  :subid("22_1259103982.97329") :method
+.sub "!PREFIX__ws"  :subid("22_1259177761.22934") :method
 .annotate "line", 4
     new $P78, "ResizablePMCArray"
     push $P78, ""
@@ -1059,9 +1063,9 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "unv"  :subid("23_1259103982.97329") :method :outer("11_1259103982.97329")
+.sub "unv"  :subid("23_1259177761.22934") :method :outer("11_1259177761.22934")
 .annotate "line", 4
-    .const 'Sub' $P93 = "25_1259103982.97329" 
+    .const 'Sub' $P93 = "25_1259177761.22934" 
     capture_lex $P93
     .local string rx86_tgt
     .local int rx86_pos
@@ -1107,7 +1111,7 @@
   rxanchor91_done:
   # rx subrule "before" subtype=zerowidth negate=
     rx86_cur."!cursor_pos"(rx86_pos)
-    .const 'Sub' $P93 = "25_1259103982.97329" 
+    .const 'Sub' $P93 = "25_1259177761.22934" 
     capture_lex $P93
     $P10 = rx86_cur."before"($P93)
     unless $P10, rx86_fail
@@ -1121,10 +1125,10 @@
     set_addr $I10, alt90_2
     rx86_cur."!mark_push"(0, rx86_pos, $I10)
 .annotate "line", 46
-  # rx rxquantr99 ** 0..*
-    set_addr $I100, rxquantr99_done
-    rx86_cur."!mark_push"(0, rx86_pos, $I100)
-  rxquantr99_loop:
+  # rx rxquantr100 ** 0..*
+    set_addr $I101, rxquantr100_done
+    rx86_cur."!mark_push"(0, rx86_pos, $I101)
+  rxquantr100_loop:
   # rx enumcharlist negate=0 
     ge rx86_pos, rx86_eos, rx86_fail
     sub $I10, rx86_pos, rx86_off
@@ -1132,10 +1136,10 @@
     index $I11, unicode:"\t \x{a0}\u1680\u180e\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200a\u202f\u205f\u3000", $S10
     lt $I11, 0, rx86_fail
     inc rx86_pos
-    (rx86_rep) = rx86_cur."!mark_commit"($I100)
-    rx86_cur."!mark_push"(rx86_rep, rx86_pos, $I100)
-    goto rxquantr99_loop
-  rxquantr99_done:
+    (rx86_rep) = rx86_cur."!mark_commit"($I101)
+    rx86_cur."!mark_push"(rx86_rep, rx86_pos, $I101)
+    goto rxquantr100_loop
+  rxquantr100_done:
   # rx literal  "#"
     add $I11, rx86_pos, 1
     gt $I11, rx86_eos, rx86_fail
@@ -1150,10 +1154,10 @@
     goto alt90_end
   alt90_2:
 .annotate "line", 47
-  # rx rxquantr101 ** 1..*
-    set_addr $I102, rxquantr101_done
-    rx86_cur."!mark_push"(0, -1, $I102)
-  rxquantr101_loop:
+  # rx rxquantr102 ** 1..*
+    set_addr $I103, rxquantr102_done
+    rx86_cur."!mark_push"(0, -1, $I103)
+  rxquantr102_loop:
   # rx enumcharlist negate=0 
     ge rx86_pos, rx86_eos, rx86_fail
     sub $I10, rx86_pos, rx86_off
@@ -1161,10 +1165,10 @@
     index $I11, unicode:"\t \x{a0}\u1680\u180e\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200a\u202f\u205f\u3000", $S10
     lt $I11, 0, rx86_fail
     inc rx86_pos
-    (rx86_rep) = rx86_cur."!mark_commit"($I102)
-    rx86_cur."!mark_push"(rx86_rep, rx86_pos, $I102)
-    goto rxquantr101_loop
-  rxquantr101_done:
+    (rx86_rep) = rx86_cur."!mark_commit"($I103)
+    rx86_cur."!mark_push"(rx86_rep, rx86_pos, $I103)
+    goto rxquantr102_loop
+  rxquantr102_done:
   alt90_end:
 .annotate "line", 42
   # rx pass
@@ -1186,7 +1190,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__unv"  :subid("24_1259103982.97329") :method
+.sub "!PREFIX__unv"  :subid("24_1259177761.22934") :method
 .annotate "line", 4
     new $P88, "ResizablePMCArray"
     push $P88, ""
@@ -1197,2875 +1201,2863 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "_block92"  :anon :subid("25_1259103982.97329") :method :outer("23_1259103982.97329")
+.sub "_block92"  :anon :subid("25_1259177761.22934") :method :outer("23_1259177761.22934")
 .annotate "line", 45
-    .local string rx94_tgt
-    .local int rx94_pos
-    .local int rx94_off
-    .local int rx94_eos
-    .local int rx94_rep
-    .local pmc rx94_cur
-    (rx94_cur, rx94_pos, rx94_tgt) = self."!cursor_start"()
-    rx94_cur."!cursor_debug"("START ", "")
-    .lex unicode:"$\x{a2}", rx94_cur
-    .local pmc match
-    .lex "$/", match
-    length rx94_eos, rx94_tgt
-    set rx94_off, 0
-    lt rx94_pos, 2, rx94_start
-    sub rx94_off, rx94_pos, 1
-    substr rx94_tgt, rx94_tgt, rx94_off
-  rx94_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan95_done
-    goto rxscan95_scan
-  rxscan95_loop:
-    ($P10) = rx94_cur."from"()
-    inc $P10
-    set rx94_pos, $P10
-    ge rx94_pos, rx94_eos, rxscan95_done
-  rxscan95_scan:
-    set_addr $I10, rxscan95_loop
-    rx94_cur."!mark_push"(0, rx94_pos, $I10)
-  rxscan95_done:
-  # rx rxquantr96 ** 0..*
-    set_addr $I97, rxquantr96_done
-    rx94_cur."!mark_push"(0, rx94_pos, $I97)
-  rxquantr96_loop:
+    .lex unicode:"$\x{a2}", $P94
+    .local string rx95_tgt
+    .local int rx95_pos
+    .local int rx95_off
+    .local int rx95_eos
+    .local int rx95_rep
+    .local pmc rx95_cur
+    (rx95_cur, rx95_pos, rx95_tgt) = self."!cursor_start"()
+    rx95_cur."!cursor_debug"("START ", "")
+    .lex unicode:"$\x{a2}", rx95_cur
+    .local pmc match
+    .lex "$/", match
+    length rx95_eos, rx95_tgt
+    set rx95_off, 0
+    lt rx95_pos, 2, rx95_start
+    sub rx95_off, rx95_pos, 1
+    substr rx95_tgt, rx95_tgt, rx95_off
+  rx95_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan96_done
+    goto rxscan96_scan
+  rxscan96_loop:
+    ($P10) = rx95_cur."from"()
+    inc $P10
+    set rx95_pos, $P10
+    ge rx95_pos, rx95_eos, rxscan96_done
+  rxscan96_scan:
+    set_addr $I10, rxscan96_loop
+    rx95_cur."!mark_push"(0, rx95_pos, $I10)
+  rxscan96_done:
+  # rx rxquantr97 ** 0..*
+    set_addr $I98, rxquantr97_done
+    rx95_cur."!mark_push"(0, rx95_pos, $I98)
+  rxquantr97_loop:
   # rx enumcharlist negate=0 
-    ge rx94_pos, rx94_eos, rx94_fail
-    sub $I10, rx94_pos, rx94_off
-    substr $S10, rx94_tgt, $I10, 1
+    ge rx95_pos, rx95_eos, rx95_fail
+    sub $I10, rx95_pos, rx95_off
+    substr $S10, rx95_tgt, $I10, 1
     index $I11, unicode:"\t \x{a0}\u1680\u180e\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200a\u202f\u205f\u3000", $S10
-    lt $I11, 0, rx94_fail
-    inc rx94_pos
-    (rx94_rep) = rx94_cur."!mark_commit"($I97)
-    rx94_cur."!mark_push"(rx94_rep, rx94_pos, $I97)
-    goto rxquantr96_loop
-  rxquantr96_done:
+    lt $I11, 0, rx95_fail
+    inc rx95_pos
+    (rx95_rep) = rx95_cur."!mark_commit"($I98)
+    rx95_cur."!mark_push"(rx95_rep, rx95_pos, $I98)
+    goto rxquantr97_loop
+  rxquantr97_done:
   # rx literal  "="
-    add $I11, rx94_pos, 1
-    gt $I11, rx94_eos, rx94_fail
-    sub $I11, rx94_pos, rx94_off
-    substr $S10, rx94_tgt, $I11, 1
-    ne $S10, "=", rx94_fail
-    add rx94_pos, 1
-  alt98_0:
-    set_addr $I10, alt98_1
-    rx94_cur."!mark_push"(0, rx94_pos, $I10)
+    add $I11, rx95_pos, 1
+    gt $I11, rx95_eos, rx95_fail
+    sub $I11, rx95_pos, rx95_off
+    substr $S10, rx95_tgt, $I11, 1
+    ne $S10, "=", rx95_fail
+    add rx95_pos, 1
+  alt99_0:
+    set_addr $I10, alt99_1
+    rx95_cur."!mark_push"(0, rx95_pos, $I10)
   # rx charclass w
-    ge rx94_pos, rx94_eos, rx94_fail
-    sub $I10, rx94_pos, rx94_off
-    is_cclass $I11, 8192, rx94_tgt, $I10
-    unless $I11, rx94_fail
-    inc rx94_pos
-    goto alt98_end
-  alt98_1:
+    ge rx95_pos, rx95_eos, rx95_fail
+    sub $I10, rx95_pos, rx95_off
+    is_cclass $I11, 8192, rx95_tgt, $I10
+    unless $I11, rx95_fail
+    inc rx95_pos
+    goto alt99_end
+  alt99_1:
   # rx literal  "\\"
-    add $I11, rx94_pos, 1
-    gt $I11, rx94_eos, rx94_fail
-    sub $I11, rx94_pos, rx94_off
-    substr $S10, rx94_tgt, $I11, 1
-    ne $S10, "\\", rx94_fail
-    add rx94_pos, 1
-  alt98_end:
-  # rx pass
-    rx94_cur."!cursor_pass"(rx94_pos, "")
-    rx94_cur."!cursor_debug"("PASS  ", "", " at pos=", rx94_pos)
-    .return (rx94_cur)
-  rx94_fail:
-    (rx94_rep, rx94_pos, $I10, $P10) = rx94_cur."!mark_fail"(0)
-    lt rx94_pos, -1, rx94_done
-    eq rx94_pos, -1, rx94_fail
-    jump $I10
-  rx94_done:
-    rx94_cur."!cursor_fail"()
-    rx94_cur."!cursor_debug"("FAIL  ", "")
-    .return (rx94_cur)
+    add $I11, rx95_pos, 1
+    gt $I11, rx95_eos, rx95_fail
+    sub $I11, rx95_pos, rx95_off
+    substr $S10, rx95_tgt, $I11, 1
+    ne $S10, "\\", rx95_fail
+    add rx95_pos, 1
+  alt99_end:
+  # rx pass
+    rx95_cur."!cursor_pass"(rx95_pos, "")
+    rx95_cur."!cursor_debug"("PASS  ", "", " at pos=", rx95_pos)
+    .return (rx95_cur)
+  rx95_fail:
+    (rx95_rep, rx95_pos, $I10, $P10) = rx95_cur."!mark_fail"(0)
+    lt rx95_pos, -1, rx95_done
+    eq rx95_pos, -1, rx95_fail
+    jump $I10
+  rx95_done:
+    rx95_cur."!cursor_fail"()
+    rx95_cur."!cursor_debug"("FAIL  ", "")
+    .return (rx95_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "pod_comment"  :subid("26_1259103982.97329") :method :outer("11_1259103982.97329")
-.annotate "line", 4
-    .const 'Sub' $P138 = "28_1259103982.97329" 
-    capture_lex $P138
-    .local string rx104_tgt
-    .local int rx104_pos
-    .local int rx104_off
-    .local int rx104_eos
-    .local int rx104_rep
-    .local pmc rx104_cur
-    (rx104_cur, rx104_pos, rx104_tgt) = self."!cursor_start"()
-    rx104_cur."!cursor_debug"("START ", "pod_comment")
-    .lex unicode:"$\x{a2}", rx104_cur
-    .local pmc match
-    .lex "$/", match
-    length rx104_eos, rx104_tgt
-    set rx104_off, 0
-    lt rx104_pos, 2, rx104_start
-    sub rx104_off, rx104_pos, 1
-    substr rx104_tgt, rx104_tgt, rx104_off
-  rx104_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan107_done
-    goto rxscan107_scan
-  rxscan107_loop:
-    ($P10) = rx104_cur."from"()
-    inc $P10
-    set rx104_pos, $P10
-    ge rx104_pos, rx104_eos, rxscan107_done
-  rxscan107_scan:
-    set_addr $I10, rxscan107_loop
-    rx104_cur."!mark_push"(0, rx104_pos, $I10)
-  rxscan107_done:
+.sub "pod_comment"  :subid("26_1259177761.22934") :method :outer("11_1259177761.22934")
+.annotate "line", 4
+    .const 'Sub' $P139 = "28_1259177761.22934" 
+    capture_lex $P139
+    .local string rx105_tgt
+    .local int rx105_pos
+    .local int rx105_off
+    .local int rx105_eos
+    .local int rx105_rep
+    .local pmc rx105_cur
+    (rx105_cur, rx105_pos, rx105_tgt) = self."!cursor_start"()
+    rx105_cur."!cursor_debug"("START ", "pod_comment")
+    .lex unicode:"$\x{a2}", rx105_cur
+    .local pmc match
+    .lex "$/", match
+    length rx105_eos, rx105_tgt
+    set rx105_off, 0
+    lt rx105_pos, 2, rx105_start
+    sub rx105_off, rx105_pos, 1
+    substr rx105_tgt, rx105_tgt, rx105_off
+  rx105_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan108_done
+    goto rxscan108_scan
+  rxscan108_loop:
+    ($P10) = rx105_cur."from"()
+    inc $P10
+    set rx105_pos, $P10
+    ge rx105_pos, rx105_eos, rxscan108_done
+  rxscan108_scan:
+    set_addr $I10, rxscan108_loop
+    rx105_cur."!mark_push"(0, rx105_pos, $I10)
+  rxscan108_done:
 .annotate "line", 52
   # rxanchor bol
-    eq rx104_pos, 0, rxanchor108_done
-    ge rx104_pos, rx104_eos, rx104_fail
-    sub $I10, rx104_pos, rx104_off
+    eq rx105_pos, 0, rxanchor109_done
+    ge rx105_pos, rx105_eos, rx105_fail
+    sub $I10, rx105_pos, rx105_off
     dec $I10
-    is_cclass $I11, 4096, rx104_tgt, $I10
-    unless $I11, rx104_fail
-  rxanchor108_done:
-  # rx rxquantr109 ** 0..*
-    set_addr $I110, rxquantr109_done
-    rx104_cur."!mark_push"(0, rx104_pos, $I110)
-  rxquantr109_loop:
+    is_cclass $I11, 4096, rx105_tgt, $I10
+    unless $I11, rx105_fail
+  rxanchor109_done:
+  # rx rxquantr110 ** 0..*
+    set_addr $I111, rxquantr110_done
+    rx105_cur."!mark_push"(0, rx105_pos, $I111)
+  rxquantr110_loop:
   # rx enumcharlist negate=0 
-    ge rx104_pos, rx104_eos, rx104_fail
-    sub $I10, rx104_pos, rx104_off
-    substr $S10, rx104_tgt, $I10, 1
+    ge rx105_pos, rx105_eos, rx105_fail
+    sub $I10, rx105_pos, rx105_off
+    substr $S10, rx105_tgt, $I10, 1
     index $I11, unicode:"\t \x{a0}\u1680\u180e\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200a\u202f\u205f\u3000", $S10
-    lt $I11, 0, rx104_fail
-    inc rx104_pos
-    (rx104_rep) = rx104_cur."!mark_commit"($I110)
-    rx104_cur."!mark_push"(rx104_rep, rx104_pos, $I110)
-    goto rxquantr109_loop
-  rxquantr109_done:
+    lt $I11, 0, rx105_fail
+    inc rx105_pos
+    (rx105_rep) = rx105_cur."!mark_commit"($I111)
+    rx105_cur."!mark_push"(rx105_rep, rx105_pos, $I111)
+    goto rxquantr110_loop
+  rxquantr110_done:
   # rx literal  "="
-    add $I11, rx104_pos, 1
-    gt $I11, rx104_eos, rx104_fail
-    sub $I11, rx104_pos, rx104_off
-    substr $S10, rx104_tgt, $I11, 1
-    ne $S10, "=", rx104_fail
-    add rx104_pos, 1
-  alt111_0:
+    add $I11, rx105_pos, 1
+    gt $I11, rx105_eos, rx105_fail
+    sub $I11, rx105_pos, rx105_off
+    substr $S10, rx105_tgt, $I11, 1
+    ne $S10, "=", rx105_fail
+    add rx105_pos, 1
+  alt112_0:
 .annotate "line", 53
-    set_addr $I10, alt111_1
-    rx104_cur."!mark_push"(0, rx104_pos, $I10)
+    set_addr $I10, alt112_1
+    rx105_cur."!mark_push"(0, rx105_pos, $I10)
 .annotate "line", 54
   # rx literal  "begin"
-    add $I11, rx104_pos, 5
-    gt $I11, rx104_eos, rx104_fail
-    sub $I11, rx104_pos, rx104_off
-    substr $S10, rx104_tgt, $I11, 5
-    ne $S10, "begin", rx104_fail
-    add rx104_pos, 5
-  # rx rxquantr112 ** 1..*
-    set_addr $I113, rxquantr112_done
-    rx104_cur."!mark_push"(0, -1, $I113)
-  rxquantr112_loop:
+    add $I11, rx105_pos, 5
+    gt $I11, rx105_eos, rx105_fail
+    sub $I11, rx105_pos, rx105_off
+    substr $S10, rx105_tgt, $I11, 5
+    ne $S10, "begin", rx105_fail
+    add rx105_pos, 5
+  # rx rxquantr113 ** 1..*
+    set_addr $I114, rxquantr113_done
+    rx105_cur."!mark_push"(0, -1, $I114)
+  rxquantr113_loop:
   # rx enumcharlist negate=0 
-    ge rx104_pos, rx104_eos, rx104_fail
-    sub $I10, rx104_pos, rx104_off
-    substr $S10, rx104_tgt, $I10, 1
+    ge rx105_pos, rx105_eos, rx105_fail
+    sub $I10, rx105_pos, rx105_off
+    substr $S10, rx105_tgt, $I10, 1
     index $I11, unicode:"\t \x{a0}\u1680\u180e\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200a\u202f\u205f\u3000", $S10
-    lt $I11, 0, rx104_fail
-    inc rx104_pos
-    (rx104_rep) = rx104_cur."!mark_commit"($I113)
-    rx104_cur."!mark_push"(rx104_rep, rx104_pos, $I113)
-    goto rxquantr112_loop
-  rxquantr112_done:
+    lt $I11, 0, rx105_fail
+    inc rx105_pos
+    (rx105_rep) = rx105_cur."!mark_commit"($I114)
+    rx105_cur."!mark_push"(rx105_rep, rx105_pos, $I114)
+    goto rxquantr113_loop
+  rxquantr113_done:
   # rx literal  "END"
-    add $I11, rx104_pos, 3
-    gt $I11, rx104_eos, rx104_fail
-    sub $I11, rx104_pos, rx104_off
-    substr $S10, rx104_tgt, $I11, 3
-    ne $S10, "END", rx104_fail
-    add rx104_pos, 3
+    add $I11, rx105_pos, 3
+    gt $I11, rx105_eos, rx105_fail
+    sub $I11, rx105_pos, rx105_off
+    substr $S10, rx105_tgt, $I11, 3
+    ne $S10, "END", rx105_fail
+    add rx105_pos, 3
   # rxanchor rwb
-    le rx104_pos, 0, rx104_fail
-    sub $I10, rx104_pos, rx104_off
-    is_cclass $I11, 8192, rx104_tgt, $I10
-    if $I11, rx104_fail
+    le rx105_pos, 0, rx105_fail
+    sub $I10, rx105_pos, rx105_off
+    is_cclass $I11, 8192, rx105_tgt, $I10
+    if $I11, rx105_fail
     dec $I10
-    is_cclass $I11, 8192, rx104_tgt, $I10
-    unless $I11, rx104_fail
-  alt114_0:
+    is_cclass $I11, 8192, rx105_tgt, $I10
+    unless $I11, rx105_fail
+  alt115_0:
 .annotate "line", 55
-    set_addr $I10, alt114_1
-    rx104_cur."!mark_push"(0, rx104_pos, $I10)
-  # rx rxquantf115 ** 0..*
-    set_addr $I10, rxquantf115_loop
-    rx104_cur."!mark_push"(0, rx104_pos, $I10)
-    goto rxquantf115_done
-  rxquantf115_loop:
+    set_addr $I10, alt115_1
+    rx105_cur."!mark_push"(0, rx105_pos, $I10)
+  # rx rxquantf116 ** 0..*
+    set_addr $I10, rxquantf116_loop
+    rx105_cur."!mark_push"(0, rx105_pos, $I10)
+    goto rxquantf116_done
+  rxquantf116_loop:
   # rx charclass .
-    ge rx104_pos, rx104_eos, rx104_fail
-    inc rx104_pos
-    set_addr $I10, rxquantf115_loop
-    rx104_cur."!mark_push"($I116, rx104_pos, $I10)
-  rxquantf115_done:
+    ge rx105_pos, rx105_eos, rx105_fail
+    inc rx105_pos
+    set_addr $I10, rxquantf116_loop
+    rx105_cur."!mark_push"($I117, rx105_pos, $I10)
+  rxquantf116_done:
   # rx charclass nl
-    ge rx104_pos, rx104_eos, rx104_fail
-    sub $I10, rx104_pos, rx104_off
-    is_cclass $I11, 4096, rx104_tgt, $I10
-    unless $I11, rx104_fail
-    substr $S10, rx104_tgt, $I10, 2
+    ge rx105_pos, rx105_eos, rx105_fail
+    sub $I10, rx105_pos, rx105_off
+    is_cclass $I11, 4096, rx105_tgt, $I10
+    unless $I11, rx105_fail
+    substr $S10, rx105_tgt, $I10, 2
     iseq $I11, $S10, "\r\n"
-    add rx104_pos, $I11
-    inc rx104_pos
+    add rx105_pos, $I11
+    inc rx105_pos
   # rx literal  "=end"
-    add $I11, rx104_pos, 4
-    gt $I11, rx104_eos, rx104_fail
-    sub $I11, rx104_pos, rx104_off
-    substr $S10, rx104_tgt, $I11, 4
-    ne $S10, "=end", rx104_fail
-    add rx104_pos, 4
-  # rx rxquantr117 ** 1..*
-    set_addr $I118, rxquantr117_done
-    rx104_cur."!mark_push"(0, -1, $I118)
-  rxquantr117_loop:
+    add $I11, rx105_pos, 4
+    gt $I11, rx105_eos, rx105_fail
+    sub $I11, rx105_pos, rx105_off
+    substr $S10, rx105_tgt, $I11, 4
+    ne $S10, "=end", rx105_fail
+    add rx105_pos, 4
+  # rx rxquantr118 ** 1..*
+    set_addr $I119, rxquantr118_done
+    rx105_cur."!mark_push"(0, -1, $I119)
+  rxquantr118_loop:
   # rx enumcharlist negate=0 
-    ge rx104_pos, rx104_eos, rx104_fail
-    sub $I10, rx104_pos, rx104_off
-    substr $S10, rx104_tgt, $I10, 1
+    ge rx105_pos, rx105_eos, rx105_fail
+    sub $I10, rx105_pos, rx105_off
+    substr $S10, rx105_tgt, $I10, 1
     index $I11, unicode:"\t \x{a0}\u1680\u180e\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200a\u202f\u205f\u3000", $S10
-    lt $I11, 0, rx104_fail
-    inc rx104_pos
-    (rx104_rep) = rx104_cur."!mark_commit"($I118)
-    rx104_cur."!mark_push"(rx104_rep, rx104_pos, $I118)
-    goto rxquantr117_loop
-  rxquantr117_done:
+    lt $I11, 0, rx105_fail
+    inc rx105_pos
+    (rx105_rep) = rx105_cur."!mark_commit"($I119)
+    rx105_cur."!mark_push"(rx105_rep, rx105_pos, $I119)
+    goto rxquantr118_loop
+  rxquantr118_done:
   # rx literal  "END"
-    add $I11, rx104_pos, 3
-    gt $I11, rx104_eos, rx104_fail
-    sub $I11, rx104_pos, rx104_off
-    substr $S10, rx104_tgt, $I11, 3
-    ne $S10, "END", rx104_fail
-    add rx104_pos, 3
+    add $I11, rx105_pos, 3
+    gt $I11, rx105_eos, rx105_fail
+    sub $I11, rx105_pos, rx105_off
+    substr $S10, rx105_tgt, $I11, 3
+    ne $S10, "END", rx105_fail
+    add rx105_pos, 3
   # rxanchor rwb
-    le rx104_pos, 0, rx104_fail
-    sub $I10, rx104_pos, rx104_off
-    is_cclass $I11, 8192, rx104_tgt, $I10
-    if $I11, rx104_fail
+    le rx105_pos, 0, rx105_fail
+    sub $I10, rx105_pos, rx105_off
+    is_cclass $I11, 8192, rx105_tgt, $I10
+    if $I11, rx105_fail
     dec $I10
-    is_cclass $I11, 8192, rx104_tgt, $I10
-    unless $I11, rx104_fail
+    is_cclass $I11, 8192, rx105_tgt, $I10
+    unless $I11, rx105_fail
   # rx charclass_q N r 0..-1
-    sub $I10, rx104_pos, rx104_off
-    find_cclass $I11, 4096, rx104_tgt, $I10, rx104_eos
-    add rx104_pos, rx104_off, $I11
-    goto alt114_end
-  alt114_1:
+    sub $I10, rx105_pos, rx105_off
+    find_cclass $I11, 4096, rx105_tgt, $I10, rx105_eos
+    add rx105_pos, rx105_off, $I11
+    goto alt115_end
+  alt115_1:
   # rx charclass_q . r 0..-1
-    sub $I10, rx104_pos, rx104_off
-    find_not_cclass $I11, 65535, rx104_tgt, $I10, rx104_eos
-    add rx104_pos, rx104_off, $I11
-  alt114_end:
+    sub $I10, rx105_pos, rx105_off
+    find_not_cclass $I11, 65535, rx105_tgt, $I10, rx105_eos
+    add rx105_pos, rx105_off, $I11
+  alt115_end:
 .annotate "line", 54
-    goto alt111_end
-  alt111_1:
-    set_addr $I10, alt111_2
-    rx104_cur."!mark_push"(0, rx104_pos, $I10)
+    goto alt112_end
+  alt112_1:
+    set_addr $I10, alt112_2
+    rx105_cur."!mark_push"(0, rx105_pos, $I10)
 .annotate "line", 56
   # rx literal  "begin"
-    add $I11, rx104_pos, 5
-    gt $I11, rx104_eos, rx104_fail
-    sub $I11, rx104_pos, rx104_off
-    substr $S10, rx104_tgt, $I11, 5
-    ne $S10, "begin", rx104_fail
-    add rx104_pos, 5
-  # rx rxquantr119 ** 1..*
-    set_addr $I120, rxquantr119_done
-    rx104_cur."!mark_push"(0, -1, $I120)
-  rxquantr119_loop:
+    add $I11, rx105_pos, 5
+    gt $I11, rx105_eos, rx105_fail
+    sub $I11, rx105_pos, rx105_off
+    substr $S10, rx105_tgt, $I11, 5
+    ne $S10, "begin", rx105_fail
+    add rx105_pos, 5
+  # rx rxquantr120 ** 1..*
+    set_addr $I121, rxquantr120_done
+    rx105_cur."!mark_push"(0, -1, $I121)
+  rxquantr120_loop:
   # rx enumcharlist negate=0 
-    ge rx104_pos, rx104_eos, rx104_fail
-    sub $I10, rx104_pos, rx104_off
-    substr $S10, rx104_tgt, $I10, 1
+    ge rx105_pos, rx105_eos, rx105_fail
+    sub $I10, rx105_pos, rx105_off
+    substr $S10, rx105_tgt, $I10, 1
     index $I11, unicode:"\t \x{a0}\u1680\u180e\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200a\u202f\u205f\u3000", $S10
-    lt $I11, 0, rx104_fail
-    inc rx104_pos
-    (rx104_rep) = rx104_cur."!mark_commit"($I120)
-    rx104_cur."!mark_push"(rx104_rep, rx104_pos, $I120)
-    goto rxquantr119_loop
-  rxquantr119_done:
+    lt $I11, 0, rx105_fail
+    inc rx105_pos
+    (rx105_rep) = rx105_cur."!mark_commit"($I121)
+    rx105_cur."!mark_push"(rx105_rep, rx105_pos, $I121)
+    goto rxquantr120_loop
+  rxquantr120_done:
   # rx subrule "identifier" subtype=capture negate=
-    rx104_cur."!cursor_pos"(rx104_pos)
-    $P10 = rx104_cur."identifier"()
-    unless $P10, rx104_fail
-    rx104_cur."!mark_push"(0, -1, 0, $P10)
+    rx105_cur."!cursor_pos"(rx105_pos)
+    $P10 = rx105_cur."identifier"()
+    unless $P10, rx105_fail
+    rx105_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("identifier")
-    rx104_pos = $P10."pos"()
-  alt121_0:
+    rx105_pos = $P10."pos"()
+  alt122_0:
 .annotate "line", 57
-    set_addr $I10, alt121_1
-    rx104_cur."!mark_push"(0, rx104_pos, $I10)
+    set_addr $I10, alt122_1
+    rx105_cur."!mark_push"(0, rx105_pos, $I10)
 .annotate "line", 58
-  # rx rxquantf122 ** 0..*
-    set_addr $I10, rxquantf122_loop
-    rx104_cur."!mark_push"(0, rx104_pos, $I10)
-    goto rxquantf122_done
-  rxquantf122_loop:
+  # rx rxquantf123 ** 0..*
+    set_addr $I10, rxquantf123_loop
+    rx105_cur."!mark_push"(0, rx105_pos, $I10)
+    goto rxquantf123_done
+  rxquantf123_loop:
   # rx charclass .
-    ge rx104_pos, rx104_eos, rx104_fail
-    inc rx104_pos
-    set_addr $I10, rxquantf122_loop
-    rx104_cur."!mark_push"($I123, rx104_pos, $I10)
-  rxquantf122_done:
+    ge rx105_pos, rx105_eos, rx105_fail
+    inc rx105_pos
+    set_addr $I10, rxquantf123_loop
+    rx105_cur."!mark_push"($I124, rx105_pos, $I10)
+  rxquantf123_done:
   # rx charclass nl
-    ge rx104_pos, rx104_eos, rx104_fail
-    sub $I10, rx104_pos, rx104_off
-    is_cclass $I11, 4096, rx104_tgt, $I10
-    unless $I11, rx104_fail
-    substr $S10, rx104_tgt, $I10, 2
+    ge rx105_pos, rx105_eos, rx105_fail
+    sub $I10, rx105_pos, rx105_off
+    is_cclass $I11, 4096, rx105_tgt, $I10
+    unless $I11, rx105_fail
+    substr $S10, rx105_tgt, $I10, 2
     iseq $I11, $S10, "\r\n"
-    add rx104_pos, $I11
-    inc rx104_pos
+    add rx105_pos, $I11
+    inc rx105_pos
   # rx literal  "=end"
-    add $I11, rx104_pos, 4
-    gt $I11, rx104_eos, rx104_fail
-    sub $I11, rx104_pos, rx104_off
-    substr $S10, rx104_tgt, $I11, 4
-    ne $S10, "=end", rx104_fail
-    add rx104_pos, 4
-  # rx rxquantr124 ** 1..*
-    set_addr $I125, rxquantr124_done
-    rx104_cur."!mark_push"(0, -1, $I125)
-  rxquantr124_loop:
+    add $I11, rx105_pos, 4
+    gt $I11, rx105_eos, rx105_fail
+    sub $I11, rx105_pos, rx105_off
+    substr $S10, rx105_tgt, $I11, 4
+    ne $S10, "=end", rx105_fail
+    add rx105_pos, 4
+  # rx rxquantr125 ** 1..*
+    set_addr $I126, rxquantr125_done
+    rx105_cur."!mark_push"(0, -1, $I126)
+  rxquantr125_loop:
   # rx enumcharlist negate=0 
-    ge rx104_pos, rx104_eos, rx104_fail
-    sub $I10, rx104_pos, rx104_off
-    substr $S10, rx104_tgt, $I10, 1
+    ge rx105_pos, rx105_eos, rx105_fail
+    sub $I10, rx105_pos, rx105_off
+    substr $S10, rx105_tgt, $I10, 1
     index $I11, unicode:"\t \x{a0}\u1680\u180e\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200a\u202f\u205f\u3000", $S10
-    lt $I11, 0, rx104_fail
-    inc rx104_pos
-    (rx104_rep) = rx104_cur."!mark_commit"($I125)
-    rx104_cur."!mark_push"(rx104_rep, rx104_pos, $I125)
-    goto rxquantr124_loop
-  rxquantr124_done:
+    lt $I11, 0, rx105_fail
+    inc rx105_pos
+    (rx105_rep) = rx105_cur."!mark_commit"($I126)
+    rx105_cur."!mark_push"(rx105_rep, rx105_pos, $I126)
+    goto rxquantr125_loop
+  rxquantr125_done:
   # rx subrule "!BACKREF" subtype=method negate=
-    rx104_cur."!cursor_pos"(rx104_pos)
-    $P10 = rx104_cur."!BACKREF"("identifier")
-    unless $P10, rx104_fail
-    rx104_pos = $P10."pos"()
+    rx105_cur."!cursor_pos"(rx105_pos)
+    $P10 = rx105_cur."!BACKREF"("identifier")
+    unless $P10, rx105_fail
+    rx105_pos = $P10."pos"()
   # rxanchor rwb
-    le rx104_pos, 0, rx104_fail
-    sub $I10, rx104_pos, rx104_off
-    is_cclass $I11, 8192, rx104_tgt, $I10
-    if $I11, rx104_fail
+    le rx105_pos, 0, rx105_fail
+    sub $I10, rx105_pos, rx105_off
+    is_cclass $I11, 8192, rx105_tgt, $I10
+    if $I11, rx105_fail
     dec $I10
-    is_cclass $I11, 8192, rx104_tgt, $I10
-    unless $I11, rx104_fail
+    is_cclass $I11, 8192, rx105_tgt, $I10
+    unless $I11, rx105_fail
   # rx charclass_q N r 0..-1
-    sub $I10, rx104_pos, rx104_off
-    find_cclass $I11, 4096, rx104_tgt, $I10, rx104_eos
-    add rx104_pos, rx104_off, $I11
-    goto alt121_end
-  alt121_1:
+    sub $I10, rx105_pos, rx105_off
+    find_cclass $I11, 4096, rx105_tgt, $I10, rx105_eos
+    add rx105_pos, rx105_off, $I11
+    goto alt122_end
+  alt122_1:
 .annotate "line", 59
   # rx subrule "panic" subtype=method negate=
-    rx104_cur."!cursor_pos"(rx104_pos)
-    $P10 = rx104_cur."panic"("=begin without matching =end")
-    unless $P10, rx104_fail
-    rx104_pos = $P10."pos"()
-  alt121_end:
+    rx105_cur."!cursor_pos"(rx105_pos)
+    $P10 = rx105_cur."panic"("=begin without matching =end")
+    unless $P10, rx105_fail
+    rx105_pos = $P10."pos"()
+  alt122_end:
 .annotate "line", 56
-    goto alt111_end
-  alt111_2:
-    set_addr $I10, alt111_3
-    rx104_cur."!mark_push"(0, rx104_pos, $I10)
+    goto alt112_end
+  alt112_2:
+    set_addr $I10, alt112_3
+    rx105_cur."!mark_push"(0, rx105_pos, $I10)
 .annotate "line", 61
   # rx literal  "begin"
-    add $I11, rx104_pos, 5
-    gt $I11, rx104_eos, rx104_fail
-    sub $I11, rx104_pos, rx104_off
-    substr $S10, rx104_tgt, $I11, 5
-    ne $S10, "begin", rx104_fail
-    add rx104_pos, 5
+    add $I11, rx105_pos, 5
+    gt $I11, rx105_eos, rx105_fail
+    sub $I11, rx105_pos, rx105_off
+    substr $S10, rx105_tgt, $I11, 5
+    ne $S10, "begin", rx105_fail
+    add rx105_pos, 5
   # rxanchor rwb
-    le rx104_pos, 0, rx104_fail
-    sub $I10, rx104_pos, rx104_off
-    is_cclass $I11, 8192, rx104_tgt, $I10
-    if $I11, rx104_fail
+    le rx105_pos, 0, rx105_fail
+    sub $I10, rx105_pos, rx105_off
+    is_cclass $I11, 8192, rx105_tgt, $I10
+    if $I11, rx105_fail
     dec $I10
-    is_cclass $I11, 8192, rx104_tgt, $I10
-    unless $I11, rx104_fail
-  # rx rxquantr127 ** 0..*
-    set_addr $I128, rxquantr127_done
-    rx104_cur."!mark_push"(0, rx104_pos, $I128)
-  rxquantr127_loop:
+    is_cclass $I11, 8192, rx105_tgt, $I10
+    unless $I11, rx105_fail
+  # rx rxquantr128 ** 0..*
+    set_addr $I129, rxquantr128_done
+    rx105_cur."!mark_push"(0, rx105_pos, $I129)
+  rxquantr128_loop:
   # rx enumcharlist negate=0 
-    ge rx104_pos, rx104_eos, rx104_fail
-    sub $I10, rx104_pos, rx104_off
-    substr $S10, rx104_tgt, $I10, 1
+    ge rx105_pos, rx105_eos, rx105_fail
+    sub $I10, rx105_pos, rx105_off
+    substr $S10, rx105_tgt, $I10, 1
     index $I11, unicode:"\t \x{a0}\u1680\u180e\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200a\u202f\u205f\u3000", $S10
-    lt $I11, 0, rx104_fail
-    inc rx104_pos
-    (rx104_rep) = rx104_cur."!mark_commit"($I128)
-    rx104_cur."!mark_push"(rx104_rep, rx104_pos, $I128)
-    goto rxquantr127_loop
-  rxquantr127_done:
-  alt129_0:
+    lt $I11, 0, rx105_fail
+    inc rx105_pos
+    (rx105_rep) = rx105_cur."!mark_commit"($I129)
+    rx105_cur."!mark_push"(rx105_rep, rx105_pos, $I129)
+    goto rxquantr128_loop
+  rxquantr128_done:
+  alt130_0:
 .annotate "line", 62
-    set_addr $I10, alt129_1
-    rx104_cur."!mark_push"(0, rx104_pos, $I10)
+    set_addr $I10, alt130_1
+    rx105_cur."!mark_push"(0, rx105_pos, $I10)
   # rxanchor eol
-    sub $I10, rx104_pos, rx104_off
-    is_cclass $I11, 4096, rx104_tgt, $I10
-    if $I11, rxanchor130_done
-    ne rx104_pos, rx104_eos, rx104_fail
-    eq rx104_pos, 0, rxanchor130_done
+    sub $I10, rx105_pos, rx105_off
+    is_cclass $I11, 4096, rx105_tgt, $I10
+    if $I11, rxanchor131_done
+    ne rx105_pos, rx105_eos, rx105_fail
+    eq rx105_pos, 0, rxanchor131_done
     dec $I10
-    is_cclass $I11, 4096, rx104_tgt, $I10
-    if $I11, rx104_fail
-  rxanchor130_done:
-    goto alt129_end
-  alt129_1:
-    set_addr $I10, alt129_2
-    rx104_cur."!mark_push"(0, rx104_pos, $I10)
+    is_cclass $I11, 4096, rx105_tgt, $I10
+    if $I11, rx105_fail
+  rxanchor131_done:
+    goto alt130_end
+  alt130_1:
+    set_addr $I10, alt130_2
+    rx105_cur."!mark_push"(0, rx105_pos, $I10)
   # rx literal  "#"
-    add $I11, rx104_pos, 1
-    gt $I11, rx104_eos, rx104_fail
-    sub $I11, rx104_pos, rx104_off
-    substr $S10, rx104_tgt, $I11, 1
-    ne $S10, "#", rx104_fail
-    add rx104_pos, 1
-    goto alt129_end
-  alt129_2:
+    add $I11, rx105_pos, 1
+    gt $I11, rx105_eos, rx105_fail
+    sub $I11, rx105_pos, rx105_off
+    substr $S10, rx105_tgt, $I11, 1
+    ne $S10, "#", rx105_fail
+    add rx105_pos, 1
+    goto alt130_end
+  alt130_2:
   # rx subrule "panic" subtype=method negate=
-    rx104_cur."!cursor_pos"(rx104_pos)
-    $P10 = rx104_cur."panic"("Unrecognized token after =begin")
-    unless $P10, rx104_fail
-    rx104_pos = $P10."pos"()
-  alt129_end:
-  alt131_0:
+    rx105_cur."!cursor_pos"(rx105_pos)
+    $P10 = rx105_cur."panic"("Unrecognized token after =begin")
+    unless $P10, rx105_fail
+    rx105_pos = $P10."pos"()
+  alt130_end:
+  alt132_0:
 .annotate "line", 63
-    set_addr $I10, alt131_1
-    rx104_cur."!mark_push"(0, rx104_pos, $I10)
+    set_addr $I10, alt132_1
+    rx105_cur."!mark_push"(0, rx105_pos, $I10)
 .annotate "line", 64
-  # rx rxquantf132 ** 0..*
-    set_addr $I10, rxquantf132_loop
-    rx104_cur."!mark_push"(0, rx104_pos, $I10)
-    goto rxquantf132_done
-  rxquantf132_loop:
+  # rx rxquantf133 ** 0..*
+    set_addr $I10, rxquantf133_loop
+    rx105_cur."!mark_push"(0, rx105_pos, $I10)
+    goto rxquantf133_done
+  rxquantf133_loop:
   # rx charclass .
-    ge rx104_pos, rx104_eos, rx104_fail
-    inc rx104_pos
-    set_addr $I10, rxquantf132_loop
-    rx104_cur."!mark_push"($I133, rx104_pos, $I10)
-  rxquantf132_done:
+    ge rx105_pos, rx105_eos, rx105_fail
+    inc rx105_pos
+    set_addr $I10, rxquantf133_loop
+    rx105_cur."!mark_push"($I134, rx105_pos, $I10)
+  rxquantf133_done:
   # rx charclass nl
-    ge rx104_pos, rx104_eos, rx104_fail
-    sub $I10, rx104_pos, rx104_off
-    is_cclass $I11, 4096, rx104_tgt, $I10
-    unless $I11, rx104_fail
-    substr $S10, rx104_tgt, $I10, 2
+    ge rx105_pos, rx105_eos, rx105_fail
+    sub $I10, rx105_pos, rx105_off
+    is_cclass $I11, 4096, rx105_tgt, $I10
+    unless $I11, rx105_fail
+    substr $S10, rx105_tgt, $I10, 2
     iseq $I11, $S10, "\r\n"
-    add rx104_pos, $I11
-    inc rx104_pos
-  # rx rxquantr134 ** 0..*
-    set_addr $I135, rxquantr134_done
-    rx104_cur."!mark_push"(0, rx104_pos, $I135)
-  rxquantr134_loop:
+    add rx105_pos, $I11
+    inc rx105_pos
+  # rx rxquantr135 ** 0..*
+    set_addr $I136, rxquantr135_done
+    rx105_cur."!mark_push"(0, rx105_pos, $I136)
+  rxquantr135_loop:
   # rx enumcharlist negate=0 
-    ge rx104_pos, rx104_eos, rx104_fail
-    sub $I10, rx104_pos, rx104_off
-    substr $S10, rx104_tgt, $I10, 1
+    ge rx105_pos, rx105_eos, rx105_fail
+    sub $I10, rx105_pos, rx105_off
+    substr $S10, rx105_tgt, $I10, 1
     index $I11, unicode:"\t \x{a0}\u1680\u180e\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200a\u202f\u205f\u3000", $S10
-    lt $I11, 0, rx104_fail
-    inc rx104_pos
-    (rx104_rep) = rx104_cur."!mark_commit"($I135)
-    rx104_cur."!mark_push"(rx104_rep, rx104_pos, $I135)
-    goto rxquantr134_loop
-  rxquantr134_done:
+    lt $I11, 0, rx105_fail
+    inc rx105_pos
+    (rx105_rep) = rx105_cur."!mark_commit"($I136)
+    rx105_cur."!mark_push"(rx105_rep, rx105_pos, $I136)
+    goto rxquantr135_loop
+  rxquantr135_done:
   # rx literal  "=end"
-    add $I11, rx104_pos, 4
-    gt $I11, rx104_eos, rx104_fail
-    sub $I11, rx104_pos, rx104_off
-    substr $S10, rx104_tgt, $I11, 4
-    ne $S10, "=end", rx104_fail
-    add rx104_pos, 4
+    add $I11, rx105_pos, 4
+    gt $I11, rx105_eos, rx105_fail
+    sub $I11, rx105_pos, rx105_off
+    substr $S10, rx105_tgt, $I11, 4
+    ne $S10, "=end", rx105_fail
+    add rx105_pos, 4
   # rxanchor rwb
-    le rx104_pos, 0, rx104_fail
-    sub $I10, rx104_pos, rx104_off
-    is_cclass $I11, 8192, rx104_tgt, $I10
-    if $I11, rx104_fail
+    le rx105_pos, 0, rx105_fail
+    sub $I10, rx105_pos, rx105_off
+    is_cclass $I11, 8192, rx105_tgt, $I10
+    if $I11, rx105_fail
     dec $I10
-    is_cclass $I11, 8192, rx104_tgt, $I10
-    unless $I11, rx104_fail
+    is_cclass $I11, 8192, rx105_tgt, $I10
+    unless $I11, rx105_fail
   # rx charclass_q N r 0..-1
-    sub $I10, rx104_pos, rx104_off
-    find_cclass $I11, 4096, rx104_tgt, $I10, rx104_eos
-    add rx104_pos, rx104_off, $I11
-    goto alt131_end
-  alt131_1:
+    sub $I10, rx105_pos, rx105_off
+    find_cclass $I11, 4096, rx105_tgt, $I10, rx105_eos
+    add rx105_pos, rx105_off, $I11
+    goto alt132_end
+  alt132_1:
 .annotate "line", 65
   # rx subrule "panic" subtype=method negate=
-    rx104_cur."!cursor_pos"(rx104_pos)
-    $P10 = rx104_cur."panic"("=begin without matching =end")
-    unless $P10, rx104_fail
-    rx104_pos = $P10."pos"()
-  alt131_end:
+    rx105_cur."!cursor_pos"(rx105_pos)
+    $P10 = rx105_cur."panic"("=begin without matching =end")
+    unless $P10, rx105_fail
+    rx105_pos = $P10."pos"()
+  alt132_end:
 .annotate "line", 61
-    goto alt111_end
-  alt111_3:
+    goto alt112_end
+  alt112_3:
 .annotate "line", 69
-  # rx rxquantr136 ** 0..1
-    set_addr $I144, rxquantr136_done
-    rx104_cur."!mark_push"(0, rx104_pos, $I144)
-  rxquantr136_loop:
+  # rx rxquantr137 ** 0..1
+    set_addr $I146, rxquantr137_done
+    rx105_cur."!mark_push"(0, rx105_pos, $I146)
+  rxquantr137_loop:
 .annotate "line", 68
   # rx subrule "before" subtype=zerowidth negate=
-    rx104_cur."!cursor_pos"(rx104_pos)
-    .const 'Sub' $P138 = "28_1259103982.97329" 
-    capture_lex $P138
-    $P10 = rx104_cur."before"($P138)
-    unless $P10, rx104_fail
+    rx105_cur."!cursor_pos"(rx105_pos)
+    .const 'Sub' $P139 = "28_1259177761.22934" 
+    capture_lex $P139
+    $P10 = rx105_cur."before"($P139)
+    unless $P10, rx105_fail
 .annotate "line", 69
   # rx subrule "panic" subtype=method negate=
-    rx104_cur."!cursor_pos"(rx104_pos)
-    $P10 = rx104_cur."panic"("Obsolete pod format, please use =begin/=end instead")
-    unless $P10, rx104_fail
-    rx104_pos = $P10."pos"()
-    (rx104_rep) = rx104_cur."!mark_commit"($I144)
-  rxquantr136_done:
-  alt145_0:
+    rx105_cur."!cursor_pos"(rx105_pos)
+    $P10 = rx105_cur."panic"("Obsolete pod format, please use =begin/=end instead")
+    unless $P10, rx105_fail
+    rx105_pos = $P10."pos"()
+    (rx105_rep) = rx105_cur."!mark_commit"($I146)
+  rxquantr137_done:
+  alt147_0:
 .annotate "line", 70
-    set_addr $I10, alt145_1
-    rx104_cur."!mark_push"(0, rx104_pos, $I10)
+    set_addr $I10, alt147_1
+    rx105_cur."!mark_push"(0, rx105_pos, $I10)
   # rx subrule "alpha" subtype=capture negate=
-    rx104_cur."!cursor_pos"(rx104_pos)
-    $P10 = rx104_cur."alpha"()
-    unless $P10, rx104_fail
-    rx104_cur."!mark_push"(0, -1, 0, $P10)
+    rx105_cur."!cursor_pos"(rx105_pos)
+    $P10 = rx105_cur."alpha"()
+    unless $P10, rx105_fail
+    rx105_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("alpha")
-    rx104_pos = $P10."pos"()
-    goto alt145_end
-  alt145_1:
-    set_addr $I10, alt145_2
-    rx104_cur."!mark_push"(0, rx104_pos, $I10)
+    rx105_pos = $P10."pos"()
+    goto alt147_end
+  alt147_1:
+    set_addr $I10, alt147_2
+    rx105_cur."!mark_push"(0, rx105_pos, $I10)
   # rx charclass s
-    ge rx104_pos, rx104_eos, rx104_fail
-    sub $I10, rx104_pos, rx104_off
-    is_cclass $I11, 32, rx104_tgt, $I10
-    unless $I11, rx104_fail
-    inc rx104_pos
-    goto alt145_end
-  alt145_2:
+    ge rx105_pos, rx105_eos, rx105_fail
+    sub $I10, rx105_pos, rx105_off
+    is_cclass $I11, 32, rx105_tgt, $I10
+    unless $I11, rx105_fail
+    inc rx105_pos
+    goto alt147_end
+  alt147_2:
   # rx subrule "panic" subtype=method negate=
-    rx104_cur."!cursor_pos"(rx104_pos)
-    $P10 = rx104_cur."panic"("Illegal pod directive")
-    unless $P10, rx104_fail
-    rx104_pos = $P10."pos"()
-  alt145_end:
+    rx105_cur."!cursor_pos"(rx105_pos)
+    $P10 = rx105_cur."panic"("Illegal pod directive")
+    unless $P10, rx105_fail
+    rx105_pos = $P10."pos"()
+  alt147_end:
 .annotate "line", 71
   # rx charclass_q N r 0..-1
-    sub $I10, rx104_pos, rx104_off
-    find_cclass $I11, 4096, rx104_tgt, $I10, rx104_eos
-    add rx104_pos, rx104_off, $I11
-  alt111_end:
+    sub $I10, rx105_pos, rx105_off
+    find_cclass $I11, 4096, rx105_tgt, $I10, rx105_eos
+    add rx105_pos, rx105_off, $I11
+  alt112_end:
 .annotate "line", 51
   # rx pass
-    rx104_cur."!cursor_pass"(rx104_pos, "pod_comment")
-    rx104_cur."!cursor_debug"("PASS  ", "pod_comment", " at pos=", rx104_pos)
-    .return (rx104_cur)
-  rx104_fail:
+    rx105_cur."!cursor_pass"(rx105_pos, "pod_comment")
+    rx105_cur."!cursor_debug"("PASS  ", "pod_comment", " at pos=", rx105_pos)
+    .return (rx105_cur)
+  rx105_fail:
 .annotate "line", 4
-    (rx104_rep, rx104_pos, $I10, $P10) = rx104_cur."!mark_fail"(0)
-    lt rx104_pos, -1, rx104_done
-    eq rx104_pos, -1, rx104_fail
+    (rx105_rep, rx105_pos, $I10, $P10) = rx105_cur."!mark_fail"(0)
+    lt rx105_pos, -1, rx105_done
+    eq rx105_pos, -1, rx105_fail
     jump $I10
-  rx104_done:
-    rx104_cur."!cursor_fail"()
-    rx104_cur."!cursor_debug"("FAIL  ", "pod_comment")
-    .return (rx104_cur)
+  rx105_done:
+    rx105_cur."!cursor_fail"()
+    rx105_cur."!cursor_debug"("FAIL  ", "pod_comment")
+    .return (rx105_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__pod_comment"  :subid("27_1259103982.97329") :method
+.sub "!PREFIX__pod_comment"  :subid("27_1259177761.22934") :method
 .annotate "line", 4
-    new $P106, "ResizablePMCArray"
-    push $P106, ""
-    .return ($P106)
+    new $P107, "ResizablePMCArray"
+    push $P107, ""
+    .return ($P107)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "_block137"  :anon :subid("28_1259103982.97329") :method :outer("26_1259103982.97329")
+.sub "_block138"  :anon :subid("28_1259177761.22934") :method :outer("26_1259177761.22934")
 .annotate "line", 68
-    .local string rx139_tgt
-    .local int rx139_pos
-    .local int rx139_off
-    .local int rx139_eos
-    .local int rx139_rep
-    .local pmc rx139_cur
-    (rx139_cur, rx139_pos, rx139_tgt) = self."!cursor_start"()
-    rx139_cur."!cursor_debug"("START ", "")
-    .lex unicode:"$\x{a2}", rx139_cur
-    .local pmc match
-    .lex "$/", match
-    length rx139_eos, rx139_tgt
-    set rx139_off, 0
-    lt rx139_pos, 2, rx139_start
-    sub rx139_off, rx139_pos, 1
-    substr rx139_tgt, rx139_tgt, rx139_off
-  rx139_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan140_done
-    goto rxscan140_scan
-  rxscan140_loop:
-    ($P10) = rx139_cur."from"()
-    inc $P10
-    set rx139_pos, $P10
-    ge rx139_pos, rx139_eos, rxscan140_done
-  rxscan140_scan:
-    set_addr $I10, rxscan140_loop
-    rx139_cur."!mark_push"(0, rx139_pos, $I10)
-  rxscan140_done:
-  # rx rxquantf141 ** 0..*
-    set_addr $I10, rxquantf141_loop
-    rx139_cur."!mark_push"(0, rx139_pos, $I10)
-    goto rxquantf141_done
-  rxquantf141_loop:
+    .lex unicode:"$\x{a2}", $P140
+    .local string rx141_tgt
+    .local int rx141_pos
+    .local int rx141_off
+    .local int rx141_eos
+    .local int rx141_rep
+    .local pmc rx141_cur
+    (rx141_cur, rx141_pos, rx141_tgt) = self."!cursor_start"()
+    rx141_cur."!cursor_debug"("START ", "")
+    .lex unicode:"$\x{a2}", rx141_cur
+    .local pmc match
+    .lex "$/", match
+    length rx141_eos, rx141_tgt
+    set rx141_off, 0
+    lt rx141_pos, 2, rx141_start
+    sub rx141_off, rx141_pos, 1
+    substr rx141_tgt, rx141_tgt, rx141_off
+  rx141_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan142_done
+    goto rxscan142_scan
+  rxscan142_loop:
+    ($P10) = rx141_cur."from"()
+    inc $P10
+    set rx141_pos, $P10
+    ge rx141_pos, rx141_eos, rxscan142_done
+  rxscan142_scan:
+    set_addr $I10, rxscan142_loop
+    rx141_cur."!mark_push"(0, rx141_pos, $I10)
+  rxscan142_done:
+  # rx rxquantf143 ** 0..*
+    set_addr $I10, rxquantf143_loop
+    rx141_cur."!mark_push"(0, rx141_pos, $I10)
+    goto rxquantf143_done
+  rxquantf143_loop:
   # rx charclass .
-    ge rx139_pos, rx139_eos, rx139_fail
-    inc rx139_pos
-    set_addr $I10, rxquantf141_loop
-    rx139_cur."!mark_push"($I142, rx139_pos, $I10)
-  rxquantf141_done:
+    ge rx141_pos, rx141_eos, rx141_fail
+    inc rx141_pos
+    set_addr $I10, rxquantf143_loop
+    rx141_cur."!mark_push"($I144, rx141_pos, $I10)
+  rxquantf143_done:
   # rxanchor bol
-    eq rx139_pos, 0, rxanchor143_done
-    ge rx139_pos, rx139_eos, rx139_fail
-    sub $I10, rx139_pos, rx139_off
+    eq rx141_pos, 0, rxanchor145_done
+    ge rx141_pos, rx141_eos, rx141_fail
+    sub $I10, rx141_pos, rx141_off
     dec $I10
-    is_cclass $I11, 4096, rx139_tgt, $I10
-    unless $I11, rx139_fail
-  rxanchor143_done:
+    is_cclass $I11, 4096, rx141_tgt, $I10
+    unless $I11, rx141_fail
+  rxanchor145_done:
   # rx literal  "=cut"
-    add $I11, rx139_pos, 4
-    gt $I11, rx139_eos, rx139_fail
-    sub $I11, rx139_pos, rx139_off
-    substr $S10, rx139_tgt, $I11, 4
-    ne $S10, "=cut", rx139_fail
-    add rx139_pos, 4
+    add $I11, rx141_pos, 4
+    gt $I11, rx141_eos, rx141_fail
+    sub $I11, rx141_pos, rx141_off
+    substr $S10, rx141_tgt, $I11, 4
+    ne $S10, "=cut", rx141_fail
+    add rx141_pos, 4
   # rxanchor rwb
-    le rx139_pos, 0, rx139_fail
-    sub $I10, rx139_pos, rx139_off
-    is_cclass $I11, 8192, rx139_tgt, $I10
-    if $I11, rx139_fail
+    le rx141_pos, 0, rx141_fail
+    sub $I10, rx141_pos, rx141_off
+    is_cclass $I11, 8192, rx141_tgt, $I10
+    if $I11, rx141_fail
     dec $I10
-    is_cclass $I11, 8192, rx139_tgt, $I10
-    unless $I11, rx139_fail
+    is_cclass $I11, 8192, rx141_tgt, $I10
+    unless $I11, rx141_fail
   # rx pass
-    rx139_cur."!cursor_pass"(rx139_pos, "")
-    rx139_cur."!cursor_debug"("PASS  ", "", " at pos=", rx139_pos)
-    .return (rx139_cur)
-  rx139_fail:
-    (rx139_rep, rx139_pos, $I10, $P10) = rx139_cur."!mark_fail"(0)
-    lt rx139_pos, -1, rx139_done
-    eq rx139_pos, -1, rx139_fail
-    jump $I10
-  rx139_done:
-    rx139_cur."!cursor_fail"()
-    rx139_cur."!cursor_debug"("FAIL  ", "")
-    .return (rx139_cur)
+    rx141_cur."!cursor_pass"(rx141_pos, "")
+    rx141_cur."!cursor_debug"("PASS  ", "", " at pos=", rx141_pos)
+    .return (rx141_cur)
+  rx141_fail:
+    (rx141_rep, rx141_pos, $I10, $P10) = rx141_cur."!mark_fail"(0)
+    lt rx141_pos, -1, rx141_done
+    eq rx141_pos, -1, rx141_fail
+    jump $I10
+  rx141_done:
+    rx141_cur."!cursor_fail"()
+    rx141_cur."!cursor_debug"("FAIL  ", "")
+    .return (rx141_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "comp_unit"  :subid("29_1259103982.97329") :method :outer("11_1259103982.97329")
-.annotate "line", 4
-    .local string rx147_tgt
-    .local int rx147_pos
-    .local int rx147_off
-    .local int rx147_eos
-    .local int rx147_rep
-    .local pmc rx147_cur
-    (rx147_cur, rx147_pos, rx147_tgt) = self."!cursor_start"()
-    rx147_cur."!cursor_debug"("START ", "comp_unit")
-    .lex unicode:"$\x{a2}", rx147_cur
-    .local pmc match
-    .lex "$/", match
-    length rx147_eos, rx147_tgt
-    set rx147_off, 0
-    lt rx147_pos, 2, rx147_start
-    sub rx147_off, rx147_pos, 1
-    substr rx147_tgt, rx147_tgt, rx147_off
-  rx147_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan151_done
-    goto rxscan151_scan
-  rxscan151_loop:
-    ($P10) = rx147_cur."from"()
-    inc $P10
-    set rx147_pos, $P10
-    ge rx147_pos, rx147_eos, rxscan151_done
-  rxscan151_scan:
-    set_addr $I10, rxscan151_loop
-    rx147_cur."!mark_push"(0, rx147_pos, $I10)
-  rxscan151_done:
+.sub "comp_unit"  :subid("29_1259177761.22934") :method :outer("11_1259177761.22934")
+.annotate "line", 4
+    .local string rx149_tgt
+    .local int rx149_pos
+    .local int rx149_off
+    .local int rx149_eos
+    .local int rx149_rep
+    .local pmc rx149_cur
+    (rx149_cur, rx149_pos, rx149_tgt) = self."!cursor_start"()
+    rx149_cur."!cursor_debug"("START ", "comp_unit")
+    .lex unicode:"$\x{a2}", rx149_cur
+    .local pmc match
+    .lex "$/", match
+    length rx149_eos, rx149_tgt
+    set rx149_off, 0
+    lt rx149_pos, 2, rx149_start
+    sub rx149_off, rx149_pos, 1
+    substr rx149_tgt, rx149_tgt, rx149_off
+  rx149_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan153_done
+    goto rxscan153_scan
+  rxscan153_loop:
+    ($P10) = rx149_cur."from"()
+    inc $P10
+    set rx149_pos, $P10
+    ge rx149_pos, rx149_eos, rxscan153_done
+  rxscan153_scan:
+    set_addr $I10, rxscan153_loop
+    rx149_cur."!mark_push"(0, rx149_pos, $I10)
+  rxscan153_done:
 .annotate "line", 79
   # rx subrule "newpad" subtype=method negate=
-    rx147_cur."!cursor_pos"(rx147_pos)
-    $P10 = rx147_cur."newpad"()
-    unless $P10, rx147_fail
-    rx147_pos = $P10."pos"()
+    rx149_cur."!cursor_pos"(rx149_pos)
+    $P10 = rx149_cur."newpad"()
+    unless $P10, rx149_fail
+    rx149_pos = $P10."pos"()
 .annotate "line", 80
   # rx subrule "statementlist" subtype=capture negate=
-    rx147_cur."!cursor_pos"(rx147_pos)
-    $P10 = rx147_cur."statementlist"()
-    unless $P10, rx147_fail
-    rx147_cur."!mark_push"(0, -1, 0, $P10)
+    rx149_cur."!cursor_pos"(rx149_pos)
+    $P10 = rx149_cur."statementlist"()
+    unless $P10, rx149_fail
+    rx149_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("statementlist")
-    rx147_pos = $P10."pos"()
-  alt152_0:
+    rx149_pos = $P10."pos"()
+  alt154_0:
 .annotate "line", 81
-    set_addr $I10, alt152_1
-    rx147_cur."!mark_push"(0, rx147_pos, $I10)
+    set_addr $I10, alt154_1
+    rx149_cur."!mark_push"(0, rx149_pos, $I10)
   # rxanchor eos
-    ne rx147_pos, rx147_eos, rx147_fail
-    goto alt152_end
-  alt152_1:
+    ne rx149_pos, rx149_eos, rx149_fail
+    goto alt154_end
+  alt154_1:
   # rx subrule "panic" subtype=method negate=
-    rx147_cur."!cursor_pos"(rx147_pos)
-    $P10 = rx147_cur."panic"("Confused")
-    unless $P10, rx147_fail
-    rx147_pos = $P10."pos"()
-  alt152_end:
+    rx149_cur."!cursor_pos"(rx149_pos)
+    $P10 = rx149_cur."panic"("Confused")
+    unless $P10, rx149_fail
+    rx149_pos = $P10."pos"()
+  alt154_end:
 .annotate "line", 78
   # rx pass
-    rx147_cur."!cursor_pass"(rx147_pos, "comp_unit")
-    rx147_cur."!cursor_debug"("PASS  ", "comp_unit", " at pos=", rx147_pos)
-    .return (rx147_cur)
-  rx147_fail:
+    rx149_cur."!cursor_pass"(rx149_pos, "comp_unit")
+    rx149_cur."!cursor_debug"("PASS  ", "comp_unit", " at pos=", rx149_pos)
+    .return (rx149_cur)
+  rx149_fail:
 .annotate "line", 4
-    (rx147_rep, rx147_pos, $I10, $P10) = rx147_cur."!mark_fail"(0)
-    lt rx147_pos, -1, rx147_done
-    eq rx147_pos, -1, rx147_fail
+    (rx149_rep, rx149_pos, $I10, $P10) = rx149_cur."!mark_fail"(0)
+    lt rx149_pos, -1, rx149_done
+    eq rx149_pos, -1, rx149_fail
     jump $I10
-  rx147_done:
-    rx147_cur."!cursor_fail"()
-    rx147_cur."!cursor_debug"("FAIL  ", "comp_unit")
-    .return (rx147_cur)
+  rx149_done:
+    rx149_cur."!cursor_fail"()
+    rx149_cur."!cursor_debug"("FAIL  ", "comp_unit")
+    .return (rx149_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__comp_unit"  :subid("30_1259103982.97329") :method
+.sub "!PREFIX__comp_unit"  :subid("30_1259177761.22934") :method
 .annotate "line", 4
-    $P149 = self."!PREFIX__!subrule"("", "")
-    new $P150, "ResizablePMCArray"
-    push $P150, $P149
-    .return ($P150)
+    $P151 = self."!PREFIX__!subrule"("", "")
+    new $P152, "ResizablePMCArray"
+    push $P152, $P151
+    .return ($P152)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "statementlist"  :subid("31_1259103982.97329") :method :outer("11_1259103982.97329")
+.sub "statementlist"  :subid("31_1259177761.22934") :method :outer("11_1259177761.22934")
 .annotate "line", 4
-    .local string rx154_tgt
-    .local int rx154_pos
-    .local int rx154_off
-    .local int rx154_eos
-    .local int rx154_rep
-    .local pmc rx154_cur
-    (rx154_cur, rx154_pos, rx154_tgt) = self."!cursor_start"()
-    rx154_cur."!cursor_debug"("START ", "statementlist")
-    rx154_cur."!cursor_caparray"("statement")
-    .lex unicode:"$\x{a2}", rx154_cur
+    .local string rx156_tgt
+    .local int rx156_pos
+    .local int rx156_off
+    .local int rx156_eos
+    .local int rx156_rep
+    .local pmc rx156_cur
+    (rx156_cur, rx156_pos, rx156_tgt) = self."!cursor_start"()
+    rx156_cur."!cursor_debug"("START ", "statementlist")
+    rx156_cur."!cursor_caparray"("statement")
+    .lex unicode:"$\x{a2}", rx156_cur
     .local pmc match
     .lex "$/", match
-    length rx154_eos, rx154_tgt
-    set rx154_off, 0
-    lt rx154_pos, 2, rx154_start
-    sub rx154_off, rx154_pos, 1
-    substr rx154_tgt, rx154_tgt, rx154_off
-  rx154_start:
+    length rx156_eos, rx156_tgt
+    set rx156_off, 0
+    lt rx156_pos, 2, rx156_start
+    sub rx156_off, rx156_pos, 1
+    substr rx156_tgt, rx156_tgt, rx156_off
+  rx156_start:
     $I10 = self.'from'()
-    ne $I10, -1, rxscan157_done
-    goto rxscan157_scan
-  rxscan157_loop:
-    ($P10) = rx154_cur."from"()
+    ne $I10, -1, rxscan159_done
+    goto rxscan159_scan
+  rxscan159_loop:
+    ($P10) = rx156_cur."from"()
     inc $P10
-    set rx154_pos, $P10
-    ge rx154_pos, rx154_eos, rxscan157_done
-  rxscan157_scan:
-    set_addr $I10, rxscan157_loop
-    rx154_cur."!mark_push"(0, rx154_pos, $I10)
-  rxscan157_done:
-  alt158_0:
+    set rx156_pos, $P10
+    ge rx156_pos, rx156_eos, rxscan159_done
+  rxscan159_scan:
+    set_addr $I10, rxscan159_loop
+    rx156_cur."!mark_push"(0, rx156_pos, $I10)
+  rxscan159_done:
+  alt160_0:
 .annotate "line", 84
-    set_addr $I10, alt158_1
-    rx154_cur."!mark_push"(0, rx154_pos, $I10)
+    set_addr $I10, alt160_1
+    rx156_cur."!mark_push"(0, rx156_pos, $I10)
 .annotate "line", 85
   # rx subrule "ws" subtype=method negate=
-    rx154_cur."!cursor_pos"(rx154_pos)
-    $P10 = rx154_cur."ws"()
-    unless $P10, rx154_fail
-    rx154_pos = $P10."pos"()
+    rx156_cur."!cursor_pos"(rx156_pos)
+    $P10 = rx156_cur."ws"()
+    unless $P10, rx156_fail
+    rx156_pos = $P10."pos"()
   # rxanchor eos
-    ne rx154_pos, rx154_eos, rx154_fail
+    ne rx156_pos, rx156_eos, rx156_fail
   # rx subrule "ws" subtype=method negate=
-    rx154_cur."!cursor_pos"(rx154_pos)
-    $P10 = rx154_cur."ws"()
-    unless $P10, rx154_fail
-    rx154_pos = $P10."pos"()
-    goto alt158_end
-  alt158_1:
+    rx156_cur."!cursor_pos"(rx156_pos)
+    $P10 = rx156_cur."ws"()
+    unless $P10, rx156_fail
+    rx156_pos = $P10."pos"()
+    goto alt160_end
+  alt160_1:
 .annotate "line", 86
   # rx subrule "ws" subtype=method negate=
-    rx154_cur."!cursor_pos"(rx154_pos)
-    $P10 = rx154_cur."ws"()
-    unless $P10, rx154_fail
-    rx154_pos = $P10."pos"()
-  # rx rxquantr162 ** 0..*
-    set_addr $I164, rxquantr162_done
-    rx154_cur."!mark_push"(0, rx154_pos, $I164)
-  rxquantr162_loop:
+    rx156_cur."!cursor_pos"(rx156_pos)
+    $P10 = rx156_cur."ws"()
+    unless $P10, rx156_fail
+    rx156_pos = $P10."pos"()
+  # rx rxquantr164 ** 0..*
+    set_addr $I166, rxquantr164_done
+    rx156_cur."!mark_push"(0, rx156_pos, $I166)
+  rxquantr164_loop:
   # rx subrule "statement" subtype=capture negate=
-    rx154_cur."!cursor_pos"(rx154_pos)
-    $P10 = rx154_cur."statement"()
-    unless $P10, rx154_fail
-    rx154_cur."!mark_push"(0, -1, 0, $P10)
+    rx156_cur."!cursor_pos"(rx156_pos)
+    $P10 = rx156_cur."statement"()
+    unless $P10, rx156_fail
+    rx156_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("statement")
-    rx154_pos = $P10."pos"()
+    rx156_pos = $P10."pos"()
   # rx subrule "eat_terminator" subtype=method negate=
-    rx154_cur."!cursor_pos"(rx154_pos)
-    $P10 = rx154_cur."eat_terminator"()
-    unless $P10, rx154_fail
-    rx154_pos = $P10."pos"()
-  # rx subrule "ws" subtype=method negate=
-    rx154_cur."!cursor_pos"(rx154_pos)
-    $P10 = rx154_cur."ws"()
-    unless $P10, rx154_fail
-    rx154_pos = $P10."pos"()
-    (rx154_rep) = rx154_cur."!mark_commit"($I164)
-    rx154_cur."!mark_push"(rx154_rep, rx154_pos, $I164)
-    goto rxquantr162_loop
-  rxquantr162_done:
-  # rx subrule "ws" subtype=method negate=
-    rx154_cur."!cursor_pos"(rx154_pos)
-    $P10 = rx154_cur."ws"()
-    unless $P10, rx154_fail
-    rx154_pos = $P10."pos"()
-  alt158_end:
+    rx156_cur."!cursor_pos"(rx156_pos)
+    $P10 = rx156_cur."eat_terminator"()
+    unless $P10, rx156_fail
+    rx156_pos = $P10."pos"()
+  # rx subrule "ws" subtype=method negate=
+    rx156_cur."!cursor_pos"(rx156_pos)
+    $P10 = rx156_cur."ws"()
+    unless $P10, rx156_fail
+    rx156_pos = $P10."pos"()
+    (rx156_rep) = rx156_cur."!mark_commit"($I166)
+    rx156_cur."!mark_push"(rx156_rep, rx156_pos, $I166)
+    goto rxquantr164_loop
+  rxquantr164_done:
+  # rx subrule "ws" subtype=method negate=
+    rx156_cur."!cursor_pos"(rx156_pos)
+    $P10 = rx156_cur."ws"()
+    unless $P10, rx156_fail
+    rx156_pos = $P10."pos"()
+  alt160_end:
 .annotate "line", 84
   # rx pass
-    rx154_cur."!cursor_pass"(rx154_pos, "statementlist")
-    rx154_cur."!cursor_debug"("PASS  ", "statementlist", " at pos=", rx154_pos)
-    .return (rx154_cur)
-  rx154_fail:
+    rx156_cur."!cursor_pass"(rx156_pos, "statementlist")
+    rx156_cur."!cursor_debug"("PASS  ", "statementlist", " at pos=", rx156_pos)
+    .return (rx156_cur)
+  rx156_fail:
 .annotate "line", 4
-    (rx154_rep, rx154_pos, $I10, $P10) = rx154_cur."!mark_fail"(0)
-    lt rx154_pos, -1, rx154_done
-    eq rx154_pos, -1, rx154_fail
+    (rx156_rep, rx156_pos, $I10, $P10) = rx156_cur."!mark_fail"(0)
+    lt rx156_pos, -1, rx156_done
+    eq rx156_pos, -1, rx156_fail
     jump $I10
-  rx154_done:
-    rx154_cur."!cursor_fail"()
-    rx154_cur."!cursor_debug"("FAIL  ", "statementlist")
-    .return (rx154_cur)
+  rx156_done:
+    rx156_cur."!cursor_fail"()
+    rx156_cur."!cursor_debug"("FAIL  ", "statementlist")
+    .return (rx156_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__statementlist"  :subid("32_1259103982.97329") :method
+.sub "!PREFIX__statementlist"  :subid("32_1259177761.22934") :method
 .annotate "line", 4
-    new $P156, "ResizablePMCArray"
-    push $P156, ""
-    push $P156, ""
-    .return ($P156)
+    new $P158, "ResizablePMCArray"
+    push $P158, ""
+    push $P158, ""
+    .return ($P158)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "statement"  :subid("33_1259103982.97329") :method :outer("11_1259103982.97329")
+.sub "statement"  :subid("33_1259177761.22934") :method :outer("11_1259177761.22934")
 .annotate "line", 4
-    .const 'Sub' $P172 = "35_1259103982.97329" 
-    capture_lex $P172
-    .local string rx167_tgt
-    .local int rx167_pos
-    .local int rx167_off
-    .local int rx167_eos
-    .local int rx167_rep
-    .local pmc rx167_cur
-    (rx167_cur, rx167_pos, rx167_tgt) = self."!cursor_start"()
-    rx167_cur."!cursor_debug"("START ", "statement")
-    rx167_cur."!cursor_caparray"("statement_mod_loop", "statement_mod_cond")
-    .lex unicode:"$\x{a2}", rx167_cur
+    .const 'Sub' $P174 = "35_1259177761.22934" 
+    capture_lex $P174
+    .local string rx169_tgt
+    .local int rx169_pos
+    .local int rx169_off
+    .local int rx169_eos
+    .local int rx169_rep
+    .local pmc rx169_cur
+    (rx169_cur, rx169_pos, rx169_tgt) = self."!cursor_start"()
+    rx169_cur."!cursor_debug"("START ", "statement")
+    rx169_cur."!cursor_caparray"("statement_mod_loop", "statement_mod_cond")
+    .lex unicode:"$\x{a2}", rx169_cur
     .local pmc match
     .lex "$/", match
-    length rx167_eos, rx167_tgt
-    set rx167_off, 0
-    lt rx167_pos, 2, rx167_start
-    sub rx167_off, rx167_pos, 1
-    substr rx167_tgt, rx167_tgt, rx167_off
-  rx167_start:
+    length rx169_eos, rx169_tgt
+    set rx169_off, 0
+    lt rx169_pos, 2, rx169_start
+    sub rx169_off, rx169_pos, 1
+    substr rx169_tgt, rx169_tgt, rx169_off
+  rx169_start:
     $I10 = self.'from'()
-    ne $I10, -1, rxscan170_done
-    goto rxscan170_scan
-  rxscan170_loop:
-    ($P10) = rx167_cur."from"()
+    ne $I10, -1, rxscan172_done
+    goto rxscan172_scan
+  rxscan172_loop:
+    ($P10) = rx169_cur."from"()
     inc $P10
-    set rx167_pos, $P10
-    ge rx167_pos, rx167_eos, rxscan170_done
-  rxscan170_scan:
-    set_addr $I10, rxscan170_loop
-    rx167_cur."!mark_push"(0, rx167_pos, $I10)
-  rxscan170_done:
+    set rx169_pos, $P10
+    ge rx169_pos, rx169_eos, rxscan172_done
+  rxscan172_scan:
+    set_addr $I10, rxscan172_loop
+    rx169_cur."!mark_push"(0, rx169_pos, $I10)
+  rxscan172_done:
 .annotate "line", 90
   # rx subrule "before" subtype=zerowidth negate=1
-    rx167_cur."!cursor_pos"(rx167_pos)
-    .const 'Sub' $P172 = "35_1259103982.97329" 
-    capture_lex $P172
-    $P10 = rx167_cur."before"($P172)
-    if $P10, rx167_fail
-  alt176_0:
+    rx169_cur."!cursor_pos"(rx169_pos)
+    .const 'Sub' $P174 = "35_1259177761.22934" 
+    capture_lex $P174
+    $P10 = rx169_cur."before"($P174)
+    if $P10, rx169_fail
+  alt179_0:
 .annotate "line", 91
-    set_addr $I10, alt176_1
-    rx167_cur."!mark_push"(0, rx167_pos, $I10)
+    set_addr $I10, alt179_1
+    rx169_cur."!mark_push"(0, rx169_pos, $I10)
 .annotate "line", 92
   # rx subrule "statement_control" subtype=capture negate=
-    rx167_cur."!cursor_pos"(rx167_pos)
-    $P10 = rx167_cur."statement_control"()
-    unless $P10, rx167_fail
-    rx167_cur."!mark_push"(0, -1, 0, $P10)
+    rx169_cur."!cursor_pos"(rx169_pos)
+    $P10 = rx169_cur."statement_control"()
+    unless $P10, rx169_fail
+    rx169_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("statement_control")
-    rx167_pos = $P10."pos"()
-    goto alt176_end
-  alt176_1:
+    rx169_pos = $P10."pos"()
+    goto alt179_end
+  alt179_1:
 .annotate "line", 93
   # rx subrule "EXPR" subtype=capture negate=
-    rx167_cur."!cursor_pos"(rx167_pos)
-    $P10 = rx167_cur."EXPR"()
-    unless $P10, rx167_fail
-    rx167_cur."!mark_push"(0, -1, 0, $P10)
+    rx169_cur."!cursor_pos"(rx169_pos)
+    $P10 = rx169_cur."EXPR"()
+    unless $P10, rx169_fail
+    rx169_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("EXPR")
-    rx167_pos = $P10."pos"()
+    rx169_pos = $P10."pos"()
   # rx subrule "ws" subtype=method negate=
-    rx167_cur."!cursor_pos"(rx167_pos)
-    $P10 = rx167_cur."ws"()
-    unless $P10, rx167_fail
-    rx167_pos = $P10."pos"()
+    rx169_cur."!cursor_pos"(rx169_pos)
+    $P10 = rx169_cur."ws"()
+    unless $P10, rx169_fail
+    rx169_pos = $P10."pos"()
 .annotate "line", 97
-  # rx rxquantr177 ** 0..1
-    set_addr $I181, rxquantr177_done
-    rx167_cur."!mark_push"(0, rx167_pos, $I181)
-  rxquantr177_loop:
-  alt178_0:
+  # rx rxquantr180 ** 0..1
+    set_addr $I184, rxquantr180_done
+    rx169_cur."!mark_push"(0, rx169_pos, $I184)
+  rxquantr180_loop:
+  alt181_0:
 .annotate "line", 94
-    set_addr $I10, alt178_1
-    rx167_cur."!mark_push"(0, rx167_pos, $I10)
+    set_addr $I10, alt181_1
+    rx169_cur."!mark_push"(0, rx169_pos, $I10)
 .annotate "line", 95
   # rx subrule "statement_mod_cond" subtype=capture negate=
-    rx167_cur."!cursor_pos"(rx167_pos)
-    $P10 = rx167_cur."statement_mod_cond"()
-    unless $P10, rx167_fail
-    rx167_cur."!mark_push"(0, -1, 0, $P10)
+    rx169_cur."!cursor_pos"(rx169_pos)
+    $P10 = rx169_cur."statement_mod_cond"()
+    unless $P10, rx169_fail
+    rx169_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("statement_mod_cond")
-    rx167_pos = $P10."pos"()
-  # rx rxquantr179 ** 0..1
-    set_addr $I180, rxquantr179_done
-    rx167_cur."!mark_push"(0, rx167_pos, $I180)
-  rxquantr179_loop:
+    rx169_pos = $P10."pos"()
+  # rx rxquantr182 ** 0..1
+    set_addr $I183, rxquantr182_done
+    rx169_cur."!mark_push"(0, rx169_pos, $I183)
+  rxquantr182_loop:
   # rx subrule "statement_mod_loop" subtype=capture negate=
-    rx167_cur."!cursor_pos"(rx167_pos)
-    $P10 = rx167_cur."statement_mod_loop"()
-    unless $P10, rx167_fail
-    rx167_cur."!mark_push"(0, -1, 0, $P10)
+    rx169_cur."!cursor_pos"(rx169_pos)
+    $P10 = rx169_cur."statement_mod_loop"()
+    unless $P10, rx169_fail
+    rx169_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("statement_mod_loop")
-    rx167_pos = $P10."pos"()
-    (rx167_rep) = rx167_cur."!mark_commit"($I180)
-  rxquantr179_done:
-    goto alt178_end
-  alt178_1:
+    rx169_pos = $P10."pos"()
+    (rx169_rep) = rx169_cur."!mark_commit"($I183)
+  rxquantr182_done:
+    goto alt181_end
+  alt181_1:
 .annotate "line", 96
   # rx subrule "statement_mod_loop" subtype=capture negate=
-    rx167_cur."!cursor_pos"(rx167_pos)
-    $P10 = rx167_cur."statement_mod_loop"()
-    unless $P10, rx167_fail
-    rx167_cur."!mark_push"(0, -1, 0, $P10)
+    rx169_cur."!cursor_pos"(rx169_pos)
+    $P10 = rx169_cur."statement_mod_loop"()
+    unless $P10, rx169_fail
+    rx169_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("statement_mod_loop")
-    rx167_pos = $P10."pos"()
-  alt178_end:
+    rx169_pos = $P10."pos"()
+  alt181_end:
 .annotate "line", 97
-    (rx167_rep) = rx167_cur."!mark_commit"($I181)
-  rxquantr177_done:
-  alt176_end:
+    (rx169_rep) = rx169_cur."!mark_commit"($I184)
+  rxquantr180_done:
+  alt179_end:
 .annotate "line", 89
   # rx pass
-    rx167_cur."!cursor_pass"(rx167_pos, "statement")
-    rx167_cur."!cursor_debug"("PASS  ", "statement", " at pos=", rx167_pos)
-    .return (rx167_cur)
-  rx167_fail:
+    rx169_cur."!cursor_pass"(rx169_pos, "statement")
+    rx169_cur."!cursor_debug"("PASS  ", "statement", " at pos=", rx169_pos)
+    .return (rx169_cur)
+  rx169_fail:
 .annotate "line", 4
-    (rx167_rep, rx167_pos, $I10, $P10) = rx167_cur."!mark_fail"(0)
-    lt rx167_pos, -1, rx167_done
-    eq rx167_pos, -1, rx167_fail
+    (rx169_rep, rx169_pos, $I10, $P10) = rx169_cur."!mark_fail"(0)
+    lt rx169_pos, -1, rx169_done
+    eq rx169_pos, -1, rx169_fail
     jump $I10
-  rx167_done:
-    rx167_cur."!cursor_fail"()
-    rx167_cur."!cursor_debug"("FAIL  ", "statement")
-    .return (rx167_cur)
+  rx169_done:
+    rx169_cur."!cursor_fail"()
+    rx169_cur."!cursor_debug"("FAIL  ", "statement")
+    .return (rx169_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__statement"  :subid("34_1259103982.97329") :method
+.sub "!PREFIX__statement"  :subid("34_1259177761.22934") :method
 .annotate "line", 4
-    new $P169, "ResizablePMCArray"
-    push $P169, ""
-    .return ($P169)
+    new $P171, "ResizablePMCArray"
+    push $P171, ""
+    .return ($P171)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "_block171"  :anon :subid("35_1259103982.97329") :method :outer("33_1259103982.97329")
+.sub "_block173"  :anon :subid("35_1259177761.22934") :method :outer("33_1259177761.22934")
 .annotate "line", 90
-    .local string rx173_tgt
-    .local int rx173_pos
-    .local int rx173_off
-    .local int rx173_eos
-    .local int rx173_rep
-    .local pmc rx173_cur
-    (rx173_cur, rx173_pos, rx173_tgt) = self."!cursor_start"()
-    rx173_cur."!cursor_debug"("START ", "")
-    .lex unicode:"$\x{a2}", rx173_cur
-    .local pmc match
-    .lex "$/", match
-    length rx173_eos, rx173_tgt
-    set rx173_off, 0
-    lt rx173_pos, 2, rx173_start
-    sub rx173_off, rx173_pos, 1
-    substr rx173_tgt, rx173_tgt, rx173_off
-  rx173_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan174_done
-    goto rxscan174_scan
-  rxscan174_loop:
-    ($P10) = rx173_cur."from"()
-    inc $P10
-    set rx173_pos, $P10
-    ge rx173_pos, rx173_eos, rxscan174_done
-  rxscan174_scan:
-    set_addr $I10, rxscan174_loop
-    rx173_cur."!mark_push"(0, rx173_pos, $I10)
-  rxscan174_done:
-  alt175_0:
-    set_addr $I10, alt175_1
-    rx173_cur."!mark_push"(0, rx173_pos, $I10)
+    .lex unicode:"$\x{a2}", $P175
+    .local string rx176_tgt
+    .local int rx176_pos
+    .local int rx176_off
+    .local int rx176_eos
+    .local int rx176_rep
+    .local pmc rx176_cur
+    (rx176_cur, rx176_pos, rx176_tgt) = self."!cursor_start"()
+    rx176_cur."!cursor_debug"("START ", "")
+    .lex unicode:"$\x{a2}", rx176_cur
+    .local pmc match
+    .lex "$/", match
+    length rx176_eos, rx176_tgt
+    set rx176_off, 0
+    lt rx176_pos, 2, rx176_start
+    sub rx176_off, rx176_pos, 1
+    substr rx176_tgt, rx176_tgt, rx176_off
+  rx176_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan177_done
+    goto rxscan177_scan
+  rxscan177_loop:
+    ($P10) = rx176_cur."from"()
+    inc $P10
+    set rx176_pos, $P10
+    ge rx176_pos, rx176_eos, rxscan177_done
+  rxscan177_scan:
+    set_addr $I10, rxscan177_loop
+    rx176_cur."!mark_push"(0, rx176_pos, $I10)
+  rxscan177_done:
+  alt178_0:
+    set_addr $I10, alt178_1
+    rx176_cur."!mark_push"(0, rx176_pos, $I10)
   # rx enumcharlist negate=0 
-    ge rx173_pos, rx173_eos, rx173_fail
-    sub $I10, rx173_pos, rx173_off
-    substr $S10, rx173_tgt, $I10, 1
+    ge rx176_pos, rx176_eos, rx176_fail
+    sub $I10, rx176_pos, rx176_off
+    substr $S10, rx176_tgt, $I10, 1
     index $I11, "])}", $S10
-    lt $I11, 0, rx173_fail
-    inc rx173_pos
-    goto alt175_end
-  alt175_1:
+    lt $I11, 0, rx176_fail
+    inc rx176_pos
+    goto alt178_end
+  alt178_1:
   # rxanchor eos
-    ne rx173_pos, rx173_eos, rx173_fail
-  alt175_end:
+    ne rx176_pos, rx176_eos, rx176_fail
+  alt178_end:
   # rx pass
-    rx173_cur."!cursor_pass"(rx173_pos, "")
-    rx173_cur."!cursor_debug"("PASS  ", "", " at pos=", rx173_pos)
-    .return (rx173_cur)
-  rx173_fail:
-    (rx173_rep, rx173_pos, $I10, $P10) = rx173_cur."!mark_fail"(0)
-    lt rx173_pos, -1, rx173_done
-    eq rx173_pos, -1, rx173_fail
-    jump $I10
-  rx173_done:
-    rx173_cur."!cursor_fail"()
-    rx173_cur."!cursor_debug"("FAIL  ", "")
-    .return (rx173_cur)
+    rx176_cur."!cursor_pass"(rx176_pos, "")
+    rx176_cur."!cursor_debug"("PASS  ", "", " at pos=", rx176_pos)
+    .return (rx176_cur)
+  rx176_fail:
+    (rx176_rep, rx176_pos, $I10, $P10) = rx176_cur."!mark_fail"(0)
+    lt rx176_pos, -1, rx176_done
+    eq rx176_pos, -1, rx176_fail
+    jump $I10
+  rx176_done:
+    rx176_cur."!cursor_fail"()
+    rx176_cur."!cursor_debug"("FAIL  ", "")
+    .return (rx176_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "eat_terminator"  :subid("36_1259103982.97329") :method :outer("11_1259103982.97329")
-.annotate "line", 4
-    .local string rx183_tgt
-    .local int rx183_pos
-    .local int rx183_off
-    .local int rx183_eos
-    .local int rx183_rep
-    .local pmc rx183_cur
-    (rx183_cur, rx183_pos, rx183_tgt) = self."!cursor_start"()
-    rx183_cur."!cursor_debug"("START ", "eat_terminator")
-    .lex unicode:"$\x{a2}", rx183_cur
-    .local pmc match
-    .lex "$/", match
-    length rx183_eos, rx183_tgt
-    set rx183_off, 0
-    lt rx183_pos, 2, rx183_start
-    sub rx183_off, rx183_pos, 1
-    substr rx183_tgt, rx183_tgt, rx183_off
-  rx183_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan186_done
-    goto rxscan186_scan
-  rxscan186_loop:
-    ($P10) = rx183_cur."from"()
-    inc $P10
-    set rx183_pos, $P10
-    ge rx183_pos, rx183_eos, rxscan186_done
-  rxscan186_scan:
-    set_addr $I10, rxscan186_loop
-    rx183_cur."!mark_push"(0, rx183_pos, $I10)
-  rxscan186_done:
-  alt187_0:
+.sub "eat_terminator"  :subid("36_1259177761.22934") :method :outer("11_1259177761.22934")
+.annotate "line", 4
+    .local string rx186_tgt
+    .local int rx186_pos
+    .local int rx186_off
+    .local int rx186_eos
+    .local int rx186_rep
+    .local pmc rx186_cur
+    (rx186_cur, rx186_pos, rx186_tgt) = self."!cursor_start"()
+    rx186_cur."!cursor_debug"("START ", "eat_terminator")
+    .lex unicode:"$\x{a2}", rx186_cur
+    .local pmc match
+    .lex "$/", match
+    length rx186_eos, rx186_tgt
+    set rx186_off, 0
+    lt rx186_pos, 2, rx186_start
+    sub rx186_off, rx186_pos, 1
+    substr rx186_tgt, rx186_tgt, rx186_off
+  rx186_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan189_done
+    goto rxscan189_scan
+  rxscan189_loop:
+    ($P10) = rx186_cur."from"()
+    inc $P10
+    set rx186_pos, $P10
+    ge rx186_pos, rx186_eos, rxscan189_done
+  rxscan189_scan:
+    set_addr $I10, rxscan189_loop
+    rx186_cur."!mark_push"(0, rx186_pos, $I10)
+  rxscan189_done:
+  alt190_0:
 .annotate "line", 101
-    set_addr $I10, alt187_1
-    rx183_cur."!mark_push"(0, rx183_pos, $I10)
+    set_addr $I10, alt190_1
+    rx186_cur."!mark_push"(0, rx186_pos, $I10)
 .annotate "line", 102
   # rx literal  ";"
-    add $I11, rx183_pos, 1
-    gt $I11, rx183_eos, rx183_fail
-    sub $I11, rx183_pos, rx183_off
-    substr $S10, rx183_tgt, $I11, 1
-    ne $S10, ";", rx183_fail
-    add rx183_pos, 1
-    goto alt187_end
-  alt187_1:
-    set_addr $I10, alt187_2
-    rx183_cur."!mark_push"(0, rx183_pos, $I10)
+    add $I11, rx186_pos, 1
+    gt $I11, rx186_eos, rx186_fail
+    sub $I11, rx186_pos, rx186_off
+    substr $S10, rx186_tgt, $I11, 1
+    ne $S10, ";", rx186_fail
+    add rx186_pos, 1
+    goto alt190_end
+  alt190_1:
+    set_addr $I10, alt190_2
+    rx186_cur."!mark_push"(0, rx186_pos, $I10)
 .annotate "line", 103
   # rx subrule "MARKED" subtype=zerowidth negate=
-    rx183_cur."!cursor_pos"(rx183_pos)
-    $P10 = rx183_cur."MARKED"("endstmt")
-    unless $P10, rx183_fail
-    goto alt187_end
-  alt187_2:
-    set_addr $I10, alt187_3
-    rx183_cur."!mark_push"(0, rx183_pos, $I10)
+    rx186_cur."!cursor_pos"(rx186_pos)
+    $P10 = rx186_cur."MARKED"("endstmt")
+    unless $P10, rx186_fail
+    goto alt190_end
+  alt190_2:
+    set_addr $I10, alt190_3
+    rx186_cur."!mark_push"(0, rx186_pos, $I10)
 .annotate "line", 104
   # rx subrule "terminator" subtype=zerowidth negate=
-    rx183_cur."!cursor_pos"(rx183_pos)
-    $P10 = rx183_cur."terminator"()
-    unless $P10, rx183_fail
-    goto alt187_end
-  alt187_3:
+    rx186_cur."!cursor_pos"(rx186_pos)
+    $P10 = rx186_cur."terminator"()
+    unless $P10, rx186_fail
+    goto alt190_end
+  alt190_3:
 .annotate "line", 105
   # rxanchor eos
-    ne rx183_pos, rx183_eos, rx183_fail
-  alt187_end:
+    ne rx186_pos, rx186_eos, rx186_fail
+  alt190_end:
 .annotate "line", 101
   # rx pass
-    rx183_cur."!cursor_pass"(rx183_pos, "eat_terminator")
-    rx183_cur."!cursor_debug"("PASS  ", "eat_terminator", " at pos=", rx183_pos)
-    .return (rx183_cur)
-  rx183_fail:
+    rx186_cur."!cursor_pass"(rx186_pos, "eat_terminator")
+    rx186_cur."!cursor_debug"("PASS  ", "eat_terminator", " at pos=", rx186_pos)
+    .return (rx186_cur)
+  rx186_fail:
 .annotate "line", 4
-    (rx183_rep, rx183_pos, $I10, $P10) = rx183_cur."!mark_fail"(0)
-    lt rx183_pos, -1, rx183_done
-    eq rx183_pos, -1, rx183_fail
+    (rx186_rep, rx186_pos, $I10, $P10) = rx186_cur."!mark_fail"(0)
+    lt rx186_pos, -1, rx186_done
+    eq rx186_pos, -1, rx186_fail
     jump $I10
-  rx183_done:
-    rx183_cur."!cursor_fail"()
-    rx183_cur."!cursor_debug"("FAIL  ", "eat_terminator")
-    .return (rx183_cur)
+  rx186_done:
+    rx186_cur."!cursor_fail"()
+    rx186_cur."!cursor_debug"("FAIL  ", "eat_terminator")
+    .return (rx186_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__eat_terminator"  :subid("37_1259103982.97329") :method
+.sub "!PREFIX__eat_terminator"  :subid("37_1259177761.22934") :method
 .annotate "line", 4
-    new $P185, "ResizablePMCArray"
-    push $P185, ""
-    push $P185, ""
-    push $P185, ""
-    push $P185, ";"
-    .return ($P185)
+    new $P188, "ResizablePMCArray"
+    push $P188, ""
+    push $P188, ""
+    push $P188, ""
+    push $P188, ";"
+    .return ($P188)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "xblock"  :subid("38_1259103982.97329") :method :outer("11_1259103982.97329")
+.sub "xblock"  :subid("38_1259177761.22934") :method :outer("11_1259177761.22934")
 .annotate "line", 4
-    .local string rx189_tgt
-    .local int rx189_pos
-    .local int rx189_off
-    .local int rx189_eos
-    .local int rx189_rep
-    .local pmc rx189_cur
-    (rx189_cur, rx189_pos, rx189_tgt) = self."!cursor_start"()
-    rx189_cur."!cursor_debug"("START ", "xblock")
-    .lex unicode:"$\x{a2}", rx189_cur
+    .local string rx192_tgt
+    .local int rx192_pos
+    .local int rx192_off
+    .local int rx192_eos
+    .local int rx192_rep
+    .local pmc rx192_cur
+    (rx192_cur, rx192_pos, rx192_tgt) = self."!cursor_start"()
+    rx192_cur."!cursor_debug"("START ", "xblock")
+    .lex unicode:"$\x{a2}", rx192_cur
     .local pmc match
     .lex "$/", match
-    length rx189_eos, rx189_tgt
-    set rx189_off, 0
-    lt rx189_pos, 2, rx189_start
-    sub rx189_off, rx189_pos, 1
-    substr rx189_tgt, rx189_tgt, rx189_off
-  rx189_start:
+    length rx192_eos, rx192_tgt
+    set rx192_off, 0
+    lt rx192_pos, 2, rx192_start
+    sub rx192_off, rx192_pos, 1
+    substr rx192_tgt, rx192_tgt, rx192_off
+  rx192_start:
     $I10 = self.'from'()
-    ne $I10, -1, rxscan193_done
-    goto rxscan193_scan
-  rxscan193_loop:
-    ($P10) = rx189_cur."from"()
+    ne $I10, -1, rxscan196_done
+    goto rxscan196_scan
+  rxscan196_loop:
+    ($P10) = rx192_cur."from"()
     inc $P10
-    set rx189_pos, $P10
-    ge rx189_pos, rx189_eos, rxscan193_done
-  rxscan193_scan:
-    set_addr $I10, rxscan193_loop
-    rx189_cur."!mark_push"(0, rx189_pos, $I10)
-  rxscan193_done:
+    set rx192_pos, $P10
+    ge rx192_pos, rx192_eos, rxscan196_done
+  rxscan196_scan:
+    set_addr $I10, rxscan196_loop
+    rx192_cur."!mark_push"(0, rx192_pos, $I10)
+  rxscan196_done:
 .annotate "line", 109
   # rx subrule "EXPR" subtype=capture negate=
-    rx189_cur."!cursor_pos"(rx189_pos)
-    $P10 = rx189_cur."EXPR"()
-    unless $P10, rx189_fail
-    rx189_cur."!mark_push"(0, -1, 0, $P10)
+    rx192_cur."!cursor_pos"(rx192_pos)
+    $P10 = rx192_cur."EXPR"()
+    unless $P10, rx192_fail
+    rx192_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("EXPR")
-    rx189_pos = $P10."pos"()
+    rx192_pos = $P10."pos"()
   # rx subrule "ws" subtype=method negate=
-    rx189_cur."!cursor_pos"(rx189_pos)
-    $P10 = rx189_cur."ws"()
-    unless $P10, rx189_fail
-    rx189_pos = $P10."pos"()
+    rx192_cur."!cursor_pos"(rx192_pos)
+    $P10 = rx192_cur."ws"()
+    unless $P10, rx192_fail
+    rx192_pos = $P10."pos"()
   # rx subrule "pblock" subtype=capture negate=
-    rx189_cur."!cursor_pos"(rx189_pos)
-    $P10 = rx189_cur."pblock"()
-    unless $P10, rx189_fail
-    rx189_cur."!mark_push"(0, -1, 0, $P10)
+    rx192_cur."!cursor_pos"(rx192_pos)
+    $P10 = rx192_cur."pblock"()
+    unless $P10, rx192_fail
+    rx192_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("pblock")
-    rx189_pos = $P10."pos"()
+    rx192_pos = $P10."pos"()
 .annotate "line", 108
   # rx pass
-    rx189_cur."!cursor_pass"(rx189_pos, "xblock")
-    rx189_cur."!cursor_debug"("PASS  ", "xblock", " at pos=", rx189_pos)
-    .return (rx189_cur)
-  rx189_fail:
+    rx192_cur."!cursor_pass"(rx192_pos, "xblock")
+    rx192_cur."!cursor_debug"("PASS  ", "xblock", " at pos=", rx192_pos)
+    .return (rx192_cur)
+  rx192_fail:
 .annotate "line", 4
-    (rx189_rep, rx189_pos, $I10, $P10) = rx189_cur."!mark_fail"(0)
-    lt rx189_pos, -1, rx189_done
-    eq rx189_pos, -1, rx189_fail
+    (rx192_rep, rx192_pos, $I10, $P10) = rx192_cur."!mark_fail"(0)
+    lt rx192_pos, -1, rx192_done
+    eq rx192_pos, -1, rx192_fail
     jump $I10
-  rx189_done:
-    rx189_cur."!cursor_fail"()
-    rx189_cur."!cursor_debug"("FAIL  ", "xblock")
-    .return (rx189_cur)
+  rx192_done:
+    rx192_cur."!cursor_fail"()
+    rx192_cur."!cursor_debug"("FAIL  ", "xblock")
+    .return (rx192_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__xblock"  :subid("39_1259103982.97329") :method
+.sub "!PREFIX__xblock"  :subid("39_1259177761.22934") :method
 .annotate "line", 4
-    $P191 = self."!PREFIX__!subrule"("EXPR", "")
-    new $P192, "ResizablePMCArray"
-    push $P192, $P191
-    .return ($P192)
+    $P194 = self."!PREFIX__!subrule"("EXPR", "")
+    new $P195, "ResizablePMCArray"
+    push $P195, $P194
+    .return ($P195)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "pblock"  :subid("40_1259103982.97329") :method :outer("11_1259103982.97329")
+.sub "pblock"  :subid("40_1259177761.22934") :method :outer("11_1259177761.22934")
 .annotate "line", 4
-    .local string rx195_tgt
-    .local int rx195_pos
-    .local int rx195_off
-    .local int rx195_eos
-    .local int rx195_rep
-    .local pmc rx195_cur
-    (rx195_cur, rx195_pos, rx195_tgt) = self."!cursor_start"()
-    rx195_cur."!cursor_debug"("START ", "pblock")
-    .lex unicode:"$\x{a2}", rx195_cur
+    .local string rx198_tgt
+    .local int rx198_pos
+    .local int rx198_off
+    .local int rx198_eos
+    .local int rx198_rep
+    .local pmc rx198_cur
+    (rx198_cur, rx198_pos, rx198_tgt) = self."!cursor_start"()
+    rx198_cur."!cursor_debug"("START ", "pblock")
+    .lex unicode:"$\x{a2}", rx198_cur
     .local pmc match
     .lex "$/", match
-    length rx195_eos, rx195_tgt
-    set rx195_off, 0
-    lt rx195_pos, 2, rx195_start
-    sub rx195_off, rx195_pos, 1
-    substr rx195_tgt, rx195_tgt, rx195_off
-  rx195_start:
+    length rx198_eos, rx198_tgt
+    set rx198_off, 0
+    lt rx198_pos, 2, rx198_start
+    sub rx198_off, rx198_pos, 1
+    substr rx198_tgt, rx198_tgt, rx198_off
+  rx198_start:
     $I10 = self.'from'()
-    ne $I10, -1, rxscan200_done
-    goto rxscan200_scan
-  rxscan200_loop:
-    ($P10) = rx195_cur."from"()
+    ne $I10, -1, rxscan203_done
+    goto rxscan203_scan
+  rxscan203_loop:
+    ($P10) = rx198_cur."from"()
     inc $P10
-    set rx195_pos, $P10
-    ge rx195_pos, rx195_eos, rxscan200_done
-  rxscan200_scan:
-    set_addr $I10, rxscan200_loop
-    rx195_cur."!mark_push"(0, rx195_pos, $I10)
-  rxscan200_done:
-  alt201_0:
+    set rx198_pos, $P10
+    ge rx198_pos, rx198_eos, rxscan203_done
+  rxscan203_scan:
+    set_addr $I10, rxscan203_loop
+    rx198_cur."!mark_push"(0, rx198_pos, $I10)
+  rxscan203_done:
+  alt204_0:
 .annotate "line", 112
-    set_addr $I10, alt201_1
-    rx195_cur."!mark_push"(0, rx195_pos, $I10)
+    set_addr $I10, alt204_1
+    rx198_cur."!mark_push"(0, rx198_pos, $I10)
 .annotate "line", 113
   # rx subrule "lambda" subtype=method negate=
-    rx195_cur."!cursor_pos"(rx195_pos)
-    $P10 = rx195_cur."lambda"()
-    unless $P10, rx195_fail
-    rx195_pos = $P10."pos"()
+    rx198_cur."!cursor_pos"(rx198_pos)
+    $P10 = rx198_cur."lambda"()
+    unless $P10, rx198_fail
+    rx198_pos = $P10."pos"()
 .annotate "line", 114
   # rx subrule "newpad" subtype=method negate=
-    rx195_cur."!cursor_pos"(rx195_pos)
-    $P10 = rx195_cur."newpad"()
-    unless $P10, rx195_fail
-    rx195_pos = $P10."pos"()
+    rx198_cur."!cursor_pos"(rx198_pos)
+    $P10 = rx198_cur."newpad"()
+    unless $P10, rx198_fail
+    rx198_pos = $P10."pos"()
 .annotate "line", 115
   # rx subrule "signature" subtype=capture negate=
-    rx195_cur."!cursor_pos"(rx195_pos)
-    $P10 = rx195_cur."signature"()
-    unless $P10, rx195_fail
-    rx195_cur."!mark_push"(0, -1, 0, $P10)
+    rx198_cur."!cursor_pos"(rx198_pos)
+    $P10 = rx198_cur."signature"()
+    unless $P10, rx198_fail
+    rx198_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("signature")
-    rx195_pos = $P10."pos"()
+    rx198_pos = $P10."pos"()
 .annotate "line", 116
   # rx subrule "blockoid" subtype=capture negate=
-    rx195_cur."!cursor_pos"(rx195_pos)
-    $P10 = rx195_cur."blockoid"()
-    unless $P10, rx195_fail
-    rx195_cur."!mark_push"(0, -1, 0, $P10)
+    rx198_cur."!cursor_pos"(rx198_pos)
+    $P10 = rx198_cur."blockoid"()
+    unless $P10, rx198_fail
+    rx198_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("blockoid")
-    rx195_pos = $P10."pos"()
+    rx198_pos = $P10."pos"()
 .annotate "line", 113
-    goto alt201_end
-  alt201_1:
-    set_addr $I10, alt201_2
-    rx195_cur."!mark_push"(0, rx195_pos, $I10)
+    goto alt204_end
+  alt204_1:
+    set_addr $I10, alt204_2
+    rx198_cur."!mark_push"(0, rx198_pos, $I10)
 .annotate "line", 117
   # rx enumcharlist negate=0 zerowidth
-    ge rx195_pos, rx195_eos, rx195_fail
-    sub $I10, rx195_pos, rx195_off
-    substr $S10, rx195_tgt, $I10, 1
+    ge rx198_pos, rx198_eos, rx198_fail
+    sub $I10, rx198_pos, rx198_off
+    substr $S10, rx198_tgt, $I10, 1
     index $I11, "{", $S10
-    lt $I11, 0, rx195_fail
+    lt $I11, 0, rx198_fail
 .annotate "line", 118
   # rx subrule "newpad" subtype=method negate=
-    rx195_cur."!cursor_pos"(rx195_pos)
-    $P10 = rx195_cur."newpad"()
-    unless $P10, rx195_fail
-    rx195_pos = $P10."pos"()
+    rx198_cur."!cursor_pos"(rx198_pos)
+    $P10 = rx198_cur."newpad"()
+    unless $P10, rx198_fail
+    rx198_pos = $P10."pos"()
 .annotate "line", 119
   # rx subrule "blockoid" subtype=capture negate=
-    rx195_cur."!cursor_pos"(rx195_pos)
-    $P10 = rx195_cur."blockoid"()
-    unless $P10, rx195_fail
-    rx195_cur."!mark_push"(0, -1, 0, $P10)
+    rx198_cur."!cursor_pos"(rx198_pos)
+    $P10 = rx198_cur."blockoid"()
+    unless $P10, rx198_fail
+    rx198_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("blockoid")
-    rx195_pos = $P10."pos"()
+    rx198_pos = $P10."pos"()
 .annotate "line", 117
-    goto alt201_end
-  alt201_2:
+    goto alt204_end
+  alt204_2:
 .annotate "line", 120
   # rx subrule "panic" subtype=method negate=
-    rx195_cur."!cursor_pos"(rx195_pos)
-    $P10 = rx195_cur."panic"("Missing block")
-    unless $P10, rx195_fail
-    rx195_pos = $P10."pos"()
-  alt201_end:
+    rx198_cur."!cursor_pos"(rx198_pos)
+    $P10 = rx198_cur."panic"("Missing block")
+    unless $P10, rx198_fail
+    rx198_pos = $P10."pos"()
+  alt204_end:
 .annotate "line", 112
   # rx pass
-    rx195_cur."!cursor_pass"(rx195_pos, "pblock")
-    rx195_cur."!cursor_debug"("PASS  ", "pblock", " at pos=", rx195_pos)
-    .return (rx195_cur)
-  rx195_fail:
+    rx198_cur."!cursor_pass"(rx198_pos, "pblock")
+    rx198_cur."!cursor_debug"("PASS  ", "pblock", " at pos=", rx198_pos)
+    .return (rx198_cur)
+  rx198_fail:
 .annotate "line", 4
-    (rx195_rep, rx195_pos, $I10, $P10) = rx195_cur."!mark_fail"(0)
-    lt rx195_pos, -1, rx195_done
-    eq rx195_pos, -1, rx195_fail
+    (rx198_rep, rx198_pos, $I10, $P10) = rx198_cur."!mark_fail"(0)
+    lt rx198_pos, -1, rx198_done
+    eq rx198_pos, -1, rx198_fail
     jump $I10
-  rx195_done:
-    rx195_cur."!cursor_fail"()
-    rx195_cur."!cursor_debug"("FAIL  ", "pblock")
-    .return (rx195_cur)
+  rx198_done:
+    rx198_cur."!cursor_fail"()
+    rx198_cur."!cursor_debug"("FAIL  ", "pblock")
+    .return (rx198_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__pblock"  :subid("41_1259103982.97329") :method
+.sub "!PREFIX__pblock"  :subid("41_1259177761.22934") :method
 .annotate "line", 4
-    $P197 = self."!PREFIX__!subrule"("", "")
-    $P198 = self."!PREFIX__!subrule"("", "")
-    new $P199, "ResizablePMCArray"
-    push $P199, $P197
-    push $P199, "{"
-    push $P199, $P198
-    .return ($P199)
+    $P200 = self."!PREFIX__!subrule"("", "")
+    $P201 = self."!PREFIX__!subrule"("", "")
+    new $P202, "ResizablePMCArray"
+    push $P202, $P200
+    push $P202, "{"
+    push $P202, $P201
+    .return ($P202)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "lambda"  :subid("42_1259103982.97329") :method :outer("11_1259103982.97329")
+.sub "lambda"  :subid("42_1259177761.22934") :method :outer("11_1259177761.22934")
 .annotate "line", 4
-    .local string rx203_tgt
-    .local int rx203_pos
-    .local int rx203_off
-    .local int rx203_eos
-    .local int rx203_rep
-    .local pmc rx203_cur
-    (rx203_cur, rx203_pos, rx203_tgt) = self."!cursor_start"()
-    rx203_cur."!cursor_debug"("START ", "lambda")
-    .lex unicode:"$\x{a2}", rx203_cur
+    .local string rx206_tgt
+    .local int rx206_pos
+    .local int rx206_off
+    .local int rx206_eos
+    .local int rx206_rep
+    .local pmc rx206_cur
+    (rx206_cur, rx206_pos, rx206_tgt) = self."!cursor_start"()
+    rx206_cur."!cursor_debug"("START ", "lambda")
+    .lex unicode:"$\x{a2}", rx206_cur
     .local pmc match
     .lex "$/", match
-    length rx203_eos, rx203_tgt
-    set rx203_off, 0
-    lt rx203_pos, 2, rx203_start
-    sub rx203_off, rx203_pos, 1
-    substr rx203_tgt, rx203_tgt, rx203_off
-  rx203_start:
+    length rx206_eos, rx206_tgt
+    set rx206_off, 0
+    lt rx206_pos, 2, rx206_start
+    sub rx206_off, rx206_pos, 1
+    substr rx206_tgt, rx206_tgt, rx206_off
+  rx206_start:
     $I10 = self.'from'()
-    ne $I10, -1, rxscan206_done
-    goto rxscan206_scan
-  rxscan206_loop:
-    ($P10) = rx203_cur."from"()
+    ne $I10, -1, rxscan209_done
+    goto rxscan209_scan
+  rxscan209_loop:
+    ($P10) = rx206_cur."from"()
     inc $P10
-    set rx203_pos, $P10
-    ge rx203_pos, rx203_eos, rxscan206_done
-  rxscan206_scan:
-    set_addr $I10, rxscan206_loop
-    rx203_cur."!mark_push"(0, rx203_pos, $I10)
-  rxscan206_done:
-  alt207_0:
+    set rx206_pos, $P10
+    ge rx206_pos, rx206_eos, rxscan209_done
+  rxscan209_scan:
+    set_addr $I10, rxscan209_loop
+    rx206_cur."!mark_push"(0, rx206_pos, $I10)
+  rxscan209_done:
+  alt210_0:
 .annotate "line", 123
-    set_addr $I10, alt207_1
-    rx203_cur."!mark_push"(0, rx203_pos, $I10)
+    set_addr $I10, alt210_1
+    rx206_cur."!mark_push"(0, rx206_pos, $I10)
   # rx literal  "->"
-    add $I11, rx203_pos, 2
-    gt $I11, rx203_eos, rx203_fail
-    sub $I11, rx203_pos, rx203_off
-    substr $S10, rx203_tgt, $I11, 2
-    ne $S10, "->", rx203_fail
-    add rx203_pos, 2
-    goto alt207_end
-  alt207_1:
+    add $I11, rx206_pos, 2
+    gt $I11, rx206_eos, rx206_fail
+    sub $I11, rx206_pos, rx206_off
+    substr $S10, rx206_tgt, $I11, 2
+    ne $S10, "->", rx206_fail
+    add rx206_pos, 2
+    goto alt210_end
+  alt210_1:
   # rx literal  "<->"
-    add $I11, rx203_pos, 3
-    gt $I11, rx203_eos, rx203_fail
-    sub $I11, rx203_pos, rx203_off
-    substr $S10, rx203_tgt, $I11, 3
-    ne $S10, "<->", rx203_fail
-    add rx203_pos, 3
-  alt207_end:
+    add $I11, rx206_pos, 3
+    gt $I11, rx206_eos, rx206_fail
+    sub $I11, rx206_pos, rx206_off
+    substr $S10, rx206_tgt, $I11, 3
+    ne $S10, "<->", rx206_fail
+    add rx206_pos, 3
+  alt210_end:
   # rx pass
-    rx203_cur."!cursor_pass"(rx203_pos, "lambda")
-    rx203_cur."!cursor_debug"("PASS  ", "lambda", " at pos=", rx203_pos)
-    .return (rx203_cur)
-  rx203_fail:
+    rx206_cur."!cursor_pass"(rx206_pos, "lambda")
+    rx206_cur."!cursor_debug"("PASS  ", "lambda", " at pos=", rx206_pos)
+    .return (rx206_cur)
+  rx206_fail:
 .annotate "line", 4
-    (rx203_rep, rx203_pos, $I10, $P10) = rx203_cur."!mark_fail"(0)
-    lt rx203_pos, -1, rx203_done
-    eq rx203_pos, -1, rx203_fail
+    (rx206_rep, rx206_pos, $I10, $P10) = rx206_cur."!mark_fail"(0)
+    lt rx206_pos, -1, rx206_done
+    eq rx206_pos, -1, rx206_fail
     jump $I10
-  rx203_done:
-    rx203_cur."!cursor_fail"()
-    rx203_cur."!cursor_debug"("FAIL  ", "lambda")
-    .return (rx203_cur)
+  rx206_done:
+    rx206_cur."!cursor_fail"()
+    rx206_cur."!cursor_debug"("FAIL  ", "lambda")
+    .return (rx206_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__lambda"  :subid("43_1259103982.97329") :method
+.sub "!PREFIX__lambda"  :subid("43_1259177761.22934") :method
 .annotate "line", 4
-    new $P205, "ResizablePMCArray"
-    push $P205, "<->"
-    push $P205, "->"
-    .return ($P205)
+    new $P208, "ResizablePMCArray"
+    push $P208, "<->"
+    push $P208, "->"
+    .return ($P208)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "block"  :subid("44_1259103982.97329") :method :outer("11_1259103982.97329")
+.sub "block"  :subid("44_1259177761.22934") :method :outer("11_1259177761.22934")
 .annotate "line", 4
-    .local string rx209_tgt
-    .local int rx209_pos
-    .local int rx209_off
-    .local int rx209_eos
-    .local int rx209_rep
-    .local pmc rx209_cur
-    (rx209_cur, rx209_pos, rx209_tgt) = self."!cursor_start"()
-    rx209_cur."!cursor_debug"("START ", "block")
-    .lex unicode:"$\x{a2}", rx209_cur
+    .local string rx212_tgt
+    .local int rx212_pos
+    .local int rx212_off
+    .local int rx212_eos
+    .local int rx212_rep
+    .local pmc rx212_cur
+    (rx212_cur, rx212_pos, rx212_tgt) = self."!cursor_start"()
+    rx212_cur."!cursor_debug"("START ", "block")
+    .lex unicode:"$\x{a2}", rx212_cur
     .local pmc match
     .lex "$/", match
-    length rx209_eos, rx209_tgt
-    set rx209_off, 0
-    lt rx209_pos, 2, rx209_start
-    sub rx209_off, rx209_pos, 1
-    substr rx209_tgt, rx209_tgt, rx209_off
-  rx209_start:
+    length rx212_eos, rx212_tgt
+    set rx212_off, 0
+    lt rx212_pos, 2, rx212_start
+    sub rx212_off, rx212_pos, 1
+    substr rx212_tgt, rx212_tgt, rx212_off
+  rx212_start:
     $I10 = self.'from'()
-    ne $I10, -1, rxscan213_done
-    goto rxscan213_scan
-  rxscan213_loop:
-    ($P10) = rx209_cur."from"()
+    ne $I10, -1, rxscan216_done
+    goto rxscan216_scan
+  rxscan216_loop:
+    ($P10) = rx212_cur."from"()
     inc $P10
-    set rx209_pos, $P10
-    ge rx209_pos, rx209_eos, rxscan213_done
-  rxscan213_scan:
-    set_addr $I10, rxscan213_loop
-    rx209_cur."!mark_push"(0, rx209_pos, $I10)
-  rxscan213_done:
-  alt214_0:
+    set rx212_pos, $P10
+    ge rx212_pos, rx212_eos, rxscan216_done
+  rxscan216_scan:
+    set_addr $I10, rxscan216_loop
+    rx212_cur."!mark_push"(0, rx212_pos, $I10)
+  rxscan216_done:
+  alt217_0:
 .annotate "line", 126
-    set_addr $I10, alt214_1
-    rx209_cur."!mark_push"(0, rx209_pos, $I10)
+    set_addr $I10, alt217_1
+    rx212_cur."!mark_push"(0, rx212_pos, $I10)
   # rx enumcharlist negate=0 zerowidth
-    ge rx209_pos, rx209_eos, rx209_fail
-    sub $I10, rx209_pos, rx209_off
-    substr $S10, rx209_tgt, $I10, 1
+    ge rx212_pos, rx212_eos, rx212_fail
+    sub $I10, rx212_pos, rx212_off
+    substr $S10, rx212_tgt, $I10, 1
     index $I11, "{", $S10
-    lt $I11, 0, rx209_fail
-    goto alt214_end
-  alt214_1:
+    lt $I11, 0, rx212_fail
+    goto alt217_end
+  alt217_1:
   # rx subrule "panic" subtype=method negate=
-    rx209_cur."!cursor_pos"(rx209_pos)
-    $P10 = rx209_cur."panic"("Missing block")
-    unless $P10, rx209_fail
-    rx209_pos = $P10."pos"()
-  alt214_end:
+    rx212_cur."!cursor_pos"(rx212_pos)
+    $P10 = rx212_cur."panic"("Missing block")
+    unless $P10, rx212_fail
+    rx212_pos = $P10."pos"()
+  alt217_end:
 .annotate "line", 127
   # rx subrule "newpad" subtype=method negate=
-    rx209_cur."!cursor_pos"(rx209_pos)
-    $P10 = rx209_cur."newpad"()
-    unless $P10, rx209_fail
-    rx209_pos = $P10."pos"()
+    rx212_cur."!cursor_pos"(rx212_pos)
+    $P10 = rx212_cur."newpad"()
+    unless $P10, rx212_fail
+    rx212_pos = $P10."pos"()
 .annotate "line", 128
   # rx subrule "blockoid" subtype=capture negate=
-    rx209_cur."!cursor_pos"(rx209_pos)
-    $P10 = rx209_cur."blockoid"()
-    unless $P10, rx209_fail
-    rx209_cur."!mark_push"(0, -1, 0, $P10)
+    rx212_cur."!cursor_pos"(rx212_pos)
+    $P10 = rx212_cur."blockoid"()
+    unless $P10, rx212_fail
+    rx212_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("blockoid")
-    rx209_pos = $P10."pos"()
+    rx212_pos = $P10."pos"()
 .annotate "line", 125
   # rx pass
-    rx209_cur."!cursor_pass"(rx209_pos, "block")
-    rx209_cur."!cursor_debug"("PASS  ", "block", " at pos=", rx209_pos)
-    .return (rx209_cur)
-  rx209_fail:
+    rx212_cur."!cursor_pass"(rx212_pos, "block")
+    rx212_cur."!cursor_debug"("PASS  ", "block", " at pos=", rx212_pos)
+    .return (rx212_cur)
+  rx212_fail:
 .annotate "line", 4
-    (rx209_rep, rx209_pos, $I10, $P10) = rx209_cur."!mark_fail"(0)
-    lt rx209_pos, -1, rx209_done
-    eq rx209_pos, -1, rx209_fail
+    (rx212_rep, rx212_pos, $I10, $P10) = rx212_cur."!mark_fail"(0)
+    lt rx212_pos, -1, rx212_done
+    eq rx212_pos, -1, rx212_fail
     jump $I10
-  rx209_done:
-    rx209_cur."!cursor_fail"()
-    rx209_cur."!cursor_debug"("FAIL  ", "block")
-    .return (rx209_cur)
+  rx212_done:
+    rx212_cur."!cursor_fail"()
+    rx212_cur."!cursor_debug"("FAIL  ", "block")
+    .return (rx212_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__block"  :subid("45_1259103982.97329") :method
+.sub "!PREFIX__block"  :subid("45_1259177761.22934") :method
 .annotate "line", 4
-    $P211 = self."!PREFIX__!subrule"("", "")
-    new $P212, "ResizablePMCArray"
-    push $P212, $P211
-    push $P212, "{"
-    .return ($P212)
+    $P214 = self."!PREFIX__!subrule"("", "")
+    new $P215, "ResizablePMCArray"
+    push $P215, $P214
+    push $P215, "{"
+    .return ($P215)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "blockoid"  :subid("46_1259103982.97329") :method :outer("11_1259103982.97329")
+.sub "blockoid"  :subid("46_1259177761.22934") :method :outer("11_1259177761.22934")
 .annotate "line", 4
-    .local string rx216_tgt
-    .local int rx216_pos
-    .local int rx216_off
-    .local int rx216_eos
-    .local int rx216_rep
-    .local pmc rx216_cur
-    (rx216_cur, rx216_pos, rx216_tgt) = self."!cursor_start"()
-    rx216_cur."!cursor_debug"("START ", "blockoid")
-    .lex unicode:"$\x{a2}", rx216_cur
+    .local string rx219_tgt
+    .local int rx219_pos
+    .local int rx219_off
+    .local int rx219_eos
+    .local int rx219_rep
+    .local pmc rx219_cur
+    (rx219_cur, rx219_pos, rx219_tgt) = self."!cursor_start"()
+    rx219_cur."!cursor_debug"("START ", "blockoid")
+    .lex unicode:"$\x{a2}", rx219_cur
     .local pmc match
     .lex "$/", match
-    length rx216_eos, rx216_tgt
-    set rx216_off, 0
-    lt rx216_pos, 2, rx216_start
-    sub rx216_off, rx216_pos, 1
-    substr rx216_tgt, rx216_tgt, rx216_off
-  rx216_start:
+    length rx219_eos, rx219_tgt
+    set rx219_off, 0
+    lt rx219_pos, 2, rx219_start
+    sub rx219_off, rx219_pos, 1
+    substr rx219_tgt, rx219_tgt, rx219_off
+  rx219_start:
     $I10 = self.'from'()
-    ne $I10, -1, rxscan220_done
-    goto rxscan220_scan
-  rxscan220_loop:
-    ($P10) = rx216_cur."from"()
+    ne $I10, -1, rxscan223_done
+    goto rxscan223_scan
+  rxscan223_loop:
+    ($P10) = rx219_cur."from"()
     inc $P10
-    set rx216_pos, $P10
-    ge rx216_pos, rx216_eos, rxscan220_done
-  rxscan220_scan:
-    set_addr $I10, rxscan220_loop
-    rx216_cur."!mark_push"(0, rx216_pos, $I10)
-  rxscan220_done:
+    set rx219_pos, $P10
+    ge rx219_pos, rx219_eos, rxscan223_done
+  rxscan223_scan:
+    set_addr $I10, rxscan223_loop
+    rx219_cur."!mark_push"(0, rx219_pos, $I10)
+  rxscan223_done:
 .annotate "line", 132
   # rx subrule "finishpad" subtype=method negate=
-    rx216_cur."!cursor_pos"(rx216_pos)
-    $P10 = rx216_cur."finishpad"()
-    unless $P10, rx216_fail
-    rx216_pos = $P10."pos"()
+    rx219_cur."!cursor_pos"(rx219_pos)
+    $P10 = rx219_cur."finishpad"()
+    unless $P10, rx219_fail
+    rx219_pos = $P10."pos"()
 .annotate "line", 133
   # rx literal  "{"
-    add $I11, rx216_pos, 1
-    gt $I11, rx216_eos, rx216_fail
-    sub $I11, rx216_pos, rx216_off
-    substr $S10, rx216_tgt, $I11, 1
-    ne $S10, "{", rx216_fail
-    add rx216_pos, 1
+    add $I11, rx219_pos, 1
+    gt $I11, rx219_eos, rx219_fail
+    sub $I11, rx219_pos, rx219_off
+    substr $S10, rx219_tgt, $I11, 1
+    ne $S10, "{", rx219_fail
+    add rx219_pos, 1
   # rx subrule "statementlist" subtype=capture negate=
-    rx216_cur."!cursor_pos"(rx216_pos)
-    $P10 = rx216_cur."statementlist"()
-    unless $P10, rx216_fail
-    rx216_cur."!mark_push"(0, -1, 0, $P10)
+    rx219_cur."!cursor_pos"(rx219_pos)
+    $P10 = rx219_cur."statementlist"()
+    unless $P10, rx219_fail
+    rx219_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("statementlist")
-    rx216_pos = $P10."pos"()
-  alt221_0:
-    set_addr $I10, alt221_1
-    rx216_cur."!mark_push"(0, rx216_pos, $I10)
+    rx219_pos = $P10."pos"()
+  alt224_0:
+    set_addr $I10, alt224_1
+    rx219_cur."!mark_push"(0, rx219_pos, $I10)
   # rx literal  "}"
-    add $I11, rx216_pos, 1
-    gt $I11, rx216_eos, rx216_fail
-    sub $I11, rx216_pos, rx216_off
-    substr $S10, rx216_tgt, $I11, 1
-    ne $S10, "}", rx216_fail
-    add rx216_pos, 1
-    goto alt221_end
-  alt221_1:
+    add $I11, rx219_pos, 1
+    gt $I11, rx219_eos, rx219_fail
+    sub $I11, rx219_pos, rx219_off
+    substr $S10, rx219_tgt, $I11, 1
+    ne $S10, "}", rx219_fail
+    add rx219_pos, 1
+    goto alt224_end
+  alt224_1:
   # rx subrule "FAILGOAL" subtype=method negate=
-    rx216_cur."!cursor_pos"(rx216_pos)
-    $P10 = rx216_cur."FAILGOAL"("'}'")
-    unless $P10, rx216_fail
-    rx216_pos = $P10."pos"()
-  alt221_end:
+    rx219_cur."!cursor_pos"(rx219_pos)
+    $P10 = rx219_cur."FAILGOAL"("'}'")
+    unless $P10, rx219_fail
+    rx219_pos = $P10."pos"()
+  alt224_end:
 .annotate "line", 134
   # rx subrule "ENDSTMT" subtype=zerowidth negate=
-    rx216_cur."!cursor_pos"(rx216_pos)
-    $P10 = rx216_cur."ENDSTMT"()
-    unless $P10, rx216_fail
+    rx219_cur."!cursor_pos"(rx219_pos)
+    $P10 = rx219_cur."ENDSTMT"()
+    unless $P10, rx219_fail
 .annotate "line", 131
   # rx pass
-    rx216_cur."!cursor_pass"(rx216_pos, "blockoid")
-    rx216_cur."!cursor_debug"("PASS  ", "blockoid", " at pos=", rx216_pos)
-    .return (rx216_cur)
-  rx216_fail:
+    rx219_cur."!cursor_pass"(rx219_pos, "blockoid")
+    rx219_cur."!cursor_debug"("PASS  ", "blockoid", " at pos=", rx219_pos)
+    .return (rx219_cur)
+  rx219_fail:
 .annotate "line", 4
-    (rx216_rep, rx216_pos, $I10, $P10) = rx216_cur."!mark_fail"(0)
-    lt rx216_pos, -1, rx216_done
-    eq rx216_pos, -1, rx216_fail
+    (rx219_rep, rx219_pos, $I10, $P10) = rx219_cur."!mark_fail"(0)
+    lt rx219_pos, -1, rx219_done
+    eq rx219_pos, -1, rx219_fail
     jump $I10
-  rx216_done:
-    rx216_cur."!cursor_fail"()
-    rx216_cur."!cursor_debug"("FAIL  ", "blockoid")
-    .return (rx216_cur)
+  rx219_done:
+    rx219_cur."!cursor_fail"()
+    rx219_cur."!cursor_debug"("FAIL  ", "blockoid")
+    .return (rx219_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__blockoid"  :subid("47_1259103982.97329") :method
+.sub "!PREFIX__blockoid"  :subid("47_1259177761.22934") :method
 .annotate "line", 4
-    $P218 = self."!PREFIX__!subrule"("", "")
-    new $P219, "ResizablePMCArray"
-    push $P219, $P218
-    .return ($P219)
+    $P221 = self."!PREFIX__!subrule"("", "")
+    new $P222, "ResizablePMCArray"
+    push $P222, $P221
+    .return ($P222)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "newpad"  :subid("48_1259103982.97329") :method :outer("11_1259103982.97329")
+.sub "newpad"  :subid("48_1259177761.22934") :method :outer("11_1259177761.22934")
 .annotate "line", 4
-    .local string rx224_tgt
-    .local int rx224_pos
-    .local int rx224_off
-    .local int rx224_eos
-    .local int rx224_rep
-    .local pmc rx224_cur
-    (rx224_cur, rx224_pos, rx224_tgt) = self."!cursor_start"()
-    rx224_cur."!cursor_debug"("START ", "newpad")
-    .lex unicode:"$\x{a2}", rx224_cur
-    .local pmc match
-    .lex "$/", match
-    length rx224_eos, rx224_tgt
-    set rx224_off, 0
-    lt rx224_pos, 2, rx224_start
-    sub rx224_off, rx224_pos, 1
-    substr rx224_tgt, rx224_tgt, rx224_off
-  rx224_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan227_done
-    goto rxscan227_scan
-  rxscan227_loop:
-    ($P10) = rx224_cur."from"()
-    inc $P10
-    set rx224_pos, $P10
-    ge rx224_pos, rx224_eos, rxscan227_done
-  rxscan227_scan:
-    set_addr $I10, rxscan227_loop
-    rx224_cur."!mark_push"(0, rx224_pos, $I10)
-  rxscan227_done:
+    .local string rx227_tgt
+    .local int rx227_pos
+    .local int rx227_off
+    .local int rx227_eos
+    .local int rx227_rep
+    .local pmc rx227_cur
+    (rx227_cur, rx227_pos, rx227_tgt) = self."!cursor_start"()
+    rx227_cur."!cursor_debug"("START ", "newpad")
+    .lex unicode:"$\x{a2}", rx227_cur
+    .local pmc match
+    .lex "$/", match
+    length rx227_eos, rx227_tgt
+    set rx227_off, 0
+    lt rx227_pos, 2, rx227_start
+    sub rx227_off, rx227_pos, 1
+    substr rx227_tgt, rx227_tgt, rx227_off
+  rx227_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan230_done
+    goto rxscan230_scan
+  rxscan230_loop:
+    ($P10) = rx227_cur."from"()
+    inc $P10
+    set rx227_pos, $P10
+    ge rx227_pos, rx227_eos, rxscan230_done
+  rxscan230_scan:
+    set_addr $I10, rxscan230_loop
+    rx227_cur."!mark_push"(0, rx227_pos, $I10)
+  rxscan230_done:
 .annotate "line", 137
   # rx pass
-    rx224_cur."!cursor_pass"(rx224_pos, "newpad")
-    rx224_cur."!cursor_debug"("PASS  ", "newpad", " at pos=", rx224_pos)
-    .return (rx224_cur)
-  rx224_fail:
+    rx227_cur."!cursor_pass"(rx227_pos, "newpad")
+    rx227_cur."!cursor_debug"("PASS  ", "newpad", " at pos=", rx227_pos)
+    .return (rx227_cur)
+  rx227_fail:
 .annotate "line", 4
-    (rx224_rep, rx224_pos, $I10, $P10) = rx224_cur."!mark_fail"(0)
-    lt rx224_pos, -1, rx224_done
-    eq rx224_pos, -1, rx224_fail
+    (rx227_rep, rx227_pos, $I10, $P10) = rx227_cur."!mark_fail"(0)
+    lt rx227_pos, -1, rx227_done
+    eq rx227_pos, -1, rx227_fail
     jump $I10
-  rx224_done:
-    rx224_cur."!cursor_fail"()
-    rx224_cur."!cursor_debug"("FAIL  ", "newpad")
-    .return (rx224_cur)
+  rx227_done:
+    rx227_cur."!cursor_fail"()
+    rx227_cur."!cursor_debug"("FAIL  ", "newpad")
+    .return (rx227_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__newpad"  :subid("49_1259103982.97329") :method
+.sub "!PREFIX__newpad"  :subid("49_1259177761.22934") :method
 .annotate "line", 4
-    new $P226, "ResizablePMCArray"
-    push $P226, ""
-    .return ($P226)
+    new $P229, "ResizablePMCArray"
+    push $P229, ""
+    .return ($P229)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "finishpad"  :subid("50_1259103982.97329") :method :outer("11_1259103982.97329")
+.sub "finishpad"  :subid("50_1259177761.22934") :method :outer("11_1259177761.22934")
 .annotate "line", 4
-    .local string rx229_tgt
-    .local int rx229_pos
-    .local int rx229_off
-    .local int rx229_eos
-    .local int rx229_rep
-    .local pmc rx229_cur
-    (rx229_cur, rx229_pos, rx229_tgt) = self."!cursor_start"()
-    rx229_cur."!cursor_debug"("START ", "finishpad")
-    .lex unicode:"$\x{a2}", rx229_cur
-    .local pmc match
-    .lex "$/", match
-    length rx229_eos, rx229_tgt
-    set rx229_off, 0
-    lt rx229_pos, 2, rx229_start
-    sub rx229_off, rx229_pos, 1
-    substr rx229_tgt, rx229_tgt, rx229_off
-  rx229_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan232_done
-    goto rxscan232_scan
-  rxscan232_loop:
-    ($P10) = rx229_cur."from"()
-    inc $P10
-    set rx229_pos, $P10
-    ge rx229_pos, rx229_eos, rxscan232_done
-  rxscan232_scan:
-    set_addr $I10, rxscan232_loop
-    rx229_cur."!mark_push"(0, rx229_pos, $I10)
-  rxscan232_done:
+    .local string rx232_tgt
+    .local int rx232_pos
+    .local int rx232_off
+    .local int rx232_eos
+    .local int rx232_rep
+    .local pmc rx232_cur
+    (rx232_cur, rx232_pos, rx232_tgt) = self."!cursor_start"()
+    rx232_cur."!cursor_debug"("START ", "finishpad")
+    .lex unicode:"$\x{a2}", rx232_cur
+    .local pmc match
+    .lex "$/", match
+    length rx232_eos, rx232_tgt
+    set rx232_off, 0
+    lt rx232_pos, 2, rx232_start
+    sub rx232_off, rx232_pos, 1
+    substr rx232_tgt, rx232_tgt, rx232_off
+  rx232_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan235_done
+    goto rxscan235_scan
+  rxscan235_loop:
+    ($P10) = rx232_cur."from"()
+    inc $P10
+    set rx232_pos, $P10
+    ge rx232_pos, rx232_eos, rxscan235_done
+  rxscan235_scan:
+    set_addr $I10, rxscan235_loop
+    rx232_cur."!mark_push"(0, rx232_pos, $I10)
+  rxscan235_done:
 .annotate "line", 138
   # rx pass
-    rx229_cur."!cursor_pass"(rx229_pos, "finishpad")
-    rx229_cur."!cursor_debug"("PASS  ", "finishpad", " at pos=", rx229_pos)
-    .return (rx229_cur)
-  rx229_fail:
+    rx232_cur."!cursor_pass"(rx232_pos, "finishpad")
+    rx232_cur."!cursor_debug"("PASS  ", "finishpad", " at pos=", rx232_pos)
+    .return (rx232_cur)
+  rx232_fail:
 .annotate "line", 4
-    (rx229_rep, rx229_pos, $I10, $P10) = rx229_cur."!mark_fail"(0)
-    lt rx229_pos, -1, rx229_done
-    eq rx229_pos, -1, rx229_fail
+    (rx232_rep, rx232_pos, $I10, $P10) = rx232_cur."!mark_fail"(0)
+    lt rx232_pos, -1, rx232_done
+    eq rx232_pos, -1, rx232_fail
     jump $I10
-  rx229_done:
-    rx229_cur."!cursor_fail"()
-    rx229_cur."!cursor_debug"("FAIL  ", "finishpad")
-    .return (rx229_cur)
+  rx232_done:
+    rx232_cur."!cursor_fail"()
+    rx232_cur."!cursor_debug"("FAIL  ", "finishpad")
+    .return (rx232_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__finishpad"  :subid("51_1259103982.97329") :method
+.sub "!PREFIX__finishpad"  :subid("51_1259177761.22934") :method
 .annotate "line", 4
-    new $P231, "ResizablePMCArray"
-    push $P231, ""
-    .return ($P231)
+    new $P234, "ResizablePMCArray"
+    push $P234, ""
+    .return ($P234)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "terminator"  :subid("52_1259103982.97329") :method
+.sub "terminator"  :subid("52_1259177761.22934") :method
 .annotate "line", 140
-    $P234 = self."!protoregex"("terminator")
-    .return ($P234)
+    $P237 = self."!protoregex"("terminator")
+    .return ($P237)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__terminator"  :subid("53_1259103982.97329") :method
+.sub "!PREFIX__terminator"  :subid("53_1259177761.22934") :method
 .annotate "line", 140
-    $P236 = self."!PREFIX__!protoregex"("terminator")
-    .return ($P236)
+    $P239 = self."!PREFIX__!protoregex"("terminator")
+    .return ($P239)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "terminator:sym<;>"  :subid("54_1259103982.97329") :method :outer("11_1259103982.97329")
+.sub "terminator:sym<;>"  :subid("54_1259177761.22934") :method :outer("11_1259177761.22934")
 .annotate "line", 4
-    .local string rx238_tgt
-    .local int rx238_pos
-    .local int rx238_off
-    .local int rx238_eos
-    .local int rx238_rep
-    .local pmc rx238_cur
-    (rx238_cur, rx238_pos, rx238_tgt) = self."!cursor_start"()
-    rx238_cur."!cursor_debug"("START ", "terminator:sym<;>")
-    .lex unicode:"$\x{a2}", rx238_cur
-    .local pmc match
-    .lex "$/", match
-    length rx238_eos, rx238_tgt
-    set rx238_off, 0
-    lt rx238_pos, 2, rx238_start
-    sub rx238_off, rx238_pos, 1
-    substr rx238_tgt, rx238_tgt, rx238_off
-  rx238_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan241_done
-    goto rxscan241_scan
-  rxscan241_loop:
-    ($P10) = rx238_cur."from"()
-    inc $P10
-    set rx238_pos, $P10
-    ge rx238_pos, rx238_eos, rxscan241_done
-  rxscan241_scan:
-    set_addr $I10, rxscan241_loop
-    rx238_cur."!mark_push"(0, rx238_pos, $I10)
-  rxscan241_done:
+    .local string rx241_tgt
+    .local int rx241_pos
+    .local int rx241_off
+    .local int rx241_eos
+    .local int rx241_rep
+    .local pmc rx241_cur
+    (rx241_cur, rx241_pos, rx241_tgt) = self."!cursor_start"()
+    rx241_cur."!cursor_debug"("START ", "terminator:sym<;>")
+    .lex unicode:"$\x{a2}", rx241_cur
+    .local pmc match
+    .lex "$/", match
+    length rx241_eos, rx241_tgt
+    set rx241_off, 0
+    lt rx241_pos, 2, rx241_start
+    sub rx241_off, rx241_pos, 1
+    substr rx241_tgt, rx241_tgt, rx241_off
+  rx241_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan244_done
+    goto rxscan244_scan
+  rxscan244_loop:
+    ($P10) = rx241_cur."from"()
+    inc $P10
+    set rx241_pos, $P10
+    ge rx241_pos, rx241_eos, rxscan244_done
+  rxscan244_scan:
+    set_addr $I10, rxscan244_loop
+    rx241_cur."!mark_push"(0, rx241_pos, $I10)
+  rxscan244_done:
 .annotate "line", 142
   # rx enumcharlist negate=0 zerowidth
-    ge rx238_pos, rx238_eos, rx238_fail
-    sub $I10, rx238_pos, rx238_off
-    substr $S10, rx238_tgt, $I10, 1
+    ge rx241_pos, rx241_eos, rx241_fail
+    sub $I10, rx241_pos, rx241_off
+    substr $S10, rx241_tgt, $I10, 1
     index $I11, ";", $S10
-    lt $I11, 0, rx238_fail
+    lt $I11, 0, rx241_fail
   # rx pass
-    rx238_cur."!cursor_pass"(rx238_pos, "terminator:sym<;>")
-    rx238_cur."!cursor_debug"("PASS  ", "terminator:sym<;>", " at pos=", rx238_pos)
-    .return (rx238_cur)
-  rx238_fail:
+    rx241_cur."!cursor_pass"(rx241_pos, "terminator:sym<;>")
+    rx241_cur."!cursor_debug"("PASS  ", "terminator:sym<;>", " at pos=", rx241_pos)
+    .return (rx241_cur)
+  rx241_fail:
 .annotate "line", 4
-    (rx238_rep, rx238_pos, $I10, $P10) = rx238_cur."!mark_fail"(0)
-    lt rx238_pos, -1, rx238_done
-    eq rx238_pos, -1, rx238_fail
+    (rx241_rep, rx241_pos, $I10, $P10) = rx241_cur."!mark_fail"(0)
+    lt rx241_pos, -1, rx241_done
+    eq rx241_pos, -1, rx241_fail
     jump $I10
-  rx238_done:
-    rx238_cur."!cursor_fail"()
-    rx238_cur."!cursor_debug"("FAIL  ", "terminator:sym<;>")
-    .return (rx238_cur)
+  rx241_done:
+    rx241_cur."!cursor_fail"()
+    rx241_cur."!cursor_debug"("FAIL  ", "terminator:sym<;>")
+    .return (rx241_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__terminator:sym<;>"  :subid("55_1259103982.97329") :method
+.sub "!PREFIX__terminator:sym<;>"  :subid("55_1259177761.22934") :method
 .annotate "line", 4
-    new $P240, "ResizablePMCArray"
-    push $P240, ";"
-    .return ($P240)
+    new $P243, "ResizablePMCArray"
+    push $P243, ";"
+    .return ($P243)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "terminator:sym<}>"  :subid("56_1259103982.97329") :method :outer("11_1259103982.97329")
+.sub "terminator:sym<}>"  :subid("56_1259177761.22934") :method :outer("11_1259177761.22934")
 .annotate "line", 4
-    .local string rx243_tgt
-    .local int rx243_pos
-    .local int rx243_off
-    .local int rx243_eos
-    .local int rx243_rep
-    .local pmc rx243_cur
-    (rx243_cur, rx243_pos, rx243_tgt) = self."!cursor_start"()
-    rx243_cur."!cursor_debug"("START ", "terminator:sym<}>")
-    .lex unicode:"$\x{a2}", rx243_cur
+    .local string rx246_tgt
+    .local int rx246_pos
+    .local int rx246_off
+    .local int rx246_eos
+    .local int rx246_rep
+    .local pmc rx246_cur
+    (rx246_cur, rx246_pos, rx246_tgt) = self."!cursor_start"()
+    rx246_cur."!cursor_debug"("START ", "terminator:sym<}>")
+    .lex unicode:"$\x{a2}", rx246_cur
     .local pmc match
     .lex "$/", match
-    length rx243_eos, rx243_tgt
-    set rx243_off, 0
-    lt rx243_pos, 2, rx243_start
-    sub rx243_off, rx243_pos, 1
-    substr rx243_tgt, rx243_tgt, rx243_off
-  rx243_start:
+    length rx246_eos, rx246_tgt
+    set rx246_off, 0
+    lt rx246_pos, 2, rx246_start
+    sub rx246_off, rx246_pos, 1
+    substr rx246_tgt, rx246_tgt, rx246_off
+  rx246_start:
     $I10 = self.'from'()
-    ne $I10, -1, rxscan246_done
-    goto rxscan246_scan
-  rxscan246_loop:
-    ($P10) = rx243_cur."from"()
+    ne $I10, -1, rxscan249_done
+    goto rxscan249_scan
+  rxscan249_loop:
+    ($P10) = rx246_cur."from"()
     inc $P10
-    set rx243_pos, $P10
-    ge rx243_pos, rx243_eos, rxscan246_done
-  rxscan246_scan:
-    set_addr $I10, rxscan246_loop
-    rx243_cur."!mark_push"(0, rx243_pos, $I10)
-  rxscan246_done:
+    set rx246_pos, $P10
+    ge rx246_pos, rx246_eos, rxscan249_done
+  rxscan249_scan:
+    set_addr $I10, rxscan249_loop
+    rx246_cur."!mark_push"(0, rx246_pos, $I10)
+  rxscan249_done:
 .annotate "line", 143
   # rx enumcharlist negate=0 zerowidth
-    ge rx243_pos, rx243_eos, rx243_fail
-    sub $I10, rx243_pos, rx243_off
-    substr $S10, rx243_tgt, $I10, 1
+    ge rx246_pos, rx246_eos, rx246_fail
+    sub $I10, rx246_pos, rx246_off
+    substr $S10, rx246_tgt, $I10, 1
     index $I11, "}", $S10
-    lt $I11, 0, rx243_fail
+    lt $I11, 0, rx246_fail
   # rx pass
-    rx243_cur."!cursor_pass"(rx243_pos, "terminator:sym<}>")
-    rx243_cur."!cursor_debug"("PASS  ", "terminator:sym<}>", " at pos=", rx243_pos)
-    .return (rx243_cur)
-  rx243_fail:
+    rx246_cur."!cursor_pass"(rx246_pos, "terminator:sym<}>")
+    rx246_cur."!cursor_debug"("PASS  ", "terminator:sym<}>", " at pos=", rx246_pos)
+    .return (rx246_cur)
+  rx246_fail:
 .annotate "line", 4
-    (rx243_rep, rx243_pos, $I10, $P10) = rx243_cur."!mark_fail"(0)
-    lt rx243_pos, -1, rx243_done
-    eq rx243_pos, -1, rx243_fail
+    (rx246_rep, rx246_pos, $I10, $P10) = rx246_cur."!mark_fail"(0)
+    lt rx246_pos, -1, rx246_done
+    eq rx246_pos, -1, rx246_fail
     jump $I10
-  rx243_done:
-    rx243_cur."!cursor_fail"()
-    rx243_cur."!cursor_debug"("FAIL  ", "terminator:sym<}>")
-    .return (rx243_cur)
+  rx246_done:
+    rx246_cur."!cursor_fail"()
+    rx246_cur."!cursor_debug"("FAIL  ", "terminator:sym<}>")
+    .return (rx246_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__terminator:sym<}>"  :subid("57_1259103982.97329") :method
+.sub "!PREFIX__terminator:sym<}>"  :subid("57_1259177761.22934") :method
 .annotate "line", 4
-    new $P245, "ResizablePMCArray"
-    push $P245, "}"
-    .return ($P245)
+    new $P248, "ResizablePMCArray"
+    push $P248, "}"
+    .return ($P248)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "statement_control"  :subid("58_1259103982.97329") :method
+.sub "statement_control"  :subid("58_1259177761.22934") :method
 .annotate "line", 147
-    $P248 = self."!protoregex"("statement_control")
-    .return ($P248)
+    $P251 = self."!protoregex"("statement_control")
+    .return ($P251)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__statement_control"  :subid("59_1259103982.97329") :method
+.sub "!PREFIX__statement_control"  :subid("59_1259177761.22934") :method
 .annotate "line", 147
-    $P250 = self."!PREFIX__!protoregex"("statement_control")
-    .return ($P250)
+    $P253 = self."!PREFIX__!protoregex"("statement_control")
+    .return ($P253)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "statement_control:sym<if>"  :subid("60_1259103982.97329") :method :outer("11_1259103982.97329")
+.sub "statement_control:sym<if>"  :subid("60_1259177761.22934") :method :outer("11_1259177761.22934")
 .annotate "line", 4
-    .local string rx252_tgt
-    .local int rx252_pos
-    .local int rx252_off
-    .local int rx252_eos
-    .local int rx252_rep
-    .local pmc rx252_cur
-    (rx252_cur, rx252_pos, rx252_tgt) = self."!cursor_start"()
-    rx252_cur."!cursor_debug"("START ", "statement_control:sym<if>")
-    rx252_cur."!cursor_caparray"("else", "xblock")
-    .lex unicode:"$\x{a2}", rx252_cur
-    .local pmc match
-    .lex "$/", match
-    length rx252_eos, rx252_tgt
-    set rx252_off, 0
-    lt rx252_pos, 2, rx252_start
-    sub rx252_off, rx252_pos, 1
-    substr rx252_tgt, rx252_tgt, rx252_off
-  rx252_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan255_done
-    goto rxscan255_scan
-  rxscan255_loop:
-    ($P10) = rx252_cur."from"()
-    inc $P10
-    set rx252_pos, $P10
-    ge rx252_pos, rx252_eos, rxscan255_done
-  rxscan255_scan:
-    set_addr $I10, rxscan255_loop
-    rx252_cur."!mark_push"(0, rx252_pos, $I10)
-  rxscan255_done:
+    .local string rx255_tgt
+    .local int rx255_pos
+    .local int rx255_off
+    .local int rx255_eos
+    .local int rx255_rep
+    .local pmc rx255_cur
+    (rx255_cur, rx255_pos, rx255_tgt) = self."!cursor_start"()
+    rx255_cur."!cursor_debug"("START ", "statement_control:sym<if>")
+    rx255_cur."!cursor_caparray"("else", "xblock")
+    .lex unicode:"$\x{a2}", rx255_cur
+    .local pmc match
+    .lex "$/", match
+    length rx255_eos, rx255_tgt
+    set rx255_off, 0
+    lt rx255_pos, 2, rx255_start
+    sub rx255_off, rx255_pos, 1
+    substr rx255_tgt, rx255_tgt, rx255_off
+  rx255_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan258_done
+    goto rxscan258_scan
+  rxscan258_loop:
+    ($P10) = rx255_cur."from"()
+    inc $P10
+    set rx255_pos, $P10
+    ge rx255_pos, rx255_eos, rxscan258_done
+  rxscan258_scan:
+    set_addr $I10, rxscan258_loop
+    rx255_cur."!mark_push"(0, rx255_pos, $I10)
+  rxscan258_done:
 .annotate "line", 150
   # rx subcapture "sym"
-    set_addr $I10, rxcap_256_fail
-    rx252_cur."!mark_push"(0, rx252_pos, $I10)
+    set_addr $I10, rxcap_259_fail
+    rx255_cur."!mark_push"(0, rx255_pos, $I10)
   # rx literal  "if"
-    add $I11, rx252_pos, 2
-    gt $I11, rx252_eos, rx252_fail
-    sub $I11, rx252_pos, rx252_off
-    substr $S10, rx252_tgt, $I11, 2
-    ne $S10, "if", rx252_fail
-    add rx252_pos, 2
-    set_addr $I10, rxcap_256_fail
-    ($I12, $I11) = rx252_cur."!mark_peek"($I10)
-    rx252_cur."!cursor_pos"($I11)
-    ($P10) = rx252_cur."!cursor_start"()
-    $P10."!cursor_pass"(rx252_pos, "")
-    rx252_cur."!mark_push"(0, -1, 0, $P10)
+    add $I11, rx255_pos, 2
+    gt $I11, rx255_eos, rx255_fail
+    sub $I11, rx255_pos, rx255_off
+    substr $S10, rx255_tgt, $I11, 2
+    ne $S10, "if", rx255_fail
+    add rx255_pos, 2
+    set_addr $I10, rxcap_259_fail
+    ($I12, $I11) = rx255_cur."!mark_peek"($I10)
+    rx255_cur."!cursor_pos"($I11)
+    ($P10) = rx255_cur."!cursor_start"()
+    $P10."!cursor_pass"(rx255_pos, "")
+    rx255_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("sym")
-    goto rxcap_256_done
-  rxcap_256_fail:
-    goto rx252_fail
-  rxcap_256_done:
+    goto rxcap_259_done
+  rxcap_259_fail:
+    goto rx255_fail
+  rxcap_259_done:
   # rx charclass s
-    ge rx252_pos, rx252_eos, rx252_fail
-    sub $I10, rx252_pos, rx252_off
-    is_cclass $I11, 32, rx252_tgt, $I10
-    unless $I11, rx252_fail
-    inc rx252_pos
-  # rx subrule "ws" subtype=method negate=
-    rx252_cur."!cursor_pos"(rx252_pos)
-    $P10 = rx252_cur."ws"()
-    unless $P10, rx252_fail
-    rx252_pos = $P10."pos"()
+    ge rx255_pos, rx255_eos, rx255_fail
+    sub $I10, rx255_pos, rx255_off
+    is_cclass $I11, 32, rx255_tgt, $I10
+    unless $I11, rx255_fail
+    inc rx255_pos
+  # rx subrule "ws" subtype=method negate=
+    rx255_cur."!cursor_pos"(rx255_pos)
+    $P10 = rx255_cur."ws"()
+    unless $P10, rx255_fail
+    rx255_pos = $P10."pos"()
 .annotate "line", 151
   # rx subrule "xblock" subtype=capture negate=
-    rx252_cur."!cursor_pos"(rx252_pos)
-    $P10 = rx252_cur."xblock"()
-    unless $P10, rx252_fail
-    rx252_cur."!mark_push"(0, -1, 0, $P10)
+    rx255_cur."!cursor_pos"(rx255_pos)
+    $P10 = rx255_cur."xblock"()
+    unless $P10, rx255_fail
+    rx255_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("xblock")
-    rx252_pos = $P10."pos"()
+    rx255_pos = $P10."pos"()
   # rx subrule "ws" subtype=method negate=
-    rx252_cur."!cursor_pos"(rx252_pos)
-    $P10 = rx252_cur."ws"()
-    unless $P10, rx252_fail
-    rx252_pos = $P10."pos"()
+    rx255_cur."!cursor_pos"(rx255_pos)
+    $P10 = rx255_cur."ws"()
+    unless $P10, rx255_fail
+    rx255_pos = $P10."pos"()
 .annotate "line", 152
-  # rx rxquantr259 ** 0..*
-    set_addr $I263, rxquantr259_done
-    rx252_cur."!mark_push"(0, rx252_pos, $I263)
-  rxquantr259_loop:
-  # rx subrule "ws" subtype=method negate=
-    rx252_cur."!cursor_pos"(rx252_pos)
-    $P10 = rx252_cur."ws"()
-    unless $P10, rx252_fail
-    rx252_pos = $P10."pos"()
+  # rx rxquantr262 ** 0..*
+    set_addr $I266, rxquantr262_done
+    rx255_cur."!mark_push"(0, rx255_pos, $I266)
+  rxquantr262_loop:
+  # rx subrule "ws" subtype=method negate=
+    rx255_cur."!cursor_pos"(rx255_pos)
+    $P10 = rx255_cur."ws"()
+    unless $P10, rx255_fail
+    rx255_pos = $P10."pos"()
   # rx literal  "elsif"
-    add $I11, rx252_pos, 5
-    gt $I11, rx252_eos, rx252_fail
-    sub $I11, rx252_pos, rx252_off
-    substr $S10, rx252_tgt, $I11, 5
-    ne $S10, "elsif", rx252_fail
-    add rx252_pos, 5
+    add $I11, rx255_pos, 5
+    gt $I11, rx255_eos, rx255_fail
+    sub $I11, rx255_pos, rx255_off
+    substr $S10, rx255_tgt, $I11, 5
+    ne $S10, "elsif", rx255_fail
+    add rx255_pos, 5
   # rx charclass s
-    ge rx252_pos, rx252_eos, rx252_fail
-    sub $I10, rx252_pos, rx252_off
-    is_cclass $I11, 32, rx252_tgt, $I10
-    unless $I11, rx252_fail
-    inc rx252_pos
-  # rx subrule "ws" subtype=method negate=
-    rx252_cur."!cursor_pos"(rx252_pos)
-    $P10 = rx252_cur."ws"()
-    unless $P10, rx252_fail
-    rx252_pos = $P10."pos"()
+    ge rx255_pos, rx255_eos, rx255_fail
+    sub $I10, rx255_pos, rx255_off
+    is_cclass $I11, 32, rx255_tgt, $I10
+    unless $I11, rx255_fail
+    inc rx255_pos
+  # rx subrule "ws" subtype=method negate=
+    rx255_cur."!cursor_pos"(rx255_pos)
+    $P10 = rx255_cur."ws"()
+    unless $P10, rx255_fail
+    rx255_pos = $P10."pos"()
   # rx subrule "xblock" subtype=capture negate=
-    rx252_cur."!cursor_pos"(rx252_pos)
-    $P10 = rx252_cur."xblock"()
-    unless $P10, rx252_fail
-    rx252_cur."!mark_push"(0, -1, 0, $P10)
+    rx255_cur."!cursor_pos"(rx255_pos)
+    $P10 = rx255_cur."xblock"()
+    unless $P10, rx255_fail
+    rx255_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("xblock")
-    rx252_pos = $P10."pos"()
+    rx255_pos = $P10."pos"()
   # rx subrule "ws" subtype=method negate=
-    rx252_cur."!cursor_pos"(rx252_pos)
-    $P10 = rx252_cur."ws"()
-    unless $P10, rx252_fail
-    rx252_pos = $P10."pos"()
-    (rx252_rep) = rx252_cur."!mark_commit"($I263)
-    rx252_cur."!mark_push"(rx252_rep, rx252_pos, $I263)
-    goto rxquantr259_loop
-  rxquantr259_done:
-  # rx subrule "ws" subtype=method negate=
-    rx252_cur."!cursor_pos"(rx252_pos)
-    $P10 = rx252_cur."ws"()
-    unless $P10, rx252_fail
-    rx252_pos = $P10."pos"()
+    rx255_cur."!cursor_pos"(rx255_pos)
+    $P10 = rx255_cur."ws"()
+    unless $P10, rx255_fail
+    rx255_pos = $P10."pos"()
+    (rx255_rep) = rx255_cur."!mark_commit"($I266)
+    rx255_cur."!mark_push"(rx255_rep, rx255_pos, $I266)
+    goto rxquantr262_loop
+  rxquantr262_done:
+  # rx subrule "ws" subtype=method negate=
+    rx255_cur."!cursor_pos"(rx255_pos)
+    $P10 = rx255_cur."ws"()
+    unless $P10, rx255_fail
+    rx255_pos = $P10."pos"()
 .annotate "line", 153
-  # rx rxquantr265 ** 0..1
-    set_addr $I269, rxquantr265_done
-    rx252_cur."!mark_push"(0, rx252_pos, $I269)
-  rxquantr265_loop:
-  # rx subrule "ws" subtype=method negate=
-    rx252_cur."!cursor_pos"(rx252_pos)
-    $P10 = rx252_cur."ws"()
-    unless $P10, rx252_fail
-    rx252_pos = $P10."pos"()
+  # rx rxquantr268 ** 0..1
+    set_addr $I272, rxquantr268_done
+    rx255_cur."!mark_push"(0, rx255_pos, $I272)
+  rxquantr268_loop:
+  # rx subrule "ws" subtype=method negate=
+    rx255_cur."!cursor_pos"(rx255_pos)
+    $P10 = rx255_cur."ws"()
+    unless $P10, rx255_fail
+    rx255_pos = $P10."pos"()
   # rx literal  "else"
-    add $I11, rx252_pos, 4
-    gt $I11, rx252_eos, rx252_fail
-    sub $I11, rx252_pos, rx252_off
-    substr $S10, rx252_tgt, $I11, 4
-    ne $S10, "else", rx252_fail
-    add rx252_pos, 4
+    add $I11, rx255_pos, 4
+    gt $I11, rx255_eos, rx255_fail
+    sub $I11, rx255_pos, rx255_off
+    substr $S10, rx255_tgt, $I11, 4
+    ne $S10, "else", rx255_fail
+    add rx255_pos, 4
   # rx charclass s
-    ge rx252_pos, rx252_eos, rx252_fail
-    sub $I10, rx252_pos, rx252_off
-    is_cclass $I11, 32, rx252_tgt, $I10
-    unless $I11, rx252_fail
-    inc rx252_pos
-  # rx subrule "ws" subtype=method negate=
-    rx252_cur."!cursor_pos"(rx252_pos)
-    $P10 = rx252_cur."ws"()
-    unless $P10, rx252_fail
-    rx252_pos = $P10."pos"()
+    ge rx255_pos, rx255_eos, rx255_fail
+    sub $I10, rx255_pos, rx255_off
+    is_cclass $I11, 32, rx255_tgt, $I10
+    unless $I11, rx255_fail
+    inc rx255_pos
+  # rx subrule "ws" subtype=method negate=
+    rx255_cur."!cursor_pos"(rx255_pos)
+    $P10 = rx255_cur."ws"()
+    unless $P10, rx255_fail
+    rx255_pos = $P10."pos"()
   # rx subrule "pblock" subtype=capture negate=
-    rx252_cur."!cursor_pos"(rx252_pos)
-    $P10 = rx252_cur."pblock"()
-    unless $P10, rx252_fail
-    rx252_cur."!mark_push"(0, -1, 0, $P10)
+    rx255_cur."!cursor_pos"(rx255_pos)
+    $P10 = rx255_cur."pblock"()
+    unless $P10, rx255_fail
+    rx255_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("else")
-    rx252_pos = $P10."pos"()
+    rx255_pos = $P10."pos"()
   # rx subrule "ws" subtype=method negate=
-    rx252_cur."!cursor_pos"(rx252_pos)
-    $P10 = rx252_cur."ws"()
-    unless $P10, rx252_fail
-    rx252_pos = $P10."pos"()
-    (rx252_rep) = rx252_cur."!mark_commit"($I269)
-  rxquantr265_done:
-  # rx subrule "ws" subtype=method negate=
-    rx252_cur."!cursor_pos"(rx252_pos)
-    $P10 = rx252_cur."ws"()
-    unless $P10, rx252_fail
-    rx252_pos = $P10."pos"()
+    rx255_cur."!cursor_pos"(rx255_pos)
+    $P10 = rx255_cur."ws"()
+    unless $P10, rx255_fail
+    rx255_pos = $P10."pos"()
+    (rx255_rep) = rx255_cur."!mark_commit"($I272)
+  rxquantr268_done:
+  # rx subrule "ws" subtype=method negate=
+    rx255_cur."!cursor_pos"(rx255_pos)
+    $P10 = rx255_cur."ws"()
+    unless $P10, rx255_fail
+    rx255_pos = $P10."pos"()
 .annotate "line", 149
   # rx pass
-    rx252_cur."!cursor_pass"(rx252_pos, "statement_control:sym<if>")
-    rx252_cur."!cursor_debug"("PASS  ", "statement_control:sym<if>", " at pos=", rx252_pos)
-    .return (rx252_cur)
-  rx252_fail:
+    rx255_cur."!cursor_pass"(rx255_pos, "statement_control:sym<if>")
+    rx255_cur."!cursor_debug"("PASS  ", "statement_control:sym<if>", " at pos=", rx255_pos)
+    .return (rx255_cur)
+  rx255_fail:
 .annotate "line", 4
-    (rx252_rep, rx252_pos, $I10, $P10) = rx252_cur."!mark_fail"(0)
-    lt rx252_pos, -1, rx252_done
-    eq rx252_pos, -1, rx252_fail
+    (rx255_rep, rx255_pos, $I10, $P10) = rx255_cur."!mark_fail"(0)
+    lt rx255_pos, -1, rx255_done
+    eq rx255_pos, -1, rx255_fail
     jump $I10
-  rx252_done:
-    rx252_cur."!cursor_fail"()
-    rx252_cur."!cursor_debug"("FAIL  ", "statement_control:sym<if>")
-    .return (rx252_cur)
+  rx255_done:
+    rx255_cur."!cursor_fail"()
+    rx255_cur."!cursor_debug"("FAIL  ", "statement_control:sym<if>")
+    .return (rx255_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__statement_control:sym<if>"  :subid("61_1259103982.97329") :method
+.sub "!PREFIX__statement_control:sym<if>"  :subid("61_1259177761.22934") :method
 .annotate "line", 4
-    new $P254, "ResizablePMCArray"
-    push $P254, "if"
-    .return ($P254)
+    new $P257, "ResizablePMCArray"
+    push $P257, "if"
+    .return ($P257)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "statement_control:sym<unless>"  :subid("62_1259103982.97329") :method :outer("11_1259103982.97329")
+.sub "statement_control:sym<unless>"  :subid("62_1259177761.22934") :method :outer("11_1259177761.22934")
 .annotate "line", 4
-    .const 'Sub' $P282 = "64_1259103982.97329" 
-    capture_lex $P282
-    .local string rx272_tgt
-    .local int rx272_pos
-    .local int rx272_off
-    .local int rx272_eos
-    .local int rx272_rep
-    .local pmc rx272_cur
-    (rx272_cur, rx272_pos, rx272_tgt) = self."!cursor_start"()
-    rx272_cur."!cursor_debug"("START ", "statement_control:sym<unless>")
-    .lex unicode:"$\x{a2}", rx272_cur
+    .const 'Sub' $P285 = "64_1259177761.22934" 
+    capture_lex $P285
+    .local string rx275_tgt
+    .local int rx275_pos
+    .local int rx275_off
+    .local int rx275_eos
+    .local int rx275_rep
+    .local pmc rx275_cur
+    (rx275_cur, rx275_pos, rx275_tgt) = self."!cursor_start"()
+    rx275_cur."!cursor_debug"("START ", "statement_control:sym<unless>")
+    .lex unicode:"$\x{a2}", rx275_cur
     .local pmc match
     .lex "$/", match
-    length rx272_eos, rx272_tgt
-    set rx272_off, 0
-    lt rx272_pos, 2, rx272_start
-    sub rx272_off, rx272_pos, 1
-    substr rx272_tgt, rx272_tgt, rx272_off
-  rx272_start:
+    length rx275_eos, rx275_tgt
+    set rx275_off, 0
+    lt rx275_pos, 2, rx275_start
+    sub rx275_off, rx275_pos, 1
+    substr rx275_tgt, rx275_tgt, rx275_off
+  rx275_start:
     $I10 = self.'from'()
-    ne $I10, -1, rxscan275_done
-    goto rxscan275_scan
-  rxscan275_loop:
-    ($P10) = rx272_cur."from"()
+    ne $I10, -1, rxscan278_done
+    goto rxscan278_scan
+  rxscan278_loop:
+    ($P10) = rx275_cur."from"()
     inc $P10
-    set rx272_pos, $P10
-    ge rx272_pos, rx272_eos, rxscan275_done
-  rxscan275_scan:
-    set_addr $I10, rxscan275_loop
-    rx272_cur."!mark_push"(0, rx272_pos, $I10)
-  rxscan275_done:
+    set rx275_pos, $P10
+    ge rx275_pos, rx275_eos, rxscan278_done
+  rxscan278_scan:
+    set_addr $I10, rxscan278_loop
+    rx275_cur."!mark_push"(0, rx275_pos, $I10)
+  rxscan278_done:
 .annotate "line", 157
   # rx subcapture "sym"
-    set_addr $I10, rxcap_276_fail
-    rx272_cur."!mark_push"(0, rx272_pos, $I10)
+    set_addr $I10, rxcap_279_fail
+    rx275_cur."!mark_push"(0, rx275_pos, $I10)
   # rx literal  "unless"
-    add $I11, rx272_pos, 6
-    gt $I11, rx272_eos, rx272_fail
-    sub $I11, rx272_pos, rx272_off
-    substr $S10, rx272_tgt, $I11, 6
-    ne $S10, "unless", rx272_fail
-    add rx272_pos, 6
-    set_addr $I10, rxcap_276_fail
-    ($I12, $I11) = rx272_cur."!mark_peek"($I10)
-    rx272_cur."!cursor_pos"($I11)
-    ($P10) = rx272_cur."!cursor_start"()
-    $P10."!cursor_pass"(rx272_pos, "")
-    rx272_cur."!mark_push"(0, -1, 0, $P10)
+    add $I11, rx275_pos, 6
+    gt $I11, rx275_eos, rx275_fail
+    sub $I11, rx275_pos, rx275_off
+    substr $S10, rx275_tgt, $I11, 6
+    ne $S10, "unless", rx275_fail
+    add rx275_pos, 6
+    set_addr $I10, rxcap_279_fail
+    ($I12, $I11) = rx275_cur."!mark_peek"($I10)
+    rx275_cur."!cursor_pos"($I11)
+    ($P10) = rx275_cur."!cursor_start"()
+    $P10."!cursor_pass"(rx275_pos, "")
+    rx275_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("sym")
-    goto rxcap_276_done
-  rxcap_276_fail:
-    goto rx272_fail
-  rxcap_276_done:
+    goto rxcap_279_done
+  rxcap_279_fail:
+    goto rx275_fail
+  rxcap_279_done:
   # rx charclass s
-    ge rx272_pos, rx272_eos, rx272_fail
-    sub $I10, rx272_pos, rx272_off
-    is_cclass $I11, 32, rx272_tgt, $I10
-    unless $I11, rx272_fail
-    inc rx272_pos
-  # rx subrule "ws" subtype=method negate=
-    rx272_cur."!cursor_pos"(rx272_pos)
-    $P10 = rx272_cur."ws"()
-    unless $P10, rx272_fail
-    rx272_pos = $P10."pos"()
+    ge rx275_pos, rx275_eos, rx275_fail
+    sub $I10, rx275_pos, rx275_off
+    is_cclass $I11, 32, rx275_tgt, $I10
+    unless $I11, rx275_fail
+    inc rx275_pos
+  # rx subrule "ws" subtype=method negate=
+    rx275_cur."!cursor_pos"(rx275_pos)
+    $P10 = rx275_cur."ws"()
+    unless $P10, rx275_fail
+    rx275_pos = $P10."pos"()
 .annotate "line", 158
   # rx subrule "xblock" subtype=capture negate=
-    rx272_cur."!cursor_pos"(rx272_pos)
-    $P10 = rx272_cur."xblock"()
-    unless $P10, rx272_fail
-    rx272_cur."!mark_push"(0, -1, 0, $P10)
+    rx275_cur."!cursor_pos"(rx275_pos)
+    $P10 = rx275_cur."xblock"()
+    unless $P10, rx275_fail
+    rx275_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("xblock")
-    rx272_pos = $P10."pos"()
+    rx275_pos = $P10."pos"()
   # rx subrule "ws" subtype=method negate=
-    rx272_cur."!cursor_pos"(rx272_pos)
-    $P10 = rx272_cur."ws"()
-    unless $P10, rx272_fail
-    rx272_pos = $P10."pos"()
-  alt279_0:
+    rx275_cur."!cursor_pos"(rx275_pos)
+    $P10 = rx275_cur."ws"()
+    unless $P10, rx275_fail
+    rx275_pos = $P10."pos"()
+  alt282_0:
 .annotate "line", 159
-    set_addr $I10, alt279_1
-    rx272_cur."!mark_push"(0, rx272_pos, $I10)
+    set_addr $I10, alt282_1
+    rx275_cur."!mark_push"(0, rx275_pos, $I10)
   # rx subrule "ws" subtype=method negate=
-    rx272_cur."!cursor_pos"(rx272_pos)
-    $P10 = rx272_cur."ws"()
-    unless $P10, rx272_fail
-    rx272_pos = $P10."pos"()
+    rx275_cur."!cursor_pos"(rx275_pos)
+    $P10 = rx275_cur."ws"()
+    unless $P10, rx275_fail
+    rx275_pos = $P10."pos"()
   # rx subrule "before" subtype=zerowidth negate=1
-    rx272_cur."!cursor_pos"(rx272_pos)
-    .const 'Sub' $P282 = "64_1259103982.97329" 
-    capture_lex $P282
-    $P10 = rx272_cur."before"($P282)
-    if $P10, rx272_fail
-  # rx subrule "ws" subtype=method negate=
-    rx272_cur."!cursor_pos"(rx272_pos)
-    $P10 = rx272_cur."ws"()
-    unless $P10, rx272_fail
-    rx272_pos = $P10."pos"()
-    goto alt279_end
-  alt279_1:
-  # rx subrule "ws" subtype=method negate=
-    rx272_cur."!cursor_pos"(rx272_pos)
-    $P10 = rx272_cur."ws"()
-    unless $P10, rx272_fail
-    rx272_pos = $P10."pos"()
+    rx275_cur."!cursor_pos"(rx275_pos)
+    .const 'Sub' $P285 = "64_1259177761.22934" 
+    capture_lex $P285
+    $P10 = rx275_cur."before"($P285)
+    if $P10, rx275_fail
+  # rx subrule "ws" subtype=method negate=
+    rx275_cur."!cursor_pos"(rx275_pos)
+    $P10 = rx275_cur."ws"()
+    unless $P10, rx275_fail
+    rx275_pos = $P10."pos"()
+    goto alt282_end
+  alt282_1:
+  # rx subrule "ws" subtype=method negate=
+    rx275_cur."!cursor_pos"(rx275_pos)
+    $P10 = rx275_cur."ws"()
+    unless $P10, rx275_fail
+    rx275_pos = $P10."pos"()
   # rx subrule "panic" subtype=method negate=
-    rx272_cur."!cursor_pos"(rx272_pos)
-    $P10 = rx272_cur."panic"("unless does not take \"else\", please rewrite using \"if\"")
-    unless $P10, rx272_fail
-    rx272_pos = $P10."pos"()
-  # rx subrule "ws" subtype=method negate=
-    rx272_cur."!cursor_pos"(rx272_pos)
-    $P10 = rx272_cur."ws"()
-    unless $P10, rx272_fail
-    rx272_pos = $P10."pos"()
-  alt279_end:
-  # rx subrule "ws" subtype=method negate=
-    rx272_cur."!cursor_pos"(rx272_pos)
-    $P10 = rx272_cur."ws"()
-    unless $P10, rx272_fail
-    rx272_pos = $P10."pos"()
+    rx275_cur."!cursor_pos"(rx275_pos)
+    $P10 = rx275_cur."panic"("unless does not take \"else\", please rewrite using \"if\"")
+    unless $P10, rx275_fail
+    rx275_pos = $P10."pos"()
+  # rx subrule "ws" subtype=method negate=
+    rx275_cur."!cursor_pos"(rx275_pos)
+    $P10 = rx275_cur."ws"()
+    unless $P10, rx275_fail
+    rx275_pos = $P10."pos"()
+  alt282_end:
+  # rx subrule "ws" subtype=method negate=
+    rx275_cur."!cursor_pos"(rx275_pos)
+    $P10 = rx275_cur."ws"()
+    unless $P10, rx275_fail
+    rx275_pos = $P10."pos"()
 .annotate "line", 156
   # rx pass
-    rx272_cur."!cursor_pass"(rx272_pos, "statement_control:sym<unless>")
-    rx272_cur."!cursor_debug"("PASS  ", "statement_control:sym<unless>", " at pos=", rx272_pos)
-    .return (rx272_cur)
-  rx272_fail:
+    rx275_cur."!cursor_pass"(rx275_pos, "statement_control:sym<unless>")
+    rx275_cur."!cursor_debug"("PASS  ", "statement_control:sym<unless>", " at pos=", rx275_pos)
+    .return (rx275_cur)
+  rx275_fail:
 .annotate "line", 4
-    (rx272_rep, rx272_pos, $I10, $P10) = rx272_cur."!mark_fail"(0)
-    lt rx272_pos, -1, rx272_done
-    eq rx272_pos, -1, rx272_fail
+    (rx275_rep, rx275_pos, $I10, $P10) = rx275_cur."!mark_fail"(0)
+    lt rx275_pos, -1, rx275_done
+    eq rx275_pos, -1, rx275_fail
     jump $I10
-  rx272_done:
-    rx272_cur."!cursor_fail"()
-    rx272_cur."!cursor_debug"("FAIL  ", "statement_control:sym<unless>")
-    .return (rx272_cur)
+  rx275_done:
+    rx275_cur."!cursor_fail"()
+    rx275_cur."!cursor_debug"("FAIL  ", "statement_control:sym<unless>")
+    .return (rx275_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__statement_control:sym<unless>"  :subid("63_1259103982.97329") :method
+.sub "!PREFIX__statement_control:sym<unless>"  :subid("63_1259177761.22934") :method
 .annotate "line", 4
-    new $P274, "ResizablePMCArray"
-    push $P274, "unless"
-    .return ($P274)
+    new $P277, "ResizablePMCArray"
+    push $P277, "unless"
+    .return ($P277)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "_block281"  :anon :subid("64_1259103982.97329") :method :outer("62_1259103982.97329")
+.sub "_block284"  :anon :subid("64_1259177761.22934") :method :outer("62_1259177761.22934")
 .annotate "line", 159
-    .local string rx283_tgt
-    .local int rx283_pos
-    .local int rx283_off
-    .local int rx283_eos
-    .local int rx283_rep
-    .local pmc rx283_cur
-    (rx283_cur, rx283_pos, rx283_tgt) = self."!cursor_start"()
-    rx283_cur."!cursor_debug"("START ", "")
-    .lex unicode:"$\x{a2}", rx283_cur
-    .local pmc match
-    .lex "$/", match
-    length rx283_eos, rx283_tgt
-    set rx283_off, 0
-    lt rx283_pos, 2, rx283_start
-    sub rx283_off, rx283_pos, 1
-    substr rx283_tgt, rx283_tgt, rx283_off
-  rx283_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan284_done
-    goto rxscan284_scan
-  rxscan284_loop:
-    ($P10) = rx283_cur."from"()
-    inc $P10
-    set rx283_pos, $P10
-    ge rx283_pos, rx283_eos, rxscan284_done
-  rxscan284_scan:
-    set_addr $I10, rxscan284_loop
-    rx283_cur."!mark_push"(0, rx283_pos, $I10)
-  rxscan284_done:
+    .lex unicode:"$\x{a2}", $P286
+    .local string rx287_tgt
+    .local int rx287_pos
+    .local int rx287_off
+    .local int rx287_eos
+    .local int rx287_rep
+    .local pmc rx287_cur
+    (rx287_cur, rx287_pos, rx287_tgt) = self."!cursor_start"()
+    rx287_cur."!cursor_debug"("START ", "")
+    .lex unicode:"$\x{a2}", rx287_cur
+    .local pmc match
+    .lex "$/", match
+    length rx287_eos, rx287_tgt
+    set rx287_off, 0
+    lt rx287_pos, 2, rx287_start
+    sub rx287_off, rx287_pos, 1
+    substr rx287_tgt, rx287_tgt, rx287_off
+  rx287_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan288_done
+    goto rxscan288_scan
+  rxscan288_loop:
+    ($P10) = rx287_cur."from"()
+    inc $P10
+    set rx287_pos, $P10
+    ge rx287_pos, rx287_eos, rxscan288_done
+  rxscan288_scan:
+    set_addr $I10, rxscan288_loop
+    rx287_cur."!mark_push"(0, rx287_pos, $I10)
+  rxscan288_done:
   # rx literal  "else"
-    add $I11, rx283_pos, 4
-    gt $I11, rx283_eos, rx283_fail
-    sub $I11, rx283_pos, rx283_off
-    substr $S10, rx283_tgt, $I11, 4
-    ne $S10, "else", rx283_fail
-    add rx283_pos, 4
-  # rx pass
-    rx283_cur."!cursor_pass"(rx283_pos, "")
-    rx283_cur."!cursor_debug"("PASS  ", "", " at pos=", rx283_pos)
-    .return (rx283_cur)
-  rx283_fail:
-    (rx283_rep, rx283_pos, $I10, $P10) = rx283_cur."!mark_fail"(0)
-    lt rx283_pos, -1, rx283_done
-    eq rx283_pos, -1, rx283_fail
-    jump $I10
-  rx283_done:
-    rx283_cur."!cursor_fail"()
-    rx283_cur."!cursor_debug"("FAIL  ", "")
-    .return (rx283_cur)
+    add $I11, rx287_pos, 4
+    gt $I11, rx287_eos, rx287_fail
+    sub $I11, rx287_pos, rx287_off
+    substr $S10, rx287_tgt, $I11, 4
+    ne $S10, "else", rx287_fail
+    add rx287_pos, 4
+  # rx pass
+    rx287_cur."!cursor_pass"(rx287_pos, "")
+    rx287_cur."!cursor_debug"("PASS  ", "", " at pos=", rx287_pos)
+    .return (rx287_cur)
+  rx287_fail:
+    (rx287_rep, rx287_pos, $I10, $P10) = rx287_cur."!mark_fail"(0)
+    lt rx287_pos, -1, rx287_done
+    eq rx287_pos, -1, rx287_fail
+    jump $I10
+  rx287_done:
+    rx287_cur."!cursor_fail"()
+    rx287_cur."!cursor_debug"("FAIL  ", "")
+    .return (rx287_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "statement_control:sym<while>"  :subid("65_1259103982.97329") :method :outer("11_1259103982.97329")
-.annotate "line", 4
-    .local string rx290_tgt
-    .local int rx290_pos
-    .local int rx290_off
-    .local int rx290_eos
-    .local int rx290_rep
-    .local pmc rx290_cur
-    (rx290_cur, rx290_pos, rx290_tgt) = self."!cursor_start"()
-    rx290_cur."!cursor_debug"("START ", "statement_control:sym<while>")
-    .lex unicode:"$\x{a2}", rx290_cur
-    .local pmc match
-    .lex "$/", match
-    length rx290_eos, rx290_tgt
-    set rx290_off, 0
-    lt rx290_pos, 2, rx290_start
-    sub rx290_off, rx290_pos, 1
-    substr rx290_tgt, rx290_tgt, rx290_off
-  rx290_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan293_done
-    goto rxscan293_scan
-  rxscan293_loop:
-    ($P10) = rx290_cur."from"()
-    inc $P10
-    set rx290_pos, $P10
-    ge rx290_pos, rx290_eos, rxscan293_done
-  rxscan293_scan:
-    set_addr $I10, rxscan293_loop
-    rx290_cur."!mark_push"(0, rx290_pos, $I10)
-  rxscan293_done:
+.sub "statement_control:sym<while>"  :subid("65_1259177761.22934") :method :outer("11_1259177761.22934")
+.annotate "line", 4
+    .local string rx294_tgt
+    .local int rx294_pos
+    .local int rx294_off
+    .local int rx294_eos
+    .local int rx294_rep
+    .local pmc rx294_cur
+    (rx294_cur, rx294_pos, rx294_tgt) = self."!cursor_start"()
+    rx294_cur."!cursor_debug"("START ", "statement_control:sym<while>")
+    .lex unicode:"$\x{a2}", rx294_cur
+    .local pmc match
+    .lex "$/", match
+    length rx294_eos, rx294_tgt
+    set rx294_off, 0
+    lt rx294_pos, 2, rx294_start
+    sub rx294_off, rx294_pos, 1
+    substr rx294_tgt, rx294_tgt, rx294_off
+  rx294_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan297_done
+    goto rxscan297_scan
+  rxscan297_loop:
+    ($P10) = rx294_cur."from"()
+    inc $P10
+    set rx294_pos, $P10
+    ge rx294_pos, rx294_eos, rxscan297_done
+  rxscan297_scan:
+    set_addr $I10, rxscan297_loop
+    rx294_cur."!mark_push"(0, rx294_pos, $I10)
+  rxscan297_done:
 .annotate "line", 163
   # rx subcapture "sym"
-    set_addr $I10, rxcap_295_fail
-    rx290_cur."!mark_push"(0, rx290_pos, $I10)
-  alt294_0:
-    set_addr $I10, alt294_1
-    rx290_cur."!mark_push"(0, rx290_pos, $I10)
+    set_addr $I10, rxcap_299_fail
+    rx294_cur."!mark_push"(0, rx294_pos, $I10)
+  alt298_0:
+    set_addr $I10, alt298_1
+    rx294_cur."!mark_push"(0, rx294_pos, $I10)
   # rx literal  "while"
-    add $I11, rx290_pos, 5
-    gt $I11, rx290_eos, rx290_fail
-    sub $I11, rx290_pos, rx290_off
-    substr $S10, rx290_tgt, $I11, 5
-    ne $S10, "while", rx290_fail
-    add rx290_pos, 5
-    goto alt294_end
-  alt294_1:
+    add $I11, rx294_pos, 5
+    gt $I11, rx294_eos, rx294_fail
+    sub $I11, rx294_pos, rx294_off
+    substr $S10, rx294_tgt, $I11, 5
+    ne $S10, "while", rx294_fail
+    add rx294_pos, 5
+    goto alt298_end
+  alt298_1:
   # rx literal  "until"
-    add $I11, rx290_pos, 5
-    gt $I11, rx290_eos, rx290_fail
-    sub $I11, rx290_pos, rx290_off
-    substr $S10, rx290_tgt, $I11, 5
-    ne $S10, "until", rx290_fail
-    add rx290_pos, 5
-  alt294_end:
-    set_addr $I10, rxcap_295_fail
-    ($I12, $I11) = rx290_cur."!mark_peek"($I10)
-    rx290_cur."!cursor_pos"($I11)
-    ($P10) = rx290_cur."!cursor_start"()
-    $P10."!cursor_pass"(rx290_pos, "")
-    rx290_cur."!mark_push"(0, -1, 0, $P10)
+    add $I11, rx294_pos, 5
+    gt $I11, rx294_eos, rx294_fail
+    sub $I11, rx294_pos, rx294_off
+    substr $S10, rx294_tgt, $I11, 5
+    ne $S10, "until", rx294_fail
+    add rx294_pos, 5
+  alt298_end:
+    set_addr $I10, rxcap_299_fail
+    ($I12, $I11) = rx294_cur."!mark_peek"($I10)
+    rx294_cur."!cursor_pos"($I11)
+    ($P10) = rx294_cur."!cursor_start"()
+    $P10."!cursor_pass"(rx294_pos, "")
+    rx294_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("sym")
-    goto rxcap_295_done
-  rxcap_295_fail:
-    goto rx290_fail
-  rxcap_295_done:
+    goto rxcap_299_done
+  rxcap_299_fail:
+    goto rx294_fail
+  rxcap_299_done:
   # rx charclass s
-    ge rx290_pos, rx290_eos, rx290_fail
-    sub $I10, rx290_pos, rx290_off
-    is_cclass $I11, 32, rx290_tgt, $I10
-    unless $I11, rx290_fail
-    inc rx290_pos
-  # rx subrule "ws" subtype=method negate=
-    rx290_cur."!cursor_pos"(rx290_pos)
-    $P10 = rx290_cur."ws"()
-    unless $P10, rx290_fail
-    rx290_pos = $P10."pos"()
+    ge rx294_pos, rx294_eos, rx294_fail
+    sub $I10, rx294_pos, rx294_off
+    is_cclass $I11, 32, rx294_tgt, $I10
+    unless $I11, rx294_fail
+    inc rx294_pos
+  # rx subrule "ws" subtype=method negate=
+    rx294_cur."!cursor_pos"(rx294_pos)
+    $P10 = rx294_cur."ws"()
+    unless $P10, rx294_fail
+    rx294_pos = $P10."pos"()
 .annotate "line", 164
   # rx subrule "xblock" subtype=capture negate=
-    rx290_cur."!cursor_pos"(rx290_pos)
-    $P10 = rx290_cur."xblock"()
-    unless $P10, rx290_fail
-    rx290_cur."!mark_push"(0, -1, 0, $P10)
+    rx294_cur."!cursor_pos"(rx294_pos)
+    $P10 = rx294_cur."xblock"()
+    unless $P10, rx294_fail
+    rx294_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("xblock")
-    rx290_pos = $P10."pos"()
+    rx294_pos = $P10."pos"()
   # rx subrule "ws" subtype=method negate=
-    rx290_cur."!cursor_pos"(rx290_pos)
-    $P10 = rx290_cur."ws"()
-    unless $P10, rx290_fail
-    rx290_pos = $P10."pos"()
+    rx294_cur."!cursor_pos"(rx294_pos)
+    $P10 = rx294_cur."ws"()
+    unless $P10, rx294_fail
+    rx294_pos = $P10."pos"()
 .annotate "line", 162
   # rx pass
-    rx290_cur."!cursor_pass"(rx290_pos, "statement_control:sym<while>")
-    rx290_cur."!cursor_debug"("PASS  ", "statement_control:sym<while>", " at pos=", rx290_pos)
-    .return (rx290_cur)
-  rx290_fail:
+    rx294_cur."!cursor_pass"(rx294_pos, "statement_control:sym<while>")
+    rx294_cur."!cursor_debug"("PASS  ", "statement_control:sym<while>", " at pos=", rx294_pos)
+    .return (rx294_cur)
+  rx294_fail:
 .annotate "line", 4
-    (rx290_rep, rx290_pos, $I10, $P10) = rx290_cur."!mark_fail"(0)
-    lt rx290_pos, -1, rx290_done
-    eq rx290_pos, -1, rx290_fail
+    (rx294_rep, rx294_pos, $I10, $P10) = rx294_cur."!mark_fail"(0)
+    lt rx294_pos, -1, rx294_done
+    eq rx294_pos, -1, rx294_fail
     jump $I10
-  rx290_done:
-    rx290_cur."!cursor_fail"()
-    rx290_cur."!cursor_debug"("FAIL  ", "statement_control:sym<while>")
-    .return (rx290_cur)
+  rx294_done:
+    rx294_cur."!cursor_fail"()
+    rx294_cur."!cursor_debug"("FAIL  ", "statement_control:sym<while>")
+    .return (rx294_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__statement_control:sym<while>"  :subid("66_1259103982.97329") :method
+.sub "!PREFIX__statement_control:sym<while>"  :subid("66_1259177761.22934") :method
 .annotate "line", 4
-    new $P292, "ResizablePMCArray"
-    push $P292, "until"
-    push $P292, "while"
-    .return ($P292)
+    new $P296, "ResizablePMCArray"
+    push $P296, "until"
+    push $P296, "while"
+    .return ($P296)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "statement_control:sym<repeat>"  :subid("67_1259103982.97329") :method :outer("11_1259103982.97329")
+.sub "statement_control:sym<repeat>"  :subid("67_1259177761.22934") :method :outer("11_1259177761.22934")
 .annotate "line", 4
-    .local string rx299_tgt
-    .local int rx299_pos
-    .local int rx299_off
-    .local int rx299_eos
-    .local int rx299_rep
-    .local pmc rx299_cur
-    (rx299_cur, rx299_pos, rx299_tgt) = self."!cursor_start"()
-    rx299_cur."!cursor_debug"("START ", "statement_control:sym<repeat>")
-    .lex unicode:"$\x{a2}", rx299_cur
+    .local string rx303_tgt
+    .local int rx303_pos
+    .local int rx303_off
+    .local int rx303_eos
+    .local int rx303_rep
+    .local pmc rx303_cur
+    (rx303_cur, rx303_pos, rx303_tgt) = self."!cursor_start"()
+    rx303_cur."!cursor_debug"("START ", "statement_control:sym<repeat>")
+    .lex unicode:"$\x{a2}", rx303_cur
     .local pmc match
     .lex "$/", match
-    length rx299_eos, rx299_tgt
-    set rx299_off, 0
-    lt rx299_pos, 2, rx299_start
-    sub rx299_off, rx299_pos, 1
-    substr rx299_tgt, rx299_tgt, rx299_off
-  rx299_start:
+    length rx303_eos, rx303_tgt
+    set rx303_off, 0
+    lt rx303_pos, 2, rx303_start
+    sub rx303_off, rx303_pos, 1
+    substr rx303_tgt, rx303_tgt, rx303_off
+  rx303_start:
     $I10 = self.'from'()
-    ne $I10, -1, rxscan302_done
-    goto rxscan302_scan
-  rxscan302_loop:
-    ($P10) = rx299_cur."from"()
+    ne $I10, -1, rxscan306_done
+    goto rxscan306_scan
+  rxscan306_loop:
+    ($P10) = rx303_cur."from"()
     inc $P10
-    set rx299_pos, $P10
-    ge rx299_pos, rx299_eos, rxscan302_done
-  rxscan302_scan:
-    set_addr $I10, rxscan302_loop
-    rx299_cur."!mark_push"(0, rx299_pos, $I10)
-  rxscan302_done:
+    set rx303_pos, $P10
+    ge rx303_pos, rx303_eos, rxscan306_done
+  rxscan306_scan:
+    set_addr $I10, rxscan306_loop
+    rx303_cur."!mark_push"(0, rx303_pos, $I10)
+  rxscan306_done:
 .annotate "line", 168
   # rx subcapture "sym"
-    set_addr $I10, rxcap_303_fail
-    rx299_cur."!mark_push"(0, rx299_pos, $I10)
+    set_addr $I10, rxcap_307_fail
+    rx303_cur."!mark_push"(0, rx303_pos, $I10)
   # rx literal  "repeat"
-    add $I11, rx299_pos, 6
-    gt $I11, rx299_eos, rx299_fail
-    sub $I11, rx299_pos, rx299_off
-    substr $S10, rx299_tgt, $I11, 6
-    ne $S10, "repeat", rx299_fail
-    add rx299_pos, 6
-    set_addr $I10, rxcap_303_fail
-    ($I12, $I11) = rx299_cur."!mark_peek"($I10)
-    rx299_cur."!cursor_pos"($I11)
-    ($P10) = rx299_cur."!cursor_start"()
-    $P10."!cursor_pass"(rx299_pos, "")
-    rx299_cur."!mark_push"(0, -1, 0, $P10)
+    add $I11, rx303_pos, 6
+    gt $I11, rx303_eos, rx303_fail
+    sub $I11, rx303_pos, rx303_off
+    substr $S10, rx303_tgt, $I11, 6
+    ne $S10, "repeat", rx303_fail
+    add rx303_pos, 6
+    set_addr $I10, rxcap_307_fail
+    ($I12, $I11) = rx303_cur."!mark_peek"($I10)
+    rx303_cur."!cursor_pos"($I11)
+    ($P10) = rx303_cur."!cursor_start"()
+    $P10."!cursor_pass"(rx303_pos, "")
+    rx303_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("sym")
-    goto rxcap_303_done
-  rxcap_303_fail:
-    goto rx299_fail
-  rxcap_303_done:
+    goto rxcap_307_done
+  rxcap_307_fail:
+    goto rx303_fail
+  rxcap_307_done:
   # rx charclass s
-    ge rx299_pos, rx299_eos, rx299_fail
-    sub $I10, rx299_pos, rx299_off
-    is_cclass $I11, 32, rx299_tgt, $I10
-    unless $I11, rx299_fail
-    inc rx299_pos
-  # rx subrule "ws" subtype=method negate=
-    rx299_cur."!cursor_pos"(rx299_pos)
-    $P10 = rx299_cur."ws"()
-    unless $P10, rx299_fail
-    rx299_pos = $P10."pos"()
-  alt305_0:
+    ge rx303_pos, rx303_eos, rx303_fail
+    sub $I10, rx303_pos, rx303_off
+    is_cclass $I11, 32, rx303_tgt, $I10
+    unless $I11, rx303_fail
+    inc rx303_pos
+  # rx subrule "ws" subtype=method negate=
+    rx303_cur."!cursor_pos"(rx303_pos)
+    $P10 = rx303_cur."ws"()
+    unless $P10, rx303_fail
+    rx303_pos = $P10."pos"()
+  alt309_0:
 .annotate "line", 169
-    set_addr $I10, alt305_1
-    rx299_cur."!mark_push"(0, rx299_pos, $I10)
+    set_addr $I10, alt309_1
+    rx303_cur."!mark_push"(0, rx303_pos, $I10)
 .annotate "line", 170
   # rx subrule "ws" subtype=method negate=
-    rx299_cur."!cursor_pos"(rx299_pos)
-    $P10 = rx299_cur."ws"()
-    unless $P10, rx299_fail
-    rx299_pos = $P10."pos"()
+    rx303_cur."!cursor_pos"(rx303_pos)
+    $P10 = rx303_cur."ws"()
+    unless $P10, rx303_fail
+    rx303_pos = $P10."pos"()
   # rx subcapture "wu"
-    set_addr $I10, rxcap_308_fail
-    rx299_cur."!mark_push"(0, rx299_pos, $I10)
-  alt307_0:
-    set_addr $I10, alt307_1
-    rx299_cur."!mark_push"(0, rx299_pos, $I10)
+    set_addr $I10, rxcap_312_fail
+    rx303_cur."!mark_push"(0, rx303_pos, $I10)
+  alt311_0:
+    set_addr $I10, alt311_1
+    rx303_cur."!mark_push"(0, rx303_pos, $I10)
   # rx literal  "while"
-    add $I11, rx299_pos, 5
-    gt $I11, rx299_eos, rx299_fail
-    sub $I11, rx299_pos, rx299_off
-    substr $S10, rx299_tgt, $I11, 5
-    ne $S10, "while", rx299_fail
-    add rx299_pos, 5
-    goto alt307_end
-  alt307_1:
+    add $I11, rx303_pos, 5
+    gt $I11, rx303_eos, rx303_fail
+    sub $I11, rx303_pos, rx303_off
+    substr $S10, rx303_tgt, $I11, 5
+    ne $S10, "while", rx303_fail
+    add rx303_pos, 5
+    goto alt311_end
+  alt311_1:
   # rx literal  "until"
-    add $I11, rx299_pos, 5
-    gt $I11, rx299_eos, rx299_fail
-    sub $I11, rx299_pos, rx299_off
-    substr $S10, rx299_tgt, $I11, 5
-    ne $S10, "until", rx299_fail
-    add rx299_pos, 5
-  alt307_end:
-    set_addr $I10, rxcap_308_fail
-    ($I12, $I11) = rx299_cur."!mark_peek"($I10)
-    rx299_cur."!cursor_pos"($I11)
-    ($P10) = rx299_cur."!cursor_start"()
-    $P10."!cursor_pass"(rx299_pos, "")
-    rx299_cur."!mark_push"(0, -1, 0, $P10)
+    add $I11, rx303_pos, 5
+    gt $I11, rx303_eos, rx303_fail
+    sub $I11, rx303_pos, rx303_off
+    substr $S10, rx303_tgt, $I11, 5
+    ne $S10, "until", rx303_fail
+    add rx303_pos, 5
+  alt311_end:
+    set_addr $I10, rxcap_312_fail
+    ($I12, $I11) = rx303_cur."!mark_peek"($I10)
+    rx303_cur."!cursor_pos"($I11)
+    ($P10) = rx303_cur."!cursor_start"()
+    $P10."!cursor_pass"(rx303_pos, "")
+    rx303_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("wu")
-    goto rxcap_308_done
-  rxcap_308_fail:
-    goto rx299_fail
-  rxcap_308_done:
+    goto rxcap_312_done
+  rxcap_312_fail:
+    goto rx303_fail
+  rxcap_312_done:
   # rx charclass s
-    ge rx299_pos, rx299_eos, rx299_fail
-    sub $I10, rx299_pos, rx299_off
-    is_cclass $I11, 32, rx299_tgt, $I10
-    unless $I11, rx299_fail
-    inc rx299_pos
-  # rx subrule "ws" subtype=method negate=
-    rx299_cur."!cursor_pos"(rx299_pos)
-    $P10 = rx299_cur."ws"()
-    unless $P10, rx299_fail
-    rx299_pos = $P10."pos"()
+    ge rx303_pos, rx303_eos, rx303_fail
+    sub $I10, rx303_pos, rx303_off
+    is_cclass $I11, 32, rx303_tgt, $I10
+    unless $I11, rx303_fail
+    inc rx303_pos
+  # rx subrule "ws" subtype=method negate=
+    rx303_cur."!cursor_pos"(rx303_pos)
+    $P10 = rx303_cur."ws"()
+    unless $P10, rx303_fail
+    rx303_pos = $P10."pos"()
   # rx subrule "xblock" subtype=capture negate=
-    rx299_cur."!cursor_pos"(rx299_pos)
-    $P10 = rx299_cur."xblock"()
-    unless $P10, rx299_fail
-    rx299_cur."!mark_push"(0, -1, 0, $P10)
+    rx303_cur."!cursor_pos"(rx303_pos)
+    $P10 = rx303_cur."xblock"()
+    unless $P10, rx303_fail
+    rx303_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("xblock")
-    rx299_pos = $P10."pos"()
+    rx303_pos = $P10."pos"()
   # rx subrule "ws" subtype=method negate=
-    rx299_cur."!cursor_pos"(rx299_pos)
-    $P10 = rx299_cur."ws"()
-    unless $P10, rx299_fail
-    rx299_pos = $P10."pos"()
-    goto alt305_end
-  alt305_1:
+    rx303_cur."!cursor_pos"(rx303_pos)
+    $P10 = rx303_cur."ws"()
+    unless $P10, rx303_fail
+    rx303_pos = $P10."pos"()
+    goto alt309_end
+  alt309_1:
 .annotate "line", 171
   # rx subrule "ws" subtype=method negate=
-    rx299_cur."!cursor_pos"(rx299_pos)
-    $P10 = rx299_cur."ws"()
-    unless $P10, rx299_fail
-    rx299_pos = $P10."pos"()
+    rx303_cur."!cursor_pos"(rx303_pos)
+    $P10 = rx303_cur."ws"()
+    unless $P10, rx303_fail
+    rx303_pos = $P10."pos"()
   # rx subrule "pblock" subtype=capture negate=
-    rx299_cur."!cursor_pos"(rx299_pos)
-    $P10 = rx299_cur."pblock"()
-    unless $P10, rx299_fail
-    rx299_cur."!mark_push"(0, -1, 0, $P10)
+    rx303_cur."!cursor_pos"(rx303_pos)
+    $P10 = rx303_cur."pblock"()
+    unless $P10, rx303_fail
+    rx303_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("pblock")
-    rx299_pos = $P10."pos"()
+    rx303_pos = $P10."pos"()
   # rx subrule "ws" subtype=method negate=
-    rx299_cur."!cursor_pos"(rx299_pos)
-    $P10 = rx299_cur."ws"()
-    unless $P10, rx299_fail
-    rx299_pos = $P10."pos"()
+    rx303_cur."!cursor_pos"(rx303_pos)
+    $P10 = rx303_cur."ws"()
+    unless $P10, rx303_fail
+    rx303_pos = $P10."pos"()
   # rx subcapture "wu"
-    set_addr $I10, rxcap_314_fail
-    rx299_cur."!mark_push"(0, rx299_pos, $I10)
-  alt313_0:
-    set_addr $I10, alt313_1
-    rx299_cur."!mark_push"(0, rx299_pos, $I10)
+    set_addr $I10, rxcap_318_fail
+    rx303_cur."!mark_push"(0, rx303_pos, $I10)
+  alt317_0:
+    set_addr $I10, alt317_1
+    rx303_cur."!mark_push"(0, rx303_pos, $I10)
   # rx literal  "while"
-    add $I11, rx299_pos, 5
-    gt $I11, rx299_eos, rx299_fail
-    sub $I11, rx299_pos, rx299_off
-    substr $S10, rx299_tgt, $I11, 5
-    ne $S10, "while", rx299_fail
-    add rx299_pos, 5
-    goto alt313_end
-  alt313_1:
+    add $I11, rx303_pos, 5
+    gt $I11, rx303_eos, rx303_fail
+    sub $I11, rx303_pos, rx303_off
+    substr $S10, rx303_tgt, $I11, 5
+    ne $S10, "while", rx303_fail
+    add rx303_pos, 5
+    goto alt317_end
+  alt317_1:
   # rx literal  "until"
-    add $I11, rx299_pos, 5
-    gt $I11, rx299_eos, rx299_fail
-    sub $I11, rx299_pos, rx299_off
-    substr $S10, rx299_tgt, $I11, 5
-    ne $S10, "until", rx299_fail
-    add rx299_pos, 5
-  alt313_end:
-    set_addr $I10, rxcap_314_fail
-    ($I12, $I11) = rx299_cur."!mark_peek"($I10)
-    rx299_cur."!cursor_pos"($I11)
-    ($P10) = rx299_cur."!cursor_start"()
-    $P10."!cursor_pass"(rx299_pos, "")
-    rx299_cur."!mark_push"(0, -1, 0, $P10)
+    add $I11, rx303_pos, 5
+    gt $I11, rx303_eos, rx303_fail
+    sub $I11, rx303_pos, rx303_off
+    substr $S10, rx303_tgt, $I11, 5
+    ne $S10, "until", rx303_fail
+    add rx303_pos, 5
+  alt317_end:
+    set_addr $I10, rxcap_318_fail
+    ($I12, $I11) = rx303_cur."!mark_peek"($I10)
+    rx303_cur."!cursor_pos"($I11)
+    ($P10) = rx303_cur."!cursor_start"()
+    $P10."!cursor_pass"(rx303_pos, "")
+    rx303_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("wu")
-    goto rxcap_314_done
-  rxcap_314_fail:
-    goto rx299_fail
-  rxcap_314_done:
+    goto rxcap_318_done
+  rxcap_318_fail:
+    goto rx303_fail
+  rxcap_318_done:
   # rx charclass s
-    ge rx299_pos, rx299_eos, rx299_fail
-    sub $I10, rx299_pos, rx299_off
-    is_cclass $I11, 32, rx299_tgt, $I10
-    unless $I11, rx299_fail
-    inc rx299_pos
-  # rx subrule "ws" subtype=method negate=
-    rx299_cur."!cursor_pos"(rx299_pos)
-    $P10 = rx299_cur."ws"()
-    unless $P10, rx299_fail
-    rx299_pos = $P10."pos"()
+    ge rx303_pos, rx303_eos, rx303_fail
+    sub $I10, rx303_pos, rx303_off
+    is_cclass $I11, 32, rx303_tgt, $I10
+    unless $I11, rx303_fail
+    inc rx303_pos
+  # rx subrule "ws" subtype=method negate=
+    rx303_cur."!cursor_pos"(rx303_pos)
+    $P10 = rx303_cur."ws"()
+    unless $P10, rx303_fail
+    rx303_pos = $P10."pos"()
   # rx subrule "EXPR" subtype=capture negate=
-    rx299_cur."!cursor_pos"(rx299_pos)
-    $P10 = rx299_cur."EXPR"()
-    unless $P10, rx299_fail
-    rx299_cur."!mark_push"(0, -1, 0, $P10)
+    rx303_cur."!cursor_pos"(rx303_pos)
+    $P10 = rx303_cur."EXPR"()
+    unless $P10, rx303_fail
+    rx303_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("EXPR")
-    rx299_pos = $P10."pos"()
+    rx303_pos = $P10."pos"()
   # rx subrule "ws" subtype=method negate=
-    rx299_cur."!cursor_pos"(rx299_pos)
-    $P10 = rx299_cur."ws"()
-    unless $P10, rx299_fail
-    rx299_pos = $P10."pos"()
-  alt305_end:
+    rx303_cur."!cursor_pos"(rx303_pos)
+    $P10 = rx303_cur."ws"()
+    unless $P10, rx303_fail
+    rx303_pos = $P10."pos"()
+  alt309_end:
 .annotate "line", 172
   # rx subrule "ws" subtype=method negate=
-    rx299_cur."!cursor_pos"(rx299_pos)
-    $P10 = rx299_cur."ws"()
-    unless $P10, rx299_fail
-    rx299_pos = $P10."pos"()
+    rx303_cur."!cursor_pos"(rx303_pos)
+    $P10 = rx303_cur."ws"()
+    unless $P10, rx303_fail
+    rx303_pos = $P10."pos"()
 .annotate "line", 167
   # rx pass
-    rx299_cur."!cursor_pass"(rx299_pos, "statement_control:sym<repeat>")
-    rx299_cur."!cursor_debug"("PASS  ", "statement_control:sym<repeat>", " at pos=", rx299_pos)
-    .return (rx299_cur)
-  rx299_fail:
+    rx303_cur."!cursor_pass"(rx303_pos, "statement_control:sym<repeat>")
+    rx303_cur."!cursor_debug"("PASS  ", "statement_control:sym<repeat>", " at pos=", rx303_pos)
+    .return (rx303_cur)
+  rx303_fail:
 .annotate "line", 4
-    (rx299_rep, rx299_pos, $I10, $P10) = rx299_cur."!mark_fail"(0)
-    lt rx299_pos, -1, rx299_done
-    eq rx299_pos, -1, rx299_fail
+    (rx303_rep, rx303_pos, $I10, $P10) = rx303_cur."!mark_fail"(0)
+    lt rx303_pos, -1, rx303_done
+    eq rx303_pos, -1, rx303_fail
     jump $I10
-  rx299_done:
-    rx299_cur."!cursor_fail"()
-    rx299_cur."!cursor_debug"("FAIL  ", "statement_control:sym<repeat>")
-    .return (rx299_cur)
+  rx303_done:
+    rx303_cur."!cursor_fail"()
+    rx303_cur."!cursor_debug"("FAIL  ", "statement_control:sym<repeat>")
+    .return (rx303_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__statement_control:sym<repeat>"  :subid("68_1259103982.97329") :method
+.sub "!PREFIX__statement_control:sym<repeat>"  :subid("68_1259177761.22934") :method
 .annotate "line", 4
-    new $P301, "ResizablePMCArray"
-    push $P301, "repeat"
-    .return ($P301)
+    new $P305, "ResizablePMCArray"
+    push $P305, "repeat"
+    .return ($P305)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "statement_control:sym<for>"  :subid("69_1259103982.97329") :method :outer("11_1259103982.97329")
+.sub "statement_control:sym<for>"  :subid("69_1259177761.22934") :method :outer("11_1259177761.22934")
 .annotate "line", 4
-    .local string rx319_tgt
-    .local int rx319_pos
-    .local int rx319_off
-    .local int rx319_eos
-    .local int rx319_rep
-    .local pmc rx319_cur
-    (rx319_cur, rx319_pos, rx319_tgt) = self."!cursor_start"()
-    rx319_cur."!cursor_debug"("START ", "statement_control:sym<for>")
-    .lex unicode:"$\x{a2}", rx319_cur
+    .local string rx323_tgt
+    .local int rx323_pos
+    .local int rx323_off
+    .local int rx323_eos
+    .local int rx323_rep
+    .local pmc rx323_cur
+    (rx323_cur, rx323_pos, rx323_tgt) = self."!cursor_start"()
+    rx323_cur."!cursor_debug"("START ", "statement_control:sym<for>")
+    .lex unicode:"$\x{a2}", rx323_cur
     .local pmc match
     .lex "$/", match
-    length rx319_eos, rx319_tgt
-    set rx319_off, 0
-    lt rx319_pos, 2, rx319_start
-    sub rx319_off, rx319_pos, 1
-    substr rx319_tgt, rx319_tgt, rx319_off
-  rx319_start:
+    length rx323_eos, rx323_tgt
+    set rx323_off, 0
+    lt rx323_pos, 2, rx323_start
+    sub rx323_off, rx323_pos, 1
+    substr rx323_tgt, rx323_tgt, rx323_off
+  rx323_start:
     $I10 = self.'from'()
-    ne $I10, -1, rxscan322_done
-    goto rxscan322_scan
-  rxscan322_loop:
-    ($P10) = rx319_cur."from"()
+    ne $I10, -1, rxscan326_done
+    goto rxscan326_scan
+  rxscan326_loop:
+    ($P10) = rx323_cur."from"()
     inc $P10
-    set rx319_pos, $P10
-    ge rx319_pos, rx319_eos, rxscan322_done
-  rxscan322_scan:
-    set_addr $I10, rxscan322_loop
-    rx319_cur."!mark_push"(0, rx319_pos, $I10)
-  rxscan322_done:
+    set rx323_pos, $P10
+    ge rx323_pos, rx323_eos, rxscan326_done
+  rxscan326_scan:
+    set_addr $I10, rxscan326_loop
+    rx323_cur."!mark_push"(0, rx323_pos, $I10)
+  rxscan326_done:
 .annotate "line", 176
   # rx subcapture "sym"
-    set_addr $I10, rxcap_323_fail
-    rx319_cur."!mark_push"(0, rx319_pos, $I10)
+    set_addr $I10, rxcap_327_fail
+    rx323_cur."!mark_push"(0, rx323_pos, $I10)
   # rx literal  "for"
-    add $I11, rx319_pos, 3
-    gt $I11, rx319_eos, rx319_fail
-    sub $I11, rx319_pos, rx319_off
-    substr $S10, rx319_tgt, $I11, 3
-    ne $S10, "for", rx319_fail
-    add rx319_pos, 3
-    set_addr $I10, rxcap_323_fail
-    ($I12, $I11) = rx319_cur."!mark_peek"($I10)
-    rx319_cur."!cursor_pos"($I11)
-    ($P10) = rx319_cur."!cursor_start"()
-    $P10."!cursor_pass"(rx319_pos, "")
-    rx319_cur."!mark_push"(0, -1, 0, $P10)
+    add $I11, rx323_pos, 3
+    gt $I11, rx323_eos, rx323_fail
+    sub $I11, rx323_pos, rx323_off
+    substr $S10, rx323_tgt, $I11, 3
+    ne $S10, "for", rx323_fail
+    add rx323_pos, 3
+    set_addr $I10, rxcap_327_fail
+    ($I12, $I11) = rx323_cur."!mark_peek"($I10)
+    rx323_cur."!cursor_pos"($I11)
+    ($P10) = rx323_cur."!cursor_start"()
+    $P10."!cursor_pass"(rx323_pos, "")
+    rx323_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("sym")
-    goto rxcap_323_done
-  rxcap_323_fail:
-    goto rx319_fail
-  rxcap_323_done:
+    goto rxcap_327_done
+  rxcap_327_fail:
+    goto rx323_fail
+  rxcap_327_done:
   # rx charclass s
-    ge rx319_pos, rx319_eos, rx319_fail
-    sub $I10, rx319_pos, rx319_off
-    is_cclass $I11, 32, rx319_tgt, $I10
-    unless $I11, rx319_fail
-    inc rx319_pos
-  # rx subrule "ws" subtype=method negate=
-    rx319_cur."!cursor_pos"(rx319_pos)
-    $P10 = rx319_cur."ws"()
-    unless $P10, rx319_fail
-    rx319_pos = $P10."pos"()
+    ge rx323_pos, rx323_eos, rx323_fail
+    sub $I10, rx323_pos, rx323_off
+    is_cclass $I11, 32, rx323_tgt, $I10
+    unless $I11, rx323_fail
+    inc rx323_pos
+  # rx subrule "ws" subtype=method negate=
+    rx323_cur."!cursor_pos"(rx323_pos)
+    $P10 = rx323_cur."ws"()
+    unless $P10, rx323_fail
+    rx323_pos = $P10."pos"()
 .annotate "line", 177
   # rx subrule "xblock" subtype=capture negate=
-    rx319_cur."!cursor_pos"(rx319_pos)
-    $P10 = rx319_cur."xblock"()
-    unless $P10, rx319_fail
-    rx319_cur."!mark_push"(0, -1, 0, $P10)
+    rx323_cur."!cursor_pos"(rx323_pos)
+    $P10 = rx323_cur."xblock"()
+    unless $P10, rx323_fail
+    rx323_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("xblock")
-    rx319_pos = $P10."pos"()
+    rx323_pos = $P10."pos"()
   # rx subrule "ws" subtype=method negate=
-    rx319_cur."!cursor_pos"(rx319_pos)
-    $P10 = rx319_cur."ws"()
-    unless $P10, rx319_fail
-    rx319_pos = $P10."pos"()
+    rx323_cur."!cursor_pos"(rx323_pos)
+    $P10 = rx323_cur."ws"()
+    unless $P10, rx323_fail
+    rx323_pos = $P10."pos"()
 .annotate "line", 175
   # rx pass
-    rx319_cur."!cursor_pass"(rx319_pos, "statement_control:sym<for>")
-    rx319_cur."!cursor_debug"("PASS  ", "statement_control:sym<for>", " at pos=", rx319_pos)
-    .return (rx319_cur)
-  rx319_fail:
+    rx323_cur."!cursor_pass"(rx323_pos, "statement_control:sym<for>")
+    rx323_cur."!cursor_debug"("PASS  ", "statement_control:sym<for>", " at pos=", rx323_pos)
+    .return (rx323_cur)
+  rx323_fail:
 .annotate "line", 4
-    (rx319_rep, rx319_pos, $I10, $P10) = rx319_cur."!mark_fail"(0)
-    lt rx319_pos, -1, rx319_done
-    eq rx319_pos, -1, rx319_fail
+    (rx323_rep, rx323_pos, $I10, $P10) = rx323_cur."!mark_fail"(0)
+    lt rx323_pos, -1, rx323_done
+    eq rx323_pos, -1, rx323_fail
     jump $I10
-  rx319_done:
-    rx319_cur."!cursor_fail"()
-    rx319_cur."!cursor_debug"("FAIL  ", "statement_control:sym<for>")
-    .return (rx319_cur)
+  rx323_done:
+    rx323_cur."!cursor_fail"()
+    rx323_cur."!cursor_debug"("FAIL  ", "statement_control:sym<for>")
+    .return (rx323_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__statement_control:sym<for>"  :subid("70_1259103982.97329") :method
+.sub "!PREFIX__statement_control:sym<for>"  :subid("70_1259177761.22934") :method
 .annotate "line", 4
-    new $P321, "ResizablePMCArray"
-    push $P321, "for"
-    .return ($P321)
-.end
-
-
-.namespace ["NQP";"Grammar"]
-.sub "statement_prefix"  :subid("71_1259103982.97329") :method
-.annotate "line", 180
-    $P327 = self."!protoregex"("statement_prefix")
-    .return ($P327)
+    new $P325, "ResizablePMCArray"
+    push $P325, "for"
+    .return ($P325)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__statement_prefix"  :subid("72_1259103982.97329") :method
-.annotate "line", 180
-    $P329 = self."!PREFIX__!protoregex"("statement_prefix")
-    .return ($P329)
-.end
-
-
-.namespace ["NQP";"Grammar"]
-.sub "statement_prefix:sym<INIT>"  :subid("73_1259103982.97329") :method :outer("11_1259103982.97329")
+.sub "statement_control:sym<CATCH>"  :subid("71_1259177761.22934") :method :outer("11_1259177761.22934")
 .annotate "line", 4
     .local string rx331_tgt
     .local int rx331_pos
@@ -4074,7 +4066,7 @@
     .local int rx331_rep
     .local pmc rx331_cur
     (rx331_cur, rx331_pos, rx331_tgt) = self."!cursor_start"()
-    rx331_cur."!cursor_debug"("START ", "statement_prefix:sym<INIT>")
+    rx331_cur."!cursor_debug"("START ", "statement_control:sym<CATCH>")
     .lex unicode:"$\x{a2}", rx331_cur
     .local pmc match
     .lex "$/", match
@@ -4085,49 +4077,67 @@
     substr rx331_tgt, rx331_tgt, rx331_off
   rx331_start:
     $I10 = self.'from'()
-    ne $I10, -1, rxscan335_done
-    goto rxscan335_scan
-  rxscan335_loop:
+    ne $I10, -1, rxscan334_done
+    goto rxscan334_scan
+  rxscan334_loop:
     ($P10) = rx331_cur."from"()
     inc $P10
     set rx331_pos, $P10
-    ge rx331_pos, rx331_eos, rxscan335_done
-  rxscan335_scan:
-    set_addr $I10, rxscan335_loop
+    ge rx331_pos, rx331_eos, rxscan334_done
+  rxscan334_scan:
+    set_addr $I10, rxscan334_loop
     rx331_cur."!mark_push"(0, rx331_pos, $I10)
-  rxscan335_done:
+  rxscan334_done:
 .annotate "line", 181
   # rx subcapture "sym"
-    set_addr $I10, rxcap_336_fail
+    set_addr $I10, rxcap_335_fail
     rx331_cur."!mark_push"(0, rx331_pos, $I10)
-  # rx literal  "INIT"
-    add $I11, rx331_pos, 4
+  # rx literal  "CATCH"
+    add $I11, rx331_pos, 5
     gt $I11, rx331_eos, rx331_fail
     sub $I11, rx331_pos, rx331_off
-    substr $S10, rx331_tgt, $I11, 4
-    ne $S10, "INIT", rx331_fail
-    add rx331_pos, 4
-    set_addr $I10, rxcap_336_fail
+    substr $S10, rx331_tgt, $I11, 5
+    ne $S10, "CATCH", rx331_fail
+    add rx331_pos, 5
+    set_addr $I10, rxcap_335_fail
     ($I12, $I11) = rx331_cur."!mark_peek"($I10)
     rx331_cur."!cursor_pos"($I11)
     ($P10) = rx331_cur."!cursor_start"()
     $P10."!cursor_pass"(rx331_pos, "")
     rx331_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("sym")
-    goto rxcap_336_done
-  rxcap_336_fail:
+    goto rxcap_335_done
+  rxcap_335_fail:
     goto rx331_fail
-  rxcap_336_done:
-  # rx subrule "blorst" subtype=capture negate=
+  rxcap_335_done:
+  # rx charclass s
+    ge rx331_pos, rx331_eos, rx331_fail
+    sub $I10, rx331_pos, rx331_off
+    is_cclass $I11, 32, rx331_tgt, $I10
+    unless $I11, rx331_fail
+    inc rx331_pos
+  # rx subrule "ws" subtype=method negate=
+    rx331_cur."!cursor_pos"(rx331_pos)
+    $P10 = rx331_cur."ws"()
+    unless $P10, rx331_fail
+    rx331_pos = $P10."pos"()
+.annotate "line", 182
+  # rx subrule "block" subtype=capture negate=
     rx331_cur."!cursor_pos"(rx331_pos)
-    $P10 = rx331_cur."blorst"()
+    $P10 = rx331_cur."block"()
     unless $P10, rx331_fail
     rx331_cur."!mark_push"(0, -1, 0, $P10)
-    $P10."!cursor_names"("blorst")
+    $P10."!cursor_names"("block")
     rx331_pos = $P10."pos"()
+  # rx subrule "ws" subtype=method negate=
+    rx331_cur."!cursor_pos"(rx331_pos)
+    $P10 = rx331_cur."ws"()
+    unless $P10, rx331_fail
+    rx331_pos = $P10."pos"()
+.annotate "line", 180
   # rx pass
-    rx331_cur."!cursor_pass"(rx331_pos, "statement_prefix:sym<INIT>")
-    rx331_cur."!cursor_debug"("PASS  ", "statement_prefix:sym<INIT>", " at pos=", rx331_pos)
+    rx331_cur."!cursor_pass"(rx331_pos, "statement_control:sym<CATCH>")
+    rx331_cur."!cursor_debug"("PASS  ", "statement_control:sym<CATCH>", " at pos=", rx331_pos)
     .return (rx331_cur)
   rx331_fail:
 .annotate "line", 4
@@ -4137,441 +4147,439 @@
     jump $I10
   rx331_done:
     rx331_cur."!cursor_fail"()
-    rx331_cur."!cursor_debug"("FAIL  ", "statement_prefix:sym<INIT>")
+    rx331_cur."!cursor_debug"("FAIL  ", "statement_control:sym<CATCH>")
     .return (rx331_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__statement_prefix:sym<INIT>"  :subid("74_1259103982.97329") :method
+.sub "!PREFIX__statement_control:sym<CATCH>"  :subid("72_1259177761.22934") :method
 .annotate "line", 4
-    $P333 = self."!PREFIX__!subrule"("blorst", "INIT")
-    new $P334, "ResizablePMCArray"
-    push $P334, $P333
-    .return ($P334)
+    new $P333, "ResizablePMCArray"
+    push $P333, "CATCH"
+    .return ($P333)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "statement_prefix:sym<try>"  :subid("75_1259103982.97329") :method :outer("11_1259103982.97329")
+.sub "statement_control:sym<CONTROL>"  :subid("73_1259177761.22934") :method :outer("11_1259177761.22934")
 .annotate "line", 4
-    .local string rx338_tgt
-    .local int rx338_pos
-    .local int rx338_off
-    .local int rx338_eos
-    .local int rx338_rep
-    .local pmc rx338_cur
-    (rx338_cur, rx338_pos, rx338_tgt) = self."!cursor_start"()
-    rx338_cur."!cursor_debug"("START ", "statement_prefix:sym<try>")
-    .lex unicode:"$\x{a2}", rx338_cur
+    .local string rx339_tgt
+    .local int rx339_pos
+    .local int rx339_off
+    .local int rx339_eos
+    .local int rx339_rep
+    .local pmc rx339_cur
+    (rx339_cur, rx339_pos, rx339_tgt) = self."!cursor_start"()
+    rx339_cur."!cursor_debug"("START ", "statement_control:sym<CONTROL>")
+    .lex unicode:"$\x{a2}", rx339_cur
     .local pmc match
     .lex "$/", match
-    length rx338_eos, rx338_tgt
-    set rx338_off, 0
-    lt rx338_pos, 2, rx338_start
-    sub rx338_off, rx338_pos, 1
-    substr rx338_tgt, rx338_tgt, rx338_off
-  rx338_start:
+    length rx339_eos, rx339_tgt
+    set rx339_off, 0
+    lt rx339_pos, 2, rx339_start
+    sub rx339_off, rx339_pos, 1
+    substr rx339_tgt, rx339_tgt, rx339_off
+  rx339_start:
     $I10 = self.'from'()
     ne $I10, -1, rxscan342_done
     goto rxscan342_scan
   rxscan342_loop:
-    ($P10) = rx338_cur."from"()
+    ($P10) = rx339_cur."from"()
     inc $P10
-    set rx338_pos, $P10
-    ge rx338_pos, rx338_eos, rxscan342_done
+    set rx339_pos, $P10
+    ge rx339_pos, rx339_eos, rxscan342_done
   rxscan342_scan:
     set_addr $I10, rxscan342_loop
-    rx338_cur."!mark_push"(0, rx338_pos, $I10)
+    rx339_cur."!mark_push"(0, rx339_pos, $I10)
   rxscan342_done:
-.annotate "line", 184
+.annotate "line", 186
   # rx subcapture "sym"
     set_addr $I10, rxcap_343_fail
-    rx338_cur."!mark_push"(0, rx338_pos, $I10)
-  # rx literal  "try"
-    add $I11, rx338_pos, 3
-    gt $I11, rx338_eos, rx338_fail
-    sub $I11, rx338_pos, rx338_off
-    substr $S10, rx338_tgt, $I11, 3
-    ne $S10, "try", rx338_fail
-    add rx338_pos, 3
+    rx339_cur."!mark_push"(0, rx339_pos, $I10)
+  # rx literal  "CONTROL"
+    add $I11, rx339_pos, 7
+    gt $I11, rx339_eos, rx339_fail
+    sub $I11, rx339_pos, rx339_off
+    substr $S10, rx339_tgt, $I11, 7
+    ne $S10, "CONTROL", rx339_fail
+    add rx339_pos, 7
     set_addr $I10, rxcap_343_fail
-    ($I12, $I11) = rx338_cur."!mark_peek"($I10)
-    rx338_cur."!cursor_pos"($I11)
-    ($P10) = rx338_cur."!cursor_start"()
-    $P10."!cursor_pass"(rx338_pos, "")
-    rx338_cur."!mark_push"(0, -1, 0, $P10)
+    ($I12, $I11) = rx339_cur."!mark_peek"($I10)
+    rx339_cur."!cursor_pos"($I11)
+    ($P10) = rx339_cur."!cursor_start"()
+    $P10."!cursor_pass"(rx339_pos, "")
+    rx339_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("sym")
     goto rxcap_343_done
   rxcap_343_fail:
-    goto rx338_fail
+    goto rx339_fail
   rxcap_343_done:
+  # rx charclass s
+    ge rx339_pos, rx339_eos, rx339_fail
+    sub $I10, rx339_pos, rx339_off
+    is_cclass $I11, 32, rx339_tgt, $I10
+    unless $I11, rx339_fail
+    inc rx339_pos
+  # rx subrule "ws" subtype=method negate=
+    rx339_cur."!cursor_pos"(rx339_pos)
+    $P10 = rx339_cur."ws"()
+    unless $P10, rx339_fail
+    rx339_pos = $P10."pos"()
+.annotate "line", 187
+  # rx subrule "block" subtype=capture negate=
+    rx339_cur."!cursor_pos"(rx339_pos)
+    $P10 = rx339_cur."block"()
+    unless $P10, rx339_fail
+    rx339_cur."!mark_push"(0, -1, 0, $P10)
+    $P10."!cursor_names"("block")
+    rx339_pos = $P10."pos"()
+  # rx subrule "ws" subtype=method negate=
+    rx339_cur."!cursor_pos"(rx339_pos)
+    $P10 = rx339_cur."ws"()
+    unless $P10, rx339_fail
+    rx339_pos = $P10."pos"()
 .annotate "line", 185
-  # rx subrule "blorst" subtype=capture negate=
-    rx338_cur."!cursor_pos"(rx338_pos)
-    $P10 = rx338_cur."blorst"()
-    unless $P10, rx338_fail
-    rx338_cur."!mark_push"(0, -1, 0, $P10)
-    $P10."!cursor_names"("blorst")
-    rx338_pos = $P10."pos"()
-.annotate "line", 183
   # rx pass
-    rx338_cur."!cursor_pass"(rx338_pos, "statement_prefix:sym<try>")
-    rx338_cur."!cursor_debug"("PASS  ", "statement_prefix:sym<try>", " at pos=", rx338_pos)
-    .return (rx338_cur)
-  rx338_fail:
+    rx339_cur."!cursor_pass"(rx339_pos, "statement_control:sym<CONTROL>")
+    rx339_cur."!cursor_debug"("PASS  ", "statement_control:sym<CONTROL>", " at pos=", rx339_pos)
+    .return (rx339_cur)
+  rx339_fail:
 .annotate "line", 4
-    (rx338_rep, rx338_pos, $I10, $P10) = rx338_cur."!mark_fail"(0)
-    lt rx338_pos, -1, rx338_done
-    eq rx338_pos, -1, rx338_fail
+    (rx339_rep, rx339_pos, $I10, $P10) = rx339_cur."!mark_fail"(0)
+    lt rx339_pos, -1, rx339_done
+    eq rx339_pos, -1, rx339_fail
     jump $I10
-  rx338_done:
-    rx338_cur."!cursor_fail"()
-    rx338_cur."!cursor_debug"("FAIL  ", "statement_prefix:sym<try>")
-    .return (rx338_cur)
+  rx339_done:
+    rx339_cur."!cursor_fail"()
+    rx339_cur."!cursor_debug"("FAIL  ", "statement_control:sym<CONTROL>")
+    .return (rx339_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__statement_prefix:sym<try>"  :subid("76_1259103982.97329") :method
+.sub "!PREFIX__statement_control:sym<CONTROL>"  :subid("74_1259177761.22934") :method
 .annotate "line", 4
-    $P340 = self."!PREFIX__!subrule"("blorst", "try")
     new $P341, "ResizablePMCArray"
-    push $P341, $P340
+    push $P341, "CONTROL"
     .return ($P341)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "blorst"  :subid("77_1259103982.97329") :method :outer("11_1259103982.97329")
-.annotate "line", 4
-    .local string rx345_tgt
-    .local int rx345_pos
-    .local int rx345_off
-    .local int rx345_eos
-    .local int rx345_rep
-    .local pmc rx345_cur
-    (rx345_cur, rx345_pos, rx345_tgt) = self."!cursor_start"()
-    rx345_cur."!cursor_debug"("START ", "blorst")
-    .lex unicode:"$\x{a2}", rx345_cur
-    .local pmc match
-    .lex "$/", match
-    length rx345_eos, rx345_tgt
-    set rx345_off, 0
-    lt rx345_pos, 2, rx345_start
-    sub rx345_off, rx345_pos, 1
-    substr rx345_tgt, rx345_tgt, rx345_off
-  rx345_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan348_done
-    goto rxscan348_scan
-  rxscan348_loop:
-    ($P10) = rx345_cur."from"()
-    inc $P10
-    set rx345_pos, $P10
-    ge rx345_pos, rx345_eos, rxscan348_done
-  rxscan348_scan:
-    set_addr $I10, rxscan348_loop
-    rx345_cur."!mark_push"(0, rx345_pos, $I10)
-  rxscan348_done:
-.annotate "line", 189
-  # rx charclass s
-    ge rx345_pos, rx345_eos, rx345_fail
-    sub $I10, rx345_pos, rx345_off
-    is_cclass $I11, 32, rx345_tgt, $I10
-    unless $I11, rx345_fail
-    inc rx345_pos
-  # rx subrule "ws" subtype=method negate=
-    rx345_cur."!cursor_pos"(rx345_pos)
-    $P10 = rx345_cur."ws"()
-    unless $P10, rx345_fail
-    rx345_pos = $P10."pos"()
-  alt349_0:
-    set_addr $I10, alt349_1
-    rx345_cur."!mark_push"(0, rx345_pos, $I10)
-  # rx enumcharlist negate=0 zerowidth
-    ge rx345_pos, rx345_eos, rx345_fail
-    sub $I10, rx345_pos, rx345_off
-    substr $S10, rx345_tgt, $I10, 1
-    index $I11, "{", $S10
-    lt $I11, 0, rx345_fail
-  # rx subrule "block" subtype=capture negate=
-    rx345_cur."!cursor_pos"(rx345_pos)
-    $P10 = rx345_cur."block"()
-    unless $P10, rx345_fail
-    rx345_cur."!mark_push"(0, -1, 0, $P10)
-    $P10."!cursor_names"("block")
-    rx345_pos = $P10."pos"()
-    goto alt349_end
-  alt349_1:
-  # rx subrule "statement" subtype=capture negate=
-    rx345_cur."!cursor_pos"(rx345_pos)
-    $P10 = rx345_cur."statement"()
-    unless $P10, rx345_fail
-    rx345_cur."!mark_push"(0, -1, 0, $P10)
-    $P10."!cursor_names"("statement")
-    rx345_pos = $P10."pos"()
-  alt349_end:
-.annotate "line", 188
-  # rx pass
-    rx345_cur."!cursor_pass"(rx345_pos, "blorst")
-    rx345_cur."!cursor_debug"("PASS  ", "blorst", " at pos=", rx345_pos)
-    .return (rx345_cur)
-  rx345_fail:
-.annotate "line", 4
-    (rx345_rep, rx345_pos, $I10, $P10) = rx345_cur."!mark_fail"(0)
-    lt rx345_pos, -1, rx345_done
-    eq rx345_pos, -1, rx345_fail
-    jump $I10
-  rx345_done:
-    rx345_cur."!cursor_fail"()
-    rx345_cur."!cursor_debug"("FAIL  ", "blorst")
-    .return (rx345_cur)
-    .return ()
+.sub "statement_prefix"  :subid("75_1259177761.22934") :method
+.annotate "line", 190
+    $P347 = self."!protoregex"("statement_prefix")
+    .return ($P347)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__blorst"  :subid("78_1259103982.97329") :method
-.annotate "line", 4
-    new $P347, "ResizablePMCArray"
-    push $P347, ""
-    .return ($P347)
+.sub "!PREFIX__statement_prefix"  :subid("76_1259177761.22934") :method
+.annotate "line", 190
+    $P349 = self."!PREFIX__!protoregex"("statement_prefix")
+    .return ($P349)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "statement_mod_cond"  :subid("79_1259103982.97329") :method
-.annotate "line", 194
-    $P351 = self."!protoregex"("statement_mod_cond")
-    .return ($P351)
+.sub "statement_prefix:sym<INIT>"  :subid("77_1259177761.22934") :method :outer("11_1259177761.22934")
+.annotate "line", 4
+    .local string rx351_tgt
+    .local int rx351_pos
+    .local int rx351_off
+    .local int rx351_eos
+    .local int rx351_rep
+    .local pmc rx351_cur
+    (rx351_cur, rx351_pos, rx351_tgt) = self."!cursor_start"()
+    rx351_cur."!cursor_debug"("START ", "statement_prefix:sym<INIT>")
+    .lex unicode:"$\x{a2}", rx351_cur
+    .local pmc match
+    .lex "$/", match
+    length rx351_eos, rx351_tgt
+    set rx351_off, 0
+    lt rx351_pos, 2, rx351_start
+    sub rx351_off, rx351_pos, 1
+    substr rx351_tgt, rx351_tgt, rx351_off
+  rx351_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan355_done
+    goto rxscan355_scan
+  rxscan355_loop:
+    ($P10) = rx351_cur."from"()
+    inc $P10
+    set rx351_pos, $P10
+    ge rx351_pos, rx351_eos, rxscan355_done
+  rxscan355_scan:
+    set_addr $I10, rxscan355_loop
+    rx351_cur."!mark_push"(0, rx351_pos, $I10)
+  rxscan355_done:
+.annotate "line", 191
+  # rx subcapture "sym"
+    set_addr $I10, rxcap_356_fail
+    rx351_cur."!mark_push"(0, rx351_pos, $I10)
+  # rx literal  "INIT"
+    add $I11, rx351_pos, 4
+    gt $I11, rx351_eos, rx351_fail
+    sub $I11, rx351_pos, rx351_off
+    substr $S10, rx351_tgt, $I11, 4
+    ne $S10, "INIT", rx351_fail
+    add rx351_pos, 4
+    set_addr $I10, rxcap_356_fail
+    ($I12, $I11) = rx351_cur."!mark_peek"($I10)
+    rx351_cur."!cursor_pos"($I11)
+    ($P10) = rx351_cur."!cursor_start"()
+    $P10."!cursor_pass"(rx351_pos, "")
+    rx351_cur."!mark_push"(0, -1, 0, $P10)
+    $P10."!cursor_names"("sym")
+    goto rxcap_356_done
+  rxcap_356_fail:
+    goto rx351_fail
+  rxcap_356_done:
+  # rx subrule "blorst" subtype=capture negate=
+    rx351_cur."!cursor_pos"(rx351_pos)
+    $P10 = rx351_cur."blorst"()
+    unless $P10, rx351_fail
+    rx351_cur."!mark_push"(0, -1, 0, $P10)
+    $P10."!cursor_names"("blorst")
+    rx351_pos = $P10."pos"()
+  # rx pass
+    rx351_cur."!cursor_pass"(rx351_pos, "statement_prefix:sym<INIT>")
+    rx351_cur."!cursor_debug"("PASS  ", "statement_prefix:sym<INIT>", " at pos=", rx351_pos)
+    .return (rx351_cur)
+  rx351_fail:
+.annotate "line", 4
+    (rx351_rep, rx351_pos, $I10, $P10) = rx351_cur."!mark_fail"(0)
+    lt rx351_pos, -1, rx351_done
+    eq rx351_pos, -1, rx351_fail
+    jump $I10
+  rx351_done:
+    rx351_cur."!cursor_fail"()
+    rx351_cur."!cursor_debug"("FAIL  ", "statement_prefix:sym<INIT>")
+    .return (rx351_cur)
+    .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__statement_mod_cond"  :subid("80_1259103982.97329") :method
-.annotate "line", 194
-    $P353 = self."!PREFIX__!protoregex"("statement_mod_cond")
-    .return ($P353)
+.sub "!PREFIX__statement_prefix:sym<INIT>"  :subid("78_1259177761.22934") :method
+.annotate "line", 4
+    $P353 = self."!PREFIX__!subrule"("blorst", "INIT")
+    new $P354, "ResizablePMCArray"
+    push $P354, $P353
+    .return ($P354)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "statement_mod_cond:sym<if>"  :subid("81_1259103982.97329") :method :outer("11_1259103982.97329")
+.sub "statement_prefix:sym<try>"  :subid("79_1259177761.22934") :method :outer("11_1259177761.22934")
 .annotate "line", 4
-    .local string rx355_tgt
-    .local int rx355_pos
-    .local int rx355_off
-    .local int rx355_eos
-    .local int rx355_rep
-    .local pmc rx355_cur
-    (rx355_cur, rx355_pos, rx355_tgt) = self."!cursor_start"()
-    rx355_cur."!cursor_debug"("START ", "statement_mod_cond:sym<if>")
-    .lex unicode:"$\x{a2}", rx355_cur
-    .local pmc match
-    .lex "$/", match
-    length rx355_eos, rx355_tgt
-    set rx355_off, 0
-    lt rx355_pos, 2, rx355_start
-    sub rx355_off, rx355_pos, 1
-    substr rx355_tgt, rx355_tgt, rx355_off
-  rx355_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan358_done
-    goto rxscan358_scan
-  rxscan358_loop:
-    ($P10) = rx355_cur."from"()
-    inc $P10
-    set rx355_pos, $P10
-    ge rx355_pos, rx355_eos, rxscan358_done
-  rxscan358_scan:
-    set_addr $I10, rxscan358_loop
-    rx355_cur."!mark_push"(0, rx355_pos, $I10)
-  rxscan358_done:
-.annotate "line", 196
+    .local string rx358_tgt
+    .local int rx358_pos
+    .local int rx358_off
+    .local int rx358_eos
+    .local int rx358_rep
+    .local pmc rx358_cur
+    (rx358_cur, rx358_pos, rx358_tgt) = self."!cursor_start"()
+    rx358_cur."!cursor_debug"("START ", "statement_prefix:sym<try>")
+    .lex unicode:"$\x{a2}", rx358_cur
+    .local pmc match
+    .lex "$/", match
+    length rx358_eos, rx358_tgt
+    set rx358_off, 0
+    lt rx358_pos, 2, rx358_start
+    sub rx358_off, rx358_pos, 1
+    substr rx358_tgt, rx358_tgt, rx358_off
+  rx358_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan362_done
+    goto rxscan362_scan
+  rxscan362_loop:
+    ($P10) = rx358_cur."from"()
+    inc $P10
+    set rx358_pos, $P10
+    ge rx358_pos, rx358_eos, rxscan362_done
+  rxscan362_scan:
+    set_addr $I10, rxscan362_loop
+    rx358_cur."!mark_push"(0, rx358_pos, $I10)
+  rxscan362_done:
+.annotate "line", 194
   # rx subcapture "sym"
-    set_addr $I10, rxcap_359_fail
-    rx355_cur."!mark_push"(0, rx355_pos, $I10)
-  # rx literal  "if"
-    add $I11, rx355_pos, 2
-    gt $I11, rx355_eos, rx355_fail
-    sub $I11, rx355_pos, rx355_off
-    substr $S10, rx355_tgt, $I11, 2
-    ne $S10, "if", rx355_fail
-    add rx355_pos, 2
-    set_addr $I10, rxcap_359_fail
-    ($I12, $I11) = rx355_cur."!mark_peek"($I10)
-    rx355_cur."!cursor_pos"($I11)
-    ($P10) = rx355_cur."!cursor_start"()
-    $P10."!cursor_pass"(rx355_pos, "")
-    rx355_cur."!mark_push"(0, -1, 0, $P10)
+    set_addr $I10, rxcap_363_fail
+    rx358_cur."!mark_push"(0, rx358_pos, $I10)
+  # rx literal  "try"
+    add $I11, rx358_pos, 3
+    gt $I11, rx358_eos, rx358_fail
+    sub $I11, rx358_pos, rx358_off
+    substr $S10, rx358_tgt, $I11, 3
+    ne $S10, "try", rx358_fail
+    add rx358_pos, 3
+    set_addr $I10, rxcap_363_fail
+    ($I12, $I11) = rx358_cur."!mark_peek"($I10)
+    rx358_cur."!cursor_pos"($I11)
+    ($P10) = rx358_cur."!cursor_start"()
+    $P10."!cursor_pass"(rx358_pos, "")
+    rx358_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("sym")
-    goto rxcap_359_done
-  rxcap_359_fail:
-    goto rx355_fail
-  rxcap_359_done:
-  # rx subrule "ws" subtype=method negate=
-    rx355_cur."!cursor_pos"(rx355_pos)
-    $P10 = rx355_cur."ws"()
-    unless $P10, rx355_fail
-    rx355_pos = $P10."pos"()
-  # rx subrule "EXPR" subtype=capture negate=
-    rx355_cur."!cursor_pos"(rx355_pos)
-    $P10 = rx355_cur."EXPR"()
-    unless $P10, rx355_fail
-    rx355_cur."!mark_push"(0, -1, 0, $P10)
-    $P10."!cursor_names"("cond")
-    rx355_pos = $P10."pos"()
-  # rx subrule "ws" subtype=method negate=
-    rx355_cur."!cursor_pos"(rx355_pos)
-    $P10 = rx355_cur."ws"()
-    unless $P10, rx355_fail
-    rx355_pos = $P10."pos"()
+    goto rxcap_363_done
+  rxcap_363_fail:
+    goto rx358_fail
+  rxcap_363_done:
+.annotate "line", 195
+  # rx subrule "blorst" subtype=capture negate=
+    rx358_cur."!cursor_pos"(rx358_pos)
+    $P10 = rx358_cur."blorst"()
+    unless $P10, rx358_fail
+    rx358_cur."!mark_push"(0, -1, 0, $P10)
+    $P10."!cursor_names"("blorst")
+    rx358_pos = $P10."pos"()
+.annotate "line", 193
   # rx pass
-    rx355_cur."!cursor_pass"(rx355_pos, "statement_mod_cond:sym<if>")
-    rx355_cur."!cursor_debug"("PASS  ", "statement_mod_cond:sym<if>", " at pos=", rx355_pos)
-    .return (rx355_cur)
-  rx355_fail:
+    rx358_cur."!cursor_pass"(rx358_pos, "statement_prefix:sym<try>")
+    rx358_cur."!cursor_debug"("PASS  ", "statement_prefix:sym<try>", " at pos=", rx358_pos)
+    .return (rx358_cur)
+  rx358_fail:
 .annotate "line", 4
-    (rx355_rep, rx355_pos, $I10, $P10) = rx355_cur."!mark_fail"(0)
-    lt rx355_pos, -1, rx355_done
-    eq rx355_pos, -1, rx355_fail
+    (rx358_rep, rx358_pos, $I10, $P10) = rx358_cur."!mark_fail"(0)
+    lt rx358_pos, -1, rx358_done
+    eq rx358_pos, -1, rx358_fail
     jump $I10
-  rx355_done:
-    rx355_cur."!cursor_fail"()
-    rx355_cur."!cursor_debug"("FAIL  ", "statement_mod_cond:sym<if>")
-    .return (rx355_cur)
+  rx358_done:
+    rx358_cur."!cursor_fail"()
+    rx358_cur."!cursor_debug"("FAIL  ", "statement_prefix:sym<try>")
+    .return (rx358_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__statement_mod_cond:sym<if>"  :subid("82_1259103982.97329") :method
+.sub "!PREFIX__statement_prefix:sym<try>"  :subid("80_1259177761.22934") :method
 .annotate "line", 4
-    new $P357, "ResizablePMCArray"
-    push $P357, "if"
-    .return ($P357)
+    $P360 = self."!PREFIX__!subrule"("blorst", "try")
+    new $P361, "ResizablePMCArray"
+    push $P361, $P360
+    .return ($P361)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "statement_mod_cond:sym<unless>"  :subid("83_1259103982.97329") :method :outer("11_1259103982.97329")
+.sub "blorst"  :subid("81_1259177761.22934") :method :outer("11_1259177761.22934")
 .annotate "line", 4
-    .local string rx363_tgt
-    .local int rx363_pos
-    .local int rx363_off
-    .local int rx363_eos
-    .local int rx363_rep
-    .local pmc rx363_cur
-    (rx363_cur, rx363_pos, rx363_tgt) = self."!cursor_start"()
-    rx363_cur."!cursor_debug"("START ", "statement_mod_cond:sym<unless>")
-    .lex unicode:"$\x{a2}", rx363_cur
+    .local string rx365_tgt
+    .local int rx365_pos
+    .local int rx365_off
+    .local int rx365_eos
+    .local int rx365_rep
+    .local pmc rx365_cur
+    (rx365_cur, rx365_pos, rx365_tgt) = self."!cursor_start"()
+    rx365_cur."!cursor_debug"("START ", "blorst")
+    .lex unicode:"$\x{a2}", rx365_cur
     .local pmc match
     .lex "$/", match
-    length rx363_eos, rx363_tgt
-    set rx363_off, 0
-    lt rx363_pos, 2, rx363_start
-    sub rx363_off, rx363_pos, 1
-    substr rx363_tgt, rx363_tgt, rx363_off
-  rx363_start:
+    length rx365_eos, rx365_tgt
+    set rx365_off, 0
+    lt rx365_pos, 2, rx365_start
+    sub rx365_off, rx365_pos, 1
+    substr rx365_tgt, rx365_tgt, rx365_off
+  rx365_start:
     $I10 = self.'from'()
-    ne $I10, -1, rxscan366_done
-    goto rxscan366_scan
-  rxscan366_loop:
-    ($P10) = rx363_cur."from"()
+    ne $I10, -1, rxscan368_done
+    goto rxscan368_scan
+  rxscan368_loop:
+    ($P10) = rx365_cur."from"()
     inc $P10
-    set rx363_pos, $P10
-    ge rx363_pos, rx363_eos, rxscan366_done
-  rxscan366_scan:
-    set_addr $I10, rxscan366_loop
-    rx363_cur."!mark_push"(0, rx363_pos, $I10)
-  rxscan366_done:
-.annotate "line", 197
-  # rx subcapture "sym"
-    set_addr $I10, rxcap_367_fail
-    rx363_cur."!mark_push"(0, rx363_pos, $I10)
-  # rx literal  "unless"
-    add $I11, rx363_pos, 6
-    gt $I11, rx363_eos, rx363_fail
-    sub $I11, rx363_pos, rx363_off
-    substr $S10, rx363_tgt, $I11, 6
-    ne $S10, "unless", rx363_fail
-    add rx363_pos, 6
-    set_addr $I10, rxcap_367_fail
-    ($I12, $I11) = rx363_cur."!mark_peek"($I10)
-    rx363_cur."!cursor_pos"($I11)
-    ($P10) = rx363_cur."!cursor_start"()
-    $P10."!cursor_pass"(rx363_pos, "")
-    rx363_cur."!mark_push"(0, -1, 0, $P10)
-    $P10."!cursor_names"("sym")
-    goto rxcap_367_done
-  rxcap_367_fail:
-    goto rx363_fail
-  rxcap_367_done:
-  # rx subrule "ws" subtype=method negate=
-    rx363_cur."!cursor_pos"(rx363_pos)
-    $P10 = rx363_cur."ws"()
-    unless $P10, rx363_fail
-    rx363_pos = $P10."pos"()
-  # rx subrule "EXPR" subtype=capture negate=
-    rx363_cur."!cursor_pos"(rx363_pos)
-    $P10 = rx363_cur."EXPR"()
-    unless $P10, rx363_fail
-    rx363_cur."!mark_push"(0, -1, 0, $P10)
-    $P10."!cursor_names"("cond")
-    rx363_pos = $P10."pos"()
-  # rx subrule "ws" subtype=method negate=
-    rx363_cur."!cursor_pos"(rx363_pos)
-    $P10 = rx363_cur."ws"()
-    unless $P10, rx363_fail
-    rx363_pos = $P10."pos"()
+    set rx365_pos, $P10
+    ge rx365_pos, rx365_eos, rxscan368_done
+  rxscan368_scan:
+    set_addr $I10, rxscan368_loop
+    rx365_cur."!mark_push"(0, rx365_pos, $I10)
+  rxscan368_done:
+.annotate "line", 199
+  # rx charclass s
+    ge rx365_pos, rx365_eos, rx365_fail
+    sub $I10, rx365_pos, rx365_off
+    is_cclass $I11, 32, rx365_tgt, $I10
+    unless $I11, rx365_fail
+    inc rx365_pos
+  # rx subrule "ws" subtype=method negate=
+    rx365_cur."!cursor_pos"(rx365_pos)
+    $P10 = rx365_cur."ws"()
+    unless $P10, rx365_fail
+    rx365_pos = $P10."pos"()
+  alt369_0:
+    set_addr $I10, alt369_1
+    rx365_cur."!mark_push"(0, rx365_pos, $I10)
+  # rx enumcharlist negate=0 zerowidth
+    ge rx365_pos, rx365_eos, rx365_fail
+    sub $I10, rx365_pos, rx365_off
+    substr $S10, rx365_tgt, $I10, 1
+    index $I11, "{", $S10
+    lt $I11, 0, rx365_fail
+  # rx subrule "block" subtype=capture negate=
+    rx365_cur."!cursor_pos"(rx365_pos)
+    $P10 = rx365_cur."block"()
+    unless $P10, rx365_fail
+    rx365_cur."!mark_push"(0, -1, 0, $P10)
+    $P10."!cursor_names"("block")
+    rx365_pos = $P10."pos"()
+    goto alt369_end
+  alt369_1:
+  # rx subrule "statement" subtype=capture negate=
+    rx365_cur."!cursor_pos"(rx365_pos)
+    $P10 = rx365_cur."statement"()
+    unless $P10, rx365_fail
+    rx365_cur."!mark_push"(0, -1, 0, $P10)
+    $P10."!cursor_names"("statement")
+    rx365_pos = $P10."pos"()
+  alt369_end:
+.annotate "line", 198
   # rx pass
-    rx363_cur."!cursor_pass"(rx363_pos, "statement_mod_cond:sym<unless>")
-    rx363_cur."!cursor_debug"("PASS  ", "statement_mod_cond:sym<unless>", " at pos=", rx363_pos)
-    .return (rx363_cur)
-  rx363_fail:
+    rx365_cur."!cursor_pass"(rx365_pos, "blorst")
+    rx365_cur."!cursor_debug"("PASS  ", "blorst", " at pos=", rx365_pos)
+    .return (rx365_cur)
+  rx365_fail:
 .annotate "line", 4
-    (rx363_rep, rx363_pos, $I10, $P10) = rx363_cur."!mark_fail"(0)
-    lt rx363_pos, -1, rx363_done
-    eq rx363_pos, -1, rx363_fail
+    (rx365_rep, rx365_pos, $I10, $P10) = rx365_cur."!mark_fail"(0)
+    lt rx365_pos, -1, rx365_done
+    eq rx365_pos, -1, rx365_fail
     jump $I10
-  rx363_done:
-    rx363_cur."!cursor_fail"()
-    rx363_cur."!cursor_debug"("FAIL  ", "statement_mod_cond:sym<unless>")
-    .return (rx363_cur)
+  rx365_done:
+    rx365_cur."!cursor_fail"()
+    rx365_cur."!cursor_debug"("FAIL  ", "blorst")
+    .return (rx365_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__statement_mod_cond:sym<unless>"  :subid("84_1259103982.97329") :method
+.sub "!PREFIX__blorst"  :subid("82_1259177761.22934") :method
 .annotate "line", 4
-    new $P365, "ResizablePMCArray"
-    push $P365, "unless"
-    .return ($P365)
+    new $P367, "ResizablePMCArray"
+    push $P367, ""
+    .return ($P367)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "statement_mod_loop"  :subid("85_1259103982.97329") :method
-.annotate "line", 199
-    $P371 = self."!protoregex"("statement_mod_loop")
+.sub "statement_mod_cond"  :subid("83_1259177761.22934") :method
+.annotate "line", 204
+    $P371 = self."!protoregex"("statement_mod_cond")
     .return ($P371)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__statement_mod_loop"  :subid("86_1259103982.97329") :method
-.annotate "line", 199
-    $P373 = self."!PREFIX__!protoregex"("statement_mod_loop")
+.sub "!PREFIX__statement_mod_cond"  :subid("84_1259177761.22934") :method
+.annotate "line", 204
+    $P373 = self."!PREFIX__!protoregex"("statement_mod_cond")
     .return ($P373)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "statement_mod_loop:sym<while>"  :subid("87_1259103982.97329") :method :outer("11_1259103982.97329")
+.sub "statement_mod_cond:sym<if>"  :subid("85_1259177761.22934") :method :outer("11_1259177761.22934")
 .annotate "line", 4
     .local string rx375_tgt
     .local int rx375_pos
@@ -4580,7 +4588,7 @@
     .local int rx375_rep
     .local pmc rx375_cur
     (rx375_cur, rx375_pos, rx375_tgt) = self."!cursor_start"()
-    rx375_cur."!cursor_debug"("START ", "statement_mod_loop:sym<while>")
+    rx375_cur."!cursor_debug"("START ", "statement_mod_cond:sym<if>")
     .lex unicode:"$\x{a2}", rx375_cur
     .local pmc match
     .lex "$/", match
@@ -4602,17 +4610,17 @@
     set_addr $I10, rxscan378_loop
     rx375_cur."!mark_push"(0, rx375_pos, $I10)
   rxscan378_done:
-.annotate "line", 201
+.annotate "line", 206
   # rx subcapture "sym"
     set_addr $I10, rxcap_379_fail
     rx375_cur."!mark_push"(0, rx375_pos, $I10)
-  # rx literal  "while"
-    add $I11, rx375_pos, 5
+  # rx literal  "if"
+    add $I11, rx375_pos, 2
     gt $I11, rx375_eos, rx375_fail
     sub $I11, rx375_pos, rx375_off
-    substr $S10, rx375_tgt, $I11, 5
-    ne $S10, "while", rx375_fail
-    add rx375_pos, 5
+    substr $S10, rx375_tgt, $I11, 2
+    ne $S10, "if", rx375_fail
+    add rx375_pos, 2
     set_addr $I10, rxcap_379_fail
     ($I12, $I11) = rx375_cur."!mark_peek"($I10)
     rx375_cur."!cursor_pos"($I11)
@@ -4642,8 +4650,8 @@
     unless $P10, rx375_fail
     rx375_pos = $P10."pos"()
   # rx pass
-    rx375_cur."!cursor_pass"(rx375_pos, "statement_mod_loop:sym<while>")
-    rx375_cur."!cursor_debug"("PASS  ", "statement_mod_loop:sym<while>", " at pos=", rx375_pos)
+    rx375_cur."!cursor_pass"(rx375_pos, "statement_mod_cond:sym<if>")
+    rx375_cur."!cursor_debug"("PASS  ", "statement_mod_cond:sym<if>", " at pos=", rx375_pos)
     .return (rx375_cur)
   rx375_fail:
 .annotate "line", 4
@@ -4653,23 +4661,23 @@
     jump $I10
   rx375_done:
     rx375_cur."!cursor_fail"()
-    rx375_cur."!cursor_debug"("FAIL  ", "statement_mod_loop:sym<while>")
+    rx375_cur."!cursor_debug"("FAIL  ", "statement_mod_cond:sym<if>")
     .return (rx375_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__statement_mod_loop:sym<while>"  :subid("88_1259103982.97329") :method
+.sub "!PREFIX__statement_mod_cond:sym<if>"  :subid("86_1259177761.22934") :method
 .annotate "line", 4
     new $P377, "ResizablePMCArray"
-    push $P377, "while"
+    push $P377, "if"
     .return ($P377)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "statement_mod_loop:sym<until>"  :subid("89_1259103982.97329") :method :outer("11_1259103982.97329")
+.sub "statement_mod_cond:sym<unless>"  :subid("87_1259177761.22934") :method :outer("11_1259177761.22934")
 .annotate "line", 4
     .local string rx383_tgt
     .local int rx383_pos
@@ -4678,7 +4686,7 @@
     .local int rx383_rep
     .local pmc rx383_cur
     (rx383_cur, rx383_pos, rx383_tgt) = self."!cursor_start"()
-    rx383_cur."!cursor_debug"("START ", "statement_mod_loop:sym<until>")
+    rx383_cur."!cursor_debug"("START ", "statement_mod_cond:sym<unless>")
     .lex unicode:"$\x{a2}", rx383_cur
     .local pmc match
     .lex "$/", match
@@ -4700,17 +4708,17 @@
     set_addr $I10, rxscan386_loop
     rx383_cur."!mark_push"(0, rx383_pos, $I10)
   rxscan386_done:
-.annotate "line", 202
+.annotate "line", 207
   # rx subcapture "sym"
     set_addr $I10, rxcap_387_fail
     rx383_cur."!mark_push"(0, rx383_pos, $I10)
-  # rx literal  "until"
-    add $I11, rx383_pos, 5
+  # rx literal  "unless"
+    add $I11, rx383_pos, 6
     gt $I11, rx383_eos, rx383_fail
     sub $I11, rx383_pos, rx383_off
-    substr $S10, rx383_tgt, $I11, 5
-    ne $S10, "until", rx383_fail
-    add rx383_pos, 5
+    substr $S10, rx383_tgt, $I11, 6
+    ne $S10, "unless", rx383_fail
+    add rx383_pos, 6
     set_addr $I10, rxcap_387_fail
     ($I12, $I11) = rx383_cur."!mark_peek"($I10)
     rx383_cur."!cursor_pos"($I11)
@@ -4740,8 +4748,8 @@
     unless $P10, rx383_fail
     rx383_pos = $P10."pos"()
   # rx pass
-    rx383_cur."!cursor_pass"(rx383_pos, "statement_mod_loop:sym<until>")
-    rx383_cur."!cursor_debug"("PASS  ", "statement_mod_loop:sym<until>", " at pos=", rx383_pos)
+    rx383_cur."!cursor_pass"(rx383_pos, "statement_mod_cond:sym<unless>")
+    rx383_cur."!cursor_debug"("PASS  ", "statement_mod_cond:sym<unless>", " at pos=", rx383_pos)
     .return (rx383_cur)
   rx383_fail:
 .annotate "line", 4
@@ -4751,159 +4759,137 @@
     jump $I10
   rx383_done:
     rx383_cur."!cursor_fail"()
-    rx383_cur."!cursor_debug"("FAIL  ", "statement_mod_loop:sym<until>")
+    rx383_cur."!cursor_debug"("FAIL  ", "statement_mod_cond:sym<unless>")
     .return (rx383_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__statement_mod_loop:sym<until>"  :subid("90_1259103982.97329") :method
+.sub "!PREFIX__statement_mod_cond:sym<unless>"  :subid("88_1259177761.22934") :method
 .annotate "line", 4
     new $P385, "ResizablePMCArray"
-    push $P385, "until"
+    push $P385, "unless"
     .return ($P385)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "term:sym<colonpair>"  :subid("91_1259103982.97329") :method :outer("11_1259103982.97329")
-.annotate "line", 4
-    .local string rx391_tgt
-    .local int rx391_pos
-    .local int rx391_off
-    .local int rx391_eos
-    .local int rx391_rep
-    .local pmc rx391_cur
-    (rx391_cur, rx391_pos, rx391_tgt) = self."!cursor_start"()
-    rx391_cur."!cursor_debug"("START ", "term:sym<colonpair>")
-    .lex unicode:"$\x{a2}", rx391_cur
-    .local pmc match
-    .lex "$/", match
-    length rx391_eos, rx391_tgt
-    set rx391_off, 0
-    lt rx391_pos, 2, rx391_start
-    sub rx391_off, rx391_pos, 1
-    substr rx391_tgt, rx391_tgt, rx391_off
-  rx391_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan395_done
-    goto rxscan395_scan
-  rxscan395_loop:
-    ($P10) = rx391_cur."from"()
-    inc $P10
-    set rx391_pos, $P10
-    ge rx391_pos, rx391_eos, rxscan395_done
-  rxscan395_scan:
-    set_addr $I10, rxscan395_loop
-    rx391_cur."!mark_push"(0, rx391_pos, $I10)
-  rxscan395_done:
-.annotate "line", 206
-  # rx subrule "colonpair" subtype=capture negate=
-    rx391_cur."!cursor_pos"(rx391_pos)
-    $P10 = rx391_cur."colonpair"()
-    unless $P10, rx391_fail
-    rx391_cur."!mark_push"(0, -1, 0, $P10)
-    $P10."!cursor_names"("colonpair")
-    rx391_pos = $P10."pos"()
-  # rx pass
-    rx391_cur."!cursor_pass"(rx391_pos, "term:sym<colonpair>")
-    rx391_cur."!cursor_debug"("PASS  ", "term:sym<colonpair>", " at pos=", rx391_pos)
-    .return (rx391_cur)
-  rx391_fail:
-.annotate "line", 4
-    (rx391_rep, rx391_pos, $I10, $P10) = rx391_cur."!mark_fail"(0)
-    lt rx391_pos, -1, rx391_done
-    eq rx391_pos, -1, rx391_fail
-    jump $I10
-  rx391_done:
-    rx391_cur."!cursor_fail"()
-    rx391_cur."!cursor_debug"("FAIL  ", "term:sym<colonpair>")
-    .return (rx391_cur)
-    .return ()
+.sub "statement_mod_loop"  :subid("89_1259177761.22934") :method
+.annotate "line", 209
+    $P391 = self."!protoregex"("statement_mod_loop")
+    .return ($P391)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__term:sym<colonpair>"  :subid("92_1259103982.97329") :method
-.annotate "line", 4
-    $P393 = self."!PREFIX__!subrule"("colonpair", "")
-    new $P394, "ResizablePMCArray"
-    push $P394, $P393
-    .return ($P394)
+.sub "!PREFIX__statement_mod_loop"  :subid("90_1259177761.22934") :method
+.annotate "line", 209
+    $P393 = self."!PREFIX__!protoregex"("statement_mod_loop")
+    .return ($P393)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "term:sym<variable>"  :subid("93_1259103982.97329") :method :outer("11_1259103982.97329")
+.sub "statement_mod_loop:sym<while>"  :subid("91_1259177761.22934") :method :outer("11_1259177761.22934")
 .annotate "line", 4
-    .local string rx397_tgt
-    .local int rx397_pos
-    .local int rx397_off
-    .local int rx397_eos
-    .local int rx397_rep
-    .local pmc rx397_cur
-    (rx397_cur, rx397_pos, rx397_tgt) = self."!cursor_start"()
-    rx397_cur."!cursor_debug"("START ", "term:sym<variable>")
-    .lex unicode:"$\x{a2}", rx397_cur
-    .local pmc match
-    .lex "$/", match
-    length rx397_eos, rx397_tgt
-    set rx397_off, 0
-    lt rx397_pos, 2, rx397_start
-    sub rx397_off, rx397_pos, 1
-    substr rx397_tgt, rx397_tgt, rx397_off
-  rx397_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan401_done
-    goto rxscan401_scan
-  rxscan401_loop:
-    ($P10) = rx397_cur."from"()
-    inc $P10
-    set rx397_pos, $P10
-    ge rx397_pos, rx397_eos, rxscan401_done
-  rxscan401_scan:
-    set_addr $I10, rxscan401_loop
-    rx397_cur."!mark_push"(0, rx397_pos, $I10)
-  rxscan401_done:
-.annotate "line", 207
-  # rx subrule "variable" subtype=capture negate=
-    rx397_cur."!cursor_pos"(rx397_pos)
-    $P10 = rx397_cur."variable"()
-    unless $P10, rx397_fail
-    rx397_cur."!mark_push"(0, -1, 0, $P10)
-    $P10."!cursor_names"("variable")
-    rx397_pos = $P10."pos"()
+    .local string rx395_tgt
+    .local int rx395_pos
+    .local int rx395_off
+    .local int rx395_eos
+    .local int rx395_rep
+    .local pmc rx395_cur
+    (rx395_cur, rx395_pos, rx395_tgt) = self."!cursor_start"()
+    rx395_cur."!cursor_debug"("START ", "statement_mod_loop:sym<while>")
+    .lex unicode:"$\x{a2}", rx395_cur
+    .local pmc match
+    .lex "$/", match
+    length rx395_eos, rx395_tgt
+    set rx395_off, 0
+    lt rx395_pos, 2, rx395_start
+    sub rx395_off, rx395_pos, 1
+    substr rx395_tgt, rx395_tgt, rx395_off
+  rx395_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan398_done
+    goto rxscan398_scan
+  rxscan398_loop:
+    ($P10) = rx395_cur."from"()
+    inc $P10
+    set rx395_pos, $P10
+    ge rx395_pos, rx395_eos, rxscan398_done
+  rxscan398_scan:
+    set_addr $I10, rxscan398_loop
+    rx395_cur."!mark_push"(0, rx395_pos, $I10)
+  rxscan398_done:
+.annotate "line", 211
+  # rx subcapture "sym"
+    set_addr $I10, rxcap_399_fail
+    rx395_cur."!mark_push"(0, rx395_pos, $I10)
+  # rx literal  "while"
+    add $I11, rx395_pos, 5
+    gt $I11, rx395_eos, rx395_fail
+    sub $I11, rx395_pos, rx395_off
+    substr $S10, rx395_tgt, $I11, 5
+    ne $S10, "while", rx395_fail
+    add rx395_pos, 5
+    set_addr $I10, rxcap_399_fail
+    ($I12, $I11) = rx395_cur."!mark_peek"($I10)
+    rx395_cur."!cursor_pos"($I11)
+    ($P10) = rx395_cur."!cursor_start"()
+    $P10."!cursor_pass"(rx395_pos, "")
+    rx395_cur."!mark_push"(0, -1, 0, $P10)
+    $P10."!cursor_names"("sym")
+    goto rxcap_399_done
+  rxcap_399_fail:
+    goto rx395_fail
+  rxcap_399_done:
+  # rx subrule "ws" subtype=method negate=
+    rx395_cur."!cursor_pos"(rx395_pos)
+    $P10 = rx395_cur."ws"()
+    unless $P10, rx395_fail
+    rx395_pos = $P10."pos"()
+  # rx subrule "EXPR" subtype=capture negate=
+    rx395_cur."!cursor_pos"(rx395_pos)
+    $P10 = rx395_cur."EXPR"()
+    unless $P10, rx395_fail
+    rx395_cur."!mark_push"(0, -1, 0, $P10)
+    $P10."!cursor_names"("cond")
+    rx395_pos = $P10."pos"()
+  # rx subrule "ws" subtype=method negate=
+    rx395_cur."!cursor_pos"(rx395_pos)
+    $P10 = rx395_cur."ws"()
+    unless $P10, rx395_fail
+    rx395_pos = $P10."pos"()
   # rx pass
-    rx397_cur."!cursor_pass"(rx397_pos, "term:sym<variable>")
-    rx397_cur."!cursor_debug"("PASS  ", "term:sym<variable>", " at pos=", rx397_pos)
-    .return (rx397_cur)
-  rx397_fail:
+    rx395_cur."!cursor_pass"(rx395_pos, "statement_mod_loop:sym<while>")
+    rx395_cur."!cursor_debug"("PASS  ", "statement_mod_loop:sym<while>", " at pos=", rx395_pos)
+    .return (rx395_cur)
+  rx395_fail:
 .annotate "line", 4
-    (rx397_rep, rx397_pos, $I10, $P10) = rx397_cur."!mark_fail"(0)
-    lt rx397_pos, -1, rx397_done
-    eq rx397_pos, -1, rx397_fail
+    (rx395_rep, rx395_pos, $I10, $P10) = rx395_cur."!mark_fail"(0)
+    lt rx395_pos, -1, rx395_done
+    eq rx395_pos, -1, rx395_fail
     jump $I10
-  rx397_done:
-    rx397_cur."!cursor_fail"()
-    rx397_cur."!cursor_debug"("FAIL  ", "term:sym<variable>")
-    .return (rx397_cur)
+  rx395_done:
+    rx395_cur."!cursor_fail"()
+    rx395_cur."!cursor_debug"("FAIL  ", "statement_mod_loop:sym<while>")
+    .return (rx395_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__term:sym<variable>"  :subid("94_1259103982.97329") :method
+.sub "!PREFIX__statement_mod_loop:sym<while>"  :subid("92_1259177761.22934") :method
 .annotate "line", 4
-    $P399 = self."!PREFIX__!subrule"("variable", "")
-    new $P400, "ResizablePMCArray"
-    push $P400, $P399
-    .return ($P400)
+    new $P397, "ResizablePMCArray"
+    push $P397, "while"
+    .return ($P397)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "term:sym<package_declarator>"  :subid("95_1259103982.97329") :method :outer("11_1259103982.97329")
+.sub "statement_mod_loop:sym<until>"  :subid("93_1259177761.22934") :method :outer("11_1259177761.22934")
 .annotate "line", 4
     .local string rx403_tgt
     .local int rx403_pos
@@ -4912,7 +4898,7 @@
     .local int rx403_rep
     .local pmc rx403_cur
     (rx403_cur, rx403_pos, rx403_tgt) = self."!cursor_start"()
-    rx403_cur."!cursor_debug"("START ", "term:sym<package_declarator>")
+    rx403_cur."!cursor_debug"("START ", "statement_mod_loop:sym<until>")
     .lex unicode:"$\x{a2}", rx403_cur
     .local pmc match
     .lex "$/", match
@@ -4923,28 +4909,59 @@
     substr rx403_tgt, rx403_tgt, rx403_off
   rx403_start:
     $I10 = self.'from'()
-    ne $I10, -1, rxscan407_done
-    goto rxscan407_scan
-  rxscan407_loop:
+    ne $I10, -1, rxscan406_done
+    goto rxscan406_scan
+  rxscan406_loop:
     ($P10) = rx403_cur."from"()
     inc $P10
     set rx403_pos, $P10
-    ge rx403_pos, rx403_eos, rxscan407_done
-  rxscan407_scan:
-    set_addr $I10, rxscan407_loop
+    ge rx403_pos, rx403_eos, rxscan406_done
+  rxscan406_scan:
+    set_addr $I10, rxscan406_loop
     rx403_cur."!mark_push"(0, rx403_pos, $I10)
-  rxscan407_done:
-.annotate "line", 208
-  # rx subrule "package_declarator" subtype=capture negate=
+  rxscan406_done:
+.annotate "line", 212
+  # rx subcapture "sym"
+    set_addr $I10, rxcap_407_fail
+    rx403_cur."!mark_push"(0, rx403_pos, $I10)
+  # rx literal  "until"
+    add $I11, rx403_pos, 5
+    gt $I11, rx403_eos, rx403_fail
+    sub $I11, rx403_pos, rx403_off
+    substr $S10, rx403_tgt, $I11, 5
+    ne $S10, "until", rx403_fail
+    add rx403_pos, 5
+    set_addr $I10, rxcap_407_fail
+    ($I12, $I11) = rx403_cur."!mark_peek"($I10)
+    rx403_cur."!cursor_pos"($I11)
+    ($P10) = rx403_cur."!cursor_start"()
+    $P10."!cursor_pass"(rx403_pos, "")
+    rx403_cur."!mark_push"(0, -1, 0, $P10)
+    $P10."!cursor_names"("sym")
+    goto rxcap_407_done
+  rxcap_407_fail:
+    goto rx403_fail
+  rxcap_407_done:
+  # rx subrule "ws" subtype=method negate=
+    rx403_cur."!cursor_pos"(rx403_pos)
+    $P10 = rx403_cur."ws"()
+    unless $P10, rx403_fail
+    rx403_pos = $P10."pos"()
+  # rx subrule "EXPR" subtype=capture negate=
     rx403_cur."!cursor_pos"(rx403_pos)
-    $P10 = rx403_cur."package_declarator"()
+    $P10 = rx403_cur."EXPR"()
     unless $P10, rx403_fail
     rx403_cur."!mark_push"(0, -1, 0, $P10)
-    $P10."!cursor_names"("package_declarator")
+    $P10."!cursor_names"("cond")
+    rx403_pos = $P10."pos"()
+  # rx subrule "ws" subtype=method negate=
+    rx403_cur."!cursor_pos"(rx403_pos)
+    $P10 = rx403_cur."ws"()
+    unless $P10, rx403_fail
     rx403_pos = $P10."pos"()
   # rx pass
-    rx403_cur."!cursor_pass"(rx403_pos, "term:sym<package_declarator>")
-    rx403_cur."!cursor_debug"("PASS  ", "term:sym<package_declarator>", " at pos=", rx403_pos)
+    rx403_cur."!cursor_pass"(rx403_pos, "statement_mod_loop:sym<until>")
+    rx403_cur."!cursor_debug"("PASS  ", "statement_mod_loop:sym<until>", " at pos=", rx403_pos)
     .return (rx403_cur)
   rx403_fail:
 .annotate "line", 4
@@ -4954,3608 +4971,3557 @@
     jump $I10
   rx403_done:
     rx403_cur."!cursor_fail"()
-    rx403_cur."!cursor_debug"("FAIL  ", "term:sym<package_declarator>")
+    rx403_cur."!cursor_debug"("FAIL  ", "statement_mod_loop:sym<until>")
     .return (rx403_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__term:sym<package_declarator>"  :subid("96_1259103982.97329") :method
+.sub "!PREFIX__statement_mod_loop:sym<until>"  :subid("94_1259177761.22934") :method
 .annotate "line", 4
-    $P405 = self."!PREFIX__!subrule"("package_declarator", "")
-    new $P406, "ResizablePMCArray"
-    push $P406, $P405
-    .return ($P406)
+    new $P405, "ResizablePMCArray"
+    push $P405, "until"
+    .return ($P405)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "term:sym<scope_declarator>"  :subid("97_1259103982.97329") :method :outer("11_1259103982.97329")
-.annotate "line", 4
-    .local string rx409_tgt
-    .local int rx409_pos
-    .local int rx409_off
-    .local int rx409_eos
-    .local int rx409_rep
-    .local pmc rx409_cur
-    (rx409_cur, rx409_pos, rx409_tgt) = self."!cursor_start"()
-    rx409_cur."!cursor_debug"("START ", "term:sym<scope_declarator>")
-    .lex unicode:"$\x{a2}", rx409_cur
-    .local pmc match
-    .lex "$/", match
-    length rx409_eos, rx409_tgt
-    set rx409_off, 0
-    lt rx409_pos, 2, rx409_start
-    sub rx409_off, rx409_pos, 1
-    substr rx409_tgt, rx409_tgt, rx409_off
-  rx409_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan413_done
-    goto rxscan413_scan
-  rxscan413_loop:
-    ($P10) = rx409_cur."from"()
-    inc $P10
-    set rx409_pos, $P10
-    ge rx409_pos, rx409_eos, rxscan413_done
-  rxscan413_scan:
-    set_addr $I10, rxscan413_loop
-    rx409_cur."!mark_push"(0, rx409_pos, $I10)
-  rxscan413_done:
-.annotate "line", 209
-  # rx subrule "scope_declarator" subtype=capture negate=
-    rx409_cur."!cursor_pos"(rx409_pos)
-    $P10 = rx409_cur."scope_declarator"()
-    unless $P10, rx409_fail
-    rx409_cur."!mark_push"(0, -1, 0, $P10)
-    $P10."!cursor_names"("scope_declarator")
-    rx409_pos = $P10."pos"()
+.sub "term:sym<colonpair>"  :subid("95_1259177761.22934") :method :outer("11_1259177761.22934")
+.annotate "line", 4
+    .local string rx411_tgt
+    .local int rx411_pos
+    .local int rx411_off
+    .local int rx411_eos
+    .local int rx411_rep
+    .local pmc rx411_cur
+    (rx411_cur, rx411_pos, rx411_tgt) = self."!cursor_start"()
+    rx411_cur."!cursor_debug"("START ", "term:sym<colonpair>")
+    .lex unicode:"$\x{a2}", rx411_cur
+    .local pmc match
+    .lex "$/", match
+    length rx411_eos, rx411_tgt
+    set rx411_off, 0
+    lt rx411_pos, 2, rx411_start
+    sub rx411_off, rx411_pos, 1
+    substr rx411_tgt, rx411_tgt, rx411_off
+  rx411_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan415_done
+    goto rxscan415_scan
+  rxscan415_loop:
+    ($P10) = rx411_cur."from"()
+    inc $P10
+    set rx411_pos, $P10
+    ge rx411_pos, rx411_eos, rxscan415_done
+  rxscan415_scan:
+    set_addr $I10, rxscan415_loop
+    rx411_cur."!mark_push"(0, rx411_pos, $I10)
+  rxscan415_done:
+.annotate "line", 216
+  # rx subrule "colonpair" subtype=capture negate=
+    rx411_cur."!cursor_pos"(rx411_pos)
+    $P10 = rx411_cur."colonpair"()
+    unless $P10, rx411_fail
+    rx411_cur."!mark_push"(0, -1, 0, $P10)
+    $P10."!cursor_names"("colonpair")
+    rx411_pos = $P10."pos"()
   # rx pass
-    rx409_cur."!cursor_pass"(rx409_pos, "term:sym<scope_declarator>")
-    rx409_cur."!cursor_debug"("PASS  ", "term:sym<scope_declarator>", " at pos=", rx409_pos)
-    .return (rx409_cur)
-  rx409_fail:
+    rx411_cur."!cursor_pass"(rx411_pos, "term:sym<colonpair>")
+    rx411_cur."!cursor_debug"("PASS  ", "term:sym<colonpair>", " at pos=", rx411_pos)
+    .return (rx411_cur)
+  rx411_fail:
 .annotate "line", 4
-    (rx409_rep, rx409_pos, $I10, $P10) = rx409_cur."!mark_fail"(0)
-    lt rx409_pos, -1, rx409_done
-    eq rx409_pos, -1, rx409_fail
+    (rx411_rep, rx411_pos, $I10, $P10) = rx411_cur."!mark_fail"(0)
+    lt rx411_pos, -1, rx411_done
+    eq rx411_pos, -1, rx411_fail
     jump $I10
-  rx409_done:
-    rx409_cur."!cursor_fail"()
-    rx409_cur."!cursor_debug"("FAIL  ", "term:sym<scope_declarator>")
-    .return (rx409_cur)
+  rx411_done:
+    rx411_cur."!cursor_fail"()
+    rx411_cur."!cursor_debug"("FAIL  ", "term:sym<colonpair>")
+    .return (rx411_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__term:sym<scope_declarator>"  :subid("98_1259103982.97329") :method
+.sub "!PREFIX__term:sym<colonpair>"  :subid("96_1259177761.22934") :method
 .annotate "line", 4
-    $P411 = self."!PREFIX__!subrule"("scope_declarator", "")
-    new $P412, "ResizablePMCArray"
-    push $P412, $P411
-    .return ($P412)
+    $P413 = self."!PREFIX__!subrule"("colonpair", "")
+    new $P414, "ResizablePMCArray"
+    push $P414, $P413
+    .return ($P414)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "term:sym<routine_declarator>"  :subid("99_1259103982.97329") :method :outer("11_1259103982.97329")
+.sub "term:sym<variable>"  :subid("97_1259177761.22934") :method :outer("11_1259177761.22934")
 .annotate "line", 4
-    .local string rx415_tgt
-    .local int rx415_pos
-    .local int rx415_off
-    .local int rx415_eos
-    .local int rx415_rep
-    .local pmc rx415_cur
-    (rx415_cur, rx415_pos, rx415_tgt) = self."!cursor_start"()
-    rx415_cur."!cursor_debug"("START ", "term:sym<routine_declarator>")
-    .lex unicode:"$\x{a2}", rx415_cur
+    .local string rx417_tgt
+    .local int rx417_pos
+    .local int rx417_off
+    .local int rx417_eos
+    .local int rx417_rep
+    .local pmc rx417_cur
+    (rx417_cur, rx417_pos, rx417_tgt) = self."!cursor_start"()
+    rx417_cur."!cursor_debug"("START ", "term:sym<variable>")
+    .lex unicode:"$\x{a2}", rx417_cur
     .local pmc match
     .lex "$/", match
-    length rx415_eos, rx415_tgt
-    set rx415_off, 0
-    lt rx415_pos, 2, rx415_start
-    sub rx415_off, rx415_pos, 1
-    substr rx415_tgt, rx415_tgt, rx415_off
-  rx415_start:
+    length rx417_eos, rx417_tgt
+    set rx417_off, 0
+    lt rx417_pos, 2, rx417_start
+    sub rx417_off, rx417_pos, 1
+    substr rx417_tgt, rx417_tgt, rx417_off
+  rx417_start:
     $I10 = self.'from'()
-    ne $I10, -1, rxscan419_done
-    goto rxscan419_scan
-  rxscan419_loop:
-    ($P10) = rx415_cur."from"()
+    ne $I10, -1, rxscan421_done
+    goto rxscan421_scan
+  rxscan421_loop:
+    ($P10) = rx417_cur."from"()
     inc $P10
-    set rx415_pos, $P10
-    ge rx415_pos, rx415_eos, rxscan419_done
-  rxscan419_scan:
-    set_addr $I10, rxscan419_loop
-    rx415_cur."!mark_push"(0, rx415_pos, $I10)
-  rxscan419_done:
-.annotate "line", 210
-  # rx subrule "routine_declarator" subtype=capture negate=
-    rx415_cur."!cursor_pos"(rx415_pos)
-    $P10 = rx415_cur."routine_declarator"()
-    unless $P10, rx415_fail
-    rx415_cur."!mark_push"(0, -1, 0, $P10)
-    $P10."!cursor_names"("routine_declarator")
-    rx415_pos = $P10."pos"()
+    set rx417_pos, $P10
+    ge rx417_pos, rx417_eos, rxscan421_done
+  rxscan421_scan:
+    set_addr $I10, rxscan421_loop
+    rx417_cur."!mark_push"(0, rx417_pos, $I10)
+  rxscan421_done:
+.annotate "line", 217
+  # rx subrule "variable" subtype=capture negate=
+    rx417_cur."!cursor_pos"(rx417_pos)
+    $P10 = rx417_cur."variable"()
+    unless $P10, rx417_fail
+    rx417_cur."!mark_push"(0, -1, 0, $P10)
+    $P10."!cursor_names"("variable")
+    rx417_pos = $P10."pos"()
   # rx pass
-    rx415_cur."!cursor_pass"(rx415_pos, "term:sym<routine_declarator>")
-    rx415_cur."!cursor_debug"("PASS  ", "term:sym<routine_declarator>", " at pos=", rx415_pos)
-    .return (rx415_cur)
-  rx415_fail:
+    rx417_cur."!cursor_pass"(rx417_pos, "term:sym<variable>")
+    rx417_cur."!cursor_debug"("PASS  ", "term:sym<variable>", " at pos=", rx417_pos)
+    .return (rx417_cur)
+  rx417_fail:
 .annotate "line", 4
-    (rx415_rep, rx415_pos, $I10, $P10) = rx415_cur."!mark_fail"(0)
-    lt rx415_pos, -1, rx415_done
-    eq rx415_pos, -1, rx415_fail
+    (rx417_rep, rx417_pos, $I10, $P10) = rx417_cur."!mark_fail"(0)
+    lt rx417_pos, -1, rx417_done
+    eq rx417_pos, -1, rx417_fail
     jump $I10
-  rx415_done:
-    rx415_cur."!cursor_fail"()
-    rx415_cur."!cursor_debug"("FAIL  ", "term:sym<routine_declarator>")
-    .return (rx415_cur)
+  rx417_done:
+    rx417_cur."!cursor_fail"()
+    rx417_cur."!cursor_debug"("FAIL  ", "term:sym<variable>")
+    .return (rx417_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__term:sym<routine_declarator>"  :subid("100_1259103982.97329") :method
+.sub "!PREFIX__term:sym<variable>"  :subid("98_1259177761.22934") :method
 .annotate "line", 4
-    $P417 = self."!PREFIX__!subrule"("routine_declarator", "")
-    new $P418, "ResizablePMCArray"
-    push $P418, $P417
-    .return ($P418)
+    $P419 = self."!PREFIX__!subrule"("variable", "")
+    new $P420, "ResizablePMCArray"
+    push $P420, $P419
+    .return ($P420)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "term:sym<regex_declarator>"  :subid("101_1259103982.97329") :method :outer("11_1259103982.97329")
+.sub "term:sym<package_declarator>"  :subid("99_1259177761.22934") :method :outer("11_1259177761.22934")
 .annotate "line", 4
-    .local string rx421_tgt
-    .local int rx421_pos
-    .local int rx421_off
-    .local int rx421_eos
-    .local int rx421_rep
-    .local pmc rx421_cur
-    (rx421_cur, rx421_pos, rx421_tgt) = self."!cursor_start"()
-    rx421_cur."!cursor_debug"("START ", "term:sym<regex_declarator>")
-    .lex unicode:"$\x{a2}", rx421_cur
+    .local string rx423_tgt
+    .local int rx423_pos
+    .local int rx423_off
+    .local int rx423_eos
+    .local int rx423_rep
+    .local pmc rx423_cur
+    (rx423_cur, rx423_pos, rx423_tgt) = self."!cursor_start"()
+    rx423_cur."!cursor_debug"("START ", "term:sym<package_declarator>")
+    .lex unicode:"$\x{a2}", rx423_cur
     .local pmc match
     .lex "$/", match
-    length rx421_eos, rx421_tgt
-    set rx421_off, 0
-    lt rx421_pos, 2, rx421_start
-    sub rx421_off, rx421_pos, 1
-    substr rx421_tgt, rx421_tgt, rx421_off
-  rx421_start:
+    length rx423_eos, rx423_tgt
+    set rx423_off, 0
+    lt rx423_pos, 2, rx423_start
+    sub rx423_off, rx423_pos, 1
+    substr rx423_tgt, rx423_tgt, rx423_off
+  rx423_start:
     $I10 = self.'from'()
-    ne $I10, -1, rxscan425_done
-    goto rxscan425_scan
-  rxscan425_loop:
-    ($P10) = rx421_cur."from"()
+    ne $I10, -1, rxscan427_done
+    goto rxscan427_scan
+  rxscan427_loop:
+    ($P10) = rx423_cur."from"()
     inc $P10
-    set rx421_pos, $P10
-    ge rx421_pos, rx421_eos, rxscan425_done
-  rxscan425_scan:
-    set_addr $I10, rxscan425_loop
-    rx421_cur."!mark_push"(0, rx421_pos, $I10)
-  rxscan425_done:
-.annotate "line", 211
-  # rx subrule "regex_declarator" subtype=capture negate=
-    rx421_cur."!cursor_pos"(rx421_pos)
-    $P10 = rx421_cur."regex_declarator"()
-    unless $P10, rx421_fail
-    rx421_cur."!mark_push"(0, -1, 0, $P10)
-    $P10."!cursor_names"("regex_declarator")
-    rx421_pos = $P10."pos"()
+    set rx423_pos, $P10
+    ge rx423_pos, rx423_eos, rxscan427_done
+  rxscan427_scan:
+    set_addr $I10, rxscan427_loop
+    rx423_cur."!mark_push"(0, rx423_pos, $I10)
+  rxscan427_done:
+.annotate "line", 218
+  # rx subrule "package_declarator" subtype=capture negate=
+    rx423_cur."!cursor_pos"(rx423_pos)
+    $P10 = rx423_cur."package_declarator"()
+    unless $P10, rx423_fail
+    rx423_cur."!mark_push"(0, -1, 0, $P10)
+    $P10."!cursor_names"("package_declarator")
+    rx423_pos = $P10."pos"()
   # rx pass
-    rx421_cur."!cursor_pass"(rx421_pos, "term:sym<regex_declarator>")
-    rx421_cur."!cursor_debug"("PASS  ", "term:sym<regex_declarator>", " at pos=", rx421_pos)
-    .return (rx421_cur)
-  rx421_fail:
+    rx423_cur."!cursor_pass"(rx423_pos, "term:sym<package_declarator>")
+    rx423_cur."!cursor_debug"("PASS  ", "term:sym<package_declarator>", " at pos=", rx423_pos)
+    .return (rx423_cur)
+  rx423_fail:
 .annotate "line", 4
-    (rx421_rep, rx421_pos, $I10, $P10) = rx421_cur."!mark_fail"(0)
-    lt rx421_pos, -1, rx421_done
-    eq rx421_pos, -1, rx421_fail
+    (rx423_rep, rx423_pos, $I10, $P10) = rx423_cur."!mark_fail"(0)
+    lt rx423_pos, -1, rx423_done
+    eq rx423_pos, -1, rx423_fail
     jump $I10
-  rx421_done:
-    rx421_cur."!cursor_fail"()
-    rx421_cur."!cursor_debug"("FAIL  ", "term:sym<regex_declarator>")
-    .return (rx421_cur)
+  rx423_done:
+    rx423_cur."!cursor_fail"()
+    rx423_cur."!cursor_debug"("FAIL  ", "term:sym<package_declarator>")
+    .return (rx423_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__term:sym<regex_declarator>"  :subid("102_1259103982.97329") :method
+.sub "!PREFIX__term:sym<package_declarator>"  :subid("100_1259177761.22934") :method
 .annotate "line", 4
-    $P423 = self."!PREFIX__!subrule"("regex_declarator", "")
-    new $P424, "ResizablePMCArray"
-    push $P424, $P423
-    .return ($P424)
+    $P425 = self."!PREFIX__!subrule"("package_declarator", "")
+    new $P426, "ResizablePMCArray"
+    push $P426, $P425
+    .return ($P426)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "term:sym<statement_prefix>"  :subid("103_1259103982.97329") :method :outer("11_1259103982.97329")
+.sub "term:sym<scope_declarator>"  :subid("101_1259177761.22934") :method :outer("11_1259177761.22934")
 .annotate "line", 4
-    .local string rx427_tgt
-    .local int rx427_pos
-    .local int rx427_off
-    .local int rx427_eos
-    .local int rx427_rep
-    .local pmc rx427_cur
-    (rx427_cur, rx427_pos, rx427_tgt) = self."!cursor_start"()
-    rx427_cur."!cursor_debug"("START ", "term:sym<statement_prefix>")
-    .lex unicode:"$\x{a2}", rx427_cur
+    .local string rx429_tgt
+    .local int rx429_pos
+    .local int rx429_off
+    .local int rx429_eos
+    .local int rx429_rep
+    .local pmc rx429_cur
+    (rx429_cur, rx429_pos, rx429_tgt) = self."!cursor_start"()
+    rx429_cur."!cursor_debug"("START ", "term:sym<scope_declarator>")
+    .lex unicode:"$\x{a2}", rx429_cur
     .local pmc match
     .lex "$/", match
-    length rx427_eos, rx427_tgt
-    set rx427_off, 0
-    lt rx427_pos, 2, rx427_start
-    sub rx427_off, rx427_pos, 1
-    substr rx427_tgt, rx427_tgt, rx427_off
-  rx427_start:
+    length rx429_eos, rx429_tgt
+    set rx429_off, 0
+    lt rx429_pos, 2, rx429_start
+    sub rx429_off, rx429_pos, 1
+    substr rx429_tgt, rx429_tgt, rx429_off
+  rx429_start:
     $I10 = self.'from'()
-    ne $I10, -1, rxscan431_done
-    goto rxscan431_scan
-  rxscan431_loop:
-    ($P10) = rx427_cur."from"()
+    ne $I10, -1, rxscan433_done
+    goto rxscan433_scan
+  rxscan433_loop:
+    ($P10) = rx429_cur."from"()
     inc $P10
-    set rx427_pos, $P10
-    ge rx427_pos, rx427_eos, rxscan431_done
-  rxscan431_scan:
-    set_addr $I10, rxscan431_loop
-    rx427_cur."!mark_push"(0, rx427_pos, $I10)
-  rxscan431_done:
-.annotate "line", 212
-  # rx subrule "statement_prefix" subtype=capture negate=
-    rx427_cur."!cursor_pos"(rx427_pos)
-    $P10 = rx427_cur."statement_prefix"()
-    unless $P10, rx427_fail
-    rx427_cur."!mark_push"(0, -1, 0, $P10)
-    $P10."!cursor_names"("statement_prefix")
-    rx427_pos = $P10."pos"()
+    set rx429_pos, $P10
+    ge rx429_pos, rx429_eos, rxscan433_done
+  rxscan433_scan:
+    set_addr $I10, rxscan433_loop
+    rx429_cur."!mark_push"(0, rx429_pos, $I10)
+  rxscan433_done:
+.annotate "line", 219
+  # rx subrule "scope_declarator" subtype=capture negate=
+    rx429_cur."!cursor_pos"(rx429_pos)
+    $P10 = rx429_cur."scope_declarator"()
+    unless $P10, rx429_fail
+    rx429_cur."!mark_push"(0, -1, 0, $P10)
+    $P10."!cursor_names"("scope_declarator")
+    rx429_pos = $P10."pos"()
   # rx pass
-    rx427_cur."!cursor_pass"(rx427_pos, "term:sym<statement_prefix>")
-    rx427_cur."!cursor_debug"("PASS  ", "term:sym<statement_prefix>", " at pos=", rx427_pos)
-    .return (rx427_cur)
-  rx427_fail:
+    rx429_cur."!cursor_pass"(rx429_pos, "term:sym<scope_declarator>")
+    rx429_cur."!cursor_debug"("PASS  ", "term:sym<scope_declarator>", " at pos=", rx429_pos)
+    .return (rx429_cur)
+  rx429_fail:
 .annotate "line", 4
-    (rx427_rep, rx427_pos, $I10, $P10) = rx427_cur."!mark_fail"(0)
-    lt rx427_pos, -1, rx427_done
-    eq rx427_pos, -1, rx427_fail
+    (rx429_rep, rx429_pos, $I10, $P10) = rx429_cur."!mark_fail"(0)
+    lt rx429_pos, -1, rx429_done
+    eq rx429_pos, -1, rx429_fail
     jump $I10
-  rx427_done:
-    rx427_cur."!cursor_fail"()
-    rx427_cur."!cursor_debug"("FAIL  ", "term:sym<statement_prefix>")
-    .return (rx427_cur)
+  rx429_done:
+    rx429_cur."!cursor_fail"()
+    rx429_cur."!cursor_debug"("FAIL  ", "term:sym<scope_declarator>")
+    .return (rx429_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__term:sym<statement_prefix>"  :subid("104_1259103982.97329") :method
+.sub "!PREFIX__term:sym<scope_declarator>"  :subid("102_1259177761.22934") :method
 .annotate "line", 4
-    $P429 = self."!PREFIX__!subrule"("statement_prefix", "")
-    new $P430, "ResizablePMCArray"
-    push $P430, $P429
-    .return ($P430)
+    $P431 = self."!PREFIX__!subrule"("scope_declarator", "")
+    new $P432, "ResizablePMCArray"
+    push $P432, $P431
+    .return ($P432)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "term:sym<lambda>"  :subid("105_1259103982.97329") :method :outer("11_1259103982.97329")
+.sub "term:sym<routine_declarator>"  :subid("103_1259177761.22934") :method :outer("11_1259177761.22934")
 .annotate "line", 4
-    .local string rx433_tgt
-    .local int rx433_pos
-    .local int rx433_off
-    .local int rx433_eos
-    .local int rx433_rep
-    .local pmc rx433_cur
-    (rx433_cur, rx433_pos, rx433_tgt) = self."!cursor_start"()
-    rx433_cur."!cursor_debug"("START ", "term:sym<lambda>")
-    .lex unicode:"$\x{a2}", rx433_cur
+    .local string rx435_tgt
+    .local int rx435_pos
+    .local int rx435_off
+    .local int rx435_eos
+    .local int rx435_rep
+    .local pmc rx435_cur
+    (rx435_cur, rx435_pos, rx435_tgt) = self."!cursor_start"()
+    rx435_cur."!cursor_debug"("START ", "term:sym<routine_declarator>")
+    .lex unicode:"$\x{a2}", rx435_cur
     .local pmc match
     .lex "$/", match
-    length rx433_eos, rx433_tgt
-    set rx433_off, 0
-    lt rx433_pos, 2, rx433_start
-    sub rx433_off, rx433_pos, 1
-    substr rx433_tgt, rx433_tgt, rx433_off
-  rx433_start:
+    length rx435_eos, rx435_tgt
+    set rx435_off, 0
+    lt rx435_pos, 2, rx435_start
+    sub rx435_off, rx435_pos, 1
+    substr rx435_tgt, rx435_tgt, rx435_off
+  rx435_start:
     $I10 = self.'from'()
-    ne $I10, -1, rxscan436_done
-    goto rxscan436_scan
-  rxscan436_loop:
-    ($P10) = rx433_cur."from"()
+    ne $I10, -1, rxscan439_done
+    goto rxscan439_scan
+  rxscan439_loop:
+    ($P10) = rx435_cur."from"()
     inc $P10
-    set rx433_pos, $P10
-    ge rx433_pos, rx433_eos, rxscan436_done
-  rxscan436_scan:
-    set_addr $I10, rxscan436_loop
-    rx433_cur."!mark_push"(0, rx433_pos, $I10)
-  rxscan436_done:
-.annotate "line", 213
-  # rx subrule "lambda" subtype=zerowidth negate=
-    rx433_cur."!cursor_pos"(rx433_pos)
-    $P10 = rx433_cur."lambda"()
-    unless $P10, rx433_fail
-  # rx subrule "pblock" subtype=capture negate=
-    rx433_cur."!cursor_pos"(rx433_pos)
-    $P10 = rx433_cur."pblock"()
-    unless $P10, rx433_fail
-    rx433_cur."!mark_push"(0, -1, 0, $P10)
-    $P10."!cursor_names"("pblock")
-    rx433_pos = $P10."pos"()
+    set rx435_pos, $P10
+    ge rx435_pos, rx435_eos, rxscan439_done
+  rxscan439_scan:
+    set_addr $I10, rxscan439_loop
+    rx435_cur."!mark_push"(0, rx435_pos, $I10)
+  rxscan439_done:
+.annotate "line", 220
+  # rx subrule "routine_declarator" subtype=capture negate=
+    rx435_cur."!cursor_pos"(rx435_pos)
+    $P10 = rx435_cur."routine_declarator"()
+    unless $P10, rx435_fail
+    rx435_cur."!mark_push"(0, -1, 0, $P10)
+    $P10."!cursor_names"("routine_declarator")
+    rx435_pos = $P10."pos"()
   # rx pass
-    rx433_cur."!cursor_pass"(rx433_pos, "term:sym<lambda>")
-    rx433_cur."!cursor_debug"("PASS  ", "term:sym<lambda>", " at pos=", rx433_pos)
-    .return (rx433_cur)
-  rx433_fail:
+    rx435_cur."!cursor_pass"(rx435_pos, "term:sym<routine_declarator>")
+    rx435_cur."!cursor_debug"("PASS  ", "term:sym<routine_declarator>", " at pos=", rx435_pos)
+    .return (rx435_cur)
+  rx435_fail:
 .annotate "line", 4
-    (rx433_rep, rx433_pos, $I10, $P10) = rx433_cur."!mark_fail"(0)
-    lt rx433_pos, -1, rx433_done
-    eq rx433_pos, -1, rx433_fail
+    (rx435_rep, rx435_pos, $I10, $P10) = rx435_cur."!mark_fail"(0)
+    lt rx435_pos, -1, rx435_done
+    eq rx435_pos, -1, rx435_fail
     jump $I10
-  rx433_done:
-    rx433_cur."!cursor_fail"()
-    rx433_cur."!cursor_debug"("FAIL  ", "term:sym<lambda>")
-    .return (rx433_cur)
+  rx435_done:
+    rx435_cur."!cursor_fail"()
+    rx435_cur."!cursor_debug"("FAIL  ", "term:sym<routine_declarator>")
+    .return (rx435_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__term:sym<lambda>"  :subid("106_1259103982.97329") :method
+.sub "!PREFIX__term:sym<routine_declarator>"  :subid("104_1259177761.22934") :method
 .annotate "line", 4
-    new $P435, "ResizablePMCArray"
-    push $P435, ""
-    .return ($P435)
+    $P437 = self."!PREFIX__!subrule"("routine_declarator", "")
+    new $P438, "ResizablePMCArray"
+    push $P438, $P437
+    .return ($P438)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "colonpair"  :subid("107_1259103982.97329") :method :outer("11_1259103982.97329")
+.sub "term:sym<regex_declarator>"  :subid("105_1259177761.22934") :method :outer("11_1259177761.22934")
 .annotate "line", 4
-    .local string rx438_tgt
-    .local int rx438_pos
-    .local int rx438_off
-    .local int rx438_eos
-    .local int rx438_rep
-    .local pmc rx438_cur
-    (rx438_cur, rx438_pos, rx438_tgt) = self."!cursor_start"()
-    rx438_cur."!cursor_debug"("START ", "colonpair")
-    rx438_cur."!cursor_caparray"("circumfix")
-    .lex unicode:"$\x{a2}", rx438_cur
+    .local string rx441_tgt
+    .local int rx441_pos
+    .local int rx441_off
+    .local int rx441_eos
+    .local int rx441_rep
+    .local pmc rx441_cur
+    (rx441_cur, rx441_pos, rx441_tgt) = self."!cursor_start"()
+    rx441_cur."!cursor_debug"("START ", "term:sym<regex_declarator>")
+    .lex unicode:"$\x{a2}", rx441_cur
     .local pmc match
     .lex "$/", match
-    length rx438_eos, rx438_tgt
-    set rx438_off, 0
-    lt rx438_pos, 2, rx438_start
-    sub rx438_off, rx438_pos, 1
-    substr rx438_tgt, rx438_tgt, rx438_off
-  rx438_start:
+    length rx441_eos, rx441_tgt
+    set rx441_off, 0
+    lt rx441_pos, 2, rx441_start
+    sub rx441_off, rx441_pos, 1
+    substr rx441_tgt, rx441_tgt, rx441_off
+  rx441_start:
     $I10 = self.'from'()
-    ne $I10, -1, rxscan443_done
-    goto rxscan443_scan
-  rxscan443_loop:
-    ($P10) = rx438_cur."from"()
+    ne $I10, -1, rxscan445_done
+    goto rxscan445_scan
+  rxscan445_loop:
+    ($P10) = rx441_cur."from"()
     inc $P10
-    set rx438_pos, $P10
-    ge rx438_pos, rx438_eos, rxscan443_done
-  rxscan443_scan:
-    set_addr $I10, rxscan443_loop
-    rx438_cur."!mark_push"(0, rx438_pos, $I10)
-  rxscan443_done:
-.annotate "line", 216
-  # rx literal  ":"
-    add $I11, rx438_pos, 1
-    gt $I11, rx438_eos, rx438_fail
-    sub $I11, rx438_pos, rx438_off
-    substr $S10, rx438_tgt, $I11, 1
-    ne $S10, ":", rx438_fail
-    add rx438_pos, 1
-  alt444_0:
-.annotate "line", 217
-    set_addr $I10, alt444_1
-    rx438_cur."!mark_push"(0, rx438_pos, $I10)
-.annotate "line", 218
-  # rx subcapture "not"
-    set_addr $I10, rxcap_445_fail
-    rx438_cur."!mark_push"(0, rx438_pos, $I10)
+    set rx441_pos, $P10
+    ge rx441_pos, rx441_eos, rxscan445_done
+  rxscan445_scan:
+    set_addr $I10, rxscan445_loop
+    rx441_cur."!mark_push"(0, rx441_pos, $I10)
+  rxscan445_done:
+.annotate "line", 221
+  # rx subrule "regex_declarator" subtype=capture negate=
+    rx441_cur."!cursor_pos"(rx441_pos)
+    $P10 = rx441_cur."regex_declarator"()
+    unless $P10, rx441_fail
+    rx441_cur."!mark_push"(0, -1, 0, $P10)
+    $P10."!cursor_names"("regex_declarator")
+    rx441_pos = $P10."pos"()
+  # rx pass
+    rx441_cur."!cursor_pass"(rx441_pos, "term:sym<regex_declarator>")
+    rx441_cur."!cursor_debug"("PASS  ", "term:sym<regex_declarator>", " at pos=", rx441_pos)
+    .return (rx441_cur)
+  rx441_fail:
+.annotate "line", 4
+    (rx441_rep, rx441_pos, $I10, $P10) = rx441_cur."!mark_fail"(0)
+    lt rx441_pos, -1, rx441_done
+    eq rx441_pos, -1, rx441_fail
+    jump $I10
+  rx441_done:
+    rx441_cur."!cursor_fail"()
+    rx441_cur."!cursor_debug"("FAIL  ", "term:sym<regex_declarator>")
+    .return (rx441_cur)
+    .return ()
+.end
+
+
+.namespace ["NQP";"Grammar"]
+.sub "!PREFIX__term:sym<regex_declarator>"  :subid("106_1259177761.22934") :method
+.annotate "line", 4
+    $P443 = self."!PREFIX__!subrule"("regex_declarator", "")
+    new $P444, "ResizablePMCArray"
+    push $P444, $P443
+    .return ($P444)
+.end
+
+
+.namespace ["NQP";"Grammar"]
+.sub "term:sym<statement_prefix>"  :subid("107_1259177761.22934") :method :outer("11_1259177761.22934")
+.annotate "line", 4
+    .local string rx447_tgt
+    .local int rx447_pos
+    .local int rx447_off
+    .local int rx447_eos
+    .local int rx447_rep
+    .local pmc rx447_cur
+    (rx447_cur, rx447_pos, rx447_tgt) = self."!cursor_start"()
+    rx447_cur."!cursor_debug"("START ", "term:sym<statement_prefix>")
+    .lex unicode:"$\x{a2}", rx447_cur
+    .local pmc match
+    .lex "$/", match
+    length rx447_eos, rx447_tgt
+    set rx447_off, 0
+    lt rx447_pos, 2, rx447_start
+    sub rx447_off, rx447_pos, 1
+    substr rx447_tgt, rx447_tgt, rx447_off
+  rx447_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan451_done
+    goto rxscan451_scan
+  rxscan451_loop:
+    ($P10) = rx447_cur."from"()
+    inc $P10
+    set rx447_pos, $P10
+    ge rx447_pos, rx447_eos, rxscan451_done
+  rxscan451_scan:
+    set_addr $I10, rxscan451_loop
+    rx447_cur."!mark_push"(0, rx447_pos, $I10)
+  rxscan451_done:
+.annotate "line", 222
+  # rx subrule "statement_prefix" subtype=capture negate=
+    rx447_cur."!cursor_pos"(rx447_pos)
+    $P10 = rx447_cur."statement_prefix"()
+    unless $P10, rx447_fail
+    rx447_cur."!mark_push"(0, -1, 0, $P10)
+    $P10."!cursor_names"("statement_prefix")
+    rx447_pos = $P10."pos"()
+  # rx pass
+    rx447_cur."!cursor_pass"(rx447_pos, "term:sym<statement_prefix>")
+    rx447_cur."!cursor_debug"("PASS  ", "term:sym<statement_prefix>", " at pos=", rx447_pos)
+    .return (rx447_cur)
+  rx447_fail:
+.annotate "line", 4
+    (rx447_rep, rx447_pos, $I10, $P10) = rx447_cur."!mark_fail"(0)
+    lt rx447_pos, -1, rx447_done
+    eq rx447_pos, -1, rx447_fail
+    jump $I10
+  rx447_done:
+    rx447_cur."!cursor_fail"()
+    rx447_cur."!cursor_debug"("FAIL  ", "term:sym<statement_prefix>")
+    .return (rx447_cur)
+    .return ()
+.end
+
+
+.namespace ["NQP";"Grammar"]
+.sub "!PREFIX__term:sym<statement_prefix>"  :subid("108_1259177761.22934") :method
+.annotate "line", 4
+    $P449 = self."!PREFIX__!subrule"("statement_prefix", "")
+    new $P450, "ResizablePMCArray"
+    push $P450, $P449
+    .return ($P450)
+.end
+
+
+.namespace ["NQP";"Grammar"]
+.sub "term:sym<lambda>"  :subid("109_1259177761.22934") :method :outer("11_1259177761.22934")
+.annotate "line", 4
+    .local string rx453_tgt
+    .local int rx453_pos
+    .local int rx453_off
+    .local int rx453_eos
+    .local int rx453_rep
+    .local pmc rx453_cur
+    (rx453_cur, rx453_pos, rx453_tgt) = self."!cursor_start"()
+    rx453_cur."!cursor_debug"("START ", "term:sym<lambda>")
+    .lex unicode:"$\x{a2}", rx453_cur
+    .local pmc match
+    .lex "$/", match
+    length rx453_eos, rx453_tgt
+    set rx453_off, 0
+    lt rx453_pos, 2, rx453_start
+    sub rx453_off, rx453_pos, 1
+    substr rx453_tgt, rx453_tgt, rx453_off
+  rx453_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan456_done
+    goto rxscan456_scan
+  rxscan456_loop:
+    ($P10) = rx453_cur."from"()
+    inc $P10
+    set rx453_pos, $P10
+    ge rx453_pos, rx453_eos, rxscan456_done
+  rxscan456_scan:
+    set_addr $I10, rxscan456_loop
+    rx453_cur."!mark_push"(0, rx453_pos, $I10)
+  rxscan456_done:
+.annotate "line", 223
+  # rx subrule "lambda" subtype=zerowidth negate=
+    rx453_cur."!cursor_pos"(rx453_pos)
+    $P10 = rx453_cur."lambda"()
+    unless $P10, rx453_fail
+  # rx subrule "pblock" subtype=capture negate=
+    rx453_cur."!cursor_pos"(rx453_pos)
+    $P10 = rx453_cur."pblock"()
+    unless $P10, rx453_fail
+    rx453_cur."!mark_push"(0, -1, 0, $P10)
+    $P10."!cursor_names"("pblock")
+    rx453_pos = $P10."pos"()
+  # rx pass
+    rx453_cur."!cursor_pass"(rx453_pos, "term:sym<lambda>")
+    rx453_cur."!cursor_debug"("PASS  ", "term:sym<lambda>", " at pos=", rx453_pos)
+    .return (rx453_cur)
+  rx453_fail:
+.annotate "line", 4
+    (rx453_rep, rx453_pos, $I10, $P10) = rx453_cur."!mark_fail"(0)
+    lt rx453_pos, -1, rx453_done
+    eq rx453_pos, -1, rx453_fail
+    jump $I10
+  rx453_done:
+    rx453_cur."!cursor_fail"()
+    rx453_cur."!cursor_debug"("FAIL  ", "term:sym<lambda>")
+    .return (rx453_cur)
+    .return ()
+.end
+
+
+.namespace ["NQP";"Grammar"]
+.sub "!PREFIX__term:sym<lambda>"  :subid("110_1259177761.22934") :method
+.annotate "line", 4
+    new $P455, "ResizablePMCArray"
+    push $P455, ""
+    .return ($P455)
+.end
+
+
+.namespace ["NQP";"Grammar"]
+.sub "colonpair"  :subid("111_1259177761.22934") :method :outer("11_1259177761.22934")
+.annotate "line", 4
+    .local string rx458_tgt
+    .local int rx458_pos
+    .local int rx458_off
+    .local int rx458_eos
+    .local int rx458_rep
+    .local pmc rx458_cur
+    (rx458_cur, rx458_pos, rx458_tgt) = self."!cursor_start"()
+    rx458_cur."!cursor_debug"("START ", "colonpair")
+    rx458_cur."!cursor_caparray"("circumfix")
+    .lex unicode:"$\x{a2}", rx458_cur
+    .local pmc match
+    .lex "$/", match
+    length rx458_eos, rx458_tgt
+    set rx458_off, 0
+    lt rx458_pos, 2, rx458_start
+    sub rx458_off, rx458_pos, 1
+    substr rx458_tgt, rx458_tgt, rx458_off
+  rx458_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan463_done
+    goto rxscan463_scan
+  rxscan463_loop:
+    ($P10) = rx458_cur."from"()
+    inc $P10
+    set rx458_pos, $P10
+    ge rx458_pos, rx458_eos, rxscan463_done
+  rxscan463_scan:
+    set_addr $I10, rxscan463_loop
+    rx458_cur."!mark_push"(0, rx458_pos, $I10)
+  rxscan463_done:
+.annotate "line", 226
+  # rx literal  ":"
+    add $I11, rx458_pos, 1
+    gt $I11, rx458_eos, rx458_fail
+    sub $I11, rx458_pos, rx458_off
+    substr $S10, rx458_tgt, $I11, 1
+    ne $S10, ":", rx458_fail
+    add rx458_pos, 1
+  alt464_0:
+.annotate "line", 227
+    set_addr $I10, alt464_1
+    rx458_cur."!mark_push"(0, rx458_pos, $I10)
+.annotate "line", 228
+  # rx subcapture "not"
+    set_addr $I10, rxcap_465_fail
+    rx458_cur."!mark_push"(0, rx458_pos, $I10)
   # rx literal  "!"
-    add $I11, rx438_pos, 1
-    gt $I11, rx438_eos, rx438_fail
-    sub $I11, rx438_pos, rx438_off
-    substr $S10, rx438_tgt, $I11, 1
-    ne $S10, "!", rx438_fail
-    add rx438_pos, 1
-    set_addr $I10, rxcap_445_fail
-    ($I12, $I11) = rx438_cur."!mark_peek"($I10)
-    rx438_cur."!cursor_pos"($I11)
-    ($P10) = rx438_cur."!cursor_start"()
-    $P10."!cursor_pass"(rx438_pos, "")
-    rx438_cur."!mark_push"(0, -1, 0, $P10)
+    add $I11, rx458_pos, 1
+    gt $I11, rx458_eos, rx458_fail
+    sub $I11, rx458_pos, rx458_off
+    substr $S10, rx458_tgt, $I11, 1
+    ne $S10, "!", rx458_fail
+    add rx458_pos, 1
+    set_addr $I10, rxcap_465_fail
+    ($I12, $I11) = rx458_cur."!mark_peek"($I10)
+    rx458_cur."!cursor_pos"($I11)
+    ($P10) = rx458_cur."!cursor_start"()
+    $P10."!cursor_pass"(rx458_pos, "")
+    rx458_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("not")
-    goto rxcap_445_done
-  rxcap_445_fail:
-    goto rx438_fail
-  rxcap_445_done:
+    goto rxcap_465_done
+  rxcap_465_fail:
+    goto rx458_fail
+  rxcap_465_done:
   # rx subrule "identifier" subtype=capture negate=
-    rx438_cur."!cursor_pos"(rx438_pos)
-    $P10 = rx438_cur."identifier"()
-    unless $P10, rx438_fail
-    rx438_cur."!mark_push"(0, -1, 0, $P10)
+    rx458_cur."!cursor_pos"(rx458_pos)
+    $P10 = rx458_cur."identifier"()
+    unless $P10, rx458_fail
+    rx458_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("identifier")
-    rx438_pos = $P10."pos"()
-    goto alt444_end
-  alt444_1:
-.annotate "line", 219
+    rx458_pos = $P10."pos"()
+    goto alt464_end
+  alt464_1:
+.annotate "line", 229
   # rx subrule "identifier" subtype=capture negate=
-    rx438_cur."!cursor_pos"(rx438_pos)
-    $P10 = rx438_cur."identifier"()
-    unless $P10, rx438_fail
-    rx438_cur."!mark_push"(0, -1, 0, $P10)
+    rx458_cur."!cursor_pos"(rx458_pos)
+    $P10 = rx458_cur."identifier"()
+    unless $P10, rx458_fail
+    rx458_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("identifier")
-    rx438_pos = $P10."pos"()
-  # rx rxquantr446 ** 0..1
-    set_addr $I447, rxquantr446_done
-    rx438_cur."!mark_push"(0, rx438_pos, $I447)
-  rxquantr446_loop:
+    rx458_pos = $P10."pos"()
+  # rx rxquantr466 ** 0..1
+    set_addr $I467, rxquantr466_done
+    rx458_cur."!mark_push"(0, rx458_pos, $I467)
+  rxquantr466_loop:
   # rx subrule "circumfix" subtype=capture negate=
-    rx438_cur."!cursor_pos"(rx438_pos)
-    $P10 = rx438_cur."circumfix"()
-    unless $P10, rx438_fail
-    rx438_cur."!mark_push"(0, -1, 0, $P10)
+    rx458_cur."!cursor_pos"(rx458_pos)
+    $P10 = rx458_cur."circumfix"()
+    unless $P10, rx458_fail
+    rx458_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("circumfix")
-    rx438_pos = $P10."pos"()
-    (rx438_rep) = rx438_cur."!mark_commit"($I447)
-  rxquantr446_done:
-  alt444_end:
-.annotate "line", 215
+    rx458_pos = $P10."pos"()
+    (rx458_rep) = rx458_cur."!mark_commit"($I467)
+  rxquantr466_done:
+  alt464_end:
+.annotate "line", 225
   # rx pass
-    rx438_cur."!cursor_pass"(rx438_pos, "colonpair")
-    rx438_cur."!cursor_debug"("PASS  ", "colonpair", " at pos=", rx438_pos)
-    .return (rx438_cur)
-  rx438_fail:
+    rx458_cur."!cursor_pass"(rx458_pos, "colonpair")
+    rx458_cur."!cursor_debug"("PASS  ", "colonpair", " at pos=", rx458_pos)
+    .return (rx458_cur)
+  rx458_fail:
 .annotate "line", 4
-    (rx438_rep, rx438_pos, $I10, $P10) = rx438_cur."!mark_fail"(0)
-    lt rx438_pos, -1, rx438_done
-    eq rx438_pos, -1, rx438_fail
+    (rx458_rep, rx458_pos, $I10, $P10) = rx458_cur."!mark_fail"(0)
+    lt rx458_pos, -1, rx458_done
+    eq rx458_pos, -1, rx458_fail
     jump $I10
-  rx438_done:
-    rx438_cur."!cursor_fail"()
-    rx438_cur."!cursor_debug"("FAIL  ", "colonpair")
-    .return (rx438_cur)
+  rx458_done:
+    rx458_cur."!cursor_fail"()
+    rx458_cur."!cursor_debug"("FAIL  ", "colonpair")
+    .return (rx458_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__colonpair"  :subid("108_1259103982.97329") :method
+.sub "!PREFIX__colonpair"  :subid("112_1259177761.22934") :method
 .annotate "line", 4
-    $P440 = self."!PREFIX__!subrule"("identifier", ":")
-    $P441 = self."!PREFIX__!subrule"("identifier", ":!")
-    new $P442, "ResizablePMCArray"
-    push $P442, $P440
-    push $P442, $P441
-    .return ($P442)
+    $P460 = self."!PREFIX__!subrule"("identifier", ":")
+    $P461 = self."!PREFIX__!subrule"("identifier", ":!")
+    new $P462, "ResizablePMCArray"
+    push $P462, $P460
+    push $P462, $P461
+    .return ($P462)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "variable"  :subid("109_1259103982.97329") :method :outer("11_1259103982.97329")
+.sub "variable"  :subid("113_1259177761.22934") :method :outer("11_1259177761.22934")
 .annotate "line", 4
-    .local string rx449_tgt
-    .local int rx449_pos
-    .local int rx449_off
-    .local int rx449_eos
-    .local int rx449_rep
-    .local pmc rx449_cur
-    (rx449_cur, rx449_pos, rx449_tgt) = self."!cursor_start"()
-    rx449_cur."!cursor_debug"("START ", "variable")
-    rx449_cur."!cursor_caparray"("twigil")
-    .lex unicode:"$\x{a2}", rx449_cur
+    .local string rx469_tgt
+    .local int rx469_pos
+    .local int rx469_off
+    .local int rx469_eos
+    .local int rx469_rep
+    .local pmc rx469_cur
+    (rx469_cur, rx469_pos, rx469_tgt) = self."!cursor_start"()
+    rx469_cur."!cursor_debug"("START ", "variable")
+    rx469_cur."!cursor_caparray"("twigil")
+    .lex unicode:"$\x{a2}", rx469_cur
     .local pmc match
     .lex "$/", match
-    length rx449_eos, rx449_tgt
-    set rx449_off, 0
-    lt rx449_pos, 2, rx449_start
-    sub rx449_off, rx449_pos, 1
-    substr rx449_tgt, rx449_tgt, rx449_off
-  rx449_start:
+    length rx469_eos, rx469_tgt
+    set rx469_off, 0
+    lt rx469_pos, 2, rx469_start
+    sub rx469_off, rx469_pos, 1
+    substr rx469_tgt, rx469_tgt, rx469_off
+  rx469_start:
     $I10 = self.'from'()
-    ne $I10, -1, rxscan454_done
-    goto rxscan454_scan
-  rxscan454_loop:
-    ($P10) = rx449_cur."from"()
+    ne $I10, -1, rxscan474_done
+    goto rxscan474_scan
+  rxscan474_loop:
+    ($P10) = rx469_cur."from"()
     inc $P10
-    set rx449_pos, $P10
-    ge rx449_pos, rx449_eos, rxscan454_done
-  rxscan454_scan:
-    set_addr $I10, rxscan454_loop
-    rx449_cur."!mark_push"(0, rx449_pos, $I10)
-  rxscan454_done:
-  alt455_0:
-.annotate "line", 223
-    set_addr $I10, alt455_1
-    rx449_cur."!mark_push"(0, rx449_pos, $I10)
-.annotate "line", 224
+    set rx469_pos, $P10
+    ge rx469_pos, rx469_eos, rxscan474_done
+  rxscan474_scan:
+    set_addr $I10, rxscan474_loop
+    rx469_cur."!mark_push"(0, rx469_pos, $I10)
+  rxscan474_done:
+  alt475_0:
+.annotate "line", 233
+    set_addr $I10, alt475_1
+    rx469_cur."!mark_push"(0, rx469_pos, $I10)
+.annotate "line", 234
   # rx subrule "sigil" subtype=capture negate=
-    rx449_cur."!cursor_pos"(rx449_pos)
-    $P10 = rx449_cur."sigil"()
-    unless $P10, rx449_fail
-    rx449_cur."!mark_push"(0, -1, 0, $P10)
+    rx469_cur."!cursor_pos"(rx469_pos)
+    $P10 = rx469_cur."sigil"()
+    unless $P10, rx469_fail
+    rx469_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("sigil")
-    rx449_pos = $P10."pos"()
-  # rx rxquantr456 ** 0..1
-    set_addr $I457, rxquantr456_done
-    rx449_cur."!mark_push"(0, rx449_pos, $I457)
-  rxquantr456_loop:
+    rx469_pos = $P10."pos"()
+  # rx rxquantr476 ** 0..1
+    set_addr $I477, rxquantr476_done
+    rx469_cur."!mark_push"(0, rx469_pos, $I477)
+  rxquantr476_loop:
   # rx subrule "twigil" subtype=capture negate=
-    rx449_cur."!cursor_pos"(rx449_pos)
-    $P10 = rx449_cur."twigil"()
-    unless $P10, rx449_fail
-    rx449_cur."!mark_push"(0, -1, 0, $P10)
+    rx469_cur."!cursor_pos"(rx469_pos)
+    $P10 = rx469_cur."twigil"()
+    unless $P10, rx469_fail
+    rx469_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("twigil")
-    rx449_pos = $P10."pos"()
-    (rx449_rep) = rx449_cur."!mark_commit"($I457)
-  rxquantr456_done:
+    rx469_pos = $P10."pos"()
+    (rx469_rep) = rx469_cur."!mark_commit"($I477)
+  rxquantr476_done:
   # rx subrule "name" subtype=capture negate=
-    rx449_cur."!cursor_pos"(rx449_pos)
-    $P10 = rx449_cur."name"()
-    unless $P10, rx449_fail
-    rx449_cur."!mark_push"(0, -1, 0, $P10)
+    rx469_cur."!cursor_pos"(rx469_pos)
+    $P10 = rx469_cur."name"()
+    unless $P10, rx469_fail
+    rx469_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("desigilname")
-    rx449_pos = $P10."pos"()
-    goto alt455_end
-  alt455_1:
-    set_addr $I10, alt455_2
-    rx449_cur."!mark_push"(0, rx449_pos, $I10)
-.annotate "line", 225
+    rx469_pos = $P10."pos"()
+    goto alt475_end
+  alt475_1:
+    set_addr $I10, alt475_2
+    rx469_cur."!mark_push"(0, rx469_pos, $I10)
+.annotate "line", 235
   # rx subrule "sigil" subtype=capture negate=
-    rx449_cur."!cursor_pos"(rx449_pos)
-    $P10 = rx449_cur."sigil"()
-    unless $P10, rx449_fail
-    rx449_cur."!mark_push"(0, -1, 0, $P10)
+    rx469_cur."!cursor_pos"(rx469_pos)
+    $P10 = rx469_cur."sigil"()
+    unless $P10, rx469_fail
+    rx469_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("sigil")
-    rx449_pos = $P10."pos"()
+    rx469_pos = $P10."pos"()
   # rx enumcharlist negate=0 zerowidth
-    ge rx449_pos, rx449_eos, rx449_fail
-    sub $I10, rx449_pos, rx449_off
-    substr $S10, rx449_tgt, $I10, 1
+    ge rx469_pos, rx469_eos, rx469_fail
+    sub $I10, rx469_pos, rx469_off
+    substr $S10, rx469_tgt, $I10, 1
     index $I11, "<[", $S10
-    lt $I11, 0, rx449_fail
+    lt $I11, 0, rx469_fail
   # rx subrule "postcircumfix" subtype=capture negate=
-    rx449_cur."!cursor_pos"(rx449_pos)
-    $P10 = rx449_cur."postcircumfix"()
-    unless $P10, rx449_fail
-    rx449_cur."!mark_push"(0, -1, 0, $P10)
+    rx469_cur."!cursor_pos"(rx469_pos)
+    $P10 = rx469_cur."postcircumfix"()
+    unless $P10, rx469_fail
+    rx469_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("postcircumfix")
-    rx449_pos = $P10."pos"()
-    goto alt455_end
-  alt455_2:
-.annotate "line", 226
+    rx469_pos = $P10."pos"()
+    goto alt475_end
+  alt475_2:
+.annotate "line", 236
   # rx subcapture "sigil"
-    set_addr $I10, rxcap_458_fail
-    rx449_cur."!mark_push"(0, rx449_pos, $I10)
+    set_addr $I10, rxcap_478_fail
+    rx469_cur."!mark_push"(0, rx469_pos, $I10)
   # rx literal  "$"
-    add $I11, rx449_pos, 1
-    gt $I11, rx449_eos, rx449_fail
-    sub $I11, rx449_pos, rx449_off
-    substr $S10, rx449_tgt, $I11, 1
-    ne $S10, "$", rx449_fail
-    add rx449_pos, 1
-    set_addr $I10, rxcap_458_fail
-    ($I12, $I11) = rx449_cur."!mark_peek"($I10)
-    rx449_cur."!cursor_pos"($I11)
-    ($P10) = rx449_cur."!cursor_start"()
-    $P10."!cursor_pass"(rx449_pos, "")
-    rx449_cur."!mark_push"(0, -1, 0, $P10)
+    add $I11, rx469_pos, 1
+    gt $I11, rx469_eos, rx469_fail
+    sub $I11, rx469_pos, rx469_off
+    substr $S10, rx469_tgt, $I11, 1
+    ne $S10, "$", rx469_fail
+    add rx469_pos, 1
+    set_addr $I10, rxcap_478_fail
+    ($I12, $I11) = rx469_cur."!mark_peek"($I10)
+    rx469_cur."!cursor_pos"($I11)
+    ($P10) = rx469_cur."!cursor_start"()
+    $P10."!cursor_pass"(rx469_pos, "")
+    rx469_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("sigil")
-    goto rxcap_458_done
-  rxcap_458_fail:
-    goto rx449_fail
-  rxcap_458_done:
+    goto rxcap_478_done
+  rxcap_478_fail:
+    goto rx469_fail
+  rxcap_478_done:
   # rx subcapture "desigilname"
-    set_addr $I10, rxcap_459_fail
-    rx449_cur."!mark_push"(0, rx449_pos, $I10)
+    set_addr $I10, rxcap_479_fail
+    rx469_cur."!mark_push"(0, rx469_pos, $I10)
   # rx enumcharlist negate=0 
-    ge rx449_pos, rx449_eos, rx449_fail
-    sub $I10, rx449_pos, rx449_off
-    substr $S10, rx449_tgt, $I10, 1
+    ge rx469_pos, rx469_eos, rx469_fail
+    sub $I10, rx469_pos, rx469_off
+    substr $S10, rx469_tgt, $I10, 1
     index $I11, "/_!", $S10
-    lt $I11, 0, rx449_fail
-    inc rx449_pos
-    set_addr $I10, rxcap_459_fail
-    ($I12, $I11) = rx449_cur."!mark_peek"($I10)
-    rx449_cur."!cursor_pos"($I11)
-    ($P10) = rx449_cur."!cursor_start"()
-    $P10."!cursor_pass"(rx449_pos, "")
-    rx449_cur."!mark_push"(0, -1, 0, $P10)
+    lt $I11, 0, rx469_fail
+    inc rx469_pos
+    set_addr $I10, rxcap_479_fail
+    ($I12, $I11) = rx469_cur."!mark_peek"($I10)
+    rx469_cur."!cursor_pos"($I11)
+    ($P10) = rx469_cur."!cursor_start"()
+    $P10."!cursor_pass"(rx469_pos, "")
+    rx469_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("desigilname")
-    goto rxcap_459_done
-  rxcap_459_fail:
-    goto rx449_fail
-  rxcap_459_done:
-  alt455_end:
-.annotate "line", 223
+    goto rxcap_479_done
+  rxcap_479_fail:
+    goto rx469_fail
+  rxcap_479_done:
+  alt475_end:
+.annotate "line", 233
   # rx pass
-    rx449_cur."!cursor_pass"(rx449_pos, "variable")
-    rx449_cur."!cursor_debug"("PASS  ", "variable", " at pos=", rx449_pos)
-    .return (rx449_cur)
-  rx449_fail:
+    rx469_cur."!cursor_pass"(rx469_pos, "variable")
+    rx469_cur."!cursor_debug"("PASS  ", "variable", " at pos=", rx469_pos)
+    .return (rx469_cur)
+  rx469_fail:
 .annotate "line", 4
-    (rx449_rep, rx449_pos, $I10, $P10) = rx449_cur."!mark_fail"(0)
-    lt rx449_pos, -1, rx449_done
-    eq rx449_pos, -1, rx449_fail
+    (rx469_rep, rx469_pos, $I10, $P10) = rx469_cur."!mark_fail"(0)
+    lt rx469_pos, -1, rx469_done
+    eq rx469_pos, -1, rx469_fail
     jump $I10
-  rx449_done:
-    rx449_cur."!cursor_fail"()
-    rx449_cur."!cursor_debug"("FAIL  ", "variable")
-    .return (rx449_cur)
+  rx469_done:
+    rx469_cur."!cursor_fail"()
+    rx469_cur."!cursor_debug"("FAIL  ", "variable")
+    .return (rx469_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__variable"  :subid("110_1259103982.97329") :method
+.sub "!PREFIX__variable"  :subid("114_1259177761.22934") :method
 .annotate "line", 4
-    $P451 = self."!PREFIX__!subrule"("sigil", "")
-    $P452 = self."!PREFIX__!subrule"("sigil", "")
-    new $P453, "ResizablePMCArray"
-    push $P453, "$!"
-    push $P453, "$_"
-    push $P453, "$/"
-    push $P453, $P451
-    push $P453, $P452
-    .return ($P453)
+    $P471 = self."!PREFIX__!subrule"("sigil", "")
+    $P472 = self."!PREFIX__!subrule"("sigil", "")
+    new $P473, "ResizablePMCArray"
+    push $P473, "$!"
+    push $P473, "$_"
+    push $P473, "$/"
+    push $P473, $P471
+    push $P473, $P472
+    .return ($P473)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "sigil"  :subid("111_1259103982.97329") :method :outer("11_1259103982.97329")
+.sub "sigil"  :subid("115_1259177761.22934") :method :outer("11_1259177761.22934")
 .annotate "line", 4
-    .local string rx461_tgt
-    .local int rx461_pos
-    .local int rx461_off
-    .local int rx461_eos
-    .local int rx461_rep
-    .local pmc rx461_cur
-    (rx461_cur, rx461_pos, rx461_tgt) = self."!cursor_start"()
-    rx461_cur."!cursor_debug"("START ", "sigil")
-    .lex unicode:"$\x{a2}", rx461_cur
-    .local pmc match
-    .lex "$/", match
-    length rx461_eos, rx461_tgt
-    set rx461_off, 0
-    lt rx461_pos, 2, rx461_start
-    sub rx461_off, rx461_pos, 1
-    substr rx461_tgt, rx461_tgt, rx461_off
-  rx461_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan464_done
-    goto rxscan464_scan
-  rxscan464_loop:
-    ($P10) = rx461_cur."from"()
-    inc $P10
-    set rx461_pos, $P10
-    ge rx461_pos, rx461_eos, rxscan464_done
-  rxscan464_scan:
-    set_addr $I10, rxscan464_loop
-    rx461_cur."!mark_push"(0, rx461_pos, $I10)
-  rxscan464_done:
-.annotate "line", 229
+    .local string rx481_tgt
+    .local int rx481_pos
+    .local int rx481_off
+    .local int rx481_eos
+    .local int rx481_rep
+    .local pmc rx481_cur
+    (rx481_cur, rx481_pos, rx481_tgt) = self."!cursor_start"()
+    rx481_cur."!cursor_debug"("START ", "sigil")
+    .lex unicode:"$\x{a2}", rx481_cur
+    .local pmc match
+    .lex "$/", match
+    length rx481_eos, rx481_tgt
+    set rx481_off, 0
+    lt rx481_pos, 2, rx481_start
+    sub rx481_off, rx481_pos, 1
+    substr rx481_tgt, rx481_tgt, rx481_off
+  rx481_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan484_done
+    goto rxscan484_scan
+  rxscan484_loop:
+    ($P10) = rx481_cur."from"()
+    inc $P10
+    set rx481_pos, $P10
+    ge rx481_pos, rx481_eos, rxscan484_done
+  rxscan484_scan:
+    set_addr $I10, rxscan484_loop
+    rx481_cur."!mark_push"(0, rx481_pos, $I10)
+  rxscan484_done:
+.annotate "line", 239
   # rx enumcharlist negate=0 
-    ge rx461_pos, rx461_eos, rx461_fail
-    sub $I10, rx461_pos, rx461_off
-    substr $S10, rx461_tgt, $I10, 1
+    ge rx481_pos, rx481_eos, rx481_fail
+    sub $I10, rx481_pos, rx481_off
+    substr $S10, rx481_tgt, $I10, 1
     index $I11, "$@%&", $S10
-    lt $I11, 0, rx461_fail
-    inc rx461_pos
+    lt $I11, 0, rx481_fail
+    inc rx481_pos
   # rx pass
-    rx461_cur."!cursor_pass"(rx461_pos, "sigil")
-    rx461_cur."!cursor_debug"("PASS  ", "sigil", " at pos=", rx461_pos)
-    .return (rx461_cur)
-  rx461_fail:
+    rx481_cur."!cursor_pass"(rx481_pos, "sigil")
+    rx481_cur."!cursor_debug"("PASS  ", "sigil", " at pos=", rx481_pos)
+    .return (rx481_cur)
+  rx481_fail:
 .annotate "line", 4
-    (rx461_rep, rx461_pos, $I10, $P10) = rx461_cur."!mark_fail"(0)
-    lt rx461_pos, -1, rx461_done
-    eq rx461_pos, -1, rx461_fail
+    (rx481_rep, rx481_pos, $I10, $P10) = rx481_cur."!mark_fail"(0)
+    lt rx481_pos, -1, rx481_done
+    eq rx481_pos, -1, rx481_fail
     jump $I10
-  rx461_done:
-    rx461_cur."!cursor_fail"()
-    rx461_cur."!cursor_debug"("FAIL  ", "sigil")
-    .return (rx461_cur)
+  rx481_done:
+    rx481_cur."!cursor_fail"()
+    rx481_cur."!cursor_debug"("FAIL  ", "sigil")
+    .return (rx481_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__sigil"  :subid("112_1259103982.97329") :method
+.sub "!PREFIX__sigil"  :subid("116_1259177761.22934") :method
 .annotate "line", 4
-    new $P463, "ResizablePMCArray"
-    push $P463, "&"
-    push $P463, "%"
-    push $P463, "@"
-    push $P463, "$"
-    .return ($P463)
+    new $P483, "ResizablePMCArray"
+    push $P483, "&"
+    push $P483, "%"
+    push $P483, "@"
+    push $P483, "$"
+    .return ($P483)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "twigil"  :subid("113_1259103982.97329") :method :outer("11_1259103982.97329")
+.sub "twigil"  :subid("117_1259177761.22934") :method :outer("11_1259177761.22934")
 .annotate "line", 4
-    .local string rx466_tgt
-    .local int rx466_pos
-    .local int rx466_off
-    .local int rx466_eos
-    .local int rx466_rep
-    .local pmc rx466_cur
-    (rx466_cur, rx466_pos, rx466_tgt) = self."!cursor_start"()
-    rx466_cur."!cursor_debug"("START ", "twigil")
-    .lex unicode:"$\x{a2}", rx466_cur
+    .local string rx486_tgt
+    .local int rx486_pos
+    .local int rx486_off
+    .local int rx486_eos
+    .local int rx486_rep
+    .local pmc rx486_cur
+    (rx486_cur, rx486_pos, rx486_tgt) = self."!cursor_start"()
+    rx486_cur."!cursor_debug"("START ", "twigil")
+    .lex unicode:"$\x{a2}", rx486_cur
     .local pmc match
     .lex "$/", match
-    length rx466_eos, rx466_tgt
-    set rx466_off, 0
-    lt rx466_pos, 2, rx466_start
-    sub rx466_off, rx466_pos, 1
-    substr rx466_tgt, rx466_tgt, rx466_off
-  rx466_start:
+    length rx486_eos, rx486_tgt
+    set rx486_off, 0
+    lt rx486_pos, 2, rx486_start
+    sub rx486_off, rx486_pos, 1
+    substr rx486_tgt, rx486_tgt, rx486_off
+  rx486_start:
     $I10 = self.'from'()
-    ne $I10, -1, rxscan469_done
-    goto rxscan469_scan
-  rxscan469_loop:
-    ($P10) = rx466_cur."from"()
+    ne $I10, -1, rxscan489_done
+    goto rxscan489_scan
+  rxscan489_loop:
+    ($P10) = rx486_cur."from"()
     inc $P10
-    set rx466_pos, $P10
-    ge rx466_pos, rx466_eos, rxscan469_done
-  rxscan469_scan:
-    set_addr $I10, rxscan469_loop
-    rx466_cur."!mark_push"(0, rx466_pos, $I10)
-  rxscan469_done:
-.annotate "line", 231
+    set rx486_pos, $P10
+    ge rx486_pos, rx486_eos, rxscan489_done
+  rxscan489_scan:
+    set_addr $I10, rxscan489_loop
+    rx486_cur."!mark_push"(0, rx486_pos, $I10)
+  rxscan489_done:
+.annotate "line", 241
   # rx enumcharlist negate=0 
-    ge rx466_pos, rx466_eos, rx466_fail
-    sub $I10, rx466_pos, rx466_off
-    substr $S10, rx466_tgt, $I10, 1
+    ge rx486_pos, rx486_eos, rx486_fail
+    sub $I10, rx486_pos, rx486_off
+    substr $S10, rx486_tgt, $I10, 1
     index $I11, "*!?", $S10
-    lt $I11, 0, rx466_fail
-    inc rx466_pos
+    lt $I11, 0, rx486_fail
+    inc rx486_pos
   # rx pass
-    rx466_cur."!cursor_pass"(rx466_pos, "twigil")
-    rx466_cur."!cursor_debug"("PASS  ", "twigil", " at pos=", rx466_pos)
-    .return (rx466_cur)
-  rx466_fail:
+    rx486_cur."!cursor_pass"(rx486_pos, "twigil")
+    rx486_cur."!cursor_debug"("PASS  ", "twigil", " at pos=", rx486_pos)
+    .return (rx486_cur)
+  rx486_fail:
 .annotate "line", 4
-    (rx466_rep, rx466_pos, $I10, $P10) = rx466_cur."!mark_fail"(0)
-    lt rx466_pos, -1, rx466_done
-    eq rx466_pos, -1, rx466_fail
+    (rx486_rep, rx486_pos, $I10, $P10) = rx486_cur."!mark_fail"(0)
+    lt rx486_pos, -1, rx486_done
+    eq rx486_pos, -1, rx486_fail
     jump $I10
-  rx466_done:
-    rx466_cur."!cursor_fail"()
-    rx466_cur."!cursor_debug"("FAIL  ", "twigil")
-    .return (rx466_cur)
+  rx486_done:
+    rx486_cur."!cursor_fail"()
+    rx486_cur."!cursor_debug"("FAIL  ", "twigil")
+    .return (rx486_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__twigil"  :subid("114_1259103982.97329") :method
+.sub "!PREFIX__twigil"  :subid("118_1259177761.22934") :method
 .annotate "line", 4
-    new $P468, "ResizablePMCArray"
-    push $P468, "?"
-    push $P468, "!"
-    push $P468, "*"
-    .return ($P468)
+    new $P488, "ResizablePMCArray"
+    push $P488, "?"
+    push $P488, "!"
+    push $P488, "*"
+    .return ($P488)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "package_declarator"  :subid("115_1259103982.97329") :method
-.annotate "line", 233
-    $P471 = self."!protoregex"("package_declarator")
-    .return ($P471)
+.sub "package_declarator"  :subid("119_1259177761.22934") :method
+.annotate "line", 243
+    $P491 = self."!protoregex"("package_declarator")
+    .return ($P491)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__package_declarator"  :subid("116_1259103982.97329") :method
-.annotate "line", 233
-    $P473 = self."!PREFIX__!protoregex"("package_declarator")
-    .return ($P473)
+.sub "!PREFIX__package_declarator"  :subid("120_1259177761.22934") :method
+.annotate "line", 243
+    $P493 = self."!PREFIX__!protoregex"("package_declarator")
+    .return ($P493)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "package_declarator:sym<module>"  :subid("117_1259103982.97329") :method :outer("11_1259103982.97329")
+.sub "package_declarator:sym<module>"  :subid("121_1259177761.22934") :method :outer("11_1259177761.22934")
 .annotate "line", 4
-    .local string rx475_tgt
-    .local int rx475_pos
-    .local int rx475_off
-    .local int rx475_eos
-    .local int rx475_rep
-    .local pmc rx475_cur
-    (rx475_cur, rx475_pos, rx475_tgt) = self."!cursor_start"()
-    rx475_cur."!cursor_debug"("START ", "package_declarator:sym<module>")
-    .lex unicode:"$\x{a2}", rx475_cur
-    .local pmc match
-    .lex "$/", match
-    length rx475_eos, rx475_tgt
-    set rx475_off, 0
-    lt rx475_pos, 2, rx475_start
-    sub rx475_off, rx475_pos, 1
-    substr rx475_tgt, rx475_tgt, rx475_off
-  rx475_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan479_done
-    goto rxscan479_scan
-  rxscan479_loop:
-    ($P10) = rx475_cur."from"()
-    inc $P10
-    set rx475_pos, $P10
-    ge rx475_pos, rx475_eos, rxscan479_done
-  rxscan479_scan:
-    set_addr $I10, rxscan479_loop
-    rx475_cur."!mark_push"(0, rx475_pos, $I10)
-  rxscan479_done:
-.annotate "line", 234
+    .local string rx495_tgt
+    .local int rx495_pos
+    .local int rx495_off
+    .local int rx495_eos
+    .local int rx495_rep
+    .local pmc rx495_cur
+    (rx495_cur, rx495_pos, rx495_tgt) = self."!cursor_start"()
+    rx495_cur."!cursor_debug"("START ", "package_declarator:sym<module>")
+    .lex unicode:"$\x{a2}", rx495_cur
+    .local pmc match
+    .lex "$/", match
+    length rx495_eos, rx495_tgt
+    set rx495_off, 0
+    lt rx495_pos, 2, rx495_start
+    sub rx495_off, rx495_pos, 1
+    substr rx495_tgt, rx495_tgt, rx495_off
+  rx495_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan499_done
+    goto rxscan499_scan
+  rxscan499_loop:
+    ($P10) = rx495_cur."from"()
+    inc $P10
+    set rx495_pos, $P10
+    ge rx495_pos, rx495_eos, rxscan499_done
+  rxscan499_scan:
+    set_addr $I10, rxscan499_loop
+    rx495_cur."!mark_push"(0, rx495_pos, $I10)
+  rxscan499_done:
+.annotate "line", 244
   # rx subcapture "sym"
-    set_addr $I10, rxcap_480_fail
-    rx475_cur."!mark_push"(0, rx475_pos, $I10)
+    set_addr $I10, rxcap_500_fail
+    rx495_cur."!mark_push"(0, rx495_pos, $I10)
   # rx literal  "module"
-    add $I11, rx475_pos, 6
-    gt $I11, rx475_eos, rx475_fail
-    sub $I11, rx475_pos, rx475_off
-    substr $S10, rx475_tgt, $I11, 6
-    ne $S10, "module", rx475_fail
-    add rx475_pos, 6
-    set_addr $I10, rxcap_480_fail
-    ($I12, $I11) = rx475_cur."!mark_peek"($I10)
-    rx475_cur."!cursor_pos"($I11)
-    ($P10) = rx475_cur."!cursor_start"()
-    $P10."!cursor_pass"(rx475_pos, "")
-    rx475_cur."!mark_push"(0, -1, 0, $P10)
+    add $I11, rx495_pos, 6
+    gt $I11, rx495_eos, rx495_fail
+    sub $I11, rx495_pos, rx495_off
+    substr $S10, rx495_tgt, $I11, 6
+    ne $S10, "module", rx495_fail
+    add rx495_pos, 6
+    set_addr $I10, rxcap_500_fail
+    ($I12, $I11) = rx495_cur."!mark_peek"($I10)
+    rx495_cur."!cursor_pos"($I11)
+    ($P10) = rx495_cur."!cursor_start"()
+    $P10."!cursor_pass"(rx495_pos, "")
+    rx495_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("sym")
-    goto rxcap_480_done
-  rxcap_480_fail:
-    goto rx475_fail
-  rxcap_480_done:
+    goto rxcap_500_done
+  rxcap_500_fail:
+    goto rx495_fail
+  rxcap_500_done:
   # rx subrule "package_def" subtype=capture negate=
-    rx475_cur."!cursor_pos"(rx475_pos)
-    $P10 = rx475_cur."package_def"()
-    unless $P10, rx475_fail
-    rx475_cur."!mark_push"(0, -1, 0, $P10)
+    rx495_cur."!cursor_pos"(rx495_pos)
+    $P10 = rx495_cur."package_def"()
+    unless $P10, rx495_fail
+    rx495_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("package_def")
-    rx475_pos = $P10."pos"()
+    rx495_pos = $P10."pos"()
   # rx pass
-    rx475_cur."!cursor_pass"(rx475_pos, "package_declarator:sym<module>")
-    rx475_cur."!cursor_debug"("PASS  ", "package_declarator:sym<module>", " at pos=", rx475_pos)
-    .return (rx475_cur)
-  rx475_fail:
+    rx495_cur."!cursor_pass"(rx495_pos, "package_declarator:sym<module>")
+    rx495_cur."!cursor_debug"("PASS  ", "package_declarator:sym<module>", " at pos=", rx495_pos)
+    .return (rx495_cur)
+  rx495_fail:
 .annotate "line", 4
-    (rx475_rep, rx475_pos, $I10, $P10) = rx475_cur."!mark_fail"(0)
-    lt rx475_pos, -1, rx475_done
-    eq rx475_pos, -1, rx475_fail
+    (rx495_rep, rx495_pos, $I10, $P10) = rx495_cur."!mark_fail"(0)
+    lt rx495_pos, -1, rx495_done
+    eq rx495_pos, -1, rx495_fail
     jump $I10
-  rx475_done:
-    rx475_cur."!cursor_fail"()
-    rx475_cur."!cursor_debug"("FAIL  ", "package_declarator:sym<module>")
-    .return (rx475_cur)
+  rx495_done:
+    rx495_cur."!cursor_fail"()
+    rx495_cur."!cursor_debug"("FAIL  ", "package_declarator:sym<module>")
+    .return (rx495_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__package_declarator:sym<module>"  :subid("118_1259103982.97329") :method
+.sub "!PREFIX__package_declarator:sym<module>"  :subid("122_1259177761.22934") :method
 .annotate "line", 4
-    $P477 = self."!PREFIX__!subrule"("package_def", "module")
-    new $P478, "ResizablePMCArray"
-    push $P478, $P477
-    .return ($P478)
+    $P497 = self."!PREFIX__!subrule"("package_def", "module")
+    new $P498, "ResizablePMCArray"
+    push $P498, $P497
+    .return ($P498)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "package_declarator:sym<class>"  :subid("119_1259103982.97329") :method :outer("11_1259103982.97329")
+.sub "package_declarator:sym<class>"  :subid("123_1259177761.22934") :method :outer("11_1259177761.22934")
 .annotate "line", 4
-    .local string rx482_tgt
-    .local int rx482_pos
-    .local int rx482_off
-    .local int rx482_eos
-    .local int rx482_rep
-    .local pmc rx482_cur
-    (rx482_cur, rx482_pos, rx482_tgt) = self."!cursor_start"()
-    rx482_cur."!cursor_debug"("START ", "package_declarator:sym<class>")
-    .lex unicode:"$\x{a2}", rx482_cur
+    .local string rx502_tgt
+    .local int rx502_pos
+    .local int rx502_off
+    .local int rx502_eos
+    .local int rx502_rep
+    .local pmc rx502_cur
+    (rx502_cur, rx502_pos, rx502_tgt) = self."!cursor_start"()
+    rx502_cur."!cursor_debug"("START ", "package_declarator:sym<class>")
+    .lex unicode:"$\x{a2}", rx502_cur
     .local pmc match
     .lex "$/", match
-    length rx482_eos, rx482_tgt
-    set rx482_off, 0
-    lt rx482_pos, 2, rx482_start
-    sub rx482_off, rx482_pos, 1
-    substr rx482_tgt, rx482_tgt, rx482_off
-  rx482_start:
+    length rx502_eos, rx502_tgt
+    set rx502_off, 0
+    lt rx502_pos, 2, rx502_start
+    sub rx502_off, rx502_pos, 1
+    substr rx502_tgt, rx502_tgt, rx502_off
+  rx502_start:
     $I10 = self.'from'()
-    ne $I10, -1, rxscan487_done
-    goto rxscan487_scan
-  rxscan487_loop:
-    ($P10) = rx482_cur."from"()
+    ne $I10, -1, rxscan507_done
+    goto rxscan507_scan
+  rxscan507_loop:
+    ($P10) = rx502_cur."from"()
     inc $P10
-    set rx482_pos, $P10
-    ge rx482_pos, rx482_eos, rxscan487_done
-  rxscan487_scan:
-    set_addr $I10, rxscan487_loop
-    rx482_cur."!mark_push"(0, rx482_pos, $I10)
-  rxscan487_done:
-.annotate "line", 235
+    set rx502_pos, $P10
+    ge rx502_pos, rx502_eos, rxscan507_done
+  rxscan507_scan:
+    set_addr $I10, rxscan507_loop
+    rx502_cur."!mark_push"(0, rx502_pos, $I10)
+  rxscan507_done:
+.annotate "line", 245
   # rx subcapture "sym"
-    set_addr $I10, rxcap_489_fail
-    rx482_cur."!mark_push"(0, rx482_pos, $I10)
-  alt488_0:
-    set_addr $I10, alt488_1
-    rx482_cur."!mark_push"(0, rx482_pos, $I10)
+    set_addr $I10, rxcap_509_fail
+    rx502_cur."!mark_push"(0, rx502_pos, $I10)
+  alt508_0:
+    set_addr $I10, alt508_1
+    rx502_cur."!mark_push"(0, rx502_pos, $I10)
   # rx literal  "class"
-    add $I11, rx482_pos, 5
-    gt $I11, rx482_eos, rx482_fail
-    sub $I11, rx482_pos, rx482_off
-    substr $S10, rx482_tgt, $I11, 5
-    ne $S10, "class", rx482_fail
-    add rx482_pos, 5
-    goto alt488_end
-  alt488_1:
+    add $I11, rx502_pos, 5
+    gt $I11, rx502_eos, rx502_fail
+    sub $I11, rx502_pos, rx502_off
+    substr $S10, rx502_tgt, $I11, 5
+    ne $S10, "class", rx502_fail
+    add rx502_pos, 5
+    goto alt508_end
+  alt508_1:
   # rx literal  "grammar"
-    add $I11, rx482_pos, 7
-    gt $I11, rx482_eos, rx482_fail
-    sub $I11, rx482_pos, rx482_off
-    substr $S10, rx482_tgt, $I11, 7
-    ne $S10, "grammar", rx482_fail
-    add rx482_pos, 7
-  alt488_end:
-    set_addr $I10, rxcap_489_fail
-    ($I12, $I11) = rx482_cur."!mark_peek"($I10)
-    rx482_cur."!cursor_pos"($I11)
-    ($P10) = rx482_cur."!cursor_start"()
-    $P10."!cursor_pass"(rx482_pos, "")
-    rx482_cur."!mark_push"(0, -1, 0, $P10)
+    add $I11, rx502_pos, 7
+    gt $I11, rx502_eos, rx502_fail
+    sub $I11, rx502_pos, rx502_off
+    substr $S10, rx502_tgt, $I11, 7
+    ne $S10, "grammar", rx502_fail
+    add rx502_pos, 7
+  alt508_end:
+    set_addr $I10, rxcap_509_fail
+    ($I12, $I11) = rx502_cur."!mark_peek"($I10)
+    rx502_cur."!cursor_pos"($I11)
+    ($P10) = rx502_cur."!cursor_start"()
+    $P10."!cursor_pass"(rx502_pos, "")
+    rx502_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("sym")
-    goto rxcap_489_done
-  rxcap_489_fail:
-    goto rx482_fail
-  rxcap_489_done:
+    goto rxcap_509_done
+  rxcap_509_fail:
+    goto rx502_fail
+  rxcap_509_done:
   # rx subrule "package_def" subtype=capture negate=
-    rx482_cur."!cursor_pos"(rx482_pos)
-    $P10 = rx482_cur."package_def"()
-    unless $P10, rx482_fail
-    rx482_cur."!mark_push"(0, -1, 0, $P10)
+    rx502_cur."!cursor_pos"(rx502_pos)
+    $P10 = rx502_cur."package_def"()
+    unless $P10, rx502_fail
+    rx502_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("package_def")
-    rx482_pos = $P10."pos"()
+    rx502_pos = $P10."pos"()
   # rx pass
-    rx482_cur."!cursor_pass"(rx482_pos, "package_declarator:sym<class>")
-    rx482_cur."!cursor_debug"("PASS  ", "package_declarator:sym<class>", " at pos=", rx482_pos)
-    .return (rx482_cur)
-  rx482_fail:
+    rx502_cur."!cursor_pass"(rx502_pos, "package_declarator:sym<class>")
+    rx502_cur."!cursor_debug"("PASS  ", "package_declarator:sym<class>", " at pos=", rx502_pos)
+    .return (rx502_cur)
+  rx502_fail:
 .annotate "line", 4
-    (rx482_rep, rx482_pos, $I10, $P10) = rx482_cur."!mark_fail"(0)
-    lt rx482_pos, -1, rx482_done
-    eq rx482_pos, -1, rx482_fail
+    (rx502_rep, rx502_pos, $I10, $P10) = rx502_cur."!mark_fail"(0)
+    lt rx502_pos, -1, rx502_done
+    eq rx502_pos, -1, rx502_fail
     jump $I10
-  rx482_done:
-    rx482_cur."!cursor_fail"()
-    rx482_cur."!cursor_debug"("FAIL  ", "package_declarator:sym<class>")
-    .return (rx482_cur)
+  rx502_done:
+    rx502_cur."!cursor_fail"()
+    rx502_cur."!cursor_debug"("FAIL  ", "package_declarator:sym<class>")
+    .return (rx502_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__package_declarator:sym<class>"  :subid("120_1259103982.97329") :method
+.sub "!PREFIX__package_declarator:sym<class>"  :subid("124_1259177761.22934") :method
 .annotate "line", 4
-    $P484 = self."!PREFIX__!subrule"("package_def", "grammar")
-    $P485 = self."!PREFIX__!subrule"("package_def", "class")
-    new $P486, "ResizablePMCArray"
-    push $P486, $P484
-    push $P486, $P485
-    .return ($P486)
+    $P504 = self."!PREFIX__!subrule"("package_def", "grammar")
+    $P505 = self."!PREFIX__!subrule"("package_def", "class")
+    new $P506, "ResizablePMCArray"
+    push $P506, $P504
+    push $P506, $P505
+    .return ($P506)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "package_def"  :subid("121_1259103982.97329") :method :outer("11_1259103982.97329")
+.sub "package_def"  :subid("125_1259177761.22934") :method :outer("11_1259177761.22934")
 .annotate "line", 4
-    .local string rx491_tgt
-    .local int rx491_pos
-    .local int rx491_off
-    .local int rx491_eos
-    .local int rx491_rep
-    .local pmc rx491_cur
-    (rx491_cur, rx491_pos, rx491_tgt) = self."!cursor_start"()
-    rx491_cur."!cursor_debug"("START ", "package_def")
-    rx491_cur."!cursor_caparray"("parent")
-    .lex unicode:"$\x{a2}", rx491_cur
+    .local string rx511_tgt
+    .local int rx511_pos
+    .local int rx511_off
+    .local int rx511_eos
+    .local int rx511_rep
+    .local pmc rx511_cur
+    (rx511_cur, rx511_pos, rx511_tgt) = self."!cursor_start"()
+    rx511_cur."!cursor_debug"("START ", "package_def")
+    rx511_cur."!cursor_caparray"("parent")
+    .lex unicode:"$\x{a2}", rx511_cur
     .local pmc match
     .lex "$/", match
-    length rx491_eos, rx491_tgt
-    set rx491_off, 0
-    lt rx491_pos, 2, rx491_start
-    sub rx491_off, rx491_pos, 1
-    substr rx491_tgt, rx491_tgt, rx491_off
-  rx491_start:
+    length rx511_eos, rx511_tgt
+    set rx511_off, 0
+    lt rx511_pos, 2, rx511_start
+    sub rx511_off, rx511_pos, 1
+    substr rx511_tgt, rx511_tgt, rx511_off
+  rx511_start:
     $I10 = self.'from'()
-    ne $I10, -1, rxscan494_done
-    goto rxscan494_scan
-  rxscan494_loop:
-    ($P10) = rx491_cur."from"()
+    ne $I10, -1, rxscan514_done
+    goto rxscan514_scan
+  rxscan514_loop:
+    ($P10) = rx511_cur."from"()
     inc $P10
-    set rx491_pos, $P10
-    ge rx491_pos, rx491_eos, rxscan494_done
-  rxscan494_scan:
-    set_addr $I10, rxscan494_loop
-    rx491_cur."!mark_push"(0, rx491_pos, $I10)
-  rxscan494_done:
-.annotate "line", 237
+    set rx511_pos, $P10
+    ge rx511_pos, rx511_eos, rxscan514_done
+  rxscan514_scan:
+    set_addr $I10, rxscan514_loop
+    rx511_cur."!mark_push"(0, rx511_pos, $I10)
+  rxscan514_done:
+.annotate "line", 247
   # rx subrule "ws" subtype=method negate=
-    rx491_cur."!cursor_pos"(rx491_pos)
-    $P10 = rx491_cur."ws"()
-    unless $P10, rx491_fail
-    rx491_pos = $P10."pos"()
-.annotate "line", 238
+    rx511_cur."!cursor_pos"(rx511_pos)
+    $P10 = rx511_cur."ws"()
+    unless $P10, rx511_fail
+    rx511_pos = $P10."pos"()
+.annotate "line", 248
   # rx subrule "name" subtype=capture negate=
-    rx491_cur."!cursor_pos"(rx491_pos)
-    $P10 = rx491_cur."name"()
-    unless $P10, rx491_fail
-    rx491_cur."!mark_push"(0, -1, 0, $P10)
+    rx511_cur."!cursor_pos"(rx511_pos)
+    $P10 = rx511_cur."name"()
+    unless $P10, rx511_fail
+    rx511_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("name")
-    rx491_pos = $P10."pos"()
+    rx511_pos = $P10."pos"()
   # rx subrule "ws" subtype=method negate=
-    rx491_cur."!cursor_pos"(rx491_pos)
-    $P10 = rx491_cur."ws"()
-    unless $P10, rx491_fail
-    rx491_pos = $P10."pos"()
-.annotate "line", 239
-  # rx rxquantr497 ** 0..1
-    set_addr $I501, rxquantr497_done
-    rx491_cur."!mark_push"(0, rx491_pos, $I501)
-  rxquantr497_loop:
-  # rx subrule "ws" subtype=method negate=
-    rx491_cur."!cursor_pos"(rx491_pos)
-    $P10 = rx491_cur."ws"()
-    unless $P10, rx491_fail
-    rx491_pos = $P10."pos"()
+    rx511_cur."!cursor_pos"(rx511_pos)
+    $P10 = rx511_cur."ws"()
+    unless $P10, rx511_fail
+    rx511_pos = $P10."pos"()
+.annotate "line", 249
+  # rx rxquantr517 ** 0..1
+    set_addr $I521, rxquantr517_done
+    rx511_cur."!mark_push"(0, rx511_pos, $I521)
+  rxquantr517_loop:
+  # rx subrule "ws" subtype=method negate=
+    rx511_cur."!cursor_pos"(rx511_pos)
+    $P10 = rx511_cur."ws"()
+    unless $P10, rx511_fail
+    rx511_pos = $P10."pos"()
   # rx literal  "is"
-    add $I11, rx491_pos, 2
-    gt $I11, rx491_eos, rx491_fail
-    sub $I11, rx491_pos, rx491_off
-    substr $S10, rx491_tgt, $I11, 2
-    ne $S10, "is", rx491_fail
-    add rx491_pos, 2
-  # rx subrule "ws" subtype=method negate=
-    rx491_cur."!cursor_pos"(rx491_pos)
-    $P10 = rx491_cur."ws"()
-    unless $P10, rx491_fail
-    rx491_pos = $P10."pos"()
+    add $I11, rx511_pos, 2
+    gt $I11, rx511_eos, rx511_fail
+    sub $I11, rx511_pos, rx511_off
+    substr $S10, rx511_tgt, $I11, 2
+    ne $S10, "is", rx511_fail
+    add rx511_pos, 2
+  # rx subrule "ws" subtype=method negate=
+    rx511_cur."!cursor_pos"(rx511_pos)
+    $P10 = rx511_cur."ws"()
+    unless $P10, rx511_fail
+    rx511_pos = $P10."pos"()
   # rx subrule "name" subtype=capture negate=
-    rx491_cur."!cursor_pos"(rx491_pos)
-    $P10 = rx491_cur."name"()
-    unless $P10, rx491_fail
-    rx491_cur."!mark_push"(0, -1, 0, $P10)
+    rx511_cur."!cursor_pos"(rx511_pos)
+    $P10 = rx511_cur."name"()
+    unless $P10, rx511_fail
+    rx511_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("parent")
-    rx491_pos = $P10."pos"()
+    rx511_pos = $P10."pos"()
   # rx subrule "ws" subtype=method negate=
-    rx491_cur."!cursor_pos"(rx491_pos)
-    $P10 = rx491_cur."ws"()
-    unless $P10, rx491_fail
-    rx491_pos = $P10."pos"()
-    (rx491_rep) = rx491_cur."!mark_commit"($I501)
-  rxquantr497_done:
-  # rx subrule "ws" subtype=method negate=
-    rx491_cur."!cursor_pos"(rx491_pos)
-    $P10 = rx491_cur."ws"()
-    unless $P10, rx491_fail
-    rx491_pos = $P10."pos"()
-  alt503_0:
-.annotate "line", 240
-    set_addr $I10, alt503_1
-    rx491_cur."!mark_push"(0, rx491_pos, $I10)
-.annotate "line", 241
-  # rx subrule "ws" subtype=method negate=
-    rx491_cur."!cursor_pos"(rx491_pos)
-    $P10 = rx491_cur."ws"()
-    unless $P10, rx491_fail
-    rx491_pos = $P10."pos"()
+    rx511_cur."!cursor_pos"(rx511_pos)
+    $P10 = rx511_cur."ws"()
+    unless $P10, rx511_fail
+    rx511_pos = $P10."pos"()
+    (rx511_rep) = rx511_cur."!mark_commit"($I521)
+  rxquantr517_done:
+  # rx subrule "ws" subtype=method negate=
+    rx511_cur."!cursor_pos"(rx511_pos)
+    $P10 = rx511_cur."ws"()
+    unless $P10, rx511_fail
+    rx511_pos = $P10."pos"()
+  alt523_0:
+.annotate "line", 250
+    set_addr $I10, alt523_1
+    rx511_cur."!mark_push"(0, rx511_pos, $I10)
+.annotate "line", 251
+  # rx subrule "ws" subtype=method negate=
+    rx511_cur."!cursor_pos"(rx511_pos)
+    $P10 = rx511_cur."ws"()
+    unless $P10, rx511_fail
+    rx511_pos = $P10."pos"()
   # rx literal  ";"
-    add $I11, rx491_pos, 1
-    gt $I11, rx491_eos, rx491_fail
-    sub $I11, rx491_pos, rx491_off
-    substr $S10, rx491_tgt, $I11, 1
-    ne $S10, ";", rx491_fail
-    add rx491_pos, 1
-  # rx subrule "ws" subtype=method negate=
-    rx491_cur."!cursor_pos"(rx491_pos)
-    $P10 = rx491_cur."ws"()
-    unless $P10, rx491_fail
-    rx491_pos = $P10."pos"()
+    add $I11, rx511_pos, 1
+    gt $I11, rx511_eos, rx511_fail
+    sub $I11, rx511_pos, rx511_off
+    substr $S10, rx511_tgt, $I11, 1
+    ne $S10, ";", rx511_fail
+    add rx511_pos, 1
+  # rx subrule "ws" subtype=method negate=
+    rx511_cur."!cursor_pos"(rx511_pos)
+    $P10 = rx511_cur."ws"()
+    unless $P10, rx511_fail
+    rx511_pos = $P10."pos"()
   # rx subrule "comp_unit" subtype=capture negate=
-    rx491_cur."!cursor_pos"(rx491_pos)
-    $P10 = rx491_cur."comp_unit"()
-    unless $P10, rx491_fail
-    rx491_cur."!mark_push"(0, -1, 0, $P10)
+    rx511_cur."!cursor_pos"(rx511_pos)
+    $P10 = rx511_cur."comp_unit"()
+    unless $P10, rx511_fail
+    rx511_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("comp_unit")
-    rx491_pos = $P10."pos"()
+    rx511_pos = $P10."pos"()
+  # rx subrule "ws" subtype=method negate=
+    rx511_cur."!cursor_pos"(rx511_pos)
+    $P10 = rx511_cur."ws"()
+    unless $P10, rx511_fail
+    rx511_pos = $P10."pos"()
+    goto alt523_end
+  alt523_1:
+    set_addr $I10, alt523_2
+    rx511_cur."!mark_push"(0, rx511_pos, $I10)
+.annotate "line", 252
   # rx subrule "ws" subtype=method negate=
-    rx491_cur."!cursor_pos"(rx491_pos)
-    $P10 = rx491_cur."ws"()
-    unless $P10, rx491_fail
-    rx491_pos = $P10."pos"()
-    goto alt503_end
-  alt503_1:
-    set_addr $I10, alt503_2
-    rx491_cur."!mark_push"(0, rx491_pos, $I10)
-.annotate "line", 242
-  # rx subrule "ws" subtype=method negate=
-    rx491_cur."!cursor_pos"(rx491_pos)
-    $P10 = rx491_cur."ws"()
-    unless $P10, rx491_fail
-    rx491_pos = $P10."pos"()
+    rx511_cur."!cursor_pos"(rx511_pos)
+    $P10 = rx511_cur."ws"()
+    unless $P10, rx511_fail
+    rx511_pos = $P10."pos"()
   # rx enumcharlist negate=0 zerowidth
-    ge rx491_pos, rx491_eos, rx491_fail
-    sub $I10, rx491_pos, rx491_off
-    substr $S10, rx491_tgt, $I10, 1
+    ge rx511_pos, rx511_eos, rx511_fail
+    sub $I10, rx511_pos, rx511_off
+    substr $S10, rx511_tgt, $I10, 1
     index $I11, "{", $S10
-    lt $I11, 0, rx491_fail
+    lt $I11, 0, rx511_fail
   # rx subrule "ws" subtype=method negate=
-    rx491_cur."!cursor_pos"(rx491_pos)
-    $P10 = rx491_cur."ws"()
-    unless $P10, rx491_fail
-    rx491_pos = $P10."pos"()
+    rx511_cur."!cursor_pos"(rx511_pos)
+    $P10 = rx511_cur."ws"()
+    unless $P10, rx511_fail
+    rx511_pos = $P10."pos"()
   # rx subrule "block" subtype=capture negate=
-    rx491_cur."!cursor_pos"(rx491_pos)
-    $P10 = rx491_cur."block"()
-    unless $P10, rx491_fail
-    rx491_cur."!mark_push"(0, -1, 0, $P10)
+    rx511_cur."!cursor_pos"(rx511_pos)
+    $P10 = rx511_cur."block"()
+    unless $P10, rx511_fail
+    rx511_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("block")
-    rx491_pos = $P10."pos"()
+    rx511_pos = $P10."pos"()
   # rx subrule "ws" subtype=method negate=
-    rx491_cur."!cursor_pos"(rx491_pos)
-    $P10 = rx491_cur."ws"()
-    unless $P10, rx491_fail
-    rx491_pos = $P10."pos"()
-    goto alt503_end
-  alt503_2:
-.annotate "line", 243
+    rx511_cur."!cursor_pos"(rx511_pos)
+    $P10 = rx511_cur."ws"()
+    unless $P10, rx511_fail
+    rx511_pos = $P10."pos"()
+    goto alt523_end
+  alt523_2:
+.annotate "line", 253
   # rx subrule "ws" subtype=method negate=
-    rx491_cur."!cursor_pos"(rx491_pos)
-    $P10 = rx491_cur."ws"()
-    unless $P10, rx491_fail
-    rx491_pos = $P10."pos"()
+    rx511_cur."!cursor_pos"(rx511_pos)
+    $P10 = rx511_cur."ws"()
+    unless $P10, rx511_fail
+    rx511_pos = $P10."pos"()
   # rx subrule "panic" subtype=method negate=
-    rx491_cur."!cursor_pos"(rx491_pos)
-    $P10 = rx491_cur."panic"("Malformed package declaration")
-    unless $P10, rx491_fail
-    rx491_pos = $P10."pos"()
-  # rx subrule "ws" subtype=method negate=
-    rx491_cur."!cursor_pos"(rx491_pos)
-    $P10 = rx491_cur."ws"()
-    unless $P10, rx491_fail
-    rx491_pos = $P10."pos"()
-  alt503_end:
-.annotate "line", 244
+    rx511_cur."!cursor_pos"(rx511_pos)
+    $P10 = rx511_cur."panic"("Malformed package declaration")
+    unless $P10, rx511_fail
+    rx511_pos = $P10."pos"()
+  # rx subrule "ws" subtype=method negate=
+    rx511_cur."!cursor_pos"(rx511_pos)
+    $P10 = rx511_cur."ws"()
+    unless $P10, rx511_fail
+    rx511_pos = $P10."pos"()
+  alt523_end:
+.annotate "line", 254
   # rx subrule "ws" subtype=method negate=
-    rx491_cur."!cursor_pos"(rx491_pos)
-    $P10 = rx491_cur."ws"()
-    unless $P10, rx491_fail
-    rx491_pos = $P10."pos"()
-.annotate "line", 237
+    rx511_cur."!cursor_pos"(rx511_pos)
+    $P10 = rx511_cur."ws"()
+    unless $P10, rx511_fail
+    rx511_pos = $P10."pos"()
+.annotate "line", 247
   # rx pass
-    rx491_cur."!cursor_pass"(rx491_pos, "package_def")
-    rx491_cur."!cursor_debug"("PASS  ", "package_def", " at pos=", rx491_pos)
-    .return (rx491_cur)
-  rx491_fail:
+    rx511_cur."!cursor_pass"(rx511_pos, "package_def")
+    rx511_cur."!cursor_debug"("PASS  ", "package_def", " at pos=", rx511_pos)
+    .return (rx511_cur)
+  rx511_fail:
 .annotate "line", 4
-    (rx491_rep, rx491_pos, $I10, $P10) = rx491_cur."!mark_fail"(0)
-    lt rx491_pos, -1, rx491_done
-    eq rx491_pos, -1, rx491_fail
+    (rx511_rep, rx511_pos, $I10, $P10) = rx511_cur."!mark_fail"(0)
+    lt rx511_pos, -1, rx511_done
+    eq rx511_pos, -1, rx511_fail
     jump $I10
-  rx491_done:
-    rx491_cur."!cursor_fail"()
-    rx491_cur."!cursor_debug"("FAIL  ", "package_def")
-    .return (rx491_cur)
+  rx511_done:
+    rx511_cur."!cursor_fail"()
+    rx511_cur."!cursor_debug"("FAIL  ", "package_def")
+    .return (rx511_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__package_def"  :subid("122_1259103982.97329") :method
+.sub "!PREFIX__package_def"  :subid("126_1259177761.22934") :method
 .annotate "line", 4
-    new $P493, "ResizablePMCArray"
-    push $P493, ""
-    .return ($P493)
+    new $P513, "ResizablePMCArray"
+    push $P513, ""
+    .return ($P513)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "scope_declarator"  :subid("123_1259103982.97329") :method
-.annotate "line", 247
-    $P514 = self."!protoregex"("scope_declarator")
-    .return ($P514)
+.sub "scope_declarator"  :subid("127_1259177761.22934") :method
+.annotate "line", 257
+    $P534 = self."!protoregex"("scope_declarator")
+    .return ($P534)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__scope_declarator"  :subid("124_1259103982.97329") :method
-.annotate "line", 247
-    $P516 = self."!PREFIX__!protoregex"("scope_declarator")
-    .return ($P516)
+.sub "!PREFIX__scope_declarator"  :subid("128_1259177761.22934") :method
+.annotate "line", 257
+    $P536 = self."!PREFIX__!protoregex"("scope_declarator")
+    .return ($P536)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "scope_declarator:sym<my>"  :subid("125_1259103982.97329") :method :outer("11_1259103982.97329")
+.sub "scope_declarator:sym<my>"  :subid("129_1259177761.22934") :method :outer("11_1259177761.22934")
 .annotate "line", 4
-    .local string rx518_tgt
-    .local int rx518_pos
-    .local int rx518_off
-    .local int rx518_eos
-    .local int rx518_rep
-    .local pmc rx518_cur
-    (rx518_cur, rx518_pos, rx518_tgt) = self."!cursor_start"()
-    rx518_cur."!cursor_debug"("START ", "scope_declarator:sym<my>")
-    .lex unicode:"$\x{a2}", rx518_cur
-    .local pmc match
-    .lex "$/", match
-    length rx518_eos, rx518_tgt
-    set rx518_off, 0
-    lt rx518_pos, 2, rx518_start
-    sub rx518_off, rx518_pos, 1
-    substr rx518_tgt, rx518_tgt, rx518_off
-  rx518_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan522_done
-    goto rxscan522_scan
-  rxscan522_loop:
-    ($P10) = rx518_cur."from"()
-    inc $P10
-    set rx518_pos, $P10
-    ge rx518_pos, rx518_eos, rxscan522_done
-  rxscan522_scan:
-    set_addr $I10, rxscan522_loop
-    rx518_cur."!mark_push"(0, rx518_pos, $I10)
-  rxscan522_done:
-.annotate "line", 248
+    .local string rx538_tgt
+    .local int rx538_pos
+    .local int rx538_off
+    .local int rx538_eos
+    .local int rx538_rep
+    .local pmc rx538_cur
+    (rx538_cur, rx538_pos, rx538_tgt) = self."!cursor_start"()
+    rx538_cur."!cursor_debug"("START ", "scope_declarator:sym<my>")
+    .lex unicode:"$\x{a2}", rx538_cur
+    .local pmc match
+    .lex "$/", match
+    length rx538_eos, rx538_tgt
+    set rx538_off, 0
+    lt rx538_pos, 2, rx538_start
+    sub rx538_off, rx538_pos, 1
+    substr rx538_tgt, rx538_tgt, rx538_off
+  rx538_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan542_done
+    goto rxscan542_scan
+  rxscan542_loop:
+    ($P10) = rx538_cur."from"()
+    inc $P10
+    set rx538_pos, $P10
+    ge rx538_pos, rx538_eos, rxscan542_done
+  rxscan542_scan:
+    set_addr $I10, rxscan542_loop
+    rx538_cur."!mark_push"(0, rx538_pos, $I10)
+  rxscan542_done:
+.annotate "line", 258
   # rx subcapture "sym"
-    set_addr $I10, rxcap_523_fail
-    rx518_cur."!mark_push"(0, rx518_pos, $I10)
+    set_addr $I10, rxcap_543_fail
+    rx538_cur."!mark_push"(0, rx538_pos, $I10)
   # rx literal  "my"
-    add $I11, rx518_pos, 2
-    gt $I11, rx518_eos, rx518_fail
-    sub $I11, rx518_pos, rx518_off
-    substr $S10, rx518_tgt, $I11, 2
-    ne $S10, "my", rx518_fail
-    add rx518_pos, 2
-    set_addr $I10, rxcap_523_fail
-    ($I12, $I11) = rx518_cur."!mark_peek"($I10)
-    rx518_cur."!cursor_pos"($I11)
-    ($P10) = rx518_cur."!cursor_start"()
-    $P10."!cursor_pass"(rx518_pos, "")
-    rx518_cur."!mark_push"(0, -1, 0, $P10)
+    add $I11, rx538_pos, 2
+    gt $I11, rx538_eos, rx538_fail
+    sub $I11, rx538_pos, rx538_off
+    substr $S10, rx538_tgt, $I11, 2
+    ne $S10, "my", rx538_fail
+    add rx538_pos, 2
+    set_addr $I10, rxcap_543_fail
+    ($I12, $I11) = rx538_cur."!mark_peek"($I10)
+    rx538_cur."!cursor_pos"($I11)
+    ($P10) = rx538_cur."!cursor_start"()
+    $P10."!cursor_pass"(rx538_pos, "")
+    rx538_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("sym")
-    goto rxcap_523_done
-  rxcap_523_fail:
-    goto rx518_fail
-  rxcap_523_done:
+    goto rxcap_543_done
+  rxcap_543_fail:
+    goto rx538_fail
+  rxcap_543_done:
   # rx subrule "scoped" subtype=capture negate=
-    rx518_cur."!cursor_pos"(rx518_pos)
-    $P10 = rx518_cur."scoped"("my")
-    unless $P10, rx518_fail
-    rx518_cur."!mark_push"(0, -1, 0, $P10)
+    rx538_cur."!cursor_pos"(rx538_pos)
+    $P10 = rx538_cur."scoped"("my")
+    unless $P10, rx538_fail
+    rx538_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("scoped")
-    rx518_pos = $P10."pos"()
+    rx538_pos = $P10."pos"()
   # rx pass
-    rx518_cur."!cursor_pass"(rx518_pos, "scope_declarator:sym<my>")
-    rx518_cur."!cursor_debug"("PASS  ", "scope_declarator:sym<my>", " at pos=", rx518_pos)
-    .return (rx518_cur)
-  rx518_fail:
+    rx538_cur."!cursor_pass"(rx538_pos, "scope_declarator:sym<my>")
+    rx538_cur."!cursor_debug"("PASS  ", "scope_declarator:sym<my>", " at pos=", rx538_pos)
+    .return (rx538_cur)
+  rx538_fail:
 .annotate "line", 4
-    (rx518_rep, rx518_pos, $I10, $P10) = rx518_cur."!mark_fail"(0)
-    lt rx518_pos, -1, rx518_done
-    eq rx518_pos, -1, rx518_fail
+    (rx538_rep, rx538_pos, $I10, $P10) = rx538_cur."!mark_fail"(0)
+    lt rx538_pos, -1, rx538_done
+    eq rx538_pos, -1, rx538_fail
     jump $I10
-  rx518_done:
-    rx518_cur."!cursor_fail"()
-    rx518_cur."!cursor_debug"("FAIL  ", "scope_declarator:sym<my>")
-    .return (rx518_cur)
+  rx538_done:
+    rx538_cur."!cursor_fail"()
+    rx538_cur."!cursor_debug"("FAIL  ", "scope_declarator:sym<my>")
+    .return (rx538_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__scope_declarator:sym<my>"  :subid("126_1259103982.97329") :method
+.sub "!PREFIX__scope_declarator:sym<my>"  :subid("130_1259177761.22934") :method
 .annotate "line", 4
-    $P520 = self."!PREFIX__!subrule"("scoped", "my")
-    new $P521, "ResizablePMCArray"
-    push $P521, $P520
-    .return ($P521)
+    $P540 = self."!PREFIX__!subrule"("scoped", "my")
+    new $P541, "ResizablePMCArray"
+    push $P541, $P540
+    .return ($P541)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "scope_declarator:sym<our>"  :subid("127_1259103982.97329") :method :outer("11_1259103982.97329")
+.sub "scope_declarator:sym<our>"  :subid("131_1259177761.22934") :method :outer("11_1259177761.22934")
 .annotate "line", 4
-    .local string rx525_tgt
-    .local int rx525_pos
-    .local int rx525_off
-    .local int rx525_eos
-    .local int rx525_rep
-    .local pmc rx525_cur
-    (rx525_cur, rx525_pos, rx525_tgt) = self."!cursor_start"()
-    rx525_cur."!cursor_debug"("START ", "scope_declarator:sym<our>")
-    .lex unicode:"$\x{a2}", rx525_cur
+    .local string rx545_tgt
+    .local int rx545_pos
+    .local int rx545_off
+    .local int rx545_eos
+    .local int rx545_rep
+    .local pmc rx545_cur
+    (rx545_cur, rx545_pos, rx545_tgt) = self."!cursor_start"()
+    rx545_cur."!cursor_debug"("START ", "scope_declarator:sym<our>")
+    .lex unicode:"$\x{a2}", rx545_cur
     .local pmc match
     .lex "$/", match
-    length rx525_eos, rx525_tgt
-    set rx525_off, 0
-    lt rx525_pos, 2, rx525_start
-    sub rx525_off, rx525_pos, 1
-    substr rx525_tgt, rx525_tgt, rx525_off
-  rx525_start:
+    length rx545_eos, rx545_tgt
+    set rx545_off, 0
+    lt rx545_pos, 2, rx545_start
+    sub rx545_off, rx545_pos, 1
+    substr rx545_tgt, rx545_tgt, rx545_off
+  rx545_start:
     $I10 = self.'from'()
-    ne $I10, -1, rxscan529_done
-    goto rxscan529_scan
-  rxscan529_loop:
-    ($P10) = rx525_cur."from"()
+    ne $I10, -1, rxscan549_done
+    goto rxscan549_scan
+  rxscan549_loop:
+    ($P10) = rx545_cur."from"()
     inc $P10
-    set rx525_pos, $P10
-    ge rx525_pos, rx525_eos, rxscan529_done
-  rxscan529_scan:
-    set_addr $I10, rxscan529_loop
-    rx525_cur."!mark_push"(0, rx525_pos, $I10)
-  rxscan529_done:
-.annotate "line", 249
+    set rx545_pos, $P10
+    ge rx545_pos, rx545_eos, rxscan549_done
+  rxscan549_scan:
+    set_addr $I10, rxscan549_loop
+    rx545_cur."!mark_push"(0, rx545_pos, $I10)
+  rxscan549_done:
+.annotate "line", 259
   # rx subcapture "sym"
-    set_addr $I10, rxcap_530_fail
-    rx525_cur."!mark_push"(0, rx525_pos, $I10)
+    set_addr $I10, rxcap_550_fail
+    rx545_cur."!mark_push"(0, rx545_pos, $I10)
   # rx literal  "our"
-    add $I11, rx525_pos, 3
-    gt $I11, rx525_eos, rx525_fail
-    sub $I11, rx525_pos, rx525_off
-    substr $S10, rx525_tgt, $I11, 3
-    ne $S10, "our", rx525_fail
-    add rx525_pos, 3
-    set_addr $I10, rxcap_530_fail
-    ($I12, $I11) = rx525_cur."!mark_peek"($I10)
-    rx525_cur."!cursor_pos"($I11)
-    ($P10) = rx525_cur."!cursor_start"()
-    $P10."!cursor_pass"(rx525_pos, "")
-    rx525_cur."!mark_push"(0, -1, 0, $P10)
+    add $I11, rx545_pos, 3
+    gt $I11, rx545_eos, rx545_fail
+    sub $I11, rx545_pos, rx545_off
+    substr $S10, rx545_tgt, $I11, 3
+    ne $S10, "our", rx545_fail
+    add rx545_pos, 3
+    set_addr $I10, rxcap_550_fail
+    ($I12, $I11) = rx545_cur."!mark_peek"($I10)
+    rx545_cur."!cursor_pos"($I11)
+    ($P10) = rx545_cur."!cursor_start"()
+    $P10."!cursor_pass"(rx545_pos, "")
+    rx545_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("sym")
-    goto rxcap_530_done
-  rxcap_530_fail:
-    goto rx525_fail
-  rxcap_530_done:
+    goto rxcap_550_done
+  rxcap_550_fail:
+    goto rx545_fail
+  rxcap_550_done:
   # rx subrule "scoped" subtype=capture negate=
-    rx525_cur."!cursor_pos"(rx525_pos)
-    $P10 = rx525_cur."scoped"("our")
-    unless $P10, rx525_fail
-    rx525_cur."!mark_push"(0, -1, 0, $P10)
+    rx545_cur."!cursor_pos"(rx545_pos)
+    $P10 = rx545_cur."scoped"("our")
+    unless $P10, rx545_fail
+    rx545_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("scoped")
-    rx525_pos = $P10."pos"()
+    rx545_pos = $P10."pos"()
   # rx pass
-    rx525_cur."!cursor_pass"(rx525_pos, "scope_declarator:sym<our>")
-    rx525_cur."!cursor_debug"("PASS  ", "scope_declarator:sym<our>", " at pos=", rx525_pos)
-    .return (rx525_cur)
-  rx525_fail:
+    rx545_cur."!cursor_pass"(rx545_pos, "scope_declarator:sym<our>")
+    rx545_cur."!cursor_debug"("PASS  ", "scope_declarator:sym<our>", " at pos=", rx545_pos)
+    .return (rx545_cur)
+  rx545_fail:
 .annotate "line", 4
-    (rx525_rep, rx525_pos, $I10, $P10) = rx525_cur."!mark_fail"(0)
-    lt rx525_pos, -1, rx525_done
-    eq rx525_pos, -1, rx525_fail
+    (rx545_rep, rx545_pos, $I10, $P10) = rx545_cur."!mark_fail"(0)
+    lt rx545_pos, -1, rx545_done
+    eq rx545_pos, -1, rx545_fail
     jump $I10
-  rx525_done:
-    rx525_cur."!cursor_fail"()
-    rx525_cur."!cursor_debug"("FAIL  ", "scope_declarator:sym<our>")
-    .return (rx525_cur)
+  rx545_done:
+    rx545_cur."!cursor_fail"()
+    rx545_cur."!cursor_debug"("FAIL  ", "scope_declarator:sym<our>")
+    .return (rx545_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__scope_declarator:sym<our>"  :subid("128_1259103982.97329") :method
+.sub "!PREFIX__scope_declarator:sym<our>"  :subid("132_1259177761.22934") :method
 .annotate "line", 4
-    $P527 = self."!PREFIX__!subrule"("scoped", "our")
-    new $P528, "ResizablePMCArray"
-    push $P528, $P527
-    .return ($P528)
+    $P547 = self."!PREFIX__!subrule"("scoped", "our")
+    new $P548, "ResizablePMCArray"
+    push $P548, $P547
+    .return ($P548)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "scope_declarator:sym<has>"  :subid("129_1259103982.97329") :method :outer("11_1259103982.97329")
+.sub "scope_declarator:sym<has>"  :subid("133_1259177761.22934") :method :outer("11_1259177761.22934")
 .annotate "line", 4
-    .local string rx532_tgt
-    .local int rx532_pos
-    .local int rx532_off
-    .local int rx532_eos
-    .local int rx532_rep
-    .local pmc rx532_cur
-    (rx532_cur, rx532_pos, rx532_tgt) = self."!cursor_start"()
-    rx532_cur."!cursor_debug"("START ", "scope_declarator:sym<has>")
-    .lex unicode:"$\x{a2}", rx532_cur
-    .local pmc match
-    .lex "$/", match
-    length rx532_eos, rx532_tgt
-    set rx532_off, 0
-    lt rx532_pos, 2, rx532_start
-    sub rx532_off, rx532_pos, 1
-    substr rx532_tgt, rx532_tgt, rx532_off
-  rx532_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan536_done
-    goto rxscan536_scan
-  rxscan536_loop:
-    ($P10) = rx532_cur."from"()
-    inc $P10
-    set rx532_pos, $P10
-    ge rx532_pos, rx532_eos, rxscan536_done
-  rxscan536_scan:
-    set_addr $I10, rxscan536_loop
-    rx532_cur."!mark_push"(0, rx532_pos, $I10)
-  rxscan536_done:
-.annotate "line", 250
+    .local string rx552_tgt
+    .local int rx552_pos
+    .local int rx552_off
+    .local int rx552_eos
+    .local int rx552_rep
+    .local pmc rx552_cur
+    (rx552_cur, rx552_pos, rx552_tgt) = self."!cursor_start"()
+    rx552_cur."!cursor_debug"("START ", "scope_declarator:sym<has>")
+    .lex unicode:"$\x{a2}", rx552_cur
+    .local pmc match
+    .lex "$/", match
+    length rx552_eos, rx552_tgt
+    set rx552_off, 0
+    lt rx552_pos, 2, rx552_start
+    sub rx552_off, rx552_pos, 1
+    substr rx552_tgt, rx552_tgt, rx552_off
+  rx552_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan556_done
+    goto rxscan556_scan
+  rxscan556_loop:
+    ($P10) = rx552_cur."from"()
+    inc $P10
+    set rx552_pos, $P10
+    ge rx552_pos, rx552_eos, rxscan556_done
+  rxscan556_scan:
+    set_addr $I10, rxscan556_loop
+    rx552_cur."!mark_push"(0, rx552_pos, $I10)
+  rxscan556_done:
+.annotate "line", 260
   # rx subcapture "sym"
-    set_addr $I10, rxcap_537_fail
-    rx532_cur."!mark_push"(0, rx532_pos, $I10)
+    set_addr $I10, rxcap_557_fail
+    rx552_cur."!mark_push"(0, rx552_pos, $I10)
   # rx literal  "has"
-    add $I11, rx532_pos, 3
-    gt $I11, rx532_eos, rx532_fail
-    sub $I11, rx532_pos, rx532_off
-    substr $S10, rx532_tgt, $I11, 3
-    ne $S10, "has", rx532_fail
-    add rx532_pos, 3
-    set_addr $I10, rxcap_537_fail
-    ($I12, $I11) = rx532_cur."!mark_peek"($I10)
-    rx532_cur."!cursor_pos"($I11)
-    ($P10) = rx532_cur."!cursor_start"()
-    $P10."!cursor_pass"(rx532_pos, "")
-    rx532_cur."!mark_push"(0, -1, 0, $P10)
+    add $I11, rx552_pos, 3
+    gt $I11, rx552_eos, rx552_fail
+    sub $I11, rx552_pos, rx552_off
+    substr $S10, rx552_tgt, $I11, 3
+    ne $S10, "has", rx552_fail
+    add rx552_pos, 3
+    set_addr $I10, rxcap_557_fail
+    ($I12, $I11) = rx552_cur."!mark_peek"($I10)
+    rx552_cur."!cursor_pos"($I11)
+    ($P10) = rx552_cur."!cursor_start"()
+    $P10."!cursor_pass"(rx552_pos, "")
+    rx552_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("sym")
-    goto rxcap_537_done
-  rxcap_537_fail:
-    goto rx532_fail
-  rxcap_537_done:
+    goto rxcap_557_done
+  rxcap_557_fail:
+    goto rx552_fail
+  rxcap_557_done:
   # rx subrule "scoped" subtype=capture negate=
-    rx532_cur."!cursor_pos"(rx532_pos)
-    $P10 = rx532_cur."scoped"("has")
-    unless $P10, rx532_fail
-    rx532_cur."!mark_push"(0, -1, 0, $P10)
+    rx552_cur."!cursor_pos"(rx552_pos)
+    $P10 = rx552_cur."scoped"("has")
+    unless $P10, rx552_fail
+    rx552_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("scoped")
-    rx532_pos = $P10."pos"()
+    rx552_pos = $P10."pos"()
   # rx pass
-    rx532_cur."!cursor_pass"(rx532_pos, "scope_declarator:sym<has>")
-    rx532_cur."!cursor_debug"("PASS  ", "scope_declarator:sym<has>", " at pos=", rx532_pos)
-    .return (rx532_cur)
-  rx532_fail:
+    rx552_cur."!cursor_pass"(rx552_pos, "scope_declarator:sym<has>")
+    rx552_cur."!cursor_debug"("PASS  ", "scope_declarator:sym<has>", " at pos=", rx552_pos)
+    .return (rx552_cur)
+  rx552_fail:
 .annotate "line", 4
-    (rx532_rep, rx532_pos, $I10, $P10) = rx532_cur."!mark_fail"(0)
-    lt rx532_pos, -1, rx532_done
-    eq rx532_pos, -1, rx532_fail
+    (rx552_rep, rx552_pos, $I10, $P10) = rx552_cur."!mark_fail"(0)
+    lt rx552_pos, -1, rx552_done
+    eq rx552_pos, -1, rx552_fail
     jump $I10
-  rx532_done:
-    rx532_cur."!cursor_fail"()
-    rx532_cur."!cursor_debug"("FAIL  ", "scope_declarator:sym<has>")
-    .return (rx532_cur)
+  rx552_done:
+    rx552_cur."!cursor_fail"()
+    rx552_cur."!cursor_debug"("FAIL  ", "scope_declarator:sym<has>")
+    .return (rx552_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__scope_declarator:sym<has>"  :subid("130_1259103982.97329") :method
+.sub "!PREFIX__scope_declarator:sym<has>"  :subid("134_1259177761.22934") :method
 .annotate "line", 4
-    $P534 = self."!PREFIX__!subrule"("scoped", "has")
-    new $P535, "ResizablePMCArray"
-    push $P535, $P534
-    .return ($P535)
+    $P554 = self."!PREFIX__!subrule"("scoped", "has")
+    new $P555, "ResizablePMCArray"
+    push $P555, $P554
+    .return ($P555)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "scoped"  :subid("131_1259103982.97329") :method :outer("11_1259103982.97329")
-    .param pmc param_539
-.annotate "line", 252
-    .lex "$*SCOPE", param_539
+.sub "scoped"  :subid("135_1259177761.22934") :method :outer("11_1259177761.22934")
+    .param pmc param_559
+.annotate "line", 262
+    .lex "$*SCOPE", param_559
 .annotate "line", 4
-    .local string rx540_tgt
-    .local int rx540_pos
-    .local int rx540_off
-    .local int rx540_eos
-    .local int rx540_rep
-    .local pmc rx540_cur
-    (rx540_cur, rx540_pos, rx540_tgt) = self."!cursor_start"()
-    rx540_cur."!cursor_debug"("START ", "scoped")
-    .lex unicode:"$\x{a2}", rx540_cur
-    .local pmc match
-    .lex "$/", match
-    length rx540_eos, rx540_tgt
-    set rx540_off, 0
-    lt rx540_pos, 2, rx540_start
-    sub rx540_off, rx540_pos, 1
-    substr rx540_tgt, rx540_tgt, rx540_off
-  rx540_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan543_done
-    goto rxscan543_scan
-  rxscan543_loop:
-    ($P10) = rx540_cur."from"()
-    inc $P10
-    set rx540_pos, $P10
-    ge rx540_pos, rx540_eos, rxscan543_done
-  rxscan543_scan:
-    set_addr $I10, rxscan543_loop
-    rx540_cur."!mark_push"(0, rx540_pos, $I10)
-  rxscan543_done:
-  alt544_0:
-.annotate "line", 252
-    set_addr $I10, alt544_1
-    rx540_cur."!mark_push"(0, rx540_pos, $I10)
-.annotate "line", 253
+    .local string rx560_tgt
+    .local int rx560_pos
+    .local int rx560_off
+    .local int rx560_eos
+    .local int rx560_rep
+    .local pmc rx560_cur
+    (rx560_cur, rx560_pos, rx560_tgt) = self."!cursor_start"()
+    rx560_cur."!cursor_debug"("START ", "scoped")
+    .lex unicode:"$\x{a2}", rx560_cur
+    .local pmc match
+    .lex "$/", match
+    length rx560_eos, rx560_tgt
+    set rx560_off, 0
+    lt rx560_pos, 2, rx560_start
+    sub rx560_off, rx560_pos, 1
+    substr rx560_tgt, rx560_tgt, rx560_off
+  rx560_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan563_done
+    goto rxscan563_scan
+  rxscan563_loop:
+    ($P10) = rx560_cur."from"()
+    inc $P10
+    set rx560_pos, $P10
+    ge rx560_pos, rx560_eos, rxscan563_done
+  rxscan563_scan:
+    set_addr $I10, rxscan563_loop
+    rx560_cur."!mark_push"(0, rx560_pos, $I10)
+  rxscan563_done:
+  alt564_0:
+.annotate "line", 262
+    set_addr $I10, alt564_1
+    rx560_cur."!mark_push"(0, rx560_pos, $I10)
+.annotate "line", 263
   # rx subrule "ws" subtype=method negate=
-    rx540_cur."!cursor_pos"(rx540_pos)
-    $P10 = rx540_cur."ws"()
-    unless $P10, rx540_fail
-    rx540_pos = $P10."pos"()
+    rx560_cur."!cursor_pos"(rx560_pos)
+    $P10 = rx560_cur."ws"()
+    unless $P10, rx560_fail
+    rx560_pos = $P10."pos"()
   # rx subrule "variable_declarator" subtype=capture negate=
-    rx540_cur."!cursor_pos"(rx540_pos)
-    $P10 = rx540_cur."variable_declarator"()
-    unless $P10, rx540_fail
-    rx540_cur."!mark_push"(0, -1, 0, $P10)
+    rx560_cur."!cursor_pos"(rx560_pos)
+    $P10 = rx560_cur."variable_declarator"()
+    unless $P10, rx560_fail
+    rx560_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("variable_declarator")
-    rx540_pos = $P10."pos"()
+    rx560_pos = $P10."pos"()
   # rx subrule "ws" subtype=method negate=
-    rx540_cur."!cursor_pos"(rx540_pos)
-    $P10 = rx540_cur."ws"()
-    unless $P10, rx540_fail
-    rx540_pos = $P10."pos"()
-    goto alt544_end
-  alt544_1:
-.annotate "line", 254
+    rx560_cur."!cursor_pos"(rx560_pos)
+    $P10 = rx560_cur."ws"()
+    unless $P10, rx560_fail
+    rx560_pos = $P10."pos"()
+    goto alt564_end
+  alt564_1:
+.annotate "line", 264
   # rx subrule "ws" subtype=method negate=
-    rx540_cur."!cursor_pos"(rx540_pos)
-    $P10 = rx540_cur."ws"()
-    unless $P10, rx540_fail
-    rx540_pos = $P10."pos"()
+    rx560_cur."!cursor_pos"(rx560_pos)
+    $P10 = rx560_cur."ws"()
+    unless $P10, rx560_fail
+    rx560_pos = $P10."pos"()
   # rx subrule "routine_declarator" subtype=capture negate=
-    rx540_cur."!cursor_pos"(rx540_pos)
-    $P10 = rx540_cur."routine_declarator"()
-    unless $P10, rx540_fail
-    rx540_cur."!mark_push"(0, -1, 0, $P10)
+    rx560_cur."!cursor_pos"(rx560_pos)
+    $P10 = rx560_cur."routine_declarator"()
+    unless $P10, rx560_fail
+    rx560_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("routine_declarator")
-    rx540_pos = $P10."pos"()
+    rx560_pos = $P10."pos"()
   # rx subrule "ws" subtype=method negate=
-    rx540_cur."!cursor_pos"(rx540_pos)
-    $P10 = rx540_cur."ws"()
-    unless $P10, rx540_fail
-    rx540_pos = $P10."pos"()
-  alt544_end:
-.annotate "line", 252
+    rx560_cur."!cursor_pos"(rx560_pos)
+    $P10 = rx560_cur."ws"()
+    unless $P10, rx560_fail
+    rx560_pos = $P10."pos"()
+  alt564_end:
+.annotate "line", 262
   # rx pass
-    rx540_cur."!cursor_pass"(rx540_pos, "scoped")
-    rx540_cur."!cursor_debug"("PASS  ", "scoped", " at pos=", rx540_pos)
-    .return (rx540_cur)
-  rx540_fail:
+    rx560_cur."!cursor_pass"(rx560_pos, "scoped")
+    rx560_cur."!cursor_debug"("PASS  ", "scoped", " at pos=", rx560_pos)
+    .return (rx560_cur)
+  rx560_fail:
 .annotate "line", 4
-    (rx540_rep, rx540_pos, $I10, $P10) = rx540_cur."!mark_fail"(0)
-    lt rx540_pos, -1, rx540_done
-    eq rx540_pos, -1, rx540_fail
+    (rx560_rep, rx560_pos, $I10, $P10) = rx560_cur."!mark_fail"(0)
+    lt rx560_pos, -1, rx560_done
+    eq rx560_pos, -1, rx560_fail
     jump $I10
-  rx540_done:
-    rx540_cur."!cursor_fail"()
-    rx540_cur."!cursor_debug"("FAIL  ", "scoped")
-    .return (rx540_cur)
+  rx560_done:
+    rx560_cur."!cursor_fail"()
+    rx560_cur."!cursor_debug"("FAIL  ", "scoped")
+    .return (rx560_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__scoped"  :subid("132_1259103982.97329") :method
+.sub "!PREFIX__scoped"  :subid("136_1259177761.22934") :method
 .annotate "line", 4
-    new $P542, "ResizablePMCArray"
-    push $P542, ""
-    push $P542, ""
-    .return ($P542)
+    new $P562, "ResizablePMCArray"
+    push $P562, ""
+    push $P562, ""
+    .return ($P562)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "variable_declarator"  :subid("133_1259103982.97329") :method :outer("11_1259103982.97329")
-.annotate "line", 4
-    .local string rx550_tgt
-    .local int rx550_pos
-    .local int rx550_off
-    .local int rx550_eos
-    .local int rx550_rep
-    .local pmc rx550_cur
-    (rx550_cur, rx550_pos, rx550_tgt) = self."!cursor_start"()
-    rx550_cur."!cursor_debug"("START ", "variable_declarator")
-    .lex unicode:"$\x{a2}", rx550_cur
-    .local pmc match
-    .lex "$/", match
-    length rx550_eos, rx550_tgt
-    set rx550_off, 0
-    lt rx550_pos, 2, rx550_start
-    sub rx550_off, rx550_pos, 1
-    substr rx550_tgt, rx550_tgt, rx550_off
-  rx550_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan554_done
-    goto rxscan554_scan
-  rxscan554_loop:
-    ($P10) = rx550_cur."from"()
-    inc $P10
-    set rx550_pos, $P10
-    ge rx550_pos, rx550_eos, rxscan554_done
-  rxscan554_scan:
-    set_addr $I10, rxscan554_loop
-    rx550_cur."!mark_push"(0, rx550_pos, $I10)
-  rxscan554_done:
-.annotate "line", 257
+.sub "variable_declarator"  :subid("137_1259177761.22934") :method :outer("11_1259177761.22934")
+.annotate "line", 4
+    .local string rx570_tgt
+    .local int rx570_pos
+    .local int rx570_off
+    .local int rx570_eos
+    .local int rx570_rep
+    .local pmc rx570_cur
+    (rx570_cur, rx570_pos, rx570_tgt) = self."!cursor_start"()
+    rx570_cur."!cursor_debug"("START ", "variable_declarator")
+    .lex unicode:"$\x{a2}", rx570_cur
+    .local pmc match
+    .lex "$/", match
+    length rx570_eos, rx570_tgt
+    set rx570_off, 0
+    lt rx570_pos, 2, rx570_start
+    sub rx570_off, rx570_pos, 1
+    substr rx570_tgt, rx570_tgt, rx570_off
+  rx570_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan574_done
+    goto rxscan574_scan
+  rxscan574_loop:
+    ($P10) = rx570_cur."from"()
+    inc $P10
+    set rx570_pos, $P10
+    ge rx570_pos, rx570_eos, rxscan574_done
+  rxscan574_scan:
+    set_addr $I10, rxscan574_loop
+    rx570_cur."!mark_push"(0, rx570_pos, $I10)
+  rxscan574_done:
+.annotate "line", 267
   # rx subrule "variable" subtype=capture negate=
-    rx550_cur."!cursor_pos"(rx550_pos)
-    $P10 = rx550_cur."variable"()
-    unless $P10, rx550_fail
-    rx550_cur."!mark_push"(0, -1, 0, $P10)
+    rx570_cur."!cursor_pos"(rx570_pos)
+    $P10 = rx570_cur."variable"()
+    unless $P10, rx570_fail
+    rx570_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("variable")
-    rx550_pos = $P10."pos"()
+    rx570_pos = $P10."pos"()
   # rx pass
-    rx550_cur."!cursor_pass"(rx550_pos, "variable_declarator")
-    rx550_cur."!cursor_debug"("PASS  ", "variable_declarator", " at pos=", rx550_pos)
-    .return (rx550_cur)
-  rx550_fail:
+    rx570_cur."!cursor_pass"(rx570_pos, "variable_declarator")
+    rx570_cur."!cursor_debug"("PASS  ", "variable_declarator", " at pos=", rx570_pos)
+    .return (rx570_cur)
+  rx570_fail:
 .annotate "line", 4
-    (rx550_rep, rx550_pos, $I10, $P10) = rx550_cur."!mark_fail"(0)
-    lt rx550_pos, -1, rx550_done
-    eq rx550_pos, -1, rx550_fail
+    (rx570_rep, rx570_pos, $I10, $P10) = rx570_cur."!mark_fail"(0)
+    lt rx570_pos, -1, rx570_done
+    eq rx570_pos, -1, rx570_fail
     jump $I10
-  rx550_done:
-    rx550_cur."!cursor_fail"()
-    rx550_cur."!cursor_debug"("FAIL  ", "variable_declarator")
-    .return (rx550_cur)
+  rx570_done:
+    rx570_cur."!cursor_fail"()
+    rx570_cur."!cursor_debug"("FAIL  ", "variable_declarator")
+    .return (rx570_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__variable_declarator"  :subid("134_1259103982.97329") :method
+.sub "!PREFIX__variable_declarator"  :subid("138_1259177761.22934") :method
 .annotate "line", 4
-    $P552 = self."!PREFIX__!subrule"("variable", "")
-    new $P553, "ResizablePMCArray"
-    push $P553, $P552
-    .return ($P553)
+    $P572 = self."!PREFIX__!subrule"("variable", "")
+    new $P573, "ResizablePMCArray"
+    push $P573, $P572
+    .return ($P573)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "routine_declarator"  :subid("135_1259103982.97329") :method
-.annotate "line", 259
-    $P556 = self."!protoregex"("routine_declarator")
-    .return ($P556)
+.sub "routine_declarator"  :subid("139_1259177761.22934") :method
+.annotate "line", 269
+    $P576 = self."!protoregex"("routine_declarator")
+    .return ($P576)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__routine_declarator"  :subid("136_1259103982.97329") :method
-.annotate "line", 259
-    $P558 = self."!PREFIX__!protoregex"("routine_declarator")
-    .return ($P558)
+.sub "!PREFIX__routine_declarator"  :subid("140_1259177761.22934") :method
+.annotate "line", 269
+    $P578 = self."!PREFIX__!protoregex"("routine_declarator")
+    .return ($P578)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "routine_declarator:sym<sub>"  :subid("137_1259103982.97329") :method :outer("11_1259103982.97329")
+.sub "routine_declarator:sym<sub>"  :subid("141_1259177761.22934") :method :outer("11_1259177761.22934")
 .annotate "line", 4
-    .local string rx560_tgt
-    .local int rx560_pos
-    .local int rx560_off
-    .local int rx560_eos
-    .local int rx560_rep
-    .local pmc rx560_cur
-    (rx560_cur, rx560_pos, rx560_tgt) = self."!cursor_start"()
-    rx560_cur."!cursor_debug"("START ", "routine_declarator:sym<sub>")
-    .lex unicode:"$\x{a2}", rx560_cur
-    .local pmc match
-    .lex "$/", match
-    length rx560_eos, rx560_tgt
-    set rx560_off, 0
-    lt rx560_pos, 2, rx560_start
-    sub rx560_off, rx560_pos, 1
-    substr rx560_tgt, rx560_tgt, rx560_off
-  rx560_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan564_done
-    goto rxscan564_scan
-  rxscan564_loop:
-    ($P10) = rx560_cur."from"()
-    inc $P10
-    set rx560_pos, $P10
-    ge rx560_pos, rx560_eos, rxscan564_done
-  rxscan564_scan:
-    set_addr $I10, rxscan564_loop
-    rx560_cur."!mark_push"(0, rx560_pos, $I10)
-  rxscan564_done:
-.annotate "line", 260
+    .local string rx580_tgt
+    .local int rx580_pos
+    .local int rx580_off
+    .local int rx580_eos
+    .local int rx580_rep
+    .local pmc rx580_cur
+    (rx580_cur, rx580_pos, rx580_tgt) = self."!cursor_start"()
+    rx580_cur."!cursor_debug"("START ", "routine_declarator:sym<sub>")
+    .lex unicode:"$\x{a2}", rx580_cur
+    .local pmc match
+    .lex "$/", match
+    length rx580_eos, rx580_tgt
+    set rx580_off, 0
+    lt rx580_pos, 2, rx580_start
+    sub rx580_off, rx580_pos, 1
+    substr rx580_tgt, rx580_tgt, rx580_off
+  rx580_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan584_done
+    goto rxscan584_scan
+  rxscan584_loop:
+    ($P10) = rx580_cur."from"()
+    inc $P10
+    set rx580_pos, $P10
+    ge rx580_pos, rx580_eos, rxscan584_done
+  rxscan584_scan:
+    set_addr $I10, rxscan584_loop
+    rx580_cur."!mark_push"(0, rx580_pos, $I10)
+  rxscan584_done:
+.annotate "line", 270
   # rx subcapture "sym"
-    set_addr $I10, rxcap_565_fail
-    rx560_cur."!mark_push"(0, rx560_pos, $I10)
+    set_addr $I10, rxcap_585_fail
+    rx580_cur."!mark_push"(0, rx580_pos, $I10)
   # rx literal  "sub"
-    add $I11, rx560_pos, 3
-    gt $I11, rx560_eos, rx560_fail
-    sub $I11, rx560_pos, rx560_off
-    substr $S10, rx560_tgt, $I11, 3
-    ne $S10, "sub", rx560_fail
-    add rx560_pos, 3
-    set_addr $I10, rxcap_565_fail
-    ($I12, $I11) = rx560_cur."!mark_peek"($I10)
-    rx560_cur."!cursor_pos"($I11)
-    ($P10) = rx560_cur."!cursor_start"()
-    $P10."!cursor_pass"(rx560_pos, "")
-    rx560_cur."!mark_push"(0, -1, 0, $P10)
+    add $I11, rx580_pos, 3
+    gt $I11, rx580_eos, rx580_fail
+    sub $I11, rx580_pos, rx580_off
+    substr $S10, rx580_tgt, $I11, 3
+    ne $S10, "sub", rx580_fail
+    add rx580_pos, 3
+    set_addr $I10, rxcap_585_fail
+    ($I12, $I11) = rx580_cur."!mark_peek"($I10)
+    rx580_cur."!cursor_pos"($I11)
+    ($P10) = rx580_cur."!cursor_start"()
+    $P10."!cursor_pass"(rx580_pos, "")
+    rx580_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("sym")
-    goto rxcap_565_done
-  rxcap_565_fail:
-    goto rx560_fail
-  rxcap_565_done:
+    goto rxcap_585_done
+  rxcap_585_fail:
+    goto rx580_fail
+  rxcap_585_done:
   # rx subrule "routine_def" subtype=capture negate=
-    rx560_cur."!cursor_pos"(rx560_pos)
-    $P10 = rx560_cur."routine_def"()
-    unless $P10, rx560_fail
-    rx560_cur."!mark_push"(0, -1, 0, $P10)
+    rx580_cur."!cursor_pos"(rx580_pos)
+    $P10 = rx580_cur."routine_def"()
+    unless $P10, rx580_fail
+    rx580_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("routine_def")
-    rx560_pos = $P10."pos"()
+    rx580_pos = $P10."pos"()
   # rx pass
-    rx560_cur."!cursor_pass"(rx560_pos, "routine_declarator:sym<sub>")
-    rx560_cur."!cursor_debug"("PASS  ", "routine_declarator:sym<sub>", " at pos=", rx560_pos)
-    .return (rx560_cur)
-  rx560_fail:
+    rx580_cur."!cursor_pass"(rx580_pos, "routine_declarator:sym<sub>")
+    rx580_cur."!cursor_debug"("PASS  ", "routine_declarator:sym<sub>", " at pos=", rx580_pos)
+    .return (rx580_cur)
+  rx580_fail:
 .annotate "line", 4
-    (rx560_rep, rx560_pos, $I10, $P10) = rx560_cur."!mark_fail"(0)
-    lt rx560_pos, -1, rx560_done
-    eq rx560_pos, -1, rx560_fail
+    (rx580_rep, rx580_pos, $I10, $P10) = rx580_cur."!mark_fail"(0)
+    lt rx580_pos, -1, rx580_done
+    eq rx580_pos, -1, rx580_fail
     jump $I10
-  rx560_done:
-    rx560_cur."!cursor_fail"()
-    rx560_cur."!cursor_debug"("FAIL  ", "routine_declarator:sym<sub>")
-    .return (rx560_cur)
+  rx580_done:
+    rx580_cur."!cursor_fail"()
+    rx580_cur."!cursor_debug"("FAIL  ", "routine_declarator:sym<sub>")
+    .return (rx580_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__routine_declarator:sym<sub>"  :subid("138_1259103982.97329") :method
+.sub "!PREFIX__routine_declarator:sym<sub>"  :subid("142_1259177761.22934") :method
 .annotate "line", 4
-    $P562 = self."!PREFIX__!subrule"("routine_def", "sub")
-    new $P563, "ResizablePMCArray"
-    push $P563, $P562
-    .return ($P563)
+    $P582 = self."!PREFIX__!subrule"("routine_def", "sub")
+    new $P583, "ResizablePMCArray"
+    push $P583, $P582
+    .return ($P583)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "routine_declarator:sym<method>"  :subid("139_1259103982.97329") :method :outer("11_1259103982.97329")
-.annotate "line", 4
-    .local string rx567_tgt
-    .local int rx567_pos
-    .local int rx567_off
-    .local int rx567_eos
-    .local int rx567_rep
-    .local pmc rx567_cur
-    (rx567_cur, rx567_pos, rx567_tgt) = self."!cursor_start"()
-    rx567_cur."!cursor_debug"("START ", "routine_declarator:sym<method>")
-    .lex unicode:"$\x{a2}", rx567_cur
-    .local pmc match
-    .lex "$/", match
-    length rx567_eos, rx567_tgt
-    set rx567_off, 0
-    lt rx567_pos, 2, rx567_start
-    sub rx567_off, rx567_pos, 1
-    substr rx567_tgt, rx567_tgt, rx567_off
-  rx567_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan571_done
-    goto rxscan571_scan
-  rxscan571_loop:
-    ($P10) = rx567_cur."from"()
-    inc $P10
-    set rx567_pos, $P10
-    ge rx567_pos, rx567_eos, rxscan571_done
-  rxscan571_scan:
-    set_addr $I10, rxscan571_loop
-    rx567_cur."!mark_push"(0, rx567_pos, $I10)
-  rxscan571_done:
-.annotate "line", 261
+.sub "routine_declarator:sym<method>"  :subid("143_1259177761.22934") :method :outer("11_1259177761.22934")
+.annotate "line", 4
+    .local string rx587_tgt
+    .local int rx587_pos
+    .local int rx587_off
+    .local int rx587_eos
+    .local int rx587_rep
+    .local pmc rx587_cur
+    (rx587_cur, rx587_pos, rx587_tgt) = self."!cursor_start"()
+    rx587_cur."!cursor_debug"("START ", "routine_declarator:sym<method>")
+    .lex unicode:"$\x{a2}", rx587_cur
+    .local pmc match
+    .lex "$/", match
+    length rx587_eos, rx587_tgt
+    set rx587_off, 0
+    lt rx587_pos, 2, rx587_start
+    sub rx587_off, rx587_pos, 1
+    substr rx587_tgt, rx587_tgt, rx587_off
+  rx587_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan591_done
+    goto rxscan591_scan
+  rxscan591_loop:
+    ($P10) = rx587_cur."from"()
+    inc $P10
+    set rx587_pos, $P10
+    ge rx587_pos, rx587_eos, rxscan591_done
+  rxscan591_scan:
+    set_addr $I10, rxscan591_loop
+    rx587_cur."!mark_push"(0, rx587_pos, $I10)
+  rxscan591_done:
+.annotate "line", 271
   # rx subcapture "sym"
-    set_addr $I10, rxcap_572_fail
-    rx567_cur."!mark_push"(0, rx567_pos, $I10)
+    set_addr $I10, rxcap_592_fail
+    rx587_cur."!mark_push"(0, rx587_pos, $I10)
   # rx literal  "method"
-    add $I11, rx567_pos, 6
-    gt $I11, rx567_eos, rx567_fail
-    sub $I11, rx567_pos, rx567_off
-    substr $S10, rx567_tgt, $I11, 6
-    ne $S10, "method", rx567_fail
-    add rx567_pos, 6
-    set_addr $I10, rxcap_572_fail
-    ($I12, $I11) = rx567_cur."!mark_peek"($I10)
-    rx567_cur."!cursor_pos"($I11)
-    ($P10) = rx567_cur."!cursor_start"()
-    $P10."!cursor_pass"(rx567_pos, "")
-    rx567_cur."!mark_push"(0, -1, 0, $P10)
+    add $I11, rx587_pos, 6
+    gt $I11, rx587_eos, rx587_fail
+    sub $I11, rx587_pos, rx587_off
+    substr $S10, rx587_tgt, $I11, 6
+    ne $S10, "method", rx587_fail
+    add rx587_pos, 6
+    set_addr $I10, rxcap_592_fail
+    ($I12, $I11) = rx587_cur."!mark_peek"($I10)
+    rx587_cur."!cursor_pos"($I11)
+    ($P10) = rx587_cur."!cursor_start"()
+    $P10."!cursor_pass"(rx587_pos, "")
+    rx587_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("sym")
-    goto rxcap_572_done
-  rxcap_572_fail:
-    goto rx567_fail
-  rxcap_572_done:
+    goto rxcap_592_done
+  rxcap_592_fail:
+    goto rx587_fail
+  rxcap_592_done:
   # rx subrule "method_def" subtype=capture negate=
-    rx567_cur."!cursor_pos"(rx567_pos)
-    $P10 = rx567_cur."method_def"()
-    unless $P10, rx567_fail
-    rx567_cur."!mark_push"(0, -1, 0, $P10)
+    rx587_cur."!cursor_pos"(rx587_pos)
+    $P10 = rx587_cur."method_def"()
+    unless $P10, rx587_fail
+    rx587_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("method_def")
-    rx567_pos = $P10."pos"()
+    rx587_pos = $P10."pos"()
   # rx pass
-    rx567_cur."!cursor_pass"(rx567_pos, "routine_declarator:sym<method>")
-    rx567_cur."!cursor_debug"("PASS  ", "routine_declarator:sym<method>", " at pos=", rx567_pos)
-    .return (rx567_cur)
-  rx567_fail:
+    rx587_cur."!cursor_pass"(rx587_pos, "routine_declarator:sym<method>")
+    rx587_cur."!cursor_debug"("PASS  ", "routine_declarator:sym<method>", " at pos=", rx587_pos)
+    .return (rx587_cur)
+  rx587_fail:
 .annotate "line", 4
-    (rx567_rep, rx567_pos, $I10, $P10) = rx567_cur."!mark_fail"(0)
-    lt rx567_pos, -1, rx567_done
-    eq rx567_pos, -1, rx567_fail
+    (rx587_rep, rx587_pos, $I10, $P10) = rx587_cur."!mark_fail"(0)
+    lt rx587_pos, -1, rx587_done
+    eq rx587_pos, -1, rx587_fail
     jump $I10
-  rx567_done:
-    rx567_cur."!cursor_fail"()
-    rx567_cur."!cursor_debug"("FAIL  ", "routine_declarator:sym<method>")
-    .return (rx567_cur)
+  rx587_done:
+    rx587_cur."!cursor_fail"()
+    rx587_cur."!cursor_debug"("FAIL  ", "routine_declarator:sym<method>")
+    .return (rx587_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__routine_declarator:sym<method>"  :subid("140_1259103982.97329") :method
+.sub "!PREFIX__routine_declarator:sym<method>"  :subid("144_1259177761.22934") :method
 .annotate "line", 4
-    $P569 = self."!PREFIX__!subrule"("method_def", "method")
-    new $P570, "ResizablePMCArray"
-    push $P570, $P569
-    .return ($P570)
+    $P589 = self."!PREFIX__!subrule"("method_def", "method")
+    new $P590, "ResizablePMCArray"
+    push $P590, $P589
+    .return ($P590)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "routine_def"  :subid("141_1259103982.97329") :method :outer("11_1259103982.97329")
+.sub "routine_def"  :subid("145_1259177761.22934") :method :outer("11_1259177761.22934")
 .annotate "line", 4
-    .local string rx574_tgt
-    .local int rx574_pos
-    .local int rx574_off
-    .local int rx574_eos
-    .local int rx574_rep
-    .local pmc rx574_cur
-    (rx574_cur, rx574_pos, rx574_tgt) = self."!cursor_start"()
-    rx574_cur."!cursor_debug"("START ", "routine_def")
-    rx574_cur."!cursor_caparray"("deflongname")
-    .lex unicode:"$\x{a2}", rx574_cur
+    .local string rx594_tgt
+    .local int rx594_pos
+    .local int rx594_off
+    .local int rx594_eos
+    .local int rx594_rep
+    .local pmc rx594_cur
+    (rx594_cur, rx594_pos, rx594_tgt) = self."!cursor_start"()
+    rx594_cur."!cursor_debug"("START ", "routine_def")
+    rx594_cur."!cursor_caparray"("deflongname")
+    .lex unicode:"$\x{a2}", rx594_cur
     .local pmc match
     .lex "$/", match
-    length rx574_eos, rx574_tgt
-    set rx574_off, 0
-    lt rx574_pos, 2, rx574_start
-    sub rx574_off, rx574_pos, 1
-    substr rx574_tgt, rx574_tgt, rx574_off
-  rx574_start:
+    length rx594_eos, rx594_tgt
+    set rx594_off, 0
+    lt rx594_pos, 2, rx594_start
+    sub rx594_off, rx594_pos, 1
+    substr rx594_tgt, rx594_tgt, rx594_off
+  rx594_start:
     $I10 = self.'from'()
-    ne $I10, -1, rxscan577_done
-    goto rxscan577_scan
-  rxscan577_loop:
-    ($P10) = rx574_cur."from"()
+    ne $I10, -1, rxscan597_done
+    goto rxscan597_scan
+  rxscan597_loop:
+    ($P10) = rx594_cur."from"()
     inc $P10
-    set rx574_pos, $P10
-    ge rx574_pos, rx574_eos, rxscan577_done
-  rxscan577_scan:
-    set_addr $I10, rxscan577_loop
-    rx574_cur."!mark_push"(0, rx574_pos, $I10)
-  rxscan577_done:
-.annotate "line", 263
+    set rx594_pos, $P10
+    ge rx594_pos, rx594_eos, rxscan597_done
+  rxscan597_scan:
+    set_addr $I10, rxscan597_loop
+    rx594_cur."!mark_push"(0, rx594_pos, $I10)
+  rxscan597_done:
+.annotate "line", 273
   # rx subrule "ws" subtype=method negate=
-    rx574_cur."!cursor_pos"(rx574_pos)
-    $P10 = rx574_cur."ws"()
-    unless $P10, rx574_fail
-    rx574_pos = $P10."pos"()
-.annotate "line", 264
-  # rx rxquantr579 ** 0..1
-    set_addr $I580, rxquantr579_done
-    rx574_cur."!mark_push"(0, rx574_pos, $I580)
-  rxquantr579_loop:
+    rx594_cur."!cursor_pos"(rx594_pos)
+    $P10 = rx594_cur."ws"()
+    unless $P10, rx594_fail
+    rx594_pos = $P10."pos"()
+.annotate "line", 274
+  # rx rxquantr599 ** 0..1
+    set_addr $I600, rxquantr599_done
+    rx594_cur."!mark_push"(0, rx594_pos, $I600)
+  rxquantr599_loop:
   # rx subrule "deflongname" subtype=capture negate=
-    rx574_cur."!cursor_pos"(rx574_pos)
-    $P10 = rx574_cur."deflongname"()
-    unless $P10, rx574_fail
-    rx574_cur."!mark_push"(0, -1, 0, $P10)
+    rx594_cur."!cursor_pos"(rx594_pos)
+    $P10 = rx594_cur."deflongname"()
+    unless $P10, rx594_fail
+    rx594_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("deflongname")
-    rx574_pos = $P10."pos"()
-    (rx574_rep) = rx574_cur."!mark_commit"($I580)
-  rxquantr579_done:
-  # rx subrule "ws" subtype=method negate=
-    rx574_cur."!cursor_pos"(rx574_pos)
-    $P10 = rx574_cur."ws"()
-    unless $P10, rx574_fail
-    rx574_pos = $P10."pos"()
-.annotate "line", 265
+    rx594_pos = $P10."pos"()
+    (rx594_rep) = rx594_cur."!mark_commit"($I600)
+  rxquantr599_done:
+  # rx subrule "ws" subtype=method negate=
+    rx594_cur."!cursor_pos"(rx594_pos)
+    $P10 = rx594_cur."ws"()
+    unless $P10, rx594_fail
+    rx594_pos = $P10."pos"()
+.annotate "line", 275
   # rx subrule "newpad" subtype=method negate=
-    rx574_cur."!cursor_pos"(rx574_pos)
-    $P10 = rx574_cur."newpad"()
-    unless $P10, rx574_fail
-    rx574_pos = $P10."pos"()
-  # rx subrule "ws" subtype=method negate=
-    rx574_cur."!cursor_pos"(rx574_pos)
-    $P10 = rx574_cur."ws"()
-    unless $P10, rx574_fail
-    rx574_pos = $P10."pos"()
-  alt583_0:
-.annotate "line", 266
-    set_addr $I10, alt583_1
-    rx574_cur."!mark_push"(0, rx574_pos, $I10)
+    rx594_cur."!cursor_pos"(rx594_pos)
+    $P10 = rx594_cur."newpad"()
+    unless $P10, rx594_fail
+    rx594_pos = $P10."pos"()
+  # rx subrule "ws" subtype=method negate=
+    rx594_cur."!cursor_pos"(rx594_pos)
+    $P10 = rx594_cur."ws"()
+    unless $P10, rx594_fail
+    rx594_pos = $P10."pos"()
+  alt603_0:
+.annotate "line", 276
+    set_addr $I10, alt603_1
+    rx594_cur."!mark_push"(0, rx594_pos, $I10)
   # rx subrule "ws" subtype=method negate=
-    rx574_cur."!cursor_pos"(rx574_pos)
-    $P10 = rx574_cur."ws"()
-    unless $P10, rx574_fail
-    rx574_pos = $P10."pos"()
+    rx594_cur."!cursor_pos"(rx594_pos)
+    $P10 = rx594_cur."ws"()
+    unless $P10, rx594_fail
+    rx594_pos = $P10."pos"()
   # rx literal  "("
-    add $I11, rx574_pos, 1
-    gt $I11, rx574_eos, rx574_fail
-    sub $I11, rx574_pos, rx574_off
-    substr $S10, rx574_tgt, $I11, 1
-    ne $S10, "(", rx574_fail
-    add rx574_pos, 1
-  # rx subrule "ws" subtype=method negate=
-    rx574_cur."!cursor_pos"(rx574_pos)
-    $P10 = rx574_cur."ws"()
-    unless $P10, rx574_fail
-    rx574_pos = $P10."pos"()
+    add $I11, rx594_pos, 1
+    gt $I11, rx594_eos, rx594_fail
+    sub $I11, rx594_pos, rx594_off
+    substr $S10, rx594_tgt, $I11, 1
+    ne $S10, "(", rx594_fail
+    add rx594_pos, 1
+  # rx subrule "ws" subtype=method negate=
+    rx594_cur."!cursor_pos"(rx594_pos)
+    $P10 = rx594_cur."ws"()
+    unless $P10, rx594_fail
+    rx594_pos = $P10."pos"()
   # rx subrule "signature" subtype=capture negate=
-    rx574_cur."!cursor_pos"(rx574_pos)
-    $P10 = rx574_cur."signature"()
-    unless $P10, rx574_fail
-    rx574_cur."!mark_push"(0, -1, 0, $P10)
+    rx594_cur."!cursor_pos"(rx594_pos)
+    $P10 = rx594_cur."signature"()
+    unless $P10, rx594_fail
+    rx594_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("signature")
-    rx574_pos = $P10."pos"()
+    rx594_pos = $P10."pos"()
   # rx subrule "ws" subtype=method negate=
-    rx574_cur."!cursor_pos"(rx574_pos)
-    $P10 = rx574_cur."ws"()
-    unless $P10, rx574_fail
-    rx574_pos = $P10."pos"()
+    rx594_cur."!cursor_pos"(rx594_pos)
+    $P10 = rx594_cur."ws"()
+    unless $P10, rx594_fail
+    rx594_pos = $P10."pos"()
   # rx literal  ")"
-    add $I11, rx574_pos, 1
-    gt $I11, rx574_eos, rx574_fail
-    sub $I11, rx574_pos, rx574_off
-    substr $S10, rx574_tgt, $I11, 1
-    ne $S10, ")", rx574_fail
-    add rx574_pos, 1
-  # rx subrule "ws" subtype=method negate=
-    rx574_cur."!cursor_pos"(rx574_pos)
-    $P10 = rx574_cur."ws"()
-    unless $P10, rx574_fail
-    rx574_pos = $P10."pos"()
-    goto alt583_end
-  alt583_1:
-.annotate "line", 267
+    add $I11, rx594_pos, 1
+    gt $I11, rx594_eos, rx594_fail
+    sub $I11, rx594_pos, rx594_off
+    substr $S10, rx594_tgt, $I11, 1
+    ne $S10, ")", rx594_fail
+    add rx594_pos, 1
+  # rx subrule "ws" subtype=method negate=
+    rx594_cur."!cursor_pos"(rx594_pos)
+    $P10 = rx594_cur."ws"()
+    unless $P10, rx594_fail
+    rx594_pos = $P10."pos"()
+    goto alt603_end
+  alt603_1:
+.annotate "line", 277
   # rx subrule "ws" subtype=method negate=
-    rx574_cur."!cursor_pos"(rx574_pos)
-    $P10 = rx574_cur."ws"()
-    unless $P10, rx574_fail
-    rx574_pos = $P10."pos"()
+    rx594_cur."!cursor_pos"(rx594_pos)
+    $P10 = rx594_cur."ws"()
+    unless $P10, rx594_fail
+    rx594_pos = $P10."pos"()
   # rx subrule "panic" subtype=method negate=
-    rx574_cur."!cursor_pos"(rx574_pos)
-    $P10 = rx574_cur."panic"("Routine declaration requires a signature")
-    unless $P10, rx574_fail
-    rx574_pos = $P10."pos"()
-  # rx subrule "ws" subtype=method negate=
-    rx574_cur."!cursor_pos"(rx574_pos)
-    $P10 = rx574_cur."ws"()
-    unless $P10, rx574_fail
-    rx574_pos = $P10."pos"()
-  alt583_end:
-  # rx subrule "ws" subtype=method negate=
-    rx574_cur."!cursor_pos"(rx574_pos)
-    $P10 = rx574_cur."ws"()
-    unless $P10, rx574_fail
-    rx574_pos = $P10."pos"()
-.annotate "line", 268
+    rx594_cur."!cursor_pos"(rx594_pos)
+    $P10 = rx594_cur."panic"("Routine declaration requires a signature")
+    unless $P10, rx594_fail
+    rx594_pos = $P10."pos"()
+  # rx subrule "ws" subtype=method negate=
+    rx594_cur."!cursor_pos"(rx594_pos)
+    $P10 = rx594_cur."ws"()
+    unless $P10, rx594_fail
+    rx594_pos = $P10."pos"()
+  alt603_end:
+  # rx subrule "ws" subtype=method negate=
+    rx594_cur."!cursor_pos"(rx594_pos)
+    $P10 = rx594_cur."ws"()
+    unless $P10, rx594_fail
+    rx594_pos = $P10."pos"()
+.annotate "line", 278
   # rx subrule "blockoid" subtype=capture negate=
-    rx574_cur."!cursor_pos"(rx574_pos)
-    $P10 = rx574_cur."blockoid"()
-    unless $P10, rx574_fail
-    rx574_cur."!mark_push"(0, -1, 0, $P10)
+    rx594_cur."!cursor_pos"(rx594_pos)
+    $P10 = rx594_cur."blockoid"()
+    unless $P10, rx594_fail
+    rx594_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("blockoid")
-    rx574_pos = $P10."pos"()
+    rx594_pos = $P10."pos"()
   # rx subrule "ws" subtype=method negate=
-    rx574_cur."!cursor_pos"(rx574_pos)
-    $P10 = rx574_cur."ws"()
-    unless $P10, rx574_fail
-    rx574_pos = $P10."pos"()
-.annotate "line", 263
+    rx594_cur."!cursor_pos"(rx594_pos)
+    $P10 = rx594_cur."ws"()
+    unless $P10, rx594_fail
+    rx594_pos = $P10."pos"()
+.annotate "line", 273
   # rx pass
-    rx574_cur."!cursor_pass"(rx574_pos, "routine_def")
-    rx574_cur."!cursor_debug"("PASS  ", "routine_def", " at pos=", rx574_pos)
-    .return (rx574_cur)
-  rx574_fail:
+    rx594_cur."!cursor_pass"(rx594_pos, "routine_def")
+    rx594_cur."!cursor_debug"("PASS  ", "routine_def", " at pos=", rx594_pos)
+    .return (rx594_cur)
+  rx594_fail:
 .annotate "line", 4
-    (rx574_rep, rx574_pos, $I10, $P10) = rx574_cur."!mark_fail"(0)
-    lt rx574_pos, -1, rx574_done
-    eq rx574_pos, -1, rx574_fail
+    (rx594_rep, rx594_pos, $I10, $P10) = rx594_cur."!mark_fail"(0)
+    lt rx594_pos, -1, rx594_done
+    eq rx594_pos, -1, rx594_fail
     jump $I10
-  rx574_done:
-    rx574_cur."!cursor_fail"()
-    rx574_cur."!cursor_debug"("FAIL  ", "routine_def")
-    .return (rx574_cur)
+  rx594_done:
+    rx594_cur."!cursor_fail"()
+    rx594_cur."!cursor_debug"("FAIL  ", "routine_def")
+    .return (rx594_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__routine_def"  :subid("142_1259103982.97329") :method
+.sub "!PREFIX__routine_def"  :subid("146_1259177761.22934") :method
 .annotate "line", 4
-    new $P576, "ResizablePMCArray"
-    push $P576, ""
-    .return ($P576)
+    new $P596, "ResizablePMCArray"
+    push $P596, ""
+    .return ($P596)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "method_def"  :subid("143_1259103982.97329") :method :outer("11_1259103982.97329")
+.sub "method_def"  :subid("147_1259177761.22934") :method :outer("11_1259177761.22934")
 .annotate "line", 4
-    .local string rx593_tgt
-    .local int rx593_pos
-    .local int rx593_off
-    .local int rx593_eos
-    .local int rx593_rep
-    .local pmc rx593_cur
-    (rx593_cur, rx593_pos, rx593_tgt) = self."!cursor_start"()
-    rx593_cur."!cursor_debug"("START ", "method_def")
-    rx593_cur."!cursor_caparray"("deflongname")
-    .lex unicode:"$\x{a2}", rx593_cur
-    .local pmc match
-    .lex "$/", match
-    length rx593_eos, rx593_tgt
-    set rx593_off, 0
-    lt rx593_pos, 2, rx593_start
-    sub rx593_off, rx593_pos, 1
-    substr rx593_tgt, rx593_tgt, rx593_off
-  rx593_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan596_done
-    goto rxscan596_scan
-  rxscan596_loop:
-    ($P10) = rx593_cur."from"()
-    inc $P10
-    set rx593_pos, $P10
-    ge rx593_pos, rx593_eos, rxscan596_done
-  rxscan596_scan:
-    set_addr $I10, rxscan596_loop
-    rx593_cur."!mark_push"(0, rx593_pos, $I10)
-  rxscan596_done:
-.annotate "line", 271
+    .local string rx613_tgt
+    .local int rx613_pos
+    .local int rx613_off
+    .local int rx613_eos
+    .local int rx613_rep
+    .local pmc rx613_cur
+    (rx613_cur, rx613_pos, rx613_tgt) = self."!cursor_start"()
+    rx613_cur."!cursor_debug"("START ", "method_def")
+    rx613_cur."!cursor_caparray"("deflongname")
+    .lex unicode:"$\x{a2}", rx613_cur
+    .local pmc match
+    .lex "$/", match
+    length rx613_eos, rx613_tgt
+    set rx613_off, 0
+    lt rx613_pos, 2, rx613_start
+    sub rx613_off, rx613_pos, 1
+    substr rx613_tgt, rx613_tgt, rx613_off
+  rx613_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan616_done
+    goto rxscan616_scan
+  rxscan616_loop:
+    ($P10) = rx613_cur."from"()
+    inc $P10
+    set rx613_pos, $P10
+    ge rx613_pos, rx613_eos, rxscan616_done
+  rxscan616_scan:
+    set_addr $I10, rxscan616_loop
+    rx613_cur."!mark_push"(0, rx613_pos, $I10)
+  rxscan616_done:
+.annotate "line", 281
   # rx subrule "ws" subtype=method negate=
-    rx593_cur."!cursor_pos"(rx593_pos)
-    $P10 = rx593_cur."ws"()
-    unless $P10, rx593_fail
-    rx593_pos = $P10."pos"()
-.annotate "line", 272
-  # rx rxquantr598 ** 0..1
-    set_addr $I599, rxquantr598_done
-    rx593_cur."!mark_push"(0, rx593_pos, $I599)
-  rxquantr598_loop:
+    rx613_cur."!cursor_pos"(rx613_pos)
+    $P10 = rx613_cur."ws"()
+    unless $P10, rx613_fail
+    rx613_pos = $P10."pos"()
+.annotate "line", 282
+  # rx rxquantr618 ** 0..1
+    set_addr $I619, rxquantr618_done
+    rx613_cur."!mark_push"(0, rx613_pos, $I619)
+  rxquantr618_loop:
   # rx subrule "deflongname" subtype=capture negate=
-    rx593_cur."!cursor_pos"(rx593_pos)
-    $P10 = rx593_cur."deflongname"()
-    unless $P10, rx593_fail
-    rx593_cur."!mark_push"(0, -1, 0, $P10)
+    rx613_cur."!cursor_pos"(rx613_pos)
+    $P10 = rx613_cur."deflongname"()
+    unless $P10, rx613_fail
+    rx613_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("deflongname")
-    rx593_pos = $P10."pos"()
-    (rx593_rep) = rx593_cur."!mark_commit"($I599)
-  rxquantr598_done:
-  # rx subrule "ws" subtype=method negate=
-    rx593_cur."!cursor_pos"(rx593_pos)
-    $P10 = rx593_cur."ws"()
-    unless $P10, rx593_fail
-    rx593_pos = $P10."pos"()
-.annotate "line", 273
+    rx613_pos = $P10."pos"()
+    (rx613_rep) = rx613_cur."!mark_commit"($I619)
+  rxquantr618_done:
+  # rx subrule "ws" subtype=method negate=
+    rx613_cur."!cursor_pos"(rx613_pos)
+    $P10 = rx613_cur."ws"()
+    unless $P10, rx613_fail
+    rx613_pos = $P10."pos"()
+.annotate "line", 283
   # rx subrule "newpad" subtype=method negate=
-    rx593_cur."!cursor_pos"(rx593_pos)
-    $P10 = rx593_cur."newpad"()
-    unless $P10, rx593_fail
-    rx593_pos = $P10."pos"()
-  # rx subrule "ws" subtype=method negate=
-    rx593_cur."!cursor_pos"(rx593_pos)
-    $P10 = rx593_cur."ws"()
-    unless $P10, rx593_fail
-    rx593_pos = $P10."pos"()
-  alt602_0:
-.annotate "line", 274
-    set_addr $I10, alt602_1
-    rx593_cur."!mark_push"(0, rx593_pos, $I10)
+    rx613_cur."!cursor_pos"(rx613_pos)
+    $P10 = rx613_cur."newpad"()
+    unless $P10, rx613_fail
+    rx613_pos = $P10."pos"()
+  # rx subrule "ws" subtype=method negate=
+    rx613_cur."!cursor_pos"(rx613_pos)
+    $P10 = rx613_cur."ws"()
+    unless $P10, rx613_fail
+    rx613_pos = $P10."pos"()
+  alt622_0:
+.annotate "line", 284
+    set_addr $I10, alt622_1
+    rx613_cur."!mark_push"(0, rx613_pos, $I10)
   # rx subrule "ws" subtype=method negate=
-    rx593_cur."!cursor_pos"(rx593_pos)
-    $P10 = rx593_cur."ws"()
-    unless $P10, rx593_fail
-    rx593_pos = $P10."pos"()
+    rx613_cur."!cursor_pos"(rx613_pos)
+    $P10 = rx613_cur."ws"()
+    unless $P10, rx613_fail
+    rx613_pos = $P10."pos"()
   # rx literal  "("
-    add $I11, rx593_pos, 1
-    gt $I11, rx593_eos, rx593_fail
-    sub $I11, rx593_pos, rx593_off
-    substr $S10, rx593_tgt, $I11, 1
-    ne $S10, "(", rx593_fail
-    add rx593_pos, 1
-  # rx subrule "ws" subtype=method negate=
-    rx593_cur."!cursor_pos"(rx593_pos)
-    $P10 = rx593_cur."ws"()
-    unless $P10, rx593_fail
-    rx593_pos = $P10."pos"()
+    add $I11, rx613_pos, 1
+    gt $I11, rx613_eos, rx613_fail
+    sub $I11, rx613_pos, rx613_off
+    substr $S10, rx613_tgt, $I11, 1
+    ne $S10, "(", rx613_fail
+    add rx613_pos, 1
+  # rx subrule "ws" subtype=method negate=
+    rx613_cur."!cursor_pos"(rx613_pos)
+    $P10 = rx613_cur."ws"()
+    unless $P10, rx613_fail
+    rx613_pos = $P10."pos"()
   # rx subrule "signature" subtype=capture negate=
-    rx593_cur."!cursor_pos"(rx593_pos)
-    $P10 = rx593_cur."signature"()
-    unless $P10, rx593_fail
-    rx593_cur."!mark_push"(0, -1, 0, $P10)
+    rx613_cur."!cursor_pos"(rx613_pos)
+    $P10 = rx613_cur."signature"()
+    unless $P10, rx613_fail
+    rx613_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("signature")
-    rx593_pos = $P10."pos"()
+    rx613_pos = $P10."pos"()
   # rx subrule "ws" subtype=method negate=
-    rx593_cur."!cursor_pos"(rx593_pos)
-    $P10 = rx593_cur."ws"()
-    unless $P10, rx593_fail
-    rx593_pos = $P10."pos"()
+    rx613_cur."!cursor_pos"(rx613_pos)
+    $P10 = rx613_cur."ws"()
+    unless $P10, rx613_fail
+    rx613_pos = $P10."pos"()
   # rx literal  ")"
-    add $I11, rx593_pos, 1
-    gt $I11, rx593_eos, rx593_fail
-    sub $I11, rx593_pos, rx593_off
-    substr $S10, rx593_tgt, $I11, 1
-    ne $S10, ")", rx593_fail
-    add rx593_pos, 1
-  # rx subrule "ws" subtype=method negate=
-    rx593_cur."!cursor_pos"(rx593_pos)
-    $P10 = rx593_cur."ws"()
-    unless $P10, rx593_fail
-    rx593_pos = $P10."pos"()
-    goto alt602_end
-  alt602_1:
-.annotate "line", 275
-  # rx subrule "ws" subtype=method negate=
-    rx593_cur."!cursor_pos"(rx593_pos)
-    $P10 = rx593_cur."ws"()
-    unless $P10, rx593_fail
-    rx593_pos = $P10."pos"()
+    add $I11, rx613_pos, 1
+    gt $I11, rx613_eos, rx613_fail
+    sub $I11, rx613_pos, rx613_off
+    substr $S10, rx613_tgt, $I11, 1
+    ne $S10, ")", rx613_fail
+    add rx613_pos, 1
+  # rx subrule "ws" subtype=method negate=
+    rx613_cur."!cursor_pos"(rx613_pos)
+    $P10 = rx613_cur."ws"()
+    unless $P10, rx613_fail
+    rx613_pos = $P10."pos"()
+    goto alt622_end
+  alt622_1:
+.annotate "line", 285
+  # rx subrule "ws" subtype=method negate=
+    rx613_cur."!cursor_pos"(rx613_pos)
+    $P10 = rx613_cur."ws"()
+    unless $P10, rx613_fail
+    rx613_pos = $P10."pos"()
   # rx subrule "panic" subtype=method negate=
-    rx593_cur."!cursor_pos"(rx593_pos)
-    $P10 = rx593_cur."panic"("Routine declaration requires a signature")
-    unless $P10, rx593_fail
-    rx593_pos = $P10."pos"()
-  # rx subrule "ws" subtype=method negate=
-    rx593_cur."!cursor_pos"(rx593_pos)
-    $P10 = rx593_cur."ws"()
-    unless $P10, rx593_fail
-    rx593_pos = $P10."pos"()
-  alt602_end:
-  # rx subrule "ws" subtype=method negate=
-    rx593_cur."!cursor_pos"(rx593_pos)
-    $P10 = rx593_cur."ws"()
-    unless $P10, rx593_fail
-    rx593_pos = $P10."pos"()
-.annotate "line", 276
+    rx613_cur."!cursor_pos"(rx613_pos)
+    $P10 = rx613_cur."panic"("Routine declaration requires a signature")
+    unless $P10, rx613_fail
+    rx613_pos = $P10."pos"()
+  # rx subrule "ws" subtype=method negate=
+    rx613_cur."!cursor_pos"(rx613_pos)
+    $P10 = rx613_cur."ws"()
+    unless $P10, rx613_fail
+    rx613_pos = $P10."pos"()
+  alt622_end:
+  # rx subrule "ws" subtype=method negate=
+    rx613_cur."!cursor_pos"(rx613_pos)
+    $P10 = rx613_cur."ws"()
+    unless $P10, rx613_fail
+    rx613_pos = $P10."pos"()
+.annotate "line", 286
   # rx subrule "blockoid" subtype=capture negate=
-    rx593_cur."!cursor_pos"(rx593_pos)
-    $P10 = rx593_cur."blockoid"()
-    unless $P10, rx593_fail
-    rx593_cur."!mark_push"(0, -1, 0, $P10)
+    rx613_cur."!cursor_pos"(rx613_pos)
+    $P10 = rx613_cur."blockoid"()
+    unless $P10, rx613_fail
+    rx613_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("blockoid")
-    rx593_pos = $P10."pos"()
+    rx613_pos = $P10."pos"()
   # rx subrule "ws" subtype=method negate=
-    rx593_cur."!cursor_pos"(rx593_pos)
-    $P10 = rx593_cur."ws"()
-    unless $P10, rx593_fail
-    rx593_pos = $P10."pos"()
-.annotate "line", 271
+    rx613_cur."!cursor_pos"(rx613_pos)
+    $P10 = rx613_cur."ws"()
+    unless $P10, rx613_fail
+    rx613_pos = $P10."pos"()
+.annotate "line", 281
   # rx pass
-    rx593_cur."!cursor_pass"(rx593_pos, "method_def")
-    rx593_cur."!cursor_debug"("PASS  ", "method_def", " at pos=", rx593_pos)
-    .return (rx593_cur)
-  rx593_fail:
+    rx613_cur."!cursor_pass"(rx613_pos, "method_def")
+    rx613_cur."!cursor_debug"("PASS  ", "method_def", " at pos=", rx613_pos)
+    .return (rx613_cur)
+  rx613_fail:
 .annotate "line", 4
-    (rx593_rep, rx593_pos, $I10, $P10) = rx593_cur."!mark_fail"(0)
-    lt rx593_pos, -1, rx593_done
-    eq rx593_pos, -1, rx593_fail
+    (rx613_rep, rx613_pos, $I10, $P10) = rx613_cur."!mark_fail"(0)
+    lt rx613_pos, -1, rx613_done
+    eq rx613_pos, -1, rx613_fail
     jump $I10
-  rx593_done:
-    rx593_cur."!cursor_fail"()
-    rx593_cur."!cursor_debug"("FAIL  ", "method_def")
-    .return (rx593_cur)
+  rx613_done:
+    rx613_cur."!cursor_fail"()
+    rx613_cur."!cursor_debug"("FAIL  ", "method_def")
+    .return (rx613_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__method_def"  :subid("144_1259103982.97329") :method
+.sub "!PREFIX__method_def"  :subid("148_1259177761.22934") :method
 .annotate "line", 4
-    new $P595, "ResizablePMCArray"
-    push $P595, ""
-    .return ($P595)
+    new $P615, "ResizablePMCArray"
+    push $P615, ""
+    .return ($P615)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "signature"  :subid("145_1259103982.97329") :method :outer("11_1259103982.97329")
+.sub "signature"  :subid("149_1259177761.22934") :method :outer("11_1259177761.22934")
 .annotate "line", 4
-    .local string rx612_tgt
-    .local int rx612_pos
-    .local int rx612_off
-    .local int rx612_eos
-    .local int rx612_rep
-    .local pmc rx612_cur
-    (rx612_cur, rx612_pos, rx612_tgt) = self."!cursor_start"()
-    rx612_cur."!cursor_debug"("START ", "signature")
-    rx612_cur."!cursor_caparray"("parameter")
-    .lex unicode:"$\x{a2}", rx612_cur
+    .local string rx632_tgt
+    .local int rx632_pos
+    .local int rx632_off
+    .local int rx632_eos
+    .local int rx632_rep
+    .local pmc rx632_cur
+    (rx632_cur, rx632_pos, rx632_tgt) = self."!cursor_start"()
+    rx632_cur."!cursor_debug"("START ", "signature")
+    rx632_cur."!cursor_caparray"("parameter")
+    .lex unicode:"$\x{a2}", rx632_cur
     .local pmc match
     .lex "$/", match
-    length rx612_eos, rx612_tgt
-    set rx612_off, 0
-    lt rx612_pos, 2, rx612_start
-    sub rx612_off, rx612_pos, 1
-    substr rx612_tgt, rx612_tgt, rx612_off
-  rx612_start:
+    length rx632_eos, rx632_tgt
+    set rx632_off, 0
+    lt rx632_pos, 2, rx632_start
+    sub rx632_off, rx632_pos, 1
+    substr rx632_tgt, rx632_tgt, rx632_off
+  rx632_start:
     $I10 = self.'from'()
-    ne $I10, -1, rxscan615_done
-    goto rxscan615_scan
-  rxscan615_loop:
-    ($P10) = rx612_cur."from"()
+    ne $I10, -1, rxscan635_done
+    goto rxscan635_scan
+  rxscan635_loop:
+    ($P10) = rx632_cur."from"()
     inc $P10
-    set rx612_pos, $P10
-    ge rx612_pos, rx612_eos, rxscan615_done
-  rxscan615_scan:
-    set_addr $I10, rxscan615_loop
-    rx612_cur."!mark_push"(0, rx612_pos, $I10)
-  rxscan615_done:
-.annotate "line", 279
-  # rx rxquantr616 ** 0..1
-    set_addr $I619, rxquantr616_done
-    rx612_cur."!mark_push"(0, rx612_pos, $I619)
-  rxquantr616_loop:
-  # rx rxquantr617 ** 1..*
-    set_addr $I618, rxquantr617_done
-    rx612_cur."!mark_push"(0, -1, $I618)
-  rxquantr617_loop:
-  # rx subrule "ws" subtype=method negate=
-    rx612_cur."!cursor_pos"(rx612_pos)
-    $P10 = rx612_cur."ws"()
-    unless $P10, rx612_fail
-    rx612_pos = $P10."pos"()
+    set rx632_pos, $P10
+    ge rx632_pos, rx632_eos, rxscan635_done
+  rxscan635_scan:
+    set_addr $I10, rxscan635_loop
+    rx632_cur."!mark_push"(0, rx632_pos, $I10)
+  rxscan635_done:
+.annotate "line", 289
+  # rx rxquantr636 ** 0..1
+    set_addr $I639, rxquantr636_done
+    rx632_cur."!mark_push"(0, rx632_pos, $I639)
+  rxquantr636_loop:
+  # rx rxquantr637 ** 1..*
+    set_addr $I638, rxquantr637_done
+    rx632_cur."!mark_push"(0, -1, $I638)
+  rxquantr637_loop:
+  # rx subrule "ws" subtype=method negate=
+    rx632_cur."!cursor_pos"(rx632_pos)
+    $P10 = rx632_cur."ws"()
+    unless $P10, rx632_fail
+    rx632_pos = $P10."pos"()
   # rx subrule "parameter" subtype=capture negate=
-    rx612_cur."!cursor_pos"(rx612_pos)
-    $P10 = rx612_cur."parameter"()
-    unless $P10, rx612_fail
-    rx612_cur."!mark_push"(0, -1, 0, $P10)
+    rx632_cur."!cursor_pos"(rx632_pos)
+    $P10 = rx632_cur."parameter"()
+    unless $P10, rx632_fail
+    rx632_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("parameter")
-    rx612_pos = $P10."pos"()
+    rx632_pos = $P10."pos"()
   # rx subrule "ws" subtype=method negate=
-    rx612_cur."!cursor_pos"(rx612_pos)
-    $P10 = rx612_cur."ws"()
-    unless $P10, rx612_fail
-    rx612_pos = $P10."pos"()
-    (rx612_rep) = rx612_cur."!mark_commit"($I618)
-    rx612_cur."!mark_push"(rx612_rep, rx612_pos, $I618)
+    rx632_cur."!cursor_pos"(rx632_pos)
+    $P10 = rx632_cur."ws"()
+    unless $P10, rx632_fail
+    rx632_pos = $P10."pos"()
+    (rx632_rep) = rx632_cur."!mark_commit"($I638)
+    rx632_cur."!mark_push"(rx632_rep, rx632_pos, $I638)
   # rx literal  ","
-    add $I11, rx612_pos, 1
-    gt $I11, rx612_eos, rx612_fail
-    sub $I11, rx612_pos, rx612_off
-    substr $S10, rx612_tgt, $I11, 1
-    ne $S10, ",", rx612_fail
-    add rx612_pos, 1
-    goto rxquantr617_loop
-  rxquantr617_done:
-    (rx612_rep) = rx612_cur."!mark_commit"($I619)
-  rxquantr616_done:
-  # rx pass
-    rx612_cur."!cursor_pass"(rx612_pos, "signature")
-    rx612_cur."!cursor_debug"("PASS  ", "signature", " at pos=", rx612_pos)
-    .return (rx612_cur)
-  rx612_fail:
-.annotate "line", 4
-    (rx612_rep, rx612_pos, $I10, $P10) = rx612_cur."!mark_fail"(0)
-    lt rx612_pos, -1, rx612_done
-    eq rx612_pos, -1, rx612_fail
-    jump $I10
-  rx612_done:
-    rx612_cur."!cursor_fail"()
-    rx612_cur."!cursor_debug"("FAIL  ", "signature")
-    .return (rx612_cur)
+    add $I11, rx632_pos, 1
+    gt $I11, rx632_eos, rx632_fail
+    sub $I11, rx632_pos, rx632_off
+    substr $S10, rx632_tgt, $I11, 1
+    ne $S10, ",", rx632_fail
+    add rx632_pos, 1
+    goto rxquantr637_loop
+  rxquantr637_done:
+    (rx632_rep) = rx632_cur."!mark_commit"($I639)
+  rxquantr636_done:
+  # rx pass
+    rx632_cur."!cursor_pass"(rx632_pos, "signature")
+    rx632_cur."!cursor_debug"("PASS  ", "signature", " at pos=", rx632_pos)
+    .return (rx632_cur)
+  rx632_fail:
+.annotate "line", 4
+    (rx632_rep, rx632_pos, $I10, $P10) = rx632_cur."!mark_fail"(0)
+    lt rx632_pos, -1, rx632_done
+    eq rx632_pos, -1, rx632_fail
+    jump $I10
+  rx632_done:
+    rx632_cur."!cursor_fail"()
+    rx632_cur."!cursor_debug"("FAIL  ", "signature")
+    .return (rx632_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__signature"  :subid("146_1259103982.97329") :method
-.annotate "line", 4
-    new $P614, "ResizablePMCArray"
-    push $P614, ""
-    .return ($P614)
-.end
-
-
-.namespace ["NQP";"Grammar"]
-.sub "parameter"  :subid("147_1259103982.97329") :method :outer("11_1259103982.97329")
-.annotate "line", 4
-    .local string rx621_tgt
-    .local int rx621_pos
-    .local int rx621_off
-    .local int rx621_eos
-    .local int rx621_rep
-    .local pmc rx621_cur
-    (rx621_cur, rx621_pos, rx621_tgt) = self."!cursor_start"()
-    rx621_cur."!cursor_debug"("START ", "parameter")
-    rx621_cur."!cursor_caparray"("default_value")
-    .lex unicode:"$\x{a2}", rx621_cur
-    .local pmc match
-    .lex "$/", match
-    length rx621_eos, rx621_tgt
-    set rx621_off, 0
-    lt rx621_pos, 2, rx621_start
-    sub rx621_off, rx621_pos, 1
-    substr rx621_tgt, rx621_tgt, rx621_off
-  rx621_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan627_done
-    goto rxscan627_scan
-  rxscan627_loop:
-    ($P10) = rx621_cur."from"()
-    inc $P10
-    set rx621_pos, $P10
-    ge rx621_pos, rx621_eos, rxscan627_done
-  rxscan627_scan:
-    set_addr $I10, rxscan627_loop
-    rx621_cur."!mark_push"(0, rx621_pos, $I10)
-  rxscan627_done:
-  alt628_0:
-.annotate "line", 282
-    set_addr $I10, alt628_1
-    rx621_cur."!mark_push"(0, rx621_pos, $I10)
-.annotate "line", 283
+.sub "!PREFIX__signature"  :subid("150_1259177761.22934") :method
+.annotate "line", 4
+    new $P634, "ResizablePMCArray"
+    push $P634, ""
+    .return ($P634)
+.end
+
+
+.namespace ["NQP";"Grammar"]
+.sub "parameter"  :subid("151_1259177761.22934") :method :outer("11_1259177761.22934")
+.annotate "line", 4
+    .local string rx641_tgt
+    .local int rx641_pos
+    .local int rx641_off
+    .local int rx641_eos
+    .local int rx641_rep
+    .local pmc rx641_cur
+    (rx641_cur, rx641_pos, rx641_tgt) = self."!cursor_start"()
+    rx641_cur."!cursor_debug"("START ", "parameter")
+    rx641_cur."!cursor_caparray"("default_value")
+    .lex unicode:"$\x{a2}", rx641_cur
+    .local pmc match
+    .lex "$/", match
+    length rx641_eos, rx641_tgt
+    set rx641_off, 0
+    lt rx641_pos, 2, rx641_start
+    sub rx641_off, rx641_pos, 1
+    substr rx641_tgt, rx641_tgt, rx641_off
+  rx641_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan647_done
+    goto rxscan647_scan
+  rxscan647_loop:
+    ($P10) = rx641_cur."from"()
+    inc $P10
+    set rx641_pos, $P10
+    ge rx641_pos, rx641_eos, rxscan647_done
+  rxscan647_scan:
+    set_addr $I10, rxscan647_loop
+    rx641_cur."!mark_push"(0, rx641_pos, $I10)
+  rxscan647_done:
+  alt648_0:
+.annotate "line", 292
+    set_addr $I10, alt648_1
+    rx641_cur."!mark_push"(0, rx641_pos, $I10)
+.annotate "line", 293
   # rx subcapture "quant"
-    set_addr $I10, rxcap_629_fail
-    rx621_cur."!mark_push"(0, rx621_pos, $I10)
+    set_addr $I10, rxcap_649_fail
+    rx641_cur."!mark_push"(0, rx641_pos, $I10)
   # rx literal  "*"
-    add $I11, rx621_pos, 1
-    gt $I11, rx621_eos, rx621_fail
-    sub $I11, rx621_pos, rx621_off
-    substr $S10, rx621_tgt, $I11, 1
-    ne $S10, "*", rx621_fail
-    add rx621_pos, 1
-    set_addr $I10, rxcap_629_fail
-    ($I12, $I11) = rx621_cur."!mark_peek"($I10)
-    rx621_cur."!cursor_pos"($I11)
-    ($P10) = rx621_cur."!cursor_start"()
-    $P10."!cursor_pass"(rx621_pos, "")
-    rx621_cur."!mark_push"(0, -1, 0, $P10)
+    add $I11, rx641_pos, 1
+    gt $I11, rx641_eos, rx641_fail
+    sub $I11, rx641_pos, rx641_off
+    substr $S10, rx641_tgt, $I11, 1
+    ne $S10, "*", rx641_fail
+    add rx641_pos, 1
+    set_addr $I10, rxcap_649_fail
+    ($I12, $I11) = rx641_cur."!mark_peek"($I10)
+    rx641_cur."!cursor_pos"($I11)
+    ($P10) = rx641_cur."!cursor_start"()
+    $P10."!cursor_pass"(rx641_pos, "")
+    rx641_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("quant")
-    goto rxcap_629_done
-  rxcap_629_fail:
-    goto rx621_fail
-  rxcap_629_done:
+    goto rxcap_649_done
+  rxcap_649_fail:
+    goto rx641_fail
+  rxcap_649_done:
   # rx subrule "param_var" subtype=capture negate=
-    rx621_cur."!cursor_pos"(rx621_pos)
-    $P10 = rx621_cur."param_var"()
-    unless $P10, rx621_fail
-    rx621_cur."!mark_push"(0, -1, 0, $P10)
+    rx641_cur."!cursor_pos"(rx641_pos)
+    $P10 = rx641_cur."param_var"()
+    unless $P10, rx641_fail
+    rx641_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("param_var")
-    rx621_pos = $P10."pos"()
-    goto alt628_end
-  alt628_1:
-  alt630_0:
-.annotate "line", 284
-    set_addr $I10, alt630_1
-    rx621_cur."!mark_push"(0, rx621_pos, $I10)
+    rx641_pos = $P10."pos"()
+    goto alt648_end
+  alt648_1:
+  alt650_0:
+.annotate "line", 294
+    set_addr $I10, alt650_1
+    rx641_cur."!mark_push"(0, rx641_pos, $I10)
   # rx subrule "param_var" subtype=capture negate=
-    rx621_cur."!cursor_pos"(rx621_pos)
-    $P10 = rx621_cur."param_var"()
-    unless $P10, rx621_fail
-    rx621_cur."!mark_push"(0, -1, 0, $P10)
+    rx641_cur."!cursor_pos"(rx641_pos)
+    $P10 = rx641_cur."param_var"()
+    unless $P10, rx641_fail
+    rx641_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("param_var")
-    rx621_pos = $P10."pos"()
-    goto alt630_end
-  alt630_1:
+    rx641_pos = $P10."pos"()
+    goto alt650_end
+  alt650_1:
   # rx subrule "named_param" subtype=capture negate=
-    rx621_cur."!cursor_pos"(rx621_pos)
-    $P10 = rx621_cur."named_param"()
-    unless $P10, rx621_fail
-    rx621_cur."!mark_push"(0, -1, 0, $P10)
+    rx641_cur."!cursor_pos"(rx641_pos)
+    $P10 = rx641_cur."named_param"()
+    unless $P10, rx641_fail
+    rx641_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("named_param")
-    rx621_pos = $P10."pos"()
-  alt630_end:
+    rx641_pos = $P10."pos"()
+  alt650_end:
   # rx subcapture "quant"
-    set_addr $I10, rxcap_632_fail
-    rx621_cur."!mark_push"(0, rx621_pos, $I10)
-  alt631_0:
-    set_addr $I10, alt631_1
-    rx621_cur."!mark_push"(0, rx621_pos, $I10)
+    set_addr $I10, rxcap_652_fail
+    rx641_cur."!mark_push"(0, rx641_pos, $I10)
+  alt651_0:
+    set_addr $I10, alt651_1
+    rx641_cur."!mark_push"(0, rx641_pos, $I10)
   # rx literal  "?"
-    add $I11, rx621_pos, 1
-    gt $I11, rx621_eos, rx621_fail
-    sub $I11, rx621_pos, rx621_off
-    substr $S10, rx621_tgt, $I11, 1
-    ne $S10, "?", rx621_fail
-    add rx621_pos, 1
-    goto alt631_end
-  alt631_1:
-    set_addr $I10, alt631_2
-    rx621_cur."!mark_push"(0, rx621_pos, $I10)
+    add $I11, rx641_pos, 1
+    gt $I11, rx641_eos, rx641_fail
+    sub $I11, rx641_pos, rx641_off
+    substr $S10, rx641_tgt, $I11, 1
+    ne $S10, "?", rx641_fail
+    add rx641_pos, 1
+    goto alt651_end
+  alt651_1:
+    set_addr $I10, alt651_2
+    rx641_cur."!mark_push"(0, rx641_pos, $I10)
   # rx literal  "!"
-    add $I11, rx621_pos, 1
-    gt $I11, rx621_eos, rx621_fail
-    sub $I11, rx621_pos, rx621_off
-    substr $S10, rx621_tgt, $I11, 1
-    ne $S10, "!", rx621_fail
-    add rx621_pos, 1
-    goto alt631_end
-  alt631_2:
-  alt631_end:
-    set_addr $I10, rxcap_632_fail
-    ($I12, $I11) = rx621_cur."!mark_peek"($I10)
-    rx621_cur."!cursor_pos"($I11)
-    ($P10) = rx621_cur."!cursor_start"()
-    $P10."!cursor_pass"(rx621_pos, "")
-    rx621_cur."!mark_push"(0, -1, 0, $P10)
+    add $I11, rx641_pos, 1
+    gt $I11, rx641_eos, rx641_fail
+    sub $I11, rx641_pos, rx641_off
+    substr $S10, rx641_tgt, $I11, 1
+    ne $S10, "!", rx641_fail
+    add rx641_pos, 1
+    goto alt651_end
+  alt651_2:
+  alt651_end:
+    set_addr $I10, rxcap_652_fail
+    ($I12, $I11) = rx641_cur."!mark_peek"($I10)
+    rx641_cur."!cursor_pos"($I11)
+    ($P10) = rx641_cur."!cursor_start"()
+    $P10."!cursor_pass"(rx641_pos, "")
+    rx641_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("quant")
-    goto rxcap_632_done
-  rxcap_632_fail:
-    goto rx621_fail
-  rxcap_632_done:
-  alt628_end:
-.annotate "line", 286
-  # rx rxquantr633 ** 0..1
-    set_addr $I634, rxquantr633_done
-    rx621_cur."!mark_push"(0, rx621_pos, $I634)
-  rxquantr633_loop:
+    goto rxcap_652_done
+  rxcap_652_fail:
+    goto rx641_fail
+  rxcap_652_done:
+  alt648_end:
+.annotate "line", 296
+  # rx rxquantr653 ** 0..1
+    set_addr $I654, rxquantr653_done
+    rx641_cur."!mark_push"(0, rx641_pos, $I654)
+  rxquantr653_loop:
   # rx subrule "default_value" subtype=capture negate=
-    rx621_cur."!cursor_pos"(rx621_pos)
-    $P10 = rx621_cur."default_value"()
-    unless $P10, rx621_fail
-    rx621_cur."!mark_push"(0, -1, 0, $P10)
+    rx641_cur."!cursor_pos"(rx641_pos)
+    $P10 = rx641_cur."default_value"()
+    unless $P10, rx641_fail
+    rx641_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("default_value")
-    rx621_pos = $P10."pos"()
-    (rx621_rep) = rx621_cur."!mark_commit"($I634)
-  rxquantr633_done:
-.annotate "line", 281
+    rx641_pos = $P10."pos"()
+    (rx641_rep) = rx641_cur."!mark_commit"($I654)
+  rxquantr653_done:
+.annotate "line", 291
   # rx pass
-    rx621_cur."!cursor_pass"(rx621_pos, "parameter")
-    rx621_cur."!cursor_debug"("PASS  ", "parameter", " at pos=", rx621_pos)
-    .return (rx621_cur)
-  rx621_fail:
+    rx641_cur."!cursor_pass"(rx641_pos, "parameter")
+    rx641_cur."!cursor_debug"("PASS  ", "parameter", " at pos=", rx641_pos)
+    .return (rx641_cur)
+  rx641_fail:
 .annotate "line", 4
-    (rx621_rep, rx621_pos, $I10, $P10) = rx621_cur."!mark_fail"(0)
-    lt rx621_pos, -1, rx621_done
-    eq rx621_pos, -1, rx621_fail
+    (rx641_rep, rx641_pos, $I10, $P10) = rx641_cur."!mark_fail"(0)
+    lt rx641_pos, -1, rx641_done
+    eq rx641_pos, -1, rx641_fail
     jump $I10
-  rx621_done:
-    rx621_cur."!cursor_fail"()
-    rx621_cur."!cursor_debug"("FAIL  ", "parameter")
-    .return (rx621_cur)
+  rx641_done:
+    rx641_cur."!cursor_fail"()
+    rx641_cur."!cursor_debug"("FAIL  ", "parameter")
+    .return (rx641_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__parameter"  :subid("148_1259103982.97329") :method
+.sub "!PREFIX__parameter"  :subid("152_1259177761.22934") :method
 .annotate "line", 4
-    $P623 = self."!PREFIX__!subrule"("named_param", "")
-    $P624 = self."!PREFIX__!subrule"("param_var", "")
-    $P625 = self."!PREFIX__!subrule"("param_var", "*")
-    new $P626, "ResizablePMCArray"
-    push $P626, $P623
-    push $P626, $P624
-    push $P626, $P625
-    .return ($P626)
+    $P643 = self."!PREFIX__!subrule"("named_param", "")
+    $P644 = self."!PREFIX__!subrule"("param_var", "")
+    $P645 = self."!PREFIX__!subrule"("param_var", "*")
+    new $P646, "ResizablePMCArray"
+    push $P646, $P643
+    push $P646, $P644
+    push $P646, $P645
+    .return ($P646)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "param_var"  :subid("149_1259103982.97329") :method :outer("11_1259103982.97329")
+.sub "param_var"  :subid("153_1259177761.22934") :method :outer("11_1259177761.22934")
 .annotate "line", 4
-    .local string rx636_tgt
-    .local int rx636_pos
-    .local int rx636_off
-    .local int rx636_eos
-    .local int rx636_rep
-    .local pmc rx636_cur
-    (rx636_cur, rx636_pos, rx636_tgt) = self."!cursor_start"()
-    rx636_cur."!cursor_debug"("START ", "param_var")
-    rx636_cur."!cursor_caparray"("twigil")
-    .lex unicode:"$\x{a2}", rx636_cur
+    .local string rx656_tgt
+    .local int rx656_pos
+    .local int rx656_off
+    .local int rx656_eos
+    .local int rx656_rep
+    .local pmc rx656_cur
+    (rx656_cur, rx656_pos, rx656_tgt) = self."!cursor_start"()
+    rx656_cur."!cursor_debug"("START ", "param_var")
+    rx656_cur."!cursor_caparray"("twigil")
+    .lex unicode:"$\x{a2}", rx656_cur
     .local pmc match
     .lex "$/", match
-    length rx636_eos, rx636_tgt
-    set rx636_off, 0
-    lt rx636_pos, 2, rx636_start
-    sub rx636_off, rx636_pos, 1
-    substr rx636_tgt, rx636_tgt, rx636_off
-  rx636_start:
+    length rx656_eos, rx656_tgt
+    set rx656_off, 0
+    lt rx656_pos, 2, rx656_start
+    sub rx656_off, rx656_pos, 1
+    substr rx656_tgt, rx656_tgt, rx656_off
+  rx656_start:
     $I10 = self.'from'()
-    ne $I10, -1, rxscan640_done
-    goto rxscan640_scan
-  rxscan640_loop:
-    ($P10) = rx636_cur."from"()
+    ne $I10, -1, rxscan660_done
+    goto rxscan660_scan
+  rxscan660_loop:
+    ($P10) = rx656_cur."from"()
     inc $P10
-    set rx636_pos, $P10
-    ge rx636_pos, rx636_eos, rxscan640_done
-  rxscan640_scan:
-    set_addr $I10, rxscan640_loop
-    rx636_cur."!mark_push"(0, rx636_pos, $I10)
-  rxscan640_done:
-.annotate "line", 290
+    set rx656_pos, $P10
+    ge rx656_pos, rx656_eos, rxscan660_done
+  rxscan660_scan:
+    set_addr $I10, rxscan660_loop
+    rx656_cur."!mark_push"(0, rx656_pos, $I10)
+  rxscan660_done:
+.annotate "line", 300
   # rx subrule "sigil" subtype=capture negate=
-    rx636_cur."!cursor_pos"(rx636_pos)
-    $P10 = rx636_cur."sigil"()
-    unless $P10, rx636_fail
-    rx636_cur."!mark_push"(0, -1, 0, $P10)
+    rx656_cur."!cursor_pos"(rx656_pos)
+    $P10 = rx656_cur."sigil"()
+    unless $P10, rx656_fail
+    rx656_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("sigil")
-    rx636_pos = $P10."pos"()
-  # rx rxquantr641 ** 0..1
-    set_addr $I642, rxquantr641_done
-    rx636_cur."!mark_push"(0, rx636_pos, $I642)
-  rxquantr641_loop:
+    rx656_pos = $P10."pos"()
+  # rx rxquantr661 ** 0..1
+    set_addr $I662, rxquantr661_done
+    rx656_cur."!mark_push"(0, rx656_pos, $I662)
+  rxquantr661_loop:
   # rx subrule "twigil" subtype=capture negate=
-    rx636_cur."!cursor_pos"(rx636_pos)
-    $P10 = rx636_cur."twigil"()
-    unless $P10, rx636_fail
-    rx636_cur."!mark_push"(0, -1, 0, $P10)
+    rx656_cur."!cursor_pos"(rx656_pos)
+    $P10 = rx656_cur."twigil"()
+    unless $P10, rx656_fail
+    rx656_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("twigil")
-    rx636_pos = $P10."pos"()
-    (rx636_rep) = rx636_cur."!mark_commit"($I642)
-  rxquantr641_done:
-  alt643_0:
-.annotate "line", 291
-    set_addr $I10, alt643_1
-    rx636_cur."!mark_push"(0, rx636_pos, $I10)
+    rx656_pos = $P10."pos"()
+    (rx656_rep) = rx656_cur."!mark_commit"($I662)
+  rxquantr661_done:
+  alt663_0:
+.annotate "line", 301
+    set_addr $I10, alt663_1
+    rx656_cur."!mark_push"(0, rx656_pos, $I10)
   # rx subrule "ident" subtype=capture negate=
-    rx636_cur."!cursor_pos"(rx636_pos)
-    $P10 = rx636_cur."ident"()
-    unless $P10, rx636_fail
-    rx636_cur."!mark_push"(0, -1, 0, $P10)
+    rx656_cur."!cursor_pos"(rx656_pos)
+    $P10 = rx656_cur."ident"()
+    unless $P10, rx656_fail
+    rx656_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("name")
-    rx636_pos = $P10."pos"()
-    goto alt643_end
-  alt643_1:
+    rx656_pos = $P10."pos"()
+    goto alt663_end
+  alt663_1:
   # rx subcapture "name"
-    set_addr $I10, rxcap_644_fail
-    rx636_cur."!mark_push"(0, rx636_pos, $I10)
+    set_addr $I10, rxcap_664_fail
+    rx656_cur."!mark_push"(0, rx656_pos, $I10)
   # rx enumcharlist negate=0 
-    ge rx636_pos, rx636_eos, rx636_fail
-    sub $I10, rx636_pos, rx636_off
-    substr $S10, rx636_tgt, $I10, 1
+    ge rx656_pos, rx656_eos, rx656_fail
+    sub $I10, rx656_pos, rx656_off
+    substr $S10, rx656_tgt, $I10, 1
     index $I11, "/!", $S10
-    lt $I11, 0, rx636_fail
-    inc rx636_pos
-    set_addr $I10, rxcap_644_fail
-    ($I12, $I11) = rx636_cur."!mark_peek"($I10)
-    rx636_cur."!cursor_pos"($I11)
-    ($P10) = rx636_cur."!cursor_start"()
-    $P10."!cursor_pass"(rx636_pos, "")
-    rx636_cur."!mark_push"(0, -1, 0, $P10)
+    lt $I11, 0, rx656_fail
+    inc rx656_pos
+    set_addr $I10, rxcap_664_fail
+    ($I12, $I11) = rx656_cur."!mark_peek"($I10)
+    rx656_cur."!cursor_pos"($I11)
+    ($P10) = rx656_cur."!cursor_start"()
+    $P10."!cursor_pass"(rx656_pos, "")
+    rx656_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("name")
-    goto rxcap_644_done
-  rxcap_644_fail:
-    goto rx636_fail
-  rxcap_644_done:
-  alt643_end:
-.annotate "line", 289
+    goto rxcap_664_done
+  rxcap_664_fail:
+    goto rx656_fail
+  rxcap_664_done:
+  alt663_end:
+.annotate "line", 299
   # rx pass
-    rx636_cur."!cursor_pass"(rx636_pos, "param_var")
-    rx636_cur."!cursor_debug"("PASS  ", "param_var", " at pos=", rx636_pos)
-    .return (rx636_cur)
-  rx636_fail:
+    rx656_cur."!cursor_pass"(rx656_pos, "param_var")
+    rx656_cur."!cursor_debug"("PASS  ", "param_var", " at pos=", rx656_pos)
+    .return (rx656_cur)
+  rx656_fail:
 .annotate "line", 4
-    (rx636_rep, rx636_pos, $I10, $P10) = rx636_cur."!mark_fail"(0)
-    lt rx636_pos, -1, rx636_done
-    eq rx636_pos, -1, rx636_fail
+    (rx656_rep, rx656_pos, $I10, $P10) = rx656_cur."!mark_fail"(0)
+    lt rx656_pos, -1, rx656_done
+    eq rx656_pos, -1, rx656_fail
     jump $I10
-  rx636_done:
-    rx636_cur."!cursor_fail"()
-    rx636_cur."!cursor_debug"("FAIL  ", "param_var")
-    .return (rx636_cur)
+  rx656_done:
+    rx656_cur."!cursor_fail"()
+    rx656_cur."!cursor_debug"("FAIL  ", "param_var")
+    .return (rx656_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__param_var"  :subid("150_1259103982.97329") :method
+.sub "!PREFIX__param_var"  :subid("154_1259177761.22934") :method
 .annotate "line", 4
-    $P638 = self."!PREFIX__!subrule"("sigil", "")
-    new $P639, "ResizablePMCArray"
-    push $P639, $P638
-    .return ($P639)
+    $P658 = self."!PREFIX__!subrule"("sigil", "")
+    new $P659, "ResizablePMCArray"
+    push $P659, $P658
+    .return ($P659)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "named_param"  :subid("151_1259103982.97329") :method :outer("11_1259103982.97329")
+.sub "named_param"  :subid("155_1259177761.22934") :method :outer("11_1259177761.22934")
 .annotate "line", 4
-    .local string rx646_tgt
-    .local int rx646_pos
-    .local int rx646_off
-    .local int rx646_eos
-    .local int rx646_rep
-    .local pmc rx646_cur
-    (rx646_cur, rx646_pos, rx646_tgt) = self."!cursor_start"()
-    rx646_cur."!cursor_debug"("START ", "named_param")
-    .lex unicode:"$\x{a2}", rx646_cur
-    .local pmc match
-    .lex "$/", match
-    length rx646_eos, rx646_tgt
-    set rx646_off, 0
-    lt rx646_pos, 2, rx646_start
-    sub rx646_off, rx646_pos, 1
-    substr rx646_tgt, rx646_tgt, rx646_off
-  rx646_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan650_done
-    goto rxscan650_scan
-  rxscan650_loop:
-    ($P10) = rx646_cur."from"()
-    inc $P10
-    set rx646_pos, $P10
-    ge rx646_pos, rx646_eos, rxscan650_done
-  rxscan650_scan:
-    set_addr $I10, rxscan650_loop
-    rx646_cur."!mark_push"(0, rx646_pos, $I10)
-  rxscan650_done:
-.annotate "line", 295
+    .local string rx666_tgt
+    .local int rx666_pos
+    .local int rx666_off
+    .local int rx666_eos
+    .local int rx666_rep
+    .local pmc rx666_cur
+    (rx666_cur, rx666_pos, rx666_tgt) = self."!cursor_start"()
+    rx666_cur."!cursor_debug"("START ", "named_param")
+    .lex unicode:"$\x{a2}", rx666_cur
+    .local pmc match
+    .lex "$/", match
+    length rx666_eos, rx666_tgt
+    set rx666_off, 0
+    lt rx666_pos, 2, rx666_start
+    sub rx666_off, rx666_pos, 1
+    substr rx666_tgt, rx666_tgt, rx666_off
+  rx666_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan670_done
+    goto rxscan670_scan
+  rxscan670_loop:
+    ($P10) = rx666_cur."from"()
+    inc $P10
+    set rx666_pos, $P10
+    ge rx666_pos, rx666_eos, rxscan670_done
+  rxscan670_scan:
+    set_addr $I10, rxscan670_loop
+    rx666_cur."!mark_push"(0, rx666_pos, $I10)
+  rxscan670_done:
+.annotate "line", 305
   # rx literal  ":"
-    add $I11, rx646_pos, 1
-    gt $I11, rx646_eos, rx646_fail
-    sub $I11, rx646_pos, rx646_off
-    substr $S10, rx646_tgt, $I11, 1
-    ne $S10, ":", rx646_fail
-    add rx646_pos, 1
+    add $I11, rx666_pos, 1
+    gt $I11, rx666_eos, rx666_fail
+    sub $I11, rx666_pos, rx666_off
+    substr $S10, rx666_tgt, $I11, 1
+    ne $S10, ":", rx666_fail
+    add rx666_pos, 1
   # rx subrule "param_var" subtype=capture negate=
-    rx646_cur."!cursor_pos"(rx646_pos)
-    $P10 = rx646_cur."param_var"()
-    unless $P10, rx646_fail
-    rx646_cur."!mark_push"(0, -1, 0, $P10)
+    rx666_cur."!cursor_pos"(rx666_pos)
+    $P10 = rx666_cur."param_var"()
+    unless $P10, rx666_fail
+    rx666_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("param_var")
-    rx646_pos = $P10."pos"()
-.annotate "line", 294
+    rx666_pos = $P10."pos"()
+.annotate "line", 304
   # rx pass
-    rx646_cur."!cursor_pass"(rx646_pos, "named_param")
-    rx646_cur."!cursor_debug"("PASS  ", "named_param", " at pos=", rx646_pos)
-    .return (rx646_cur)
-  rx646_fail:
+    rx666_cur."!cursor_pass"(rx666_pos, "named_param")
+    rx666_cur."!cursor_debug"("PASS  ", "named_param", " at pos=", rx666_pos)
+    .return (rx666_cur)
+  rx666_fail:
 .annotate "line", 4
-    (rx646_rep, rx646_pos, $I10, $P10) = rx646_cur."!mark_fail"(0)
-    lt rx646_pos, -1, rx646_done
-    eq rx646_pos, -1, rx646_fail
+    (rx666_rep, rx666_pos, $I10, $P10) = rx666_cur."!mark_fail"(0)
+    lt rx666_pos, -1, rx666_done
+    eq rx666_pos, -1, rx666_fail
     jump $I10
-  rx646_done:
-    rx646_cur."!cursor_fail"()
-    rx646_cur."!cursor_debug"("FAIL  ", "named_param")
-    .return (rx646_cur)
+  rx666_done:
+    rx666_cur."!cursor_fail"()
+    rx666_cur."!cursor_debug"("FAIL  ", "named_param")
+    .return (rx666_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__named_param"  :subid("152_1259103982.97329") :method
+.sub "!PREFIX__named_param"  :subid("156_1259177761.22934") :method
 .annotate "line", 4
-    $P648 = self."!PREFIX__!subrule"("param_var", ":")
-    new $P649, "ResizablePMCArray"
-    push $P649, $P648
-    .return ($P649)
+    $P668 = self."!PREFIX__!subrule"("param_var", ":")
+    new $P669, "ResizablePMCArray"
+    push $P669, $P668
+    .return ($P669)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "default_value"  :subid("153_1259103982.97329") :method :outer("11_1259103982.97329")
+.sub "default_value"  :subid("157_1259177761.22934") :method :outer("11_1259177761.22934")
 .annotate "line", 4
-    .local string rx652_tgt
-    .local int rx652_pos
-    .local int rx652_off
-    .local int rx652_eos
-    .local int rx652_rep
-    .local pmc rx652_cur
-    (rx652_cur, rx652_pos, rx652_tgt) = self."!cursor_start"()
-    rx652_cur."!cursor_debug"("START ", "default_value")
-    .lex unicode:"$\x{a2}", rx652_cur
-    .local pmc match
-    .lex "$/", match
-    length rx652_eos, rx652_tgt
-    set rx652_off, 0
-    lt rx652_pos, 2, rx652_start
-    sub rx652_off, rx652_pos, 1
-    substr rx652_tgt, rx652_tgt, rx652_off
-  rx652_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan655_done
-    goto rxscan655_scan
-  rxscan655_loop:
-    ($P10) = rx652_cur."from"()
-    inc $P10
-    set rx652_pos, $P10
-    ge rx652_pos, rx652_eos, rxscan655_done
-  rxscan655_scan:
-    set_addr $I10, rxscan655_loop
-    rx652_cur."!mark_push"(0, rx652_pos, $I10)
-  rxscan655_done:
-.annotate "line", 298
+    .local string rx672_tgt
+    .local int rx672_pos
+    .local int rx672_off
+    .local int rx672_eos
+    .local int rx672_rep
+    .local pmc rx672_cur
+    (rx672_cur, rx672_pos, rx672_tgt) = self."!cursor_start"()
+    rx672_cur."!cursor_debug"("START ", "default_value")
+    .lex unicode:"$\x{a2}", rx672_cur
+    .local pmc match
+    .lex "$/", match
+    length rx672_eos, rx672_tgt
+    set rx672_off, 0
+    lt rx672_pos, 2, rx672_start
+    sub rx672_off, rx672_pos, 1
+    substr rx672_tgt, rx672_tgt, rx672_off
+  rx672_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan675_done
+    goto rxscan675_scan
+  rxscan675_loop:
+    ($P10) = rx672_cur."from"()
+    inc $P10
+    set rx672_pos, $P10
+    ge rx672_pos, rx672_eos, rxscan675_done
+  rxscan675_scan:
+    set_addr $I10, rxscan675_loop
+    rx672_cur."!mark_push"(0, rx672_pos, $I10)
+  rxscan675_done:
+.annotate "line", 308
   # rx subrule "ws" subtype=method negate=
-    rx652_cur."!cursor_pos"(rx652_pos)
-    $P10 = rx652_cur."ws"()
-    unless $P10, rx652_fail
-    rx652_pos = $P10."pos"()
+    rx672_cur."!cursor_pos"(rx672_pos)
+    $P10 = rx672_cur."ws"()
+    unless $P10, rx672_fail
+    rx672_pos = $P10."pos"()
   # rx literal  "="
-    add $I11, rx652_pos, 1
-    gt $I11, rx652_eos, rx652_fail
-    sub $I11, rx652_pos, rx652_off
-    substr $S10, rx652_tgt, $I11, 1
-    ne $S10, "=", rx652_fail
-    add rx652_pos, 1
-  # rx subrule "ws" subtype=method negate=
-    rx652_cur."!cursor_pos"(rx652_pos)
-    $P10 = rx652_cur."ws"()
-    unless $P10, rx652_fail
-    rx652_pos = $P10."pos"()
+    add $I11, rx672_pos, 1
+    gt $I11, rx672_eos, rx672_fail
+    sub $I11, rx672_pos, rx672_off
+    substr $S10, rx672_tgt, $I11, 1
+    ne $S10, "=", rx672_fail
+    add rx672_pos, 1
+  # rx subrule "ws" subtype=method negate=
+    rx672_cur."!cursor_pos"(rx672_pos)
+    $P10 = rx672_cur."ws"()
+    unless $P10, rx672_fail
+    rx672_pos = $P10."pos"()
   # rx subrule "EXPR" subtype=capture negate=
-    rx652_cur."!cursor_pos"(rx652_pos)
-    $P10 = rx652_cur."EXPR"("i=")
-    unless $P10, rx652_fail
-    rx652_cur."!mark_push"(0, -1, 0, $P10)
+    rx672_cur."!cursor_pos"(rx672_pos)
+    $P10 = rx672_cur."EXPR"("i=")
+    unless $P10, rx672_fail
+    rx672_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("EXPR")
-    rx652_pos = $P10."pos"()
+    rx672_pos = $P10."pos"()
   # rx subrule "ws" subtype=method negate=
-    rx652_cur."!cursor_pos"(rx652_pos)
-    $P10 = rx652_cur."ws"()
-    unless $P10, rx652_fail
-    rx652_pos = $P10."pos"()
+    rx672_cur."!cursor_pos"(rx672_pos)
+    $P10 = rx672_cur."ws"()
+    unless $P10, rx672_fail
+    rx672_pos = $P10."pos"()
   # rx pass
-    rx652_cur."!cursor_pass"(rx652_pos, "default_value")
-    rx652_cur."!cursor_debug"("PASS  ", "default_value", " at pos=", rx652_pos)
-    .return (rx652_cur)
-  rx652_fail:
+    rx672_cur."!cursor_pass"(rx672_pos, "default_value")
+    rx672_cur."!cursor_debug"("PASS  ", "default_value", " at pos=", rx672_pos)
+    .return (rx672_cur)
+  rx672_fail:
 .annotate "line", 4
-    (rx652_rep, rx652_pos, $I10, $P10) = rx652_cur."!mark_fail"(0)
-    lt rx652_pos, -1, rx652_done
-    eq rx652_pos, -1, rx652_fail
+    (rx672_rep, rx672_pos, $I10, $P10) = rx672_cur."!mark_fail"(0)
+    lt rx672_pos, -1, rx672_done
+    eq rx672_pos, -1, rx672_fail
     jump $I10
-  rx652_done:
-    rx652_cur."!cursor_fail"()
-    rx652_cur."!cursor_debug"("FAIL  ", "default_value")
-    .return (rx652_cur)
+  rx672_done:
+    rx672_cur."!cursor_fail"()
+    rx672_cur."!cursor_debug"("FAIL  ", "default_value")
+    .return (rx672_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__default_value"  :subid("154_1259103982.97329") :method
+.sub "!PREFIX__default_value"  :subid("158_1259177761.22934") :method
 .annotate "line", 4
-    new $P654, "ResizablePMCArray"
-    push $P654, ""
-    .return ($P654)
+    new $P674, "ResizablePMCArray"
+    push $P674, ""
+    .return ($P674)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "regex_declarator"  :subid("155_1259103982.97329") :method :outer("11_1259103982.97329")
+.sub "regex_declarator"  :subid("159_1259177761.22934") :method :outer("11_1259177761.22934")
 .annotate "line", 4
-    .local string rx660_tgt
-    .local int rx660_pos
-    .local int rx660_off
-    .local int rx660_eos
-    .local int rx660_rep
-    .local pmc rx660_cur
-    (rx660_cur, rx660_pos, rx660_tgt) = self."!cursor_start"()
-    rx660_cur."!cursor_debug"("START ", "regex_declarator")
-    rx660_cur."!cursor_caparray"("signature")
-    .lex unicode:"$\x{a2}", rx660_cur
+    .local string rx680_tgt
+    .local int rx680_pos
+    .local int rx680_off
+    .local int rx680_eos
+    .local int rx680_rep
+    .local pmc rx680_cur
+    (rx680_cur, rx680_pos, rx680_tgt) = self."!cursor_start"()
+    rx680_cur."!cursor_debug"("START ", "regex_declarator")
+    rx680_cur."!cursor_caparray"("signature")
+    .lex unicode:"$\x{a2}", rx680_cur
     .local pmc match
     .lex "$/", match
-    length rx660_eos, rx660_tgt
-    set rx660_off, 0
-    lt rx660_pos, 2, rx660_start
-    sub rx660_off, rx660_pos, 1
-    substr rx660_tgt, rx660_tgt, rx660_off
-  rx660_start:
+    length rx680_eos, rx680_tgt
+    set rx680_off, 0
+    lt rx680_pos, 2, rx680_start
+    sub rx680_off, rx680_pos, 1
+    substr rx680_tgt, rx680_tgt, rx680_off
+  rx680_start:
     $I10 = self.'from'()
-    ne $I10, -1, rxscan663_done
-    goto rxscan663_scan
-  rxscan663_loop:
-    ($P10) = rx660_cur."from"()
+    ne $I10, -1, rxscan683_done
+    goto rxscan683_scan
+  rxscan683_loop:
+    ($P10) = rx680_cur."from"()
     inc $P10
-    set rx660_pos, $P10
-    ge rx660_pos, rx660_eos, rxscan663_done
-  rxscan663_scan:
-    set_addr $I10, rxscan663_loop
-    rx660_cur."!mark_push"(0, rx660_pos, $I10)
-  rxscan663_done:
-.annotate "line", 300
+    set rx680_pos, $P10
+    ge rx680_pos, rx680_eos, rxscan683_done
+  rxscan683_scan:
+    set_addr $I10, rxscan683_loop
+    rx680_cur."!mark_push"(0, rx680_pos, $I10)
+  rxscan683_done:
+.annotate "line", 310
   # rx subrule "ws" subtype=method negate=
-    rx660_cur."!cursor_pos"(rx660_pos)
-    $P10 = rx660_cur."ws"()
-    unless $P10, rx660_fail
-    rx660_pos = $P10."pos"()
-  alt665_0:
-.annotate "line", 301
-    set_addr $I10, alt665_1
-    rx660_cur."!mark_push"(0, rx660_pos, $I10)
-.annotate "line", 302
-  # rx subrule "ws" subtype=method negate=
-    rx660_cur."!cursor_pos"(rx660_pos)
-    $P10 = rx660_cur."ws"()
-    unless $P10, rx660_fail
-    rx660_pos = $P10."pos"()
+    rx680_cur."!cursor_pos"(rx680_pos)
+    $P10 = rx680_cur."ws"()
+    unless $P10, rx680_fail
+    rx680_pos = $P10."pos"()
+  alt685_0:
+.annotate "line", 311
+    set_addr $I10, alt685_1
+    rx680_cur."!mark_push"(0, rx680_pos, $I10)
+.annotate "line", 312
+  # rx subrule "ws" subtype=method negate=
+    rx680_cur."!cursor_pos"(rx680_pos)
+    $P10 = rx680_cur."ws"()
+    unless $P10, rx680_fail
+    rx680_pos = $P10."pos"()
   # rx subcapture "proto"
-    set_addr $I10, rxcap_667_fail
-    rx660_cur."!mark_push"(0, rx660_pos, $I10)
+    set_addr $I10, rxcap_687_fail
+    rx680_cur."!mark_push"(0, rx680_pos, $I10)
   # rx literal  "proto"
-    add $I11, rx660_pos, 5
-    gt $I11, rx660_eos, rx660_fail
-    sub $I11, rx660_pos, rx660_off
-    substr $S10, rx660_tgt, $I11, 5
-    ne $S10, "proto", rx660_fail
-    add rx660_pos, 5
-    set_addr $I10, rxcap_667_fail
-    ($I12, $I11) = rx660_cur."!mark_peek"($I10)
-    rx660_cur."!cursor_pos"($I11)
-    ($P10) = rx660_cur."!cursor_start"()
-    $P10."!cursor_pass"(rx660_pos, "")
-    rx660_cur."!mark_push"(0, -1, 0, $P10)
+    add $I11, rx680_pos, 5
+    gt $I11, rx680_eos, rx680_fail
+    sub $I11, rx680_pos, rx680_off
+    substr $S10, rx680_tgt, $I11, 5
+    ne $S10, "proto", rx680_fail
+    add rx680_pos, 5
+    set_addr $I10, rxcap_687_fail
+    ($I12, $I11) = rx680_cur."!mark_peek"($I10)
+    rx680_cur."!cursor_pos"($I11)
+    ($P10) = rx680_cur."!cursor_start"()
+    $P10."!cursor_pass"(rx680_pos, "")
+    rx680_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("proto")
-    goto rxcap_667_done
-  rxcap_667_fail:
-    goto rx660_fail
-  rxcap_667_done:
-  # rx subrule "ws" subtype=method negate=
-    rx660_cur."!cursor_pos"(rx660_pos)
-    $P10 = rx660_cur."ws"()
-    unless $P10, rx660_fail
-    rx660_pos = $P10."pos"()
-  alt669_0:
-    set_addr $I10, alt669_1
-    rx660_cur."!mark_push"(0, rx660_pos, $I10)
+    goto rxcap_687_done
+  rxcap_687_fail:
+    goto rx680_fail
+  rxcap_687_done:
+  # rx subrule "ws" subtype=method negate=
+    rx680_cur."!cursor_pos"(rx680_pos)
+    $P10 = rx680_cur."ws"()
+    unless $P10, rx680_fail
+    rx680_pos = $P10."pos"()
+  alt689_0:
+    set_addr $I10, alt689_1
+    rx680_cur."!mark_push"(0, rx680_pos, $I10)
   # rx literal  "regex"
-    add $I11, rx660_pos, 5
-    gt $I11, rx660_eos, rx660_fail
-    sub $I11, rx660_pos, rx660_off
-    substr $S10, rx660_tgt, $I11, 5
-    ne $S10, "regex", rx660_fail
-    add rx660_pos, 5
-    goto alt669_end
-  alt669_1:
-    set_addr $I10, alt669_2
-    rx660_cur."!mark_push"(0, rx660_pos, $I10)
+    add $I11, rx680_pos, 5
+    gt $I11, rx680_eos, rx680_fail
+    sub $I11, rx680_pos, rx680_off
+    substr $S10, rx680_tgt, $I11, 5
+    ne $S10, "regex", rx680_fail
+    add rx680_pos, 5
+    goto alt689_end
+  alt689_1:
+    set_addr $I10, alt689_2
+    rx680_cur."!mark_push"(0, rx680_pos, $I10)
   # rx literal  "token"
-    add $I11, rx660_pos, 5
-    gt $I11, rx660_eos, rx660_fail
-    sub $I11, rx660_pos, rx660_off
-    substr $S10, rx660_tgt, $I11, 5
-    ne $S10, "token", rx660_fail
-    add rx660_pos, 5
-    goto alt669_end
-  alt669_2:
+    add $I11, rx680_pos, 5
+    gt $I11, rx680_eos, rx680_fail
+    sub $I11, rx680_pos, rx680_off
+    substr $S10, rx680_tgt, $I11, 5
+    ne $S10, "token", rx680_fail
+    add rx680_pos, 5
+    goto alt689_end
+  alt689_2:
   # rx literal  "rule"
-    add $I11, rx660_pos, 4
-    gt $I11, rx660_eos, rx660_fail
-    sub $I11, rx660_pos, rx660_off
-    substr $S10, rx660_tgt, $I11, 4
-    ne $S10, "rule", rx660_fail
-    add rx660_pos, 4
-  alt669_end:
-  # rx subrule "ws" subtype=method negate=
-    rx660_cur."!cursor_pos"(rx660_pos)
-    $P10 = rx660_cur."ws"()
-    unless $P10, rx660_fail
-    rx660_pos = $P10."pos"()
-.annotate "line", 303
+    add $I11, rx680_pos, 4
+    gt $I11, rx680_eos, rx680_fail
+    sub $I11, rx680_pos, rx680_off
+    substr $S10, rx680_tgt, $I11, 4
+    ne $S10, "rule", rx680_fail
+    add rx680_pos, 4
+  alt689_end:
+  # rx subrule "ws" subtype=method negate=
+    rx680_cur."!cursor_pos"(rx680_pos)
+    $P10 = rx680_cur."ws"()
+    unless $P10, rx680_fail
+    rx680_pos = $P10."pos"()
+.annotate "line", 313
   # rx subrule "deflongname" subtype=capture negate=
-    rx660_cur."!cursor_pos"(rx660_pos)
-    $P10 = rx660_cur."deflongname"()
-    unless $P10, rx660_fail
-    rx660_cur."!mark_push"(0, -1, 0, $P10)
+    rx680_cur."!cursor_pos"(rx680_pos)
+    $P10 = rx680_cur."deflongname"()
+    unless $P10, rx680_fail
+    rx680_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("deflongname")
-    rx660_pos = $P10."pos"()
+    rx680_pos = $P10."pos"()
   # rx subrule "ws" subtype=method negate=
-    rx660_cur."!cursor_pos"(rx660_pos)
-    $P10 = rx660_cur."ws"()
-    unless $P10, rx660_fail
-    rx660_pos = $P10."pos"()
-.annotate "line", 304
+    rx680_cur."!cursor_pos"(rx680_pos)
+    $P10 = rx680_cur."ws"()
+    unless $P10, rx680_fail
+    rx680_pos = $P10."pos"()
+.annotate "line", 314
   # rx literal  "{"
-    add $I11, rx660_pos, 1
-    gt $I11, rx660_eos, rx660_fail
-    sub $I11, rx660_pos, rx660_off
-    substr $S10, rx660_tgt, $I11, 1
-    ne $S10, "{", rx660_fail
-    add rx660_pos, 1
-  # rx subrule "ws" subtype=method negate=
-    rx660_cur."!cursor_pos"(rx660_pos)
-    $P10 = rx660_cur."ws"()
-    unless $P10, rx660_fail
-    rx660_pos = $P10."pos"()
+    add $I11, rx680_pos, 1
+    gt $I11, rx680_eos, rx680_fail
+    sub $I11, rx680_pos, rx680_off
+    substr $S10, rx680_tgt, $I11, 1
+    ne $S10, "{", rx680_fail
+    add rx680_pos, 1
+  # rx subrule "ws" subtype=method negate=
+    rx680_cur."!cursor_pos"(rx680_pos)
+    $P10 = rx680_cur."ws"()
+    unless $P10, rx680_fail
+    rx680_pos = $P10."pos"()
   # rx literal  "<...>"
-    add $I11, rx660_pos, 5
-    gt $I11, rx660_eos, rx660_fail
-    sub $I11, rx660_pos, rx660_off
-    substr $S10, rx660_tgt, $I11, 5
-    ne $S10, "<...>", rx660_fail
-    add rx660_pos, 5
-  # rx subrule "ws" subtype=method negate=
-    rx660_cur."!cursor_pos"(rx660_pos)
-    $P10 = rx660_cur."ws"()
-    unless $P10, rx660_fail
-    rx660_pos = $P10."pos"()
+    add $I11, rx680_pos, 5
+    gt $I11, rx680_eos, rx680_fail
+    sub $I11, rx680_pos, rx680_off
+    substr $S10, rx680_tgt, $I11, 5
+    ne $S10, "<...>", rx680_fail
+    add rx680_pos, 5
+  # rx subrule "ws" subtype=method negate=
+    rx680_cur."!cursor_pos"(rx680_pos)
+    $P10 = rx680_cur."ws"()
+    unless $P10, rx680_fail
+    rx680_pos = $P10."pos"()
   # rx literal  "}"
-    add $I11, rx660_pos, 1
-    gt $I11, rx660_eos, rx660_fail
-    sub $I11, rx660_pos, rx660_off
-    substr $S10, rx660_tgt, $I11, 1
-    ne $S10, "}", rx660_fail
-    add rx660_pos, 1
+    add $I11, rx680_pos, 1
+    gt $I11, rx680_eos, rx680_fail
+    sub $I11, rx680_pos, rx680_off
+    substr $S10, rx680_tgt, $I11, 1
+    ne $S10, "}", rx680_fail
+    add rx680_pos, 1
   # rx subrule "ENDSTMT" subtype=zerowidth negate=
-    rx660_cur."!cursor_pos"(rx660_pos)
-    $P10 = rx660_cur."ENDSTMT"()
-    unless $P10, rx660_fail
-  # rx subrule "ws" subtype=method negate=
-    rx660_cur."!cursor_pos"(rx660_pos)
-    $P10 = rx660_cur."ws"()
-    unless $P10, rx660_fail
-    rx660_pos = $P10."pos"()
-.annotate "line", 302
-    goto alt665_end
-  alt665_1:
-.annotate "line", 305
+    rx680_cur."!cursor_pos"(rx680_pos)
+    $P10 = rx680_cur."ENDSTMT"()
+    unless $P10, rx680_fail
+  # rx subrule "ws" subtype=method negate=
+    rx680_cur."!cursor_pos"(rx680_pos)
+    $P10 = rx680_cur."ws"()
+    unless $P10, rx680_fail
+    rx680_pos = $P10."pos"()
+.annotate "line", 312
+    goto alt685_end
+  alt685_1:
+.annotate "line", 315
   # rx subrule "ws" subtype=method negate=
-    rx660_cur."!cursor_pos"(rx660_pos)
-    $P10 = rx660_cur."ws"()
-    unless $P10, rx660_fail
-    rx660_pos = $P10."pos"()
+    rx680_cur."!cursor_pos"(rx680_pos)
+    $P10 = rx680_cur."ws"()
+    unless $P10, rx680_fail
+    rx680_pos = $P10."pos"()
   # rx subcapture "sym"
-    set_addr $I10, rxcap_677_fail
-    rx660_cur."!mark_push"(0, rx660_pos, $I10)
-  alt676_0:
-    set_addr $I10, alt676_1
-    rx660_cur."!mark_push"(0, rx660_pos, $I10)
+    set_addr $I10, rxcap_697_fail
+    rx680_cur."!mark_push"(0, rx680_pos, $I10)
+  alt696_0:
+    set_addr $I10, alt696_1
+    rx680_cur."!mark_push"(0, rx680_pos, $I10)
   # rx literal  "regex"
-    add $I11, rx660_pos, 5
-    gt $I11, rx660_eos, rx660_fail
-    sub $I11, rx660_pos, rx660_off
-    substr $S10, rx660_tgt, $I11, 5
-    ne $S10, "regex", rx660_fail
-    add rx660_pos, 5
-    goto alt676_end
-  alt676_1:
-    set_addr $I10, alt676_2
-    rx660_cur."!mark_push"(0, rx660_pos, $I10)
+    add $I11, rx680_pos, 5
+    gt $I11, rx680_eos, rx680_fail
+    sub $I11, rx680_pos, rx680_off
+    substr $S10, rx680_tgt, $I11, 5
+    ne $S10, "regex", rx680_fail
+    add rx680_pos, 5
+    goto alt696_end
+  alt696_1:
+    set_addr $I10, alt696_2
+    rx680_cur."!mark_push"(0, rx680_pos, $I10)
   # rx literal  "token"
-    add $I11, rx660_pos, 5
-    gt $I11, rx660_eos, rx660_fail
-    sub $I11, rx660_pos, rx660_off
-    substr $S10, rx660_tgt, $I11, 5
-    ne $S10, "token", rx660_fail
-    add rx660_pos, 5
-    goto alt676_end
-  alt676_2:
+    add $I11, rx680_pos, 5
+    gt $I11, rx680_eos, rx680_fail
+    sub $I11, rx680_pos, rx680_off
+    substr $S10, rx680_tgt, $I11, 5
+    ne $S10, "token", rx680_fail
+    add rx680_pos, 5
+    goto alt696_end
+  alt696_2:
   # rx literal  "rule"
-    add $I11, rx660_pos, 4
-    gt $I11, rx660_eos, rx660_fail
-    sub $I11, rx660_pos, rx660_off
-    substr $S10, rx660_tgt, $I11, 4
-    ne $S10, "rule", rx660_fail
-    add rx660_pos, 4
-  alt676_end:
-    set_addr $I10, rxcap_677_fail
-    ($I12, $I11) = rx660_cur."!mark_peek"($I10)
-    rx660_cur."!cursor_pos"($I11)
-    ($P10) = rx660_cur."!cursor_start"()
-    $P10."!cursor_pass"(rx660_pos, "")
-    rx660_cur."!mark_push"(0, -1, 0, $P10)
+    add $I11, rx680_pos, 4
+    gt $I11, rx680_eos, rx680_fail
+    sub $I11, rx680_pos, rx680_off
+    substr $S10, rx680_tgt, $I11, 4
+    ne $S10, "rule", rx680_fail
+    add rx680_pos, 4
+  alt696_end:
+    set_addr $I10, rxcap_697_fail
+    ($I12, $I11) = rx680_cur."!mark_peek"($I10)
+    rx680_cur."!cursor_pos"($I11)
+    ($P10) = rx680_cur."!cursor_start"()
+    $P10."!cursor_pass"(rx680_pos, "")
+    rx680_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("sym")
-    goto rxcap_677_done
-  rxcap_677_fail:
-    goto rx660_fail
-  rxcap_677_done:
-  # rx subrule "ws" subtype=method negate=
-    rx660_cur."!cursor_pos"(rx660_pos)
-    $P10 = rx660_cur."ws"()
-    unless $P10, rx660_fail
-    rx660_pos = $P10."pos"()
-.annotate "line", 306
+    goto rxcap_697_done
+  rxcap_697_fail:
+    goto rx680_fail
+  rxcap_697_done:
+  # rx subrule "ws" subtype=method negate=
+    rx680_cur."!cursor_pos"(rx680_pos)
+    $P10 = rx680_cur."ws"()
+    unless $P10, rx680_fail
+    rx680_pos = $P10."pos"()
+.annotate "line", 316
   # rx subrule "deflongname" subtype=capture negate=
-    rx660_cur."!cursor_pos"(rx660_pos)
-    $P10 = rx660_cur."deflongname"()
-    unless $P10, rx660_fail
-    rx660_cur."!mark_push"(0, -1, 0, $P10)
+    rx680_cur."!cursor_pos"(rx680_pos)
+    $P10 = rx680_cur."deflongname"()
+    unless $P10, rx680_fail
+    rx680_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("deflongname")
-    rx660_pos = $P10."pos"()
+    rx680_pos = $P10."pos"()
   # rx subrule "ws" subtype=method negate=
-    rx660_cur."!cursor_pos"(rx660_pos)
-    $P10 = rx660_cur."ws"()
-    unless $P10, rx660_fail
-    rx660_pos = $P10."pos"()
-.annotate "line", 307
+    rx680_cur."!cursor_pos"(rx680_pos)
+    $P10 = rx680_cur."ws"()
+    unless $P10, rx680_fail
+    rx680_pos = $P10."pos"()
+.annotate "line", 317
   # rx subrule "newpad" subtype=method negate=
-    rx660_cur."!cursor_pos"(rx660_pos)
-    $P10 = rx660_cur."newpad"()
-    unless $P10, rx660_fail
-    rx660_pos = $P10."pos"()
-  # rx subrule "ws" subtype=method negate=
-    rx660_cur."!cursor_pos"(rx660_pos)
-    $P10 = rx660_cur."ws"()
-    unless $P10, rx660_fail
-    rx660_pos = $P10."pos"()
-.annotate "line", 308
-  # rx rxquantr681 ** 0..1
-    set_addr $I686, rxquantr681_done
-    rx660_cur."!mark_push"(0, rx660_pos, $I686)
-  rxquantr681_loop:
-  # rx subrule "ws" subtype=method negate=
-    rx660_cur."!cursor_pos"(rx660_pos)
-    $P10 = rx660_cur."ws"()
-    unless $P10, rx660_fail
-    rx660_pos = $P10."pos"()
+    rx680_cur."!cursor_pos"(rx680_pos)
+    $P10 = rx680_cur."newpad"()
+    unless $P10, rx680_fail
+    rx680_pos = $P10."pos"()
+  # rx subrule "ws" subtype=method negate=
+    rx680_cur."!cursor_pos"(rx680_pos)
+    $P10 = rx680_cur."ws"()
+    unless $P10, rx680_fail
+    rx680_pos = $P10."pos"()
+.annotate "line", 318
+  # rx rxquantr701 ** 0..1
+    set_addr $I706, rxquantr701_done
+    rx680_cur."!mark_push"(0, rx680_pos, $I706)
+  rxquantr701_loop:
+  # rx subrule "ws" subtype=method negate=
+    rx680_cur."!cursor_pos"(rx680_pos)
+    $P10 = rx680_cur."ws"()
+    unless $P10, rx680_fail
+    rx680_pos = $P10."pos"()
   # rx literal  "("
-    add $I11, rx660_pos, 1
-    gt $I11, rx660_eos, rx660_fail
-    sub $I11, rx660_pos, rx660_off
-    substr $S10, rx660_tgt, $I11, 1
-    ne $S10, "(", rx660_fail
-    add rx660_pos, 1
-  # rx subrule "ws" subtype=method negate=
-    rx660_cur."!cursor_pos"(rx660_pos)
-    $P10 = rx660_cur."ws"()
-    unless $P10, rx660_fail
-    rx660_pos = $P10."pos"()
+    add $I11, rx680_pos, 1
+    gt $I11, rx680_eos, rx680_fail
+    sub $I11, rx680_pos, rx680_off
+    substr $S10, rx680_tgt, $I11, 1
+    ne $S10, "(", rx680_fail
+    add rx680_pos, 1
+  # rx subrule "ws" subtype=method negate=
+    rx680_cur."!cursor_pos"(rx680_pos)
+    $P10 = rx680_cur."ws"()
+    unless $P10, rx680_fail
+    rx680_pos = $P10."pos"()
   # rx subrule "signature" subtype=capture negate=
-    rx660_cur."!cursor_pos"(rx660_pos)
-    $P10 = rx660_cur."signature"()
-    unless $P10, rx660_fail
-    rx660_cur."!mark_push"(0, -1, 0, $P10)
+    rx680_cur."!cursor_pos"(rx680_pos)
+    $P10 = rx680_cur."signature"()
+    unless $P10, rx680_fail
+    rx680_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("signature")
-    rx660_pos = $P10."pos"()
+    rx680_pos = $P10."pos"()
   # rx subrule "ws" subtype=method negate=
-    rx660_cur."!cursor_pos"(rx660_pos)
-    $P10 = rx660_cur."ws"()
-    unless $P10, rx660_fail
-    rx660_pos = $P10."pos"()
+    rx680_cur."!cursor_pos"(rx680_pos)
+    $P10 = rx680_cur."ws"()
+    unless $P10, rx680_fail
+    rx680_pos = $P10."pos"()
   # rx literal  ")"
-    add $I11, rx660_pos, 1
-    gt $I11, rx660_eos, rx660_fail
-    sub $I11, rx660_pos, rx660_off
-    substr $S10, rx660_tgt, $I11, 1
-    ne $S10, ")", rx660_fail
-    add rx660_pos, 1
-  # rx subrule "ws" subtype=method negate=
-    rx660_cur."!cursor_pos"(rx660_pos)
-    $P10 = rx660_cur."ws"()
-    unless $P10, rx660_fail
-    rx660_pos = $P10."pos"()
-    (rx660_rep) = rx660_cur."!mark_commit"($I686)
-  rxquantr681_done:
-  # rx subrule "ws" subtype=method negate=
-    rx660_cur."!cursor_pos"(rx660_pos)
-    $P10 = rx660_cur."ws"()
-    unless $P10, rx660_fail
-    rx660_pos = $P10."pos"()
-.annotate "line", 309
+    add $I11, rx680_pos, 1
+    gt $I11, rx680_eos, rx680_fail
+    sub $I11, rx680_pos, rx680_off
+    substr $S10, rx680_tgt, $I11, 1
+    ne $S10, ")", rx680_fail
+    add rx680_pos, 1
+  # rx subrule "ws" subtype=method negate=
+    rx680_cur."!cursor_pos"(rx680_pos)
+    $P10 = rx680_cur."ws"()
+    unless $P10, rx680_fail
+    rx680_pos = $P10."pos"()
+    (rx680_rep) = rx680_cur."!mark_commit"($I706)
+  rxquantr701_done:
+  # rx subrule "ws" subtype=method negate=
+    rx680_cur."!cursor_pos"(rx680_pos)
+    $P10 = rx680_cur."ws"()
+    unless $P10, rx680_fail
+    rx680_pos = $P10."pos"()
+.annotate "line", 319
   # rx reduce name="regex_declarator" key="open"
-    rx660_cur."!cursor_pos"(rx660_pos)
-    rx660_cur."!reduce"("regex_declarator", "open")
+    rx680_cur."!cursor_pos"(rx680_pos)
+    rx680_cur."!reduce"("regex_declarator", "open")
   # rx subrule "ws" subtype=method negate=
-    rx660_cur."!cursor_pos"(rx660_pos)
-    $P10 = rx660_cur."ws"()
-    unless $P10, rx660_fail
-    rx660_pos = $P10."pos"()
-.annotate "line", 310
+    rx680_cur."!cursor_pos"(rx680_pos)
+    $P10 = rx680_cur."ws"()
+    unless $P10, rx680_fail
+    rx680_pos = $P10."pos"()
+.annotate "line", 320
   # rx literal  "{"
-    add $I11, rx660_pos, 1
-    gt $I11, rx660_eos, rx660_fail
-    sub $I11, rx660_pos, rx660_off
-    substr $S10, rx660_tgt, $I11, 1
-    ne $S10, "{", rx660_fail
-    add rx660_pos, 1
+    add $I11, rx680_pos, 1
+    gt $I11, rx680_eos, rx680_fail
+    sub $I11, rx680_pos, rx680_off
+    substr $S10, rx680_tgt, $I11, 1
+    ne $S10, "{", rx680_fail
+    add rx680_pos, 1
   # rx subrule "LANG" subtype=capture negate=
-    rx660_cur."!cursor_pos"(rx660_pos)
-    $P10 = rx660_cur."LANG"("Regex", "nibbler")
-    unless $P10, rx660_fail
-    rx660_cur."!mark_push"(0, -1, 0, $P10)
+    rx680_cur."!cursor_pos"(rx680_pos)
+    $P10 = rx680_cur."LANG"("Regex", "nibbler")
+    unless $P10, rx680_fail
+    rx680_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("p6regex")
-    rx660_pos = $P10."pos"()
+    rx680_pos = $P10."pos"()
   # rx literal  "}"
-    add $I11, rx660_pos, 1
-    gt $I11, rx660_eos, rx660_fail
-    sub $I11, rx660_pos, rx660_off
-    substr $S10, rx660_tgt, $I11, 1
-    ne $S10, "}", rx660_fail
-    add rx660_pos, 1
+    add $I11, rx680_pos, 1
+    gt $I11, rx680_eos, rx680_fail
+    sub $I11, rx680_pos, rx680_off
+    substr $S10, rx680_tgt, $I11, 1
+    ne $S10, "}", rx680_fail
+    add rx680_pos, 1
   # rx subrule "ENDSTMT" subtype=zerowidth negate=
-    rx660_cur."!cursor_pos"(rx660_pos)
-    $P10 = rx660_cur."ENDSTMT"()
-    unless $P10, rx660_fail
-  # rx subrule "ws" subtype=method negate=
-    rx660_cur."!cursor_pos"(rx660_pos)
-    $P10 = rx660_cur."ws"()
-    unless $P10, rx660_fail
-    rx660_pos = $P10."pos"()
-  alt665_end:
-.annotate "line", 311
+    rx680_cur."!cursor_pos"(rx680_pos)
+    $P10 = rx680_cur."ENDSTMT"()
+    unless $P10, rx680_fail
+  # rx subrule "ws" subtype=method negate=
+    rx680_cur."!cursor_pos"(rx680_pos)
+    $P10 = rx680_cur."ws"()
+    unless $P10, rx680_fail
+    rx680_pos = $P10."pos"()
+  alt685_end:
+.annotate "line", 321
   # rx subrule "ws" subtype=method negate=
-    rx660_cur."!cursor_pos"(rx660_pos)
-    $P10 = rx660_cur."ws"()
-    unless $P10, rx660_fail
-    rx660_pos = $P10."pos"()
-.annotate "line", 300
+    rx680_cur."!cursor_pos"(rx680_pos)
+    $P10 = rx680_cur."ws"()
+    unless $P10, rx680_fail
+    rx680_pos = $P10."pos"()
+.annotate "line", 310
   # rx pass
-    rx660_cur."!cursor_pass"(rx660_pos, "regex_declarator")
-    rx660_cur."!cursor_debug"("PASS  ", "regex_declarator", " at pos=", rx660_pos)
-    .return (rx660_cur)
-  rx660_fail:
+    rx680_cur."!cursor_pass"(rx680_pos, "regex_declarator")
+    rx680_cur."!cursor_debug"("PASS  ", "regex_declarator", " at pos=", rx680_pos)
+    .return (rx680_cur)
+  rx680_fail:
 .annotate "line", 4
-    (rx660_rep, rx660_pos, $I10, $P10) = rx660_cur."!mark_fail"(0)
-    lt rx660_pos, -1, rx660_done
-    eq rx660_pos, -1, rx660_fail
+    (rx680_rep, rx680_pos, $I10, $P10) = rx680_cur."!mark_fail"(0)
+    lt rx680_pos, -1, rx680_done
+    eq rx680_pos, -1, rx680_fail
     jump $I10
-  rx660_done:
-    rx660_cur."!cursor_fail"()
-    rx660_cur."!cursor_debug"("FAIL  ", "regex_declarator")
-    .return (rx660_cur)
+  rx680_done:
+    rx680_cur."!cursor_fail"()
+    rx680_cur."!cursor_debug"("FAIL  ", "regex_declarator")
+    .return (rx680_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__regex_declarator"  :subid("156_1259103982.97329") :method
+.sub "!PREFIX__regex_declarator"  :subid("160_1259177761.22934") :method
 .annotate "line", 4
-    new $P662, "ResizablePMCArray"
-    push $P662, ""
-    .return ($P662)
+    new $P682, "ResizablePMCArray"
+    push $P682, ""
+    .return ($P682)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "dotty"  :subid("157_1259103982.97329") :method :outer("11_1259103982.97329")
+.sub "dotty"  :subid("161_1259177761.22934") :method :outer("11_1259177761.22934")
 .annotate "line", 4
-    .local string rx692_tgt
-    .local int rx692_pos
-    .local int rx692_off
-    .local int rx692_eos
-    .local int rx692_rep
-    .local pmc rx692_cur
-    (rx692_cur, rx692_pos, rx692_tgt) = self."!cursor_start"()
-    rx692_cur."!cursor_debug"("START ", "dotty")
-    rx692_cur."!cursor_caparray"("args")
-    .lex unicode:"$\x{a2}", rx692_cur
-    .local pmc match
-    .lex "$/", match
-    length rx692_eos, rx692_tgt
-    set rx692_off, 0
-    lt rx692_pos, 2, rx692_start
-    sub rx692_off, rx692_pos, 1
-    substr rx692_tgt, rx692_tgt, rx692_off
-  rx692_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan696_done
-    goto rxscan696_scan
-  rxscan696_loop:
-    ($P10) = rx692_cur."from"()
-    inc $P10
-    set rx692_pos, $P10
-    ge rx692_pos, rx692_eos, rxscan696_done
-  rxscan696_scan:
-    set_addr $I10, rxscan696_loop
-    rx692_cur."!mark_push"(0, rx692_pos, $I10)
-  rxscan696_done:
-.annotate "line", 315
+    .local string rx712_tgt
+    .local int rx712_pos
+    .local int rx712_off
+    .local int rx712_eos
+    .local int rx712_rep
+    .local pmc rx712_cur
+    (rx712_cur, rx712_pos, rx712_tgt) = self."!cursor_start"()
+    rx712_cur."!cursor_debug"("START ", "dotty")
+    rx712_cur."!cursor_caparray"("args")
+    .lex unicode:"$\x{a2}", rx712_cur
+    .local pmc match
+    .lex "$/", match
+    length rx712_eos, rx712_tgt
+    set rx712_off, 0
+    lt rx712_pos, 2, rx712_start
+    sub rx712_off, rx712_pos, 1
+    substr rx712_tgt, rx712_tgt, rx712_off
+  rx712_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan716_done
+    goto rxscan716_scan
+  rxscan716_loop:
+    ($P10) = rx712_cur."from"()
+    inc $P10
+    set rx712_pos, $P10
+    ge rx712_pos, rx712_eos, rxscan716_done
+  rxscan716_scan:
+    set_addr $I10, rxscan716_loop
+    rx712_cur."!mark_push"(0, rx712_pos, $I10)
+  rxscan716_done:
+.annotate "line", 325
   # rx literal  "."
-    add $I11, rx692_pos, 1
-    gt $I11, rx692_eos, rx692_fail
-    sub $I11, rx692_pos, rx692_off
-    substr $S10, rx692_tgt, $I11, 1
-    ne $S10, ".", rx692_fail
-    add rx692_pos, 1
-  alt697_0:
-.annotate "line", 316
-    set_addr $I10, alt697_1
-    rx692_cur."!mark_push"(0, rx692_pos, $I10)
+    add $I11, rx712_pos, 1
+    gt $I11, rx712_eos, rx712_fail
+    sub $I11, rx712_pos, rx712_off
+    substr $S10, rx712_tgt, $I11, 1
+    ne $S10, ".", rx712_fail
+    add rx712_pos, 1
+  alt717_0:
+.annotate "line", 326
+    set_addr $I10, alt717_1
+    rx712_cur."!mark_push"(0, rx712_pos, $I10)
   # rx subrule "identifier" subtype=capture negate=
-    rx692_cur."!cursor_pos"(rx692_pos)
-    $P10 = rx692_cur."identifier"()
-    unless $P10, rx692_fail
-    rx692_cur."!mark_push"(0, -1, 0, $P10)
+    rx712_cur."!cursor_pos"(rx712_pos)
+    $P10 = rx712_cur."identifier"()
+    unless $P10, rx712_fail
+    rx712_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("longname=identifier")
-    rx692_pos = $P10."pos"()
-    goto alt697_end
-  alt697_1:
-.annotate "line", 317
+    rx712_pos = $P10."pos"()
+    goto alt717_end
+  alt717_1:
+.annotate "line", 327
   # rx enumcharlist negate=0 zerowidth
-    ge rx692_pos, rx692_eos, rx692_fail
-    sub $I10, rx692_pos, rx692_off
-    substr $S10, rx692_tgt, $I10, 1
+    ge rx712_pos, rx712_eos, rx712_fail
+    sub $I10, rx712_pos, rx712_off
+    substr $S10, rx712_tgt, $I10, 1
     index $I11, "'\"", $S10
-    lt $I11, 0, rx692_fail
+    lt $I11, 0, rx712_fail
   # rx subrule "quote" subtype=capture negate=
-    rx692_cur."!cursor_pos"(rx692_pos)
-    $P10 = rx692_cur."quote"()
-    unless $P10, rx692_fail
-    rx692_cur."!mark_push"(0, -1, 0, $P10)
+    rx712_cur."!cursor_pos"(rx712_pos)
+    $P10 = rx712_cur."quote"()
+    unless $P10, rx712_fail
+    rx712_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("quote")
-    rx692_pos = $P10."pos"()
-  alt698_0:
-.annotate "line", 318
-    set_addr $I10, alt698_1
-    rx692_cur."!mark_push"(0, rx692_pos, $I10)
+    rx712_pos = $P10."pos"()
+  alt718_0:
+.annotate "line", 328
+    set_addr $I10, alt718_1
+    rx712_cur."!mark_push"(0, rx712_pos, $I10)
   # rx enumcharlist negate=0 zerowidth
-    ge rx692_pos, rx692_eos, rx692_fail
-    sub $I10, rx692_pos, rx692_off
-    substr $S10, rx692_tgt, $I10, 1
+    ge rx712_pos, rx712_eos, rx712_fail
+    sub $I10, rx712_pos, rx712_off
+    substr $S10, rx712_tgt, $I10, 1
     index $I11, "(", $S10
-    lt $I11, 0, rx692_fail
-    goto alt698_end
-  alt698_1:
+    lt $I11, 0, rx712_fail
+    goto alt718_end
+  alt718_1:
   # rx subrule "panic" subtype=method negate=
-    rx692_cur."!cursor_pos"(rx692_pos)
-    $P10 = rx692_cur."panic"("Quoted method name requires parenthesized arguments")
-    unless $P10, rx692_fail
-    rx692_pos = $P10."pos"()
-  alt698_end:
-  alt697_end:
-.annotate "line", 324
-  # rx rxquantr699 ** 0..1
-    set_addr $I701, rxquantr699_done
-    rx692_cur."!mark_push"(0, rx692_pos, $I701)
-  rxquantr699_loop:
-  alt700_0:
-.annotate "line", 321
-    set_addr $I10, alt700_1
-    rx692_cur."!mark_push"(0, rx692_pos, $I10)
-.annotate "line", 322
+    rx712_cur."!cursor_pos"(rx712_pos)
+    $P10 = rx712_cur."panic"("Quoted method name requires parenthesized arguments")
+    unless $P10, rx712_fail
+    rx712_pos = $P10."pos"()
+  alt718_end:
+  alt717_end:
+.annotate "line", 334
+  # rx rxquantr719 ** 0..1
+    set_addr $I721, rxquantr719_done
+    rx712_cur."!mark_push"(0, rx712_pos, $I721)
+  rxquantr719_loop:
+  alt720_0:
+.annotate "line", 331
+    set_addr $I10, alt720_1
+    rx712_cur."!mark_push"(0, rx712_pos, $I10)
+.annotate "line", 332
   # rx enumcharlist negate=0 zerowidth
-    ge rx692_pos, rx692_eos, rx692_fail
-    sub $I10, rx692_pos, rx692_off
-    substr $S10, rx692_tgt, $I10, 1
+    ge rx712_pos, rx712_eos, rx712_fail
+    sub $I10, rx712_pos, rx712_off
+    substr $S10, rx712_tgt, $I10, 1
     index $I11, "(", $S10
-    lt $I11, 0, rx692_fail
+    lt $I11, 0, rx712_fail
   # rx subrule "args" subtype=capture negate=
-    rx692_cur."!cursor_pos"(rx692_pos)
-    $P10 = rx692_cur."args"()
-    unless $P10, rx692_fail
-    rx692_cur."!mark_push"(0, -1, 0, $P10)
+    rx712_cur."!cursor_pos"(rx712_pos)
+    $P10 = rx712_cur."args"()
+    unless $P10, rx712_fail
+    rx712_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("args")
-    rx692_pos = $P10."pos"()
-    goto alt700_end
-  alt700_1:
-.annotate "line", 323
+    rx712_pos = $P10."pos"()
+    goto alt720_end
+  alt720_1:
+.annotate "line", 333
   # rx literal  ":"
-    add $I11, rx692_pos, 1
-    gt $I11, rx692_eos, rx692_fail
-    sub $I11, rx692_pos, rx692_off
-    substr $S10, rx692_tgt, $I11, 1
-    ne $S10, ":", rx692_fail
-    add rx692_pos, 1
+    add $I11, rx712_pos, 1
+    gt $I11, rx712_eos, rx712_fail
+    sub $I11, rx712_pos, rx712_off
+    substr $S10, rx712_tgt, $I11, 1
+    ne $S10, ":", rx712_fail
+    add rx712_pos, 1
   # rx charclass s
-    ge rx692_pos, rx692_eos, rx692_fail
-    sub $I10, rx692_pos, rx692_off
-    is_cclass $I11, 32, rx692_tgt, $I10
-    unless $I11, rx692_fail
-    inc rx692_pos
+    ge rx712_pos, rx712_eos, rx712_fail
+    sub $I10, rx712_pos, rx712_off
+    is_cclass $I11, 32, rx712_tgt, $I10
+    unless $I11, rx712_fail
+    inc rx712_pos
   # rx subrule "arglist" subtype=capture negate=
-    rx692_cur."!cursor_pos"(rx692_pos)
-    $P10 = rx692_cur."arglist"()
-    unless $P10, rx692_fail
-    rx692_cur."!mark_push"(0, -1, 0, $P10)
+    rx712_cur."!cursor_pos"(rx712_pos)
+    $P10 = rx712_cur."arglist"()
+    unless $P10, rx712_fail
+    rx712_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("args")
-    rx692_pos = $P10."pos"()
-  alt700_end:
+    rx712_pos = $P10."pos"()
+  alt720_end:
+.annotate "line", 334
+    (rx712_rep) = rx712_cur."!mark_commit"($I721)
+  rxquantr719_done:
 .annotate "line", 324
-    (rx692_rep) = rx692_cur."!mark_commit"($I701)
-  rxquantr699_done:
-.annotate "line", 314
-  # rx pass
-    rx692_cur."!cursor_pass"(rx692_pos, "dotty")
-    rx692_cur."!cursor_debug"("PASS  ", "dotty", " at pos=", rx692_pos)
-    .return (rx692_cur)
-  rx692_fail:
-.annotate "line", 4
-    (rx692_rep, rx692_pos, $I10, $P10) = rx692_cur."!mark_fail"(0)
-    lt rx692_pos, -1, rx692_done
-    eq rx692_pos, -1, rx692_fail
-    jump $I10
-  rx692_done:
-    rx692_cur."!cursor_fail"()
-    rx692_cur."!cursor_debug"("FAIL  ", "dotty")
-    .return (rx692_cur)
-    .return ()
-.end
-
-
-.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__dotty"  :subid("158_1259103982.97329") :method
-.annotate "line", 4
-    $P694 = self."!PREFIX__!subrule"("longname=identifier", ".")
-    new $P695, "ResizablePMCArray"
-    push $P695, "'"
-    push $P695, "\""
-    push $P695, $P694
-    .return ($P695)
-.end
-
-
-.namespace ["NQP";"Grammar"]
-.sub "term"  :subid("159_1259103982.97329") :method
-.annotate "line", 328
-    $P703 = self."!protoregex"("term")
-    .return ($P703)
-.end
-
-
-.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__term"  :subid("160_1259103982.97329") :method
-.annotate "line", 328
-    $P705 = self."!PREFIX__!protoregex"("term")
-    .return ($P705)
-.end
-
-
-.namespace ["NQP";"Grammar"]
-.sub "term:sym<self>"  :subid("161_1259103982.97329") :method :outer("11_1259103982.97329")
-.annotate "line", 4
-    .local string rx707_tgt
-    .local int rx707_pos
-    .local int rx707_off
-    .local int rx707_eos
-    .local int rx707_rep
-    .local pmc rx707_cur
-    (rx707_cur, rx707_pos, rx707_tgt) = self."!cursor_start"()
-    rx707_cur."!cursor_debug"("START ", "term:sym<self>")
-    .lex unicode:"$\x{a2}", rx707_cur
-    .local pmc match
-    .lex "$/", match
-    length rx707_eos, rx707_tgt
-    set rx707_off, 0
-    lt rx707_pos, 2, rx707_start
-    sub rx707_off, rx707_pos, 1
-    substr rx707_tgt, rx707_tgt, rx707_off
-  rx707_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan710_done
-    goto rxscan710_scan
-  rxscan710_loop:
-    ($P10) = rx707_cur."from"()
-    inc $P10
-    set rx707_pos, $P10
-    ge rx707_pos, rx707_eos, rxscan710_done
-  rxscan710_scan:
-    set_addr $I10, rxscan710_loop
-    rx707_cur."!mark_push"(0, rx707_pos, $I10)
-  rxscan710_done:
-.annotate "line", 330
-  # rx subcapture "sym"
-    set_addr $I10, rxcap_711_fail
-    rx707_cur."!mark_push"(0, rx707_pos, $I10)
-  # rx literal  "self"
-    add $I11, rx707_pos, 4
-    gt $I11, rx707_eos, rx707_fail
-    sub $I11, rx707_pos, rx707_off
-    substr $S10, rx707_tgt, $I11, 4
-    ne $S10, "self", rx707_fail
-    add rx707_pos, 4
-    set_addr $I10, rxcap_711_fail
-    ($I12, $I11) = rx707_cur."!mark_peek"($I10)
-    rx707_cur."!cursor_pos"($I11)
-    ($P10) = rx707_cur."!cursor_start"()
-    $P10."!cursor_pass"(rx707_pos, "")
-    rx707_cur."!mark_push"(0, -1, 0, $P10)
-    $P10."!cursor_names"("sym")
-    goto rxcap_711_done
-  rxcap_711_fail:
-    goto rx707_fail
-  rxcap_711_done:
-  # rxanchor rwb
-    le rx707_pos, 0, rx707_fail
-    sub $I10, rx707_pos, rx707_off
-    is_cclass $I11, 8192, rx707_tgt, $I10
-    if $I11, rx707_fail
-    dec $I10
-    is_cclass $I11, 8192, rx707_tgt, $I10
-    unless $I11, rx707_fail
-  # rx pass
-    rx707_cur."!cursor_pass"(rx707_pos, "term:sym<self>")
-    rx707_cur."!cursor_debug"("PASS  ", "term:sym<self>", " at pos=", rx707_pos)
-    .return (rx707_cur)
-  rx707_fail:
-.annotate "line", 4
-    (rx707_rep, rx707_pos, $I10, $P10) = rx707_cur."!mark_fail"(0)
-    lt rx707_pos, -1, rx707_done
-    eq rx707_pos, -1, rx707_fail
-    jump $I10
-  rx707_done:
-    rx707_cur."!cursor_fail"()
-    rx707_cur."!cursor_debug"("FAIL  ", "term:sym<self>")
-    .return (rx707_cur)
-    .return ()
-.end
-
-
-.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__term:sym<self>"  :subid("162_1259103982.97329") :method
-.annotate "line", 4
-    new $P709, "ResizablePMCArray"
-    push $P709, "self"
-    .return ($P709)
-.end
-
-
-.namespace ["NQP";"Grammar"]
-.sub "term:sym<identifier>"  :subid("163_1259103982.97329") :method :outer("11_1259103982.97329")
-.annotate "line", 4
-    .local string rx713_tgt
-    .local int rx713_pos
-    .local int rx713_off
-    .local int rx713_eos
-    .local int rx713_rep
-    .local pmc rx713_cur
-    (rx713_cur, rx713_pos, rx713_tgt) = self."!cursor_start"()
-    rx713_cur."!cursor_debug"("START ", "term:sym<identifier>")
-    .lex unicode:"$\x{a2}", rx713_cur
-    .local pmc match
-    .lex "$/", match
-    length rx713_eos, rx713_tgt
-    set rx713_off, 0
-    lt rx713_pos, 2, rx713_start
-    sub rx713_off, rx713_pos, 1
-    substr rx713_tgt, rx713_tgt, rx713_off
-  rx713_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan717_done
-    goto rxscan717_scan
-  rxscan717_loop:
-    ($P10) = rx713_cur."from"()
-    inc $P10
-    set rx713_pos, $P10
-    ge rx713_pos, rx713_eos, rxscan717_done
-  rxscan717_scan:
-    set_addr $I10, rxscan717_loop
-    rx713_cur."!mark_push"(0, rx713_pos, $I10)
-  rxscan717_done:
-.annotate "line", 333
-  # rx subrule "identifier" subtype=capture negate=
-    rx713_cur."!cursor_pos"(rx713_pos)
-    $P10 = rx713_cur."identifier"()
-    unless $P10, rx713_fail
-    rx713_cur."!mark_push"(0, -1, 0, $P10)
-    $P10."!cursor_names"("identifier")
-    rx713_pos = $P10."pos"()
-  # rx enumcharlist negate=0 zerowidth
-    ge rx713_pos, rx713_eos, rx713_fail
-    sub $I10, rx713_pos, rx713_off
-    substr $S10, rx713_tgt, $I10, 1
-    index $I11, "(", $S10
-    lt $I11, 0, rx713_fail
-  # rx subrule "args" subtype=capture negate=
-    rx713_cur."!cursor_pos"(rx713_pos)
-    $P10 = rx713_cur."args"()
-    unless $P10, rx713_fail
-    rx713_cur."!mark_push"(0, -1, 0, $P10)
-    $P10."!cursor_names"("args")
-    rx713_pos = $P10."pos"()
-.annotate "line", 332
   # rx pass
-    rx713_cur."!cursor_pass"(rx713_pos, "term:sym<identifier>")
-    rx713_cur."!cursor_debug"("PASS  ", "term:sym<identifier>", " at pos=", rx713_pos)
-    .return (rx713_cur)
-  rx713_fail:
+    rx712_cur."!cursor_pass"(rx712_pos, "dotty")
+    rx712_cur."!cursor_debug"("PASS  ", "dotty", " at pos=", rx712_pos)
+    .return (rx712_cur)
+  rx712_fail:
 .annotate "line", 4
-    (rx713_rep, rx713_pos, $I10, $P10) = rx713_cur."!mark_fail"(0)
-    lt rx713_pos, -1, rx713_done
-    eq rx713_pos, -1, rx713_fail
+    (rx712_rep, rx712_pos, $I10, $P10) = rx712_cur."!mark_fail"(0)
+    lt rx712_pos, -1, rx712_done
+    eq rx712_pos, -1, rx712_fail
     jump $I10
-  rx713_done:
-    rx713_cur."!cursor_fail"()
-    rx713_cur."!cursor_debug"("FAIL  ", "term:sym<identifier>")
-    .return (rx713_cur)
+  rx712_done:
+    rx712_cur."!cursor_fail"()
+    rx712_cur."!cursor_debug"("FAIL  ", "dotty")
+    .return (rx712_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__term:sym<identifier>"  :subid("164_1259103982.97329") :method
+.sub "!PREFIX__dotty"  :subid("162_1259177761.22934") :method
 .annotate "line", 4
-    $P715 = self."!PREFIX__!subrule"("identifier", "")
-    new $P716, "ResizablePMCArray"
-    push $P716, $P715
-    .return ($P716)
+    $P714 = self."!PREFIX__!subrule"("longname=identifier", ".")
+    new $P715, "ResizablePMCArray"
+    push $P715, "'"
+    push $P715, "\""
+    push $P715, $P714
+    .return ($P715)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "term:sym<name>"  :subid("165_1259103982.97329") :method :outer("11_1259103982.97329")
-.annotate "line", 4
-    .local string rx719_tgt
-    .local int rx719_pos
-    .local int rx719_off
-    .local int rx719_eos
-    .local int rx719_rep
-    .local pmc rx719_cur
-    (rx719_cur, rx719_pos, rx719_tgt) = self."!cursor_start"()
-    rx719_cur."!cursor_debug"("START ", "term:sym<name>")
-    rx719_cur."!cursor_caparray"("args")
-    .lex unicode:"$\x{a2}", rx719_cur
-    .local pmc match
-    .lex "$/", match
-    length rx719_eos, rx719_tgt
-    set rx719_off, 0
-    lt rx719_pos, 2, rx719_start
-    sub rx719_off, rx719_pos, 1
-    substr rx719_tgt, rx719_tgt, rx719_off
-  rx719_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan723_done
-    goto rxscan723_scan
-  rxscan723_loop:
-    ($P10) = rx719_cur."from"()
-    inc $P10
-    set rx719_pos, $P10
-    ge rx719_pos, rx719_eos, rxscan723_done
-  rxscan723_scan:
-    set_addr $I10, rxscan723_loop
-    rx719_cur."!mark_push"(0, rx719_pos, $I10)
-  rxscan723_done:
-.annotate "line", 337
-  # rx subrule "name" subtype=capture negate=
-    rx719_cur."!cursor_pos"(rx719_pos)
-    $P10 = rx719_cur."name"()
-    unless $P10, rx719_fail
-    rx719_cur."!mark_push"(0, -1, 0, $P10)
-    $P10."!cursor_names"("name")
-    rx719_pos = $P10."pos"()
-  # rx rxquantr724 ** 0..1
-    set_addr $I725, rxquantr724_done
-    rx719_cur."!mark_push"(0, rx719_pos, $I725)
-  rxquantr724_loop:
-  # rx subrule "args" subtype=capture negate=
-    rx719_cur."!cursor_pos"(rx719_pos)
-    $P10 = rx719_cur."args"()
-    unless $P10, rx719_fail
-    rx719_cur."!mark_push"(0, -1, 0, $P10)
-    $P10."!cursor_names"("args")
-    rx719_pos = $P10."pos"()
-    (rx719_rep) = rx719_cur."!mark_commit"($I725)
-  rxquantr724_done:
-.annotate "line", 336
-  # rx pass
-    rx719_cur."!cursor_pass"(rx719_pos, "term:sym<name>")
-    rx719_cur."!cursor_debug"("PASS  ", "term:sym<name>", " at pos=", rx719_pos)
-    .return (rx719_cur)
-  rx719_fail:
-.annotate "line", 4
-    (rx719_rep, rx719_pos, $I10, $P10) = rx719_cur."!mark_fail"(0)
-    lt rx719_pos, -1, rx719_done
-    eq rx719_pos, -1, rx719_fail
-    jump $I10
-  rx719_done:
-    rx719_cur."!cursor_fail"()
-    rx719_cur."!cursor_debug"("FAIL  ", "term:sym<name>")
-    .return (rx719_cur)
-    .return ()
+.sub "term"  :subid("163_1259177761.22934") :method
+.annotate "line", 338
+    $P723 = self."!protoregex"("term")
+    .return ($P723)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__term:sym<name>"  :subid("166_1259103982.97329") :method
-.annotate "line", 4
-    $P721 = self."!PREFIX__!subrule"("name", "")
-    new $P722, "ResizablePMCArray"
-    push $P722, $P721
-    .return ($P722)
+.sub "!PREFIX__term"  :subid("164_1259177761.22934") :method
+.annotate "line", 338
+    $P725 = self."!PREFIX__!protoregex"("term")
+    .return ($P725)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "term:sym<pir::op>"  :subid("167_1259103982.97329") :method :outer("11_1259103982.97329")
+.sub "term:sym<self>"  :subid("165_1259177761.22934") :method :outer("11_1259177761.22934")
 .annotate "line", 4
     .local string rx727_tgt
     .local int rx727_pos
@@ -8564,8 +8530,7 @@
     .local int rx727_rep
     .local pmc rx727_cur
     (rx727_cur, rx727_pos, rx727_tgt) = self."!cursor_start"()
-    rx727_cur."!cursor_debug"("START ", "term:sym<pir::op>")
-    rx727_cur."!cursor_caparray"("args")
+    rx727_cur."!cursor_debug"("START ", "term:sym<self>")
     .lex unicode:"$\x{a2}", rx727_cur
     .local pmc match
     .lex "$/", match
@@ -8587,51 +8552,39 @@
     set_addr $I10, rxscan730_loop
     rx727_cur."!mark_push"(0, rx727_pos, $I10)
   rxscan730_done:
-.annotate "line", 341
-  # rx literal  "pir::"
-    add $I11, rx727_pos, 5
-    gt $I11, rx727_eos, rx727_fail
-    sub $I11, rx727_pos, rx727_off
-    substr $S10, rx727_tgt, $I11, 5
-    ne $S10, "pir::", rx727_fail
-    add rx727_pos, 5
-  # rx subcapture "op"
+.annotate "line", 340
+  # rx subcapture "sym"
     set_addr $I10, rxcap_731_fail
     rx727_cur."!mark_push"(0, rx727_pos, $I10)
-  # rx charclass_q w r 1..-1
-    sub $I10, rx727_pos, rx727_off
-    find_not_cclass $I11, 8192, rx727_tgt, $I10, rx727_eos
-    add $I12, $I10, 1
-    lt $I11, $I12, rx727_fail
-    add rx727_pos, rx727_off, $I11
+  # rx literal  "self"
+    add $I11, rx727_pos, 4
+    gt $I11, rx727_eos, rx727_fail
+    sub $I11, rx727_pos, rx727_off
+    substr $S10, rx727_tgt, $I11, 4
+    ne $S10, "self", rx727_fail
+    add rx727_pos, 4
     set_addr $I10, rxcap_731_fail
     ($I12, $I11) = rx727_cur."!mark_peek"($I10)
     rx727_cur."!cursor_pos"($I11)
     ($P10) = rx727_cur."!cursor_start"()
     $P10."!cursor_pass"(rx727_pos, "")
     rx727_cur."!mark_push"(0, -1, 0, $P10)
-    $P10."!cursor_names"("op")
+    $P10."!cursor_names"("sym")
     goto rxcap_731_done
   rxcap_731_fail:
     goto rx727_fail
   rxcap_731_done:
-  # rx rxquantr732 ** 0..1
-    set_addr $I733, rxquantr732_done
-    rx727_cur."!mark_push"(0, rx727_pos, $I733)
-  rxquantr732_loop:
-  # rx subrule "args" subtype=capture negate=
-    rx727_cur."!cursor_pos"(rx727_pos)
-    $P10 = rx727_cur."args"()
-    unless $P10, rx727_fail
-    rx727_cur."!mark_push"(0, -1, 0, $P10)
-    $P10."!cursor_names"("args")
-    rx727_pos = $P10."pos"()
-    (rx727_rep) = rx727_cur."!mark_commit"($I733)
-  rxquantr732_done:
-.annotate "line", 340
+  # rxanchor rwb
+    le rx727_pos, 0, rx727_fail
+    sub $I10, rx727_pos, rx727_off
+    is_cclass $I11, 8192, rx727_tgt, $I10
+    if $I11, rx727_fail
+    dec $I10
+    is_cclass $I11, 8192, rx727_tgt, $I10
+    unless $I11, rx727_fail
   # rx pass
-    rx727_cur."!cursor_pass"(rx727_pos, "term:sym<pir::op>")
-    rx727_cur."!cursor_debug"("PASS  ", "term:sym<pir::op>", " at pos=", rx727_pos)
+    rx727_cur."!cursor_pass"(rx727_pos, "term:sym<self>")
+    rx727_cur."!cursor_debug"("PASS  ", "term:sym<self>", " at pos=", rx727_pos)
     .return (rx727_cur)
   rx727_fail:
 .annotate "line", 4
@@ -8641,1616 +8594,1633 @@
     jump $I10
   rx727_done:
     rx727_cur."!cursor_fail"()
-    rx727_cur."!cursor_debug"("FAIL  ", "term:sym<pir::op>")
+    rx727_cur."!cursor_debug"("FAIL  ", "term:sym<self>")
     .return (rx727_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__term:sym<pir::op>"  :subid("168_1259103982.97329") :method
+.sub "!PREFIX__term:sym<self>"  :subid("166_1259177761.22934") :method
 .annotate "line", 4
     new $P729, "ResizablePMCArray"
-    push $P729, "pir::"
+    push $P729, "self"
     .return ($P729)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "args"  :subid("169_1259103982.97329") :method :outer("11_1259103982.97329")
+.sub "term:sym<identifier>"  :subid("167_1259177761.22934") :method :outer("11_1259177761.22934")
 .annotate "line", 4
-    .local string rx735_tgt
-    .local int rx735_pos
-    .local int rx735_off
-    .local int rx735_eos
-    .local int rx735_rep
-    .local pmc rx735_cur
-    (rx735_cur, rx735_pos, rx735_tgt) = self."!cursor_start"()
-    rx735_cur."!cursor_debug"("START ", "args")
-    .lex unicode:"$\x{a2}", rx735_cur
-    .local pmc match
-    .lex "$/", match
-    length rx735_eos, rx735_tgt
-    set rx735_off, 0
-    lt rx735_pos, 2, rx735_start
-    sub rx735_off, rx735_pos, 1
-    substr rx735_tgt, rx735_tgt, rx735_off
-  rx735_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan739_done
-    goto rxscan739_scan
-  rxscan739_loop:
-    ($P10) = rx735_cur."from"()
-    inc $P10
-    set rx735_pos, $P10
-    ge rx735_pos, rx735_eos, rxscan739_done
-  rxscan739_scan:
-    set_addr $I10, rxscan739_loop
-    rx735_cur."!mark_push"(0, rx735_pos, $I10)
-  rxscan739_done:
-.annotate "line", 345
-  # rx literal  "("
-    add $I11, rx735_pos, 1
-    gt $I11, rx735_eos, rx735_fail
-    sub $I11, rx735_pos, rx735_off
-    substr $S10, rx735_tgt, $I11, 1
-    ne $S10, "(", rx735_fail
-    add rx735_pos, 1
-  # rx subrule "arglist" subtype=capture negate=
-    rx735_cur."!cursor_pos"(rx735_pos)
-    $P10 = rx735_cur."arglist"()
-    unless $P10, rx735_fail
-    rx735_cur."!mark_push"(0, -1, 0, $P10)
-    $P10."!cursor_names"("arglist")
-    rx735_pos = $P10."pos"()
-  # rx literal  ")"
-    add $I11, rx735_pos, 1
-    gt $I11, rx735_eos, rx735_fail
-    sub $I11, rx735_pos, rx735_off
-    substr $S10, rx735_tgt, $I11, 1
-    ne $S10, ")", rx735_fail
-    add rx735_pos, 1
+    .local string rx733_tgt
+    .local int rx733_pos
+    .local int rx733_off
+    .local int rx733_eos
+    .local int rx733_rep
+    .local pmc rx733_cur
+    (rx733_cur, rx733_pos, rx733_tgt) = self."!cursor_start"()
+    rx733_cur."!cursor_debug"("START ", "term:sym<identifier>")
+    .lex unicode:"$\x{a2}", rx733_cur
+    .local pmc match
+    .lex "$/", match
+    length rx733_eos, rx733_tgt
+    set rx733_off, 0
+    lt rx733_pos, 2, rx733_start
+    sub rx733_off, rx733_pos, 1
+    substr rx733_tgt, rx733_tgt, rx733_off
+  rx733_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan737_done
+    goto rxscan737_scan
+  rxscan737_loop:
+    ($P10) = rx733_cur."from"()
+    inc $P10
+    set rx733_pos, $P10
+    ge rx733_pos, rx733_eos, rxscan737_done
+  rxscan737_scan:
+    set_addr $I10, rxscan737_loop
+    rx733_cur."!mark_push"(0, rx733_pos, $I10)
+  rxscan737_done:
+.annotate "line", 343
+  # rx subrule "identifier" subtype=capture negate=
+    rx733_cur."!cursor_pos"(rx733_pos)
+    $P10 = rx733_cur."identifier"()
+    unless $P10, rx733_fail
+    rx733_cur."!mark_push"(0, -1, 0, $P10)
+    $P10."!cursor_names"("identifier")
+    rx733_pos = $P10."pos"()
+  # rx enumcharlist negate=0 zerowidth
+    ge rx733_pos, rx733_eos, rx733_fail
+    sub $I10, rx733_pos, rx733_off
+    substr $S10, rx733_tgt, $I10, 1
+    index $I11, "(", $S10
+    lt $I11, 0, rx733_fail
+  # rx subrule "args" subtype=capture negate=
+    rx733_cur."!cursor_pos"(rx733_pos)
+    $P10 = rx733_cur."args"()
+    unless $P10, rx733_fail
+    rx733_cur."!mark_push"(0, -1, 0, $P10)
+    $P10."!cursor_names"("args")
+    rx733_pos = $P10."pos"()
+.annotate "line", 342
   # rx pass
-    rx735_cur."!cursor_pass"(rx735_pos, "args")
-    rx735_cur."!cursor_debug"("PASS  ", "args", " at pos=", rx735_pos)
-    .return (rx735_cur)
-  rx735_fail:
+    rx733_cur."!cursor_pass"(rx733_pos, "term:sym<identifier>")
+    rx733_cur."!cursor_debug"("PASS  ", "term:sym<identifier>", " at pos=", rx733_pos)
+    .return (rx733_cur)
+  rx733_fail:
 .annotate "line", 4
-    (rx735_rep, rx735_pos, $I10, $P10) = rx735_cur."!mark_fail"(0)
-    lt rx735_pos, -1, rx735_done
-    eq rx735_pos, -1, rx735_fail
+    (rx733_rep, rx733_pos, $I10, $P10) = rx733_cur."!mark_fail"(0)
+    lt rx733_pos, -1, rx733_done
+    eq rx733_pos, -1, rx733_fail
     jump $I10
-  rx735_done:
-    rx735_cur."!cursor_fail"()
-    rx735_cur."!cursor_debug"("FAIL  ", "args")
-    .return (rx735_cur)
+  rx733_done:
+    rx733_cur."!cursor_fail"()
+    rx733_cur."!cursor_debug"("FAIL  ", "term:sym<identifier>")
+    .return (rx733_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__args"  :subid("170_1259103982.97329") :method
+.sub "!PREFIX__term:sym<identifier>"  :subid("168_1259177761.22934") :method
 .annotate "line", 4
-    $P737 = self."!PREFIX__!subrule"("arglist", "(")
-    new $P738, "ResizablePMCArray"
-    push $P738, $P737
-    .return ($P738)
+    $P735 = self."!PREFIX__!subrule"("identifier", "")
+    new $P736, "ResizablePMCArray"
+    push $P736, $P735
+    .return ($P736)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "arglist"  :subid("171_1259103982.97329") :method :outer("11_1259103982.97329")
+.sub "term:sym<name>"  :subid("169_1259177761.22934") :method :outer("11_1259177761.22934")
 .annotate "line", 4
-    .local string rx741_tgt
-    .local int rx741_pos
-    .local int rx741_off
-    .local int rx741_eos
-    .local int rx741_rep
-    .local pmc rx741_cur
-    (rx741_cur, rx741_pos, rx741_tgt) = self."!cursor_start"()
-    rx741_cur."!cursor_debug"("START ", "arglist")
-    .lex unicode:"$\x{a2}", rx741_cur
+    .local string rx739_tgt
+    .local int rx739_pos
+    .local int rx739_off
+    .local int rx739_eos
+    .local int rx739_rep
+    .local pmc rx739_cur
+    (rx739_cur, rx739_pos, rx739_tgt) = self."!cursor_start"()
+    rx739_cur."!cursor_debug"("START ", "term:sym<name>")
+    rx739_cur."!cursor_caparray"("args")
+    .lex unicode:"$\x{a2}", rx739_cur
     .local pmc match
     .lex "$/", match
-    length rx741_eos, rx741_tgt
-    set rx741_off, 0
-    lt rx741_pos, 2, rx741_start
-    sub rx741_off, rx741_pos, 1
-    substr rx741_tgt, rx741_tgt, rx741_off
-  rx741_start:
+    length rx739_eos, rx739_tgt
+    set rx739_off, 0
+    lt rx739_pos, 2, rx739_start
+    sub rx739_off, rx739_pos, 1
+    substr rx739_tgt, rx739_tgt, rx739_off
+  rx739_start:
     $I10 = self.'from'()
-    ne $I10, -1, rxscan745_done
-    goto rxscan745_scan
-  rxscan745_loop:
-    ($P10) = rx741_cur."from"()
+    ne $I10, -1, rxscan743_done
+    goto rxscan743_scan
+  rxscan743_loop:
+    ($P10) = rx739_cur."from"()
     inc $P10
-    set rx741_pos, $P10
-    ge rx741_pos, rx741_eos, rxscan745_done
-  rxscan745_scan:
-    set_addr $I10, rxscan745_loop
-    rx741_cur."!mark_push"(0, rx741_pos, $I10)
-  rxscan745_done:
-.annotate "line", 349
-  # rx subrule "ws" subtype=method negate=
-    rx741_cur."!cursor_pos"(rx741_pos)
-    $P10 = rx741_cur."ws"()
-    unless $P10, rx741_fail
-    rx741_pos = $P10."pos"()
-  alt746_0:
-.annotate "line", 350
-    set_addr $I10, alt746_1
-    rx741_cur."!mark_push"(0, rx741_pos, $I10)
-.annotate "line", 351
-  # rx subrule "EXPR" subtype=capture negate=
-    rx741_cur."!cursor_pos"(rx741_pos)
-    $P10 = rx741_cur."EXPR"("f=")
-    unless $P10, rx741_fail
-    rx741_cur."!mark_push"(0, -1, 0, $P10)
-    $P10."!cursor_names"("EXPR")
-    rx741_pos = $P10."pos"()
-    goto alt746_end
-  alt746_1:
-  alt746_end:
-.annotate "line", 348
+    set rx739_pos, $P10
+    ge rx739_pos, rx739_eos, rxscan743_done
+  rxscan743_scan:
+    set_addr $I10, rxscan743_loop
+    rx739_cur."!mark_push"(0, rx739_pos, $I10)
+  rxscan743_done:
+.annotate "line", 347
+  # rx subrule "name" subtype=capture negate=
+    rx739_cur."!cursor_pos"(rx739_pos)
+    $P10 = rx739_cur."name"()
+    unless $P10, rx739_fail
+    rx739_cur."!mark_push"(0, -1, 0, $P10)
+    $P10."!cursor_names"("name")
+    rx739_pos = $P10."pos"()
+  # rx rxquantr744 ** 0..1
+    set_addr $I745, rxquantr744_done
+    rx739_cur."!mark_push"(0, rx739_pos, $I745)
+  rxquantr744_loop:
+  # rx subrule "args" subtype=capture negate=
+    rx739_cur."!cursor_pos"(rx739_pos)
+    $P10 = rx739_cur."args"()
+    unless $P10, rx739_fail
+    rx739_cur."!mark_push"(0, -1, 0, $P10)
+    $P10."!cursor_names"("args")
+    rx739_pos = $P10."pos"()
+    (rx739_rep) = rx739_cur."!mark_commit"($I745)
+  rxquantr744_done:
+.annotate "line", 346
   # rx pass
-    rx741_cur."!cursor_pass"(rx741_pos, "arglist")
-    rx741_cur."!cursor_debug"("PASS  ", "arglist", " at pos=", rx741_pos)
-    .return (rx741_cur)
-  rx741_fail:
+    rx739_cur."!cursor_pass"(rx739_pos, "term:sym<name>")
+    rx739_cur."!cursor_debug"("PASS  ", "term:sym<name>", " at pos=", rx739_pos)
+    .return (rx739_cur)
+  rx739_fail:
 .annotate "line", 4
-    (rx741_rep, rx741_pos, $I10, $P10) = rx741_cur."!mark_fail"(0)
-    lt rx741_pos, -1, rx741_done
-    eq rx741_pos, -1, rx741_fail
+    (rx739_rep, rx739_pos, $I10, $P10) = rx739_cur."!mark_fail"(0)
+    lt rx739_pos, -1, rx739_done
+    eq rx739_pos, -1, rx739_fail
     jump $I10
-  rx741_done:
-    rx741_cur."!cursor_fail"()
-    rx741_cur."!cursor_debug"("FAIL  ", "arglist")
-    .return (rx741_cur)
+  rx739_done:
+    rx739_cur."!cursor_fail"()
+    rx739_cur."!cursor_debug"("FAIL  ", "term:sym<name>")
+    .return (rx739_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__arglist"  :subid("172_1259103982.97329") :method
+.sub "!PREFIX__term:sym<name>"  :subid("170_1259177761.22934") :method
 .annotate "line", 4
-    $P743 = self."!PREFIX__!subrule"("", "")
-    new $P744, "ResizablePMCArray"
-    push $P744, $P743
-    .return ($P744)
+    $P741 = self."!PREFIX__!subrule"("name", "")
+    new $P742, "ResizablePMCArray"
+    push $P742, $P741
+    .return ($P742)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "term:sym<value>"  :subid("173_1259103982.97329") :method :outer("11_1259103982.97329")
+.sub "term:sym<pir::op>"  :subid("171_1259177761.22934") :method :outer("11_1259177761.22934")
 .annotate "line", 4
-    .local string rx748_tgt
-    .local int rx748_pos
-    .local int rx748_off
-    .local int rx748_eos
-    .local int rx748_rep
-    .local pmc rx748_cur
-    (rx748_cur, rx748_pos, rx748_tgt) = self."!cursor_start"()
-    rx748_cur."!cursor_debug"("START ", "term:sym<value>")
-    .lex unicode:"$\x{a2}", rx748_cur
-    .local pmc match
-    .lex "$/", match
-    length rx748_eos, rx748_tgt
-    set rx748_off, 0
-    lt rx748_pos, 2, rx748_start
-    sub rx748_off, rx748_pos, 1
-    substr rx748_tgt, rx748_tgt, rx748_off
-  rx748_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan752_done
-    goto rxscan752_scan
-  rxscan752_loop:
-    ($P10) = rx748_cur."from"()
-    inc $P10
-    set rx748_pos, $P10
-    ge rx748_pos, rx748_eos, rxscan752_done
-  rxscan752_scan:
-    set_addr $I10, rxscan752_loop
-    rx748_cur."!mark_push"(0, rx748_pos, $I10)
-  rxscan752_done:
-.annotate "line", 357
-  # rx subrule "value" subtype=capture negate=
-    rx748_cur."!cursor_pos"(rx748_pos)
-    $P10 = rx748_cur."value"()
-    unless $P10, rx748_fail
-    rx748_cur."!mark_push"(0, -1, 0, $P10)
-    $P10."!cursor_names"("value")
-    rx748_pos = $P10."pos"()
+    .local string rx747_tgt
+    .local int rx747_pos
+    .local int rx747_off
+    .local int rx747_eos
+    .local int rx747_rep
+    .local pmc rx747_cur
+    (rx747_cur, rx747_pos, rx747_tgt) = self."!cursor_start"()
+    rx747_cur."!cursor_debug"("START ", "term:sym<pir::op>")
+    rx747_cur."!cursor_caparray"("args")
+    .lex unicode:"$\x{a2}", rx747_cur
+    .local pmc match
+    .lex "$/", match
+    length rx747_eos, rx747_tgt
+    set rx747_off, 0
+    lt rx747_pos, 2, rx747_start
+    sub rx747_off, rx747_pos, 1
+    substr rx747_tgt, rx747_tgt, rx747_off
+  rx747_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan750_done
+    goto rxscan750_scan
+  rxscan750_loop:
+    ($P10) = rx747_cur."from"()
+    inc $P10
+    set rx747_pos, $P10
+    ge rx747_pos, rx747_eos, rxscan750_done
+  rxscan750_scan:
+    set_addr $I10, rxscan750_loop
+    rx747_cur."!mark_push"(0, rx747_pos, $I10)
+  rxscan750_done:
+.annotate "line", 351
+  # rx literal  "pir::"
+    add $I11, rx747_pos, 5
+    gt $I11, rx747_eos, rx747_fail
+    sub $I11, rx747_pos, rx747_off
+    substr $S10, rx747_tgt, $I11, 5
+    ne $S10, "pir::", rx747_fail
+    add rx747_pos, 5
+  # rx subcapture "op"
+    set_addr $I10, rxcap_751_fail
+    rx747_cur."!mark_push"(0, rx747_pos, $I10)
+  # rx charclass_q w r 1..-1
+    sub $I10, rx747_pos, rx747_off
+    find_not_cclass $I11, 8192, rx747_tgt, $I10, rx747_eos
+    add $I12, $I10, 1
+    lt $I11, $I12, rx747_fail
+    add rx747_pos, rx747_off, $I11
+    set_addr $I10, rxcap_751_fail
+    ($I12, $I11) = rx747_cur."!mark_peek"($I10)
+    rx747_cur."!cursor_pos"($I11)
+    ($P10) = rx747_cur."!cursor_start"()
+    $P10."!cursor_pass"(rx747_pos, "")
+    rx747_cur."!mark_push"(0, -1, 0, $P10)
+    $P10."!cursor_names"("op")
+    goto rxcap_751_done
+  rxcap_751_fail:
+    goto rx747_fail
+  rxcap_751_done:
+  # rx rxquantr752 ** 0..1
+    set_addr $I753, rxquantr752_done
+    rx747_cur."!mark_push"(0, rx747_pos, $I753)
+  rxquantr752_loop:
+  # rx subrule "args" subtype=capture negate=
+    rx747_cur."!cursor_pos"(rx747_pos)
+    $P10 = rx747_cur."args"()
+    unless $P10, rx747_fail
+    rx747_cur."!mark_push"(0, -1, 0, $P10)
+    $P10."!cursor_names"("args")
+    rx747_pos = $P10."pos"()
+    (rx747_rep) = rx747_cur."!mark_commit"($I753)
+  rxquantr752_done:
+.annotate "line", 350
   # rx pass
-    rx748_cur."!cursor_pass"(rx748_pos, "term:sym<value>")
-    rx748_cur."!cursor_debug"("PASS  ", "term:sym<value>", " at pos=", rx748_pos)
-    .return (rx748_cur)
-  rx748_fail:
+    rx747_cur."!cursor_pass"(rx747_pos, "term:sym<pir::op>")
+    rx747_cur."!cursor_debug"("PASS  ", "term:sym<pir::op>", " at pos=", rx747_pos)
+    .return (rx747_cur)
+  rx747_fail:
 .annotate "line", 4
-    (rx748_rep, rx748_pos, $I10, $P10) = rx748_cur."!mark_fail"(0)
-    lt rx748_pos, -1, rx748_done
-    eq rx748_pos, -1, rx748_fail
+    (rx747_rep, rx747_pos, $I10, $P10) = rx747_cur."!mark_fail"(0)
+    lt rx747_pos, -1, rx747_done
+    eq rx747_pos, -1, rx747_fail
     jump $I10
-  rx748_done:
-    rx748_cur."!cursor_fail"()
-    rx748_cur."!cursor_debug"("FAIL  ", "term:sym<value>")
-    .return (rx748_cur)
+  rx747_done:
+    rx747_cur."!cursor_fail"()
+    rx747_cur."!cursor_debug"("FAIL  ", "term:sym<pir::op>")
+    .return (rx747_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__term:sym<value>"  :subid("174_1259103982.97329") :method
+.sub "!PREFIX__term:sym<pir::op>"  :subid("172_1259177761.22934") :method
 .annotate "line", 4
-    $P750 = self."!PREFIX__!subrule"("value", "")
-    new $P751, "ResizablePMCArray"
-    push $P751, $P750
-    .return ($P751)
+    new $P749, "ResizablePMCArray"
+    push $P749, "pir::"
+    .return ($P749)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "value"  :subid("175_1259103982.97329") :method :outer("11_1259103982.97329")
+.sub "args"  :subid("173_1259177761.22934") :method :outer("11_1259177761.22934")
 .annotate "line", 4
-    .local string rx754_tgt
-    .local int rx754_pos
-    .local int rx754_off
-    .local int rx754_eos
-    .local int rx754_rep
-    .local pmc rx754_cur
-    (rx754_cur, rx754_pos, rx754_tgt) = self."!cursor_start"()
-    rx754_cur."!cursor_debug"("START ", "value")
-    .lex unicode:"$\x{a2}", rx754_cur
+    .local string rx755_tgt
+    .local int rx755_pos
+    .local int rx755_off
+    .local int rx755_eos
+    .local int rx755_rep
+    .local pmc rx755_cur
+    (rx755_cur, rx755_pos, rx755_tgt) = self."!cursor_start"()
+    rx755_cur."!cursor_debug"("START ", "args")
+    .lex unicode:"$\x{a2}", rx755_cur
     .local pmc match
     .lex "$/", match
-    length rx754_eos, rx754_tgt
-    set rx754_off, 0
-    lt rx754_pos, 2, rx754_start
-    sub rx754_off, rx754_pos, 1
-    substr rx754_tgt, rx754_tgt, rx754_off
-  rx754_start:
+    length rx755_eos, rx755_tgt
+    set rx755_off, 0
+    lt rx755_pos, 2, rx755_start
+    sub rx755_off, rx755_pos, 1
+    substr rx755_tgt, rx755_tgt, rx755_off
+  rx755_start:
     $I10 = self.'from'()
     ne $I10, -1, rxscan759_done
     goto rxscan759_scan
   rxscan759_loop:
-    ($P10) = rx754_cur."from"()
+    ($P10) = rx755_cur."from"()
     inc $P10
-    set rx754_pos, $P10
-    ge rx754_pos, rx754_eos, rxscan759_done
+    set rx755_pos, $P10
+    ge rx755_pos, rx755_eos, rxscan759_done
   rxscan759_scan:
     set_addr $I10, rxscan759_loop
-    rx754_cur."!mark_push"(0, rx754_pos, $I10)
+    rx755_cur."!mark_push"(0, rx755_pos, $I10)
   rxscan759_done:
-  alt760_0:
-.annotate "line", 359
-    set_addr $I10, alt760_1
-    rx754_cur."!mark_push"(0, rx754_pos, $I10)
-.annotate "line", 360
-  # rx subrule "quote" subtype=capture negate=
-    rx754_cur."!cursor_pos"(rx754_pos)
-    $P10 = rx754_cur."quote"()
-    unless $P10, rx754_fail
-    rx754_cur."!mark_push"(0, -1, 0, $P10)
-    $P10."!cursor_names"("quote")
-    rx754_pos = $P10."pos"()
-    goto alt760_end
-  alt760_1:
-.annotate "line", 361
-  # rx subrule "number" subtype=capture negate=
-    rx754_cur."!cursor_pos"(rx754_pos)
-    $P10 = rx754_cur."number"()
-    unless $P10, rx754_fail
-    rx754_cur."!mark_push"(0, -1, 0, $P10)
-    $P10."!cursor_names"("number")
-    rx754_pos = $P10."pos"()
-  alt760_end:
-.annotate "line", 359
-  # rx pass
-    rx754_cur."!cursor_pass"(rx754_pos, "value")
-    rx754_cur."!cursor_debug"("PASS  ", "value", " at pos=", rx754_pos)
-    .return (rx754_cur)
-  rx754_fail:
-.annotate "line", 4
-    (rx754_rep, rx754_pos, $I10, $P10) = rx754_cur."!mark_fail"(0)
-    lt rx754_pos, -1, rx754_done
-    eq rx754_pos, -1, rx754_fail
+.annotate "line", 355
+  # rx literal  "("
+    add $I11, rx755_pos, 1
+    gt $I11, rx755_eos, rx755_fail
+    sub $I11, rx755_pos, rx755_off
+    substr $S10, rx755_tgt, $I11, 1
+    ne $S10, "(", rx755_fail
+    add rx755_pos, 1
+  # rx subrule "arglist" subtype=capture negate=
+    rx755_cur."!cursor_pos"(rx755_pos)
+    $P10 = rx755_cur."arglist"()
+    unless $P10, rx755_fail
+    rx755_cur."!mark_push"(0, -1, 0, $P10)
+    $P10."!cursor_names"("arglist")
+    rx755_pos = $P10."pos"()
+  # rx literal  ")"
+    add $I11, rx755_pos, 1
+    gt $I11, rx755_eos, rx755_fail
+    sub $I11, rx755_pos, rx755_off
+    substr $S10, rx755_tgt, $I11, 1
+    ne $S10, ")", rx755_fail
+    add rx755_pos, 1
+  # rx pass
+    rx755_cur."!cursor_pass"(rx755_pos, "args")
+    rx755_cur."!cursor_debug"("PASS  ", "args", " at pos=", rx755_pos)
+    .return (rx755_cur)
+  rx755_fail:
+.annotate "line", 4
+    (rx755_rep, rx755_pos, $I10, $P10) = rx755_cur."!mark_fail"(0)
+    lt rx755_pos, -1, rx755_done
+    eq rx755_pos, -1, rx755_fail
     jump $I10
-  rx754_done:
-    rx754_cur."!cursor_fail"()
-    rx754_cur."!cursor_debug"("FAIL  ", "value")
-    .return (rx754_cur)
+  rx755_done:
+    rx755_cur."!cursor_fail"()
+    rx755_cur."!cursor_debug"("FAIL  ", "args")
+    .return (rx755_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__value"  :subid("176_1259103982.97329") :method
+.sub "!PREFIX__args"  :subid("174_1259177761.22934") :method
 .annotate "line", 4
-    $P756 = self."!PREFIX__!subrule"("number", "")
-    $P757 = self."!PREFIX__!subrule"("quote", "")
+    $P757 = self."!PREFIX__!subrule"("arglist", "(")
     new $P758, "ResizablePMCArray"
-    push $P758, $P756
     push $P758, $P757
     .return ($P758)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "number"  :subid("177_1259103982.97329") :method :outer("11_1259103982.97329")
+.sub "arglist"  :subid("175_1259177761.22934") :method :outer("11_1259177761.22934")
 .annotate "line", 4
-    .local string rx762_tgt
-    .local int rx762_pos
-    .local int rx762_off
-    .local int rx762_eos
-    .local int rx762_rep
-    .local pmc rx762_cur
-    (rx762_cur, rx762_pos, rx762_tgt) = self."!cursor_start"()
-    rx762_cur."!cursor_debug"("START ", "number")
-    .lex unicode:"$\x{a2}", rx762_cur
-    .local pmc match
-    .lex "$/", match
-    length rx762_eos, rx762_tgt
-    set rx762_off, 0
-    lt rx762_pos, 2, rx762_start
-    sub rx762_off, rx762_pos, 1
-    substr rx762_tgt, rx762_tgt, rx762_off
-  rx762_start:
+    .local string rx761_tgt
+    .local int rx761_pos
+    .local int rx761_off
+    .local int rx761_eos
+    .local int rx761_rep
+    .local pmc rx761_cur
+    (rx761_cur, rx761_pos, rx761_tgt) = self."!cursor_start"()
+    rx761_cur."!cursor_debug"("START ", "arglist")
+    .lex unicode:"$\x{a2}", rx761_cur
+    .local pmc match
+    .lex "$/", match
+    length rx761_eos, rx761_tgt
+    set rx761_off, 0
+    lt rx761_pos, 2, rx761_start
+    sub rx761_off, rx761_pos, 1
+    substr rx761_tgt, rx761_tgt, rx761_off
+  rx761_start:
     $I10 = self.'from'()
     ne $I10, -1, rxscan765_done
     goto rxscan765_scan
   rxscan765_loop:
-    ($P10) = rx762_cur."from"()
+    ($P10) = rx761_cur."from"()
     inc $P10
-    set rx762_pos, $P10
-    ge rx762_pos, rx762_eos, rxscan765_done
+    set rx761_pos, $P10
+    ge rx761_pos, rx761_eos, rxscan765_done
   rxscan765_scan:
     set_addr $I10, rxscan765_loop
-    rx762_cur."!mark_push"(0, rx762_pos, $I10)
+    rx761_cur."!mark_push"(0, rx761_pos, $I10)
   rxscan765_done:
-.annotate "line", 365
-  # rx subcapture "sign"
-    set_addr $I10, rxcap_768_fail
-    rx762_cur."!mark_push"(0, rx762_pos, $I10)
-  # rx rxquantr766 ** 0..1
-    set_addr $I767, rxquantr766_done
-    rx762_cur."!mark_push"(0, rx762_pos, $I767)
-  rxquantr766_loop:
-  # rx enumcharlist negate=0 
-    ge rx762_pos, rx762_eos, rx762_fail
-    sub $I10, rx762_pos, rx762_off
-    substr $S10, rx762_tgt, $I10, 1
-    index $I11, "+-", $S10
-    lt $I11, 0, rx762_fail
-    inc rx762_pos
-    (rx762_rep) = rx762_cur."!mark_commit"($I767)
-  rxquantr766_done:
-    set_addr $I10, rxcap_768_fail
-    ($I12, $I11) = rx762_cur."!mark_peek"($I10)
-    rx762_cur."!cursor_pos"($I11)
-    ($P10) = rx762_cur."!cursor_start"()
-    $P10."!cursor_pass"(rx762_pos, "")
-    rx762_cur."!mark_push"(0, -1, 0, $P10)
-    $P10."!cursor_names"("sign")
-    goto rxcap_768_done
-  rxcap_768_fail:
-    goto rx762_fail
-  rxcap_768_done:
-  alt769_0:
-.annotate "line", 366
-    set_addr $I10, alt769_1
-    rx762_cur."!mark_push"(0, rx762_pos, $I10)
-  # rx subrule "dec_number" subtype=capture negate=
-    rx762_cur."!cursor_pos"(rx762_pos)
-    $P10 = rx762_cur."dec_number"()
-    unless $P10, rx762_fail
-    rx762_cur."!mark_push"(0, -1, 0, $P10)
-    $P10."!cursor_names"("dec_number")
-    rx762_pos = $P10."pos"()
-    goto alt769_end
-  alt769_1:
-  # rx subrule "integer" subtype=capture negate=
-    rx762_cur."!cursor_pos"(rx762_pos)
-    $P10 = rx762_cur."integer"()
-    unless $P10, rx762_fail
-    rx762_cur."!mark_push"(0, -1, 0, $P10)
-    $P10."!cursor_names"("integer")
-    rx762_pos = $P10."pos"()
-  alt769_end:
-.annotate "line", 364
+.annotate "line", 359
+  # rx subrule "ws" subtype=method negate=
+    rx761_cur."!cursor_pos"(rx761_pos)
+    $P10 = rx761_cur."ws"()
+    unless $P10, rx761_fail
+    rx761_pos = $P10."pos"()
+  alt766_0:
+.annotate "line", 360
+    set_addr $I10, alt766_1
+    rx761_cur."!mark_push"(0, rx761_pos, $I10)
+.annotate "line", 361
+  # rx subrule "EXPR" subtype=capture negate=
+    rx761_cur."!cursor_pos"(rx761_pos)
+    $P10 = rx761_cur."EXPR"("f=")
+    unless $P10, rx761_fail
+    rx761_cur."!mark_push"(0, -1, 0, $P10)
+    $P10."!cursor_names"("EXPR")
+    rx761_pos = $P10."pos"()
+    goto alt766_end
+  alt766_1:
+  alt766_end:
+.annotate "line", 358
   # rx pass
-    rx762_cur."!cursor_pass"(rx762_pos, "number")
-    rx762_cur."!cursor_debug"("PASS  ", "number", " at pos=", rx762_pos)
-    .return (rx762_cur)
-  rx762_fail:
+    rx761_cur."!cursor_pass"(rx761_pos, "arglist")
+    rx761_cur."!cursor_debug"("PASS  ", "arglist", " at pos=", rx761_pos)
+    .return (rx761_cur)
+  rx761_fail:
 .annotate "line", 4
-    (rx762_rep, rx762_pos, $I10, $P10) = rx762_cur."!mark_fail"(0)
-    lt rx762_pos, -1, rx762_done
-    eq rx762_pos, -1, rx762_fail
+    (rx761_rep, rx761_pos, $I10, $P10) = rx761_cur."!mark_fail"(0)
+    lt rx761_pos, -1, rx761_done
+    eq rx761_pos, -1, rx761_fail
     jump $I10
-  rx762_done:
-    rx762_cur."!cursor_fail"()
-    rx762_cur."!cursor_debug"("FAIL  ", "number")
-    .return (rx762_cur)
+  rx761_done:
+    rx761_cur."!cursor_fail"()
+    rx761_cur."!cursor_debug"("FAIL  ", "arglist")
+    .return (rx761_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__number"  :subid("178_1259103982.97329") :method
+.sub "!PREFIX__arglist"  :subid("176_1259177761.22934") :method
 .annotate "line", 4
+    $P763 = self."!PREFIX__!subrule"("", "")
     new $P764, "ResizablePMCArray"
-    push $P764, ""
+    push $P764, $P763
     .return ($P764)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "quote"  :subid("179_1259103982.97329") :method
-.annotate "line", 369
-    $P771 = self."!protoregex"("quote")
-    .return ($P771)
+.sub "term:sym<value>"  :subid("177_1259177761.22934") :method :outer("11_1259177761.22934")
+.annotate "line", 4
+    .local string rx768_tgt
+    .local int rx768_pos
+    .local int rx768_off
+    .local int rx768_eos
+    .local int rx768_rep
+    .local pmc rx768_cur
+    (rx768_cur, rx768_pos, rx768_tgt) = self."!cursor_start"()
+    rx768_cur."!cursor_debug"("START ", "term:sym<value>")
+    .lex unicode:"$\x{a2}", rx768_cur
+    .local pmc match
+    .lex "$/", match
+    length rx768_eos, rx768_tgt
+    set rx768_off, 0
+    lt rx768_pos, 2, rx768_start
+    sub rx768_off, rx768_pos, 1
+    substr rx768_tgt, rx768_tgt, rx768_off
+  rx768_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan772_done
+    goto rxscan772_scan
+  rxscan772_loop:
+    ($P10) = rx768_cur."from"()
+    inc $P10
+    set rx768_pos, $P10
+    ge rx768_pos, rx768_eos, rxscan772_done
+  rxscan772_scan:
+    set_addr $I10, rxscan772_loop
+    rx768_cur."!mark_push"(0, rx768_pos, $I10)
+  rxscan772_done:
+.annotate "line", 367
+  # rx subrule "value" subtype=capture negate=
+    rx768_cur."!cursor_pos"(rx768_pos)
+    $P10 = rx768_cur."value"()
+    unless $P10, rx768_fail
+    rx768_cur."!mark_push"(0, -1, 0, $P10)
+    $P10."!cursor_names"("value")
+    rx768_pos = $P10."pos"()
+  # rx pass
+    rx768_cur."!cursor_pass"(rx768_pos, "term:sym<value>")
+    rx768_cur."!cursor_debug"("PASS  ", "term:sym<value>", " at pos=", rx768_pos)
+    .return (rx768_cur)
+  rx768_fail:
+.annotate "line", 4
+    (rx768_rep, rx768_pos, $I10, $P10) = rx768_cur."!mark_fail"(0)
+    lt rx768_pos, -1, rx768_done
+    eq rx768_pos, -1, rx768_fail
+    jump $I10
+  rx768_done:
+    rx768_cur."!cursor_fail"()
+    rx768_cur."!cursor_debug"("FAIL  ", "term:sym<value>")
+    .return (rx768_cur)
+    .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__quote"  :subid("180_1259103982.97329") :method
-.annotate "line", 369
-    $P773 = self."!PREFIX__!protoregex"("quote")
-    .return ($P773)
+.sub "!PREFIX__term:sym<value>"  :subid("178_1259177761.22934") :method
+.annotate "line", 4
+    $P770 = self."!PREFIX__!subrule"("value", "")
+    new $P771, "ResizablePMCArray"
+    push $P771, $P770
+    .return ($P771)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "quote:sym<apos>"  :subid("181_1259103982.97329") :method :outer("11_1259103982.97329")
+.sub "value"  :subid("179_1259177761.22934") :method :outer("11_1259177761.22934")
 .annotate "line", 4
-    .local string rx775_tgt
-    .local int rx775_pos
-    .local int rx775_off
-    .local int rx775_eos
-    .local int rx775_rep
-    .local pmc rx775_cur
-    (rx775_cur, rx775_pos, rx775_tgt) = self."!cursor_start"()
-    rx775_cur."!cursor_debug"("START ", "quote:sym<apos>")
-    .lex unicode:"$\x{a2}", rx775_cur
-    .local pmc match
-    .lex "$/", match
-    length rx775_eos, rx775_tgt
-    set rx775_off, 0
-    lt rx775_pos, 2, rx775_start
-    sub rx775_off, rx775_pos, 1
-    substr rx775_tgt, rx775_tgt, rx775_off
-  rx775_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan778_done
-    goto rxscan778_scan
-  rxscan778_loop:
-    ($P10) = rx775_cur."from"()
-    inc $P10
-    set rx775_pos, $P10
-    ge rx775_pos, rx775_eos, rxscan778_done
-  rxscan778_scan:
-    set_addr $I10, rxscan778_loop
-    rx775_cur."!mark_push"(0, rx775_pos, $I10)
-  rxscan778_done:
+    .local string rx774_tgt
+    .local int rx774_pos
+    .local int rx774_off
+    .local int rx774_eos
+    .local int rx774_rep
+    .local pmc rx774_cur
+    (rx774_cur, rx774_pos, rx774_tgt) = self."!cursor_start"()
+    rx774_cur."!cursor_debug"("START ", "value")
+    .lex unicode:"$\x{a2}", rx774_cur
+    .local pmc match
+    .lex "$/", match
+    length rx774_eos, rx774_tgt
+    set rx774_off, 0
+    lt rx774_pos, 2, rx774_start
+    sub rx774_off, rx774_pos, 1
+    substr rx774_tgt, rx774_tgt, rx774_off
+  rx774_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan779_done
+    goto rxscan779_scan
+  rxscan779_loop:
+    ($P10) = rx774_cur."from"()
+    inc $P10
+    set rx774_pos, $P10
+    ge rx774_pos, rx774_eos, rxscan779_done
+  rxscan779_scan:
+    set_addr $I10, rxscan779_loop
+    rx774_cur."!mark_push"(0, rx774_pos, $I10)
+  rxscan779_done:
+  alt780_0:
+.annotate "line", 369
+    set_addr $I10, alt780_1
+    rx774_cur."!mark_push"(0, rx774_pos, $I10)
 .annotate "line", 370
-  # rx enumcharlist negate=0 zerowidth
-    ge rx775_pos, rx775_eos, rx775_fail
-    sub $I10, rx775_pos, rx775_off
-    substr $S10, rx775_tgt, $I10, 1
-    index $I11, "'", $S10
-    lt $I11, 0, rx775_fail
-  # rx subrule "quote_EXPR" subtype=capture negate=
-    rx775_cur."!cursor_pos"(rx775_pos)
-    $P10 = rx775_cur."quote_EXPR"(":q")
-    unless $P10, rx775_fail
-    rx775_cur."!mark_push"(0, -1, 0, $P10)
-    $P10."!cursor_names"("quote_EXPR")
-    rx775_pos = $P10."pos"()
+  # rx subrule "quote" subtype=capture negate=
+    rx774_cur."!cursor_pos"(rx774_pos)
+    $P10 = rx774_cur."quote"()
+    unless $P10, rx774_fail
+    rx774_cur."!mark_push"(0, -1, 0, $P10)
+    $P10."!cursor_names"("quote")
+    rx774_pos = $P10."pos"()
+    goto alt780_end
+  alt780_1:
+.annotate "line", 371
+  # rx subrule "number" subtype=capture negate=
+    rx774_cur."!cursor_pos"(rx774_pos)
+    $P10 = rx774_cur."number"()
+    unless $P10, rx774_fail
+    rx774_cur."!mark_push"(0, -1, 0, $P10)
+    $P10."!cursor_names"("number")
+    rx774_pos = $P10."pos"()
+  alt780_end:
+.annotate "line", 369
   # rx pass
-    rx775_cur."!cursor_pass"(rx775_pos, "quote:sym<apos>")
-    rx775_cur."!cursor_debug"("PASS  ", "quote:sym<apos>", " at pos=", rx775_pos)
-    .return (rx775_cur)
-  rx775_fail:
+    rx774_cur."!cursor_pass"(rx774_pos, "value")
+    rx774_cur."!cursor_debug"("PASS  ", "value", " at pos=", rx774_pos)
+    .return (rx774_cur)
+  rx774_fail:
 .annotate "line", 4
-    (rx775_rep, rx775_pos, $I10, $P10) = rx775_cur."!mark_fail"(0)
-    lt rx775_pos, -1, rx775_done
-    eq rx775_pos, -1, rx775_fail
+    (rx774_rep, rx774_pos, $I10, $P10) = rx774_cur."!mark_fail"(0)
+    lt rx774_pos, -1, rx774_done
+    eq rx774_pos, -1, rx774_fail
     jump $I10
-  rx775_done:
-    rx775_cur."!cursor_fail"()
-    rx775_cur."!cursor_debug"("FAIL  ", "quote:sym<apos>")
-    .return (rx775_cur)
+  rx774_done:
+    rx774_cur."!cursor_fail"()
+    rx774_cur."!cursor_debug"("FAIL  ", "value")
+    .return (rx774_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__quote:sym<apos>"  :subid("182_1259103982.97329") :method
+.sub "!PREFIX__value"  :subid("180_1259177761.22934") :method
 .annotate "line", 4
-    new $P777, "ResizablePMCArray"
-    push $P777, "'"
-    .return ($P777)
+    $P776 = self."!PREFIX__!subrule"("number", "")
+    $P777 = self."!PREFIX__!subrule"("quote", "")
+    new $P778, "ResizablePMCArray"
+    push $P778, $P776
+    push $P778, $P777
+    .return ($P778)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "quote:sym<dblq>"  :subid("183_1259103982.97329") :method :outer("11_1259103982.97329")
+.sub "number"  :subid("181_1259177761.22934") :method :outer("11_1259177761.22934")
 .annotate "line", 4
-    .local string rx780_tgt
-    .local int rx780_pos
-    .local int rx780_off
-    .local int rx780_eos
-    .local int rx780_rep
-    .local pmc rx780_cur
-    (rx780_cur, rx780_pos, rx780_tgt) = self."!cursor_start"()
-    rx780_cur."!cursor_debug"("START ", "quote:sym<dblq>")
-    .lex unicode:"$\x{a2}", rx780_cur
+    .local string rx782_tgt
+    .local int rx782_pos
+    .local int rx782_off
+    .local int rx782_eos
+    .local int rx782_rep
+    .local pmc rx782_cur
+    (rx782_cur, rx782_pos, rx782_tgt) = self."!cursor_start"()
+    rx782_cur."!cursor_debug"("START ", "number")
+    .lex unicode:"$\x{a2}", rx782_cur
     .local pmc match
     .lex "$/", match
-    length rx780_eos, rx780_tgt
-    set rx780_off, 0
-    lt rx780_pos, 2, rx780_start
-    sub rx780_off, rx780_pos, 1
-    substr rx780_tgt, rx780_tgt, rx780_off
-  rx780_start:
+    length rx782_eos, rx782_tgt
+    set rx782_off, 0
+    lt rx782_pos, 2, rx782_start
+    sub rx782_off, rx782_pos, 1
+    substr rx782_tgt, rx782_tgt, rx782_off
+  rx782_start:
     $I10 = self.'from'()
-    ne $I10, -1, rxscan783_done
-    goto rxscan783_scan
-  rxscan783_loop:
-    ($P10) = rx780_cur."from"()
+    ne $I10, -1, rxscan785_done
+    goto rxscan785_scan
+  rxscan785_loop:
+    ($P10) = rx782_cur."from"()
     inc $P10
-    set rx780_pos, $P10
-    ge rx780_pos, rx780_eos, rxscan783_done
-  rxscan783_scan:
-    set_addr $I10, rxscan783_loop
-    rx780_cur."!mark_push"(0, rx780_pos, $I10)
-  rxscan783_done:
-.annotate "line", 371
-  # rx enumcharlist negate=0 zerowidth
-    ge rx780_pos, rx780_eos, rx780_fail
-    sub $I10, rx780_pos, rx780_off
-    substr $S10, rx780_tgt, $I10, 1
-    index $I11, "\"", $S10
-    lt $I11, 0, rx780_fail
-  # rx subrule "quote_EXPR" subtype=capture negate=
-    rx780_cur."!cursor_pos"(rx780_pos)
-    $P10 = rx780_cur."quote_EXPR"(":qq")
-    unless $P10, rx780_fail
-    rx780_cur."!mark_push"(0, -1, 0, $P10)
-    $P10."!cursor_names"("quote_EXPR")
-    rx780_pos = $P10."pos"()
+    set rx782_pos, $P10
+    ge rx782_pos, rx782_eos, rxscan785_done
+  rxscan785_scan:
+    set_addr $I10, rxscan785_loop
+    rx782_cur."!mark_push"(0, rx782_pos, $I10)
+  rxscan785_done:
+.annotate "line", 375
+  # rx subcapture "sign"
+    set_addr $I10, rxcap_788_fail
+    rx782_cur."!mark_push"(0, rx782_pos, $I10)
+  # rx rxquantr786 ** 0..1
+    set_addr $I787, rxquantr786_done
+    rx782_cur."!mark_push"(0, rx782_pos, $I787)
+  rxquantr786_loop:
+  # rx enumcharlist negate=0 
+    ge rx782_pos, rx782_eos, rx782_fail
+    sub $I10, rx782_pos, rx782_off
+    substr $S10, rx782_tgt, $I10, 1
+    index $I11, "+-", $S10
+    lt $I11, 0, rx782_fail
+    inc rx782_pos
+    (rx782_rep) = rx782_cur."!mark_commit"($I787)
+  rxquantr786_done:
+    set_addr $I10, rxcap_788_fail
+    ($I12, $I11) = rx782_cur."!mark_peek"($I10)
+    rx782_cur."!cursor_pos"($I11)
+    ($P10) = rx782_cur."!cursor_start"()
+    $P10."!cursor_pass"(rx782_pos, "")
+    rx782_cur."!mark_push"(0, -1, 0, $P10)
+    $P10."!cursor_names"("sign")
+    goto rxcap_788_done
+  rxcap_788_fail:
+    goto rx782_fail
+  rxcap_788_done:
+  alt789_0:
+.annotate "line", 376
+    set_addr $I10, alt789_1
+    rx782_cur."!mark_push"(0, rx782_pos, $I10)
+  # rx subrule "dec_number" subtype=capture negate=
+    rx782_cur."!cursor_pos"(rx782_pos)
+    $P10 = rx782_cur."dec_number"()
+    unless $P10, rx782_fail
+    rx782_cur."!mark_push"(0, -1, 0, $P10)
+    $P10."!cursor_names"("dec_number")
+    rx782_pos = $P10."pos"()
+    goto alt789_end
+  alt789_1:
+  # rx subrule "integer" subtype=capture negate=
+    rx782_cur."!cursor_pos"(rx782_pos)
+    $P10 = rx782_cur."integer"()
+    unless $P10, rx782_fail
+    rx782_cur."!mark_push"(0, -1, 0, $P10)
+    $P10."!cursor_names"("integer")
+    rx782_pos = $P10."pos"()
+  alt789_end:
+.annotate "line", 374
   # rx pass
-    rx780_cur."!cursor_pass"(rx780_pos, "quote:sym<dblq>")
-    rx780_cur."!cursor_debug"("PASS  ", "quote:sym<dblq>", " at pos=", rx780_pos)
-    .return (rx780_cur)
-  rx780_fail:
+    rx782_cur."!cursor_pass"(rx782_pos, "number")
+    rx782_cur."!cursor_debug"("PASS  ", "number", " at pos=", rx782_pos)
+    .return (rx782_cur)
+  rx782_fail:
 .annotate "line", 4
-    (rx780_rep, rx780_pos, $I10, $P10) = rx780_cur."!mark_fail"(0)
-    lt rx780_pos, -1, rx780_done
-    eq rx780_pos, -1, rx780_fail
+    (rx782_rep, rx782_pos, $I10, $P10) = rx782_cur."!mark_fail"(0)
+    lt rx782_pos, -1, rx782_done
+    eq rx782_pos, -1, rx782_fail
     jump $I10
-  rx780_done:
-    rx780_cur."!cursor_fail"()
-    rx780_cur."!cursor_debug"("FAIL  ", "quote:sym<dblq>")
-    .return (rx780_cur)
+  rx782_done:
+    rx782_cur."!cursor_fail"()
+    rx782_cur."!cursor_debug"("FAIL  ", "number")
+    .return (rx782_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__quote:sym<dblq>"  :subid("184_1259103982.97329") :method
+.sub "!PREFIX__number"  :subid("182_1259177761.22934") :method
 .annotate "line", 4
-    new $P782, "ResizablePMCArray"
-    push $P782, "\""
-    .return ($P782)
+    new $P784, "ResizablePMCArray"
+    push $P784, ""
+    .return ($P784)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "quote:sym<q>"  :subid("185_1259103982.97329") :method :outer("11_1259103982.97329")
-.annotate "line", 4
-    .local string rx785_tgt
-    .local int rx785_pos
-    .local int rx785_off
-    .local int rx785_eos
-    .local int rx785_rep
-    .local pmc rx785_cur
-    (rx785_cur, rx785_pos, rx785_tgt) = self."!cursor_start"()
-    rx785_cur."!cursor_debug"("START ", "quote:sym<q>")
-    .lex unicode:"$\x{a2}", rx785_cur
-    .local pmc match
-    .lex "$/", match
-    length rx785_eos, rx785_tgt
-    set rx785_off, 0
-    lt rx785_pos, 2, rx785_start
-    sub rx785_off, rx785_pos, 1
-    substr rx785_tgt, rx785_tgt, rx785_off
-  rx785_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan789_done
-    goto rxscan789_scan
-  rxscan789_loop:
-    ($P10) = rx785_cur."from"()
-    inc $P10
-    set rx785_pos, $P10
-    ge rx785_pos, rx785_eos, rxscan789_done
-  rxscan789_scan:
-    set_addr $I10, rxscan789_loop
-    rx785_cur."!mark_push"(0, rx785_pos, $I10)
-  rxscan789_done:
-.annotate "line", 372
-  # rx literal  "q"
-    add $I11, rx785_pos, 1
-    gt $I11, rx785_eos, rx785_fail
-    sub $I11, rx785_pos, rx785_off
-    substr $S10, rx785_tgt, $I11, 1
-    ne $S10, "q", rx785_fail
-    add rx785_pos, 1
-  # rx enumcharlist negate=1 zerowidth
-    ge rx785_pos, rx785_eos, rx785_fail
-    sub $I10, rx785_pos, rx785_off
-    substr $S10, rx785_tgt, $I10, 1
-    index $I11, "(", $S10
-    ge $I11, 0, rx785_fail
-  # rx subrule "ws" subtype=method negate=
-    rx785_cur."!cursor_pos"(rx785_pos)
-    $P10 = rx785_cur."ws"()
-    unless $P10, rx785_fail
-    rx785_pos = $P10."pos"()
-  # rx subrule "quote_EXPR" subtype=capture negate=
-    rx785_cur."!cursor_pos"(rx785_pos)
-    $P10 = rx785_cur."quote_EXPR"(":q")
-    unless $P10, rx785_fail
-    rx785_cur."!mark_push"(0, -1, 0, $P10)
-    $P10."!cursor_names"("quote_EXPR")
-    rx785_pos = $P10."pos"()
-  # rx pass
-    rx785_cur."!cursor_pass"(rx785_pos, "quote:sym<q>")
-    rx785_cur."!cursor_debug"("PASS  ", "quote:sym<q>", " at pos=", rx785_pos)
-    .return (rx785_cur)
-  rx785_fail:
-.annotate "line", 4
-    (rx785_rep, rx785_pos, $I10, $P10) = rx785_cur."!mark_fail"(0)
-    lt rx785_pos, -1, rx785_done
-    eq rx785_pos, -1, rx785_fail
-    jump $I10
-  rx785_done:
-    rx785_cur."!cursor_fail"()
-    rx785_cur."!cursor_debug"("FAIL  ", "quote:sym<q>")
-    .return (rx785_cur)
-    .return ()
+.sub "quote"  :subid("183_1259177761.22934") :method
+.annotate "line", 379
+    $P791 = self."!protoregex"("quote")
+    .return ($P791)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__quote:sym<q>"  :subid("186_1259103982.97329") :method
-.annotate "line", 4
-    $P787 = self."!PREFIX__!subrule"("", "q")
-    new $P788, "ResizablePMCArray"
-    push $P788, $P787
-    .return ($P788)
+.sub "!PREFIX__quote"  :subid("184_1259177761.22934") :method
+.annotate "line", 379
+    $P793 = self."!PREFIX__!protoregex"("quote")
+    .return ($P793)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "quote:sym<qq>"  :subid("187_1259103982.97329") :method :outer("11_1259103982.97329")
+.sub "quote:sym<apos>"  :subid("185_1259177761.22934") :method :outer("11_1259177761.22934")
 .annotate "line", 4
-    .local string rx791_tgt
-    .local int rx791_pos
-    .local int rx791_off
-    .local int rx791_eos
-    .local int rx791_rep
-    .local pmc rx791_cur
-    (rx791_cur, rx791_pos, rx791_tgt) = self."!cursor_start"()
-    rx791_cur."!cursor_debug"("START ", "quote:sym<qq>")
-    .lex unicode:"$\x{a2}", rx791_cur
-    .local pmc match
-    .lex "$/", match
-    length rx791_eos, rx791_tgt
-    set rx791_off, 0
-    lt rx791_pos, 2, rx791_start
-    sub rx791_off, rx791_pos, 1
-    substr rx791_tgt, rx791_tgt, rx791_off
-  rx791_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan795_done
-    goto rxscan795_scan
-  rxscan795_loop:
-    ($P10) = rx791_cur."from"()
-    inc $P10
-    set rx791_pos, $P10
-    ge rx791_pos, rx791_eos, rxscan795_done
-  rxscan795_scan:
-    set_addr $I10, rxscan795_loop
-    rx791_cur."!mark_push"(0, rx791_pos, $I10)
-  rxscan795_done:
-.annotate "line", 373
-  # rx literal  "qq"
-    add $I11, rx791_pos, 2
-    gt $I11, rx791_eos, rx791_fail
-    sub $I11, rx791_pos, rx791_off
-    substr $S10, rx791_tgt, $I11, 2
-    ne $S10, "qq", rx791_fail
-    add rx791_pos, 2
-  # rx enumcharlist negate=1 zerowidth
-    ge rx791_pos, rx791_eos, rx791_fail
-    sub $I10, rx791_pos, rx791_off
-    substr $S10, rx791_tgt, $I10, 1
-    index $I11, "(", $S10
-    ge $I11, 0, rx791_fail
-  # rx subrule "ws" subtype=method negate=
-    rx791_cur."!cursor_pos"(rx791_pos)
-    $P10 = rx791_cur."ws"()
-    unless $P10, rx791_fail
-    rx791_pos = $P10."pos"()
+    .local string rx795_tgt
+    .local int rx795_pos
+    .local int rx795_off
+    .local int rx795_eos
+    .local int rx795_rep
+    .local pmc rx795_cur
+    (rx795_cur, rx795_pos, rx795_tgt) = self."!cursor_start"()
+    rx795_cur."!cursor_debug"("START ", "quote:sym<apos>")
+    .lex unicode:"$\x{a2}", rx795_cur
+    .local pmc match
+    .lex "$/", match
+    length rx795_eos, rx795_tgt
+    set rx795_off, 0
+    lt rx795_pos, 2, rx795_start
+    sub rx795_off, rx795_pos, 1
+    substr rx795_tgt, rx795_tgt, rx795_off
+  rx795_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan798_done
+    goto rxscan798_scan
+  rxscan798_loop:
+    ($P10) = rx795_cur."from"()
+    inc $P10
+    set rx795_pos, $P10
+    ge rx795_pos, rx795_eos, rxscan798_done
+  rxscan798_scan:
+    set_addr $I10, rxscan798_loop
+    rx795_cur."!mark_push"(0, rx795_pos, $I10)
+  rxscan798_done:
+.annotate "line", 380
+  # rx enumcharlist negate=0 zerowidth
+    ge rx795_pos, rx795_eos, rx795_fail
+    sub $I10, rx795_pos, rx795_off
+    substr $S10, rx795_tgt, $I10, 1
+    index $I11, "'", $S10
+    lt $I11, 0, rx795_fail
   # rx subrule "quote_EXPR" subtype=capture negate=
-    rx791_cur."!cursor_pos"(rx791_pos)
-    $P10 = rx791_cur."quote_EXPR"(":qq")
-    unless $P10, rx791_fail
-    rx791_cur."!mark_push"(0, -1, 0, $P10)
+    rx795_cur."!cursor_pos"(rx795_pos)
+    $P10 = rx795_cur."quote_EXPR"(":q")
+    unless $P10, rx795_fail
+    rx795_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("quote_EXPR")
-    rx791_pos = $P10."pos"()
+    rx795_pos = $P10."pos"()
   # rx pass
-    rx791_cur."!cursor_pass"(rx791_pos, "quote:sym<qq>")
-    rx791_cur."!cursor_debug"("PASS  ", "quote:sym<qq>", " at pos=", rx791_pos)
-    .return (rx791_cur)
-  rx791_fail:
+    rx795_cur."!cursor_pass"(rx795_pos, "quote:sym<apos>")
+    rx795_cur."!cursor_debug"("PASS  ", "quote:sym<apos>", " at pos=", rx795_pos)
+    .return (rx795_cur)
+  rx795_fail:
 .annotate "line", 4
-    (rx791_rep, rx791_pos, $I10, $P10) = rx791_cur."!mark_fail"(0)
-    lt rx791_pos, -1, rx791_done
-    eq rx791_pos, -1, rx791_fail
+    (rx795_rep, rx795_pos, $I10, $P10) = rx795_cur."!mark_fail"(0)
+    lt rx795_pos, -1, rx795_done
+    eq rx795_pos, -1, rx795_fail
     jump $I10
-  rx791_done:
-    rx791_cur."!cursor_fail"()
-    rx791_cur."!cursor_debug"("FAIL  ", "quote:sym<qq>")
-    .return (rx791_cur)
+  rx795_done:
+    rx795_cur."!cursor_fail"()
+    rx795_cur."!cursor_debug"("FAIL  ", "quote:sym<apos>")
+    .return (rx795_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__quote:sym<qq>"  :subid("188_1259103982.97329") :method
+.sub "!PREFIX__quote:sym<apos>"  :subid("186_1259177761.22934") :method
 .annotate "line", 4
-    $P793 = self."!PREFIX__!subrule"("", "qq")
-    new $P794, "ResizablePMCArray"
-    push $P794, $P793
-    .return ($P794)
+    new $P797, "ResizablePMCArray"
+    push $P797, "'"
+    .return ($P797)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "quote:sym<Q>"  :subid("189_1259103982.97329") :method :outer("11_1259103982.97329")
+.sub "quote:sym<dblq>"  :subid("187_1259177761.22934") :method :outer("11_1259177761.22934")
 .annotate "line", 4
-    .local string rx797_tgt
-    .local int rx797_pos
-    .local int rx797_off
-    .local int rx797_eos
-    .local int rx797_rep
-    .local pmc rx797_cur
-    (rx797_cur, rx797_pos, rx797_tgt) = self."!cursor_start"()
-    rx797_cur."!cursor_debug"("START ", "quote:sym<Q>")
-    .lex unicode:"$\x{a2}", rx797_cur
+    .local string rx800_tgt
+    .local int rx800_pos
+    .local int rx800_off
+    .local int rx800_eos
+    .local int rx800_rep
+    .local pmc rx800_cur
+    (rx800_cur, rx800_pos, rx800_tgt) = self."!cursor_start"()
+    rx800_cur."!cursor_debug"("START ", "quote:sym<dblq>")
+    .lex unicode:"$\x{a2}", rx800_cur
     .local pmc match
     .lex "$/", match
-    length rx797_eos, rx797_tgt
-    set rx797_off, 0
-    lt rx797_pos, 2, rx797_start
-    sub rx797_off, rx797_pos, 1
-    substr rx797_tgt, rx797_tgt, rx797_off
-  rx797_start:
+    length rx800_eos, rx800_tgt
+    set rx800_off, 0
+    lt rx800_pos, 2, rx800_start
+    sub rx800_off, rx800_pos, 1
+    substr rx800_tgt, rx800_tgt, rx800_off
+  rx800_start:
     $I10 = self.'from'()
-    ne $I10, -1, rxscan801_done
-    goto rxscan801_scan
-  rxscan801_loop:
-    ($P10) = rx797_cur."from"()
+    ne $I10, -1, rxscan803_done
+    goto rxscan803_scan
+  rxscan803_loop:
+    ($P10) = rx800_cur."from"()
     inc $P10
-    set rx797_pos, $P10
-    ge rx797_pos, rx797_eos, rxscan801_done
-  rxscan801_scan:
-    set_addr $I10, rxscan801_loop
-    rx797_cur."!mark_push"(0, rx797_pos, $I10)
-  rxscan801_done:
-.annotate "line", 374
-  # rx literal  "Q"
-    add $I11, rx797_pos, 1
-    gt $I11, rx797_eos, rx797_fail
-    sub $I11, rx797_pos, rx797_off
-    substr $S10, rx797_tgt, $I11, 1
-    ne $S10, "Q", rx797_fail
-    add rx797_pos, 1
-  # rx enumcharlist negate=1 zerowidth
-    ge rx797_pos, rx797_eos, rx797_fail
-    sub $I10, rx797_pos, rx797_off
-    substr $S10, rx797_tgt, $I10, 1
-    index $I11, "(", $S10
-    ge $I11, 0, rx797_fail
-  # rx subrule "ws" subtype=method negate=
-    rx797_cur."!cursor_pos"(rx797_pos)
-    $P10 = rx797_cur."ws"()
-    unless $P10, rx797_fail
-    rx797_pos = $P10."pos"()
+    set rx800_pos, $P10
+    ge rx800_pos, rx800_eos, rxscan803_done
+  rxscan803_scan:
+    set_addr $I10, rxscan803_loop
+    rx800_cur."!mark_push"(0, rx800_pos, $I10)
+  rxscan803_done:
+.annotate "line", 381
+  # rx enumcharlist negate=0 zerowidth
+    ge rx800_pos, rx800_eos, rx800_fail
+    sub $I10, rx800_pos, rx800_off
+    substr $S10, rx800_tgt, $I10, 1
+    index $I11, "\"", $S10
+    lt $I11, 0, rx800_fail
   # rx subrule "quote_EXPR" subtype=capture negate=
-    rx797_cur."!cursor_pos"(rx797_pos)
-    $P10 = rx797_cur."quote_EXPR"()
-    unless $P10, rx797_fail
-    rx797_cur."!mark_push"(0, -1, 0, $P10)
+    rx800_cur."!cursor_pos"(rx800_pos)
+    $P10 = rx800_cur."quote_EXPR"(":qq")
+    unless $P10, rx800_fail
+    rx800_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("quote_EXPR")
-    rx797_pos = $P10."pos"()
+    rx800_pos = $P10."pos"()
   # rx pass
-    rx797_cur."!cursor_pass"(rx797_pos, "quote:sym<Q>")
-    rx797_cur."!cursor_debug"("PASS  ", "quote:sym<Q>", " at pos=", rx797_pos)
-    .return (rx797_cur)
-  rx797_fail:
+    rx800_cur."!cursor_pass"(rx800_pos, "quote:sym<dblq>")
+    rx800_cur."!cursor_debug"("PASS  ", "quote:sym<dblq>", " at pos=", rx800_pos)
+    .return (rx800_cur)
+  rx800_fail:
 .annotate "line", 4
-    (rx797_rep, rx797_pos, $I10, $P10) = rx797_cur."!mark_fail"(0)
-    lt rx797_pos, -1, rx797_done
-    eq rx797_pos, -1, rx797_fail
+    (rx800_rep, rx800_pos, $I10, $P10) = rx800_cur."!mark_fail"(0)
+    lt rx800_pos, -1, rx800_done
+    eq rx800_pos, -1, rx800_fail
     jump $I10
-  rx797_done:
-    rx797_cur."!cursor_fail"()
-    rx797_cur."!cursor_debug"("FAIL  ", "quote:sym<Q>")
-    .return (rx797_cur)
+  rx800_done:
+    rx800_cur."!cursor_fail"()
+    rx800_cur."!cursor_debug"("FAIL  ", "quote:sym<dblq>")
+    .return (rx800_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__quote:sym<Q>"  :subid("190_1259103982.97329") :method
+.sub "!PREFIX__quote:sym<dblq>"  :subid("188_1259177761.22934") :method
 .annotate "line", 4
-    $P799 = self."!PREFIX__!subrule"("", "Q")
-    new $P800, "ResizablePMCArray"
-    push $P800, $P799
-    .return ($P800)
+    new $P802, "ResizablePMCArray"
+    push $P802, "\""
+    .return ($P802)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "quote:sym<Q:PIR>"  :subid("191_1259103982.97329") :method :outer("11_1259103982.97329")
+.sub "quote:sym<q>"  :subid("189_1259177761.22934") :method :outer("11_1259177761.22934")
 .annotate "line", 4
-    .local string rx803_tgt
-    .local int rx803_pos
-    .local int rx803_off
-    .local int rx803_eos
-    .local int rx803_rep
-    .local pmc rx803_cur
-    (rx803_cur, rx803_pos, rx803_tgt) = self."!cursor_start"()
-    rx803_cur."!cursor_debug"("START ", "quote:sym<Q:PIR>")
-    .lex unicode:"$\x{a2}", rx803_cur
+    .local string rx805_tgt
+    .local int rx805_pos
+    .local int rx805_off
+    .local int rx805_eos
+    .local int rx805_rep
+    .local pmc rx805_cur
+    (rx805_cur, rx805_pos, rx805_tgt) = self."!cursor_start"()
+    rx805_cur."!cursor_debug"("START ", "quote:sym<q>")
+    .lex unicode:"$\x{a2}", rx805_cur
     .local pmc match
     .lex "$/", match
-    length rx803_eos, rx803_tgt
-    set rx803_off, 0
-    lt rx803_pos, 2, rx803_start
-    sub rx803_off, rx803_pos, 1
-    substr rx803_tgt, rx803_tgt, rx803_off
-  rx803_start:
+    length rx805_eos, rx805_tgt
+    set rx805_off, 0
+    lt rx805_pos, 2, rx805_start
+    sub rx805_off, rx805_pos, 1
+    substr rx805_tgt, rx805_tgt, rx805_off
+  rx805_start:
     $I10 = self.'from'()
-    ne $I10, -1, rxscan807_done
-    goto rxscan807_scan
-  rxscan807_loop:
-    ($P10) = rx803_cur."from"()
+    ne $I10, -1, rxscan809_done
+    goto rxscan809_scan
+  rxscan809_loop:
+    ($P10) = rx805_cur."from"()
     inc $P10
-    set rx803_pos, $P10
-    ge rx803_pos, rx803_eos, rxscan807_done
-  rxscan807_scan:
-    set_addr $I10, rxscan807_loop
-    rx803_cur."!mark_push"(0, rx803_pos, $I10)
-  rxscan807_done:
-.annotate "line", 375
-  # rx literal  "Q:PIR"
-    add $I11, rx803_pos, 5
-    gt $I11, rx803_eos, rx803_fail
-    sub $I11, rx803_pos, rx803_off
-    substr $S10, rx803_tgt, $I11, 5
-    ne $S10, "Q:PIR", rx803_fail
-    add rx803_pos, 5
-  # rx subrule "ws" subtype=method negate=
-    rx803_cur."!cursor_pos"(rx803_pos)
-    $P10 = rx803_cur."ws"()
-    unless $P10, rx803_fail
-    rx803_pos = $P10."pos"()
+    set rx805_pos, $P10
+    ge rx805_pos, rx805_eos, rxscan809_done
+  rxscan809_scan:
+    set_addr $I10, rxscan809_loop
+    rx805_cur."!mark_push"(0, rx805_pos, $I10)
+  rxscan809_done:
+.annotate "line", 382
+  # rx literal  "q"
+    add $I11, rx805_pos, 1
+    gt $I11, rx805_eos, rx805_fail
+    sub $I11, rx805_pos, rx805_off
+    substr $S10, rx805_tgt, $I11, 1
+    ne $S10, "q", rx805_fail
+    add rx805_pos, 1
+  # rx enumcharlist negate=1 zerowidth
+    ge rx805_pos, rx805_eos, rx805_fail
+    sub $I10, rx805_pos, rx805_off
+    substr $S10, rx805_tgt, $I10, 1
+    index $I11, "(", $S10
+    ge $I11, 0, rx805_fail
+  # rx subrule "ws" subtype=method negate=
+    rx805_cur."!cursor_pos"(rx805_pos)
+    $P10 = rx805_cur."ws"()
+    unless $P10, rx805_fail
+    rx805_pos = $P10."pos"()
   # rx subrule "quote_EXPR" subtype=capture negate=
-    rx803_cur."!cursor_pos"(rx803_pos)
-    $P10 = rx803_cur."quote_EXPR"()
-    unless $P10, rx803_fail
-    rx803_cur."!mark_push"(0, -1, 0, $P10)
+    rx805_cur."!cursor_pos"(rx805_pos)
+    $P10 = rx805_cur."quote_EXPR"(":q")
+    unless $P10, rx805_fail
+    rx805_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("quote_EXPR")
-    rx803_pos = $P10."pos"()
+    rx805_pos = $P10."pos"()
   # rx pass
-    rx803_cur."!cursor_pass"(rx803_pos, "quote:sym<Q:PIR>")
-    rx803_cur."!cursor_debug"("PASS  ", "quote:sym<Q:PIR>", " at pos=", rx803_pos)
-    .return (rx803_cur)
-  rx803_fail:
+    rx805_cur."!cursor_pass"(rx805_pos, "quote:sym<q>")
+    rx805_cur."!cursor_debug"("PASS  ", "quote:sym<q>", " at pos=", rx805_pos)
+    .return (rx805_cur)
+  rx805_fail:
 .annotate "line", 4
-    (rx803_rep, rx803_pos, $I10, $P10) = rx803_cur."!mark_fail"(0)
-    lt rx803_pos, -1, rx803_done
-    eq rx803_pos, -1, rx803_fail
+    (rx805_rep, rx805_pos, $I10, $P10) = rx805_cur."!mark_fail"(0)
+    lt rx805_pos, -1, rx805_done
+    eq rx805_pos, -1, rx805_fail
     jump $I10
-  rx803_done:
-    rx803_cur."!cursor_fail"()
-    rx803_cur."!cursor_debug"("FAIL  ", "quote:sym<Q:PIR>")
-    .return (rx803_cur)
+  rx805_done:
+    rx805_cur."!cursor_fail"()
+    rx805_cur."!cursor_debug"("FAIL  ", "quote:sym<q>")
+    .return (rx805_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__quote:sym<Q:PIR>"  :subid("192_1259103982.97329") :method
+.sub "!PREFIX__quote:sym<q>"  :subid("190_1259177761.22934") :method
 .annotate "line", 4
-    $P805 = self."!PREFIX__!subrule"("", "Q:PIR")
-    new $P806, "ResizablePMCArray"
-    push $P806, $P805
-    .return ($P806)
+    $P807 = self."!PREFIX__!subrule"("", "q")
+    new $P808, "ResizablePMCArray"
+    push $P808, $P807
+    .return ($P808)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "quote_escape:sym<$>"  :subid("193_1259103982.97329") :method :outer("11_1259103982.97329")
+.sub "quote:sym<qq>"  :subid("191_1259177761.22934") :method :outer("11_1259177761.22934")
 .annotate "line", 4
-    .local string rx809_tgt
-    .local int rx809_pos
-    .local int rx809_off
-    .local int rx809_eos
-    .local int rx809_rep
-    .local pmc rx809_cur
-    (rx809_cur, rx809_pos, rx809_tgt) = self."!cursor_start"()
-    rx809_cur."!cursor_debug"("START ", "quote_escape:sym<$>")
-    .lex unicode:"$\x{a2}", rx809_cur
+    .local string rx811_tgt
+    .local int rx811_pos
+    .local int rx811_off
+    .local int rx811_eos
+    .local int rx811_rep
+    .local pmc rx811_cur
+    (rx811_cur, rx811_pos, rx811_tgt) = self."!cursor_start"()
+    rx811_cur."!cursor_debug"("START ", "quote:sym<qq>")
+    .lex unicode:"$\x{a2}", rx811_cur
     .local pmc match
     .lex "$/", match
-    length rx809_eos, rx809_tgt
-    set rx809_off, 0
-    lt rx809_pos, 2, rx809_start
-    sub rx809_off, rx809_pos, 1
-    substr rx809_tgt, rx809_tgt, rx809_off
-  rx809_start:
+    length rx811_eos, rx811_tgt
+    set rx811_off, 0
+    lt rx811_pos, 2, rx811_start
+    sub rx811_off, rx811_pos, 1
+    substr rx811_tgt, rx811_tgt, rx811_off
+  rx811_start:
     $I10 = self.'from'()
-    ne $I10, -1, rxscan812_done
-    goto rxscan812_scan
-  rxscan812_loop:
-    ($P10) = rx809_cur."from"()
+    ne $I10, -1, rxscan815_done
+    goto rxscan815_scan
+  rxscan815_loop:
+    ($P10) = rx811_cur."from"()
     inc $P10
-    set rx809_pos, $P10
-    ge rx809_pos, rx809_eos, rxscan812_done
-  rxscan812_scan:
-    set_addr $I10, rxscan812_loop
-    rx809_cur."!mark_push"(0, rx809_pos, $I10)
-  rxscan812_done:
-.annotate "line", 377
-  # rx enumcharlist negate=0 zerowidth
-    ge rx809_pos, rx809_eos, rx809_fail
-    sub $I10, rx809_pos, rx809_off
-    substr $S10, rx809_tgt, $I10, 1
-    index $I11, "$", $S10
-    lt $I11, 0, rx809_fail
-  # rx subrule "quotemod_check" subtype=zerowidth negate=
-    rx809_cur."!cursor_pos"(rx809_pos)
-    $P10 = rx809_cur."quotemod_check"("s")
-    unless $P10, rx809_fail
-  # rx subrule "variable" subtype=capture negate=
-    rx809_cur."!cursor_pos"(rx809_pos)
-    $P10 = rx809_cur."variable"()
-    unless $P10, rx809_fail
-    rx809_cur."!mark_push"(0, -1, 0, $P10)
-    $P10."!cursor_names"("variable")
-    rx809_pos = $P10."pos"()
+    set rx811_pos, $P10
+    ge rx811_pos, rx811_eos, rxscan815_done
+  rxscan815_scan:
+    set_addr $I10, rxscan815_loop
+    rx811_cur."!mark_push"(0, rx811_pos, $I10)
+  rxscan815_done:
+.annotate "line", 383
+  # rx literal  "qq"
+    add $I11, rx811_pos, 2
+    gt $I11, rx811_eos, rx811_fail
+    sub $I11, rx811_pos, rx811_off
+    substr $S10, rx811_tgt, $I11, 2
+    ne $S10, "qq", rx811_fail
+    add rx811_pos, 2
+  # rx enumcharlist negate=1 zerowidth
+    ge rx811_pos, rx811_eos, rx811_fail
+    sub $I10, rx811_pos, rx811_off
+    substr $S10, rx811_tgt, $I10, 1
+    index $I11, "(", $S10
+    ge $I11, 0, rx811_fail
+  # rx subrule "ws" subtype=method negate=
+    rx811_cur."!cursor_pos"(rx811_pos)
+    $P10 = rx811_cur."ws"()
+    unless $P10, rx811_fail
+    rx811_pos = $P10."pos"()
+  # rx subrule "quote_EXPR" subtype=capture negate=
+    rx811_cur."!cursor_pos"(rx811_pos)
+    $P10 = rx811_cur."quote_EXPR"(":qq")
+    unless $P10, rx811_fail
+    rx811_cur."!mark_push"(0, -1, 0, $P10)
+    $P10."!cursor_names"("quote_EXPR")
+    rx811_pos = $P10."pos"()
   # rx pass
-    rx809_cur."!cursor_pass"(rx809_pos, "quote_escape:sym<$>")
-    rx809_cur."!cursor_debug"("PASS  ", "quote_escape:sym<$>", " at pos=", rx809_pos)
-    .return (rx809_cur)
-  rx809_fail:
+    rx811_cur."!cursor_pass"(rx811_pos, "quote:sym<qq>")
+    rx811_cur."!cursor_debug"("PASS  ", "quote:sym<qq>", " at pos=", rx811_pos)
+    .return (rx811_cur)
+  rx811_fail:
 .annotate "line", 4
-    (rx809_rep, rx809_pos, $I10, $P10) = rx809_cur."!mark_fail"(0)
-    lt rx809_pos, -1, rx809_done
-    eq rx809_pos, -1, rx809_fail
+    (rx811_rep, rx811_pos, $I10, $P10) = rx811_cur."!mark_fail"(0)
+    lt rx811_pos, -1, rx811_done
+    eq rx811_pos, -1, rx811_fail
     jump $I10
-  rx809_done:
-    rx809_cur."!cursor_fail"()
-    rx809_cur."!cursor_debug"("FAIL  ", "quote_escape:sym<$>")
-    .return (rx809_cur)
+  rx811_done:
+    rx811_cur."!cursor_fail"()
+    rx811_cur."!cursor_debug"("FAIL  ", "quote:sym<qq>")
+    .return (rx811_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__quote_escape:sym<$>"  :subid("194_1259103982.97329") :method
+.sub "!PREFIX__quote:sym<qq>"  :subid("192_1259177761.22934") :method
 .annotate "line", 4
-    new $P811, "ResizablePMCArray"
-    push $P811, "$"
-    .return ($P811)
+    $P813 = self."!PREFIX__!subrule"("", "qq")
+    new $P814, "ResizablePMCArray"
+    push $P814, $P813
+    .return ($P814)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "quote_escape:sym<{ }>"  :subid("195_1259103982.97329") :method :outer("11_1259103982.97329")
+.sub "quote:sym<Q>"  :subid("193_1259177761.22934") :method :outer("11_1259177761.22934")
 .annotate "line", 4
-    .local string rx814_tgt
-    .local int rx814_pos
-    .local int rx814_off
-    .local int rx814_eos
-    .local int rx814_rep
-    .local pmc rx814_cur
-    (rx814_cur, rx814_pos, rx814_tgt) = self."!cursor_start"()
-    rx814_cur."!cursor_debug"("START ", "quote_escape:sym<{ }>")
-    .lex unicode:"$\x{a2}", rx814_cur
+    .local string rx817_tgt
+    .local int rx817_pos
+    .local int rx817_off
+    .local int rx817_eos
+    .local int rx817_rep
+    .local pmc rx817_cur
+    (rx817_cur, rx817_pos, rx817_tgt) = self."!cursor_start"()
+    rx817_cur."!cursor_debug"("START ", "quote:sym<Q>")
+    .lex unicode:"$\x{a2}", rx817_cur
     .local pmc match
     .lex "$/", match
-    length rx814_eos, rx814_tgt
-    set rx814_off, 0
-    lt rx814_pos, 2, rx814_start
-    sub rx814_off, rx814_pos, 1
-    substr rx814_tgt, rx814_tgt, rx814_off
-  rx814_start:
+    length rx817_eos, rx817_tgt
+    set rx817_off, 0
+    lt rx817_pos, 2, rx817_start
+    sub rx817_off, rx817_pos, 1
+    substr rx817_tgt, rx817_tgt, rx817_off
+  rx817_start:
     $I10 = self.'from'()
-    ne $I10, -1, rxscan817_done
-    goto rxscan817_scan
-  rxscan817_loop:
-    ($P10) = rx814_cur."from"()
+    ne $I10, -1, rxscan821_done
+    goto rxscan821_scan
+  rxscan821_loop:
+    ($P10) = rx817_cur."from"()
     inc $P10
-    set rx814_pos, $P10
-    ge rx814_pos, rx814_eos, rxscan817_done
-  rxscan817_scan:
-    set_addr $I10, rxscan817_loop
-    rx814_cur."!mark_push"(0, rx814_pos, $I10)
-  rxscan817_done:
-.annotate "line", 378
-  # rx enumcharlist negate=0 zerowidth
-    ge rx814_pos, rx814_eos, rx814_fail
-    sub $I10, rx814_pos, rx814_off
-    substr $S10, rx814_tgt, $I10, 1
-    index $I11, "{", $S10
-    lt $I11, 0, rx814_fail
-  # rx subrule "quotemod_check" subtype=zerowidth negate=
-    rx814_cur."!cursor_pos"(rx814_pos)
-    $P10 = rx814_cur."quotemod_check"("c")
-    unless $P10, rx814_fail
-  # rx subrule "block" subtype=capture negate=
-    rx814_cur."!cursor_pos"(rx814_pos)
-    $P10 = rx814_cur."block"()
-    unless $P10, rx814_fail
-    rx814_cur."!mark_push"(0, -1, 0, $P10)
-    $P10."!cursor_names"("block")
-    rx814_pos = $P10."pos"()
+    set rx817_pos, $P10
+    ge rx817_pos, rx817_eos, rxscan821_done
+  rxscan821_scan:
+    set_addr $I10, rxscan821_loop
+    rx817_cur."!mark_push"(0, rx817_pos, $I10)
+  rxscan821_done:
+.annotate "line", 384
+  # rx literal  "Q"
+    add $I11, rx817_pos, 1
+    gt $I11, rx817_eos, rx817_fail
+    sub $I11, rx817_pos, rx817_off
+    substr $S10, rx817_tgt, $I11, 1
+    ne $S10, "Q", rx817_fail
+    add rx817_pos, 1
+  # rx enumcharlist negate=1 zerowidth
+    ge rx817_pos, rx817_eos, rx817_fail
+    sub $I10, rx817_pos, rx817_off
+    substr $S10, rx817_tgt, $I10, 1
+    index $I11, "(", $S10
+    ge $I11, 0, rx817_fail
+  # rx subrule "ws" subtype=method negate=
+    rx817_cur."!cursor_pos"(rx817_pos)
+    $P10 = rx817_cur."ws"()
+    unless $P10, rx817_fail
+    rx817_pos = $P10."pos"()
+  # rx subrule "quote_EXPR" subtype=capture negate=
+    rx817_cur."!cursor_pos"(rx817_pos)
+    $P10 = rx817_cur."quote_EXPR"()
+    unless $P10, rx817_fail
+    rx817_cur."!mark_push"(0, -1, 0, $P10)
+    $P10."!cursor_names"("quote_EXPR")
+    rx817_pos = $P10."pos"()
   # rx pass
-    rx814_cur."!cursor_pass"(rx814_pos, "quote_escape:sym<{ }>")
-    rx814_cur."!cursor_debug"("PASS  ", "quote_escape:sym<{ }>", " at pos=", rx814_pos)
-    .return (rx814_cur)
-  rx814_fail:
+    rx817_cur."!cursor_pass"(rx817_pos, "quote:sym<Q>")
+    rx817_cur."!cursor_debug"("PASS  ", "quote:sym<Q>", " at pos=", rx817_pos)
+    .return (rx817_cur)
+  rx817_fail:
 .annotate "line", 4
-    (rx814_rep, rx814_pos, $I10, $P10) = rx814_cur."!mark_fail"(0)
-    lt rx814_pos, -1, rx814_done
-    eq rx814_pos, -1, rx814_fail
+    (rx817_rep, rx817_pos, $I10, $P10) = rx817_cur."!mark_fail"(0)
+    lt rx817_pos, -1, rx817_done
+    eq rx817_pos, -1, rx817_fail
     jump $I10
-  rx814_done:
-    rx814_cur."!cursor_fail"()
-    rx814_cur."!cursor_debug"("FAIL  ", "quote_escape:sym<{ }>")
-    .return (rx814_cur)
+  rx817_done:
+    rx817_cur."!cursor_fail"()
+    rx817_cur."!cursor_debug"("FAIL  ", "quote:sym<Q>")
+    .return (rx817_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__quote_escape:sym<{ }>"  :subid("196_1259103982.97329") :method
+.sub "!PREFIX__quote:sym<Q>"  :subid("194_1259177761.22934") :method
 .annotate "line", 4
-    new $P816, "ResizablePMCArray"
-    push $P816, "{"
-    .return ($P816)
+    $P819 = self."!PREFIX__!subrule"("", "Q")
+    new $P820, "ResizablePMCArray"
+    push $P820, $P819
+    .return ($P820)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "circumfix:sym<( )>"  :subid("197_1259103982.97329") :method :outer("11_1259103982.97329")
+.sub "quote:sym<Q:PIR>"  :subid("195_1259177761.22934") :method :outer("11_1259177761.22934")
 .annotate "line", 4
-    .local string rx819_tgt
-    .local int rx819_pos
-    .local int rx819_off
-    .local int rx819_eos
-    .local int rx819_rep
-    .local pmc rx819_cur
-    (rx819_cur, rx819_pos, rx819_tgt) = self."!cursor_start"()
-    rx819_cur."!cursor_debug"("START ", "circumfix:sym<( )>")
-    rx819_cur."!cursor_caparray"("EXPR")
-    .lex unicode:"$\x{a2}", rx819_cur
+    .local string rx823_tgt
+    .local int rx823_pos
+    .local int rx823_off
+    .local int rx823_eos
+    .local int rx823_rep
+    .local pmc rx823_cur
+    (rx823_cur, rx823_pos, rx823_tgt) = self."!cursor_start"()
+    rx823_cur."!cursor_debug"("START ", "quote:sym<Q:PIR>")
+    .lex unicode:"$\x{a2}", rx823_cur
     .local pmc match
     .lex "$/", match
-    length rx819_eos, rx819_tgt
-    set rx819_off, 0
-    lt rx819_pos, 2, rx819_start
-    sub rx819_off, rx819_pos, 1
-    substr rx819_tgt, rx819_tgt, rx819_off
-  rx819_start:
+    length rx823_eos, rx823_tgt
+    set rx823_off, 0
+    lt rx823_pos, 2, rx823_start
+    sub rx823_off, rx823_pos, 1
+    substr rx823_tgt, rx823_tgt, rx823_off
+  rx823_start:
     $I10 = self.'from'()
-    ne $I10, -1, rxscan823_done
-    goto rxscan823_scan
-  rxscan823_loop:
-    ($P10) = rx819_cur."from"()
+    ne $I10, -1, rxscan827_done
+    goto rxscan827_scan
+  rxscan827_loop:
+    ($P10) = rx823_cur."from"()
     inc $P10
-    set rx819_pos, $P10
-    ge rx819_pos, rx819_eos, rxscan823_done
-  rxscan823_scan:
-    set_addr $I10, rxscan823_loop
-    rx819_cur."!mark_push"(0, rx819_pos, $I10)
-  rxscan823_done:
-.annotate "line", 380
-  # rx literal  "("
-    add $I11, rx819_pos, 1
-    gt $I11, rx819_eos, rx819_fail
-    sub $I11, rx819_pos, rx819_off
-    substr $S10, rx819_tgt, $I11, 1
-    ne $S10, "(", rx819_fail
-    add rx819_pos, 1
-  # rx subrule "ws" subtype=method negate=
-    rx819_cur."!cursor_pos"(rx819_pos)
-    $P10 = rx819_cur."ws"()
-    unless $P10, rx819_fail
-    rx819_pos = $P10."pos"()
-  # rx rxquantr824 ** 0..1
-    set_addr $I825, rxquantr824_done
-    rx819_cur."!mark_push"(0, rx819_pos, $I825)
-  rxquantr824_loop:
-  # rx subrule "EXPR" subtype=capture negate=
-    rx819_cur."!cursor_pos"(rx819_pos)
-    $P10 = rx819_cur."EXPR"()
-    unless $P10, rx819_fail
-    rx819_cur."!mark_push"(0, -1, 0, $P10)
-    $P10."!cursor_names"("EXPR")
-    rx819_pos = $P10."pos"()
-    (rx819_rep) = rx819_cur."!mark_commit"($I825)
-  rxquantr824_done:
-  # rx literal  ")"
-    add $I11, rx819_pos, 1
-    gt $I11, rx819_eos, rx819_fail
-    sub $I11, rx819_pos, rx819_off
-    substr $S10, rx819_tgt, $I11, 1
-    ne $S10, ")", rx819_fail
-    add rx819_pos, 1
+    set rx823_pos, $P10
+    ge rx823_pos, rx823_eos, rxscan827_done
+  rxscan827_scan:
+    set_addr $I10, rxscan827_loop
+    rx823_cur."!mark_push"(0, rx823_pos, $I10)
+  rxscan827_done:
+.annotate "line", 385
+  # rx literal  "Q:PIR"
+    add $I11, rx823_pos, 5
+    gt $I11, rx823_eos, rx823_fail
+    sub $I11, rx823_pos, rx823_off
+    substr $S10, rx823_tgt, $I11, 5
+    ne $S10, "Q:PIR", rx823_fail
+    add rx823_pos, 5
+  # rx subrule "ws" subtype=method negate=
+    rx823_cur."!cursor_pos"(rx823_pos)
+    $P10 = rx823_cur."ws"()
+    unless $P10, rx823_fail
+    rx823_pos = $P10."pos"()
+  # rx subrule "quote_EXPR" subtype=capture negate=
+    rx823_cur."!cursor_pos"(rx823_pos)
+    $P10 = rx823_cur."quote_EXPR"()
+    unless $P10, rx823_fail
+    rx823_cur."!mark_push"(0, -1, 0, $P10)
+    $P10."!cursor_names"("quote_EXPR")
+    rx823_pos = $P10."pos"()
   # rx pass
-    rx819_cur."!cursor_pass"(rx819_pos, "circumfix:sym<( )>")
-    rx819_cur."!cursor_debug"("PASS  ", "circumfix:sym<( )>", " at pos=", rx819_pos)
-    .return (rx819_cur)
-  rx819_fail:
+    rx823_cur."!cursor_pass"(rx823_pos, "quote:sym<Q:PIR>")
+    rx823_cur."!cursor_debug"("PASS  ", "quote:sym<Q:PIR>", " at pos=", rx823_pos)
+    .return (rx823_cur)
+  rx823_fail:
 .annotate "line", 4
-    (rx819_rep, rx819_pos, $I10, $P10) = rx819_cur."!mark_fail"(0)
-    lt rx819_pos, -1, rx819_done
-    eq rx819_pos, -1, rx819_fail
+    (rx823_rep, rx823_pos, $I10, $P10) = rx823_cur."!mark_fail"(0)
+    lt rx823_pos, -1, rx823_done
+    eq rx823_pos, -1, rx823_fail
     jump $I10
-  rx819_done:
-    rx819_cur."!cursor_fail"()
-    rx819_cur."!cursor_debug"("FAIL  ", "circumfix:sym<( )>")
-    .return (rx819_cur)
+  rx823_done:
+    rx823_cur."!cursor_fail"()
+    rx823_cur."!cursor_debug"("FAIL  ", "quote:sym<Q:PIR>")
+    .return (rx823_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__circumfix:sym<( )>"  :subid("198_1259103982.97329") :method
+.sub "!PREFIX__quote:sym<Q:PIR>"  :subid("196_1259177761.22934") :method
 .annotate "line", 4
-    $P821 = self."!PREFIX__!subrule"("", "(")
-    new $P822, "ResizablePMCArray"
-    push $P822, $P821
-    .return ($P822)
+    $P825 = self."!PREFIX__!subrule"("", "Q:PIR")
+    new $P826, "ResizablePMCArray"
+    push $P826, $P825
+    .return ($P826)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "circumfix:sym<[ ]>"  :subid("199_1259103982.97329") :method :outer("11_1259103982.97329")
+.sub "quote_escape:sym<$>"  :subid("197_1259177761.22934") :method :outer("11_1259177761.22934")
 .annotate "line", 4
-    .local string rx827_tgt
-    .local int rx827_pos
-    .local int rx827_off
-    .local int rx827_eos
-    .local int rx827_rep
-    .local pmc rx827_cur
-    (rx827_cur, rx827_pos, rx827_tgt) = self."!cursor_start"()
-    rx827_cur."!cursor_debug"("START ", "circumfix:sym<[ ]>")
-    rx827_cur."!cursor_caparray"("EXPR")
-    .lex unicode:"$\x{a2}", rx827_cur
+    .local string rx829_tgt
+    .local int rx829_pos
+    .local int rx829_off
+    .local int rx829_eos
+    .local int rx829_rep
+    .local pmc rx829_cur
+    (rx829_cur, rx829_pos, rx829_tgt) = self."!cursor_start"()
+    rx829_cur."!cursor_debug"("START ", "quote_escape:sym<$>")
+    .lex unicode:"$\x{a2}", rx829_cur
     .local pmc match
     .lex "$/", match
-    length rx827_eos, rx827_tgt
-    set rx827_off, 0
-    lt rx827_pos, 2, rx827_start
-    sub rx827_off, rx827_pos, 1
-    substr rx827_tgt, rx827_tgt, rx827_off
-  rx827_start:
+    length rx829_eos, rx829_tgt
+    set rx829_off, 0
+    lt rx829_pos, 2, rx829_start
+    sub rx829_off, rx829_pos, 1
+    substr rx829_tgt, rx829_tgt, rx829_off
+  rx829_start:
     $I10 = self.'from'()
-    ne $I10, -1, rxscan831_done
-    goto rxscan831_scan
-  rxscan831_loop:
-    ($P10) = rx827_cur."from"()
+    ne $I10, -1, rxscan832_done
+    goto rxscan832_scan
+  rxscan832_loop:
+    ($P10) = rx829_cur."from"()
     inc $P10
-    set rx827_pos, $P10
-    ge rx827_pos, rx827_eos, rxscan831_done
-  rxscan831_scan:
-    set_addr $I10, rxscan831_loop
-    rx827_cur."!mark_push"(0, rx827_pos, $I10)
-  rxscan831_done:
-.annotate "line", 381
-  # rx literal  "["
-    add $I11, rx827_pos, 1
-    gt $I11, rx827_eos, rx827_fail
-    sub $I11, rx827_pos, rx827_off
-    substr $S10, rx827_tgt, $I11, 1
-    ne $S10, "[", rx827_fail
-    add rx827_pos, 1
-  # rx subrule "ws" subtype=method negate=
-    rx827_cur."!cursor_pos"(rx827_pos)
-    $P10 = rx827_cur."ws"()
-    unless $P10, rx827_fail
-    rx827_pos = $P10."pos"()
-  # rx rxquantr832 ** 0..1
-    set_addr $I833, rxquantr832_done
-    rx827_cur."!mark_push"(0, rx827_pos, $I833)
-  rxquantr832_loop:
-  # rx subrule "EXPR" subtype=capture negate=
-    rx827_cur."!cursor_pos"(rx827_pos)
-    $P10 = rx827_cur."EXPR"()
-    unless $P10, rx827_fail
-    rx827_cur."!mark_push"(0, -1, 0, $P10)
-    $P10."!cursor_names"("EXPR")
-    rx827_pos = $P10."pos"()
-    (rx827_rep) = rx827_cur."!mark_commit"($I833)
-  rxquantr832_done:
-  # rx literal  "]"
-    add $I11, rx827_pos, 1
-    gt $I11, rx827_eos, rx827_fail
-    sub $I11, rx827_pos, rx827_off
-    substr $S10, rx827_tgt, $I11, 1
-    ne $S10, "]", rx827_fail
-    add rx827_pos, 1
+    set rx829_pos, $P10
+    ge rx829_pos, rx829_eos, rxscan832_done
+  rxscan832_scan:
+    set_addr $I10, rxscan832_loop
+    rx829_cur."!mark_push"(0, rx829_pos, $I10)
+  rxscan832_done:
+.annotate "line", 387
+  # rx enumcharlist negate=0 zerowidth
+    ge rx829_pos, rx829_eos, rx829_fail
+    sub $I10, rx829_pos, rx829_off
+    substr $S10, rx829_tgt, $I10, 1
+    index $I11, "$", $S10
+    lt $I11, 0, rx829_fail
+  # rx subrule "quotemod_check" subtype=zerowidth negate=
+    rx829_cur."!cursor_pos"(rx829_pos)
+    $P10 = rx829_cur."quotemod_check"("s")
+    unless $P10, rx829_fail
+  # rx subrule "variable" subtype=capture negate=
+    rx829_cur."!cursor_pos"(rx829_pos)
+    $P10 = rx829_cur."variable"()
+    unless $P10, rx829_fail
+    rx829_cur."!mark_push"(0, -1, 0, $P10)
+    $P10."!cursor_names"("variable")
+    rx829_pos = $P10."pos"()
   # rx pass
-    rx827_cur."!cursor_pass"(rx827_pos, "circumfix:sym<[ ]>")
-    rx827_cur."!cursor_debug"("PASS  ", "circumfix:sym<[ ]>", " at pos=", rx827_pos)
-    .return (rx827_cur)
-  rx827_fail:
+    rx829_cur."!cursor_pass"(rx829_pos, "quote_escape:sym<$>")
+    rx829_cur."!cursor_debug"("PASS  ", "quote_escape:sym<$>", " at pos=", rx829_pos)
+    .return (rx829_cur)
+  rx829_fail:
 .annotate "line", 4
-    (rx827_rep, rx827_pos, $I10, $P10) = rx827_cur."!mark_fail"(0)
-    lt rx827_pos, -1, rx827_done
-    eq rx827_pos, -1, rx827_fail
+    (rx829_rep, rx829_pos, $I10, $P10) = rx829_cur."!mark_fail"(0)
+    lt rx829_pos, -1, rx829_done
+    eq rx829_pos, -1, rx829_fail
     jump $I10
-  rx827_done:
-    rx827_cur."!cursor_fail"()
-    rx827_cur."!cursor_debug"("FAIL  ", "circumfix:sym<[ ]>")
-    .return (rx827_cur)
+  rx829_done:
+    rx829_cur."!cursor_fail"()
+    rx829_cur."!cursor_debug"("FAIL  ", "quote_escape:sym<$>")
+    .return (rx829_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__circumfix:sym<[ ]>"  :subid("200_1259103982.97329") :method
+.sub "!PREFIX__quote_escape:sym<$>"  :subid("198_1259177761.22934") :method
 .annotate "line", 4
-    $P829 = self."!PREFIX__!subrule"("", "[")
-    new $P830, "ResizablePMCArray"
-    push $P830, $P829
-    .return ($P830)
+    new $P831, "ResizablePMCArray"
+    push $P831, "$"
+    .return ($P831)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "circumfix:sym<ang>"  :subid("201_1259103982.97329") :method :outer("11_1259103982.97329")
+.sub "quote_escape:sym<{ }>"  :subid("199_1259177761.22934") :method :outer("11_1259177761.22934")
 .annotate "line", 4
-    .local string rx835_tgt
-    .local int rx835_pos
-    .local int rx835_off
-    .local int rx835_eos
-    .local int rx835_rep
-    .local pmc rx835_cur
-    (rx835_cur, rx835_pos, rx835_tgt) = self."!cursor_start"()
-    rx835_cur."!cursor_debug"("START ", "circumfix:sym<ang>")
-    .lex unicode:"$\x{a2}", rx835_cur
+    .local string rx834_tgt
+    .local int rx834_pos
+    .local int rx834_off
+    .local int rx834_eos
+    .local int rx834_rep
+    .local pmc rx834_cur
+    (rx834_cur, rx834_pos, rx834_tgt) = self."!cursor_start"()
+    rx834_cur."!cursor_debug"("START ", "quote_escape:sym<{ }>")
+    .lex unicode:"$\x{a2}", rx834_cur
     .local pmc match
     .lex "$/", match
-    length rx835_eos, rx835_tgt
-    set rx835_off, 0
-    lt rx835_pos, 2, rx835_start
-    sub rx835_off, rx835_pos, 1
-    substr rx835_tgt, rx835_tgt, rx835_off
-  rx835_start:
+    length rx834_eos, rx834_tgt
+    set rx834_off, 0
+    lt rx834_pos, 2, rx834_start
+    sub rx834_off, rx834_pos, 1
+    substr rx834_tgt, rx834_tgt, rx834_off
+  rx834_start:
     $I10 = self.'from'()
-    ne $I10, -1, rxscan838_done
-    goto rxscan838_scan
-  rxscan838_loop:
-    ($P10) = rx835_cur."from"()
+    ne $I10, -1, rxscan837_done
+    goto rxscan837_scan
+  rxscan837_loop:
+    ($P10) = rx834_cur."from"()
     inc $P10
-    set rx835_pos, $P10
-    ge rx835_pos, rx835_eos, rxscan838_done
-  rxscan838_scan:
-    set_addr $I10, rxscan838_loop
-    rx835_cur."!mark_push"(0, rx835_pos, $I10)
-  rxscan838_done:
-.annotate "line", 382
+    set rx834_pos, $P10
+    ge rx834_pos, rx834_eos, rxscan837_done
+  rxscan837_scan:
+    set_addr $I10, rxscan837_loop
+    rx834_cur."!mark_push"(0, rx834_pos, $I10)
+  rxscan837_done:
+.annotate "line", 388
   # rx enumcharlist negate=0 zerowidth
-    ge rx835_pos, rx835_eos, rx835_fail
-    sub $I10, rx835_pos, rx835_off
-    substr $S10, rx835_tgt, $I10, 1
-    index $I11, "<", $S10
-    lt $I11, 0, rx835_fail
-  # rx subrule "quote_EXPR" subtype=capture negate=
-    rx835_cur."!cursor_pos"(rx835_pos)
-    $P10 = rx835_cur."quote_EXPR"(":q", ":w")
-    unless $P10, rx835_fail
-    rx835_cur."!mark_push"(0, -1, 0, $P10)
-    $P10."!cursor_names"("quote_EXPR")
-    rx835_pos = $P10."pos"()
+    ge rx834_pos, rx834_eos, rx834_fail
+    sub $I10, rx834_pos, rx834_off
+    substr $S10, rx834_tgt, $I10, 1
+    index $I11, "{", $S10
+    lt $I11, 0, rx834_fail
+  # rx subrule "quotemod_check" subtype=zerowidth negate=
+    rx834_cur."!cursor_pos"(rx834_pos)
+    $P10 = rx834_cur."quotemod_check"("c")
+    unless $P10, rx834_fail
+  # rx subrule "block" subtype=capture negate=
+    rx834_cur."!cursor_pos"(rx834_pos)
+    $P10 = rx834_cur."block"()
+    unless $P10, rx834_fail
+    rx834_cur."!mark_push"(0, -1, 0, $P10)
+    $P10."!cursor_names"("block")
+    rx834_pos = $P10."pos"()
   # rx pass
-    rx835_cur."!cursor_pass"(rx835_pos, "circumfix:sym<ang>")
-    rx835_cur."!cursor_debug"("PASS  ", "circumfix:sym<ang>", " at pos=", rx835_pos)
-    .return (rx835_cur)
-  rx835_fail:
+    rx834_cur."!cursor_pass"(rx834_pos, "quote_escape:sym<{ }>")
+    rx834_cur."!cursor_debug"("PASS  ", "quote_escape:sym<{ }>", " at pos=", rx834_pos)
+    .return (rx834_cur)
+  rx834_fail:
 .annotate "line", 4
-    (rx835_rep, rx835_pos, $I10, $P10) = rx835_cur."!mark_fail"(0)
-    lt rx835_pos, -1, rx835_done
-    eq rx835_pos, -1, rx835_fail
+    (rx834_rep, rx834_pos, $I10, $P10) = rx834_cur."!mark_fail"(0)
+    lt rx834_pos, -1, rx834_done
+    eq rx834_pos, -1, rx834_fail
     jump $I10
-  rx835_done:
-    rx835_cur."!cursor_fail"()
-    rx835_cur."!cursor_debug"("FAIL  ", "circumfix:sym<ang>")
-    .return (rx835_cur)
+  rx834_done:
+    rx834_cur."!cursor_fail"()
+    rx834_cur."!cursor_debug"("FAIL  ", "quote_escape:sym<{ }>")
+    .return (rx834_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__circumfix:sym<ang>"  :subid("202_1259103982.97329") :method
+.sub "!PREFIX__quote_escape:sym<{ }>"  :subid("200_1259177761.22934") :method
 .annotate "line", 4
-    new $P837, "ResizablePMCArray"
-    push $P837, "<"
-    .return ($P837)
+    new $P836, "ResizablePMCArray"
+    push $P836, "{"
+    .return ($P836)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "circumfix:sym<{ }>"  :subid("203_1259103982.97329") :method :outer("11_1259103982.97329")
+.sub "circumfix:sym<( )>"  :subid("201_1259177761.22934") :method :outer("11_1259177761.22934")
 .annotate "line", 4
-    .local string rx840_tgt
-    .local int rx840_pos
-    .local int rx840_off
-    .local int rx840_eos
-    .local int rx840_rep
-    .local pmc rx840_cur
-    (rx840_cur, rx840_pos, rx840_tgt) = self."!cursor_start"()
-    rx840_cur."!cursor_debug"("START ", "circumfix:sym<{ }>")
-    .lex unicode:"$\x{a2}", rx840_cur
+    .local string rx839_tgt
+    .local int rx839_pos
+    .local int rx839_off
+    .local int rx839_eos
+    .local int rx839_rep
+    .local pmc rx839_cur
+    (rx839_cur, rx839_pos, rx839_tgt) = self."!cursor_start"()
+    rx839_cur."!cursor_debug"("START ", "circumfix:sym<( )>")
+    rx839_cur."!cursor_caparray"("EXPR")
+    .lex unicode:"$\x{a2}", rx839_cur
     .local pmc match
     .lex "$/", match
-    length rx840_eos, rx840_tgt
-    set rx840_off, 0
-    lt rx840_pos, 2, rx840_start
-    sub rx840_off, rx840_pos, 1
-    substr rx840_tgt, rx840_tgt, rx840_off
-  rx840_start:
+    length rx839_eos, rx839_tgt
+    set rx839_off, 0
+    lt rx839_pos, 2, rx839_start
+    sub rx839_off, rx839_pos, 1
+    substr rx839_tgt, rx839_tgt, rx839_off
+  rx839_start:
     $I10 = self.'from'()
     ne $I10, -1, rxscan843_done
     goto rxscan843_scan
   rxscan843_loop:
-    ($P10) = rx840_cur."from"()
+    ($P10) = rx839_cur."from"()
     inc $P10
-    set rx840_pos, $P10
-    ge rx840_pos, rx840_eos, rxscan843_done
+    set rx839_pos, $P10
+    ge rx839_pos, rx839_eos, rxscan843_done
   rxscan843_scan:
     set_addr $I10, rxscan843_loop
-    rx840_cur."!mark_push"(0, rx840_pos, $I10)
+    rx839_cur."!mark_push"(0, rx839_pos, $I10)
   rxscan843_done:
-.annotate "line", 383
-  # rx enumcharlist negate=0 zerowidth
-    ge rx840_pos, rx840_eos, rx840_fail
-    sub $I10, rx840_pos, rx840_off
-    substr $S10, rx840_tgt, $I10, 1
-    index $I11, "{", $S10
-    lt $I11, 0, rx840_fail
-  # rx subrule "pblock" subtype=capture negate=
-    rx840_cur."!cursor_pos"(rx840_pos)
-    $P10 = rx840_cur."pblock"()
-    unless $P10, rx840_fail
-    rx840_cur."!mark_push"(0, -1, 0, $P10)
-    $P10."!cursor_names"("pblock")
-    rx840_pos = $P10."pos"()
+.annotate "line", 390
+  # rx literal  "("
+    add $I11, rx839_pos, 1
+    gt $I11, rx839_eos, rx839_fail
+    sub $I11, rx839_pos, rx839_off
+    substr $S10, rx839_tgt, $I11, 1
+    ne $S10, "(", rx839_fail
+    add rx839_pos, 1
+  # rx subrule "ws" subtype=method negate=
+    rx839_cur."!cursor_pos"(rx839_pos)
+    $P10 = rx839_cur."ws"()
+    unless $P10, rx839_fail
+    rx839_pos = $P10."pos"()
+  # rx rxquantr844 ** 0..1
+    set_addr $I845, rxquantr844_done
+    rx839_cur."!mark_push"(0, rx839_pos, $I845)
+  rxquantr844_loop:
+  # rx subrule "EXPR" subtype=capture negate=
+    rx839_cur."!cursor_pos"(rx839_pos)
+    $P10 = rx839_cur."EXPR"()
+    unless $P10, rx839_fail
+    rx839_cur."!mark_push"(0, -1, 0, $P10)
+    $P10."!cursor_names"("EXPR")
+    rx839_pos = $P10."pos"()
+    (rx839_rep) = rx839_cur."!mark_commit"($I845)
+  rxquantr844_done:
+  # rx literal  ")"
+    add $I11, rx839_pos, 1
+    gt $I11, rx839_eos, rx839_fail
+    sub $I11, rx839_pos, rx839_off
+    substr $S10, rx839_tgt, $I11, 1
+    ne $S10, ")", rx839_fail
+    add rx839_pos, 1
   # rx pass
-    rx840_cur."!cursor_pass"(rx840_pos, "circumfix:sym<{ }>")
-    rx840_cur."!cursor_debug"("PASS  ", "circumfix:sym<{ }>", " at pos=", rx840_pos)
-    .return (rx840_cur)
-  rx840_fail:
+    rx839_cur."!cursor_pass"(rx839_pos, "circumfix:sym<( )>")
+    rx839_cur."!cursor_debug"("PASS  ", "circumfix:sym<( )>", " at pos=", rx839_pos)
+    .return (rx839_cur)
+  rx839_fail:
 .annotate "line", 4
-    (rx840_rep, rx840_pos, $I10, $P10) = rx840_cur."!mark_fail"(0)
-    lt rx840_pos, -1, rx840_done
-    eq rx840_pos, -1, rx840_fail
+    (rx839_rep, rx839_pos, $I10, $P10) = rx839_cur."!mark_fail"(0)
+    lt rx839_pos, -1, rx839_done
+    eq rx839_pos, -1, rx839_fail
     jump $I10
-  rx840_done:
-    rx840_cur."!cursor_fail"()
-    rx840_cur."!cursor_debug"("FAIL  ", "circumfix:sym<{ }>")
-    .return (rx840_cur)
+  rx839_done:
+    rx839_cur."!cursor_fail"()
+    rx839_cur."!cursor_debug"("FAIL  ", "circumfix:sym<( )>")
+    .return (rx839_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__circumfix:sym<{ }>"  :subid("204_1259103982.97329") :method
+.sub "!PREFIX__circumfix:sym<( )>"  :subid("202_1259177761.22934") :method
 .annotate "line", 4
+    $P841 = self."!PREFIX__!subrule"("", "(")
     new $P842, "ResizablePMCArray"
-    push $P842, "{"
+    push $P842, $P841
     .return ($P842)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "circumfix:sym<sigil>"  :subid("205_1259103982.97329") :method :outer("11_1259103982.97329")
+.sub "circumfix:sym<[ ]>"  :subid("203_1259177761.22934") :method :outer("11_1259177761.22934")
 .annotate "line", 4
-    .local string rx845_tgt
-    .local int rx845_pos
-    .local int rx845_off
-    .local int rx845_eos
-    .local int rx845_rep
-    .local pmc rx845_cur
-    (rx845_cur, rx845_pos, rx845_tgt) = self."!cursor_start"()
-    rx845_cur."!cursor_debug"("START ", "circumfix:sym<sigil>")
-    .lex unicode:"$\x{a2}", rx845_cur
-    .local pmc match
-    .lex "$/", match
-    length rx845_eos, rx845_tgt
-    set rx845_off, 0
-    lt rx845_pos, 2, rx845_start
-    sub rx845_off, rx845_pos, 1
-    substr rx845_tgt, rx845_tgt, rx845_off
-  rx845_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan849_done
-    goto rxscan849_scan
-  rxscan849_loop:
-    ($P10) = rx845_cur."from"()
-    inc $P10
-    set rx845_pos, $P10
-    ge rx845_pos, rx845_eos, rxscan849_done
-  rxscan849_scan:
-    set_addr $I10, rxscan849_loop
-    rx845_cur."!mark_push"(0, rx845_pos, $I10)
-  rxscan849_done:
-.annotate "line", 384
-  # rx subrule "sigil" subtype=capture negate=
-    rx845_cur."!cursor_pos"(rx845_pos)
-    $P10 = rx845_cur."sigil"()
-    unless $P10, rx845_fail
-    rx845_cur."!mark_push"(0, -1, 0, $P10)
-    $P10."!cursor_names"("sigil")
-    rx845_pos = $P10."pos"()
-  # rx literal  "("
-    add $I11, rx845_pos, 1
-    gt $I11, rx845_eos, rx845_fail
-    sub $I11, rx845_pos, rx845_off
-    substr $S10, rx845_tgt, $I11, 1
-    ne $S10, "(", rx845_fail
-    add rx845_pos, 1
-  # rx subrule "semilist" subtype=capture negate=
-    rx845_cur."!cursor_pos"(rx845_pos)
-    $P10 = rx845_cur."semilist"()
-    unless $P10, rx845_fail
-    rx845_cur."!mark_push"(0, -1, 0, $P10)
-    $P10."!cursor_names"("semilist")
-    rx845_pos = $P10."pos"()
-  alt850_0:
-    set_addr $I10, alt850_1
-    rx845_cur."!mark_push"(0, rx845_pos, $I10)
-  # rx literal  ")"
-    add $I11, rx845_pos, 1
-    gt $I11, rx845_eos, rx845_fail
-    sub $I11, rx845_pos, rx845_off
-    substr $S10, rx845_tgt, $I11, 1
-    ne $S10, ")", rx845_fail
-    add rx845_pos, 1
-    goto alt850_end
-  alt850_1:
-  # rx subrule "FAILGOAL" subtype=method negate=
-    rx845_cur."!cursor_pos"(rx845_pos)
-    $P10 = rx845_cur."FAILGOAL"("')'")
-    unless $P10, rx845_fail
-    rx845_pos = $P10."pos"()
-  alt850_end:
+    .local string rx847_tgt
+    .local int rx847_pos
+    .local int rx847_off
+    .local int rx847_eos
+    .local int rx847_rep
+    .local pmc rx847_cur
+    (rx847_cur, rx847_pos, rx847_tgt) = self."!cursor_start"()
+    rx847_cur."!cursor_debug"("START ", "circumfix:sym<[ ]>")
+    rx847_cur."!cursor_caparray"("EXPR")
+    .lex unicode:"$\x{a2}", rx847_cur
+    .local pmc match
+    .lex "$/", match
+    length rx847_eos, rx847_tgt
+    set rx847_off, 0
+    lt rx847_pos, 2, rx847_start
+    sub rx847_off, rx847_pos, 1
+    substr rx847_tgt, rx847_tgt, rx847_off
+  rx847_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan851_done
+    goto rxscan851_scan
+  rxscan851_loop:
+    ($P10) = rx847_cur."from"()
+    inc $P10
+    set rx847_pos, $P10
+    ge rx847_pos, rx847_eos, rxscan851_done
+  rxscan851_scan:
+    set_addr $I10, rxscan851_loop
+    rx847_cur."!mark_push"(0, rx847_pos, $I10)
+  rxscan851_done:
+.annotate "line", 391
+  # rx literal  "["
+    add $I11, rx847_pos, 1
+    gt $I11, rx847_eos, rx847_fail
+    sub $I11, rx847_pos, rx847_off
+    substr $S10, rx847_tgt, $I11, 1
+    ne $S10, "[", rx847_fail
+    add rx847_pos, 1
+  # rx subrule "ws" subtype=method negate=
+    rx847_cur."!cursor_pos"(rx847_pos)
+    $P10 = rx847_cur."ws"()
+    unless $P10, rx847_fail
+    rx847_pos = $P10."pos"()
+  # rx rxquantr852 ** 0..1
+    set_addr $I853, rxquantr852_done
+    rx847_cur."!mark_push"(0, rx847_pos, $I853)
+  rxquantr852_loop:
+  # rx subrule "EXPR" subtype=capture negate=
+    rx847_cur."!cursor_pos"(rx847_pos)
+    $P10 = rx847_cur."EXPR"()
+    unless $P10, rx847_fail
+    rx847_cur."!mark_push"(0, -1, 0, $P10)
+    $P10."!cursor_names"("EXPR")
+    rx847_pos = $P10."pos"()
+    (rx847_rep) = rx847_cur."!mark_commit"($I853)
+  rxquantr852_done:
+  # rx literal  "]"
+    add $I11, rx847_pos, 1
+    gt $I11, rx847_eos, rx847_fail
+    sub $I11, rx847_pos, rx847_off
+    substr $S10, rx847_tgt, $I11, 1
+    ne $S10, "]", rx847_fail
+    add rx847_pos, 1
   # rx pass
-    rx845_cur."!cursor_pass"(rx845_pos, "circumfix:sym<sigil>")
-    rx845_cur."!cursor_debug"("PASS  ", "circumfix:sym<sigil>", " at pos=", rx845_pos)
-    .return (rx845_cur)
-  rx845_fail:
+    rx847_cur."!cursor_pass"(rx847_pos, "circumfix:sym<[ ]>")
+    rx847_cur."!cursor_debug"("PASS  ", "circumfix:sym<[ ]>", " at pos=", rx847_pos)
+    .return (rx847_cur)
+  rx847_fail:
 .annotate "line", 4
-    (rx845_rep, rx845_pos, $I10, $P10) = rx845_cur."!mark_fail"(0)
-    lt rx845_pos, -1, rx845_done
-    eq rx845_pos, -1, rx845_fail
+    (rx847_rep, rx847_pos, $I10, $P10) = rx847_cur."!mark_fail"(0)
+    lt rx847_pos, -1, rx847_done
+    eq rx847_pos, -1, rx847_fail
     jump $I10
-  rx845_done:
-    rx845_cur."!cursor_fail"()
-    rx845_cur."!cursor_debug"("FAIL  ", "circumfix:sym<sigil>")
-    .return (rx845_cur)
+  rx847_done:
+    rx847_cur."!cursor_fail"()
+    rx847_cur."!cursor_debug"("FAIL  ", "circumfix:sym<[ ]>")
+    .return (rx847_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__circumfix:sym<sigil>"  :subid("206_1259103982.97329") :method
+.sub "!PREFIX__circumfix:sym<[ ]>"  :subid("204_1259177761.22934") :method
 .annotate "line", 4
-    $P847 = self."!PREFIX__!subrule"("sigil", "")
-    new $P848, "ResizablePMCArray"
-    push $P848, $P847
-    .return ($P848)
+    $P849 = self."!PREFIX__!subrule"("", "[")
+    new $P850, "ResizablePMCArray"
+    push $P850, $P849
+    .return ($P850)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "semilist"  :subid("207_1259103982.97329") :method :outer("11_1259103982.97329")
+.sub "circumfix:sym<ang>"  :subid("205_1259177761.22934") :method :outer("11_1259177761.22934")
 .annotate "line", 4
-    .local string rx853_tgt
-    .local int rx853_pos
-    .local int rx853_off
-    .local int rx853_eos
-    .local int rx853_rep
-    .local pmc rx853_cur
-    (rx853_cur, rx853_pos, rx853_tgt) = self."!cursor_start"()
-    rx853_cur."!cursor_debug"("START ", "semilist")
-    .lex unicode:"$\x{a2}", rx853_cur
+    .local string rx855_tgt
+    .local int rx855_pos
+    .local int rx855_off
+    .local int rx855_eos
+    .local int rx855_rep
+    .local pmc rx855_cur
+    (rx855_cur, rx855_pos, rx855_tgt) = self."!cursor_start"()
+    rx855_cur."!cursor_debug"("START ", "circumfix:sym<ang>")
+    .lex unicode:"$\x{a2}", rx855_cur
     .local pmc match
     .lex "$/", match
-    length rx853_eos, rx853_tgt
-    set rx853_off, 0
-    lt rx853_pos, 2, rx853_start
-    sub rx853_off, rx853_pos, 1
-    substr rx853_tgt, rx853_tgt, rx853_off
-  rx853_start:
+    length rx855_eos, rx855_tgt
+    set rx855_off, 0
+    lt rx855_pos, 2, rx855_start
+    sub rx855_off, rx855_pos, 1
+    substr rx855_tgt, rx855_tgt, rx855_off
+  rx855_start:
     $I10 = self.'from'()
-    ne $I10, -1, rxscan856_done
-    goto rxscan856_scan
-  rxscan856_loop:
-    ($P10) = rx853_cur."from"()
+    ne $I10, -1, rxscan858_done
+    goto rxscan858_scan
+  rxscan858_loop:
+    ($P10) = rx855_cur."from"()
     inc $P10
-    set rx853_pos, $P10
-    ge rx853_pos, rx853_eos, rxscan856_done
-  rxscan856_scan:
-    set_addr $I10, rxscan856_loop
-    rx853_cur."!mark_push"(0, rx853_pos, $I10)
-  rxscan856_done:
-.annotate "line", 386
-  # rx subrule "ws" subtype=method negate=
-    rx853_cur."!cursor_pos"(rx853_pos)
-    $P10 = rx853_cur."ws"()
-    unless $P10, rx853_fail
-    rx853_pos = $P10."pos"()
-  # rx subrule "statement" subtype=capture negate=
-    rx853_cur."!cursor_pos"(rx853_pos)
-    $P10 = rx853_cur."statement"()
-    unless $P10, rx853_fail
-    rx853_cur."!mark_push"(0, -1, 0, $P10)
-    $P10."!cursor_names"("statement")
-    rx853_pos = $P10."pos"()
-  # rx subrule "ws" subtype=method negate=
-    rx853_cur."!cursor_pos"(rx853_pos)
-    $P10 = rx853_cur."ws"()
-    unless $P10, rx853_fail
-    rx853_pos = $P10."pos"()
+    set rx855_pos, $P10
+    ge rx855_pos, rx855_eos, rxscan858_done
+  rxscan858_scan:
+    set_addr $I10, rxscan858_loop
+    rx855_cur."!mark_push"(0, rx855_pos, $I10)
+  rxscan858_done:
+.annotate "line", 392
+  # rx enumcharlist negate=0 zerowidth
+    ge rx855_pos, rx855_eos, rx855_fail
+    sub $I10, rx855_pos, rx855_off
+    substr $S10, rx855_tgt, $I10, 1
+    index $I11, "<", $S10
+    lt $I11, 0, rx855_fail
+  # rx subrule "quote_EXPR" subtype=capture negate=
+    rx855_cur."!cursor_pos"(rx855_pos)
+    $P10 = rx855_cur."quote_EXPR"(":q", ":w")
+    unless $P10, rx855_fail
+    rx855_cur."!mark_push"(0, -1, 0, $P10)
+    $P10."!cursor_names"("quote_EXPR")
+    rx855_pos = $P10."pos"()
   # rx pass
-    rx853_cur."!cursor_pass"(rx853_pos, "semilist")
-    rx853_cur."!cursor_debug"("PASS  ", "semilist", " at pos=", rx853_pos)
-    .return (rx853_cur)
-  rx853_fail:
+    rx855_cur."!cursor_pass"(rx855_pos, "circumfix:sym<ang>")
+    rx855_cur."!cursor_debug"("PASS  ", "circumfix:sym<ang>", " at pos=", rx855_pos)
+    .return (rx855_cur)
+  rx855_fail:
 .annotate "line", 4
-    (rx853_rep, rx853_pos, $I10, $P10) = rx853_cur."!mark_fail"(0)
-    lt rx853_pos, -1, rx853_done
-    eq rx853_pos, -1, rx853_fail
+    (rx855_rep, rx855_pos, $I10, $P10) = rx855_cur."!mark_fail"(0)
+    lt rx855_pos, -1, rx855_done
+    eq rx855_pos, -1, rx855_fail
     jump $I10
-  rx853_done:
-    rx853_cur."!cursor_fail"()
-    rx853_cur."!cursor_debug"("FAIL  ", "semilist")
-    .return (rx853_cur)
+  rx855_done:
+    rx855_cur."!cursor_fail"()
+    rx855_cur."!cursor_debug"("FAIL  ", "circumfix:sym<ang>")
+    .return (rx855_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__semilist"  :subid("208_1259103982.97329") :method
+.sub "!PREFIX__circumfix:sym<ang>"  :subid("206_1259177761.22934") :method
 .annotate "line", 4
-    new $P855, "ResizablePMCArray"
-    push $P855, ""
-    .return ($P855)
+    new $P857, "ResizablePMCArray"
+    push $P857, "<"
+    .return ($P857)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "infixish"  :subid("209_1259103982.97329") :method :outer("11_1259103982.97329")
-.annotate "line", 390
+.sub "circumfix:sym<{ }>"  :subid("207_1259177761.22934") :method :outer("11_1259177761.22934")
+.annotate "line", 4
     .local string rx860_tgt
     .local int rx860_pos
     .local int rx860_off
@@ -10258,7 +10228,7 @@
     .local int rx860_rep
     .local pmc rx860_cur
     (rx860_cur, rx860_pos, rx860_tgt) = self."!cursor_start"()
-    rx860_cur."!cursor_debug"("START ", "infixish")
+    rx860_cur."!cursor_debug"("START ", "circumfix:sym<{ }>")
     .lex unicode:"$\x{a2}", rx860_cur
     .local pmc match
     .lex "$/", match
@@ -10280,48 +10250,50 @@
     set_addr $I10, rxscan863_loop
     rx860_cur."!mark_push"(0, rx860_pos, $I10)
   rxscan863_done:
-.annotate "line", 409
-  # rx subrule "infixstopper" subtype=zerowidth negate=1
-    rx860_cur."!cursor_pos"(rx860_pos)
-    $P10 = rx860_cur."infixstopper"()
-    if $P10, rx860_fail
-  # rx subrule "infix" subtype=capture negate=
+.annotate "line", 393
+  # rx enumcharlist negate=0 zerowidth
+    ge rx860_pos, rx860_eos, rx860_fail
+    sub $I10, rx860_pos, rx860_off
+    substr $S10, rx860_tgt, $I10, 1
+    index $I11, "{", $S10
+    lt $I11, 0, rx860_fail
+  # rx subrule "pblock" subtype=capture negate=
     rx860_cur."!cursor_pos"(rx860_pos)
-    $P10 = rx860_cur."infix"()
+    $P10 = rx860_cur."pblock"()
     unless $P10, rx860_fail
     rx860_cur."!mark_push"(0, -1, 0, $P10)
-    $P10."!cursor_names"("OPER=infix")
+    $P10."!cursor_names"("pblock")
     rx860_pos = $P10."pos"()
   # rx pass
-    rx860_cur."!cursor_pass"(rx860_pos, "infixish")
-    rx860_cur."!cursor_debug"("PASS  ", "infixish", " at pos=", rx860_pos)
+    rx860_cur."!cursor_pass"(rx860_pos, "circumfix:sym<{ }>")
+    rx860_cur."!cursor_debug"("PASS  ", "circumfix:sym<{ }>", " at pos=", rx860_pos)
     .return (rx860_cur)
   rx860_fail:
-.annotate "line", 390
+.annotate "line", 4
     (rx860_rep, rx860_pos, $I10, $P10) = rx860_cur."!mark_fail"(0)
     lt rx860_pos, -1, rx860_done
     eq rx860_pos, -1, rx860_fail
     jump $I10
   rx860_done:
     rx860_cur."!cursor_fail"()
-    rx860_cur."!cursor_debug"("FAIL  ", "infixish")
+    rx860_cur."!cursor_debug"("FAIL  ", "circumfix:sym<{ }>")
     .return (rx860_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__infixish"  :subid("210_1259103982.97329") :method
-.annotate "line", 390
+.sub "!PREFIX__circumfix:sym<{ }>"  :subid("208_1259177761.22934") :method
+.annotate "line", 4
     new $P862, "ResizablePMCArray"
-    push $P862, ""
+    push $P862, "{"
     .return ($P862)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "infixstopper"  :subid("211_1259103982.97329") :method :outer("11_1259103982.97329")
-.annotate "line", 390
+.sub "circumfix:sym<sigil>"  :subid("209_1259177761.22934") :method :outer("11_1259177761.22934")
+.annotate "line", 4
     .local string rx865_tgt
     .local int rx865_pos
     .local int rx865_off
@@ -10329,7 +10301,7 @@
     .local int rx865_rep
     .local pmc rx865_cur
     (rx865_cur, rx865_pos, rx865_tgt) = self."!cursor_start"()
-    rx865_cur."!cursor_debug"("START ", "infixstopper")
+    rx865_cur."!cursor_debug"("START ", "circumfix:sym<sigil>")
     .lex unicode:"$\x{a2}", rx865_cur
     .local pmc match
     .lex "$/", match
@@ -10340,675 +10312,670 @@
     substr rx865_tgt, rx865_tgt, rx865_off
   rx865_start:
     $I10 = self.'from'()
-    ne $I10, -1, rxscan868_done
-    goto rxscan868_scan
-  rxscan868_loop:
+    ne $I10, -1, rxscan869_done
+    goto rxscan869_scan
+  rxscan869_loop:
     ($P10) = rx865_cur."from"()
     inc $P10
     set rx865_pos, $P10
-    ge rx865_pos, rx865_eos, rxscan868_done
-  rxscan868_scan:
-    set_addr $I10, rxscan868_loop
+    ge rx865_pos, rx865_eos, rxscan869_done
+  rxscan869_scan:
+    set_addr $I10, rxscan869_loop
     rx865_cur."!mark_push"(0, rx865_pos, $I10)
-  rxscan868_done:
-.annotate "line", 410
-  # rx subrule "lambda" subtype=zerowidth negate=
+  rxscan869_done:
+.annotate "line", 394
+  # rx subrule "sigil" subtype=capture negate=
+    rx865_cur."!cursor_pos"(rx865_pos)
+    $P10 = rx865_cur."sigil"()
+    unless $P10, rx865_fail
+    rx865_cur."!mark_push"(0, -1, 0, $P10)
+    $P10."!cursor_names"("sigil")
+    rx865_pos = $P10."pos"()
+  # rx literal  "("
+    add $I11, rx865_pos, 1
+    gt $I11, rx865_eos, rx865_fail
+    sub $I11, rx865_pos, rx865_off
+    substr $S10, rx865_tgt, $I11, 1
+    ne $S10, "(", rx865_fail
+    add rx865_pos, 1
+  # rx subrule "semilist" subtype=capture negate=
+    rx865_cur."!cursor_pos"(rx865_pos)
+    $P10 = rx865_cur."semilist"()
+    unless $P10, rx865_fail
+    rx865_cur."!mark_push"(0, -1, 0, $P10)
+    $P10."!cursor_names"("semilist")
+    rx865_pos = $P10."pos"()
+  alt870_0:
+    set_addr $I10, alt870_1
+    rx865_cur."!mark_push"(0, rx865_pos, $I10)
+  # rx literal  ")"
+    add $I11, rx865_pos, 1
+    gt $I11, rx865_eos, rx865_fail
+    sub $I11, rx865_pos, rx865_off
+    substr $S10, rx865_tgt, $I11, 1
+    ne $S10, ")", rx865_fail
+    add rx865_pos, 1
+    goto alt870_end
+  alt870_1:
+  # rx subrule "FAILGOAL" subtype=method negate=
     rx865_cur."!cursor_pos"(rx865_pos)
-    $P10 = rx865_cur."lambda"()
+    $P10 = rx865_cur."FAILGOAL"("')'")
     unless $P10, rx865_fail
+    rx865_pos = $P10."pos"()
+  alt870_end:
   # rx pass
-    rx865_cur."!cursor_pass"(rx865_pos, "infixstopper")
-    rx865_cur."!cursor_debug"("PASS  ", "infixstopper", " at pos=", rx865_pos)
+    rx865_cur."!cursor_pass"(rx865_pos, "circumfix:sym<sigil>")
+    rx865_cur."!cursor_debug"("PASS  ", "circumfix:sym<sigil>", " at pos=", rx865_pos)
     .return (rx865_cur)
   rx865_fail:
-.annotate "line", 390
+.annotate "line", 4
     (rx865_rep, rx865_pos, $I10, $P10) = rx865_cur."!mark_fail"(0)
     lt rx865_pos, -1, rx865_done
     eq rx865_pos, -1, rx865_fail
     jump $I10
   rx865_done:
     rx865_cur."!cursor_fail"()
-    rx865_cur."!cursor_debug"("FAIL  ", "infixstopper")
+    rx865_cur."!cursor_debug"("FAIL  ", "circumfix:sym<sigil>")
     .return (rx865_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__infixstopper"  :subid("212_1259103982.97329") :method
-.annotate "line", 390
-    new $P867, "ResizablePMCArray"
-    push $P867, ""
-    .return ($P867)
+.sub "!PREFIX__circumfix:sym<sigil>"  :subid("210_1259177761.22934") :method
+.annotate "line", 4
+    $P867 = self."!PREFIX__!subrule"("sigil", "")
+    new $P868, "ResizablePMCArray"
+    push $P868, $P867
+    .return ($P868)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "postcircumfix:sym<[ ]>"  :subid("213_1259103982.97329") :method :outer("11_1259103982.97329")
-.annotate "line", 390
-    .local string rx870_tgt
-    .local int rx870_pos
-    .local int rx870_off
-    .local int rx870_eos
-    .local int rx870_rep
-    .local pmc rx870_cur
-    (rx870_cur, rx870_pos, rx870_tgt) = self."!cursor_start"()
-    rx870_cur."!cursor_debug"("START ", "postcircumfix:sym<[ ]>")
-    .lex unicode:"$\x{a2}", rx870_cur
-    .local pmc match
-    .lex "$/", match
-    length rx870_eos, rx870_tgt
-    set rx870_off, 0
-    lt rx870_pos, 2, rx870_start
-    sub rx870_off, rx870_pos, 1
-    substr rx870_tgt, rx870_tgt, rx870_off
-  rx870_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan874_done
-    goto rxscan874_scan
-  rxscan874_loop:
-    ($P10) = rx870_cur."from"()
-    inc $P10
-    set rx870_pos, $P10
-    ge rx870_pos, rx870_eos, rxscan874_done
-  rxscan874_scan:
-    set_addr $I10, rxscan874_loop
-    rx870_cur."!mark_push"(0, rx870_pos, $I10)
-  rxscan874_done:
-.annotate "line", 413
-  # rx literal  "["
-    add $I11, rx870_pos, 1
-    gt $I11, rx870_eos, rx870_fail
-    sub $I11, rx870_pos, rx870_off
-    substr $S10, rx870_tgt, $I11, 1
-    ne $S10, "[", rx870_fail
-    add rx870_pos, 1
-  # rx subrule "ws" subtype=method negate=
-    rx870_cur."!cursor_pos"(rx870_pos)
-    $P10 = rx870_cur."ws"()
-    unless $P10, rx870_fail
-    rx870_pos = $P10."pos"()
-  # rx subrule "EXPR" subtype=capture negate=
-    rx870_cur."!cursor_pos"(rx870_pos)
-    $P10 = rx870_cur."EXPR"()
-    unless $P10, rx870_fail
-    rx870_cur."!mark_push"(0, -1, 0, $P10)
-    $P10."!cursor_names"("EXPR")
-    rx870_pos = $P10."pos"()
-  # rx literal  "]"
-    add $I11, rx870_pos, 1
-    gt $I11, rx870_eos, rx870_fail
-    sub $I11, rx870_pos, rx870_off
-    substr $S10, rx870_tgt, $I11, 1
-    ne $S10, "]", rx870_fail
-    add rx870_pos, 1
-.annotate "line", 414
-  # rx subrule "O" subtype=capture negate=
-    rx870_cur."!cursor_pos"(rx870_pos)
-    $P10 = rx870_cur."O"("%methodop")
-    unless $P10, rx870_fail
-    rx870_cur."!mark_push"(0, -1, 0, $P10)
-    $P10."!cursor_names"("O")
-    rx870_pos = $P10."pos"()
-.annotate "line", 412
+.sub "semilist"  :subid("211_1259177761.22934") :method :outer("11_1259177761.22934")
+.annotate "line", 4
+    .local string rx873_tgt
+    .local int rx873_pos
+    .local int rx873_off
+    .local int rx873_eos
+    .local int rx873_rep
+    .local pmc rx873_cur
+    (rx873_cur, rx873_pos, rx873_tgt) = self."!cursor_start"()
+    rx873_cur."!cursor_debug"("START ", "semilist")
+    .lex unicode:"$\x{a2}", rx873_cur
+    .local pmc match
+    .lex "$/", match
+    length rx873_eos, rx873_tgt
+    set rx873_off, 0
+    lt rx873_pos, 2, rx873_start
+    sub rx873_off, rx873_pos, 1
+    substr rx873_tgt, rx873_tgt, rx873_off
+  rx873_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan876_done
+    goto rxscan876_scan
+  rxscan876_loop:
+    ($P10) = rx873_cur."from"()
+    inc $P10
+    set rx873_pos, $P10
+    ge rx873_pos, rx873_eos, rxscan876_done
+  rxscan876_scan:
+    set_addr $I10, rxscan876_loop
+    rx873_cur."!mark_push"(0, rx873_pos, $I10)
+  rxscan876_done:
+.annotate "line", 396
+  # rx subrule "ws" subtype=method negate=
+    rx873_cur."!cursor_pos"(rx873_pos)
+    $P10 = rx873_cur."ws"()
+    unless $P10, rx873_fail
+    rx873_pos = $P10."pos"()
+  # rx subrule "statement" subtype=capture negate=
+    rx873_cur."!cursor_pos"(rx873_pos)
+    $P10 = rx873_cur."statement"()
+    unless $P10, rx873_fail
+    rx873_cur."!mark_push"(0, -1, 0, $P10)
+    $P10."!cursor_names"("statement")
+    rx873_pos = $P10."pos"()
+  # rx subrule "ws" subtype=method negate=
+    rx873_cur."!cursor_pos"(rx873_pos)
+    $P10 = rx873_cur."ws"()
+    unless $P10, rx873_fail
+    rx873_pos = $P10."pos"()
   # rx pass
-    rx870_cur."!cursor_pass"(rx870_pos, "postcircumfix:sym<[ ]>")
-    rx870_cur."!cursor_debug"("PASS  ", "postcircumfix:sym<[ ]>", " at pos=", rx870_pos)
-    .return (rx870_cur)
-  rx870_fail:
-.annotate "line", 390
-    (rx870_rep, rx870_pos, $I10, $P10) = rx870_cur."!mark_fail"(0)
-    lt rx870_pos, -1, rx870_done
-    eq rx870_pos, -1, rx870_fail
+    rx873_cur."!cursor_pass"(rx873_pos, "semilist")
+    rx873_cur."!cursor_debug"("PASS  ", "semilist", " at pos=", rx873_pos)
+    .return (rx873_cur)
+  rx873_fail:
+.annotate "line", 4
+    (rx873_rep, rx873_pos, $I10, $P10) = rx873_cur."!mark_fail"(0)
+    lt rx873_pos, -1, rx873_done
+    eq rx873_pos, -1, rx873_fail
     jump $I10
-  rx870_done:
-    rx870_cur."!cursor_fail"()
-    rx870_cur."!cursor_debug"("FAIL  ", "postcircumfix:sym<[ ]>")
-    .return (rx870_cur)
+  rx873_done:
+    rx873_cur."!cursor_fail"()
+    rx873_cur."!cursor_debug"("FAIL  ", "semilist")
+    .return (rx873_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__postcircumfix:sym<[ ]>"  :subid("214_1259103982.97329") :method
-.annotate "line", 390
-    $P872 = self."!PREFIX__!subrule"("", "[")
-    new $P873, "ResizablePMCArray"
-    push $P873, $P872
-    .return ($P873)
+.sub "!PREFIX__semilist"  :subid("212_1259177761.22934") :method
+.annotate "line", 4
+    new $P875, "ResizablePMCArray"
+    push $P875, ""
+    .return ($P875)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "postcircumfix:sym<{ }>"  :subid("215_1259103982.97329") :method :outer("11_1259103982.97329")
-.annotate "line", 390
-    .local string rx876_tgt
-    .local int rx876_pos
-    .local int rx876_off
-    .local int rx876_eos
-    .local int rx876_rep
-    .local pmc rx876_cur
-    (rx876_cur, rx876_pos, rx876_tgt) = self."!cursor_start"()
-    rx876_cur."!cursor_debug"("START ", "postcircumfix:sym<{ }>")
-    .lex unicode:"$\x{a2}", rx876_cur
-    .local pmc match
-    .lex "$/", match
-    length rx876_eos, rx876_tgt
-    set rx876_off, 0
-    lt rx876_pos, 2, rx876_start
-    sub rx876_off, rx876_pos, 1
-    substr rx876_tgt, rx876_tgt, rx876_off
-  rx876_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan880_done
-    goto rxscan880_scan
-  rxscan880_loop:
-    ($P10) = rx876_cur."from"()
-    inc $P10
-    set rx876_pos, $P10
-    ge rx876_pos, rx876_eos, rxscan880_done
-  rxscan880_scan:
-    set_addr $I10, rxscan880_loop
-    rx876_cur."!mark_push"(0, rx876_pos, $I10)
-  rxscan880_done:
-.annotate "line", 418
-  # rx literal  "{"
-    add $I11, rx876_pos, 1
-    gt $I11, rx876_eos, rx876_fail
-    sub $I11, rx876_pos, rx876_off
-    substr $S10, rx876_tgt, $I11, 1
-    ne $S10, "{", rx876_fail
-    add rx876_pos, 1
-  # rx subrule "ws" subtype=method negate=
-    rx876_cur."!cursor_pos"(rx876_pos)
-    $P10 = rx876_cur."ws"()
-    unless $P10, rx876_fail
-    rx876_pos = $P10."pos"()
-  # rx subrule "EXPR" subtype=capture negate=
-    rx876_cur."!cursor_pos"(rx876_pos)
-    $P10 = rx876_cur."EXPR"()
-    unless $P10, rx876_fail
-    rx876_cur."!mark_push"(0, -1, 0, $P10)
-    $P10."!cursor_names"("EXPR")
-    rx876_pos = $P10."pos"()
-  # rx literal  "}"
-    add $I11, rx876_pos, 1
-    gt $I11, rx876_eos, rx876_fail
-    sub $I11, rx876_pos, rx876_off
-    substr $S10, rx876_tgt, $I11, 1
-    ne $S10, "}", rx876_fail
-    add rx876_pos, 1
+.sub "infixish"  :subid("213_1259177761.22934") :method :outer("11_1259177761.22934")
+.annotate "line", 400
+    .local string rx880_tgt
+    .local int rx880_pos
+    .local int rx880_off
+    .local int rx880_eos
+    .local int rx880_rep
+    .local pmc rx880_cur
+    (rx880_cur, rx880_pos, rx880_tgt) = self."!cursor_start"()
+    rx880_cur."!cursor_debug"("START ", "infixish")
+    .lex unicode:"$\x{a2}", rx880_cur
+    .local pmc match
+    .lex "$/", match
+    length rx880_eos, rx880_tgt
+    set rx880_off, 0
+    lt rx880_pos, 2, rx880_start
+    sub rx880_off, rx880_pos, 1
+    substr rx880_tgt, rx880_tgt, rx880_off
+  rx880_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan883_done
+    goto rxscan883_scan
+  rxscan883_loop:
+    ($P10) = rx880_cur."from"()
+    inc $P10
+    set rx880_pos, $P10
+    ge rx880_pos, rx880_eos, rxscan883_done
+  rxscan883_scan:
+    set_addr $I10, rxscan883_loop
+    rx880_cur."!mark_push"(0, rx880_pos, $I10)
+  rxscan883_done:
 .annotate "line", 419
-  # rx subrule "O" subtype=capture negate=
-    rx876_cur."!cursor_pos"(rx876_pos)
-    $P10 = rx876_cur."O"("%methodop")
-    unless $P10, rx876_fail
-    rx876_cur."!mark_push"(0, -1, 0, $P10)
-    $P10."!cursor_names"("O")
-    rx876_pos = $P10."pos"()
-.annotate "line", 417
-  # rx pass
-    rx876_cur."!cursor_pass"(rx876_pos, "postcircumfix:sym<{ }>")
-    rx876_cur."!cursor_debug"("PASS  ", "postcircumfix:sym<{ }>", " at pos=", rx876_pos)
-    .return (rx876_cur)
-  rx876_fail:
-.annotate "line", 390
-    (rx876_rep, rx876_pos, $I10, $P10) = rx876_cur."!mark_fail"(0)
-    lt rx876_pos, -1, rx876_done
-    eq rx876_pos, -1, rx876_fail
+  # rx subrule "infixstopper" subtype=zerowidth negate=1
+    rx880_cur."!cursor_pos"(rx880_pos)
+    $P10 = rx880_cur."infixstopper"()
+    if $P10, rx880_fail
+  # rx subrule "infix" subtype=capture negate=
+    rx880_cur."!cursor_pos"(rx880_pos)
+    $P10 = rx880_cur."infix"()
+    unless $P10, rx880_fail
+    rx880_cur."!mark_push"(0, -1, 0, $P10)
+    $P10."!cursor_names"("OPER=infix")
+    rx880_pos = $P10."pos"()
+  # rx pass
+    rx880_cur."!cursor_pass"(rx880_pos, "infixish")
+    rx880_cur."!cursor_debug"("PASS  ", "infixish", " at pos=", rx880_pos)
+    .return (rx880_cur)
+  rx880_fail:
+.annotate "line", 400
+    (rx880_rep, rx880_pos, $I10, $P10) = rx880_cur."!mark_fail"(0)
+    lt rx880_pos, -1, rx880_done
+    eq rx880_pos, -1, rx880_fail
     jump $I10
-  rx876_done:
-    rx876_cur."!cursor_fail"()
-    rx876_cur."!cursor_debug"("FAIL  ", "postcircumfix:sym<{ }>")
-    .return (rx876_cur)
+  rx880_done:
+    rx880_cur."!cursor_fail"()
+    rx880_cur."!cursor_debug"("FAIL  ", "infixish")
+    .return (rx880_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__postcircumfix:sym<{ }>"  :subid("216_1259103982.97329") :method
-.annotate "line", 390
-    $P878 = self."!PREFIX__!subrule"("", "{")
-    new $P879, "ResizablePMCArray"
-    push $P879, $P878
-    .return ($P879)
+.sub "!PREFIX__infixish"  :subid("214_1259177761.22934") :method
+.annotate "line", 400
+    new $P882, "ResizablePMCArray"
+    push $P882, ""
+    .return ($P882)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "postcircumfix:sym<ang>"  :subid("217_1259103982.97329") :method :outer("11_1259103982.97329")
-.annotate "line", 390
-    .local string rx882_tgt
-    .local int rx882_pos
-    .local int rx882_off
-    .local int rx882_eos
-    .local int rx882_rep
-    .local pmc rx882_cur
-    (rx882_cur, rx882_pos, rx882_tgt) = self."!cursor_start"()
-    rx882_cur."!cursor_debug"("START ", "postcircumfix:sym<ang>")
-    .lex unicode:"$\x{a2}", rx882_cur
-    .local pmc match
-    .lex "$/", match
-    length rx882_eos, rx882_tgt
-    set rx882_off, 0
-    lt rx882_pos, 2, rx882_start
-    sub rx882_off, rx882_pos, 1
-    substr rx882_tgt, rx882_tgt, rx882_off
-  rx882_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan885_done
-    goto rxscan885_scan
-  rxscan885_loop:
-    ($P10) = rx882_cur."from"()
-    inc $P10
-    set rx882_pos, $P10
-    ge rx882_pos, rx882_eos, rxscan885_done
-  rxscan885_scan:
-    set_addr $I10, rxscan885_loop
-    rx882_cur."!mark_push"(0, rx882_pos, $I10)
-  rxscan885_done:
-.annotate "line", 423
-  # rx enumcharlist negate=0 zerowidth
-    ge rx882_pos, rx882_eos, rx882_fail
-    sub $I10, rx882_pos, rx882_off
-    substr $S10, rx882_tgt, $I10, 1
-    index $I11, "<", $S10
-    lt $I11, 0, rx882_fail
-  # rx subrule "quote_EXPR" subtype=capture negate=
-    rx882_cur."!cursor_pos"(rx882_pos)
-    $P10 = rx882_cur."quote_EXPR"(":q")
-    unless $P10, rx882_fail
-    rx882_cur."!mark_push"(0, -1, 0, $P10)
-    $P10."!cursor_names"("quote_EXPR")
-    rx882_pos = $P10."pos"()
-.annotate "line", 424
-  # rx subrule "O" subtype=capture negate=
-    rx882_cur."!cursor_pos"(rx882_pos)
-    $P10 = rx882_cur."O"("%methodop")
-    unless $P10, rx882_fail
-    rx882_cur."!mark_push"(0, -1, 0, $P10)
-    $P10."!cursor_names"("O")
-    rx882_pos = $P10."pos"()
-.annotate "line", 422
-  # rx pass
-    rx882_cur."!cursor_pass"(rx882_pos, "postcircumfix:sym<ang>")
-    rx882_cur."!cursor_debug"("PASS  ", "postcircumfix:sym<ang>", " at pos=", rx882_pos)
-    .return (rx882_cur)
-  rx882_fail:
-.annotate "line", 390
-    (rx882_rep, rx882_pos, $I10, $P10) = rx882_cur."!mark_fail"(0)
-    lt rx882_pos, -1, rx882_done
-    eq rx882_pos, -1, rx882_fail
+.sub "infixstopper"  :subid("215_1259177761.22934") :method :outer("11_1259177761.22934")
+.annotate "line", 400
+    .local string rx885_tgt
+    .local int rx885_pos
+    .local int rx885_off
+    .local int rx885_eos
+    .local int rx885_rep
+    .local pmc rx885_cur
+    (rx885_cur, rx885_pos, rx885_tgt) = self."!cursor_start"()
+    rx885_cur."!cursor_debug"("START ", "infixstopper")
+    .lex unicode:"$\x{a2}", rx885_cur
+    .local pmc match
+    .lex "$/", match
+    length rx885_eos, rx885_tgt
+    set rx885_off, 0
+    lt rx885_pos, 2, rx885_start
+    sub rx885_off, rx885_pos, 1
+    substr rx885_tgt, rx885_tgt, rx885_off
+  rx885_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan888_done
+    goto rxscan888_scan
+  rxscan888_loop:
+    ($P10) = rx885_cur."from"()
+    inc $P10
+    set rx885_pos, $P10
+    ge rx885_pos, rx885_eos, rxscan888_done
+  rxscan888_scan:
+    set_addr $I10, rxscan888_loop
+    rx885_cur."!mark_push"(0, rx885_pos, $I10)
+  rxscan888_done:
+.annotate "line", 420
+  # rx subrule "lambda" subtype=zerowidth negate=
+    rx885_cur."!cursor_pos"(rx885_pos)
+    $P10 = rx885_cur."lambda"()
+    unless $P10, rx885_fail
+  # rx pass
+    rx885_cur."!cursor_pass"(rx885_pos, "infixstopper")
+    rx885_cur."!cursor_debug"("PASS  ", "infixstopper", " at pos=", rx885_pos)
+    .return (rx885_cur)
+  rx885_fail:
+.annotate "line", 400
+    (rx885_rep, rx885_pos, $I10, $P10) = rx885_cur."!mark_fail"(0)
+    lt rx885_pos, -1, rx885_done
+    eq rx885_pos, -1, rx885_fail
     jump $I10
-  rx882_done:
-    rx882_cur."!cursor_fail"()
-    rx882_cur."!cursor_debug"("FAIL  ", "postcircumfix:sym<ang>")
-    .return (rx882_cur)
+  rx885_done:
+    rx885_cur."!cursor_fail"()
+    rx885_cur."!cursor_debug"("FAIL  ", "infixstopper")
+    .return (rx885_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__postcircumfix:sym<ang>"  :subid("218_1259103982.97329") :method
-.annotate "line", 390
-    new $P884, "ResizablePMCArray"
-    push $P884, "<"
-    .return ($P884)
+.sub "!PREFIX__infixstopper"  :subid("216_1259177761.22934") :method
+.annotate "line", 400
+    new $P887, "ResizablePMCArray"
+    push $P887, ""
+    .return ($P887)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "postcircumfix:sym<( )>"  :subid("219_1259103982.97329") :method :outer("11_1259103982.97329")
-.annotate "line", 390
-    .local string rx887_tgt
-    .local int rx887_pos
-    .local int rx887_off
-    .local int rx887_eos
-    .local int rx887_rep
-    .local pmc rx887_cur
-    (rx887_cur, rx887_pos, rx887_tgt) = self."!cursor_start"()
-    rx887_cur."!cursor_debug"("START ", "postcircumfix:sym<( )>")
-    .lex unicode:"$\x{a2}", rx887_cur
-    .local pmc match
-    .lex "$/", match
-    length rx887_eos, rx887_tgt
-    set rx887_off, 0
-    lt rx887_pos, 2, rx887_start
-    sub rx887_off, rx887_pos, 1
-    substr rx887_tgt, rx887_tgt, rx887_off
-  rx887_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan891_done
-    goto rxscan891_scan
-  rxscan891_loop:
-    ($P10) = rx887_cur."from"()
-    inc $P10
-    set rx887_pos, $P10
-    ge rx887_pos, rx887_eos, rxscan891_done
-  rxscan891_scan:
-    set_addr $I10, rxscan891_loop
-    rx887_cur."!mark_push"(0, rx887_pos, $I10)
-  rxscan891_done:
-.annotate "line", 428
-  # rx literal  "("
-    add $I11, rx887_pos, 1
-    gt $I11, rx887_eos, rx887_fail
-    sub $I11, rx887_pos, rx887_off
-    substr $S10, rx887_tgt, $I11, 1
-    ne $S10, "(", rx887_fail
-    add rx887_pos, 1
-  # rx subrule "ws" subtype=method negate=
-    rx887_cur."!cursor_pos"(rx887_pos)
-    $P10 = rx887_cur."ws"()
-    unless $P10, rx887_fail
-    rx887_pos = $P10."pos"()
-  # rx subrule "arglist" subtype=capture negate=
-    rx887_cur."!cursor_pos"(rx887_pos)
-    $P10 = rx887_cur."arglist"()
-    unless $P10, rx887_fail
-    rx887_cur."!mark_push"(0, -1, 0, $P10)
-    $P10."!cursor_names"("arglist")
-    rx887_pos = $P10."pos"()
-  # rx literal  ")"
-    add $I11, rx887_pos, 1
-    gt $I11, rx887_eos, rx887_fail
-    sub $I11, rx887_pos, rx887_off
-    substr $S10, rx887_tgt, $I11, 1
-    ne $S10, ")", rx887_fail
-    add rx887_pos, 1
-.annotate "line", 429
+.sub "postcircumfix:sym<[ ]>"  :subid("217_1259177761.22934") :method :outer("11_1259177761.22934")
+.annotate "line", 400
+    .local string rx890_tgt
+    .local int rx890_pos
+    .local int rx890_off
+    .local int rx890_eos
+    .local int rx890_rep
+    .local pmc rx890_cur
+    (rx890_cur, rx890_pos, rx890_tgt) = self."!cursor_start"()
+    rx890_cur."!cursor_debug"("START ", "postcircumfix:sym<[ ]>")
+    .lex unicode:"$\x{a2}", rx890_cur
+    .local pmc match
+    .lex "$/", match
+    length rx890_eos, rx890_tgt
+    set rx890_off, 0
+    lt rx890_pos, 2, rx890_start
+    sub rx890_off, rx890_pos, 1
+    substr rx890_tgt, rx890_tgt, rx890_off
+  rx890_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan894_done
+    goto rxscan894_scan
+  rxscan894_loop:
+    ($P10) = rx890_cur."from"()
+    inc $P10
+    set rx890_pos, $P10
+    ge rx890_pos, rx890_eos, rxscan894_done
+  rxscan894_scan:
+    set_addr $I10, rxscan894_loop
+    rx890_cur."!mark_push"(0, rx890_pos, $I10)
+  rxscan894_done:
+.annotate "line", 423
+  # rx literal  "["
+    add $I11, rx890_pos, 1
+    gt $I11, rx890_eos, rx890_fail
+    sub $I11, rx890_pos, rx890_off
+    substr $S10, rx890_tgt, $I11, 1
+    ne $S10, "[", rx890_fail
+    add rx890_pos, 1
+  # rx subrule "ws" subtype=method negate=
+    rx890_cur."!cursor_pos"(rx890_pos)
+    $P10 = rx890_cur."ws"()
+    unless $P10, rx890_fail
+    rx890_pos = $P10."pos"()
+  # rx subrule "EXPR" subtype=capture negate=
+    rx890_cur."!cursor_pos"(rx890_pos)
+    $P10 = rx890_cur."EXPR"()
+    unless $P10, rx890_fail
+    rx890_cur."!mark_push"(0, -1, 0, $P10)
+    $P10."!cursor_names"("EXPR")
+    rx890_pos = $P10."pos"()
+  # rx literal  "]"
+    add $I11, rx890_pos, 1
+    gt $I11, rx890_eos, rx890_fail
+    sub $I11, rx890_pos, rx890_off
+    substr $S10, rx890_tgt, $I11, 1
+    ne $S10, "]", rx890_fail
+    add rx890_pos, 1
+.annotate "line", 424
   # rx subrule "O" subtype=capture negate=
-    rx887_cur."!cursor_pos"(rx887_pos)
-    $P10 = rx887_cur."O"("%methodop")
-    unless $P10, rx887_fail
-    rx887_cur."!mark_push"(0, -1, 0, $P10)
+    rx890_cur."!cursor_pos"(rx890_pos)
+    $P10 = rx890_cur."O"("%methodop")
+    unless $P10, rx890_fail
+    rx890_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("O")
-    rx887_pos = $P10."pos"()
-.annotate "line", 427
+    rx890_pos = $P10."pos"()
+.annotate "line", 422
   # rx pass
-    rx887_cur."!cursor_pass"(rx887_pos, "postcircumfix:sym<( )>")
-    rx887_cur."!cursor_debug"("PASS  ", "postcircumfix:sym<( )>", " at pos=", rx887_pos)
-    .return (rx887_cur)
-  rx887_fail:
-.annotate "line", 390
-    (rx887_rep, rx887_pos, $I10, $P10) = rx887_cur."!mark_fail"(0)
-    lt rx887_pos, -1, rx887_done
-    eq rx887_pos, -1, rx887_fail
+    rx890_cur."!cursor_pass"(rx890_pos, "postcircumfix:sym<[ ]>")
+    rx890_cur."!cursor_debug"("PASS  ", "postcircumfix:sym<[ ]>", " at pos=", rx890_pos)
+    .return (rx890_cur)
+  rx890_fail:
+.annotate "line", 400
+    (rx890_rep, rx890_pos, $I10, $P10) = rx890_cur."!mark_fail"(0)
+    lt rx890_pos, -1, rx890_done
+    eq rx890_pos, -1, rx890_fail
     jump $I10
-  rx887_done:
-    rx887_cur."!cursor_fail"()
-    rx887_cur."!cursor_debug"("FAIL  ", "postcircumfix:sym<( )>")
-    .return (rx887_cur)
+  rx890_done:
+    rx890_cur."!cursor_fail"()
+    rx890_cur."!cursor_debug"("FAIL  ", "postcircumfix:sym<[ ]>")
+    .return (rx890_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__postcircumfix:sym<( )>"  :subid("220_1259103982.97329") :method
-.annotate "line", 390
-    $P889 = self."!PREFIX__!subrule"("", "(")
-    new $P890, "ResizablePMCArray"
-    push $P890, $P889
-    .return ($P890)
+.sub "!PREFIX__postcircumfix:sym<[ ]>"  :subid("218_1259177761.22934") :method
+.annotate "line", 400
+    $P892 = self."!PREFIX__!subrule"("", "[")
+    new $P893, "ResizablePMCArray"
+    push $P893, $P892
+    .return ($P893)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "postfix:sym<.>"  :subid("221_1259103982.97329") :method :outer("11_1259103982.97329")
-.annotate "line", 390
-    .local string rx893_tgt
-    .local int rx893_pos
-    .local int rx893_off
-    .local int rx893_eos
-    .local int rx893_rep
-    .local pmc rx893_cur
-    (rx893_cur, rx893_pos, rx893_tgt) = self."!cursor_start"()
-    rx893_cur."!cursor_debug"("START ", "postfix:sym<.>")
-    .lex unicode:"$\x{a2}", rx893_cur
-    .local pmc match
-    .lex "$/", match
-    length rx893_eos, rx893_tgt
-    set rx893_off, 0
-    lt rx893_pos, 2, rx893_start
-    sub rx893_off, rx893_pos, 1
-    substr rx893_tgt, rx893_tgt, rx893_off
-  rx893_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan897_done
-    goto rxscan897_scan
-  rxscan897_loop:
-    ($P10) = rx893_cur."from"()
-    inc $P10
-    set rx893_pos, $P10
-    ge rx893_pos, rx893_eos, rxscan897_done
-  rxscan897_scan:
-    set_addr $I10, rxscan897_loop
-    rx893_cur."!mark_push"(0, rx893_pos, $I10)
-  rxscan897_done:
-.annotate "line", 432
-  # rx subrule "dotty" subtype=capture negate=
-    rx893_cur."!cursor_pos"(rx893_pos)
-    $P10 = rx893_cur."dotty"()
-    unless $P10, rx893_fail
-    rx893_cur."!mark_push"(0, -1, 0, $P10)
-    $P10."!cursor_names"("dotty")
-    rx893_pos = $P10."pos"()
+.sub "postcircumfix:sym<{ }>"  :subid("219_1259177761.22934") :method :outer("11_1259177761.22934")
+.annotate "line", 400
+    .local string rx896_tgt
+    .local int rx896_pos
+    .local int rx896_off
+    .local int rx896_eos
+    .local int rx896_rep
+    .local pmc rx896_cur
+    (rx896_cur, rx896_pos, rx896_tgt) = self."!cursor_start"()
+    rx896_cur."!cursor_debug"("START ", "postcircumfix:sym<{ }>")
+    .lex unicode:"$\x{a2}", rx896_cur
+    .local pmc match
+    .lex "$/", match
+    length rx896_eos, rx896_tgt
+    set rx896_off, 0
+    lt rx896_pos, 2, rx896_start
+    sub rx896_off, rx896_pos, 1
+    substr rx896_tgt, rx896_tgt, rx896_off
+  rx896_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan900_done
+    goto rxscan900_scan
+  rxscan900_loop:
+    ($P10) = rx896_cur."from"()
+    inc $P10
+    set rx896_pos, $P10
+    ge rx896_pos, rx896_eos, rxscan900_done
+  rxscan900_scan:
+    set_addr $I10, rxscan900_loop
+    rx896_cur."!mark_push"(0, rx896_pos, $I10)
+  rxscan900_done:
+.annotate "line", 428
+  # rx literal  "{"
+    add $I11, rx896_pos, 1
+    gt $I11, rx896_eos, rx896_fail
+    sub $I11, rx896_pos, rx896_off
+    substr $S10, rx896_tgt, $I11, 1
+    ne $S10, "{", rx896_fail
+    add rx896_pos, 1
+  # rx subrule "ws" subtype=method negate=
+    rx896_cur."!cursor_pos"(rx896_pos)
+    $P10 = rx896_cur."ws"()
+    unless $P10, rx896_fail
+    rx896_pos = $P10."pos"()
+  # rx subrule "EXPR" subtype=capture negate=
+    rx896_cur."!cursor_pos"(rx896_pos)
+    $P10 = rx896_cur."EXPR"()
+    unless $P10, rx896_fail
+    rx896_cur."!mark_push"(0, -1, 0, $P10)
+    $P10."!cursor_names"("EXPR")
+    rx896_pos = $P10."pos"()
+  # rx literal  "}"
+    add $I11, rx896_pos, 1
+    gt $I11, rx896_eos, rx896_fail
+    sub $I11, rx896_pos, rx896_off
+    substr $S10, rx896_tgt, $I11, 1
+    ne $S10, "}", rx896_fail
+    add rx896_pos, 1
+.annotate "line", 429
   # rx subrule "O" subtype=capture negate=
-    rx893_cur."!cursor_pos"(rx893_pos)
-    $P10 = rx893_cur."O"("%methodop")
-    unless $P10, rx893_fail
-    rx893_cur."!mark_push"(0, -1, 0, $P10)
+    rx896_cur."!cursor_pos"(rx896_pos)
+    $P10 = rx896_cur."O"("%methodop")
+    unless $P10, rx896_fail
+    rx896_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("O")
-    rx893_pos = $P10."pos"()
+    rx896_pos = $P10."pos"()
+.annotate "line", 427
   # rx pass
-    rx893_cur."!cursor_pass"(rx893_pos, "postfix:sym<.>")
-    rx893_cur."!cursor_debug"("PASS  ", "postfix:sym<.>", " at pos=", rx893_pos)
-    .return (rx893_cur)
-  rx893_fail:
-.annotate "line", 390
-    (rx893_rep, rx893_pos, $I10, $P10) = rx893_cur."!mark_fail"(0)
-    lt rx893_pos, -1, rx893_done
-    eq rx893_pos, -1, rx893_fail
+    rx896_cur."!cursor_pass"(rx896_pos, "postcircumfix:sym<{ }>")
+    rx896_cur."!cursor_debug"("PASS  ", "postcircumfix:sym<{ }>", " at pos=", rx896_pos)
+    .return (rx896_cur)
+  rx896_fail:
+.annotate "line", 400
+    (rx896_rep, rx896_pos, $I10, $P10) = rx896_cur."!mark_fail"(0)
+    lt rx896_pos, -1, rx896_done
+    eq rx896_pos, -1, rx896_fail
     jump $I10
-  rx893_done:
-    rx893_cur."!cursor_fail"()
-    rx893_cur."!cursor_debug"("FAIL  ", "postfix:sym<.>")
-    .return (rx893_cur)
+  rx896_done:
+    rx896_cur."!cursor_fail"()
+    rx896_cur."!cursor_debug"("FAIL  ", "postcircumfix:sym<{ }>")
+    .return (rx896_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__postfix:sym<.>"  :subid("222_1259103982.97329") :method
-.annotate "line", 390
-    $P895 = self."!PREFIX__!subrule"("dotty", "")
-    new $P896, "ResizablePMCArray"
-    push $P896, $P895
-    .return ($P896)
+.sub "!PREFIX__postcircumfix:sym<{ }>"  :subid("220_1259177761.22934") :method
+.annotate "line", 400
+    $P898 = self."!PREFIX__!subrule"("", "{")
+    new $P899, "ResizablePMCArray"
+    push $P899, $P898
+    .return ($P899)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "prefix:sym<++>"  :subid("223_1259103982.97329") :method :outer("11_1259103982.97329")
-.annotate "line", 390
-    .local string rx899_tgt
-    .local int rx899_pos
-    .local int rx899_off
-    .local int rx899_eos
-    .local int rx899_rep
-    .local pmc rx899_cur
-    (rx899_cur, rx899_pos, rx899_tgt) = self."!cursor_start"()
-    rx899_cur."!cursor_debug"("START ", "prefix:sym<++>")
-    .lex unicode:"$\x{a2}", rx899_cur
-    .local pmc match
-    .lex "$/", match
-    length rx899_eos, rx899_tgt
-    set rx899_off, 0
-    lt rx899_pos, 2, rx899_start
-    sub rx899_off, rx899_pos, 1
-    substr rx899_tgt, rx899_tgt, rx899_off
-  rx899_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan903_done
-    goto rxscan903_scan
-  rxscan903_loop:
-    ($P10) = rx899_cur."from"()
-    inc $P10
-    set rx899_pos, $P10
-    ge rx899_pos, rx899_eos, rxscan903_done
-  rxscan903_scan:
-    set_addr $I10, rxscan903_loop
-    rx899_cur."!mark_push"(0, rx899_pos, $I10)
-  rxscan903_done:
+.sub "postcircumfix:sym<ang>"  :subid("221_1259177761.22934") :method :outer("11_1259177761.22934")
+.annotate "line", 400
+    .local string rx902_tgt
+    .local int rx902_pos
+    .local int rx902_off
+    .local int rx902_eos
+    .local int rx902_rep
+    .local pmc rx902_cur
+    (rx902_cur, rx902_pos, rx902_tgt) = self."!cursor_start"()
+    rx902_cur."!cursor_debug"("START ", "postcircumfix:sym<ang>")
+    .lex unicode:"$\x{a2}", rx902_cur
+    .local pmc match
+    .lex "$/", match
+    length rx902_eos, rx902_tgt
+    set rx902_off, 0
+    lt rx902_pos, 2, rx902_start
+    sub rx902_off, rx902_pos, 1
+    substr rx902_tgt, rx902_tgt, rx902_off
+  rx902_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan905_done
+    goto rxscan905_scan
+  rxscan905_loop:
+    ($P10) = rx902_cur."from"()
+    inc $P10
+    set rx902_pos, $P10
+    ge rx902_pos, rx902_eos, rxscan905_done
+  rxscan905_scan:
+    set_addr $I10, rxscan905_loop
+    rx902_cur."!mark_push"(0, rx902_pos, $I10)
+  rxscan905_done:
+.annotate "line", 433
+  # rx enumcharlist negate=0 zerowidth
+    ge rx902_pos, rx902_eos, rx902_fail
+    sub $I10, rx902_pos, rx902_off
+    substr $S10, rx902_tgt, $I10, 1
+    index $I11, "<", $S10
+    lt $I11, 0, rx902_fail
+  # rx subrule "quote_EXPR" subtype=capture negate=
+    rx902_cur."!cursor_pos"(rx902_pos)
+    $P10 = rx902_cur."quote_EXPR"(":q")
+    unless $P10, rx902_fail
+    rx902_cur."!mark_push"(0, -1, 0, $P10)
+    $P10."!cursor_names"("quote_EXPR")
+    rx902_pos = $P10."pos"()
 .annotate "line", 434
-  # rx subcapture "sym"
-    set_addr $I10, rxcap_904_fail
-    rx899_cur."!mark_push"(0, rx899_pos, $I10)
-  # rx literal  "++"
-    add $I11, rx899_pos, 2
-    gt $I11, rx899_eos, rx899_fail
-    sub $I11, rx899_pos, rx899_off
-    substr $S10, rx899_tgt, $I11, 2
-    ne $S10, "++", rx899_fail
-    add rx899_pos, 2
-    set_addr $I10, rxcap_904_fail
-    ($I12, $I11) = rx899_cur."!mark_peek"($I10)
-    rx899_cur."!cursor_pos"($I11)
-    ($P10) = rx899_cur."!cursor_start"()
-    $P10."!cursor_pass"(rx899_pos, "")
-    rx899_cur."!mark_push"(0, -1, 0, $P10)
-    $P10."!cursor_names"("sym")
-    goto rxcap_904_done
-  rxcap_904_fail:
-    goto rx899_fail
-  rxcap_904_done:
   # rx subrule "O" subtype=capture negate=
-    rx899_cur."!cursor_pos"(rx899_pos)
-    $P10 = rx899_cur."O"("%autoincrement, :pirop<inc>")
-    unless $P10, rx899_fail
-    rx899_cur."!mark_push"(0, -1, 0, $P10)
+    rx902_cur."!cursor_pos"(rx902_pos)
+    $P10 = rx902_cur."O"("%methodop")
+    unless $P10, rx902_fail
+    rx902_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("O")
-    rx899_pos = $P10."pos"()
+    rx902_pos = $P10."pos"()
+.annotate "line", 432
   # rx pass
-    rx899_cur."!cursor_pass"(rx899_pos, "prefix:sym<++>")
-    rx899_cur."!cursor_debug"("PASS  ", "prefix:sym<++>", " at pos=", rx899_pos)
-    .return (rx899_cur)
-  rx899_fail:
-.annotate "line", 390
-    (rx899_rep, rx899_pos, $I10, $P10) = rx899_cur."!mark_fail"(0)
-    lt rx899_pos, -1, rx899_done
-    eq rx899_pos, -1, rx899_fail
+    rx902_cur."!cursor_pass"(rx902_pos, "postcircumfix:sym<ang>")
+    rx902_cur."!cursor_debug"("PASS  ", "postcircumfix:sym<ang>", " at pos=", rx902_pos)
+    .return (rx902_cur)
+  rx902_fail:
+.annotate "line", 400
+    (rx902_rep, rx902_pos, $I10, $P10) = rx902_cur."!mark_fail"(0)
+    lt rx902_pos, -1, rx902_done
+    eq rx902_pos, -1, rx902_fail
     jump $I10
-  rx899_done:
-    rx899_cur."!cursor_fail"()
-    rx899_cur."!cursor_debug"("FAIL  ", "prefix:sym<++>")
-    .return (rx899_cur)
+  rx902_done:
+    rx902_cur."!cursor_fail"()
+    rx902_cur."!cursor_debug"("FAIL  ", "postcircumfix:sym<ang>")
+    .return (rx902_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__prefix:sym<++>"  :subid("224_1259103982.97329") :method
-.annotate "line", 390
-    $P901 = self."!PREFIX__!subrule"("O", "++")
-    new $P902, "ResizablePMCArray"
-    push $P902, $P901
-    .return ($P902)
+.sub "!PREFIX__postcircumfix:sym<ang>"  :subid("222_1259177761.22934") :method
+.annotate "line", 400
+    new $P904, "ResizablePMCArray"
+    push $P904, "<"
+    .return ($P904)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "prefix:sym<-->"  :subid("225_1259103982.97329") :method :outer("11_1259103982.97329")
-.annotate "line", 390
-    .local string rx906_tgt
-    .local int rx906_pos
-    .local int rx906_off
-    .local int rx906_eos
-    .local int rx906_rep
-    .local pmc rx906_cur
-    (rx906_cur, rx906_pos, rx906_tgt) = self."!cursor_start"()
-    rx906_cur."!cursor_debug"("START ", "prefix:sym<-->")
-    .lex unicode:"$\x{a2}", rx906_cur
-    .local pmc match
-    .lex "$/", match
-    length rx906_eos, rx906_tgt
-    set rx906_off, 0
-    lt rx906_pos, 2, rx906_start
-    sub rx906_off, rx906_pos, 1
-    substr rx906_tgt, rx906_tgt, rx906_off
-  rx906_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan910_done
-    goto rxscan910_scan
-  rxscan910_loop:
-    ($P10) = rx906_cur."from"()
-    inc $P10
-    set rx906_pos, $P10
-    ge rx906_pos, rx906_eos, rxscan910_done
-  rxscan910_scan:
-    set_addr $I10, rxscan910_loop
-    rx906_cur."!mark_push"(0, rx906_pos, $I10)
-  rxscan910_done:
-.annotate "line", 435
-  # rx subcapture "sym"
-    set_addr $I10, rxcap_911_fail
-    rx906_cur."!mark_push"(0, rx906_pos, $I10)
-  # rx literal  "--"
-    add $I11, rx906_pos, 2
-    gt $I11, rx906_eos, rx906_fail
-    sub $I11, rx906_pos, rx906_off
-    substr $S10, rx906_tgt, $I11, 2
-    ne $S10, "--", rx906_fail
-    add rx906_pos, 2
-    set_addr $I10, rxcap_911_fail
-    ($I12, $I11) = rx906_cur."!mark_peek"($I10)
-    rx906_cur."!cursor_pos"($I11)
-    ($P10) = rx906_cur."!cursor_start"()
-    $P10."!cursor_pass"(rx906_pos, "")
-    rx906_cur."!mark_push"(0, -1, 0, $P10)
-    $P10."!cursor_names"("sym")
-    goto rxcap_911_done
-  rxcap_911_fail:
-    goto rx906_fail
-  rxcap_911_done:
+.sub "postcircumfix:sym<( )>"  :subid("223_1259177761.22934") :method :outer("11_1259177761.22934")
+.annotate "line", 400
+    .local string rx907_tgt
+    .local int rx907_pos
+    .local int rx907_off
+    .local int rx907_eos
+    .local int rx907_rep
+    .local pmc rx907_cur
+    (rx907_cur, rx907_pos, rx907_tgt) = self."!cursor_start"()
+    rx907_cur."!cursor_debug"("START ", "postcircumfix:sym<( )>")
+    .lex unicode:"$\x{a2}", rx907_cur
+    .local pmc match
+    .lex "$/", match
+    length rx907_eos, rx907_tgt
+    set rx907_off, 0
+    lt rx907_pos, 2, rx907_start
+    sub rx907_off, rx907_pos, 1
+    substr rx907_tgt, rx907_tgt, rx907_off
+  rx907_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan911_done
+    goto rxscan911_scan
+  rxscan911_loop:
+    ($P10) = rx907_cur."from"()
+    inc $P10
+    set rx907_pos, $P10
+    ge rx907_pos, rx907_eos, rxscan911_done
+  rxscan911_scan:
+    set_addr $I10, rxscan911_loop
+    rx907_cur."!mark_push"(0, rx907_pos, $I10)
+  rxscan911_done:
+.annotate "line", 438
+  # rx literal  "("
+    add $I11, rx907_pos, 1
+    gt $I11, rx907_eos, rx907_fail
+    sub $I11, rx907_pos, rx907_off
+    substr $S10, rx907_tgt, $I11, 1
+    ne $S10, "(", rx907_fail
+    add rx907_pos, 1
+  # rx subrule "ws" subtype=method negate=
+    rx907_cur."!cursor_pos"(rx907_pos)
+    $P10 = rx907_cur."ws"()
+    unless $P10, rx907_fail
+    rx907_pos = $P10."pos"()
+  # rx subrule "arglist" subtype=capture negate=
+    rx907_cur."!cursor_pos"(rx907_pos)
+    $P10 = rx907_cur."arglist"()
+    unless $P10, rx907_fail
+    rx907_cur."!mark_push"(0, -1, 0, $P10)
+    $P10."!cursor_names"("arglist")
+    rx907_pos = $P10."pos"()
+  # rx literal  ")"
+    add $I11, rx907_pos, 1
+    gt $I11, rx907_eos, rx907_fail
+    sub $I11, rx907_pos, rx907_off
+    substr $S10, rx907_tgt, $I11, 1
+    ne $S10, ")", rx907_fail
+    add rx907_pos, 1
+.annotate "line", 439
   # rx subrule "O" subtype=capture negate=
-    rx906_cur."!cursor_pos"(rx906_pos)
-    $P10 = rx906_cur."O"("%autoincrement, :pirop<dec>")
-    unless $P10, rx906_fail
-    rx906_cur."!mark_push"(0, -1, 0, $P10)
+    rx907_cur."!cursor_pos"(rx907_pos)
+    $P10 = rx907_cur."O"("%methodop")
+    unless $P10, rx907_fail
+    rx907_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("O")
-    rx906_pos = $P10."pos"()
+    rx907_pos = $P10."pos"()
+.annotate "line", 437
   # rx pass
-    rx906_cur."!cursor_pass"(rx906_pos, "prefix:sym<-->")
-    rx906_cur."!cursor_debug"("PASS  ", "prefix:sym<-->", " at pos=", rx906_pos)
-    .return (rx906_cur)
-  rx906_fail:
-.annotate "line", 390
-    (rx906_rep, rx906_pos, $I10, $P10) = rx906_cur."!mark_fail"(0)
-    lt rx906_pos, -1, rx906_done
-    eq rx906_pos, -1, rx906_fail
+    rx907_cur."!cursor_pass"(rx907_pos, "postcircumfix:sym<( )>")
+    rx907_cur."!cursor_debug"("PASS  ", "postcircumfix:sym<( )>", " at pos=", rx907_pos)
+    .return (rx907_cur)
+  rx907_fail:
+.annotate "line", 400
+    (rx907_rep, rx907_pos, $I10, $P10) = rx907_cur."!mark_fail"(0)
+    lt rx907_pos, -1, rx907_done
+    eq rx907_pos, -1, rx907_fail
     jump $I10
-  rx906_done:
-    rx906_cur."!cursor_fail"()
-    rx906_cur."!cursor_debug"("FAIL  ", "prefix:sym<-->")
-    .return (rx906_cur)
+  rx907_done:
+    rx907_cur."!cursor_fail"()
+    rx907_cur."!cursor_debug"("FAIL  ", "postcircumfix:sym<( )>")
+    .return (rx907_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__prefix:sym<-->"  :subid("226_1259103982.97329") :method
-.annotate "line", 390
-    $P908 = self."!PREFIX__!subrule"("O", "--")
-    new $P909, "ResizablePMCArray"
-    push $P909, $P908
-    .return ($P909)
+.sub "!PREFIX__postcircumfix:sym<( )>"  :subid("224_1259177761.22934") :method
+.annotate "line", 400
+    $P909 = self."!PREFIX__!subrule"("", "(")
+    new $P910, "ResizablePMCArray"
+    push $P910, $P909
+    .return ($P910)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "postfix:sym<++>"  :subid("227_1259103982.97329") :method :outer("11_1259103982.97329")
-.annotate "line", 390
+.sub "postfix:sym<.>"  :subid("225_1259177761.22934") :method :outer("11_1259177761.22934")
+.annotate "line", 400
     .local string rx913_tgt
     .local int rx913_pos
     .local int rx913_off
@@ -11016,7 +10983,7 @@
     .local int rx913_rep
     .local pmc rx913_cur
     (rx913_cur, rx913_pos, rx913_tgt) = self."!cursor_start"()
-    rx913_cur."!cursor_debug"("START ", "postfix:sym<++>")
+    rx913_cur."!cursor_debug"("START ", "postfix:sym<.>")
     .lex unicode:"$\x{a2}", rx913_cur
     .local pmc match
     .lex "$/", match
@@ -11038,57 +11005,43 @@
     set_addr $I10, rxscan917_loop
     rx913_cur."!mark_push"(0, rx913_pos, $I10)
   rxscan917_done:
-.annotate "line", 438
-  # rx subcapture "sym"
-    set_addr $I10, rxcap_918_fail
-    rx913_cur."!mark_push"(0, rx913_pos, $I10)
-  # rx literal  "++"
-    add $I11, rx913_pos, 2
-    gt $I11, rx913_eos, rx913_fail
-    sub $I11, rx913_pos, rx913_off
-    substr $S10, rx913_tgt, $I11, 2
-    ne $S10, "++", rx913_fail
-    add rx913_pos, 2
-    set_addr $I10, rxcap_918_fail
-    ($I12, $I11) = rx913_cur."!mark_peek"($I10)
-    rx913_cur."!cursor_pos"($I11)
-    ($P10) = rx913_cur."!cursor_start"()
-    $P10."!cursor_pass"(rx913_pos, "")
+.annotate "line", 442
+  # rx subrule "dotty" subtype=capture negate=
+    rx913_cur."!cursor_pos"(rx913_pos)
+    $P10 = rx913_cur."dotty"()
+    unless $P10, rx913_fail
     rx913_cur."!mark_push"(0, -1, 0, $P10)
-    $P10."!cursor_names"("sym")
-    goto rxcap_918_done
-  rxcap_918_fail:
-    goto rx913_fail
-  rxcap_918_done:
+    $P10."!cursor_names"("dotty")
+    rx913_pos = $P10."pos"()
   # rx subrule "O" subtype=capture negate=
     rx913_cur."!cursor_pos"(rx913_pos)
-    $P10 = rx913_cur."O"("%autoincrement")
+    $P10 = rx913_cur."O"("%methodop")
     unless $P10, rx913_fail
     rx913_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("O")
     rx913_pos = $P10."pos"()
   # rx pass
-    rx913_cur."!cursor_pass"(rx913_pos, "postfix:sym<++>")
-    rx913_cur."!cursor_debug"("PASS  ", "postfix:sym<++>", " at pos=", rx913_pos)
+    rx913_cur."!cursor_pass"(rx913_pos, "postfix:sym<.>")
+    rx913_cur."!cursor_debug"("PASS  ", "postfix:sym<.>", " at pos=", rx913_pos)
     .return (rx913_cur)
   rx913_fail:
-.annotate "line", 390
+.annotate "line", 400
     (rx913_rep, rx913_pos, $I10, $P10) = rx913_cur."!mark_fail"(0)
     lt rx913_pos, -1, rx913_done
     eq rx913_pos, -1, rx913_fail
     jump $I10
   rx913_done:
     rx913_cur."!cursor_fail"()
-    rx913_cur."!cursor_debug"("FAIL  ", "postfix:sym<++>")
+    rx913_cur."!cursor_debug"("FAIL  ", "postfix:sym<.>")
     .return (rx913_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__postfix:sym<++>"  :subid("228_1259103982.97329") :method
-.annotate "line", 390
-    $P915 = self."!PREFIX__!subrule"("O", "++")
+.sub "!PREFIX__postfix:sym<.>"  :subid("226_1259177761.22934") :method
+.annotate "line", 400
+    $P915 = self."!PREFIX__!subrule"("dotty", "")
     new $P916, "ResizablePMCArray"
     push $P916, $P915
     .return ($P916)
@@ -11096,462 +11049,453 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "postfix:sym<-->"  :subid("229_1259103982.97329") :method :outer("11_1259103982.97329")
-.annotate "line", 390
-    .local string rx920_tgt
-    .local int rx920_pos
-    .local int rx920_off
-    .local int rx920_eos
-    .local int rx920_rep
-    .local pmc rx920_cur
-    (rx920_cur, rx920_pos, rx920_tgt) = self."!cursor_start"()
-    rx920_cur."!cursor_debug"("START ", "postfix:sym<-->")
-    .lex unicode:"$\x{a2}", rx920_cur
-    .local pmc match
-    .lex "$/", match
-    length rx920_eos, rx920_tgt
-    set rx920_off, 0
-    lt rx920_pos, 2, rx920_start
-    sub rx920_off, rx920_pos, 1
-    substr rx920_tgt, rx920_tgt, rx920_off
-  rx920_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan924_done
-    goto rxscan924_scan
-  rxscan924_loop:
-    ($P10) = rx920_cur."from"()
-    inc $P10
-    set rx920_pos, $P10
-    ge rx920_pos, rx920_eos, rxscan924_done
-  rxscan924_scan:
-    set_addr $I10, rxscan924_loop
-    rx920_cur."!mark_push"(0, rx920_pos, $I10)
-  rxscan924_done:
-.annotate "line", 439
+.sub "prefix:sym<++>"  :subid("227_1259177761.22934") :method :outer("11_1259177761.22934")
+.annotate "line", 400
+    .local string rx919_tgt
+    .local int rx919_pos
+    .local int rx919_off
+    .local int rx919_eos
+    .local int rx919_rep
+    .local pmc rx919_cur
+    (rx919_cur, rx919_pos, rx919_tgt) = self."!cursor_start"()
+    rx919_cur."!cursor_debug"("START ", "prefix:sym<++>")
+    .lex unicode:"$\x{a2}", rx919_cur
+    .local pmc match
+    .lex "$/", match
+    length rx919_eos, rx919_tgt
+    set rx919_off, 0
+    lt rx919_pos, 2, rx919_start
+    sub rx919_off, rx919_pos, 1
+    substr rx919_tgt, rx919_tgt, rx919_off
+  rx919_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan923_done
+    goto rxscan923_scan
+  rxscan923_loop:
+    ($P10) = rx919_cur."from"()
+    inc $P10
+    set rx919_pos, $P10
+    ge rx919_pos, rx919_eos, rxscan923_done
+  rxscan923_scan:
+    set_addr $I10, rxscan923_loop
+    rx919_cur."!mark_push"(0, rx919_pos, $I10)
+  rxscan923_done:
+.annotate "line", 444
   # rx subcapture "sym"
-    set_addr $I10, rxcap_925_fail
-    rx920_cur."!mark_push"(0, rx920_pos, $I10)
-  # rx literal  "--"
-    add $I11, rx920_pos, 2
-    gt $I11, rx920_eos, rx920_fail
-    sub $I11, rx920_pos, rx920_off
-    substr $S10, rx920_tgt, $I11, 2
-    ne $S10, "--", rx920_fail
-    add rx920_pos, 2
-    set_addr $I10, rxcap_925_fail
-    ($I12, $I11) = rx920_cur."!mark_peek"($I10)
-    rx920_cur."!cursor_pos"($I11)
-    ($P10) = rx920_cur."!cursor_start"()
-    $P10."!cursor_pass"(rx920_pos, "")
-    rx920_cur."!mark_push"(0, -1, 0, $P10)
+    set_addr $I10, rxcap_924_fail
+    rx919_cur."!mark_push"(0, rx919_pos, $I10)
+  # rx literal  "++"
+    add $I11, rx919_pos, 2
+    gt $I11, rx919_eos, rx919_fail
+    sub $I11, rx919_pos, rx919_off
+    substr $S10, rx919_tgt, $I11, 2
+    ne $S10, "++", rx919_fail
+    add rx919_pos, 2
+    set_addr $I10, rxcap_924_fail
+    ($I12, $I11) = rx919_cur."!mark_peek"($I10)
+    rx919_cur."!cursor_pos"($I11)
+    ($P10) = rx919_cur."!cursor_start"()
+    $P10."!cursor_pass"(rx919_pos, "")
+    rx919_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("sym")
-    goto rxcap_925_done
-  rxcap_925_fail:
-    goto rx920_fail
-  rxcap_925_done:
+    goto rxcap_924_done
+  rxcap_924_fail:
+    goto rx919_fail
+  rxcap_924_done:
   # rx subrule "O" subtype=capture negate=
-    rx920_cur."!cursor_pos"(rx920_pos)
-    $P10 = rx920_cur."O"("%autoincrement")
-    unless $P10, rx920_fail
-    rx920_cur."!mark_push"(0, -1, 0, $P10)
+    rx919_cur."!cursor_pos"(rx919_pos)
+    $P10 = rx919_cur."O"("%autoincrement, :pirop<inc>")
+    unless $P10, rx919_fail
+    rx919_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("O")
-    rx920_pos = $P10."pos"()
+    rx919_pos = $P10."pos"()
   # rx pass
-    rx920_cur."!cursor_pass"(rx920_pos, "postfix:sym<-->")
-    rx920_cur."!cursor_debug"("PASS  ", "postfix:sym<-->", " at pos=", rx920_pos)
-    .return (rx920_cur)
-  rx920_fail:
-.annotate "line", 390
-    (rx920_rep, rx920_pos, $I10, $P10) = rx920_cur."!mark_fail"(0)
-    lt rx920_pos, -1, rx920_done
-    eq rx920_pos, -1, rx920_fail
+    rx919_cur."!cursor_pass"(rx919_pos, "prefix:sym<++>")
+    rx919_cur."!cursor_debug"("PASS  ", "prefix:sym<++>", " at pos=", rx919_pos)
+    .return (rx919_cur)
+  rx919_fail:
+.annotate "line", 400
+    (rx919_rep, rx919_pos, $I10, $P10) = rx919_cur."!mark_fail"(0)
+    lt rx919_pos, -1, rx919_done
+    eq rx919_pos, -1, rx919_fail
     jump $I10
-  rx920_done:
-    rx920_cur."!cursor_fail"()
-    rx920_cur."!cursor_debug"("FAIL  ", "postfix:sym<-->")
-    .return (rx920_cur)
+  rx919_done:
+    rx919_cur."!cursor_fail"()
+    rx919_cur."!cursor_debug"("FAIL  ", "prefix:sym<++>")
+    .return (rx919_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__postfix:sym<-->"  :subid("230_1259103982.97329") :method
-.annotate "line", 390
-    $P922 = self."!PREFIX__!subrule"("O", "--")
-    new $P923, "ResizablePMCArray"
-    push $P923, $P922
-    .return ($P923)
+.sub "!PREFIX__prefix:sym<++>"  :subid("228_1259177761.22934") :method
+.annotate "line", 400
+    $P921 = self."!PREFIX__!subrule"("O", "++")
+    new $P922, "ResizablePMCArray"
+    push $P922, $P921
+    .return ($P922)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "infix:sym<**>"  :subid("231_1259103982.97329") :method :outer("11_1259103982.97329")
-.annotate "line", 390
-    .local string rx927_tgt
-    .local int rx927_pos
-    .local int rx927_off
-    .local int rx927_eos
-    .local int rx927_rep
-    .local pmc rx927_cur
-    (rx927_cur, rx927_pos, rx927_tgt) = self."!cursor_start"()
-    rx927_cur."!cursor_debug"("START ", "infix:sym<**>")
-    .lex unicode:"$\x{a2}", rx927_cur
-    .local pmc match
-    .lex "$/", match
-    length rx927_eos, rx927_tgt
-    set rx927_off, 0
-    lt rx927_pos, 2, rx927_start
-    sub rx927_off, rx927_pos, 1
-    substr rx927_tgt, rx927_tgt, rx927_off
-  rx927_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan931_done
-    goto rxscan931_scan
-  rxscan931_loop:
-    ($P10) = rx927_cur."from"()
-    inc $P10
-    set rx927_pos, $P10
-    ge rx927_pos, rx927_eos, rxscan931_done
-  rxscan931_scan:
-    set_addr $I10, rxscan931_loop
-    rx927_cur."!mark_push"(0, rx927_pos, $I10)
-  rxscan931_done:
-.annotate "line", 441
+.sub "prefix:sym<-->"  :subid("229_1259177761.22934") :method :outer("11_1259177761.22934")
+.annotate "line", 400
+    .local string rx926_tgt
+    .local int rx926_pos
+    .local int rx926_off
+    .local int rx926_eos
+    .local int rx926_rep
+    .local pmc rx926_cur
+    (rx926_cur, rx926_pos, rx926_tgt) = self."!cursor_start"()
+    rx926_cur."!cursor_debug"("START ", "prefix:sym<-->")
+    .lex unicode:"$\x{a2}", rx926_cur
+    .local pmc match
+    .lex "$/", match
+    length rx926_eos, rx926_tgt
+    set rx926_off, 0
+    lt rx926_pos, 2, rx926_start
+    sub rx926_off, rx926_pos, 1
+    substr rx926_tgt, rx926_tgt, rx926_off
+  rx926_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan930_done
+    goto rxscan930_scan
+  rxscan930_loop:
+    ($P10) = rx926_cur."from"()
+    inc $P10
+    set rx926_pos, $P10
+    ge rx926_pos, rx926_eos, rxscan930_done
+  rxscan930_scan:
+    set_addr $I10, rxscan930_loop
+    rx926_cur."!mark_push"(0, rx926_pos, $I10)
+  rxscan930_done:
+.annotate "line", 445
   # rx subcapture "sym"
-    set_addr $I10, rxcap_932_fail
-    rx927_cur."!mark_push"(0, rx927_pos, $I10)
-  # rx literal  "**"
-    add $I11, rx927_pos, 2
-    gt $I11, rx927_eos, rx927_fail
-    sub $I11, rx927_pos, rx927_off
-    substr $S10, rx927_tgt, $I11, 2
-    ne $S10, "**", rx927_fail
-    add rx927_pos, 2
-    set_addr $I10, rxcap_932_fail
-    ($I12, $I11) = rx927_cur."!mark_peek"($I10)
-    rx927_cur."!cursor_pos"($I11)
-    ($P10) = rx927_cur."!cursor_start"()
-    $P10."!cursor_pass"(rx927_pos, "")
-    rx927_cur."!mark_push"(0, -1, 0, $P10)
+    set_addr $I10, rxcap_931_fail
+    rx926_cur."!mark_push"(0, rx926_pos, $I10)
+  # rx literal  "--"
+    add $I11, rx926_pos, 2
+    gt $I11, rx926_eos, rx926_fail
+    sub $I11, rx926_pos, rx926_off
+    substr $S10, rx926_tgt, $I11, 2
+    ne $S10, "--", rx926_fail
+    add rx926_pos, 2
+    set_addr $I10, rxcap_931_fail
+    ($I12, $I11) = rx926_cur."!mark_peek"($I10)
+    rx926_cur."!cursor_pos"($I11)
+    ($P10) = rx926_cur."!cursor_start"()
+    $P10."!cursor_pass"(rx926_pos, "")
+    rx926_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("sym")
-    goto rxcap_932_done
-  rxcap_932_fail:
-    goto rx927_fail
-  rxcap_932_done:
+    goto rxcap_931_done
+  rxcap_931_fail:
+    goto rx926_fail
+  rxcap_931_done:
   # rx subrule "O" subtype=capture negate=
-    rx927_cur."!cursor_pos"(rx927_pos)
-    $P10 = rx927_cur."O"("%exponentiation, :pirop<pow>")
-    unless $P10, rx927_fail
-    rx927_cur."!mark_push"(0, -1, 0, $P10)
+    rx926_cur."!cursor_pos"(rx926_pos)
+    $P10 = rx926_cur."O"("%autoincrement, :pirop<dec>")
+    unless $P10, rx926_fail
+    rx926_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("O")
-    rx927_pos = $P10."pos"()
+    rx926_pos = $P10."pos"()
   # rx pass
-    rx927_cur."!cursor_pass"(rx927_pos, "infix:sym<**>")
-    rx927_cur."!cursor_debug"("PASS  ", "infix:sym<**>", " at pos=", rx927_pos)
-    .return (rx927_cur)
-  rx927_fail:
-.annotate "line", 390
-    (rx927_rep, rx927_pos, $I10, $P10) = rx927_cur."!mark_fail"(0)
-    lt rx927_pos, -1, rx927_done
-    eq rx927_pos, -1, rx927_fail
+    rx926_cur."!cursor_pass"(rx926_pos, "prefix:sym<-->")
+    rx926_cur."!cursor_debug"("PASS  ", "prefix:sym<-->", " at pos=", rx926_pos)
+    .return (rx926_cur)
+  rx926_fail:
+.annotate "line", 400
+    (rx926_rep, rx926_pos, $I10, $P10) = rx926_cur."!mark_fail"(0)
+    lt rx926_pos, -1, rx926_done
+    eq rx926_pos, -1, rx926_fail
     jump $I10
-  rx927_done:
-    rx927_cur."!cursor_fail"()
-    rx927_cur."!cursor_debug"("FAIL  ", "infix:sym<**>")
-    .return (rx927_cur)
+  rx926_done:
+    rx926_cur."!cursor_fail"()
+    rx926_cur."!cursor_debug"("FAIL  ", "prefix:sym<-->")
+    .return (rx926_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__infix:sym<**>"  :subid("232_1259103982.97329") :method
-.annotate "line", 390
-    $P929 = self."!PREFIX__!subrule"("O", "**")
-    new $P930, "ResizablePMCArray"
-    push $P930, $P929
-    .return ($P930)
+.sub "!PREFIX__prefix:sym<-->"  :subid("230_1259177761.22934") :method
+.annotate "line", 400
+    $P928 = self."!PREFIX__!subrule"("O", "--")
+    new $P929, "ResizablePMCArray"
+    push $P929, $P928
+    .return ($P929)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "prefix:sym<+>"  :subid("233_1259103982.97329") :method :outer("11_1259103982.97329")
-.annotate "line", 390
-    .local string rx934_tgt
-    .local int rx934_pos
-    .local int rx934_off
-    .local int rx934_eos
-    .local int rx934_rep
-    .local pmc rx934_cur
-    (rx934_cur, rx934_pos, rx934_tgt) = self."!cursor_start"()
-    rx934_cur."!cursor_debug"("START ", "prefix:sym<+>")
-    .lex unicode:"$\x{a2}", rx934_cur
-    .local pmc match
-    .lex "$/", match
-    length rx934_eos, rx934_tgt
-    set rx934_off, 0
-    lt rx934_pos, 2, rx934_start
-    sub rx934_off, rx934_pos, 1
-    substr rx934_tgt, rx934_tgt, rx934_off
-  rx934_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan938_done
-    goto rxscan938_scan
-  rxscan938_loop:
-    ($P10) = rx934_cur."from"()
-    inc $P10
-    set rx934_pos, $P10
-    ge rx934_pos, rx934_eos, rxscan938_done
-  rxscan938_scan:
-    set_addr $I10, rxscan938_loop
-    rx934_cur."!mark_push"(0, rx934_pos, $I10)
-  rxscan938_done:
-.annotate "line", 443
+.sub "postfix:sym<++>"  :subid("231_1259177761.22934") :method :outer("11_1259177761.22934")
+.annotate "line", 400
+    .local string rx933_tgt
+    .local int rx933_pos
+    .local int rx933_off
+    .local int rx933_eos
+    .local int rx933_rep
+    .local pmc rx933_cur
+    (rx933_cur, rx933_pos, rx933_tgt) = self."!cursor_start"()
+    rx933_cur."!cursor_debug"("START ", "postfix:sym<++>")
+    .lex unicode:"$\x{a2}", rx933_cur
+    .local pmc match
+    .lex "$/", match
+    length rx933_eos, rx933_tgt
+    set rx933_off, 0
+    lt rx933_pos, 2, rx933_start
+    sub rx933_off, rx933_pos, 1
+    substr rx933_tgt, rx933_tgt, rx933_off
+  rx933_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan937_done
+    goto rxscan937_scan
+  rxscan937_loop:
+    ($P10) = rx933_cur."from"()
+    inc $P10
+    set rx933_pos, $P10
+    ge rx933_pos, rx933_eos, rxscan937_done
+  rxscan937_scan:
+    set_addr $I10, rxscan937_loop
+    rx933_cur."!mark_push"(0, rx933_pos, $I10)
+  rxscan937_done:
+.annotate "line", 448
   # rx subcapture "sym"
-    set_addr $I10, rxcap_939_fail
-    rx934_cur."!mark_push"(0, rx934_pos, $I10)
-  # rx literal  "+"
-    add $I11, rx934_pos, 1
-    gt $I11, rx934_eos, rx934_fail
-    sub $I11, rx934_pos, rx934_off
-    substr $S10, rx934_tgt, $I11, 1
-    ne $S10, "+", rx934_fail
-    add rx934_pos, 1
-    set_addr $I10, rxcap_939_fail
-    ($I12, $I11) = rx934_cur."!mark_peek"($I10)
-    rx934_cur."!cursor_pos"($I11)
-    ($P10) = rx934_cur."!cursor_start"()
-    $P10."!cursor_pass"(rx934_pos, "")
-    rx934_cur."!mark_push"(0, -1, 0, $P10)
+    set_addr $I10, rxcap_938_fail
+    rx933_cur."!mark_push"(0, rx933_pos, $I10)
+  # rx literal  "++"
+    add $I11, rx933_pos, 2
+    gt $I11, rx933_eos, rx933_fail
+    sub $I11, rx933_pos, rx933_off
+    substr $S10, rx933_tgt, $I11, 2
+    ne $S10, "++", rx933_fail
+    add rx933_pos, 2
+    set_addr $I10, rxcap_938_fail
+    ($I12, $I11) = rx933_cur."!mark_peek"($I10)
+    rx933_cur."!cursor_pos"($I11)
+    ($P10) = rx933_cur."!cursor_start"()
+    $P10."!cursor_pass"(rx933_pos, "")
+    rx933_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("sym")
-    goto rxcap_939_done
-  rxcap_939_fail:
-    goto rx934_fail
-  rxcap_939_done:
+    goto rxcap_938_done
+  rxcap_938_fail:
+    goto rx933_fail
+  rxcap_938_done:
   # rx subrule "O" subtype=capture negate=
-    rx934_cur."!cursor_pos"(rx934_pos)
-    $P10 = rx934_cur."O"("%symbolic_unary, :pirop<set N*>")
-    unless $P10, rx934_fail
-    rx934_cur."!mark_push"(0, -1, 0, $P10)
+    rx933_cur."!cursor_pos"(rx933_pos)
+    $P10 = rx933_cur."O"("%autoincrement")
+    unless $P10, rx933_fail
+    rx933_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("O")
-    rx934_pos = $P10."pos"()
+    rx933_pos = $P10."pos"()
   # rx pass
-    rx934_cur."!cursor_pass"(rx934_pos, "prefix:sym<+>")
-    rx934_cur."!cursor_debug"("PASS  ", "prefix:sym<+>", " at pos=", rx934_pos)
-    .return (rx934_cur)
-  rx934_fail:
-.annotate "line", 390
-    (rx934_rep, rx934_pos, $I10, $P10) = rx934_cur."!mark_fail"(0)
-    lt rx934_pos, -1, rx934_done
-    eq rx934_pos, -1, rx934_fail
+    rx933_cur."!cursor_pass"(rx933_pos, "postfix:sym<++>")
+    rx933_cur."!cursor_debug"("PASS  ", "postfix:sym<++>", " at pos=", rx933_pos)
+    .return (rx933_cur)
+  rx933_fail:
+.annotate "line", 400
+    (rx933_rep, rx933_pos, $I10, $P10) = rx933_cur."!mark_fail"(0)
+    lt rx933_pos, -1, rx933_done
+    eq rx933_pos, -1, rx933_fail
     jump $I10
-  rx934_done:
-    rx934_cur."!cursor_fail"()
-    rx934_cur."!cursor_debug"("FAIL  ", "prefix:sym<+>")
-    .return (rx934_cur)
+  rx933_done:
+    rx933_cur."!cursor_fail"()
+    rx933_cur."!cursor_debug"("FAIL  ", "postfix:sym<++>")
+    .return (rx933_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__prefix:sym<+>"  :subid("234_1259103982.97329") :method
-.annotate "line", 390
-    $P936 = self."!PREFIX__!subrule"("O", "+")
-    new $P937, "ResizablePMCArray"
-    push $P937, $P936
-    .return ($P937)
+.sub "!PREFIX__postfix:sym<++>"  :subid("232_1259177761.22934") :method
+.annotate "line", 400
+    $P935 = self."!PREFIX__!subrule"("O", "++")
+    new $P936, "ResizablePMCArray"
+    push $P936, $P935
+    .return ($P936)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "prefix:sym<~>"  :subid("235_1259103982.97329") :method :outer("11_1259103982.97329")
-.annotate "line", 390
-    .local string rx941_tgt
-    .local int rx941_pos
-    .local int rx941_off
-    .local int rx941_eos
-    .local int rx941_rep
-    .local pmc rx941_cur
-    (rx941_cur, rx941_pos, rx941_tgt) = self."!cursor_start"()
-    rx941_cur."!cursor_debug"("START ", "prefix:sym<~>")
-    .lex unicode:"$\x{a2}", rx941_cur
-    .local pmc match
-    .lex "$/", match
-    length rx941_eos, rx941_tgt
-    set rx941_off, 0
-    lt rx941_pos, 2, rx941_start
-    sub rx941_off, rx941_pos, 1
-    substr rx941_tgt, rx941_tgt, rx941_off
-  rx941_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan945_done
-    goto rxscan945_scan
-  rxscan945_loop:
-    ($P10) = rx941_cur."from"()
-    inc $P10
-    set rx941_pos, $P10
-    ge rx941_pos, rx941_eos, rxscan945_done
-  rxscan945_scan:
-    set_addr $I10, rxscan945_loop
-    rx941_cur."!mark_push"(0, rx941_pos, $I10)
-  rxscan945_done:
-.annotate "line", 444
+.sub "postfix:sym<-->"  :subid("233_1259177761.22934") :method :outer("11_1259177761.22934")
+.annotate "line", 400
+    .local string rx940_tgt
+    .local int rx940_pos
+    .local int rx940_off
+    .local int rx940_eos
+    .local int rx940_rep
+    .local pmc rx940_cur
+    (rx940_cur, rx940_pos, rx940_tgt) = self."!cursor_start"()
+    rx940_cur."!cursor_debug"("START ", "postfix:sym<-->")
+    .lex unicode:"$\x{a2}", rx940_cur
+    .local pmc match
+    .lex "$/", match
+    length rx940_eos, rx940_tgt
+    set rx940_off, 0
+    lt rx940_pos, 2, rx940_start
+    sub rx940_off, rx940_pos, 1
+    substr rx940_tgt, rx940_tgt, rx940_off
+  rx940_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan944_done
+    goto rxscan944_scan
+  rxscan944_loop:
+    ($P10) = rx940_cur."from"()
+    inc $P10
+    set rx940_pos, $P10
+    ge rx940_pos, rx940_eos, rxscan944_done
+  rxscan944_scan:
+    set_addr $I10, rxscan944_loop
+    rx940_cur."!mark_push"(0, rx940_pos, $I10)
+  rxscan944_done:
+.annotate "line", 449
   # rx subcapture "sym"
-    set_addr $I10, rxcap_946_fail
-    rx941_cur."!mark_push"(0, rx941_pos, $I10)
-  # rx literal  "~"
-    add $I11, rx941_pos, 1
-    gt $I11, rx941_eos, rx941_fail
-    sub $I11, rx941_pos, rx941_off
-    substr $S10, rx941_tgt, $I11, 1
-    ne $S10, "~", rx941_fail
-    add rx941_pos, 1
-    set_addr $I10, rxcap_946_fail
-    ($I12, $I11) = rx941_cur."!mark_peek"($I10)
-    rx941_cur."!cursor_pos"($I11)
-    ($P10) = rx941_cur."!cursor_start"()
-    $P10."!cursor_pass"(rx941_pos, "")
-    rx941_cur."!mark_push"(0, -1, 0, $P10)
+    set_addr $I10, rxcap_945_fail
+    rx940_cur."!mark_push"(0, rx940_pos, $I10)
+  # rx literal  "--"
+    add $I11, rx940_pos, 2
+    gt $I11, rx940_eos, rx940_fail
+    sub $I11, rx940_pos, rx940_off
+    substr $S10, rx940_tgt, $I11, 2
+    ne $S10, "--", rx940_fail
+    add rx940_pos, 2
+    set_addr $I10, rxcap_945_fail
+    ($I12, $I11) = rx940_cur."!mark_peek"($I10)
+    rx940_cur."!cursor_pos"($I11)
+    ($P10) = rx940_cur."!cursor_start"()
+    $P10."!cursor_pass"(rx940_pos, "")
+    rx940_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("sym")
-    goto rxcap_946_done
-  rxcap_946_fail:
-    goto rx941_fail
-  rxcap_946_done:
+    goto rxcap_945_done
+  rxcap_945_fail:
+    goto rx940_fail
+  rxcap_945_done:
   # rx subrule "O" subtype=capture negate=
-    rx941_cur."!cursor_pos"(rx941_pos)
-    $P10 = rx941_cur."O"("%symbolic_unary, :pirop<set S*>")
-    unless $P10, rx941_fail
-    rx941_cur."!mark_push"(0, -1, 0, $P10)
+    rx940_cur."!cursor_pos"(rx940_pos)
+    $P10 = rx940_cur."O"("%autoincrement")
+    unless $P10, rx940_fail
+    rx940_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("O")
-    rx941_pos = $P10."pos"()
+    rx940_pos = $P10."pos"()
   # rx pass
-    rx941_cur."!cursor_pass"(rx941_pos, "prefix:sym<~>")
-    rx941_cur."!cursor_debug"("PASS  ", "prefix:sym<~>", " at pos=", rx941_pos)
-    .return (rx941_cur)
-  rx941_fail:
-.annotate "line", 390
-    (rx941_rep, rx941_pos, $I10, $P10) = rx941_cur."!mark_fail"(0)
-    lt rx941_pos, -1, rx941_done
-    eq rx941_pos, -1, rx941_fail
+    rx940_cur."!cursor_pass"(rx940_pos, "postfix:sym<-->")
+    rx940_cur."!cursor_debug"("PASS  ", "postfix:sym<-->", " at pos=", rx940_pos)
+    .return (rx940_cur)
+  rx940_fail:
+.annotate "line", 400
+    (rx940_rep, rx940_pos, $I10, $P10) = rx940_cur."!mark_fail"(0)
+    lt rx940_pos, -1, rx940_done
+    eq rx940_pos, -1, rx940_fail
     jump $I10
-  rx941_done:
-    rx941_cur."!cursor_fail"()
-    rx941_cur."!cursor_debug"("FAIL  ", "prefix:sym<~>")
-    .return (rx941_cur)
+  rx940_done:
+    rx940_cur."!cursor_fail"()
+    rx940_cur."!cursor_debug"("FAIL  ", "postfix:sym<-->")
+    .return (rx940_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__prefix:sym<~>"  :subid("236_1259103982.97329") :method
-.annotate "line", 390
-    $P943 = self."!PREFIX__!subrule"("O", "~")
-    new $P944, "ResizablePMCArray"
-    push $P944, $P943
-    .return ($P944)
+.sub "!PREFIX__postfix:sym<-->"  :subid("234_1259177761.22934") :method
+.annotate "line", 400
+    $P942 = self."!PREFIX__!subrule"("O", "--")
+    new $P943, "ResizablePMCArray"
+    push $P943, $P942
+    .return ($P943)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "prefix:sym<->"  :subid("237_1259103982.97329") :method :outer("11_1259103982.97329")
-.annotate "line", 390
-    .local string rx948_tgt
-    .local int rx948_pos
-    .local int rx948_off
-    .local int rx948_eos
-    .local int rx948_rep
-    .local pmc rx948_cur
-    (rx948_cur, rx948_pos, rx948_tgt) = self."!cursor_start"()
-    rx948_cur."!cursor_debug"("START ", "prefix:sym<->")
-    .lex unicode:"$\x{a2}", rx948_cur
-    .local pmc match
-    .lex "$/", match
-    length rx948_eos, rx948_tgt
-    set rx948_off, 0
-    lt rx948_pos, 2, rx948_start
-    sub rx948_off, rx948_pos, 1
-    substr rx948_tgt, rx948_tgt, rx948_off
-  rx948_start:
+.sub "infix:sym<**>"  :subid("235_1259177761.22934") :method :outer("11_1259177761.22934")
+.annotate "line", 400
+    .local string rx947_tgt
+    .local int rx947_pos
+    .local int rx947_off
+    .local int rx947_eos
+    .local int rx947_rep
+    .local pmc rx947_cur
+    (rx947_cur, rx947_pos, rx947_tgt) = self."!cursor_start"()
+    rx947_cur."!cursor_debug"("START ", "infix:sym<**>")
+    .lex unicode:"$\x{a2}", rx947_cur
+    .local pmc match
+    .lex "$/", match
+    length rx947_eos, rx947_tgt
+    set rx947_off, 0
+    lt rx947_pos, 2, rx947_start
+    sub rx947_off, rx947_pos, 1
+    substr rx947_tgt, rx947_tgt, rx947_off
+  rx947_start:
     $I10 = self.'from'()
     ne $I10, -1, rxscan951_done
     goto rxscan951_scan
   rxscan951_loop:
-    ($P10) = rx948_cur."from"()
+    ($P10) = rx947_cur."from"()
     inc $P10
-    set rx948_pos, $P10
-    ge rx948_pos, rx948_eos, rxscan951_done
+    set rx947_pos, $P10
+    ge rx947_pos, rx947_eos, rxscan951_done
   rxscan951_scan:
     set_addr $I10, rxscan951_loop
-    rx948_cur."!mark_push"(0, rx948_pos, $I10)
+    rx947_cur."!mark_push"(0, rx947_pos, $I10)
   rxscan951_done:
-.annotate "line", 445
+.annotate "line", 451
   # rx subcapture "sym"
     set_addr $I10, rxcap_952_fail
-    rx948_cur."!mark_push"(0, rx948_pos, $I10)
-  # rx literal  "-"
-    add $I11, rx948_pos, 1
-    gt $I11, rx948_eos, rx948_fail
-    sub $I11, rx948_pos, rx948_off
-    substr $S10, rx948_tgt, $I11, 1
-    ne $S10, "-", rx948_fail
-    add rx948_pos, 1
+    rx947_cur."!mark_push"(0, rx947_pos, $I10)
+  # rx literal  "**"
+    add $I11, rx947_pos, 2
+    gt $I11, rx947_eos, rx947_fail
+    sub $I11, rx947_pos, rx947_off
+    substr $S10, rx947_tgt, $I11, 2
+    ne $S10, "**", rx947_fail
+    add rx947_pos, 2
     set_addr $I10, rxcap_952_fail
-    ($I12, $I11) = rx948_cur."!mark_peek"($I10)
-    rx948_cur."!cursor_pos"($I11)
-    ($P10) = rx948_cur."!cursor_start"()
-    $P10."!cursor_pass"(rx948_pos, "")
-    rx948_cur."!mark_push"(0, -1, 0, $P10)
+    ($I12, $I11) = rx947_cur."!mark_peek"($I10)
+    rx947_cur."!cursor_pos"($I11)
+    ($P10) = rx947_cur."!cursor_start"()
+    $P10."!cursor_pass"(rx947_pos, "")
+    rx947_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("sym")
     goto rxcap_952_done
   rxcap_952_fail:
-    goto rx948_fail
+    goto rx947_fail
   rxcap_952_done:
-  # rx enumcharlist negate=1 zerowidth
-    ge rx948_pos, rx948_eos, rx948_fail
-    sub $I10, rx948_pos, rx948_off
-    substr $S10, rx948_tgt, $I10, 1
-    index $I11, ">", $S10
-    ge $I11, 0, rx948_fail
-  # rx subrule "number" subtype=zerowidth negate=1
-    rx948_cur."!cursor_pos"(rx948_pos)
-    $P10 = rx948_cur."number"()
-    if $P10, rx948_fail
   # rx subrule "O" subtype=capture negate=
-    rx948_cur."!cursor_pos"(rx948_pos)
-    $P10 = rx948_cur."O"("%symbolic_unary, :pirop<neg>")
-    unless $P10, rx948_fail
-    rx948_cur."!mark_push"(0, -1, 0, $P10)
+    rx947_cur."!cursor_pos"(rx947_pos)
+    $P10 = rx947_cur."O"("%exponentiation, :pirop<pow>")
+    unless $P10, rx947_fail
+    rx947_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("O")
-    rx948_pos = $P10."pos"()
+    rx947_pos = $P10."pos"()
   # rx pass
-    rx948_cur."!cursor_pass"(rx948_pos, "prefix:sym<->")
-    rx948_cur."!cursor_debug"("PASS  ", "prefix:sym<->", " at pos=", rx948_pos)
-    .return (rx948_cur)
-  rx948_fail:
-.annotate "line", 390
-    (rx948_rep, rx948_pos, $I10, $P10) = rx948_cur."!mark_fail"(0)
-    lt rx948_pos, -1, rx948_done
-    eq rx948_pos, -1, rx948_fail
+    rx947_cur."!cursor_pass"(rx947_pos, "infix:sym<**>")
+    rx947_cur."!cursor_debug"("PASS  ", "infix:sym<**>", " at pos=", rx947_pos)
+    .return (rx947_cur)
+  rx947_fail:
+.annotate "line", 400
+    (rx947_rep, rx947_pos, $I10, $P10) = rx947_cur."!mark_fail"(0)
+    lt rx947_pos, -1, rx947_done
+    eq rx947_pos, -1, rx947_fail
     jump $I10
-  rx948_done:
-    rx948_cur."!cursor_fail"()
-    rx948_cur."!cursor_debug"("FAIL  ", "prefix:sym<->")
-    .return (rx948_cur)
+  rx947_done:
+    rx947_cur."!cursor_fail"()
+    rx947_cur."!cursor_debug"("FAIL  ", "infix:sym<**>")
+    .return (rx947_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__prefix:sym<->"  :subid("238_1259103982.97329") :method
-.annotate "line", 390
+.sub "!PREFIX__infix:sym<**>"  :subid("236_1259177761.22934") :method
+.annotate "line", 400
+    $P949 = self."!PREFIX__!subrule"("O", "**")
     new $P950, "ResizablePMCArray"
-    push $P950, "-"
+    push $P950, $P949
     .return ($P950)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "prefix:sym<?>"  :subid("239_1259103982.97329") :method :outer("11_1259103982.97329")
-.annotate "line", 390
+.sub "prefix:sym<+>"  :subid("237_1259177761.22934") :method :outer("11_1259177761.22934")
+.annotate "line", 400
     .local string rx954_tgt
     .local int rx954_pos
     .local int rx954_off
@@ -11559,7 +11503,7 @@
     .local int rx954_rep
     .local pmc rx954_cur
     (rx954_cur, rx954_pos, rx954_tgt) = self."!cursor_start"()
-    rx954_cur."!cursor_debug"("START ", "prefix:sym<?>")
+    rx954_cur."!cursor_debug"("START ", "prefix:sym<+>")
     .lex unicode:"$\x{a2}", rx954_cur
     .local pmc match
     .lex "$/", match
@@ -11581,16 +11525,16 @@
     set_addr $I10, rxscan958_loop
     rx954_cur."!mark_push"(0, rx954_pos, $I10)
   rxscan958_done:
-.annotate "line", 446
+.annotate "line", 453
   # rx subcapture "sym"
     set_addr $I10, rxcap_959_fail
     rx954_cur."!mark_push"(0, rx954_pos, $I10)
-  # rx literal  "?"
+  # rx literal  "+"
     add $I11, rx954_pos, 1
     gt $I11, rx954_eos, rx954_fail
     sub $I11, rx954_pos, rx954_off
     substr $S10, rx954_tgt, $I11, 1
-    ne $S10, "?", rx954_fail
+    ne $S10, "+", rx954_fail
     add rx954_pos, 1
     set_addr $I10, rxcap_959_fail
     ($I12, $I11) = rx954_cur."!mark_peek"($I10)
@@ -11605,33 +11549,33 @@
   rxcap_959_done:
   # rx subrule "O" subtype=capture negate=
     rx954_cur."!cursor_pos"(rx954_pos)
-    $P10 = rx954_cur."O"("%symbolic_unary, :pirop<istrue>")
+    $P10 = rx954_cur."O"("%symbolic_unary, :pirop<set N*>")
     unless $P10, rx954_fail
     rx954_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("O")
     rx954_pos = $P10."pos"()
   # rx pass
-    rx954_cur."!cursor_pass"(rx954_pos, "prefix:sym<?>")
-    rx954_cur."!cursor_debug"("PASS  ", "prefix:sym<?>", " at pos=", rx954_pos)
+    rx954_cur."!cursor_pass"(rx954_pos, "prefix:sym<+>")
+    rx954_cur."!cursor_debug"("PASS  ", "prefix:sym<+>", " at pos=", rx954_pos)
     .return (rx954_cur)
   rx954_fail:
-.annotate "line", 390
+.annotate "line", 400
     (rx954_rep, rx954_pos, $I10, $P10) = rx954_cur."!mark_fail"(0)
     lt rx954_pos, -1, rx954_done
     eq rx954_pos, -1, rx954_fail
     jump $I10
   rx954_done:
     rx954_cur."!cursor_fail"()
-    rx954_cur."!cursor_debug"("FAIL  ", "prefix:sym<?>")
+    rx954_cur."!cursor_debug"("FAIL  ", "prefix:sym<+>")
     .return (rx954_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__prefix:sym<?>"  :subid("240_1259103982.97329") :method
-.annotate "line", 390
-    $P956 = self."!PREFIX__!subrule"("O", "?")
+.sub "!PREFIX__prefix:sym<+>"  :subid("238_1259177761.22934") :method
+.annotate "line", 400
+    $P956 = self."!PREFIX__!subrule"("O", "+")
     new $P957, "ResizablePMCArray"
     push $P957, $P956
     .return ($P957)
@@ -11639,8 +11583,8 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "prefix:sym<!>"  :subid("241_1259103982.97329") :method :outer("11_1259103982.97329")
-.annotate "line", 390
+.sub "prefix:sym<~>"  :subid("239_1259177761.22934") :method :outer("11_1259177761.22934")
+.annotate "line", 400
     .local string rx961_tgt
     .local int rx961_pos
     .local int rx961_off
@@ -11648,7 +11592,7 @@
     .local int rx961_rep
     .local pmc rx961_cur
     (rx961_cur, rx961_pos, rx961_tgt) = self."!cursor_start"()
-    rx961_cur."!cursor_debug"("START ", "prefix:sym<!>")
+    rx961_cur."!cursor_debug"("START ", "prefix:sym<~>")
     .lex unicode:"$\x{a2}", rx961_cur
     .local pmc match
     .lex "$/", match
@@ -11670,16 +11614,16 @@
     set_addr $I10, rxscan965_loop
     rx961_cur."!mark_push"(0, rx961_pos, $I10)
   rxscan965_done:
-.annotate "line", 447
+.annotate "line", 454
   # rx subcapture "sym"
     set_addr $I10, rxcap_966_fail
     rx961_cur."!mark_push"(0, rx961_pos, $I10)
-  # rx literal  "!"
+  # rx literal  "~"
     add $I11, rx961_pos, 1
     gt $I11, rx961_eos, rx961_fail
     sub $I11, rx961_pos, rx961_off
     substr $S10, rx961_tgt, $I11, 1
-    ne $S10, "!", rx961_fail
+    ne $S10, "~", rx961_fail
     add rx961_pos, 1
     set_addr $I10, rxcap_966_fail
     ($I12, $I11) = rx961_cur."!mark_peek"($I10)
@@ -11694,33 +11638,33 @@
   rxcap_966_done:
   # rx subrule "O" subtype=capture negate=
     rx961_cur."!cursor_pos"(rx961_pos)
-    $P10 = rx961_cur."O"("%symbolic_unary, :pirop<isfalse>")
+    $P10 = rx961_cur."O"("%symbolic_unary, :pirop<set S*>")
     unless $P10, rx961_fail
     rx961_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("O")
     rx961_pos = $P10."pos"()
   # rx pass
-    rx961_cur."!cursor_pass"(rx961_pos, "prefix:sym<!>")
-    rx961_cur."!cursor_debug"("PASS  ", "prefix:sym<!>", " at pos=", rx961_pos)
+    rx961_cur."!cursor_pass"(rx961_pos, "prefix:sym<~>")
+    rx961_cur."!cursor_debug"("PASS  ", "prefix:sym<~>", " at pos=", rx961_pos)
     .return (rx961_cur)
   rx961_fail:
-.annotate "line", 390
+.annotate "line", 400
     (rx961_rep, rx961_pos, $I10, $P10) = rx961_cur."!mark_fail"(0)
     lt rx961_pos, -1, rx961_done
     eq rx961_pos, -1, rx961_fail
     jump $I10
   rx961_done:
     rx961_cur."!cursor_fail"()
-    rx961_cur."!cursor_debug"("FAIL  ", "prefix:sym<!>")
+    rx961_cur."!cursor_debug"("FAIL  ", "prefix:sym<~>")
     .return (rx961_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__prefix:sym<!>"  :subid("242_1259103982.97329") :method
-.annotate "line", 390
-    $P963 = self."!PREFIX__!subrule"("O", "!")
+.sub "!PREFIX__prefix:sym<~>"  :subid("240_1259177761.22934") :method
+.annotate "line", 400
+    $P963 = self."!PREFIX__!subrule"("O", "~")
     new $P964, "ResizablePMCArray"
     push $P964, $P963
     .return ($P964)
@@ -11728,8 +11672,8 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "prefix:sym<|>"  :subid("243_1259103982.97329") :method :outer("11_1259103982.97329")
-.annotate "line", 390
+.sub "prefix:sym<->"  :subid("241_1259177761.22934") :method :outer("11_1259177761.22934")
+.annotate "line", 400
     .local string rx968_tgt
     .local int rx968_pos
     .local int rx968_off
@@ -11737,7 +11681,7 @@
     .local int rx968_rep
     .local pmc rx968_cur
     (rx968_cur, rx968_pos, rx968_tgt) = self."!cursor_start"()
-    rx968_cur."!cursor_debug"("START ", "prefix:sym<|>")
+    rx968_cur."!cursor_debug"("START ", "prefix:sym<->")
     .lex unicode:"$\x{a2}", rx968_cur
     .local pmc match
     .lex "$/", match
@@ -11748,2134 +11692,2133 @@
     substr rx968_tgt, rx968_tgt, rx968_off
   rx968_start:
     $I10 = self.'from'()
-    ne $I10, -1, rxscan972_done
-    goto rxscan972_scan
-  rxscan972_loop:
+    ne $I10, -1, rxscan971_done
+    goto rxscan971_scan
+  rxscan971_loop:
     ($P10) = rx968_cur."from"()
     inc $P10
     set rx968_pos, $P10
-    ge rx968_pos, rx968_eos, rxscan972_done
-  rxscan972_scan:
-    set_addr $I10, rxscan972_loop
+    ge rx968_pos, rx968_eos, rxscan971_done
+  rxscan971_scan:
+    set_addr $I10, rxscan971_loop
     rx968_cur."!mark_push"(0, rx968_pos, $I10)
-  rxscan972_done:
-.annotate "line", 448
+  rxscan971_done:
+.annotate "line", 455
   # rx subcapture "sym"
-    set_addr $I10, rxcap_973_fail
+    set_addr $I10, rxcap_972_fail
     rx968_cur."!mark_push"(0, rx968_pos, $I10)
-  # rx literal  "|"
+  # rx literal  "-"
     add $I11, rx968_pos, 1
     gt $I11, rx968_eos, rx968_fail
     sub $I11, rx968_pos, rx968_off
     substr $S10, rx968_tgt, $I11, 1
-    ne $S10, "|", rx968_fail
+    ne $S10, "-", rx968_fail
     add rx968_pos, 1
-    set_addr $I10, rxcap_973_fail
+    set_addr $I10, rxcap_972_fail
     ($I12, $I11) = rx968_cur."!mark_peek"($I10)
     rx968_cur."!cursor_pos"($I11)
     ($P10) = rx968_cur."!cursor_start"()
     $P10."!cursor_pass"(rx968_pos, "")
     rx968_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("sym")
-    goto rxcap_973_done
-  rxcap_973_fail:
+    goto rxcap_972_done
+  rxcap_972_fail:
     goto rx968_fail
-  rxcap_973_done:
+  rxcap_972_done:
+  # rx enumcharlist negate=1 zerowidth
+    ge rx968_pos, rx968_eos, rx968_fail
+    sub $I10, rx968_pos, rx968_off
+    substr $S10, rx968_tgt, $I10, 1
+    index $I11, ">", $S10
+    ge $I11, 0, rx968_fail
+  # rx subrule "number" subtype=zerowidth negate=1
+    rx968_cur."!cursor_pos"(rx968_pos)
+    $P10 = rx968_cur."number"()
+    if $P10, rx968_fail
   # rx subrule "O" subtype=capture negate=
     rx968_cur."!cursor_pos"(rx968_pos)
-    $P10 = rx968_cur."O"("%symbolic_unary")
+    $P10 = rx968_cur."O"("%symbolic_unary, :pirop<neg>")
     unless $P10, rx968_fail
     rx968_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("O")
     rx968_pos = $P10."pos"()
   # rx pass
-    rx968_cur."!cursor_pass"(rx968_pos, "prefix:sym<|>")
-    rx968_cur."!cursor_debug"("PASS  ", "prefix:sym<|>", " at pos=", rx968_pos)
+    rx968_cur."!cursor_pass"(rx968_pos, "prefix:sym<->")
+    rx968_cur."!cursor_debug"("PASS  ", "prefix:sym<->", " at pos=", rx968_pos)
     .return (rx968_cur)
   rx968_fail:
-.annotate "line", 390
+.annotate "line", 400
     (rx968_rep, rx968_pos, $I10, $P10) = rx968_cur."!mark_fail"(0)
     lt rx968_pos, -1, rx968_done
     eq rx968_pos, -1, rx968_fail
     jump $I10
   rx968_done:
     rx968_cur."!cursor_fail"()
-    rx968_cur."!cursor_debug"("FAIL  ", "prefix:sym<|>")
+    rx968_cur."!cursor_debug"("FAIL  ", "prefix:sym<->")
     .return (rx968_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__prefix:sym<|>"  :subid("244_1259103982.97329") :method
-.annotate "line", 390
-    $P970 = self."!PREFIX__!subrule"("O", "|")
-    new $P971, "ResizablePMCArray"
-    push $P971, $P970
-    .return ($P971)
+.sub "!PREFIX__prefix:sym<->"  :subid("242_1259177761.22934") :method
+.annotate "line", 400
+    new $P970, "ResizablePMCArray"
+    push $P970, "-"
+    .return ($P970)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "infix:sym<*>"  :subid("245_1259103982.97329") :method :outer("11_1259103982.97329")
-.annotate "line", 390
-    .local string rx975_tgt
-    .local int rx975_pos
-    .local int rx975_off
-    .local int rx975_eos
-    .local int rx975_rep
-    .local pmc rx975_cur
-    (rx975_cur, rx975_pos, rx975_tgt) = self."!cursor_start"()
-    rx975_cur."!cursor_debug"("START ", "infix:sym<*>")
-    .lex unicode:"$\x{a2}", rx975_cur
-    .local pmc match
-    .lex "$/", match
-    length rx975_eos, rx975_tgt
-    set rx975_off, 0
-    lt rx975_pos, 2, rx975_start
-    sub rx975_off, rx975_pos, 1
-    substr rx975_tgt, rx975_tgt, rx975_off
-  rx975_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan979_done
-    goto rxscan979_scan
-  rxscan979_loop:
-    ($P10) = rx975_cur."from"()
-    inc $P10
-    set rx975_pos, $P10
-    ge rx975_pos, rx975_eos, rxscan979_done
-  rxscan979_scan:
-    set_addr $I10, rxscan979_loop
-    rx975_cur."!mark_push"(0, rx975_pos, $I10)
-  rxscan979_done:
-.annotate "line", 450
+.sub "prefix:sym<?>"  :subid("243_1259177761.22934") :method :outer("11_1259177761.22934")
+.annotate "line", 400
+    .local string rx974_tgt
+    .local int rx974_pos
+    .local int rx974_off
+    .local int rx974_eos
+    .local int rx974_rep
+    .local pmc rx974_cur
+    (rx974_cur, rx974_pos, rx974_tgt) = self."!cursor_start"()
+    rx974_cur."!cursor_debug"("START ", "prefix:sym<?>")
+    .lex unicode:"$\x{a2}", rx974_cur
+    .local pmc match
+    .lex "$/", match
+    length rx974_eos, rx974_tgt
+    set rx974_off, 0
+    lt rx974_pos, 2, rx974_start
+    sub rx974_off, rx974_pos, 1
+    substr rx974_tgt, rx974_tgt, rx974_off
+  rx974_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan978_done
+    goto rxscan978_scan
+  rxscan978_loop:
+    ($P10) = rx974_cur."from"()
+    inc $P10
+    set rx974_pos, $P10
+    ge rx974_pos, rx974_eos, rxscan978_done
+  rxscan978_scan:
+    set_addr $I10, rxscan978_loop
+    rx974_cur."!mark_push"(0, rx974_pos, $I10)
+  rxscan978_done:
+.annotate "line", 456
   # rx subcapture "sym"
-    set_addr $I10, rxcap_980_fail
-    rx975_cur."!mark_push"(0, rx975_pos, $I10)
-  # rx literal  "*"
-    add $I11, rx975_pos, 1
-    gt $I11, rx975_eos, rx975_fail
-    sub $I11, rx975_pos, rx975_off
-    substr $S10, rx975_tgt, $I11, 1
-    ne $S10, "*", rx975_fail
-    add rx975_pos, 1
-    set_addr $I10, rxcap_980_fail
-    ($I12, $I11) = rx975_cur."!mark_peek"($I10)
-    rx975_cur."!cursor_pos"($I11)
-    ($P10) = rx975_cur."!cursor_start"()
-    $P10."!cursor_pass"(rx975_pos, "")
-    rx975_cur."!mark_push"(0, -1, 0, $P10)
+    set_addr $I10, rxcap_979_fail
+    rx974_cur."!mark_push"(0, rx974_pos, $I10)
+  # rx literal  "?"
+    add $I11, rx974_pos, 1
+    gt $I11, rx974_eos, rx974_fail
+    sub $I11, rx974_pos, rx974_off
+    substr $S10, rx974_tgt, $I11, 1
+    ne $S10, "?", rx974_fail
+    add rx974_pos, 1
+    set_addr $I10, rxcap_979_fail
+    ($I12, $I11) = rx974_cur."!mark_peek"($I10)
+    rx974_cur."!cursor_pos"($I11)
+    ($P10) = rx974_cur."!cursor_start"()
+    $P10."!cursor_pass"(rx974_pos, "")
+    rx974_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("sym")
-    goto rxcap_980_done
-  rxcap_980_fail:
-    goto rx975_fail
-  rxcap_980_done:
+    goto rxcap_979_done
+  rxcap_979_fail:
+    goto rx974_fail
+  rxcap_979_done:
   # rx subrule "O" subtype=capture negate=
-    rx975_cur."!cursor_pos"(rx975_pos)
-    $P10 = rx975_cur."O"("%multiplicative, :pirop<mul>")
-    unless $P10, rx975_fail
-    rx975_cur."!mark_push"(0, -1, 0, $P10)
+    rx974_cur."!cursor_pos"(rx974_pos)
+    $P10 = rx974_cur."O"("%symbolic_unary, :pirop<istrue>")
+    unless $P10, rx974_fail
+    rx974_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("O")
-    rx975_pos = $P10."pos"()
+    rx974_pos = $P10."pos"()
   # rx pass
-    rx975_cur."!cursor_pass"(rx975_pos, "infix:sym<*>")
-    rx975_cur."!cursor_debug"("PASS  ", "infix:sym<*>", " at pos=", rx975_pos)
-    .return (rx975_cur)
-  rx975_fail:
-.annotate "line", 390
-    (rx975_rep, rx975_pos, $I10, $P10) = rx975_cur."!mark_fail"(0)
-    lt rx975_pos, -1, rx975_done
-    eq rx975_pos, -1, rx975_fail
+    rx974_cur."!cursor_pass"(rx974_pos, "prefix:sym<?>")
+    rx974_cur."!cursor_debug"("PASS  ", "prefix:sym<?>", " at pos=", rx974_pos)
+    .return (rx974_cur)
+  rx974_fail:
+.annotate "line", 400
+    (rx974_rep, rx974_pos, $I10, $P10) = rx974_cur."!mark_fail"(0)
+    lt rx974_pos, -1, rx974_done
+    eq rx974_pos, -1, rx974_fail
     jump $I10
-  rx975_done:
-    rx975_cur."!cursor_fail"()
-    rx975_cur."!cursor_debug"("FAIL  ", "infix:sym<*>")
-    .return (rx975_cur)
+  rx974_done:
+    rx974_cur."!cursor_fail"()
+    rx974_cur."!cursor_debug"("FAIL  ", "prefix:sym<?>")
+    .return (rx974_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__infix:sym<*>"  :subid("246_1259103982.97329") :method
-.annotate "line", 390
-    $P977 = self."!PREFIX__!subrule"("O", "*")
-    new $P978, "ResizablePMCArray"
-    push $P978, $P977
-    .return ($P978)
+.sub "!PREFIX__prefix:sym<?>"  :subid("244_1259177761.22934") :method
+.annotate "line", 400
+    $P976 = self."!PREFIX__!subrule"("O", "?")
+    new $P977, "ResizablePMCArray"
+    push $P977, $P976
+    .return ($P977)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "infix:sym</>"  :subid("247_1259103982.97329") :method :outer("11_1259103982.97329")
-.annotate "line", 390
-    .local string rx982_tgt
-    .local int rx982_pos
-    .local int rx982_off
-    .local int rx982_eos
-    .local int rx982_rep
-    .local pmc rx982_cur
-    (rx982_cur, rx982_pos, rx982_tgt) = self."!cursor_start"()
-    rx982_cur."!cursor_debug"("START ", "infix:sym</>")
-    .lex unicode:"$\x{a2}", rx982_cur
-    .local pmc match
-    .lex "$/", match
-    length rx982_eos, rx982_tgt
-    set rx982_off, 0
-    lt rx982_pos, 2, rx982_start
-    sub rx982_off, rx982_pos, 1
-    substr rx982_tgt, rx982_tgt, rx982_off
-  rx982_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan986_done
-    goto rxscan986_scan
-  rxscan986_loop:
-    ($P10) = rx982_cur."from"()
-    inc $P10
-    set rx982_pos, $P10
-    ge rx982_pos, rx982_eos, rxscan986_done
-  rxscan986_scan:
-    set_addr $I10, rxscan986_loop
-    rx982_cur."!mark_push"(0, rx982_pos, $I10)
-  rxscan986_done:
-.annotate "line", 451
+.sub "prefix:sym<!>"  :subid("245_1259177761.22934") :method :outer("11_1259177761.22934")
+.annotate "line", 400
+    .local string rx981_tgt
+    .local int rx981_pos
+    .local int rx981_off
+    .local int rx981_eos
+    .local int rx981_rep
+    .local pmc rx981_cur
+    (rx981_cur, rx981_pos, rx981_tgt) = self."!cursor_start"()
+    rx981_cur."!cursor_debug"("START ", "prefix:sym<!>")
+    .lex unicode:"$\x{a2}", rx981_cur
+    .local pmc match
+    .lex "$/", match
+    length rx981_eos, rx981_tgt
+    set rx981_off, 0
+    lt rx981_pos, 2, rx981_start
+    sub rx981_off, rx981_pos, 1
+    substr rx981_tgt, rx981_tgt, rx981_off
+  rx981_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan985_done
+    goto rxscan985_scan
+  rxscan985_loop:
+    ($P10) = rx981_cur."from"()
+    inc $P10
+    set rx981_pos, $P10
+    ge rx981_pos, rx981_eos, rxscan985_done
+  rxscan985_scan:
+    set_addr $I10, rxscan985_loop
+    rx981_cur."!mark_push"(0, rx981_pos, $I10)
+  rxscan985_done:
+.annotate "line", 457
   # rx subcapture "sym"
-    set_addr $I10, rxcap_987_fail
-    rx982_cur."!mark_push"(0, rx982_pos, $I10)
-  # rx literal  "/"
-    add $I11, rx982_pos, 1
-    gt $I11, rx982_eos, rx982_fail
-    sub $I11, rx982_pos, rx982_off
-    substr $S10, rx982_tgt, $I11, 1
-    ne $S10, "/", rx982_fail
-    add rx982_pos, 1
-    set_addr $I10, rxcap_987_fail
-    ($I12, $I11) = rx982_cur."!mark_peek"($I10)
-    rx982_cur."!cursor_pos"($I11)
-    ($P10) = rx982_cur."!cursor_start"()
-    $P10."!cursor_pass"(rx982_pos, "")
-    rx982_cur."!mark_push"(0, -1, 0, $P10)
+    set_addr $I10, rxcap_986_fail
+    rx981_cur."!mark_push"(0, rx981_pos, $I10)
+  # rx literal  "!"
+    add $I11, rx981_pos, 1
+    gt $I11, rx981_eos, rx981_fail
+    sub $I11, rx981_pos, rx981_off
+    substr $S10, rx981_tgt, $I11, 1
+    ne $S10, "!", rx981_fail
+    add rx981_pos, 1
+    set_addr $I10, rxcap_986_fail
+    ($I12, $I11) = rx981_cur."!mark_peek"($I10)
+    rx981_cur."!cursor_pos"($I11)
+    ($P10) = rx981_cur."!cursor_start"()
+    $P10."!cursor_pass"(rx981_pos, "")
+    rx981_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("sym")
-    goto rxcap_987_done
-  rxcap_987_fail:
-    goto rx982_fail
-  rxcap_987_done:
+    goto rxcap_986_done
+  rxcap_986_fail:
+    goto rx981_fail
+  rxcap_986_done:
   # rx subrule "O" subtype=capture negate=
-    rx982_cur."!cursor_pos"(rx982_pos)
-    $P10 = rx982_cur."O"("%multiplicative, :pirop<div>")
-    unless $P10, rx982_fail
-    rx982_cur."!mark_push"(0, -1, 0, $P10)
+    rx981_cur."!cursor_pos"(rx981_pos)
+    $P10 = rx981_cur."O"("%symbolic_unary, :pirop<isfalse>")
+    unless $P10, rx981_fail
+    rx981_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("O")
-    rx982_pos = $P10."pos"()
+    rx981_pos = $P10."pos"()
   # rx pass
-    rx982_cur."!cursor_pass"(rx982_pos, "infix:sym</>")
-    rx982_cur."!cursor_debug"("PASS  ", "infix:sym</>", " at pos=", rx982_pos)
-    .return (rx982_cur)
-  rx982_fail:
-.annotate "line", 390
-    (rx982_rep, rx982_pos, $I10, $P10) = rx982_cur."!mark_fail"(0)
-    lt rx982_pos, -1, rx982_done
-    eq rx982_pos, -1, rx982_fail
+    rx981_cur."!cursor_pass"(rx981_pos, "prefix:sym<!>")
+    rx981_cur."!cursor_debug"("PASS  ", "prefix:sym<!>", " at pos=", rx981_pos)
+    .return (rx981_cur)
+  rx981_fail:
+.annotate "line", 400
+    (rx981_rep, rx981_pos, $I10, $P10) = rx981_cur."!mark_fail"(0)
+    lt rx981_pos, -1, rx981_done
+    eq rx981_pos, -1, rx981_fail
     jump $I10
-  rx982_done:
-    rx982_cur."!cursor_fail"()
-    rx982_cur."!cursor_debug"("FAIL  ", "infix:sym</>")
-    .return (rx982_cur)
+  rx981_done:
+    rx981_cur."!cursor_fail"()
+    rx981_cur."!cursor_debug"("FAIL  ", "prefix:sym<!>")
+    .return (rx981_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__infix:sym</>"  :subid("248_1259103982.97329") :method
-.annotate "line", 390
-    $P984 = self."!PREFIX__!subrule"("O", "/")
-    new $P985, "ResizablePMCArray"
-    push $P985, $P984
-    .return ($P985)
+.sub "!PREFIX__prefix:sym<!>"  :subid("246_1259177761.22934") :method
+.annotate "line", 400
+    $P983 = self."!PREFIX__!subrule"("O", "!")
+    new $P984, "ResizablePMCArray"
+    push $P984, $P983
+    .return ($P984)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "infix:sym<%>"  :subid("249_1259103982.97329") :method :outer("11_1259103982.97329")
-.annotate "line", 390
-    .local string rx989_tgt
-    .local int rx989_pos
-    .local int rx989_off
-    .local int rx989_eos
-    .local int rx989_rep
-    .local pmc rx989_cur
-    (rx989_cur, rx989_pos, rx989_tgt) = self."!cursor_start"()
-    rx989_cur."!cursor_debug"("START ", "infix:sym<%>")
-    .lex unicode:"$\x{a2}", rx989_cur
-    .local pmc match
-    .lex "$/", match
-    length rx989_eos, rx989_tgt
-    set rx989_off, 0
-    lt rx989_pos, 2, rx989_start
-    sub rx989_off, rx989_pos, 1
-    substr rx989_tgt, rx989_tgt, rx989_off
-  rx989_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan993_done
-    goto rxscan993_scan
-  rxscan993_loop:
-    ($P10) = rx989_cur."from"()
-    inc $P10
-    set rx989_pos, $P10
-    ge rx989_pos, rx989_eos, rxscan993_done
-  rxscan993_scan:
-    set_addr $I10, rxscan993_loop
-    rx989_cur."!mark_push"(0, rx989_pos, $I10)
-  rxscan993_done:
-.annotate "line", 452
+.sub "prefix:sym<|>"  :subid("247_1259177761.22934") :method :outer("11_1259177761.22934")
+.annotate "line", 400
+    .local string rx988_tgt
+    .local int rx988_pos
+    .local int rx988_off
+    .local int rx988_eos
+    .local int rx988_rep
+    .local pmc rx988_cur
+    (rx988_cur, rx988_pos, rx988_tgt) = self."!cursor_start"()
+    rx988_cur."!cursor_debug"("START ", "prefix:sym<|>")
+    .lex unicode:"$\x{a2}", rx988_cur
+    .local pmc match
+    .lex "$/", match
+    length rx988_eos, rx988_tgt
+    set rx988_off, 0
+    lt rx988_pos, 2, rx988_start
+    sub rx988_off, rx988_pos, 1
+    substr rx988_tgt, rx988_tgt, rx988_off
+  rx988_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan992_done
+    goto rxscan992_scan
+  rxscan992_loop:
+    ($P10) = rx988_cur."from"()
+    inc $P10
+    set rx988_pos, $P10
+    ge rx988_pos, rx988_eos, rxscan992_done
+  rxscan992_scan:
+    set_addr $I10, rxscan992_loop
+    rx988_cur."!mark_push"(0, rx988_pos, $I10)
+  rxscan992_done:
+.annotate "line", 458
   # rx subcapture "sym"
-    set_addr $I10, rxcap_994_fail
-    rx989_cur."!mark_push"(0, rx989_pos, $I10)
-  # rx literal  "%"
-    add $I11, rx989_pos, 1
-    gt $I11, rx989_eos, rx989_fail
-    sub $I11, rx989_pos, rx989_off
-    substr $S10, rx989_tgt, $I11, 1
-    ne $S10, "%", rx989_fail
-    add rx989_pos, 1
-    set_addr $I10, rxcap_994_fail
-    ($I12, $I11) = rx989_cur."!mark_peek"($I10)
-    rx989_cur."!cursor_pos"($I11)
-    ($P10) = rx989_cur."!cursor_start"()
-    $P10."!cursor_pass"(rx989_pos, "")
-    rx989_cur."!mark_push"(0, -1, 0, $P10)
+    set_addr $I10, rxcap_993_fail
+    rx988_cur."!mark_push"(0, rx988_pos, $I10)
+  # rx literal  "|"
+    add $I11, rx988_pos, 1
+    gt $I11, rx988_eos, rx988_fail
+    sub $I11, rx988_pos, rx988_off
+    substr $S10, rx988_tgt, $I11, 1
+    ne $S10, "|", rx988_fail
+    add rx988_pos, 1
+    set_addr $I10, rxcap_993_fail
+    ($I12, $I11) = rx988_cur."!mark_peek"($I10)
+    rx988_cur."!cursor_pos"($I11)
+    ($P10) = rx988_cur."!cursor_start"()
+    $P10."!cursor_pass"(rx988_pos, "")
+    rx988_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("sym")
-    goto rxcap_994_done
-  rxcap_994_fail:
-    goto rx989_fail
-  rxcap_994_done:
+    goto rxcap_993_done
+  rxcap_993_fail:
+    goto rx988_fail
+  rxcap_993_done:
   # rx subrule "O" subtype=capture negate=
-    rx989_cur."!cursor_pos"(rx989_pos)
-    $P10 = rx989_cur."O"("%multiplicative, :pirop<mod>")
-    unless $P10, rx989_fail
-    rx989_cur."!mark_push"(0, -1, 0, $P10)
+    rx988_cur."!cursor_pos"(rx988_pos)
+    $P10 = rx988_cur."O"("%symbolic_unary")
+    unless $P10, rx988_fail
+    rx988_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("O")
-    rx989_pos = $P10."pos"()
+    rx988_pos = $P10."pos"()
   # rx pass
-    rx989_cur."!cursor_pass"(rx989_pos, "infix:sym<%>")
-    rx989_cur."!cursor_debug"("PASS  ", "infix:sym<%>", " at pos=", rx989_pos)
-    .return (rx989_cur)
-  rx989_fail:
-.annotate "line", 390
-    (rx989_rep, rx989_pos, $I10, $P10) = rx989_cur."!mark_fail"(0)
-    lt rx989_pos, -1, rx989_done
-    eq rx989_pos, -1, rx989_fail
+    rx988_cur."!cursor_pass"(rx988_pos, "prefix:sym<|>")
+    rx988_cur."!cursor_debug"("PASS  ", "prefix:sym<|>", " at pos=", rx988_pos)
+    .return (rx988_cur)
+  rx988_fail:
+.annotate "line", 400
+    (rx988_rep, rx988_pos, $I10, $P10) = rx988_cur."!mark_fail"(0)
+    lt rx988_pos, -1, rx988_done
+    eq rx988_pos, -1, rx988_fail
     jump $I10
-  rx989_done:
-    rx989_cur."!cursor_fail"()
-    rx989_cur."!cursor_debug"("FAIL  ", "infix:sym<%>")
-    .return (rx989_cur)
+  rx988_done:
+    rx988_cur."!cursor_fail"()
+    rx988_cur."!cursor_debug"("FAIL  ", "prefix:sym<|>")
+    .return (rx988_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__infix:sym<%>"  :subid("250_1259103982.97329") :method
-.annotate "line", 390
-    $P991 = self."!PREFIX__!subrule"("O", "%")
-    new $P992, "ResizablePMCArray"
-    push $P992, $P991
-    .return ($P992)
+.sub "!PREFIX__prefix:sym<|>"  :subid("248_1259177761.22934") :method
+.annotate "line", 400
+    $P990 = self."!PREFIX__!subrule"("O", "|")
+    new $P991, "ResizablePMCArray"
+    push $P991, $P990
+    .return ($P991)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "infix:sym<+>"  :subid("251_1259103982.97329") :method :outer("11_1259103982.97329")
-.annotate "line", 390
-    .local string rx996_tgt
-    .local int rx996_pos
-    .local int rx996_off
-    .local int rx996_eos
-    .local int rx996_rep
-    .local pmc rx996_cur
-    (rx996_cur, rx996_pos, rx996_tgt) = self."!cursor_start"()
-    rx996_cur."!cursor_debug"("START ", "infix:sym<+>")
-    .lex unicode:"$\x{a2}", rx996_cur
-    .local pmc match
-    .lex "$/", match
-    length rx996_eos, rx996_tgt
-    set rx996_off, 0
-    lt rx996_pos, 2, rx996_start
-    sub rx996_off, rx996_pos, 1
-    substr rx996_tgt, rx996_tgt, rx996_off
-  rx996_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan1000_done
-    goto rxscan1000_scan
-  rxscan1000_loop:
-    ($P10) = rx996_cur."from"()
-    inc $P10
-    set rx996_pos, $P10
-    ge rx996_pos, rx996_eos, rxscan1000_done
-  rxscan1000_scan:
-    set_addr $I10, rxscan1000_loop
-    rx996_cur."!mark_push"(0, rx996_pos, $I10)
-  rxscan1000_done:
-.annotate "line", 454
+.sub "infix:sym<*>"  :subid("249_1259177761.22934") :method :outer("11_1259177761.22934")
+.annotate "line", 400
+    .local string rx995_tgt
+    .local int rx995_pos
+    .local int rx995_off
+    .local int rx995_eos
+    .local int rx995_rep
+    .local pmc rx995_cur
+    (rx995_cur, rx995_pos, rx995_tgt) = self."!cursor_start"()
+    rx995_cur."!cursor_debug"("START ", "infix:sym<*>")
+    .lex unicode:"$\x{a2}", rx995_cur
+    .local pmc match
+    .lex "$/", match
+    length rx995_eos, rx995_tgt
+    set rx995_off, 0
+    lt rx995_pos, 2, rx995_start
+    sub rx995_off, rx995_pos, 1
+    substr rx995_tgt, rx995_tgt, rx995_off
+  rx995_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan999_done
+    goto rxscan999_scan
+  rxscan999_loop:
+    ($P10) = rx995_cur."from"()
+    inc $P10
+    set rx995_pos, $P10
+    ge rx995_pos, rx995_eos, rxscan999_done
+  rxscan999_scan:
+    set_addr $I10, rxscan999_loop
+    rx995_cur."!mark_push"(0, rx995_pos, $I10)
+  rxscan999_done:
+.annotate "line", 460
   # rx subcapture "sym"
-    set_addr $I10, rxcap_1001_fail
-    rx996_cur."!mark_push"(0, rx996_pos, $I10)
-  # rx literal  "+"
-    add $I11, rx996_pos, 1
-    gt $I11, rx996_eos, rx996_fail
-    sub $I11, rx996_pos, rx996_off
-    substr $S10, rx996_tgt, $I11, 1
-    ne $S10, "+", rx996_fail
-    add rx996_pos, 1
-    set_addr $I10, rxcap_1001_fail
-    ($I12, $I11) = rx996_cur."!mark_peek"($I10)
-    rx996_cur."!cursor_pos"($I11)
-    ($P10) = rx996_cur."!cursor_start"()
-    $P10."!cursor_pass"(rx996_pos, "")
-    rx996_cur."!mark_push"(0, -1, 0, $P10)
+    set_addr $I10, rxcap_1000_fail
+    rx995_cur."!mark_push"(0, rx995_pos, $I10)
+  # rx literal  "*"
+    add $I11, rx995_pos, 1
+    gt $I11, rx995_eos, rx995_fail
+    sub $I11, rx995_pos, rx995_off
+    substr $S10, rx995_tgt, $I11, 1
+    ne $S10, "*", rx995_fail
+    add rx995_pos, 1
+    set_addr $I10, rxcap_1000_fail
+    ($I12, $I11) = rx995_cur."!mark_peek"($I10)
+    rx995_cur."!cursor_pos"($I11)
+    ($P10) = rx995_cur."!cursor_start"()
+    $P10."!cursor_pass"(rx995_pos, "")
+    rx995_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("sym")
-    goto rxcap_1001_done
-  rxcap_1001_fail:
-    goto rx996_fail
-  rxcap_1001_done:
+    goto rxcap_1000_done
+  rxcap_1000_fail:
+    goto rx995_fail
+  rxcap_1000_done:
   # rx subrule "O" subtype=capture negate=
-    rx996_cur."!cursor_pos"(rx996_pos)
-    $P10 = rx996_cur."O"("%additive, :pirop<add>")
-    unless $P10, rx996_fail
-    rx996_cur."!mark_push"(0, -1, 0, $P10)
+    rx995_cur."!cursor_pos"(rx995_pos)
+    $P10 = rx995_cur."O"("%multiplicative, :pirop<mul>")
+    unless $P10, rx995_fail
+    rx995_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("O")
-    rx996_pos = $P10."pos"()
+    rx995_pos = $P10."pos"()
   # rx pass
-    rx996_cur."!cursor_pass"(rx996_pos, "infix:sym<+>")
-    rx996_cur."!cursor_debug"("PASS  ", "infix:sym<+>", " at pos=", rx996_pos)
-    .return (rx996_cur)
-  rx996_fail:
-.annotate "line", 390
-    (rx996_rep, rx996_pos, $I10, $P10) = rx996_cur."!mark_fail"(0)
-    lt rx996_pos, -1, rx996_done
-    eq rx996_pos, -1, rx996_fail
+    rx995_cur."!cursor_pass"(rx995_pos, "infix:sym<*>")
+    rx995_cur."!cursor_debug"("PASS  ", "infix:sym<*>", " at pos=", rx995_pos)
+    .return (rx995_cur)
+  rx995_fail:
+.annotate "line", 400
+    (rx995_rep, rx995_pos, $I10, $P10) = rx995_cur."!mark_fail"(0)
+    lt rx995_pos, -1, rx995_done
+    eq rx995_pos, -1, rx995_fail
     jump $I10
-  rx996_done:
-    rx996_cur."!cursor_fail"()
-    rx996_cur."!cursor_debug"("FAIL  ", "infix:sym<+>")
-    .return (rx996_cur)
+  rx995_done:
+    rx995_cur."!cursor_fail"()
+    rx995_cur."!cursor_debug"("FAIL  ", "infix:sym<*>")
+    .return (rx995_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__infix:sym<+>"  :subid("252_1259103982.97329") :method
-.annotate "line", 390
-    $P998 = self."!PREFIX__!subrule"("O", "+")
-    new $P999, "ResizablePMCArray"
-    push $P999, $P998
-    .return ($P999)
+.sub "!PREFIX__infix:sym<*>"  :subid("250_1259177761.22934") :method
+.annotate "line", 400
+    $P997 = self."!PREFIX__!subrule"("O", "*")
+    new $P998, "ResizablePMCArray"
+    push $P998, $P997
+    .return ($P998)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "infix:sym<->"  :subid("253_1259103982.97329") :method :outer("11_1259103982.97329")
-.annotate "line", 390
-    .local string rx1003_tgt
-    .local int rx1003_pos
-    .local int rx1003_off
-    .local int rx1003_eos
-    .local int rx1003_rep
-    .local pmc rx1003_cur
-    (rx1003_cur, rx1003_pos, rx1003_tgt) = self."!cursor_start"()
-    rx1003_cur."!cursor_debug"("START ", "infix:sym<->")
-    .lex unicode:"$\x{a2}", rx1003_cur
-    .local pmc match
-    .lex "$/", match
-    length rx1003_eos, rx1003_tgt
-    set rx1003_off, 0
-    lt rx1003_pos, 2, rx1003_start
-    sub rx1003_off, rx1003_pos, 1
-    substr rx1003_tgt, rx1003_tgt, rx1003_off
-  rx1003_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan1007_done
-    goto rxscan1007_scan
-  rxscan1007_loop:
-    ($P10) = rx1003_cur."from"()
-    inc $P10
-    set rx1003_pos, $P10
-    ge rx1003_pos, rx1003_eos, rxscan1007_done
-  rxscan1007_scan:
-    set_addr $I10, rxscan1007_loop
-    rx1003_cur."!mark_push"(0, rx1003_pos, $I10)
-  rxscan1007_done:
-.annotate "line", 455
+.sub "infix:sym</>"  :subid("251_1259177761.22934") :method :outer("11_1259177761.22934")
+.annotate "line", 400
+    .local string rx1002_tgt
+    .local int rx1002_pos
+    .local int rx1002_off
+    .local int rx1002_eos
+    .local int rx1002_rep
+    .local pmc rx1002_cur
+    (rx1002_cur, rx1002_pos, rx1002_tgt) = self."!cursor_start"()
+    rx1002_cur."!cursor_debug"("START ", "infix:sym</>")
+    .lex unicode:"$\x{a2}", rx1002_cur
+    .local pmc match
+    .lex "$/", match
+    length rx1002_eos, rx1002_tgt
+    set rx1002_off, 0
+    lt rx1002_pos, 2, rx1002_start
+    sub rx1002_off, rx1002_pos, 1
+    substr rx1002_tgt, rx1002_tgt, rx1002_off
+  rx1002_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan1006_done
+    goto rxscan1006_scan
+  rxscan1006_loop:
+    ($P10) = rx1002_cur."from"()
+    inc $P10
+    set rx1002_pos, $P10
+    ge rx1002_pos, rx1002_eos, rxscan1006_done
+  rxscan1006_scan:
+    set_addr $I10, rxscan1006_loop
+    rx1002_cur."!mark_push"(0, rx1002_pos, $I10)
+  rxscan1006_done:
+.annotate "line", 461
   # rx subcapture "sym"
-    set_addr $I10, rxcap_1008_fail
-    rx1003_cur."!mark_push"(0, rx1003_pos, $I10)
-  # rx literal  "-"
-    add $I11, rx1003_pos, 1
-    gt $I11, rx1003_eos, rx1003_fail
-    sub $I11, rx1003_pos, rx1003_off
-    substr $S10, rx1003_tgt, $I11, 1
-    ne $S10, "-", rx1003_fail
-    add rx1003_pos, 1
-    set_addr $I10, rxcap_1008_fail
-    ($I12, $I11) = rx1003_cur."!mark_peek"($I10)
-    rx1003_cur."!cursor_pos"($I11)
-    ($P10) = rx1003_cur."!cursor_start"()
-    $P10."!cursor_pass"(rx1003_pos, "")
-    rx1003_cur."!mark_push"(0, -1, 0, $P10)
+    set_addr $I10, rxcap_1007_fail
+    rx1002_cur."!mark_push"(0, rx1002_pos, $I10)
+  # rx literal  "/"
+    add $I11, rx1002_pos, 1
+    gt $I11, rx1002_eos, rx1002_fail
+    sub $I11, rx1002_pos, rx1002_off
+    substr $S10, rx1002_tgt, $I11, 1
+    ne $S10, "/", rx1002_fail
+    add rx1002_pos, 1
+    set_addr $I10, rxcap_1007_fail
+    ($I12, $I11) = rx1002_cur."!mark_peek"($I10)
+    rx1002_cur."!cursor_pos"($I11)
+    ($P10) = rx1002_cur."!cursor_start"()
+    $P10."!cursor_pass"(rx1002_pos, "")
+    rx1002_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("sym")
-    goto rxcap_1008_done
-  rxcap_1008_fail:
-    goto rx1003_fail
-  rxcap_1008_done:
+    goto rxcap_1007_done
+  rxcap_1007_fail:
+    goto rx1002_fail
+  rxcap_1007_done:
   # rx subrule "O" subtype=capture negate=
-    rx1003_cur."!cursor_pos"(rx1003_pos)
-    $P10 = rx1003_cur."O"("%additive, :pirop<sub>")
-    unless $P10, rx1003_fail
-    rx1003_cur."!mark_push"(0, -1, 0, $P10)
+    rx1002_cur."!cursor_pos"(rx1002_pos)
+    $P10 = rx1002_cur."O"("%multiplicative, :pirop<div>")
+    unless $P10, rx1002_fail
+    rx1002_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("O")
-    rx1003_pos = $P10."pos"()
+    rx1002_pos = $P10."pos"()
   # rx pass
-    rx1003_cur."!cursor_pass"(rx1003_pos, "infix:sym<->")
-    rx1003_cur."!cursor_debug"("PASS  ", "infix:sym<->", " at pos=", rx1003_pos)
-    .return (rx1003_cur)
-  rx1003_fail:
-.annotate "line", 390
-    (rx1003_rep, rx1003_pos, $I10, $P10) = rx1003_cur."!mark_fail"(0)
-    lt rx1003_pos, -1, rx1003_done
-    eq rx1003_pos, -1, rx1003_fail
+    rx1002_cur."!cursor_pass"(rx1002_pos, "infix:sym</>")
+    rx1002_cur."!cursor_debug"("PASS  ", "infix:sym</>", " at pos=", rx1002_pos)
+    .return (rx1002_cur)
+  rx1002_fail:
+.annotate "line", 400
+    (rx1002_rep, rx1002_pos, $I10, $P10) = rx1002_cur."!mark_fail"(0)
+    lt rx1002_pos, -1, rx1002_done
+    eq rx1002_pos, -1, rx1002_fail
     jump $I10
-  rx1003_done:
-    rx1003_cur."!cursor_fail"()
-    rx1003_cur."!cursor_debug"("FAIL  ", "infix:sym<->")
-    .return (rx1003_cur)
+  rx1002_done:
+    rx1002_cur."!cursor_fail"()
+    rx1002_cur."!cursor_debug"("FAIL  ", "infix:sym</>")
+    .return (rx1002_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__infix:sym<->"  :subid("254_1259103982.97329") :method
-.annotate "line", 390
-    $P1005 = self."!PREFIX__!subrule"("O", "-")
-    new $P1006, "ResizablePMCArray"
-    push $P1006, $P1005
-    .return ($P1006)
+.sub "!PREFIX__infix:sym</>"  :subid("252_1259177761.22934") :method
+.annotate "line", 400
+    $P1004 = self."!PREFIX__!subrule"("O", "/")
+    new $P1005, "ResizablePMCArray"
+    push $P1005, $P1004
+    .return ($P1005)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "infix:sym<~>"  :subid("255_1259103982.97329") :method :outer("11_1259103982.97329")
-.annotate "line", 390
-    .local string rx1010_tgt
-    .local int rx1010_pos
-    .local int rx1010_off
-    .local int rx1010_eos
-    .local int rx1010_rep
-    .local pmc rx1010_cur
-    (rx1010_cur, rx1010_pos, rx1010_tgt) = self."!cursor_start"()
-    rx1010_cur."!cursor_debug"("START ", "infix:sym<~>")
-    .lex unicode:"$\x{a2}", rx1010_cur
-    .local pmc match
-    .lex "$/", match
-    length rx1010_eos, rx1010_tgt
-    set rx1010_off, 0
-    lt rx1010_pos, 2, rx1010_start
-    sub rx1010_off, rx1010_pos, 1
-    substr rx1010_tgt, rx1010_tgt, rx1010_off
-  rx1010_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan1014_done
-    goto rxscan1014_scan
-  rxscan1014_loop:
-    ($P10) = rx1010_cur."from"()
-    inc $P10
-    set rx1010_pos, $P10
-    ge rx1010_pos, rx1010_eos, rxscan1014_done
-  rxscan1014_scan:
-    set_addr $I10, rxscan1014_loop
-    rx1010_cur."!mark_push"(0, rx1010_pos, $I10)
-  rxscan1014_done:
-.annotate "line", 457
+.sub "infix:sym<%>"  :subid("253_1259177761.22934") :method :outer("11_1259177761.22934")
+.annotate "line", 400
+    .local string rx1009_tgt
+    .local int rx1009_pos
+    .local int rx1009_off
+    .local int rx1009_eos
+    .local int rx1009_rep
+    .local pmc rx1009_cur
+    (rx1009_cur, rx1009_pos, rx1009_tgt) = self."!cursor_start"()
+    rx1009_cur."!cursor_debug"("START ", "infix:sym<%>")
+    .lex unicode:"$\x{a2}", rx1009_cur
+    .local pmc match
+    .lex "$/", match
+    length rx1009_eos, rx1009_tgt
+    set rx1009_off, 0
+    lt rx1009_pos, 2, rx1009_start
+    sub rx1009_off, rx1009_pos, 1
+    substr rx1009_tgt, rx1009_tgt, rx1009_off
+  rx1009_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan1013_done
+    goto rxscan1013_scan
+  rxscan1013_loop:
+    ($P10) = rx1009_cur."from"()
+    inc $P10
+    set rx1009_pos, $P10
+    ge rx1009_pos, rx1009_eos, rxscan1013_done
+  rxscan1013_scan:
+    set_addr $I10, rxscan1013_loop
+    rx1009_cur."!mark_push"(0, rx1009_pos, $I10)
+  rxscan1013_done:
+.annotate "line", 462
   # rx subcapture "sym"
-    set_addr $I10, rxcap_1015_fail
-    rx1010_cur."!mark_push"(0, rx1010_pos, $I10)
-  # rx literal  "~"
-    add $I11, rx1010_pos, 1
-    gt $I11, rx1010_eos, rx1010_fail
-    sub $I11, rx1010_pos, rx1010_off
-    substr $S10, rx1010_tgt, $I11, 1
-    ne $S10, "~", rx1010_fail
-    add rx1010_pos, 1
-    set_addr $I10, rxcap_1015_fail
-    ($I12, $I11) = rx1010_cur."!mark_peek"($I10)
-    rx1010_cur."!cursor_pos"($I11)
-    ($P10) = rx1010_cur."!cursor_start"()
-    $P10."!cursor_pass"(rx1010_pos, "")
-    rx1010_cur."!mark_push"(0, -1, 0, $P10)
+    set_addr $I10, rxcap_1014_fail
+    rx1009_cur."!mark_push"(0, rx1009_pos, $I10)
+  # rx literal  "%"
+    add $I11, rx1009_pos, 1
+    gt $I11, rx1009_eos, rx1009_fail
+    sub $I11, rx1009_pos, rx1009_off
+    substr $S10, rx1009_tgt, $I11, 1
+    ne $S10, "%", rx1009_fail
+    add rx1009_pos, 1
+    set_addr $I10, rxcap_1014_fail
+    ($I12, $I11) = rx1009_cur."!mark_peek"($I10)
+    rx1009_cur."!cursor_pos"($I11)
+    ($P10) = rx1009_cur."!cursor_start"()
+    $P10."!cursor_pass"(rx1009_pos, "")
+    rx1009_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("sym")
-    goto rxcap_1015_done
-  rxcap_1015_fail:
-    goto rx1010_fail
-  rxcap_1015_done:
+    goto rxcap_1014_done
+  rxcap_1014_fail:
+    goto rx1009_fail
+  rxcap_1014_done:
   # rx subrule "O" subtype=capture negate=
-    rx1010_cur."!cursor_pos"(rx1010_pos)
-    $P10 = rx1010_cur."O"("%concatenation , :pirop<concat>")
-    unless $P10, rx1010_fail
-    rx1010_cur."!mark_push"(0, -1, 0, $P10)
+    rx1009_cur."!cursor_pos"(rx1009_pos)
+    $P10 = rx1009_cur."O"("%multiplicative, :pirop<mod>")
+    unless $P10, rx1009_fail
+    rx1009_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("O")
-    rx1010_pos = $P10."pos"()
+    rx1009_pos = $P10."pos"()
   # rx pass
-    rx1010_cur."!cursor_pass"(rx1010_pos, "infix:sym<~>")
-    rx1010_cur."!cursor_debug"("PASS  ", "infix:sym<~>", " at pos=", rx1010_pos)
-    .return (rx1010_cur)
-  rx1010_fail:
-.annotate "line", 390
-    (rx1010_rep, rx1010_pos, $I10, $P10) = rx1010_cur."!mark_fail"(0)
-    lt rx1010_pos, -1, rx1010_done
-    eq rx1010_pos, -1, rx1010_fail
+    rx1009_cur."!cursor_pass"(rx1009_pos, "infix:sym<%>")
+    rx1009_cur."!cursor_debug"("PASS  ", "infix:sym<%>", " at pos=", rx1009_pos)
+    .return (rx1009_cur)
+  rx1009_fail:
+.annotate "line", 400
+    (rx1009_rep, rx1009_pos, $I10, $P10) = rx1009_cur."!mark_fail"(0)
+    lt rx1009_pos, -1, rx1009_done
+    eq rx1009_pos, -1, rx1009_fail
     jump $I10
-  rx1010_done:
-    rx1010_cur."!cursor_fail"()
-    rx1010_cur."!cursor_debug"("FAIL  ", "infix:sym<~>")
-    .return (rx1010_cur)
+  rx1009_done:
+    rx1009_cur."!cursor_fail"()
+    rx1009_cur."!cursor_debug"("FAIL  ", "infix:sym<%>")
+    .return (rx1009_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__infix:sym<~>"  :subid("256_1259103982.97329") :method
-.annotate "line", 390
-    $P1012 = self."!PREFIX__!subrule"("O", "~")
-    new $P1013, "ResizablePMCArray"
-    push $P1013, $P1012
-    .return ($P1013)
+.sub "!PREFIX__infix:sym<%>"  :subid("254_1259177761.22934") :method
+.annotate "line", 400
+    $P1011 = self."!PREFIX__!subrule"("O", "%")
+    new $P1012, "ResizablePMCArray"
+    push $P1012, $P1011
+    .return ($P1012)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "infix:sym<==>"  :subid("257_1259103982.97329") :method :outer("11_1259103982.97329")
-.annotate "line", 390
-    .local string rx1017_tgt
-    .local int rx1017_pos
-    .local int rx1017_off
-    .local int rx1017_eos
-    .local int rx1017_rep
-    .local pmc rx1017_cur
-    (rx1017_cur, rx1017_pos, rx1017_tgt) = self."!cursor_start"()
-    rx1017_cur."!cursor_debug"("START ", "infix:sym<==>")
-    .lex unicode:"$\x{a2}", rx1017_cur
-    .local pmc match
-    .lex "$/", match
-    length rx1017_eos, rx1017_tgt
-    set rx1017_off, 0
-    lt rx1017_pos, 2, rx1017_start
-    sub rx1017_off, rx1017_pos, 1
-    substr rx1017_tgt, rx1017_tgt, rx1017_off
-  rx1017_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan1021_done
-    goto rxscan1021_scan
-  rxscan1021_loop:
-    ($P10) = rx1017_cur."from"()
-    inc $P10
-    set rx1017_pos, $P10
-    ge rx1017_pos, rx1017_eos, rxscan1021_done
-  rxscan1021_scan:
-    set_addr $I10, rxscan1021_loop
-    rx1017_cur."!mark_push"(0, rx1017_pos, $I10)
-  rxscan1021_done:
-.annotate "line", 459
+.sub "infix:sym<+>"  :subid("255_1259177761.22934") :method :outer("11_1259177761.22934")
+.annotate "line", 400
+    .local string rx1016_tgt
+    .local int rx1016_pos
+    .local int rx1016_off
+    .local int rx1016_eos
+    .local int rx1016_rep
+    .local pmc rx1016_cur
+    (rx1016_cur, rx1016_pos, rx1016_tgt) = self."!cursor_start"()
+    rx1016_cur."!cursor_debug"("START ", "infix:sym<+>")
+    .lex unicode:"$\x{a2}", rx1016_cur
+    .local pmc match
+    .lex "$/", match
+    length rx1016_eos, rx1016_tgt
+    set rx1016_off, 0
+    lt rx1016_pos, 2, rx1016_start
+    sub rx1016_off, rx1016_pos, 1
+    substr rx1016_tgt, rx1016_tgt, rx1016_off
+  rx1016_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan1020_done
+    goto rxscan1020_scan
+  rxscan1020_loop:
+    ($P10) = rx1016_cur."from"()
+    inc $P10
+    set rx1016_pos, $P10
+    ge rx1016_pos, rx1016_eos, rxscan1020_done
+  rxscan1020_scan:
+    set_addr $I10, rxscan1020_loop
+    rx1016_cur."!mark_push"(0, rx1016_pos, $I10)
+  rxscan1020_done:
+.annotate "line", 464
   # rx subcapture "sym"
-    set_addr $I10, rxcap_1022_fail
-    rx1017_cur."!mark_push"(0, rx1017_pos, $I10)
-  # rx literal  "=="
-    add $I11, rx1017_pos, 2
-    gt $I11, rx1017_eos, rx1017_fail
-    sub $I11, rx1017_pos, rx1017_off
-    substr $S10, rx1017_tgt, $I11, 2
-    ne $S10, "==", rx1017_fail
-    add rx1017_pos, 2
-    set_addr $I10, rxcap_1022_fail
-    ($I12, $I11) = rx1017_cur."!mark_peek"($I10)
-    rx1017_cur."!cursor_pos"($I11)
-    ($P10) = rx1017_cur."!cursor_start"()
-    $P10."!cursor_pass"(rx1017_pos, "")
-    rx1017_cur."!mark_push"(0, -1, 0, $P10)
+    set_addr $I10, rxcap_1021_fail
+    rx1016_cur."!mark_push"(0, rx1016_pos, $I10)
+  # rx literal  "+"
+    add $I11, rx1016_pos, 1
+    gt $I11, rx1016_eos, rx1016_fail
+    sub $I11, rx1016_pos, rx1016_off
+    substr $S10, rx1016_tgt, $I11, 1
+    ne $S10, "+", rx1016_fail
+    add rx1016_pos, 1
+    set_addr $I10, rxcap_1021_fail
+    ($I12, $I11) = rx1016_cur."!mark_peek"($I10)
+    rx1016_cur."!cursor_pos"($I11)
+    ($P10) = rx1016_cur."!cursor_start"()
+    $P10."!cursor_pass"(rx1016_pos, "")
+    rx1016_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("sym")
-    goto rxcap_1022_done
-  rxcap_1022_fail:
-    goto rx1017_fail
-  rxcap_1022_done:
+    goto rxcap_1021_done
+  rxcap_1021_fail:
+    goto rx1016_fail
+  rxcap_1021_done:
   # rx subrule "O" subtype=capture negate=
-    rx1017_cur."!cursor_pos"(rx1017_pos)
-    $P10 = rx1017_cur."O"("%relational, :pirop<iseq INn>")
-    unless $P10, rx1017_fail
-    rx1017_cur."!mark_push"(0, -1, 0, $P10)
+    rx1016_cur."!cursor_pos"(rx1016_pos)
+    $P10 = rx1016_cur."O"("%additive, :pirop<add>")
+    unless $P10, rx1016_fail
+    rx1016_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("O")
-    rx1017_pos = $P10."pos"()
+    rx1016_pos = $P10."pos"()
   # rx pass
-    rx1017_cur."!cursor_pass"(rx1017_pos, "infix:sym<==>")
-    rx1017_cur."!cursor_debug"("PASS  ", "infix:sym<==>", " at pos=", rx1017_pos)
-    .return (rx1017_cur)
-  rx1017_fail:
-.annotate "line", 390
-    (rx1017_rep, rx1017_pos, $I10, $P10) = rx1017_cur."!mark_fail"(0)
-    lt rx1017_pos, -1, rx1017_done
-    eq rx1017_pos, -1, rx1017_fail
+    rx1016_cur."!cursor_pass"(rx1016_pos, "infix:sym<+>")
+    rx1016_cur."!cursor_debug"("PASS  ", "infix:sym<+>", " at pos=", rx1016_pos)
+    .return (rx1016_cur)
+  rx1016_fail:
+.annotate "line", 400
+    (rx1016_rep, rx1016_pos, $I10, $P10) = rx1016_cur."!mark_fail"(0)
+    lt rx1016_pos, -1, rx1016_done
+    eq rx1016_pos, -1, rx1016_fail
     jump $I10
-  rx1017_done:
-    rx1017_cur."!cursor_fail"()
-    rx1017_cur."!cursor_debug"("FAIL  ", "infix:sym<==>")
-    .return (rx1017_cur)
+  rx1016_done:
+    rx1016_cur."!cursor_fail"()
+    rx1016_cur."!cursor_debug"("FAIL  ", "infix:sym<+>")
+    .return (rx1016_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__infix:sym<==>"  :subid("258_1259103982.97329") :method
-.annotate "line", 390
-    $P1019 = self."!PREFIX__!subrule"("O", "==")
-    new $P1020, "ResizablePMCArray"
-    push $P1020, $P1019
-    .return ($P1020)
+.sub "!PREFIX__infix:sym<+>"  :subid("256_1259177761.22934") :method
+.annotate "line", 400
+    $P1018 = self."!PREFIX__!subrule"("O", "+")
+    new $P1019, "ResizablePMCArray"
+    push $P1019, $P1018
+    .return ($P1019)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "infix:sym<!=>"  :subid("259_1259103982.97329") :method :outer("11_1259103982.97329")
-.annotate "line", 390
-    .local string rx1024_tgt
-    .local int rx1024_pos
-    .local int rx1024_off
-    .local int rx1024_eos
-    .local int rx1024_rep
-    .local pmc rx1024_cur
-    (rx1024_cur, rx1024_pos, rx1024_tgt) = self."!cursor_start"()
-    rx1024_cur."!cursor_debug"("START ", "infix:sym<!=>")
-    .lex unicode:"$\x{a2}", rx1024_cur
-    .local pmc match
-    .lex "$/", match
-    length rx1024_eos, rx1024_tgt
-    set rx1024_off, 0
-    lt rx1024_pos, 2, rx1024_start
-    sub rx1024_off, rx1024_pos, 1
-    substr rx1024_tgt, rx1024_tgt, rx1024_off
-  rx1024_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan1028_done
-    goto rxscan1028_scan
-  rxscan1028_loop:
-    ($P10) = rx1024_cur."from"()
-    inc $P10
-    set rx1024_pos, $P10
-    ge rx1024_pos, rx1024_eos, rxscan1028_done
-  rxscan1028_scan:
-    set_addr $I10, rxscan1028_loop
-    rx1024_cur."!mark_push"(0, rx1024_pos, $I10)
-  rxscan1028_done:
-.annotate "line", 460
+.sub "infix:sym<->"  :subid("257_1259177761.22934") :method :outer("11_1259177761.22934")
+.annotate "line", 400
+    .local string rx1023_tgt
+    .local int rx1023_pos
+    .local int rx1023_off
+    .local int rx1023_eos
+    .local int rx1023_rep
+    .local pmc rx1023_cur
+    (rx1023_cur, rx1023_pos, rx1023_tgt) = self."!cursor_start"()
+    rx1023_cur."!cursor_debug"("START ", "infix:sym<->")
+    .lex unicode:"$\x{a2}", rx1023_cur
+    .local pmc match
+    .lex "$/", match
+    length rx1023_eos, rx1023_tgt
+    set rx1023_off, 0
+    lt rx1023_pos, 2, rx1023_start
+    sub rx1023_off, rx1023_pos, 1
+    substr rx1023_tgt, rx1023_tgt, rx1023_off
+  rx1023_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan1027_done
+    goto rxscan1027_scan
+  rxscan1027_loop:
+    ($P10) = rx1023_cur."from"()
+    inc $P10
+    set rx1023_pos, $P10
+    ge rx1023_pos, rx1023_eos, rxscan1027_done
+  rxscan1027_scan:
+    set_addr $I10, rxscan1027_loop
+    rx1023_cur."!mark_push"(0, rx1023_pos, $I10)
+  rxscan1027_done:
+.annotate "line", 465
   # rx subcapture "sym"
-    set_addr $I10, rxcap_1029_fail
-    rx1024_cur."!mark_push"(0, rx1024_pos, $I10)
-  # rx literal  "!="
-    add $I11, rx1024_pos, 2
-    gt $I11, rx1024_eos, rx1024_fail
-    sub $I11, rx1024_pos, rx1024_off
-    substr $S10, rx1024_tgt, $I11, 2
-    ne $S10, "!=", rx1024_fail
-    add rx1024_pos, 2
-    set_addr $I10, rxcap_1029_fail
-    ($I12, $I11) = rx1024_cur."!mark_peek"($I10)
-    rx1024_cur."!cursor_pos"($I11)
-    ($P10) = rx1024_cur."!cursor_start"()
-    $P10."!cursor_pass"(rx1024_pos, "")
-    rx1024_cur."!mark_push"(0, -1, 0, $P10)
+    set_addr $I10, rxcap_1028_fail
+    rx1023_cur."!mark_push"(0, rx1023_pos, $I10)
+  # rx literal  "-"
+    add $I11, rx1023_pos, 1
+    gt $I11, rx1023_eos, rx1023_fail
+    sub $I11, rx1023_pos, rx1023_off
+    substr $S10, rx1023_tgt, $I11, 1
+    ne $S10, "-", rx1023_fail
+    add rx1023_pos, 1
+    set_addr $I10, rxcap_1028_fail
+    ($I12, $I11) = rx1023_cur."!mark_peek"($I10)
+    rx1023_cur."!cursor_pos"($I11)
+    ($P10) = rx1023_cur."!cursor_start"()
+    $P10."!cursor_pass"(rx1023_pos, "")
+    rx1023_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("sym")
-    goto rxcap_1029_done
-  rxcap_1029_fail:
-    goto rx1024_fail
-  rxcap_1029_done:
+    goto rxcap_1028_done
+  rxcap_1028_fail:
+    goto rx1023_fail
+  rxcap_1028_done:
   # rx subrule "O" subtype=capture negate=
-    rx1024_cur."!cursor_pos"(rx1024_pos)
-    $P10 = rx1024_cur."O"("%relational, :pirop<isne INn>")
-    unless $P10, rx1024_fail
-    rx1024_cur."!mark_push"(0, -1, 0, $P10)
+    rx1023_cur."!cursor_pos"(rx1023_pos)
+    $P10 = rx1023_cur."O"("%additive, :pirop<sub>")
+    unless $P10, rx1023_fail
+    rx1023_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("O")
-    rx1024_pos = $P10."pos"()
+    rx1023_pos = $P10."pos"()
   # rx pass
-    rx1024_cur."!cursor_pass"(rx1024_pos, "infix:sym<!=>")
-    rx1024_cur."!cursor_debug"("PASS  ", "infix:sym<!=>", " at pos=", rx1024_pos)
-    .return (rx1024_cur)
-  rx1024_fail:
-.annotate "line", 390
-    (rx1024_rep, rx1024_pos, $I10, $P10) = rx1024_cur."!mark_fail"(0)
-    lt rx1024_pos, -1, rx1024_done
-    eq rx1024_pos, -1, rx1024_fail
+    rx1023_cur."!cursor_pass"(rx1023_pos, "infix:sym<->")
+    rx1023_cur."!cursor_debug"("PASS  ", "infix:sym<->", " at pos=", rx1023_pos)
+    .return (rx1023_cur)
+  rx1023_fail:
+.annotate "line", 400
+    (rx1023_rep, rx1023_pos, $I10, $P10) = rx1023_cur."!mark_fail"(0)
+    lt rx1023_pos, -1, rx1023_done
+    eq rx1023_pos, -1, rx1023_fail
     jump $I10
-  rx1024_done:
-    rx1024_cur."!cursor_fail"()
-    rx1024_cur."!cursor_debug"("FAIL  ", "infix:sym<!=>")
-    .return (rx1024_cur)
+  rx1023_done:
+    rx1023_cur."!cursor_fail"()
+    rx1023_cur."!cursor_debug"("FAIL  ", "infix:sym<->")
+    .return (rx1023_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__infix:sym<!=>"  :subid("260_1259103982.97329") :method
-.annotate "line", 390
-    $P1026 = self."!PREFIX__!subrule"("O", "!=")
-    new $P1027, "ResizablePMCArray"
-    push $P1027, $P1026
-    .return ($P1027)
+.sub "!PREFIX__infix:sym<->"  :subid("258_1259177761.22934") :method
+.annotate "line", 400
+    $P1025 = self."!PREFIX__!subrule"("O", "-")
+    new $P1026, "ResizablePMCArray"
+    push $P1026, $P1025
+    .return ($P1026)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "infix:sym<<=>"  :subid("261_1259103982.97329") :method :outer("11_1259103982.97329")
-.annotate "line", 390
-    .local string rx1031_tgt
-    .local int rx1031_pos
-    .local int rx1031_off
-    .local int rx1031_eos
-    .local int rx1031_rep
-    .local pmc rx1031_cur
-    (rx1031_cur, rx1031_pos, rx1031_tgt) = self."!cursor_start"()
-    rx1031_cur."!cursor_debug"("START ", "infix:sym<<=>")
-    .lex unicode:"$\x{a2}", rx1031_cur
-    .local pmc match
-    .lex "$/", match
-    length rx1031_eos, rx1031_tgt
-    set rx1031_off, 0
-    lt rx1031_pos, 2, rx1031_start
-    sub rx1031_off, rx1031_pos, 1
-    substr rx1031_tgt, rx1031_tgt, rx1031_off
-  rx1031_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan1035_done
-    goto rxscan1035_scan
-  rxscan1035_loop:
-    ($P10) = rx1031_cur."from"()
-    inc $P10
-    set rx1031_pos, $P10
-    ge rx1031_pos, rx1031_eos, rxscan1035_done
-  rxscan1035_scan:
-    set_addr $I10, rxscan1035_loop
-    rx1031_cur."!mark_push"(0, rx1031_pos, $I10)
-  rxscan1035_done:
-.annotate "line", 461
+.sub "infix:sym<~>"  :subid("259_1259177761.22934") :method :outer("11_1259177761.22934")
+.annotate "line", 400
+    .local string rx1030_tgt
+    .local int rx1030_pos
+    .local int rx1030_off
+    .local int rx1030_eos
+    .local int rx1030_rep
+    .local pmc rx1030_cur
+    (rx1030_cur, rx1030_pos, rx1030_tgt) = self."!cursor_start"()
+    rx1030_cur."!cursor_debug"("START ", "infix:sym<~>")
+    .lex unicode:"$\x{a2}", rx1030_cur
+    .local pmc match
+    .lex "$/", match
+    length rx1030_eos, rx1030_tgt
+    set rx1030_off, 0
+    lt rx1030_pos, 2, rx1030_start
+    sub rx1030_off, rx1030_pos, 1
+    substr rx1030_tgt, rx1030_tgt, rx1030_off
+  rx1030_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan1034_done
+    goto rxscan1034_scan
+  rxscan1034_loop:
+    ($P10) = rx1030_cur."from"()
+    inc $P10
+    set rx1030_pos, $P10
+    ge rx1030_pos, rx1030_eos, rxscan1034_done
+  rxscan1034_scan:
+    set_addr $I10, rxscan1034_loop
+    rx1030_cur."!mark_push"(0, rx1030_pos, $I10)
+  rxscan1034_done:
+.annotate "line", 467
   # rx subcapture "sym"
-    set_addr $I10, rxcap_1036_fail
-    rx1031_cur."!mark_push"(0, rx1031_pos, $I10)
-  # rx literal  "<="
-    add $I11, rx1031_pos, 2
-    gt $I11, rx1031_eos, rx1031_fail
-    sub $I11, rx1031_pos, rx1031_off
-    substr $S10, rx1031_tgt, $I11, 2
-    ne $S10, "<=", rx1031_fail
-    add rx1031_pos, 2
-    set_addr $I10, rxcap_1036_fail
-    ($I12, $I11) = rx1031_cur."!mark_peek"($I10)
-    rx1031_cur."!cursor_pos"($I11)
-    ($P10) = rx1031_cur."!cursor_start"()
-    $P10."!cursor_pass"(rx1031_pos, "")
-    rx1031_cur."!mark_push"(0, -1, 0, $P10)
+    set_addr $I10, rxcap_1035_fail
+    rx1030_cur."!mark_push"(0, rx1030_pos, $I10)
+  # rx literal  "~"
+    add $I11, rx1030_pos, 1
+    gt $I11, rx1030_eos, rx1030_fail
+    sub $I11, rx1030_pos, rx1030_off
+    substr $S10, rx1030_tgt, $I11, 1
+    ne $S10, "~", rx1030_fail
+    add rx1030_pos, 1
+    set_addr $I10, rxcap_1035_fail
+    ($I12, $I11) = rx1030_cur."!mark_peek"($I10)
+    rx1030_cur."!cursor_pos"($I11)
+    ($P10) = rx1030_cur."!cursor_start"()
+    $P10."!cursor_pass"(rx1030_pos, "")
+    rx1030_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("sym")
-    goto rxcap_1036_done
-  rxcap_1036_fail:
-    goto rx1031_fail
-  rxcap_1036_done:
+    goto rxcap_1035_done
+  rxcap_1035_fail:
+    goto rx1030_fail
+  rxcap_1035_done:
   # rx subrule "O" subtype=capture negate=
-    rx1031_cur."!cursor_pos"(rx1031_pos)
-    $P10 = rx1031_cur."O"("%relational, :pirop<isle INn>")
-    unless $P10, rx1031_fail
-    rx1031_cur."!mark_push"(0, -1, 0, $P10)
+    rx1030_cur."!cursor_pos"(rx1030_pos)
+    $P10 = rx1030_cur."O"("%concatenation , :pirop<concat>")
+    unless $P10, rx1030_fail
+    rx1030_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("O")
-    rx1031_pos = $P10."pos"()
+    rx1030_pos = $P10."pos"()
   # rx pass
-    rx1031_cur."!cursor_pass"(rx1031_pos, "infix:sym<<=>")
-    rx1031_cur."!cursor_debug"("PASS  ", "infix:sym<<=>", " at pos=", rx1031_pos)
-    .return (rx1031_cur)
-  rx1031_fail:
-.annotate "line", 390
-    (rx1031_rep, rx1031_pos, $I10, $P10) = rx1031_cur."!mark_fail"(0)
-    lt rx1031_pos, -1, rx1031_done
-    eq rx1031_pos, -1, rx1031_fail
+    rx1030_cur."!cursor_pass"(rx1030_pos, "infix:sym<~>")
+    rx1030_cur."!cursor_debug"("PASS  ", "infix:sym<~>", " at pos=", rx1030_pos)
+    .return (rx1030_cur)
+  rx1030_fail:
+.annotate "line", 400
+    (rx1030_rep, rx1030_pos, $I10, $P10) = rx1030_cur."!mark_fail"(0)
+    lt rx1030_pos, -1, rx1030_done
+    eq rx1030_pos, -1, rx1030_fail
     jump $I10
-  rx1031_done:
-    rx1031_cur."!cursor_fail"()
-    rx1031_cur."!cursor_debug"("FAIL  ", "infix:sym<<=>")
-    .return (rx1031_cur)
+  rx1030_done:
+    rx1030_cur."!cursor_fail"()
+    rx1030_cur."!cursor_debug"("FAIL  ", "infix:sym<~>")
+    .return (rx1030_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__infix:sym<<=>"  :subid("262_1259103982.97329") :method
-.annotate "line", 390
-    $P1033 = self."!PREFIX__!subrule"("O", "<=")
-    new $P1034, "ResizablePMCArray"
-    push $P1034, $P1033
-    .return ($P1034)
+.sub "!PREFIX__infix:sym<~>"  :subid("260_1259177761.22934") :method
+.annotate "line", 400
+    $P1032 = self."!PREFIX__!subrule"("O", "~")
+    new $P1033, "ResizablePMCArray"
+    push $P1033, $P1032
+    .return ($P1033)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "infix:sym<>=>"  :subid("263_1259103982.97329") :method :outer("11_1259103982.97329")
-.annotate "line", 390
-    .local string rx1038_tgt
-    .local int rx1038_pos
-    .local int rx1038_off
-    .local int rx1038_eos
-    .local int rx1038_rep
-    .local pmc rx1038_cur
-    (rx1038_cur, rx1038_pos, rx1038_tgt) = self."!cursor_start"()
-    rx1038_cur."!cursor_debug"("START ", "infix:sym<>=>")
-    .lex unicode:"$\x{a2}", rx1038_cur
-    .local pmc match
-    .lex "$/", match
-    length rx1038_eos, rx1038_tgt
-    set rx1038_off, 0
-    lt rx1038_pos, 2, rx1038_start
-    sub rx1038_off, rx1038_pos, 1
-    substr rx1038_tgt, rx1038_tgt, rx1038_off
-  rx1038_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan1042_done
-    goto rxscan1042_scan
-  rxscan1042_loop:
-    ($P10) = rx1038_cur."from"()
-    inc $P10
-    set rx1038_pos, $P10
-    ge rx1038_pos, rx1038_eos, rxscan1042_done
-  rxscan1042_scan:
-    set_addr $I10, rxscan1042_loop
-    rx1038_cur."!mark_push"(0, rx1038_pos, $I10)
-  rxscan1042_done:
-.annotate "line", 462
+.sub "infix:sym<==>"  :subid("261_1259177761.22934") :method :outer("11_1259177761.22934")
+.annotate "line", 400
+    .local string rx1037_tgt
+    .local int rx1037_pos
+    .local int rx1037_off
+    .local int rx1037_eos
+    .local int rx1037_rep
+    .local pmc rx1037_cur
+    (rx1037_cur, rx1037_pos, rx1037_tgt) = self."!cursor_start"()
+    rx1037_cur."!cursor_debug"("START ", "infix:sym<==>")
+    .lex unicode:"$\x{a2}", rx1037_cur
+    .local pmc match
+    .lex "$/", match
+    length rx1037_eos, rx1037_tgt
+    set rx1037_off, 0
+    lt rx1037_pos, 2, rx1037_start
+    sub rx1037_off, rx1037_pos, 1
+    substr rx1037_tgt, rx1037_tgt, rx1037_off
+  rx1037_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan1041_done
+    goto rxscan1041_scan
+  rxscan1041_loop:
+    ($P10) = rx1037_cur."from"()
+    inc $P10
+    set rx1037_pos, $P10
+    ge rx1037_pos, rx1037_eos, rxscan1041_done
+  rxscan1041_scan:
+    set_addr $I10, rxscan1041_loop
+    rx1037_cur."!mark_push"(0, rx1037_pos, $I10)
+  rxscan1041_done:
+.annotate "line", 469
   # rx subcapture "sym"
-    set_addr $I10, rxcap_1043_fail
-    rx1038_cur."!mark_push"(0, rx1038_pos, $I10)
-  # rx literal  ">="
-    add $I11, rx1038_pos, 2
-    gt $I11, rx1038_eos, rx1038_fail
-    sub $I11, rx1038_pos, rx1038_off
-    substr $S10, rx1038_tgt, $I11, 2
-    ne $S10, ">=", rx1038_fail
-    add rx1038_pos, 2
-    set_addr $I10, rxcap_1043_fail
-    ($I12, $I11) = rx1038_cur."!mark_peek"($I10)
-    rx1038_cur."!cursor_pos"($I11)
-    ($P10) = rx1038_cur."!cursor_start"()
-    $P10."!cursor_pass"(rx1038_pos, "")
-    rx1038_cur."!mark_push"(0, -1, 0, $P10)
+    set_addr $I10, rxcap_1042_fail
+    rx1037_cur."!mark_push"(0, rx1037_pos, $I10)
+  # rx literal  "=="
+    add $I11, rx1037_pos, 2
+    gt $I11, rx1037_eos, rx1037_fail
+    sub $I11, rx1037_pos, rx1037_off
+    substr $S10, rx1037_tgt, $I11, 2
+    ne $S10, "==", rx1037_fail
+    add rx1037_pos, 2
+    set_addr $I10, rxcap_1042_fail
+    ($I12, $I11) = rx1037_cur."!mark_peek"($I10)
+    rx1037_cur."!cursor_pos"($I11)
+    ($P10) = rx1037_cur."!cursor_start"()
+    $P10."!cursor_pass"(rx1037_pos, "")
+    rx1037_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("sym")
-    goto rxcap_1043_done
-  rxcap_1043_fail:
-    goto rx1038_fail
-  rxcap_1043_done:
+    goto rxcap_1042_done
+  rxcap_1042_fail:
+    goto rx1037_fail
+  rxcap_1042_done:
   # rx subrule "O" subtype=capture negate=
-    rx1038_cur."!cursor_pos"(rx1038_pos)
-    $P10 = rx1038_cur."O"("%relational, :pirop<isge INn>")
-    unless $P10, rx1038_fail
-    rx1038_cur."!mark_push"(0, -1, 0, $P10)
+    rx1037_cur."!cursor_pos"(rx1037_pos)
+    $P10 = rx1037_cur."O"("%relational, :pirop<iseq INn>")
+    unless $P10, rx1037_fail
+    rx1037_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("O")
-    rx1038_pos = $P10."pos"()
+    rx1037_pos = $P10."pos"()
   # rx pass
-    rx1038_cur."!cursor_pass"(rx1038_pos, "infix:sym<>=>")
-    rx1038_cur."!cursor_debug"("PASS  ", "infix:sym<>=>", " at pos=", rx1038_pos)
-    .return (rx1038_cur)
-  rx1038_fail:
-.annotate "line", 390
-    (rx1038_rep, rx1038_pos, $I10, $P10) = rx1038_cur."!mark_fail"(0)
-    lt rx1038_pos, -1, rx1038_done
-    eq rx1038_pos, -1, rx1038_fail
+    rx1037_cur."!cursor_pass"(rx1037_pos, "infix:sym<==>")
+    rx1037_cur."!cursor_debug"("PASS  ", "infix:sym<==>", " at pos=", rx1037_pos)
+    .return (rx1037_cur)
+  rx1037_fail:
+.annotate "line", 400
+    (rx1037_rep, rx1037_pos, $I10, $P10) = rx1037_cur."!mark_fail"(0)
+    lt rx1037_pos, -1, rx1037_done
+    eq rx1037_pos, -1, rx1037_fail
     jump $I10
-  rx1038_done:
-    rx1038_cur."!cursor_fail"()
-    rx1038_cur."!cursor_debug"("FAIL  ", "infix:sym<>=>")
-    .return (rx1038_cur)
+  rx1037_done:
+    rx1037_cur."!cursor_fail"()
+    rx1037_cur."!cursor_debug"("FAIL  ", "infix:sym<==>")
+    .return (rx1037_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__infix:sym<>=>"  :subid("264_1259103982.97329") :method
-.annotate "line", 390
-    $P1040 = self."!PREFIX__!subrule"("O", ">=")
-    new $P1041, "ResizablePMCArray"
-    push $P1041, $P1040
-    .return ($P1041)
+.sub "!PREFIX__infix:sym<==>"  :subid("262_1259177761.22934") :method
+.annotate "line", 400
+    $P1039 = self."!PREFIX__!subrule"("O", "==")
+    new $P1040, "ResizablePMCArray"
+    push $P1040, $P1039
+    .return ($P1040)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "infix:sym<<>"  :subid("265_1259103982.97329") :method :outer("11_1259103982.97329")
-.annotate "line", 390
-    .local string rx1045_tgt
-    .local int rx1045_pos
-    .local int rx1045_off
-    .local int rx1045_eos
-    .local int rx1045_rep
-    .local pmc rx1045_cur
-    (rx1045_cur, rx1045_pos, rx1045_tgt) = self."!cursor_start"()
-    rx1045_cur."!cursor_debug"("START ", "infix:sym<<>")
-    .lex unicode:"$\x{a2}", rx1045_cur
-    .local pmc match
-    .lex "$/", match
-    length rx1045_eos, rx1045_tgt
-    set rx1045_off, 0
-    lt rx1045_pos, 2, rx1045_start
-    sub rx1045_off, rx1045_pos, 1
-    substr rx1045_tgt, rx1045_tgt, rx1045_off
-  rx1045_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan1049_done
-    goto rxscan1049_scan
-  rxscan1049_loop:
-    ($P10) = rx1045_cur."from"()
-    inc $P10
-    set rx1045_pos, $P10
-    ge rx1045_pos, rx1045_eos, rxscan1049_done
-  rxscan1049_scan:
-    set_addr $I10, rxscan1049_loop
-    rx1045_cur."!mark_push"(0, rx1045_pos, $I10)
-  rxscan1049_done:
-.annotate "line", 463
+.sub "infix:sym<!=>"  :subid("263_1259177761.22934") :method :outer("11_1259177761.22934")
+.annotate "line", 400
+    .local string rx1044_tgt
+    .local int rx1044_pos
+    .local int rx1044_off
+    .local int rx1044_eos
+    .local int rx1044_rep
+    .local pmc rx1044_cur
+    (rx1044_cur, rx1044_pos, rx1044_tgt) = self."!cursor_start"()
+    rx1044_cur."!cursor_debug"("START ", "infix:sym<!=>")
+    .lex unicode:"$\x{a2}", rx1044_cur
+    .local pmc match
+    .lex "$/", match
+    length rx1044_eos, rx1044_tgt
+    set rx1044_off, 0
+    lt rx1044_pos, 2, rx1044_start
+    sub rx1044_off, rx1044_pos, 1
+    substr rx1044_tgt, rx1044_tgt, rx1044_off
+  rx1044_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan1048_done
+    goto rxscan1048_scan
+  rxscan1048_loop:
+    ($P10) = rx1044_cur."from"()
+    inc $P10
+    set rx1044_pos, $P10
+    ge rx1044_pos, rx1044_eos, rxscan1048_done
+  rxscan1048_scan:
+    set_addr $I10, rxscan1048_loop
+    rx1044_cur."!mark_push"(0, rx1044_pos, $I10)
+  rxscan1048_done:
+.annotate "line", 470
   # rx subcapture "sym"
-    set_addr $I10, rxcap_1050_fail
-    rx1045_cur."!mark_push"(0, rx1045_pos, $I10)
-  # rx literal  "<"
-    add $I11, rx1045_pos, 1
-    gt $I11, rx1045_eos, rx1045_fail
-    sub $I11, rx1045_pos, rx1045_off
-    substr $S10, rx1045_tgt, $I11, 1
-    ne $S10, "<", rx1045_fail
-    add rx1045_pos, 1
-    set_addr $I10, rxcap_1050_fail
-    ($I12, $I11) = rx1045_cur."!mark_peek"($I10)
-    rx1045_cur."!cursor_pos"($I11)
-    ($P10) = rx1045_cur."!cursor_start"()
-    $P10."!cursor_pass"(rx1045_pos, "")
-    rx1045_cur."!mark_push"(0, -1, 0, $P10)
+    set_addr $I10, rxcap_1049_fail
+    rx1044_cur."!mark_push"(0, rx1044_pos, $I10)
+  # rx literal  "!="
+    add $I11, rx1044_pos, 2
+    gt $I11, rx1044_eos, rx1044_fail
+    sub $I11, rx1044_pos, rx1044_off
+    substr $S10, rx1044_tgt, $I11, 2
+    ne $S10, "!=", rx1044_fail
+    add rx1044_pos, 2
+    set_addr $I10, rxcap_1049_fail
+    ($I12, $I11) = rx1044_cur."!mark_peek"($I10)
+    rx1044_cur."!cursor_pos"($I11)
+    ($P10) = rx1044_cur."!cursor_start"()
+    $P10."!cursor_pass"(rx1044_pos, "")
+    rx1044_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("sym")
-    goto rxcap_1050_done
-  rxcap_1050_fail:
-    goto rx1045_fail
-  rxcap_1050_done:
+    goto rxcap_1049_done
+  rxcap_1049_fail:
+    goto rx1044_fail
+  rxcap_1049_done:
   # rx subrule "O" subtype=capture negate=
-    rx1045_cur."!cursor_pos"(rx1045_pos)
-    $P10 = rx1045_cur."O"("%relational, :pirop<islt INn>")
-    unless $P10, rx1045_fail
-    rx1045_cur."!mark_push"(0, -1, 0, $P10)
+    rx1044_cur."!cursor_pos"(rx1044_pos)
+    $P10 = rx1044_cur."O"("%relational, :pirop<isne INn>")
+    unless $P10, rx1044_fail
+    rx1044_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("O")
-    rx1045_pos = $P10."pos"()
+    rx1044_pos = $P10."pos"()
   # rx pass
-    rx1045_cur."!cursor_pass"(rx1045_pos, "infix:sym<<>")
-    rx1045_cur."!cursor_debug"("PASS  ", "infix:sym<<>", " at pos=", rx1045_pos)
-    .return (rx1045_cur)
-  rx1045_fail:
-.annotate "line", 390
-    (rx1045_rep, rx1045_pos, $I10, $P10) = rx1045_cur."!mark_fail"(0)
-    lt rx1045_pos, -1, rx1045_done
-    eq rx1045_pos, -1, rx1045_fail
+    rx1044_cur."!cursor_pass"(rx1044_pos, "infix:sym<!=>")
+    rx1044_cur."!cursor_debug"("PASS  ", "infix:sym<!=>", " at pos=", rx1044_pos)
+    .return (rx1044_cur)
+  rx1044_fail:
+.annotate "line", 400
+    (rx1044_rep, rx1044_pos, $I10, $P10) = rx1044_cur."!mark_fail"(0)
+    lt rx1044_pos, -1, rx1044_done
+    eq rx1044_pos, -1, rx1044_fail
     jump $I10
-  rx1045_done:
-    rx1045_cur."!cursor_fail"()
-    rx1045_cur."!cursor_debug"("FAIL  ", "infix:sym<<>")
-    .return (rx1045_cur)
+  rx1044_done:
+    rx1044_cur."!cursor_fail"()
+    rx1044_cur."!cursor_debug"("FAIL  ", "infix:sym<!=>")
+    .return (rx1044_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__infix:sym<<>"  :subid("266_1259103982.97329") :method
-.annotate "line", 390
-    $P1047 = self."!PREFIX__!subrule"("O", "<")
-    new $P1048, "ResizablePMCArray"
-    push $P1048, $P1047
-    .return ($P1048)
+.sub "!PREFIX__infix:sym<!=>"  :subid("264_1259177761.22934") :method
+.annotate "line", 400
+    $P1046 = self."!PREFIX__!subrule"("O", "!=")
+    new $P1047, "ResizablePMCArray"
+    push $P1047, $P1046
+    .return ($P1047)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "infix:sym<>>"  :subid("267_1259103982.97329") :method :outer("11_1259103982.97329")
-.annotate "line", 390
-    .local string rx1052_tgt
-    .local int rx1052_pos
-    .local int rx1052_off
-    .local int rx1052_eos
-    .local int rx1052_rep
-    .local pmc rx1052_cur
-    (rx1052_cur, rx1052_pos, rx1052_tgt) = self."!cursor_start"()
-    rx1052_cur."!cursor_debug"("START ", "infix:sym<>>")
-    .lex unicode:"$\x{a2}", rx1052_cur
-    .local pmc match
-    .lex "$/", match
-    length rx1052_eos, rx1052_tgt
-    set rx1052_off, 0
-    lt rx1052_pos, 2, rx1052_start
-    sub rx1052_off, rx1052_pos, 1
-    substr rx1052_tgt, rx1052_tgt, rx1052_off
-  rx1052_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan1056_done
-    goto rxscan1056_scan
-  rxscan1056_loop:
-    ($P10) = rx1052_cur."from"()
-    inc $P10
-    set rx1052_pos, $P10
-    ge rx1052_pos, rx1052_eos, rxscan1056_done
-  rxscan1056_scan:
-    set_addr $I10, rxscan1056_loop
-    rx1052_cur."!mark_push"(0, rx1052_pos, $I10)
-  rxscan1056_done:
-.annotate "line", 464
+.sub "infix:sym<<=>"  :subid("265_1259177761.22934") :method :outer("11_1259177761.22934")
+.annotate "line", 400
+    .local string rx1051_tgt
+    .local int rx1051_pos
+    .local int rx1051_off
+    .local int rx1051_eos
+    .local int rx1051_rep
+    .local pmc rx1051_cur
+    (rx1051_cur, rx1051_pos, rx1051_tgt) = self."!cursor_start"()
+    rx1051_cur."!cursor_debug"("START ", "infix:sym<<=>")
+    .lex unicode:"$\x{a2}", rx1051_cur
+    .local pmc match
+    .lex "$/", match
+    length rx1051_eos, rx1051_tgt
+    set rx1051_off, 0
+    lt rx1051_pos, 2, rx1051_start
+    sub rx1051_off, rx1051_pos, 1
+    substr rx1051_tgt, rx1051_tgt, rx1051_off
+  rx1051_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan1055_done
+    goto rxscan1055_scan
+  rxscan1055_loop:
+    ($P10) = rx1051_cur."from"()
+    inc $P10
+    set rx1051_pos, $P10
+    ge rx1051_pos, rx1051_eos, rxscan1055_done
+  rxscan1055_scan:
+    set_addr $I10, rxscan1055_loop
+    rx1051_cur."!mark_push"(0, rx1051_pos, $I10)
+  rxscan1055_done:
+.annotate "line", 471
   # rx subcapture "sym"
-    set_addr $I10, rxcap_1057_fail
-    rx1052_cur."!mark_push"(0, rx1052_pos, $I10)
-  # rx literal  ">"
-    add $I11, rx1052_pos, 1
-    gt $I11, rx1052_eos, rx1052_fail
-    sub $I11, rx1052_pos, rx1052_off
-    substr $S10, rx1052_tgt, $I11, 1
-    ne $S10, ">", rx1052_fail
-    add rx1052_pos, 1
-    set_addr $I10, rxcap_1057_fail
-    ($I12, $I11) = rx1052_cur."!mark_peek"($I10)
-    rx1052_cur."!cursor_pos"($I11)
-    ($P10) = rx1052_cur."!cursor_start"()
-    $P10."!cursor_pass"(rx1052_pos, "")
-    rx1052_cur."!mark_push"(0, -1, 0, $P10)
+    set_addr $I10, rxcap_1056_fail
+    rx1051_cur."!mark_push"(0, rx1051_pos, $I10)
+  # rx literal  "<="
+    add $I11, rx1051_pos, 2
+    gt $I11, rx1051_eos, rx1051_fail
+    sub $I11, rx1051_pos, rx1051_off
+    substr $S10, rx1051_tgt, $I11, 2
+    ne $S10, "<=", rx1051_fail
+    add rx1051_pos, 2
+    set_addr $I10, rxcap_1056_fail
+    ($I12, $I11) = rx1051_cur."!mark_peek"($I10)
+    rx1051_cur."!cursor_pos"($I11)
+    ($P10) = rx1051_cur."!cursor_start"()
+    $P10."!cursor_pass"(rx1051_pos, "")
+    rx1051_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("sym")
-    goto rxcap_1057_done
-  rxcap_1057_fail:
-    goto rx1052_fail
-  rxcap_1057_done:
+    goto rxcap_1056_done
+  rxcap_1056_fail:
+    goto rx1051_fail
+  rxcap_1056_done:
   # rx subrule "O" subtype=capture negate=
-    rx1052_cur."!cursor_pos"(rx1052_pos)
-    $P10 = rx1052_cur."O"("%relational, :pirop<isgt INn>")
-    unless $P10, rx1052_fail
-    rx1052_cur."!mark_push"(0, -1, 0, $P10)
+    rx1051_cur."!cursor_pos"(rx1051_pos)
+    $P10 = rx1051_cur."O"("%relational, :pirop<isle INn>")
+    unless $P10, rx1051_fail
+    rx1051_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("O")
-    rx1052_pos = $P10."pos"()
+    rx1051_pos = $P10."pos"()
   # rx pass
-    rx1052_cur."!cursor_pass"(rx1052_pos, "infix:sym<>>")
-    rx1052_cur."!cursor_debug"("PASS  ", "infix:sym<>>", " at pos=", rx1052_pos)
-    .return (rx1052_cur)
-  rx1052_fail:
-.annotate "line", 390
-    (rx1052_rep, rx1052_pos, $I10, $P10) = rx1052_cur."!mark_fail"(0)
-    lt rx1052_pos, -1, rx1052_done
-    eq rx1052_pos, -1, rx1052_fail
+    rx1051_cur."!cursor_pass"(rx1051_pos, "infix:sym<<=>")
+    rx1051_cur."!cursor_debug"("PASS  ", "infix:sym<<=>", " at pos=", rx1051_pos)
+    .return (rx1051_cur)
+  rx1051_fail:
+.annotate "line", 400
+    (rx1051_rep, rx1051_pos, $I10, $P10) = rx1051_cur."!mark_fail"(0)
+    lt rx1051_pos, -1, rx1051_done
+    eq rx1051_pos, -1, rx1051_fail
     jump $I10
-  rx1052_done:
-    rx1052_cur."!cursor_fail"()
-    rx1052_cur."!cursor_debug"("FAIL  ", "infix:sym<>>")
-    .return (rx1052_cur)
+  rx1051_done:
+    rx1051_cur."!cursor_fail"()
+    rx1051_cur."!cursor_debug"("FAIL  ", "infix:sym<<=>")
+    .return (rx1051_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__infix:sym<>>"  :subid("268_1259103982.97329") :method
-.annotate "line", 390
-    $P1054 = self."!PREFIX__!subrule"("O", ">")
-    new $P1055, "ResizablePMCArray"
-    push $P1055, $P1054
-    .return ($P1055)
+.sub "!PREFIX__infix:sym<<=>"  :subid("266_1259177761.22934") :method
+.annotate "line", 400
+    $P1053 = self."!PREFIX__!subrule"("O", "<=")
+    new $P1054, "ResizablePMCArray"
+    push $P1054, $P1053
+    .return ($P1054)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "infix:sym<eq>"  :subid("269_1259103982.97329") :method :outer("11_1259103982.97329")
-.annotate "line", 390
-    .local string rx1059_tgt
-    .local int rx1059_pos
-    .local int rx1059_off
-    .local int rx1059_eos
-    .local int rx1059_rep
-    .local pmc rx1059_cur
-    (rx1059_cur, rx1059_pos, rx1059_tgt) = self."!cursor_start"()
-    rx1059_cur."!cursor_debug"("START ", "infix:sym<eq>")
-    .lex unicode:"$\x{a2}", rx1059_cur
-    .local pmc match
-    .lex "$/", match
-    length rx1059_eos, rx1059_tgt
-    set rx1059_off, 0
-    lt rx1059_pos, 2, rx1059_start
-    sub rx1059_off, rx1059_pos, 1
-    substr rx1059_tgt, rx1059_tgt, rx1059_off
-  rx1059_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan1063_done
-    goto rxscan1063_scan
-  rxscan1063_loop:
-    ($P10) = rx1059_cur."from"()
-    inc $P10
-    set rx1059_pos, $P10
-    ge rx1059_pos, rx1059_eos, rxscan1063_done
-  rxscan1063_scan:
-    set_addr $I10, rxscan1063_loop
-    rx1059_cur."!mark_push"(0, rx1059_pos, $I10)
-  rxscan1063_done:
-.annotate "line", 465
+.sub "infix:sym<>=>"  :subid("267_1259177761.22934") :method :outer("11_1259177761.22934")
+.annotate "line", 400
+    .local string rx1058_tgt
+    .local int rx1058_pos
+    .local int rx1058_off
+    .local int rx1058_eos
+    .local int rx1058_rep
+    .local pmc rx1058_cur
+    (rx1058_cur, rx1058_pos, rx1058_tgt) = self."!cursor_start"()
+    rx1058_cur."!cursor_debug"("START ", "infix:sym<>=>")
+    .lex unicode:"$\x{a2}", rx1058_cur
+    .local pmc match
+    .lex "$/", match
+    length rx1058_eos, rx1058_tgt
+    set rx1058_off, 0
+    lt rx1058_pos, 2, rx1058_start
+    sub rx1058_off, rx1058_pos, 1
+    substr rx1058_tgt, rx1058_tgt, rx1058_off
+  rx1058_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan1062_done
+    goto rxscan1062_scan
+  rxscan1062_loop:
+    ($P10) = rx1058_cur."from"()
+    inc $P10
+    set rx1058_pos, $P10
+    ge rx1058_pos, rx1058_eos, rxscan1062_done
+  rxscan1062_scan:
+    set_addr $I10, rxscan1062_loop
+    rx1058_cur."!mark_push"(0, rx1058_pos, $I10)
+  rxscan1062_done:
+.annotate "line", 472
   # rx subcapture "sym"
-    set_addr $I10, rxcap_1064_fail
-    rx1059_cur."!mark_push"(0, rx1059_pos, $I10)
-  # rx literal  "eq"
-    add $I11, rx1059_pos, 2
-    gt $I11, rx1059_eos, rx1059_fail
-    sub $I11, rx1059_pos, rx1059_off
-    substr $S10, rx1059_tgt, $I11, 2
-    ne $S10, "eq", rx1059_fail
-    add rx1059_pos, 2
-    set_addr $I10, rxcap_1064_fail
-    ($I12, $I11) = rx1059_cur."!mark_peek"($I10)
-    rx1059_cur."!cursor_pos"($I11)
-    ($P10) = rx1059_cur."!cursor_start"()
-    $P10."!cursor_pass"(rx1059_pos, "")
-    rx1059_cur."!mark_push"(0, -1, 0, $P10)
+    set_addr $I10, rxcap_1063_fail
+    rx1058_cur."!mark_push"(0, rx1058_pos, $I10)
+  # rx literal  ">="
+    add $I11, rx1058_pos, 2
+    gt $I11, rx1058_eos, rx1058_fail
+    sub $I11, rx1058_pos, rx1058_off
+    substr $S10, rx1058_tgt, $I11, 2
+    ne $S10, ">=", rx1058_fail
+    add rx1058_pos, 2
+    set_addr $I10, rxcap_1063_fail
+    ($I12, $I11) = rx1058_cur."!mark_peek"($I10)
+    rx1058_cur."!cursor_pos"($I11)
+    ($P10) = rx1058_cur."!cursor_start"()
+    $P10."!cursor_pass"(rx1058_pos, "")
+    rx1058_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("sym")
-    goto rxcap_1064_done
-  rxcap_1064_fail:
-    goto rx1059_fail
-  rxcap_1064_done:
+    goto rxcap_1063_done
+  rxcap_1063_fail:
+    goto rx1058_fail
+  rxcap_1063_done:
   # rx subrule "O" subtype=capture negate=
-    rx1059_cur."!cursor_pos"(rx1059_pos)
-    $P10 = rx1059_cur."O"("%relational, :pirop<iseq ISs>")
-    unless $P10, rx1059_fail
-    rx1059_cur."!mark_push"(0, -1, 0, $P10)
+    rx1058_cur."!cursor_pos"(rx1058_pos)
+    $P10 = rx1058_cur."O"("%relational, :pirop<isge INn>")
+    unless $P10, rx1058_fail
+    rx1058_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("O")
-    rx1059_pos = $P10."pos"()
+    rx1058_pos = $P10."pos"()
   # rx pass
-    rx1059_cur."!cursor_pass"(rx1059_pos, "infix:sym<eq>")
-    rx1059_cur."!cursor_debug"("PASS  ", "infix:sym<eq>", " at pos=", rx1059_pos)
-    .return (rx1059_cur)
-  rx1059_fail:
-.annotate "line", 390
-    (rx1059_rep, rx1059_pos, $I10, $P10) = rx1059_cur."!mark_fail"(0)
-    lt rx1059_pos, -1, rx1059_done
-    eq rx1059_pos, -1, rx1059_fail
+    rx1058_cur."!cursor_pass"(rx1058_pos, "infix:sym<>=>")
+    rx1058_cur."!cursor_debug"("PASS  ", "infix:sym<>=>", " at pos=", rx1058_pos)
+    .return (rx1058_cur)
+  rx1058_fail:
+.annotate "line", 400
+    (rx1058_rep, rx1058_pos, $I10, $P10) = rx1058_cur."!mark_fail"(0)
+    lt rx1058_pos, -1, rx1058_done
+    eq rx1058_pos, -1, rx1058_fail
     jump $I10
-  rx1059_done:
-    rx1059_cur."!cursor_fail"()
-    rx1059_cur."!cursor_debug"("FAIL  ", "infix:sym<eq>")
-    .return (rx1059_cur)
+  rx1058_done:
+    rx1058_cur."!cursor_fail"()
+    rx1058_cur."!cursor_debug"("FAIL  ", "infix:sym<>=>")
+    .return (rx1058_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__infix:sym<eq>"  :subid("270_1259103982.97329") :method
-.annotate "line", 390
-    $P1061 = self."!PREFIX__!subrule"("O", "eq")
-    new $P1062, "ResizablePMCArray"
-    push $P1062, $P1061
-    .return ($P1062)
+.sub "!PREFIX__infix:sym<>=>"  :subid("268_1259177761.22934") :method
+.annotate "line", 400
+    $P1060 = self."!PREFIX__!subrule"("O", ">=")
+    new $P1061, "ResizablePMCArray"
+    push $P1061, $P1060
+    .return ($P1061)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "infix:sym<ne>"  :subid("271_1259103982.97329") :method :outer("11_1259103982.97329")
-.annotate "line", 390
-    .local string rx1066_tgt
-    .local int rx1066_pos
-    .local int rx1066_off
-    .local int rx1066_eos
-    .local int rx1066_rep
-    .local pmc rx1066_cur
-    (rx1066_cur, rx1066_pos, rx1066_tgt) = self."!cursor_start"()
-    rx1066_cur."!cursor_debug"("START ", "infix:sym<ne>")
-    .lex unicode:"$\x{a2}", rx1066_cur
-    .local pmc match
-    .lex "$/", match
-    length rx1066_eos, rx1066_tgt
-    set rx1066_off, 0
-    lt rx1066_pos, 2, rx1066_start
-    sub rx1066_off, rx1066_pos, 1
-    substr rx1066_tgt, rx1066_tgt, rx1066_off
-  rx1066_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan1070_done
-    goto rxscan1070_scan
-  rxscan1070_loop:
-    ($P10) = rx1066_cur."from"()
-    inc $P10
-    set rx1066_pos, $P10
-    ge rx1066_pos, rx1066_eos, rxscan1070_done
-  rxscan1070_scan:
-    set_addr $I10, rxscan1070_loop
-    rx1066_cur."!mark_push"(0, rx1066_pos, $I10)
-  rxscan1070_done:
-.annotate "line", 466
+.sub "infix:sym<<>"  :subid("269_1259177761.22934") :method :outer("11_1259177761.22934")
+.annotate "line", 400
+    .local string rx1065_tgt
+    .local int rx1065_pos
+    .local int rx1065_off
+    .local int rx1065_eos
+    .local int rx1065_rep
+    .local pmc rx1065_cur
+    (rx1065_cur, rx1065_pos, rx1065_tgt) = self."!cursor_start"()
+    rx1065_cur."!cursor_debug"("START ", "infix:sym<<>")
+    .lex unicode:"$\x{a2}", rx1065_cur
+    .local pmc match
+    .lex "$/", match
+    length rx1065_eos, rx1065_tgt
+    set rx1065_off, 0
+    lt rx1065_pos, 2, rx1065_start
+    sub rx1065_off, rx1065_pos, 1
+    substr rx1065_tgt, rx1065_tgt, rx1065_off
+  rx1065_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan1069_done
+    goto rxscan1069_scan
+  rxscan1069_loop:
+    ($P10) = rx1065_cur."from"()
+    inc $P10
+    set rx1065_pos, $P10
+    ge rx1065_pos, rx1065_eos, rxscan1069_done
+  rxscan1069_scan:
+    set_addr $I10, rxscan1069_loop
+    rx1065_cur."!mark_push"(0, rx1065_pos, $I10)
+  rxscan1069_done:
+.annotate "line", 473
   # rx subcapture "sym"
-    set_addr $I10, rxcap_1071_fail
-    rx1066_cur."!mark_push"(0, rx1066_pos, $I10)
-  # rx literal  "ne"
-    add $I11, rx1066_pos, 2
-    gt $I11, rx1066_eos, rx1066_fail
-    sub $I11, rx1066_pos, rx1066_off
-    substr $S10, rx1066_tgt, $I11, 2
-    ne $S10, "ne", rx1066_fail
-    add rx1066_pos, 2
-    set_addr $I10, rxcap_1071_fail
-    ($I12, $I11) = rx1066_cur."!mark_peek"($I10)
-    rx1066_cur."!cursor_pos"($I11)
-    ($P10) = rx1066_cur."!cursor_start"()
-    $P10."!cursor_pass"(rx1066_pos, "")
-    rx1066_cur."!mark_push"(0, -1, 0, $P10)
+    set_addr $I10, rxcap_1070_fail
+    rx1065_cur."!mark_push"(0, rx1065_pos, $I10)
+  # rx literal  "<"
+    add $I11, rx1065_pos, 1
+    gt $I11, rx1065_eos, rx1065_fail
+    sub $I11, rx1065_pos, rx1065_off
+    substr $S10, rx1065_tgt, $I11, 1
+    ne $S10, "<", rx1065_fail
+    add rx1065_pos, 1
+    set_addr $I10, rxcap_1070_fail
+    ($I12, $I11) = rx1065_cur."!mark_peek"($I10)
+    rx1065_cur."!cursor_pos"($I11)
+    ($P10) = rx1065_cur."!cursor_start"()
+    $P10."!cursor_pass"(rx1065_pos, "")
+    rx1065_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("sym")
-    goto rxcap_1071_done
-  rxcap_1071_fail:
-    goto rx1066_fail
-  rxcap_1071_done:
+    goto rxcap_1070_done
+  rxcap_1070_fail:
+    goto rx1065_fail
+  rxcap_1070_done:
   # rx subrule "O" subtype=capture negate=
-    rx1066_cur."!cursor_pos"(rx1066_pos)
-    $P10 = rx1066_cur."O"("%relational, :pirop<isne ISs>")
-    unless $P10, rx1066_fail
-    rx1066_cur."!mark_push"(0, -1, 0, $P10)
+    rx1065_cur."!cursor_pos"(rx1065_pos)
+    $P10 = rx1065_cur."O"("%relational, :pirop<islt INn>")
+    unless $P10, rx1065_fail
+    rx1065_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("O")
-    rx1066_pos = $P10."pos"()
+    rx1065_pos = $P10."pos"()
   # rx pass
-    rx1066_cur."!cursor_pass"(rx1066_pos, "infix:sym<ne>")
-    rx1066_cur."!cursor_debug"("PASS  ", "infix:sym<ne>", " at pos=", rx1066_pos)
-    .return (rx1066_cur)
-  rx1066_fail:
-.annotate "line", 390
-    (rx1066_rep, rx1066_pos, $I10, $P10) = rx1066_cur."!mark_fail"(0)
-    lt rx1066_pos, -1, rx1066_done
-    eq rx1066_pos, -1, rx1066_fail
+    rx1065_cur."!cursor_pass"(rx1065_pos, "infix:sym<<>")
+    rx1065_cur."!cursor_debug"("PASS  ", "infix:sym<<>", " at pos=", rx1065_pos)
+    .return (rx1065_cur)
+  rx1065_fail:
+.annotate "line", 400
+    (rx1065_rep, rx1065_pos, $I10, $P10) = rx1065_cur."!mark_fail"(0)
+    lt rx1065_pos, -1, rx1065_done
+    eq rx1065_pos, -1, rx1065_fail
     jump $I10
-  rx1066_done:
-    rx1066_cur."!cursor_fail"()
-    rx1066_cur."!cursor_debug"("FAIL  ", "infix:sym<ne>")
-    .return (rx1066_cur)
+  rx1065_done:
+    rx1065_cur."!cursor_fail"()
+    rx1065_cur."!cursor_debug"("FAIL  ", "infix:sym<<>")
+    .return (rx1065_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__infix:sym<ne>"  :subid("272_1259103982.97329") :method
-.annotate "line", 390
-    $P1068 = self."!PREFIX__!subrule"("O", "ne")
-    new $P1069, "ResizablePMCArray"
-    push $P1069, $P1068
-    .return ($P1069)
+.sub "!PREFIX__infix:sym<<>"  :subid("270_1259177761.22934") :method
+.annotate "line", 400
+    $P1067 = self."!PREFIX__!subrule"("O", "<")
+    new $P1068, "ResizablePMCArray"
+    push $P1068, $P1067
+    .return ($P1068)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "infix:sym<le>"  :subid("273_1259103982.97329") :method :outer("11_1259103982.97329")
-.annotate "line", 390
-    .local string rx1073_tgt
-    .local int rx1073_pos
-    .local int rx1073_off
-    .local int rx1073_eos
-    .local int rx1073_rep
-    .local pmc rx1073_cur
-    (rx1073_cur, rx1073_pos, rx1073_tgt) = self."!cursor_start"()
-    rx1073_cur."!cursor_debug"("START ", "infix:sym<le>")
-    .lex unicode:"$\x{a2}", rx1073_cur
-    .local pmc match
-    .lex "$/", match
-    length rx1073_eos, rx1073_tgt
-    set rx1073_off, 0
-    lt rx1073_pos, 2, rx1073_start
-    sub rx1073_off, rx1073_pos, 1
-    substr rx1073_tgt, rx1073_tgt, rx1073_off
-  rx1073_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan1077_done
-    goto rxscan1077_scan
-  rxscan1077_loop:
-    ($P10) = rx1073_cur."from"()
-    inc $P10
-    set rx1073_pos, $P10
-    ge rx1073_pos, rx1073_eos, rxscan1077_done
-  rxscan1077_scan:
-    set_addr $I10, rxscan1077_loop
-    rx1073_cur."!mark_push"(0, rx1073_pos, $I10)
-  rxscan1077_done:
-.annotate "line", 467
+.sub "infix:sym<>>"  :subid("271_1259177761.22934") :method :outer("11_1259177761.22934")
+.annotate "line", 400
+    .local string rx1072_tgt
+    .local int rx1072_pos
+    .local int rx1072_off
+    .local int rx1072_eos
+    .local int rx1072_rep
+    .local pmc rx1072_cur
+    (rx1072_cur, rx1072_pos, rx1072_tgt) = self."!cursor_start"()
+    rx1072_cur."!cursor_debug"("START ", "infix:sym<>>")
+    .lex unicode:"$\x{a2}", rx1072_cur
+    .local pmc match
+    .lex "$/", match
+    length rx1072_eos, rx1072_tgt
+    set rx1072_off, 0
+    lt rx1072_pos, 2, rx1072_start
+    sub rx1072_off, rx1072_pos, 1
+    substr rx1072_tgt, rx1072_tgt, rx1072_off
+  rx1072_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan1076_done
+    goto rxscan1076_scan
+  rxscan1076_loop:
+    ($P10) = rx1072_cur."from"()
+    inc $P10
+    set rx1072_pos, $P10
+    ge rx1072_pos, rx1072_eos, rxscan1076_done
+  rxscan1076_scan:
+    set_addr $I10, rxscan1076_loop
+    rx1072_cur."!mark_push"(0, rx1072_pos, $I10)
+  rxscan1076_done:
+.annotate "line", 474
   # rx subcapture "sym"
-    set_addr $I10, rxcap_1078_fail
-    rx1073_cur."!mark_push"(0, rx1073_pos, $I10)
-  # rx literal  "le"
-    add $I11, rx1073_pos, 2
-    gt $I11, rx1073_eos, rx1073_fail
-    sub $I11, rx1073_pos, rx1073_off
-    substr $S10, rx1073_tgt, $I11, 2
-    ne $S10, "le", rx1073_fail
-    add rx1073_pos, 2
-    set_addr $I10, rxcap_1078_fail
-    ($I12, $I11) = rx1073_cur."!mark_peek"($I10)
-    rx1073_cur."!cursor_pos"($I11)
-    ($P10) = rx1073_cur."!cursor_start"()
-    $P10."!cursor_pass"(rx1073_pos, "")
-    rx1073_cur."!mark_push"(0, -1, 0, $P10)
+    set_addr $I10, rxcap_1077_fail
+    rx1072_cur."!mark_push"(0, rx1072_pos, $I10)
+  # rx literal  ">"
+    add $I11, rx1072_pos, 1
+    gt $I11, rx1072_eos, rx1072_fail
+    sub $I11, rx1072_pos, rx1072_off
+    substr $S10, rx1072_tgt, $I11, 1
+    ne $S10, ">", rx1072_fail
+    add rx1072_pos, 1
+    set_addr $I10, rxcap_1077_fail
+    ($I12, $I11) = rx1072_cur."!mark_peek"($I10)
+    rx1072_cur."!cursor_pos"($I11)
+    ($P10) = rx1072_cur."!cursor_start"()
+    $P10."!cursor_pass"(rx1072_pos, "")
+    rx1072_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("sym")
-    goto rxcap_1078_done
-  rxcap_1078_fail:
-    goto rx1073_fail
-  rxcap_1078_done:
+    goto rxcap_1077_done
+  rxcap_1077_fail:
+    goto rx1072_fail
+  rxcap_1077_done:
   # rx subrule "O" subtype=capture negate=
-    rx1073_cur."!cursor_pos"(rx1073_pos)
-    $P10 = rx1073_cur."O"("%relational, :pirop<isle ISs>")
-    unless $P10, rx1073_fail
-    rx1073_cur."!mark_push"(0, -1, 0, $P10)
+    rx1072_cur."!cursor_pos"(rx1072_pos)
+    $P10 = rx1072_cur."O"("%relational, :pirop<isgt INn>")
+    unless $P10, rx1072_fail
+    rx1072_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("O")
-    rx1073_pos = $P10."pos"()
+    rx1072_pos = $P10."pos"()
   # rx pass
-    rx1073_cur."!cursor_pass"(rx1073_pos, "infix:sym<le>")
-    rx1073_cur."!cursor_debug"("PASS  ", "infix:sym<le>", " at pos=", rx1073_pos)
-    .return (rx1073_cur)
-  rx1073_fail:
-.annotate "line", 390
-    (rx1073_rep, rx1073_pos, $I10, $P10) = rx1073_cur."!mark_fail"(0)
-    lt rx1073_pos, -1, rx1073_done
-    eq rx1073_pos, -1, rx1073_fail
+    rx1072_cur."!cursor_pass"(rx1072_pos, "infix:sym<>>")
+    rx1072_cur."!cursor_debug"("PASS  ", "infix:sym<>>", " at pos=", rx1072_pos)
+    .return (rx1072_cur)
+  rx1072_fail:
+.annotate "line", 400
+    (rx1072_rep, rx1072_pos, $I10, $P10) = rx1072_cur."!mark_fail"(0)
+    lt rx1072_pos, -1, rx1072_done
+    eq rx1072_pos, -1, rx1072_fail
     jump $I10
-  rx1073_done:
-    rx1073_cur."!cursor_fail"()
-    rx1073_cur."!cursor_debug"("FAIL  ", "infix:sym<le>")
-    .return (rx1073_cur)
+  rx1072_done:
+    rx1072_cur."!cursor_fail"()
+    rx1072_cur."!cursor_debug"("FAIL  ", "infix:sym<>>")
+    .return (rx1072_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__infix:sym<le>"  :subid("274_1259103982.97329") :method
-.annotate "line", 390
-    $P1075 = self."!PREFIX__!subrule"("O", "le")
-    new $P1076, "ResizablePMCArray"
-    push $P1076, $P1075
-    .return ($P1076)
+.sub "!PREFIX__infix:sym<>>"  :subid("272_1259177761.22934") :method
+.annotate "line", 400
+    $P1074 = self."!PREFIX__!subrule"("O", ">")
+    new $P1075, "ResizablePMCArray"
+    push $P1075, $P1074
+    .return ($P1075)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "infix:sym<ge>"  :subid("275_1259103982.97329") :method :outer("11_1259103982.97329")
-.annotate "line", 390
-    .local string rx1080_tgt
-    .local int rx1080_pos
-    .local int rx1080_off
-    .local int rx1080_eos
-    .local int rx1080_rep
-    .local pmc rx1080_cur
-    (rx1080_cur, rx1080_pos, rx1080_tgt) = self."!cursor_start"()
-    rx1080_cur."!cursor_debug"("START ", "infix:sym<ge>")
-    .lex unicode:"$\x{a2}", rx1080_cur
-    .local pmc match
-    .lex "$/", match
-    length rx1080_eos, rx1080_tgt
-    set rx1080_off, 0
-    lt rx1080_pos, 2, rx1080_start
-    sub rx1080_off, rx1080_pos, 1
-    substr rx1080_tgt, rx1080_tgt, rx1080_off
-  rx1080_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan1084_done
-    goto rxscan1084_scan
-  rxscan1084_loop:
-    ($P10) = rx1080_cur."from"()
-    inc $P10
-    set rx1080_pos, $P10
-    ge rx1080_pos, rx1080_eos, rxscan1084_done
-  rxscan1084_scan:
-    set_addr $I10, rxscan1084_loop
-    rx1080_cur."!mark_push"(0, rx1080_pos, $I10)
-  rxscan1084_done:
-.annotate "line", 468
+.sub "infix:sym<eq>"  :subid("273_1259177761.22934") :method :outer("11_1259177761.22934")
+.annotate "line", 400
+    .local string rx1079_tgt
+    .local int rx1079_pos
+    .local int rx1079_off
+    .local int rx1079_eos
+    .local int rx1079_rep
+    .local pmc rx1079_cur
+    (rx1079_cur, rx1079_pos, rx1079_tgt) = self."!cursor_start"()
+    rx1079_cur."!cursor_debug"("START ", "infix:sym<eq>")
+    .lex unicode:"$\x{a2}", rx1079_cur
+    .local pmc match
+    .lex "$/", match
+    length rx1079_eos, rx1079_tgt
+    set rx1079_off, 0
+    lt rx1079_pos, 2, rx1079_start
+    sub rx1079_off, rx1079_pos, 1
+    substr rx1079_tgt, rx1079_tgt, rx1079_off
+  rx1079_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan1083_done
+    goto rxscan1083_scan
+  rxscan1083_loop:
+    ($P10) = rx1079_cur."from"()
+    inc $P10
+    set rx1079_pos, $P10
+    ge rx1079_pos, rx1079_eos, rxscan1083_done
+  rxscan1083_scan:
+    set_addr $I10, rxscan1083_loop
+    rx1079_cur."!mark_push"(0, rx1079_pos, $I10)
+  rxscan1083_done:
+.annotate "line", 475
   # rx subcapture "sym"
-    set_addr $I10, rxcap_1085_fail
-    rx1080_cur."!mark_push"(0, rx1080_pos, $I10)
-  # rx literal  "ge"
-    add $I11, rx1080_pos, 2
-    gt $I11, rx1080_eos, rx1080_fail
-    sub $I11, rx1080_pos, rx1080_off
-    substr $S10, rx1080_tgt, $I11, 2
-    ne $S10, "ge", rx1080_fail
-    add rx1080_pos, 2
-    set_addr $I10, rxcap_1085_fail
-    ($I12, $I11) = rx1080_cur."!mark_peek"($I10)
-    rx1080_cur."!cursor_pos"($I11)
-    ($P10) = rx1080_cur."!cursor_start"()
-    $P10."!cursor_pass"(rx1080_pos, "")
-    rx1080_cur."!mark_push"(0, -1, 0, $P10)
+    set_addr $I10, rxcap_1084_fail
+    rx1079_cur."!mark_push"(0, rx1079_pos, $I10)
+  # rx literal  "eq"
+    add $I11, rx1079_pos, 2
+    gt $I11, rx1079_eos, rx1079_fail
+    sub $I11, rx1079_pos, rx1079_off
+    substr $S10, rx1079_tgt, $I11, 2
+    ne $S10, "eq", rx1079_fail
+    add rx1079_pos, 2
+    set_addr $I10, rxcap_1084_fail
+    ($I12, $I11) = rx1079_cur."!mark_peek"($I10)
+    rx1079_cur."!cursor_pos"($I11)
+    ($P10) = rx1079_cur."!cursor_start"()
+    $P10."!cursor_pass"(rx1079_pos, "")
+    rx1079_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("sym")
-    goto rxcap_1085_done
-  rxcap_1085_fail:
-    goto rx1080_fail
-  rxcap_1085_done:
+    goto rxcap_1084_done
+  rxcap_1084_fail:
+    goto rx1079_fail
+  rxcap_1084_done:
   # rx subrule "O" subtype=capture negate=
-    rx1080_cur."!cursor_pos"(rx1080_pos)
-    $P10 = rx1080_cur."O"("%relational, :pirop<isge ISs>")
-    unless $P10, rx1080_fail
-    rx1080_cur."!mark_push"(0, -1, 0, $P10)
+    rx1079_cur."!cursor_pos"(rx1079_pos)
+    $P10 = rx1079_cur."O"("%relational, :pirop<iseq ISs>")
+    unless $P10, rx1079_fail
+    rx1079_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("O")
-    rx1080_pos = $P10."pos"()
+    rx1079_pos = $P10."pos"()
   # rx pass
-    rx1080_cur."!cursor_pass"(rx1080_pos, "infix:sym<ge>")
-    rx1080_cur."!cursor_debug"("PASS  ", "infix:sym<ge>", " at pos=", rx1080_pos)
-    .return (rx1080_cur)
-  rx1080_fail:
-.annotate "line", 390
-    (rx1080_rep, rx1080_pos, $I10, $P10) = rx1080_cur."!mark_fail"(0)
-    lt rx1080_pos, -1, rx1080_done
-    eq rx1080_pos, -1, rx1080_fail
+    rx1079_cur."!cursor_pass"(rx1079_pos, "infix:sym<eq>")
+    rx1079_cur."!cursor_debug"("PASS  ", "infix:sym<eq>", " at pos=", rx1079_pos)
+    .return (rx1079_cur)
+  rx1079_fail:
+.annotate "line", 400
+    (rx1079_rep, rx1079_pos, $I10, $P10) = rx1079_cur."!mark_fail"(0)
+    lt rx1079_pos, -1, rx1079_done
+    eq rx1079_pos, -1, rx1079_fail
     jump $I10
-  rx1080_done:
-    rx1080_cur."!cursor_fail"()
-    rx1080_cur."!cursor_debug"("FAIL  ", "infix:sym<ge>")
-    .return (rx1080_cur)
+  rx1079_done:
+    rx1079_cur."!cursor_fail"()
+    rx1079_cur."!cursor_debug"("FAIL  ", "infix:sym<eq>")
+    .return (rx1079_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__infix:sym<ge>"  :subid("276_1259103982.97329") :method
-.annotate "line", 390
-    $P1082 = self."!PREFIX__!subrule"("O", "ge")
-    new $P1083, "ResizablePMCArray"
-    push $P1083, $P1082
-    .return ($P1083)
+.sub "!PREFIX__infix:sym<eq>"  :subid("274_1259177761.22934") :method
+.annotate "line", 400
+    $P1081 = self."!PREFIX__!subrule"("O", "eq")
+    new $P1082, "ResizablePMCArray"
+    push $P1082, $P1081
+    .return ($P1082)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "infix:sym<lt>"  :subid("277_1259103982.97329") :method :outer("11_1259103982.97329")
-.annotate "line", 390
-    .local string rx1087_tgt
-    .local int rx1087_pos
-    .local int rx1087_off
-    .local int rx1087_eos
-    .local int rx1087_rep
-    .local pmc rx1087_cur
-    (rx1087_cur, rx1087_pos, rx1087_tgt) = self."!cursor_start"()
-    rx1087_cur."!cursor_debug"("START ", "infix:sym<lt>")
-    .lex unicode:"$\x{a2}", rx1087_cur
-    .local pmc match
-    .lex "$/", match
-    length rx1087_eos, rx1087_tgt
-    set rx1087_off, 0
-    lt rx1087_pos, 2, rx1087_start
-    sub rx1087_off, rx1087_pos, 1
-    substr rx1087_tgt, rx1087_tgt, rx1087_off
-  rx1087_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan1091_done
-    goto rxscan1091_scan
-  rxscan1091_loop:
-    ($P10) = rx1087_cur."from"()
-    inc $P10
-    set rx1087_pos, $P10
-    ge rx1087_pos, rx1087_eos, rxscan1091_done
-  rxscan1091_scan:
-    set_addr $I10, rxscan1091_loop
-    rx1087_cur."!mark_push"(0, rx1087_pos, $I10)
-  rxscan1091_done:
-.annotate "line", 469
+.sub "infix:sym<ne>"  :subid("275_1259177761.22934") :method :outer("11_1259177761.22934")
+.annotate "line", 400
+    .local string rx1086_tgt
+    .local int rx1086_pos
+    .local int rx1086_off
+    .local int rx1086_eos
+    .local int rx1086_rep
+    .local pmc rx1086_cur
+    (rx1086_cur, rx1086_pos, rx1086_tgt) = self."!cursor_start"()
+    rx1086_cur."!cursor_debug"("START ", "infix:sym<ne>")
+    .lex unicode:"$\x{a2}", rx1086_cur
+    .local pmc match
+    .lex "$/", match
+    length rx1086_eos, rx1086_tgt
+    set rx1086_off, 0
+    lt rx1086_pos, 2, rx1086_start
+    sub rx1086_off, rx1086_pos, 1
+    substr rx1086_tgt, rx1086_tgt, rx1086_off
+  rx1086_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan1090_done
+    goto rxscan1090_scan
+  rxscan1090_loop:
+    ($P10) = rx1086_cur."from"()
+    inc $P10
+    set rx1086_pos, $P10
+    ge rx1086_pos, rx1086_eos, rxscan1090_done
+  rxscan1090_scan:
+    set_addr $I10, rxscan1090_loop
+    rx1086_cur."!mark_push"(0, rx1086_pos, $I10)
+  rxscan1090_done:
+.annotate "line", 476
   # rx subcapture "sym"
-    set_addr $I10, rxcap_1092_fail
-    rx1087_cur."!mark_push"(0, rx1087_pos, $I10)
-  # rx literal  "lt"
-    add $I11, rx1087_pos, 2
-    gt $I11, rx1087_eos, rx1087_fail
-    sub $I11, rx1087_pos, rx1087_off
-    substr $S10, rx1087_tgt, $I11, 2
-    ne $S10, "lt", rx1087_fail
-    add rx1087_pos, 2
-    set_addr $I10, rxcap_1092_fail
-    ($I12, $I11) = rx1087_cur."!mark_peek"($I10)
-    rx1087_cur."!cursor_pos"($I11)
-    ($P10) = rx1087_cur."!cursor_start"()
-    $P10."!cursor_pass"(rx1087_pos, "")
-    rx1087_cur."!mark_push"(0, -1, 0, $P10)
+    set_addr $I10, rxcap_1091_fail
+    rx1086_cur."!mark_push"(0, rx1086_pos, $I10)
+  # rx literal  "ne"
+    add $I11, rx1086_pos, 2
+    gt $I11, rx1086_eos, rx1086_fail
+    sub $I11, rx1086_pos, rx1086_off
+    substr $S10, rx1086_tgt, $I11, 2
+    ne $S10, "ne", rx1086_fail
+    add rx1086_pos, 2
+    set_addr $I10, rxcap_1091_fail
+    ($I12, $I11) = rx1086_cur."!mark_peek"($I10)
+    rx1086_cur."!cursor_pos"($I11)
+    ($P10) = rx1086_cur."!cursor_start"()
+    $P10."!cursor_pass"(rx1086_pos, "")
+    rx1086_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("sym")
-    goto rxcap_1092_done
-  rxcap_1092_fail:
-    goto rx1087_fail
-  rxcap_1092_done:
+    goto rxcap_1091_done
+  rxcap_1091_fail:
+    goto rx1086_fail
+  rxcap_1091_done:
   # rx subrule "O" subtype=capture negate=
-    rx1087_cur."!cursor_pos"(rx1087_pos)
-    $P10 = rx1087_cur."O"("%relational, :pirop<islt ISs>")
-    unless $P10, rx1087_fail
-    rx1087_cur."!mark_push"(0, -1, 0, $P10)
+    rx1086_cur."!cursor_pos"(rx1086_pos)
+    $P10 = rx1086_cur."O"("%relational, :pirop<isne ISs>")
+    unless $P10, rx1086_fail
+    rx1086_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("O")
-    rx1087_pos = $P10."pos"()
+    rx1086_pos = $P10."pos"()
   # rx pass
-    rx1087_cur."!cursor_pass"(rx1087_pos, "infix:sym<lt>")
-    rx1087_cur."!cursor_debug"("PASS  ", "infix:sym<lt>", " at pos=", rx1087_pos)
-    .return (rx1087_cur)
-  rx1087_fail:
-.annotate "line", 390
-    (rx1087_rep, rx1087_pos, $I10, $P10) = rx1087_cur."!mark_fail"(0)
-    lt rx1087_pos, -1, rx1087_done
-    eq rx1087_pos, -1, rx1087_fail
+    rx1086_cur."!cursor_pass"(rx1086_pos, "infix:sym<ne>")
+    rx1086_cur."!cursor_debug"("PASS  ", "infix:sym<ne>", " at pos=", rx1086_pos)
+    .return (rx1086_cur)
+  rx1086_fail:
+.annotate "line", 400
+    (rx1086_rep, rx1086_pos, $I10, $P10) = rx1086_cur."!mark_fail"(0)
+    lt rx1086_pos, -1, rx1086_done
+    eq rx1086_pos, -1, rx1086_fail
     jump $I10
-  rx1087_done:
-    rx1087_cur."!cursor_fail"()
-    rx1087_cur."!cursor_debug"("FAIL  ", "infix:sym<lt>")
-    .return (rx1087_cur)
+  rx1086_done:
+    rx1086_cur."!cursor_fail"()
+    rx1086_cur."!cursor_debug"("FAIL  ", "infix:sym<ne>")
+    .return (rx1086_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__infix:sym<lt>"  :subid("278_1259103982.97329") :method
-.annotate "line", 390
-    $P1089 = self."!PREFIX__!subrule"("O", "lt")
-    new $P1090, "ResizablePMCArray"
-    push $P1090, $P1089
-    .return ($P1090)
+.sub "!PREFIX__infix:sym<ne>"  :subid("276_1259177761.22934") :method
+.annotate "line", 400
+    $P1088 = self."!PREFIX__!subrule"("O", "ne")
+    new $P1089, "ResizablePMCArray"
+    push $P1089, $P1088
+    .return ($P1089)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "infix:sym<gt>"  :subid("279_1259103982.97329") :method :outer("11_1259103982.97329")
-.annotate "line", 390
-    .local string rx1094_tgt
-    .local int rx1094_pos
-    .local int rx1094_off
-    .local int rx1094_eos
-    .local int rx1094_rep
-    .local pmc rx1094_cur
-    (rx1094_cur, rx1094_pos, rx1094_tgt) = self."!cursor_start"()
-    rx1094_cur."!cursor_debug"("START ", "infix:sym<gt>")
-    .lex unicode:"$\x{a2}", rx1094_cur
-    .local pmc match
-    .lex "$/", match
-    length rx1094_eos, rx1094_tgt
-    set rx1094_off, 0
-    lt rx1094_pos, 2, rx1094_start
-    sub rx1094_off, rx1094_pos, 1
-    substr rx1094_tgt, rx1094_tgt, rx1094_off
-  rx1094_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan1098_done
-    goto rxscan1098_scan
-  rxscan1098_loop:
-    ($P10) = rx1094_cur."from"()
-    inc $P10
-    set rx1094_pos, $P10
-    ge rx1094_pos, rx1094_eos, rxscan1098_done
-  rxscan1098_scan:
-    set_addr $I10, rxscan1098_loop
-    rx1094_cur."!mark_push"(0, rx1094_pos, $I10)
-  rxscan1098_done:
-.annotate "line", 470
+.sub "infix:sym<le>"  :subid("277_1259177761.22934") :method :outer("11_1259177761.22934")
+.annotate "line", 400
+    .local string rx1093_tgt
+    .local int rx1093_pos
+    .local int rx1093_off
+    .local int rx1093_eos
+    .local int rx1093_rep
+    .local pmc rx1093_cur
+    (rx1093_cur, rx1093_pos, rx1093_tgt) = self."!cursor_start"()
+    rx1093_cur."!cursor_debug"("START ", "infix:sym<le>")
+    .lex unicode:"$\x{a2}", rx1093_cur
+    .local pmc match
+    .lex "$/", match
+    length rx1093_eos, rx1093_tgt
+    set rx1093_off, 0
+    lt rx1093_pos, 2, rx1093_start
+    sub rx1093_off, rx1093_pos, 1
+    substr rx1093_tgt, rx1093_tgt, rx1093_off
+  rx1093_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan1097_done
+    goto rxscan1097_scan
+  rxscan1097_loop:
+    ($P10) = rx1093_cur."from"()
+    inc $P10
+    set rx1093_pos, $P10
+    ge rx1093_pos, rx1093_eos, rxscan1097_done
+  rxscan1097_scan:
+    set_addr $I10, rxscan1097_loop
+    rx1093_cur."!mark_push"(0, rx1093_pos, $I10)
+  rxscan1097_done:
+.annotate "line", 477
   # rx subcapture "sym"
-    set_addr $I10, rxcap_1099_fail
-    rx1094_cur."!mark_push"(0, rx1094_pos, $I10)
-  # rx literal  "gt"
-    add $I11, rx1094_pos, 2
-    gt $I11, rx1094_eos, rx1094_fail
-    sub $I11, rx1094_pos, rx1094_off
-    substr $S10, rx1094_tgt, $I11, 2
-    ne $S10, "gt", rx1094_fail
-    add rx1094_pos, 2
-    set_addr $I10, rxcap_1099_fail
-    ($I12, $I11) = rx1094_cur."!mark_peek"($I10)
-    rx1094_cur."!cursor_pos"($I11)
-    ($P10) = rx1094_cur."!cursor_start"()
-    $P10."!cursor_pass"(rx1094_pos, "")
-    rx1094_cur."!mark_push"(0, -1, 0, $P10)
+    set_addr $I10, rxcap_1098_fail
+    rx1093_cur."!mark_push"(0, rx1093_pos, $I10)
+  # rx literal  "le"
+    add $I11, rx1093_pos, 2
+    gt $I11, rx1093_eos, rx1093_fail
+    sub $I11, rx1093_pos, rx1093_off
+    substr $S10, rx1093_tgt, $I11, 2
+    ne $S10, "le", rx1093_fail
+    add rx1093_pos, 2
+    set_addr $I10, rxcap_1098_fail
+    ($I12, $I11) = rx1093_cur."!mark_peek"($I10)
+    rx1093_cur."!cursor_pos"($I11)
+    ($P10) = rx1093_cur."!cursor_start"()
+    $P10."!cursor_pass"(rx1093_pos, "")
+    rx1093_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("sym")
-    goto rxcap_1099_done
-  rxcap_1099_fail:
-    goto rx1094_fail
-  rxcap_1099_done:
+    goto rxcap_1098_done
+  rxcap_1098_fail:
+    goto rx1093_fail
+  rxcap_1098_done:
   # rx subrule "O" subtype=capture negate=
-    rx1094_cur."!cursor_pos"(rx1094_pos)
-    $P10 = rx1094_cur."O"("%relational, :pirop<isgt ISs>")
-    unless $P10, rx1094_fail
-    rx1094_cur."!mark_push"(0, -1, 0, $P10)
+    rx1093_cur."!cursor_pos"(rx1093_pos)
+    $P10 = rx1093_cur."O"("%relational, :pirop<isle ISs>")
+    unless $P10, rx1093_fail
+    rx1093_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("O")
-    rx1094_pos = $P10."pos"()
+    rx1093_pos = $P10."pos"()
   # rx pass
-    rx1094_cur."!cursor_pass"(rx1094_pos, "infix:sym<gt>")
-    rx1094_cur."!cursor_debug"("PASS  ", "infix:sym<gt>", " at pos=", rx1094_pos)
-    .return (rx1094_cur)
-  rx1094_fail:
-.annotate "line", 390
-    (rx1094_rep, rx1094_pos, $I10, $P10) = rx1094_cur."!mark_fail"(0)
-    lt rx1094_pos, -1, rx1094_done
-    eq rx1094_pos, -1, rx1094_fail
+    rx1093_cur."!cursor_pass"(rx1093_pos, "infix:sym<le>")
+    rx1093_cur."!cursor_debug"("PASS  ", "infix:sym<le>", " at pos=", rx1093_pos)
+    .return (rx1093_cur)
+  rx1093_fail:
+.annotate "line", 400
+    (rx1093_rep, rx1093_pos, $I10, $P10) = rx1093_cur."!mark_fail"(0)
+    lt rx1093_pos, -1, rx1093_done
+    eq rx1093_pos, -1, rx1093_fail
     jump $I10
-  rx1094_done:
-    rx1094_cur."!cursor_fail"()
-    rx1094_cur."!cursor_debug"("FAIL  ", "infix:sym<gt>")
-    .return (rx1094_cur)
+  rx1093_done:
+    rx1093_cur."!cursor_fail"()
+    rx1093_cur."!cursor_debug"("FAIL  ", "infix:sym<le>")
+    .return (rx1093_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__infix:sym<gt>"  :subid("280_1259103982.97329") :method
-.annotate "line", 390
-    $P1096 = self."!PREFIX__!subrule"("O", "gt")
-    new $P1097, "ResizablePMCArray"
-    push $P1097, $P1096
-    .return ($P1097)
+.sub "!PREFIX__infix:sym<le>"  :subid("278_1259177761.22934") :method
+.annotate "line", 400
+    $P1095 = self."!PREFIX__!subrule"("O", "le")
+    new $P1096, "ResizablePMCArray"
+    push $P1096, $P1095
+    .return ($P1096)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "infix:sym<=:=>"  :subid("281_1259103982.97329") :method :outer("11_1259103982.97329")
-.annotate "line", 390
-    .local string rx1101_tgt
-    .local int rx1101_pos
-    .local int rx1101_off
-    .local int rx1101_eos
-    .local int rx1101_rep
-    .local pmc rx1101_cur
-    (rx1101_cur, rx1101_pos, rx1101_tgt) = self."!cursor_start"()
-    rx1101_cur."!cursor_debug"("START ", "infix:sym<=:=>")
-    .lex unicode:"$\x{a2}", rx1101_cur
-    .local pmc match
-    .lex "$/", match
-    length rx1101_eos, rx1101_tgt
-    set rx1101_off, 0
-    lt rx1101_pos, 2, rx1101_start
-    sub rx1101_off, rx1101_pos, 1
-    substr rx1101_tgt, rx1101_tgt, rx1101_off
-  rx1101_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan1105_done
-    goto rxscan1105_scan
-  rxscan1105_loop:
-    ($P10) = rx1101_cur."from"()
-    inc $P10
-    set rx1101_pos, $P10
-    ge rx1101_pos, rx1101_eos, rxscan1105_done
-  rxscan1105_scan:
-    set_addr $I10, rxscan1105_loop
-    rx1101_cur."!mark_push"(0, rx1101_pos, $I10)
-  rxscan1105_done:
-.annotate "line", 471
+.sub "infix:sym<ge>"  :subid("279_1259177761.22934") :method :outer("11_1259177761.22934")
+.annotate "line", 400
+    .local string rx1100_tgt
+    .local int rx1100_pos
+    .local int rx1100_off
+    .local int rx1100_eos
+    .local int rx1100_rep
+    .local pmc rx1100_cur
+    (rx1100_cur, rx1100_pos, rx1100_tgt) = self."!cursor_start"()
+    rx1100_cur."!cursor_debug"("START ", "infix:sym<ge>")
+    .lex unicode:"$\x{a2}", rx1100_cur
+    .local pmc match
+    .lex "$/", match
+    length rx1100_eos, rx1100_tgt
+    set rx1100_off, 0
+    lt rx1100_pos, 2, rx1100_start
+    sub rx1100_off, rx1100_pos, 1
+    substr rx1100_tgt, rx1100_tgt, rx1100_off
+  rx1100_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan1104_done
+    goto rxscan1104_scan
+  rxscan1104_loop:
+    ($P10) = rx1100_cur."from"()
+    inc $P10
+    set rx1100_pos, $P10
+    ge rx1100_pos, rx1100_eos, rxscan1104_done
+  rxscan1104_scan:
+    set_addr $I10, rxscan1104_loop
+    rx1100_cur."!mark_push"(0, rx1100_pos, $I10)
+  rxscan1104_done:
+.annotate "line", 478
   # rx subcapture "sym"
-    set_addr $I10, rxcap_1106_fail
-    rx1101_cur."!mark_push"(0, rx1101_pos, $I10)
-  # rx literal  "=:="
-    add $I11, rx1101_pos, 3
-    gt $I11, rx1101_eos, rx1101_fail
-    sub $I11, rx1101_pos, rx1101_off
-    substr $S10, rx1101_tgt, $I11, 3
-    ne $S10, "=:=", rx1101_fail
-    add rx1101_pos, 3
-    set_addr $I10, rxcap_1106_fail
-    ($I12, $I11) = rx1101_cur."!mark_peek"($I10)
-    rx1101_cur."!cursor_pos"($I11)
-    ($P10) = rx1101_cur."!cursor_start"()
-    $P10."!cursor_pass"(rx1101_pos, "")
-    rx1101_cur."!mark_push"(0, -1, 0, $P10)
+    set_addr $I10, rxcap_1105_fail
+    rx1100_cur."!mark_push"(0, rx1100_pos, $I10)
+  # rx literal  "ge"
+    add $I11, rx1100_pos, 2
+    gt $I11, rx1100_eos, rx1100_fail
+    sub $I11, rx1100_pos, rx1100_off
+    substr $S10, rx1100_tgt, $I11, 2
+    ne $S10, "ge", rx1100_fail
+    add rx1100_pos, 2
+    set_addr $I10, rxcap_1105_fail
+    ($I12, $I11) = rx1100_cur."!mark_peek"($I10)
+    rx1100_cur."!cursor_pos"($I11)
+    ($P10) = rx1100_cur."!cursor_start"()
+    $P10."!cursor_pass"(rx1100_pos, "")
+    rx1100_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("sym")
-    goto rxcap_1106_done
-  rxcap_1106_fail:
-    goto rx1101_fail
-  rxcap_1106_done:
+    goto rxcap_1105_done
+  rxcap_1105_fail:
+    goto rx1100_fail
+  rxcap_1105_done:
   # rx subrule "O" subtype=capture negate=
-    rx1101_cur."!cursor_pos"(rx1101_pos)
-    $P10 = rx1101_cur."O"("%relational, :pirop<issame>")
-    unless $P10, rx1101_fail
-    rx1101_cur."!mark_push"(0, -1, 0, $P10)
+    rx1100_cur."!cursor_pos"(rx1100_pos)
+    $P10 = rx1100_cur."O"("%relational, :pirop<isge ISs>")
+    unless $P10, rx1100_fail
+    rx1100_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("O")
-    rx1101_pos = $P10."pos"()
+    rx1100_pos = $P10."pos"()
   # rx pass
-    rx1101_cur."!cursor_pass"(rx1101_pos, "infix:sym<=:=>")
-    rx1101_cur."!cursor_debug"("PASS  ", "infix:sym<=:=>", " at pos=", rx1101_pos)
-    .return (rx1101_cur)
-  rx1101_fail:
-.annotate "line", 390
-    (rx1101_rep, rx1101_pos, $I10, $P10) = rx1101_cur."!mark_fail"(0)
-    lt rx1101_pos, -1, rx1101_done
-    eq rx1101_pos, -1, rx1101_fail
+    rx1100_cur."!cursor_pass"(rx1100_pos, "infix:sym<ge>")
+    rx1100_cur."!cursor_debug"("PASS  ", "infix:sym<ge>", " at pos=", rx1100_pos)
+    .return (rx1100_cur)
+  rx1100_fail:
+.annotate "line", 400
+    (rx1100_rep, rx1100_pos, $I10, $P10) = rx1100_cur."!mark_fail"(0)
+    lt rx1100_pos, -1, rx1100_done
+    eq rx1100_pos, -1, rx1100_fail
     jump $I10
-  rx1101_done:
-    rx1101_cur."!cursor_fail"()
-    rx1101_cur."!cursor_debug"("FAIL  ", "infix:sym<=:=>")
-    .return (rx1101_cur)
+  rx1100_done:
+    rx1100_cur."!cursor_fail"()
+    rx1100_cur."!cursor_debug"("FAIL  ", "infix:sym<ge>")
+    .return (rx1100_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__infix:sym<=:=>"  :subid("282_1259103982.97329") :method
-.annotate "line", 390
-    $P1103 = self."!PREFIX__!subrule"("O", "=:=")
-    new $P1104, "ResizablePMCArray"
-    push $P1104, $P1103
-    .return ($P1104)
+.sub "!PREFIX__infix:sym<ge>"  :subid("280_1259177761.22934") :method
+.annotate "line", 400
+    $P1102 = self."!PREFIX__!subrule"("O", "ge")
+    new $P1103, "ResizablePMCArray"
+    push $P1103, $P1102
+    .return ($P1103)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "infix:sym<&&>"  :subid("283_1259103982.97329") :method :outer("11_1259103982.97329")
-.annotate "line", 390
-    .local string rx1108_tgt
-    .local int rx1108_pos
-    .local int rx1108_off
-    .local int rx1108_eos
-    .local int rx1108_rep
-    .local pmc rx1108_cur
-    (rx1108_cur, rx1108_pos, rx1108_tgt) = self."!cursor_start"()
-    rx1108_cur."!cursor_debug"("START ", "infix:sym<&&>")
-    .lex unicode:"$\x{a2}", rx1108_cur
-    .local pmc match
-    .lex "$/", match
-    length rx1108_eos, rx1108_tgt
-    set rx1108_off, 0
-    lt rx1108_pos, 2, rx1108_start
-    sub rx1108_off, rx1108_pos, 1
-    substr rx1108_tgt, rx1108_tgt, rx1108_off
-  rx1108_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan1112_done
-    goto rxscan1112_scan
-  rxscan1112_loop:
-    ($P10) = rx1108_cur."from"()
-    inc $P10
-    set rx1108_pos, $P10
-    ge rx1108_pos, rx1108_eos, rxscan1112_done
-  rxscan1112_scan:
-    set_addr $I10, rxscan1112_loop
-    rx1108_cur."!mark_push"(0, rx1108_pos, $I10)
-  rxscan1112_done:
-.annotate "line", 473
+.sub "infix:sym<lt>"  :subid("281_1259177761.22934") :method :outer("11_1259177761.22934")
+.annotate "line", 400
+    .local string rx1107_tgt
+    .local int rx1107_pos
+    .local int rx1107_off
+    .local int rx1107_eos
+    .local int rx1107_rep
+    .local pmc rx1107_cur
+    (rx1107_cur, rx1107_pos, rx1107_tgt) = self."!cursor_start"()
+    rx1107_cur."!cursor_debug"("START ", "infix:sym<lt>")
+    .lex unicode:"$\x{a2}", rx1107_cur
+    .local pmc match
+    .lex "$/", match
+    length rx1107_eos, rx1107_tgt
+    set rx1107_off, 0
+    lt rx1107_pos, 2, rx1107_start
+    sub rx1107_off, rx1107_pos, 1
+    substr rx1107_tgt, rx1107_tgt, rx1107_off
+  rx1107_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan1111_done
+    goto rxscan1111_scan
+  rxscan1111_loop:
+    ($P10) = rx1107_cur."from"()
+    inc $P10
+    set rx1107_pos, $P10
+    ge rx1107_pos, rx1107_eos, rxscan1111_done
+  rxscan1111_scan:
+    set_addr $I10, rxscan1111_loop
+    rx1107_cur."!mark_push"(0, rx1107_pos, $I10)
+  rxscan1111_done:
+.annotate "line", 479
   # rx subcapture "sym"
-    set_addr $I10, rxcap_1113_fail
-    rx1108_cur."!mark_push"(0, rx1108_pos, $I10)
-  # rx literal  "&&"
-    add $I11, rx1108_pos, 2
-    gt $I11, rx1108_eos, rx1108_fail
-    sub $I11, rx1108_pos, rx1108_off
-    substr $S10, rx1108_tgt, $I11, 2
-    ne $S10, "&&", rx1108_fail
-    add rx1108_pos, 2
-    set_addr $I10, rxcap_1113_fail
-    ($I12, $I11) = rx1108_cur."!mark_peek"($I10)
-    rx1108_cur."!cursor_pos"($I11)
-    ($P10) = rx1108_cur."!cursor_start"()
-    $P10."!cursor_pass"(rx1108_pos, "")
-    rx1108_cur."!mark_push"(0, -1, 0, $P10)
+    set_addr $I10, rxcap_1112_fail
+    rx1107_cur."!mark_push"(0, rx1107_pos, $I10)
+  # rx literal  "lt"
+    add $I11, rx1107_pos, 2
+    gt $I11, rx1107_eos, rx1107_fail
+    sub $I11, rx1107_pos, rx1107_off
+    substr $S10, rx1107_tgt, $I11, 2
+    ne $S10, "lt", rx1107_fail
+    add rx1107_pos, 2
+    set_addr $I10, rxcap_1112_fail
+    ($I12, $I11) = rx1107_cur."!mark_peek"($I10)
+    rx1107_cur."!cursor_pos"($I11)
+    ($P10) = rx1107_cur."!cursor_start"()
+    $P10."!cursor_pass"(rx1107_pos, "")
+    rx1107_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("sym")
-    goto rxcap_1113_done
-  rxcap_1113_fail:
-    goto rx1108_fail
-  rxcap_1113_done:
+    goto rxcap_1112_done
+  rxcap_1112_fail:
+    goto rx1107_fail
+  rxcap_1112_done:
   # rx subrule "O" subtype=capture negate=
-    rx1108_cur."!cursor_pos"(rx1108_pos)
-    $P10 = rx1108_cur."O"("%tight_and, :pasttype<if>")
-    unless $P10, rx1108_fail
-    rx1108_cur."!mark_push"(0, -1, 0, $P10)
+    rx1107_cur."!cursor_pos"(rx1107_pos)
+    $P10 = rx1107_cur."O"("%relational, :pirop<islt ISs>")
+    unless $P10, rx1107_fail
+    rx1107_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("O")
-    rx1108_pos = $P10."pos"()
+    rx1107_pos = $P10."pos"()
   # rx pass
-    rx1108_cur."!cursor_pass"(rx1108_pos, "infix:sym<&&>")
-    rx1108_cur."!cursor_debug"("PASS  ", "infix:sym<&&>", " at pos=", rx1108_pos)
-    .return (rx1108_cur)
-  rx1108_fail:
-.annotate "line", 390
-    (rx1108_rep, rx1108_pos, $I10, $P10) = rx1108_cur."!mark_fail"(0)
-    lt rx1108_pos, -1, rx1108_done
-    eq rx1108_pos, -1, rx1108_fail
+    rx1107_cur."!cursor_pass"(rx1107_pos, "infix:sym<lt>")
+    rx1107_cur."!cursor_debug"("PASS  ", "infix:sym<lt>", " at pos=", rx1107_pos)
+    .return (rx1107_cur)
+  rx1107_fail:
+.annotate "line", 400
+    (rx1107_rep, rx1107_pos, $I10, $P10) = rx1107_cur."!mark_fail"(0)
+    lt rx1107_pos, -1, rx1107_done
+    eq rx1107_pos, -1, rx1107_fail
     jump $I10
-  rx1108_done:
-    rx1108_cur."!cursor_fail"()
-    rx1108_cur."!cursor_debug"("FAIL  ", "infix:sym<&&>")
-    .return (rx1108_cur)
+  rx1107_done:
+    rx1107_cur."!cursor_fail"()
+    rx1107_cur."!cursor_debug"("FAIL  ", "infix:sym<lt>")
+    .return (rx1107_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__infix:sym<&&>"  :subid("284_1259103982.97329") :method
-.annotate "line", 390
-    $P1110 = self."!PREFIX__!subrule"("O", "&&")
-    new $P1111, "ResizablePMCArray"
-    push $P1111, $P1110
-    .return ($P1111)
+.sub "!PREFIX__infix:sym<lt>"  :subid("282_1259177761.22934") :method
+.annotate "line", 400
+    $P1109 = self."!PREFIX__!subrule"("O", "lt")
+    new $P1110, "ResizablePMCArray"
+    push $P1110, $P1109
+    .return ($P1110)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "infix:sym<||>"  :subid("285_1259103982.97329") :method :outer("11_1259103982.97329")
-.annotate "line", 390
-    .local string rx1115_tgt
-    .local int rx1115_pos
-    .local int rx1115_off
-    .local int rx1115_eos
-    .local int rx1115_rep
-    .local pmc rx1115_cur
-    (rx1115_cur, rx1115_pos, rx1115_tgt) = self."!cursor_start"()
-    rx1115_cur."!cursor_debug"("START ", "infix:sym<||>")
-    .lex unicode:"$\x{a2}", rx1115_cur
-    .local pmc match
-    .lex "$/", match
-    length rx1115_eos, rx1115_tgt
-    set rx1115_off, 0
-    lt rx1115_pos, 2, rx1115_start
-    sub rx1115_off, rx1115_pos, 1
-    substr rx1115_tgt, rx1115_tgt, rx1115_off
-  rx1115_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan1119_done
-    goto rxscan1119_scan
-  rxscan1119_loop:
-    ($P10) = rx1115_cur."from"()
-    inc $P10
-    set rx1115_pos, $P10
-    ge rx1115_pos, rx1115_eos, rxscan1119_done
-  rxscan1119_scan:
-    set_addr $I10, rxscan1119_loop
-    rx1115_cur."!mark_push"(0, rx1115_pos, $I10)
-  rxscan1119_done:
-.annotate "line", 475
+.sub "infix:sym<gt>"  :subid("283_1259177761.22934") :method :outer("11_1259177761.22934")
+.annotate "line", 400
+    .local string rx1114_tgt
+    .local int rx1114_pos
+    .local int rx1114_off
+    .local int rx1114_eos
+    .local int rx1114_rep
+    .local pmc rx1114_cur
+    (rx1114_cur, rx1114_pos, rx1114_tgt) = self."!cursor_start"()
+    rx1114_cur."!cursor_debug"("START ", "infix:sym<gt>")
+    .lex unicode:"$\x{a2}", rx1114_cur
+    .local pmc match
+    .lex "$/", match
+    length rx1114_eos, rx1114_tgt
+    set rx1114_off, 0
+    lt rx1114_pos, 2, rx1114_start
+    sub rx1114_off, rx1114_pos, 1
+    substr rx1114_tgt, rx1114_tgt, rx1114_off
+  rx1114_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan1118_done
+    goto rxscan1118_scan
+  rxscan1118_loop:
+    ($P10) = rx1114_cur."from"()
+    inc $P10
+    set rx1114_pos, $P10
+    ge rx1114_pos, rx1114_eos, rxscan1118_done
+  rxscan1118_scan:
+    set_addr $I10, rxscan1118_loop
+    rx1114_cur."!mark_push"(0, rx1114_pos, $I10)
+  rxscan1118_done:
+.annotate "line", 480
   # rx subcapture "sym"
-    set_addr $I10, rxcap_1120_fail
-    rx1115_cur."!mark_push"(0, rx1115_pos, $I10)
-  # rx literal  "||"
-    add $I11, rx1115_pos, 2
-    gt $I11, rx1115_eos, rx1115_fail
-    sub $I11, rx1115_pos, rx1115_off
-    substr $S10, rx1115_tgt, $I11, 2
-    ne $S10, "||", rx1115_fail
-    add rx1115_pos, 2
-    set_addr $I10, rxcap_1120_fail
-    ($I12, $I11) = rx1115_cur."!mark_peek"($I10)
-    rx1115_cur."!cursor_pos"($I11)
-    ($P10) = rx1115_cur."!cursor_start"()
-    $P10."!cursor_pass"(rx1115_pos, "")
-    rx1115_cur."!mark_push"(0, -1, 0, $P10)
+    set_addr $I10, rxcap_1119_fail
+    rx1114_cur."!mark_push"(0, rx1114_pos, $I10)
+  # rx literal  "gt"
+    add $I11, rx1114_pos, 2
+    gt $I11, rx1114_eos, rx1114_fail
+    sub $I11, rx1114_pos, rx1114_off
+    substr $S10, rx1114_tgt, $I11, 2
+    ne $S10, "gt", rx1114_fail
+    add rx1114_pos, 2
+    set_addr $I10, rxcap_1119_fail
+    ($I12, $I11) = rx1114_cur."!mark_peek"($I10)
+    rx1114_cur."!cursor_pos"($I11)
+    ($P10) = rx1114_cur."!cursor_start"()
+    $P10."!cursor_pass"(rx1114_pos, "")
+    rx1114_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("sym")
-    goto rxcap_1120_done
-  rxcap_1120_fail:
-    goto rx1115_fail
-  rxcap_1120_done:
+    goto rxcap_1119_done
+  rxcap_1119_fail:
+    goto rx1114_fail
+  rxcap_1119_done:
   # rx subrule "O" subtype=capture negate=
-    rx1115_cur."!cursor_pos"(rx1115_pos)
-    $P10 = rx1115_cur."O"("%tight_or, :pasttype<unless>")
-    unless $P10, rx1115_fail
-    rx1115_cur."!mark_push"(0, -1, 0, $P10)
+    rx1114_cur."!cursor_pos"(rx1114_pos)
+    $P10 = rx1114_cur."O"("%relational, :pirop<isgt ISs>")
+    unless $P10, rx1114_fail
+    rx1114_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("O")
-    rx1115_pos = $P10."pos"()
+    rx1114_pos = $P10."pos"()
   # rx pass
-    rx1115_cur."!cursor_pass"(rx1115_pos, "infix:sym<||>")
-    rx1115_cur."!cursor_debug"("PASS  ", "infix:sym<||>", " at pos=", rx1115_pos)
-    .return (rx1115_cur)
-  rx1115_fail:
-.annotate "line", 390
-    (rx1115_rep, rx1115_pos, $I10, $P10) = rx1115_cur."!mark_fail"(0)
-    lt rx1115_pos, -1, rx1115_done
-    eq rx1115_pos, -1, rx1115_fail
+    rx1114_cur."!cursor_pass"(rx1114_pos, "infix:sym<gt>")
+    rx1114_cur."!cursor_debug"("PASS  ", "infix:sym<gt>", " at pos=", rx1114_pos)
+    .return (rx1114_cur)
+  rx1114_fail:
+.annotate "line", 400
+    (rx1114_rep, rx1114_pos, $I10, $P10) = rx1114_cur."!mark_fail"(0)
+    lt rx1114_pos, -1, rx1114_done
+    eq rx1114_pos, -1, rx1114_fail
     jump $I10
-  rx1115_done:
-    rx1115_cur."!cursor_fail"()
-    rx1115_cur."!cursor_debug"("FAIL  ", "infix:sym<||>")
-    .return (rx1115_cur)
+  rx1114_done:
+    rx1114_cur."!cursor_fail"()
+    rx1114_cur."!cursor_debug"("FAIL  ", "infix:sym<gt>")
+    .return (rx1114_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__infix:sym<||>"  :subid("286_1259103982.97329") :method
-.annotate "line", 390
-    $P1117 = self."!PREFIX__!subrule"("O", "||")
-    new $P1118, "ResizablePMCArray"
-    push $P1118, $P1117
-    .return ($P1118)
+.sub "!PREFIX__infix:sym<gt>"  :subid("284_1259177761.22934") :method
+.annotate "line", 400
+    $P1116 = self."!PREFIX__!subrule"("O", "gt")
+    new $P1117, "ResizablePMCArray"
+    push $P1117, $P1116
+    .return ($P1117)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "infix:sym<//>"  :subid("287_1259103982.97329") :method :outer("11_1259103982.97329")
-.annotate "line", 390
-    .local string rx1122_tgt
-    .local int rx1122_pos
-    .local int rx1122_off
-    .local int rx1122_eos
-    .local int rx1122_rep
-    .local pmc rx1122_cur
-    (rx1122_cur, rx1122_pos, rx1122_tgt) = self."!cursor_start"()
-    rx1122_cur."!cursor_debug"("START ", "infix:sym<//>")
-    .lex unicode:"$\x{a2}", rx1122_cur
-    .local pmc match
-    .lex "$/", match
-    length rx1122_eos, rx1122_tgt
-    set rx1122_off, 0
-    lt rx1122_pos, 2, rx1122_start
-    sub rx1122_off, rx1122_pos, 1
-    substr rx1122_tgt, rx1122_tgt, rx1122_off
-  rx1122_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan1126_done
-    goto rxscan1126_scan
-  rxscan1126_loop:
-    ($P10) = rx1122_cur."from"()
-    inc $P10
-    set rx1122_pos, $P10
-    ge rx1122_pos, rx1122_eos, rxscan1126_done
-  rxscan1126_scan:
-    set_addr $I10, rxscan1126_loop
-    rx1122_cur."!mark_push"(0, rx1122_pos, $I10)
-  rxscan1126_done:
-.annotate "line", 476
+.sub "infix:sym<=:=>"  :subid("285_1259177761.22934") :method :outer("11_1259177761.22934")
+.annotate "line", 400
+    .local string rx1121_tgt
+    .local int rx1121_pos
+    .local int rx1121_off
+    .local int rx1121_eos
+    .local int rx1121_rep
+    .local pmc rx1121_cur
+    (rx1121_cur, rx1121_pos, rx1121_tgt) = self."!cursor_start"()
+    rx1121_cur."!cursor_debug"("START ", "infix:sym<=:=>")
+    .lex unicode:"$\x{a2}", rx1121_cur
+    .local pmc match
+    .lex "$/", match
+    length rx1121_eos, rx1121_tgt
+    set rx1121_off, 0
+    lt rx1121_pos, 2, rx1121_start
+    sub rx1121_off, rx1121_pos, 1
+    substr rx1121_tgt, rx1121_tgt, rx1121_off
+  rx1121_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan1125_done
+    goto rxscan1125_scan
+  rxscan1125_loop:
+    ($P10) = rx1121_cur."from"()
+    inc $P10
+    set rx1121_pos, $P10
+    ge rx1121_pos, rx1121_eos, rxscan1125_done
+  rxscan1125_scan:
+    set_addr $I10, rxscan1125_loop
+    rx1121_cur."!mark_push"(0, rx1121_pos, $I10)
+  rxscan1125_done:
+.annotate "line", 481
   # rx subcapture "sym"
-    set_addr $I10, rxcap_1127_fail
-    rx1122_cur."!mark_push"(0, rx1122_pos, $I10)
-  # rx literal  "//"
-    add $I11, rx1122_pos, 2
-    gt $I11, rx1122_eos, rx1122_fail
-    sub $I11, rx1122_pos, rx1122_off
-    substr $S10, rx1122_tgt, $I11, 2
-    ne $S10, "//", rx1122_fail
-    add rx1122_pos, 2
-    set_addr $I10, rxcap_1127_fail
-    ($I12, $I11) = rx1122_cur."!mark_peek"($I10)
-    rx1122_cur."!cursor_pos"($I11)
-    ($P10) = rx1122_cur."!cursor_start"()
-    $P10."!cursor_pass"(rx1122_pos, "")
-    rx1122_cur."!mark_push"(0, -1, 0, $P10)
+    set_addr $I10, rxcap_1126_fail
+    rx1121_cur."!mark_push"(0, rx1121_pos, $I10)
+  # rx literal  "=:="
+    add $I11, rx1121_pos, 3
+    gt $I11, rx1121_eos, rx1121_fail
+    sub $I11, rx1121_pos, rx1121_off
+    substr $S10, rx1121_tgt, $I11, 3
+    ne $S10, "=:=", rx1121_fail
+    add rx1121_pos, 3
+    set_addr $I10, rxcap_1126_fail
+    ($I12, $I11) = rx1121_cur."!mark_peek"($I10)
+    rx1121_cur."!cursor_pos"($I11)
+    ($P10) = rx1121_cur."!cursor_start"()
+    $P10."!cursor_pass"(rx1121_pos, "")
+    rx1121_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("sym")
-    goto rxcap_1127_done
-  rxcap_1127_fail:
-    goto rx1122_fail
-  rxcap_1127_done:
+    goto rxcap_1126_done
+  rxcap_1126_fail:
+    goto rx1121_fail
+  rxcap_1126_done:
   # rx subrule "O" subtype=capture negate=
-    rx1122_cur."!cursor_pos"(rx1122_pos)
-    $P10 = rx1122_cur."O"("%tight_or, :pasttype<def_or>")
-    unless $P10, rx1122_fail
-    rx1122_cur."!mark_push"(0, -1, 0, $P10)
+    rx1121_cur."!cursor_pos"(rx1121_pos)
+    $P10 = rx1121_cur."O"("%relational, :pirop<issame>")
+    unless $P10, rx1121_fail
+    rx1121_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("O")
-    rx1122_pos = $P10."pos"()
+    rx1121_pos = $P10."pos"()
   # rx pass
-    rx1122_cur."!cursor_pass"(rx1122_pos, "infix:sym<//>")
-    rx1122_cur."!cursor_debug"("PASS  ", "infix:sym<//>", " at pos=", rx1122_pos)
-    .return (rx1122_cur)
-  rx1122_fail:
-.annotate "line", 390
-    (rx1122_rep, rx1122_pos, $I10, $P10) = rx1122_cur."!mark_fail"(0)
-    lt rx1122_pos, -1, rx1122_done
-    eq rx1122_pos, -1, rx1122_fail
+    rx1121_cur."!cursor_pass"(rx1121_pos, "infix:sym<=:=>")
+    rx1121_cur."!cursor_debug"("PASS  ", "infix:sym<=:=>", " at pos=", rx1121_pos)
+    .return (rx1121_cur)
+  rx1121_fail:
+.annotate "line", 400
+    (rx1121_rep, rx1121_pos, $I10, $P10) = rx1121_cur."!mark_fail"(0)
+    lt rx1121_pos, -1, rx1121_done
+    eq rx1121_pos, -1, rx1121_fail
     jump $I10
-  rx1122_done:
-    rx1122_cur."!cursor_fail"()
-    rx1122_cur."!cursor_debug"("FAIL  ", "infix:sym<//>")
-    .return (rx1122_cur)
+  rx1121_done:
+    rx1121_cur."!cursor_fail"()
+    rx1121_cur."!cursor_debug"("FAIL  ", "infix:sym<=:=>")
+    .return (rx1121_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__infix:sym<//>"  :subid("288_1259103982.97329") :method
-.annotate "line", 390
-    $P1124 = self."!PREFIX__!subrule"("O", "//")
-    new $P1125, "ResizablePMCArray"
-    push $P1125, $P1124
-    .return ($P1125)
+.sub "!PREFIX__infix:sym<=:=>"  :subid("286_1259177761.22934") :method
+.annotate "line", 400
+    $P1123 = self."!PREFIX__!subrule"("O", "=:=")
+    new $P1124, "ResizablePMCArray"
+    push $P1124, $P1123
+    .return ($P1124)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "infix:sym<?? !!>"  :subid("289_1259103982.97329") :method :outer("11_1259103982.97329")
-.annotate "line", 390
-    .local string rx1129_tgt
-    .local int rx1129_pos
-    .local int rx1129_off
-    .local int rx1129_eos
-    .local int rx1129_rep
-    .local pmc rx1129_cur
-    (rx1129_cur, rx1129_pos, rx1129_tgt) = self."!cursor_start"()
-    rx1129_cur."!cursor_debug"("START ", "infix:sym<?? !!>")
-    .lex unicode:"$\x{a2}", rx1129_cur
-    .local pmc match
-    .lex "$/", match
-    length rx1129_eos, rx1129_tgt
-    set rx1129_off, 0
-    lt rx1129_pos, 2, rx1129_start
-    sub rx1129_off, rx1129_pos, 1
-    substr rx1129_tgt, rx1129_tgt, rx1129_off
-  rx1129_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan1133_done
-    goto rxscan1133_scan
-  rxscan1133_loop:
-    ($P10) = rx1129_cur."from"()
-    inc $P10
-    set rx1129_pos, $P10
-    ge rx1129_pos, rx1129_eos, rxscan1133_done
-  rxscan1133_scan:
-    set_addr $I10, rxscan1133_loop
-    rx1129_cur."!mark_push"(0, rx1129_pos, $I10)
-  rxscan1133_done:
-.annotate "line", 479
-  # rx literal  "??"
-    add $I11, rx1129_pos, 2
-    gt $I11, rx1129_eos, rx1129_fail
-    sub $I11, rx1129_pos, rx1129_off
-    substr $S10, rx1129_tgt, $I11, 2
-    ne $S10, "??", rx1129_fail
-    add rx1129_pos, 2
-.annotate "line", 480
-  # rx subrule "ws" subtype=method negate=
-    rx1129_cur."!cursor_pos"(rx1129_pos)
-    $P10 = rx1129_cur."ws"()
-    unless $P10, rx1129_fail
-    rx1129_pos = $P10."pos"()
-.annotate "line", 481
-  # rx subrule "EXPR" subtype=capture negate=
-    rx1129_cur."!cursor_pos"(rx1129_pos)
-    $P10 = rx1129_cur."EXPR"("i=")
-    unless $P10, rx1129_fail
-    rx1129_cur."!mark_push"(0, -1, 0, $P10)
-    $P10."!cursor_names"("EXPR")
-    rx1129_pos = $P10."pos"()
-.annotate "line", 482
-  # rx literal  "!!"
-    add $I11, rx1129_pos, 2
-    gt $I11, rx1129_eos, rx1129_fail
-    sub $I11, rx1129_pos, rx1129_off
-    substr $S10, rx1129_tgt, $I11, 2
-    ne $S10, "!!", rx1129_fail
-    add rx1129_pos, 2
+.sub "infix:sym<&&>"  :subid("287_1259177761.22934") :method :outer("11_1259177761.22934")
+.annotate "line", 400
+    .local string rx1128_tgt
+    .local int rx1128_pos
+    .local int rx1128_off
+    .local int rx1128_eos
+    .local int rx1128_rep
+    .local pmc rx1128_cur
+    (rx1128_cur, rx1128_pos, rx1128_tgt) = self."!cursor_start"()
+    rx1128_cur."!cursor_debug"("START ", "infix:sym<&&>")
+    .lex unicode:"$\x{a2}", rx1128_cur
+    .local pmc match
+    .lex "$/", match
+    length rx1128_eos, rx1128_tgt
+    set rx1128_off, 0
+    lt rx1128_pos, 2, rx1128_start
+    sub rx1128_off, rx1128_pos, 1
+    substr rx1128_tgt, rx1128_tgt, rx1128_off
+  rx1128_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan1132_done
+    goto rxscan1132_scan
+  rxscan1132_loop:
+    ($P10) = rx1128_cur."from"()
+    inc $P10
+    set rx1128_pos, $P10
+    ge rx1128_pos, rx1128_eos, rxscan1132_done
+  rxscan1132_scan:
+    set_addr $I10, rxscan1132_loop
+    rx1128_cur."!mark_push"(0, rx1128_pos, $I10)
+  rxscan1132_done:
 .annotate "line", 483
+  # rx subcapture "sym"
+    set_addr $I10, rxcap_1133_fail
+    rx1128_cur."!mark_push"(0, rx1128_pos, $I10)
+  # rx literal  "&&"
+    add $I11, rx1128_pos, 2
+    gt $I11, rx1128_eos, rx1128_fail
+    sub $I11, rx1128_pos, rx1128_off
+    substr $S10, rx1128_tgt, $I11, 2
+    ne $S10, "&&", rx1128_fail
+    add rx1128_pos, 2
+    set_addr $I10, rxcap_1133_fail
+    ($I12, $I11) = rx1128_cur."!mark_peek"($I10)
+    rx1128_cur."!cursor_pos"($I11)
+    ($P10) = rx1128_cur."!cursor_start"()
+    $P10."!cursor_pass"(rx1128_pos, "")
+    rx1128_cur."!mark_push"(0, -1, 0, $P10)
+    $P10."!cursor_names"("sym")
+    goto rxcap_1133_done
+  rxcap_1133_fail:
+    goto rx1128_fail
+  rxcap_1133_done:
   # rx subrule "O" subtype=capture negate=
-    rx1129_cur."!cursor_pos"(rx1129_pos)
-    $P10 = rx1129_cur."O"("%conditional, :reducecheck<ternary>, :pasttype<if>")
-    unless $P10, rx1129_fail
-    rx1129_cur."!mark_push"(0, -1, 0, $P10)
+    rx1128_cur."!cursor_pos"(rx1128_pos)
+    $P10 = rx1128_cur."O"("%tight_and, :pasttype<if>")
+    unless $P10, rx1128_fail
+    rx1128_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("O")
-    rx1129_pos = $P10."pos"()
-.annotate "line", 478
+    rx1128_pos = $P10."pos"()
   # rx pass
-    rx1129_cur."!cursor_pass"(rx1129_pos, "infix:sym<?? !!>")
-    rx1129_cur."!cursor_debug"("PASS  ", "infix:sym<?? !!>", " at pos=", rx1129_pos)
-    .return (rx1129_cur)
-  rx1129_fail:
-.annotate "line", 390
-    (rx1129_rep, rx1129_pos, $I10, $P10) = rx1129_cur."!mark_fail"(0)
-    lt rx1129_pos, -1, rx1129_done
-    eq rx1129_pos, -1, rx1129_fail
+    rx1128_cur."!cursor_pass"(rx1128_pos, "infix:sym<&&>")
+    rx1128_cur."!cursor_debug"("PASS  ", "infix:sym<&&>", " at pos=", rx1128_pos)
+    .return (rx1128_cur)
+  rx1128_fail:
+.annotate "line", 400
+    (rx1128_rep, rx1128_pos, $I10, $P10) = rx1128_cur."!mark_fail"(0)
+    lt rx1128_pos, -1, rx1128_done
+    eq rx1128_pos, -1, rx1128_fail
     jump $I10
-  rx1129_done:
-    rx1129_cur."!cursor_fail"()
-    rx1129_cur."!cursor_debug"("FAIL  ", "infix:sym<?? !!>")
-    .return (rx1129_cur)
+  rx1128_done:
+    rx1128_cur."!cursor_fail"()
+    rx1128_cur."!cursor_debug"("FAIL  ", "infix:sym<&&>")
+    .return (rx1128_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__infix:sym<?? !!>"  :subid("290_1259103982.97329") :method
-.annotate "line", 390
-    $P1131 = self."!PREFIX__!subrule"("", "??")
-    new $P1132, "ResizablePMCArray"
-    push $P1132, $P1131
-    .return ($P1132)
+.sub "!PREFIX__infix:sym<&&>"  :subid("288_1259177761.22934") :method
+.annotate "line", 400
+    $P1130 = self."!PREFIX__!subrule"("O", "&&")
+    new $P1131, "ResizablePMCArray"
+    push $P1131, $P1130
+    .return ($P1131)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "infix:sym<=>"  :subid("291_1259103982.97329") :method :outer("11_1259103982.97329")
-.annotate "line", 390
+.sub "infix:sym<||>"  :subid("289_1259177761.22934") :method :outer("11_1259177761.22934")
+.annotate "line", 400
     .local string rx1135_tgt
     .local int rx1135_pos
     .local int rx1135_off
@@ -13883,7 +13826,7 @@
     .local int rx1135_rep
     .local pmc rx1135_cur
     (rx1135_cur, rx1135_pos, rx1135_tgt) = self."!cursor_start"()
-    rx1135_cur."!cursor_debug"("START ", "infix:sym<=>")
+    rx1135_cur."!cursor_debug"("START ", "infix:sym<||>")
     .lex unicode:"$\x{a2}", rx1135_cur
     .local pmc match
     .lex "$/", match
@@ -13905,17 +13848,17 @@
     set_addr $I10, rxscan1139_loop
     rx1135_cur."!mark_push"(0, rx1135_pos, $I10)
   rxscan1139_done:
-.annotate "line", 487
+.annotate "line", 485
   # rx subcapture "sym"
     set_addr $I10, rxcap_1140_fail
     rx1135_cur."!mark_push"(0, rx1135_pos, $I10)
-  # rx literal  "="
-    add $I11, rx1135_pos, 1
+  # rx literal  "||"
+    add $I11, rx1135_pos, 2
     gt $I11, rx1135_eos, rx1135_fail
     sub $I11, rx1135_pos, rx1135_off
-    substr $S10, rx1135_tgt, $I11, 1
-    ne $S10, "=", rx1135_fail
-    add rx1135_pos, 1
+    substr $S10, rx1135_tgt, $I11, 2
+    ne $S10, "||", rx1135_fail
+    add rx1135_pos, 2
     set_addr $I10, rxcap_1140_fail
     ($I12, $I11) = rx1135_cur."!mark_peek"($I10)
     rx1135_cur."!cursor_pos"($I11)
@@ -13927,34 +13870,35 @@
   rxcap_1140_fail:
     goto rx1135_fail
   rxcap_1140_done:
-  # rx subrule "panic" subtype=method negate=
+  # rx subrule "O" subtype=capture negate=
     rx1135_cur."!cursor_pos"(rx1135_pos)
-    $P10 = rx1135_cur."panic"("Assignment (\"=\") not supported in NQP, use \":=\" instead")
+    $P10 = rx1135_cur."O"("%tight_or, :pasttype<unless>")
     unless $P10, rx1135_fail
+    rx1135_cur."!mark_push"(0, -1, 0, $P10)
+    $P10."!cursor_names"("O")
     rx1135_pos = $P10."pos"()
-.annotate "line", 486
   # rx pass
-    rx1135_cur."!cursor_pass"(rx1135_pos, "infix:sym<=>")
-    rx1135_cur."!cursor_debug"("PASS  ", "infix:sym<=>", " at pos=", rx1135_pos)
+    rx1135_cur."!cursor_pass"(rx1135_pos, "infix:sym<||>")
+    rx1135_cur."!cursor_debug"("PASS  ", "infix:sym<||>", " at pos=", rx1135_pos)
     .return (rx1135_cur)
   rx1135_fail:
-.annotate "line", 390
+.annotate "line", 400
     (rx1135_rep, rx1135_pos, $I10, $P10) = rx1135_cur."!mark_fail"(0)
     lt rx1135_pos, -1, rx1135_done
     eq rx1135_pos, -1, rx1135_fail
     jump $I10
   rx1135_done:
     rx1135_cur."!cursor_fail"()
-    rx1135_cur."!cursor_debug"("FAIL  ", "infix:sym<=>")
+    rx1135_cur."!cursor_debug"("FAIL  ", "infix:sym<||>")
     .return (rx1135_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__infix:sym<=>"  :subid("292_1259103982.97329") :method
-.annotate "line", 390
-    $P1137 = self."!PREFIX__!subrule"("", "=")
+.sub "!PREFIX__infix:sym<||>"  :subid("290_1259177761.22934") :method
+.annotate "line", 400
+    $P1137 = self."!PREFIX__!subrule"("O", "||")
     new $P1138, "ResizablePMCArray"
     push $P1138, $P1137
     .return ($P1138)
@@ -13962,8 +13906,8 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "infix:sym<:=>"  :subid("293_1259103982.97329") :method :outer("11_1259103982.97329")
-.annotate "line", 390
+.sub "infix:sym<//>"  :subid("291_1259177761.22934") :method :outer("11_1259177761.22934")
+.annotate "line", 400
     .local string rx1142_tgt
     .local int rx1142_pos
     .local int rx1142_off
@@ -13971,7 +13915,7 @@
     .local int rx1142_rep
     .local pmc rx1142_cur
     (rx1142_cur, rx1142_pos, rx1142_tgt) = self."!cursor_start"()
-    rx1142_cur."!cursor_debug"("START ", "infix:sym<:=>")
+    rx1142_cur."!cursor_debug"("START ", "infix:sym<//>")
     .lex unicode:"$\x{a2}", rx1142_cur
     .local pmc match
     .lex "$/", match
@@ -13993,16 +13937,16 @@
     set_addr $I10, rxscan1146_loop
     rx1142_cur."!mark_push"(0, rx1142_pos, $I10)
   rxscan1146_done:
-.annotate "line", 489
+.annotate "line", 486
   # rx subcapture "sym"
     set_addr $I10, rxcap_1147_fail
     rx1142_cur."!mark_push"(0, rx1142_pos, $I10)
-  # rx literal  ":="
+  # rx literal  "//"
     add $I11, rx1142_pos, 2
     gt $I11, rx1142_eos, rx1142_fail
     sub $I11, rx1142_pos, rx1142_off
     substr $S10, rx1142_tgt, $I11, 2
-    ne $S10, ":=", rx1142_fail
+    ne $S10, "//", rx1142_fail
     add rx1142_pos, 2
     set_addr $I10, rxcap_1147_fail
     ($I12, $I11) = rx1142_cur."!mark_peek"($I10)
@@ -14017,33 +13961,33 @@
   rxcap_1147_done:
   # rx subrule "O" subtype=capture negate=
     rx1142_cur."!cursor_pos"(rx1142_pos)
-    $P10 = rx1142_cur."O"("%assignment, :pasttype<bind>")
+    $P10 = rx1142_cur."O"("%tight_or, :pasttype<def_or>")
     unless $P10, rx1142_fail
     rx1142_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("O")
     rx1142_pos = $P10."pos"()
   # rx pass
-    rx1142_cur."!cursor_pass"(rx1142_pos, "infix:sym<:=>")
-    rx1142_cur."!cursor_debug"("PASS  ", "infix:sym<:=>", " at pos=", rx1142_pos)
+    rx1142_cur."!cursor_pass"(rx1142_pos, "infix:sym<//>")
+    rx1142_cur."!cursor_debug"("PASS  ", "infix:sym<//>", " at pos=", rx1142_pos)
     .return (rx1142_cur)
   rx1142_fail:
-.annotate "line", 390
+.annotate "line", 400
     (rx1142_rep, rx1142_pos, $I10, $P10) = rx1142_cur."!mark_fail"(0)
     lt rx1142_pos, -1, rx1142_done
     eq rx1142_pos, -1, rx1142_fail
     jump $I10
   rx1142_done:
     rx1142_cur."!cursor_fail"()
-    rx1142_cur."!cursor_debug"("FAIL  ", "infix:sym<:=>")
+    rx1142_cur."!cursor_debug"("FAIL  ", "infix:sym<//>")
     .return (rx1142_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__infix:sym<:=>"  :subid("294_1259103982.97329") :method
-.annotate "line", 390
-    $P1144 = self."!PREFIX__!subrule"("O", ":=")
+.sub "!PREFIX__infix:sym<//>"  :subid("292_1259177761.22934") :method
+.annotate "line", 400
+    $P1144 = self."!PREFIX__!subrule"("O", "//")
     new $P1145, "ResizablePMCArray"
     push $P1145, $P1144
     .return ($P1145)
@@ -14051,8 +13995,8 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "infix:sym<::=>"  :subid("295_1259103982.97329") :method :outer("11_1259103982.97329")
-.annotate "line", 390
+.sub "infix:sym<?? !!>"  :subid("293_1259177761.22934") :method :outer("11_1259177761.22934")
+.annotate "line", 400
     .local string rx1149_tgt
     .local int rx1149_pos
     .local int rx1149_off
@@ -14060,7 +14004,7 @@
     .local int rx1149_rep
     .local pmc rx1149_cur
     (rx1149_cur, rx1149_pos, rx1149_tgt) = self."!cursor_start"()
-    rx1149_cur."!cursor_debug"("START ", "infix:sym<::=>")
+    rx1149_cur."!cursor_debug"("START ", "infix:sym<?? !!>")
     .lex unicode:"$\x{a2}", rx1149_cur
     .local pmc match
     .lex "$/", match
@@ -14082,57 +14026,67 @@
     set_addr $I10, rxscan1153_loop
     rx1149_cur."!mark_push"(0, rx1149_pos, $I10)
   rxscan1153_done:
-.annotate "line", 490
-  # rx subcapture "sym"
-    set_addr $I10, rxcap_1154_fail
-    rx1149_cur."!mark_push"(0, rx1149_pos, $I10)
-  # rx literal  "::="
-    add $I11, rx1149_pos, 3
+.annotate "line", 489
+  # rx literal  "??"
+    add $I11, rx1149_pos, 2
     gt $I11, rx1149_eos, rx1149_fail
     sub $I11, rx1149_pos, rx1149_off
-    substr $S10, rx1149_tgt, $I11, 3
-    ne $S10, "::=", rx1149_fail
-    add rx1149_pos, 3
-    set_addr $I10, rxcap_1154_fail
-    ($I12, $I11) = rx1149_cur."!mark_peek"($I10)
-    rx1149_cur."!cursor_pos"($I11)
-    ($P10) = rx1149_cur."!cursor_start"()
-    $P10."!cursor_pass"(rx1149_pos, "")
+    substr $S10, rx1149_tgt, $I11, 2
+    ne $S10, "??", rx1149_fail
+    add rx1149_pos, 2
+.annotate "line", 490
+  # rx subrule "ws" subtype=method negate=
+    rx1149_cur."!cursor_pos"(rx1149_pos)
+    $P10 = rx1149_cur."ws"()
+    unless $P10, rx1149_fail
+    rx1149_pos = $P10."pos"()
+.annotate "line", 491
+  # rx subrule "EXPR" subtype=capture negate=
+    rx1149_cur."!cursor_pos"(rx1149_pos)
+    $P10 = rx1149_cur."EXPR"("i=")
+    unless $P10, rx1149_fail
     rx1149_cur."!mark_push"(0, -1, 0, $P10)
-    $P10."!cursor_names"("sym")
-    goto rxcap_1154_done
-  rxcap_1154_fail:
-    goto rx1149_fail
-  rxcap_1154_done:
+    $P10."!cursor_names"("EXPR")
+    rx1149_pos = $P10."pos"()
+.annotate "line", 492
+  # rx literal  "!!"
+    add $I11, rx1149_pos, 2
+    gt $I11, rx1149_eos, rx1149_fail
+    sub $I11, rx1149_pos, rx1149_off
+    substr $S10, rx1149_tgt, $I11, 2
+    ne $S10, "!!", rx1149_fail
+    add rx1149_pos, 2
+.annotate "line", 493
   # rx subrule "O" subtype=capture negate=
     rx1149_cur."!cursor_pos"(rx1149_pos)
-    $P10 = rx1149_cur."O"("%assignment, :pasttype<bind>")
+    $P10 = rx1149_cur."O"("%conditional, :reducecheck<ternary>, :pasttype<if>")
     unless $P10, rx1149_fail
     rx1149_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("O")
     rx1149_pos = $P10."pos"()
+.annotate "line", 488
   # rx pass
-    rx1149_cur."!cursor_pass"(rx1149_pos, "infix:sym<::=>")
-    rx1149_cur."!cursor_debug"("PASS  ", "infix:sym<::=>", " at pos=", rx1149_pos)
+    rx1149_cur."!cursor_pass"(rx1149_pos, "infix:sym<?? !!>")
+    rx1149_cur."!cursor_debug"("PASS  ", "infix:sym<?? !!>", " at pos=", rx1149_pos)
     .return (rx1149_cur)
   rx1149_fail:
-.annotate "line", 390
+.annotate "line", 400
     (rx1149_rep, rx1149_pos, $I10, $P10) = rx1149_cur."!mark_fail"(0)
     lt rx1149_pos, -1, rx1149_done
     eq rx1149_pos,