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

pmichaud at svn.parrot.org pmichaud at svn.parrot.org
Thu Dec 17 03:24:06 UTC 2009


Author: pmichaud
Date: Thu Dec 17 03:23:56 2009
New Revision: 43116
URL: https://trac.parrot.org/parrot/changeset/43116

Log:
[nqp]:  Fix for direct calls to failing protoregexes (reported by Coke++).

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 Dec 16 21:25:32 2009	(r43115)
+++ trunk/ext/nqp-rx/src/stage0/HLL-s0.pir	Thu Dec 17 03:23:56 2009	(r43116)
@@ -854,7 +854,7 @@
 ### .include 'gen/hllgrammar-grammar.pir'
 
 .namespace []
-.sub "_block11"  :anon :subid("10_1260829299.63575")
+.sub "_block11"  :anon :subid("10_1261019348.87902")
 .annotate "line", 0
     get_hll_global $P14, ["HLL";"Grammar"], "_block13" 
     capture_lex $P14
@@ -868,9 +868,9 @@
 
 
 .namespace []
-.sub "" :load :init :subid("post94") :outer("10_1260829299.63575")
+.sub "" :load :init :subid("post94") :outer("10_1261019348.87902")
 .annotate "line", 0
-    .const 'Sub' $P12 = "10_1260829299.63575" 
+    .const 'Sub' $P12 = "10_1261019348.87902" 
     .local pmc block
     set block, $P12
     $P297 = get_root_global ["parrot"], "P6metaclass"
@@ -879,78 +879,78 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "_block13"  :subid("11_1260829299.63575") :outer("10_1260829299.63575")
+.sub "_block13"  :subid("11_1261019348.87902") :outer("10_1261019348.87902")
 .annotate "line", 5
-    .const 'Sub' $P286 = "92_1260829299.63575" 
+    .const 'Sub' $P286 = "92_1261019348.87902" 
     capture_lex $P286
-    .const 'Sub' $P279 = "90_1260829299.63575" 
+    .const 'Sub' $P279 = "90_1261019348.87902" 
     capture_lex $P279
-    .const 'Sub' $P266 = "87_1260829299.63575" 
+    .const 'Sub' $P266 = "87_1261019348.87902" 
     capture_lex $P266
-    .const 'Sub' $P261 = "85_1260829299.63575" 
+    .const 'Sub' $P261 = "85_1261019348.87902" 
     capture_lex $P261
-    .const 'Sub' $P255 = "83_1260829299.63575" 
+    .const 'Sub' $P255 = "83_1261019348.87902" 
     capture_lex $P255
-    .const 'Sub' $P249 = "81_1260829299.63575" 
+    .const 'Sub' $P249 = "81_1261019348.87902" 
     capture_lex $P249
-    .const 'Sub' $P244 = "79_1260829299.63575" 
+    .const 'Sub' $P244 = "79_1261019348.87902" 
     capture_lex $P244
-    .const 'Sub' $P239 = "77_1260829299.63575" 
+    .const 'Sub' $P239 = "77_1261019348.87902" 
     capture_lex $P239
-    .const 'Sub' $P234 = "75_1260829299.63575" 
+    .const 'Sub' $P234 = "75_1261019348.87902" 
     capture_lex $P234
-    .const 'Sub' $P229 = "73_1260829299.63575" 
+    .const 'Sub' $P229 = "73_1261019348.87902" 
     capture_lex $P229
-    .const 'Sub' $P224 = "71_1260829299.63575" 
+    .const 'Sub' $P224 = "71_1261019348.87902" 
     capture_lex $P224
-    .const 'Sub' $P219 = "69_1260829299.63575" 
+    .const 'Sub' $P219 = "69_1261019348.87902" 
     capture_lex $P219
-    .const 'Sub' $P208 = "65_1260829299.63575" 
+    .const 'Sub' $P208 = "65_1261019348.87902" 
     capture_lex $P208
-    .const 'Sub' $P195 = "63_1260829299.63575" 
+    .const 'Sub' $P195 = "63_1261019348.87902" 
     capture_lex $P195
-    .const 'Sub' $P183 = "61_1260829299.63575" 
+    .const 'Sub' $P183 = "61_1261019348.87902" 
     capture_lex $P183
-    .const 'Sub' $P176 = "59_1260829299.63575" 
+    .const 'Sub' $P176 = "59_1261019348.87902" 
     capture_lex $P176
-    .const 'Sub' $P167 = "57_1260829299.63575" 
+    .const 'Sub' $P167 = "57_1261019348.87902" 
     capture_lex $P167
-    .const 'Sub' $P160 = "55_1260829299.63575" 
+    .const 'Sub' $P160 = "55_1261019348.87902" 
     capture_lex $P160
-    .const 'Sub' $P151 = "53_1260829299.63575" 
+    .const 'Sub' $P151 = "53_1261019348.87902" 
     capture_lex $P151
-    .const 'Sub' $P144 = "51_1260829299.63575" 
+    .const 'Sub' $P144 = "51_1261019348.87902" 
     capture_lex $P144
-    .const 'Sub' $P135 = "49_1260829299.63575" 
+    .const 'Sub' $P135 = "49_1261019348.87902" 
     capture_lex $P135
-    .const 'Sub' $P128 = "47_1260829299.63575" 
+    .const 'Sub' $P128 = "47_1261019348.87902" 
     capture_lex $P128
-    .const 'Sub' $P121 = "45_1260829299.63575" 
+    .const 'Sub' $P121 = "45_1261019348.87902" 
     capture_lex $P121
-    .const 'Sub' $P111 = "43_1260829299.63575" 
+    .const 'Sub' $P111 = "43_1261019348.87902" 
     capture_lex $P111
-    .const 'Sub' $P103 = "41_1260829299.63575" 
+    .const 'Sub' $P103 = "41_1261019348.87902" 
     capture_lex $P103
-    .const 'Sub' $P93 = "40_1260829299.63575" 
+    .const 'Sub' $P93 = "40_1261019348.87902" 
     capture_lex $P93
-    .const 'Sub' $P87 = "38_1260829299.63575" 
+    .const 'Sub' $P87 = "38_1261019348.87902" 
     capture_lex $P87
-    .const 'Sub' $P82 = "36_1260829299.63575" 
+    .const 'Sub' $P82 = "36_1261019348.87902" 
     capture_lex $P82
-    .const 'Sub' $P74 = "34_1260829299.63575" 
+    .const 'Sub' $P74 = "34_1261019348.87902" 
     capture_lex $P74
-    .const 'Sub' $P68 = "32_1260829299.63575" 
+    .const 'Sub' $P68 = "32_1261019348.87902" 
     capture_lex $P68
-    .const 'Sub' $P62 = "30_1260829299.63575" 
+    .const 'Sub' $P62 = "30_1261019348.87902" 
     capture_lex $P62
-    .const 'Sub' $P56 = "28_1260829299.63575" 
+    .const 'Sub' $P56 = "28_1261019348.87902" 
     capture_lex $P56
-    .const 'Sub' $P23 = "14_1260829299.63575" 
+    .const 'Sub' $P23 = "14_1261019348.87902" 
     capture_lex $P23
-    .const 'Sub' $P15 = "12_1260829299.63575" 
+    .const 'Sub' $P15 = "12_1261019348.87902" 
     capture_lex $P15
 .annotate "line", 33
-    .const 'Sub' $P286 = "92_1260829299.63575" 
+    .const 'Sub' $P286 = "92_1261019348.87902" 
     capture_lex $P286
 .annotate "line", 5
     .return ($P286)
@@ -958,7 +958,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "ws"  :subid("12_1260829299.63575") :method :outer("11_1260829299.63575")
+.sub "ws"  :subid("12_1261019348.87902") :method :outer("11_1261019348.87902")
 .annotate "line", 5
     .local string rx16_tgt
     .local int rx16_pos
@@ -1042,7 +1042,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "!PREFIX__ws"  :subid("13_1260829299.63575") :method
+.sub "!PREFIX__ws"  :subid("13_1261019348.87902") :method
 .annotate "line", 5
     new $P18, "ResizablePMCArray"
     push $P18, ""
@@ -1051,7 +1051,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "termish"  :subid("14_1260829299.63575") :method :outer("11_1260829299.63575")
+.sub "termish"  :subid("14_1261019348.87902") :method :outer("11_1261019348.87902")
 .annotate "line", 5
     .local string rx24_tgt
     .local int rx24_pos
@@ -1061,7 +1061,7 @@
     .local pmc rx24_cur
     (rx24_cur, rx24_pos, rx24_tgt) = self."!cursor_start"()
     rx24_cur."!cursor_debug"("START ", "termish")
-    rx24_cur."!cursor_caparray"("prefixish", "postfixish")
+    rx24_cur."!cursor_caparray"("postfixish", "prefixish")
     .lex unicode:"$\x{a2}", rx24_cur
     .local pmc match
     .lex "$/", match
@@ -1143,7 +1143,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "!PREFIX__termish"  :subid("15_1260829299.63575") :method
+.sub "!PREFIX__termish"  :subid("15_1261019348.87902") :method
 .annotate "line", 5
     new $P26, "ResizablePMCArray"
     push $P26, ""
@@ -1152,7 +1152,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "term"  :subid("16_1260829299.63575") :method
+.sub "term"  :subid("16_1261019348.87902") :method
 .annotate "line", 13
     $P33 = self."!protoregex"("term")
     .return ($P33)
@@ -1160,7 +1160,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "!PREFIX__term"  :subid("17_1260829299.63575") :method
+.sub "!PREFIX__term"  :subid("17_1261019348.87902") :method
 .annotate "line", 13
     $P35 = self."!PREFIX__!protoregex"("term")
     .return ($P35)
@@ -1168,7 +1168,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "infix"  :subid("18_1260829299.63575") :method
+.sub "infix"  :subid("18_1261019348.87902") :method
 .annotate "line", 14
     $P37 = self."!protoregex"("infix")
     .return ($P37)
@@ -1176,7 +1176,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "!PREFIX__infix"  :subid("19_1260829299.63575") :method
+.sub "!PREFIX__infix"  :subid("19_1261019348.87902") :method
 .annotate "line", 14
     $P39 = self."!PREFIX__!protoregex"("infix")
     .return ($P39)
@@ -1184,7 +1184,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "prefix"  :subid("20_1260829299.63575") :method
+.sub "prefix"  :subid("20_1261019348.87902") :method
 .annotate "line", 15
     $P41 = self."!protoregex"("prefix")
     .return ($P41)
@@ -1192,7 +1192,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "!PREFIX__prefix"  :subid("21_1260829299.63575") :method
+.sub "!PREFIX__prefix"  :subid("21_1261019348.87902") :method
 .annotate "line", 15
     $P43 = self."!PREFIX__!protoregex"("prefix")
     .return ($P43)
@@ -1200,7 +1200,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "postfix"  :subid("22_1260829299.63575") :method
+.sub "postfix"  :subid("22_1261019348.87902") :method
 .annotate "line", 16
     $P45 = self."!protoregex"("postfix")
     .return ($P45)
@@ -1208,7 +1208,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "!PREFIX__postfix"  :subid("23_1260829299.63575") :method
+.sub "!PREFIX__postfix"  :subid("23_1261019348.87902") :method
 .annotate "line", 16
     $P47 = self."!PREFIX__!protoregex"("postfix")
     .return ($P47)
@@ -1216,7 +1216,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "circumfix"  :subid("24_1260829299.63575") :method
+.sub "circumfix"  :subid("24_1261019348.87902") :method
 .annotate "line", 17
     $P49 = self."!protoregex"("circumfix")
     .return ($P49)
@@ -1224,7 +1224,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "!PREFIX__circumfix"  :subid("25_1260829299.63575") :method
+.sub "!PREFIX__circumfix"  :subid("25_1261019348.87902") :method
 .annotate "line", 17
     $P51 = self."!PREFIX__!protoregex"("circumfix")
     .return ($P51)
@@ -1232,7 +1232,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "postcircumfix"  :subid("26_1260829299.63575") :method
+.sub "postcircumfix"  :subid("26_1261019348.87902") :method
 .annotate "line", 18
     $P53 = self."!protoregex"("postcircumfix")
     .return ($P53)
@@ -1240,7 +1240,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "!PREFIX__postcircumfix"  :subid("27_1260829299.63575") :method
+.sub "!PREFIX__postcircumfix"  :subid("27_1261019348.87902") :method
 .annotate "line", 18
     $P55 = self."!PREFIX__!protoregex"("postcircumfix")
     .return ($P55)
@@ -1248,7 +1248,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "term:sym<circumfix>"  :subid("28_1260829299.63575") :method :outer("11_1260829299.63575")
+.sub "term:sym<circumfix>"  :subid("28_1261019348.87902") :method :outer("11_1261019348.87902")
 .annotate "line", 5
     .local string rx57_tgt
     .local int rx57_pos
@@ -1306,7 +1306,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "!PREFIX__term:sym<circumfix>"  :subid("29_1260829299.63575") :method
+.sub "!PREFIX__term:sym<circumfix>"  :subid("29_1261019348.87902") :method
 .annotate "line", 5
     $P59 = self."!PREFIX__!subrule"("circumfix", "")
     new $P60, "ResizablePMCArray"
@@ -1316,7 +1316,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "infixish"  :subid("30_1260829299.63575") :method :outer("11_1260829299.63575")
+.sub "infixish"  :subid("30_1261019348.87902") :method :outer("11_1261019348.87902")
 .annotate "line", 5
     .local string rx63_tgt
     .local int rx63_pos
@@ -1374,7 +1374,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "!PREFIX__infixish"  :subid("31_1260829299.63575") :method
+.sub "!PREFIX__infixish"  :subid("31_1261019348.87902") :method
 .annotate "line", 5
     $P65 = self."!PREFIX__!subrule"("OPER=infix", "")
     new $P66, "ResizablePMCArray"
@@ -1384,7 +1384,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "prefixish"  :subid("32_1260829299.63575") :method :outer("11_1260829299.63575")
+.sub "prefixish"  :subid("32_1261019348.87902") :method :outer("11_1261019348.87902")
 .annotate "line", 5
     .local string rx69_tgt
     .local int rx69_pos
@@ -1447,7 +1447,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "!PREFIX__prefixish"  :subid("33_1260829299.63575") :method
+.sub "!PREFIX__prefixish"  :subid("33_1261019348.87902") :method
 .annotate "line", 5
     $P71 = self."!PREFIX__!subrule"("OPER=prefix", "")
     new $P72, "ResizablePMCArray"
@@ -1457,7 +1457,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "postfixish"  :subid("34_1260829299.63575") :method :outer("11_1260829299.63575")
+.sub "postfixish"  :subid("34_1261019348.87902") :method :outer("11_1261019348.87902")
 .annotate "line", 5
     .local string rx75_tgt
     .local int rx75_pos
@@ -1531,7 +1531,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "!PREFIX__postfixish"  :subid("35_1260829299.63575") :method
+.sub "!PREFIX__postfixish"  :subid("35_1261019348.87902") :method
 .annotate "line", 5
     $P77 = self."!PREFIX__!subrule"("OPER=postcircumfix", "")
     $P78 = self."!PREFIX__!subrule"("OPER=postfix", "")
@@ -1543,7 +1543,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "nullterm"  :subid("36_1260829299.63575") :method :outer("11_1260829299.63575")
+.sub "nullterm"  :subid("36_1261019348.87902") :method :outer("11_1261019348.87902")
 .annotate "line", 5
     .local string rx83_tgt
     .local int rx83_pos
@@ -1594,7 +1594,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "!PREFIX__nullterm"  :subid("37_1260829299.63575") :method
+.sub "!PREFIX__nullterm"  :subid("37_1261019348.87902") :method
 .annotate "line", 5
     new $P85, "ResizablePMCArray"
     push $P85, ""
@@ -1603,7 +1603,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "nullterm_alt"  :subid("38_1260829299.63575") :method :outer("11_1260829299.63575")
+.sub "nullterm_alt"  :subid("38_1261019348.87902") :method :outer("11_1261019348.87902")
 .annotate "line", 5
     .local string rx88_tgt
     .local int rx88_pos
@@ -1661,7 +1661,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "!PREFIX__nullterm_alt"  :subid("39_1260829299.63575") :method
+.sub "!PREFIX__nullterm_alt"  :subid("39_1261019348.87902") :method
 .annotate "line", 5
     $P90 = self."!PREFIX__!subrule"("term", "")
     new $P91, "ResizablePMCArray"
@@ -1671,7 +1671,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "nulltermish"  :subid("40_1260829299.63575") :method :outer("11_1260829299.63575")
+.sub "nulltermish"  :subid("40_1261019348.87902") :method :outer("11_1261019348.87902")
 .annotate "line", 33
     new $P95, 'ExceptionHandler'
     set_addr $P95, control_94
@@ -1698,7 +1698,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "quote_delimited"  :subid("41_1260829299.63575") :method :outer("11_1260829299.63575")
+.sub "quote_delimited"  :subid("41_1261019348.87902") :method :outer("11_1261019348.87902")
 .annotate "line", 33
     .local string rx104_tgt
     .local int rx104_pos
@@ -1780,7 +1780,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "!PREFIX__quote_delimited"  :subid("42_1260829299.63575") :method
+.sub "!PREFIX__quote_delimited"  :subid("42_1261019348.87902") :method
 .annotate "line", 33
     $P106 = self."!PREFIX__!subrule"("starter", "")
     new $P107, "ResizablePMCArray"
@@ -1790,7 +1790,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "quote_atom"  :subid("43_1260829299.63575") :method :outer("11_1260829299.63575")
+.sub "quote_atom"  :subid("43_1261019348.87902") :method :outer("11_1261019348.87902")
 .annotate "line", 33
     .local string rx112_tgt
     .local int rx112_pos
@@ -1881,7 +1881,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "!PREFIX__quote_atom"  :subid("44_1260829299.63575") :method
+.sub "!PREFIX__quote_atom"  :subid("44_1261019348.87902") :method
 .annotate "line", 33
     new $P114, "ResizablePMCArray"
     push $P114, ""
@@ -1890,7 +1890,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "decint"  :subid("45_1260829299.63575") :method :outer("11_1260829299.63575")
+.sub "decint"  :subid("45_1261019348.87902") :method :outer("11_1261019348.87902")
 .annotate "line", 33
     .local string rx122_tgt
     .local int rx122_pos
@@ -1962,7 +1962,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "!PREFIX__decint"  :subid("46_1260829299.63575") :method
+.sub "!PREFIX__decint"  :subid("46_1261019348.87902") :method
 .annotate "line", 33
     new $P124, "ResizablePMCArray"
     push $P124, ""
@@ -1971,7 +1971,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "hexints"  :subid("47_1260829299.63575") :method :outer("11_1260829299.63575")
+.sub "hexints"  :subid("47_1261019348.87902") :method :outer("11_1261019348.87902")
 .annotate "line", 33
     .local string rx129_tgt
     .local int rx129_pos
@@ -2055,7 +2055,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "!PREFIX__hexints"  :subid("48_1260829299.63575") :method
+.sub "!PREFIX__hexints"  :subid("48_1261019348.87902") :method
 .annotate "line", 33
     new $P131, "ResizablePMCArray"
     push $P131, ""
@@ -2064,7 +2064,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "hexint"  :subid("49_1260829299.63575") :method :outer("11_1260829299.63575")
+.sub "hexint"  :subid("49_1261019348.87902") :method :outer("11_1261019348.87902")
 .annotate "line", 33
     .local string rx136_tgt
     .local int rx136_pos
@@ -2145,7 +2145,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "!PREFIX__hexint"  :subid("50_1260829299.63575") :method
+.sub "!PREFIX__hexint"  :subid("50_1261019348.87902") :method
 .annotate "line", 33
     new $P138, "ResizablePMCArray"
     push $P138, ""
@@ -2154,7 +2154,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "hexints"  :subid("51_1260829299.63575") :method :outer("11_1260829299.63575")
+.sub "hexints"  :subid("51_1261019348.87902") :method :outer("11_1261019348.87902")
 .annotate "line", 33
     .local string rx145_tgt
     .local int rx145_pos
@@ -2238,7 +2238,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "!PREFIX__hexints"  :subid("52_1260829299.63575") :method
+.sub "!PREFIX__hexints"  :subid("52_1261019348.87902") :method
 .annotate "line", 33
     new $P147, "ResizablePMCArray"
     push $P147, ""
@@ -2247,7 +2247,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "octint"  :subid("53_1260829299.63575") :method :outer("11_1260829299.63575")
+.sub "octint"  :subid("53_1261019348.87902") :method :outer("11_1261019348.87902")
 .annotate "line", 33
     .local string rx152_tgt
     .local int rx152_pos
@@ -2328,7 +2328,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "!PREFIX__octint"  :subid("54_1260829299.63575") :method
+.sub "!PREFIX__octint"  :subid("54_1261019348.87902") :method
 .annotate "line", 33
     new $P154, "ResizablePMCArray"
     push $P154, ""
@@ -2337,7 +2337,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "octints"  :subid("55_1260829299.63575") :method :outer("11_1260829299.63575")
+.sub "octints"  :subid("55_1261019348.87902") :method :outer("11_1261019348.87902")
 .annotate "line", 33
     .local string rx161_tgt
     .local int rx161_pos
@@ -2421,7 +2421,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "!PREFIX__octints"  :subid("56_1260829299.63575") :method
+.sub "!PREFIX__octints"  :subid("56_1261019348.87902") :method
 .annotate "line", 33
     new $P163, "ResizablePMCArray"
     push $P163, ""
@@ -2430,7 +2430,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "binint"  :subid("57_1260829299.63575") :method :outer("11_1260829299.63575")
+.sub "binint"  :subid("57_1261019348.87902") :method :outer("11_1261019348.87902")
 .annotate "line", 33
     .local string rx168_tgt
     .local int rx168_pos
@@ -2511,7 +2511,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "!PREFIX__binint"  :subid("58_1260829299.63575") :method
+.sub "!PREFIX__binint"  :subid("58_1261019348.87902") :method
 .annotate "line", 33
     new $P170, "ResizablePMCArray"
     push $P170, ""
@@ -2520,7 +2520,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "binints"  :subid("59_1260829299.63575") :method :outer("11_1260829299.63575")
+.sub "binints"  :subid("59_1261019348.87902") :method :outer("11_1261019348.87902")
 .annotate "line", 33
     .local string rx177_tgt
     .local int rx177_pos
@@ -2604,7 +2604,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "!PREFIX__binints"  :subid("60_1260829299.63575") :method
+.sub "!PREFIX__binints"  :subid("60_1261019348.87902") :method
 .annotate "line", 33
     new $P179, "ResizablePMCArray"
     push $P179, ""
@@ -2613,7 +2613,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "integer"  :subid("61_1260829299.63575") :method :outer("11_1260829299.63575")
+.sub "integer"  :subid("61_1261019348.87902") :method :outer("11_1261019348.87902")
 .annotate "line", 33
     .local string rx184_tgt
     .local int rx184_pos
@@ -2761,7 +2761,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "!PREFIX__integer"  :subid("62_1260829299.63575") :method
+.sub "!PREFIX__integer"  :subid("62_1261019348.87902") :method
 .annotate "line", 33
     $P186 = self."!PREFIX__!subrule"("VALUE=decint", "")
     $P187 = self."!PREFIX__!subrule"("VALUE=decint", "0d")
@@ -2779,7 +2779,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "dec_number"  :subid("63_1260829299.63575") :method :outer("11_1260829299.63575")
+.sub "dec_number"  :subid("63_1261019348.87902") :method :outer("11_1261019348.87902")
 .annotate "line", 33
     .local string rx196_tgt
     .local int rx196_pos
@@ -2958,7 +2958,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "!PREFIX__dec_number"  :subid("64_1260829299.63575") :method
+.sub "!PREFIX__dec_number"  :subid("64_1261019348.87902") :method
 .annotate "line", 33
     new $P198, "ResizablePMCArray"
     push $P198, ""
@@ -2969,7 +2969,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "escale"  :subid("65_1260829299.63575") :method :outer("11_1260829299.63575")
+.sub "escale"  :subid("65_1261019348.87902") :method :outer("11_1261019348.87902")
 .annotate "line", 33
     .local string rx209_tgt
     .local int rx209_pos
@@ -3046,7 +3046,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "!PREFIX__escale"  :subid("66_1260829299.63575") :method
+.sub "!PREFIX__escale"  :subid("66_1261019348.87902") :method
 .annotate "line", 33
     new $P211, "ResizablePMCArray"
     push $P211, "e"
@@ -3056,7 +3056,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "quote_escape"  :subid("67_1260829299.63575") :method
+.sub "quote_escape"  :subid("67_1261019348.87902") :method
 .annotate "line", 79
     $P216 = self."!protoregex"("quote_escape")
     .return ($P216)
@@ -3064,7 +3064,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "!PREFIX__quote_escape"  :subid("68_1260829299.63575") :method
+.sub "!PREFIX__quote_escape"  :subid("68_1261019348.87902") :method
 .annotate "line", 79
     $P218 = self."!PREFIX__!protoregex"("quote_escape")
     .return ($P218)
@@ -3072,7 +3072,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "quote_escape:sym<backslash>"  :subid("69_1260829299.63575") :method :outer("11_1260829299.63575")
+.sub "quote_escape:sym<backslash>"  :subid("69_1261019348.87902") :method :outer("11_1261019348.87902")
 .annotate "line", 33
     .local string rx220_tgt
     .local int rx220_pos
@@ -3134,7 +3134,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "!PREFIX__quote_escape:sym<backslash>"  :subid("70_1260829299.63575") :method
+.sub "!PREFIX__quote_escape:sym<backslash>"  :subid("70_1261019348.87902") :method
 .annotate "line", 33
     new $P222, "ResizablePMCArray"
     push $P222, "\\\\"
@@ -3143,7 +3143,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "quote_escape:sym<stopper>"  :subid("71_1260829299.63575") :method :outer("11_1260829299.63575")
+.sub "quote_escape:sym<stopper>"  :subid("71_1261019348.87902") :method :outer("11_1261019348.87902")
 .annotate "line", 33
     .local string rx225_tgt
     .local int rx225_pos
@@ -3212,7 +3212,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "!PREFIX__quote_escape:sym<stopper>"  :subid("72_1260829299.63575") :method
+.sub "!PREFIX__quote_escape:sym<stopper>"  :subid("72_1261019348.87902") :method
 .annotate "line", 33
     new $P227, "ResizablePMCArray"
     push $P227, "\\"
@@ -3221,7 +3221,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "quote_escape:sym<bs>"  :subid("73_1260829299.63575") :method :outer("11_1260829299.63575")
+.sub "quote_escape:sym<bs>"  :subid("73_1261019348.87902") :method :outer("11_1261019348.87902")
 .annotate "line", 33
     .local string rx230_tgt
     .local int rx230_pos
@@ -3283,7 +3283,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "!PREFIX__quote_escape:sym<bs>"  :subid("74_1260829299.63575") :method
+.sub "!PREFIX__quote_escape:sym<bs>"  :subid("74_1261019348.87902") :method
 .annotate "line", 33
     new $P232, "ResizablePMCArray"
     push $P232, "\\b"
@@ -3292,7 +3292,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "quote_escape:sym<nl>"  :subid("75_1260829299.63575") :method :outer("11_1260829299.63575")
+.sub "quote_escape:sym<nl>"  :subid("75_1261019348.87902") :method :outer("11_1261019348.87902")
 .annotate "line", 33
     .local string rx235_tgt
     .local int rx235_pos
@@ -3354,7 +3354,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "!PREFIX__quote_escape:sym<nl>"  :subid("76_1260829299.63575") :method
+.sub "!PREFIX__quote_escape:sym<nl>"  :subid("76_1261019348.87902") :method
 .annotate "line", 33
     new $P237, "ResizablePMCArray"
     push $P237, "\\n"
@@ -3363,7 +3363,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "quote_escape:sym<cr>"  :subid("77_1260829299.63575") :method :outer("11_1260829299.63575")
+.sub "quote_escape:sym<cr>"  :subid("77_1261019348.87902") :method :outer("11_1261019348.87902")
 .annotate "line", 33
     .local string rx240_tgt
     .local int rx240_pos
@@ -3425,7 +3425,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "!PREFIX__quote_escape:sym<cr>"  :subid("78_1260829299.63575") :method
+.sub "!PREFIX__quote_escape:sym<cr>"  :subid("78_1261019348.87902") :method
 .annotate "line", 33
     new $P242, "ResizablePMCArray"
     push $P242, "\\r"
@@ -3434,7 +3434,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "quote_escape:sym<tab>"  :subid("79_1260829299.63575") :method :outer("11_1260829299.63575")
+.sub "quote_escape:sym<tab>"  :subid("79_1261019348.87902") :method :outer("11_1261019348.87902")
 .annotate "line", 33
     .local string rx245_tgt
     .local int rx245_pos
@@ -3496,7 +3496,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "!PREFIX__quote_escape:sym<tab>"  :subid("80_1260829299.63575") :method
+.sub "!PREFIX__quote_escape:sym<tab>"  :subid("80_1261019348.87902") :method
 .annotate "line", 33
     new $P247, "ResizablePMCArray"
     push $P247, "\\t"
@@ -3505,7 +3505,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "quote_escape:sym<hex>"  :subid("81_1260829299.63575") :method :outer("11_1260829299.63575")
+.sub "quote_escape:sym<hex>"  :subid("81_1261019348.87902") :method :outer("11_1261019348.87902")
 .annotate "line", 33
     .local string rx250_tgt
     .local int rx250_pos
@@ -3603,7 +3603,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "!PREFIX__quote_escape:sym<hex>"  :subid("82_1260829299.63575") :method
+.sub "!PREFIX__quote_escape:sym<hex>"  :subid("82_1261019348.87902") :method
 .annotate "line", 33
     new $P252, "ResizablePMCArray"
     push $P252, unicode:"\\x"
@@ -3612,7 +3612,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "quote_escape:sym<oct>"  :subid("83_1260829299.63575") :method :outer("11_1260829299.63575")
+.sub "quote_escape:sym<oct>"  :subid("83_1261019348.87902") :method :outer("11_1261019348.87902")
 .annotate "line", 33
     .local string rx256_tgt
     .local int rx256_pos
@@ -3710,7 +3710,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "!PREFIX__quote_escape:sym<oct>"  :subid("84_1260829299.63575") :method
+.sub "!PREFIX__quote_escape:sym<oct>"  :subid("84_1261019348.87902") :method
 .annotate "line", 33
     new $P258, "ResizablePMCArray"
     push $P258, "\\o"
@@ -3719,7 +3719,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "quote_escape:sym<chr>"  :subid("85_1260829299.63575") :method :outer("11_1260829299.63575")
+.sub "quote_escape:sym<chr>"  :subid("85_1261019348.87902") :method :outer("11_1261019348.87902")
 .annotate "line", 33
     .local string rx262_tgt
     .local int rx262_pos
@@ -3788,7 +3788,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "!PREFIX__quote_escape:sym<chr>"  :subid("86_1260829299.63575") :method
+.sub "!PREFIX__quote_escape:sym<chr>"  :subid("86_1261019348.87902") :method
 .annotate "line", 33
     new $P264, "ResizablePMCArray"
     push $P264, "\\c"
@@ -3797,9 +3797,9 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "charname"  :subid("87_1260829299.63575") :method :outer("11_1260829299.63575")
+.sub "charname"  :subid("87_1261019348.87902") :method :outer("11_1261019348.87902")
 .annotate "line", 33
-    .const 'Sub' $P276 = "89_1260829299.63575" 
+    .const 'Sub' $P276 = "89_1261019348.87902" 
     capture_lex $P276
     .local string rx267_tgt
     .local int rx267_pos
@@ -3877,7 +3877,7 @@
 .annotate "line", 100
   # rx subrule "before" subtype=zerowidth negate=
     rx267_cur."!cursor_pos"(rx267_pos)
-    .const 'Sub' $P276 = "89_1260829299.63575" 
+    .const 'Sub' $P276 = "89_1261019348.87902" 
     capture_lex $P276
     $P10 = rx267_cur."before"($P276)
     unless $P10, rx267_fail
@@ -3902,7 +3902,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "!PREFIX__charname"  :subid("88_1260829299.63575") :method
+.sub "!PREFIX__charname"  :subid("88_1261019348.87902") :method
 .annotate "line", 33
     $P269 = self."!PREFIX__!subrule"("integer", "")
     new $P270, "ResizablePMCArray"
@@ -3964,7 +3964,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "_block275"  :anon :subid("89_1260829299.63575") :method :outer("87_1260829299.63575")
+.sub "_block275"  :anon :subid("89_1261019348.87902") :method :outer("87_1261019348.87902")
 .annotate "line", 100
     .local string rx277_tgt
     .local int rx277_pos
@@ -4024,7 +4024,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "charnames"  :subid("90_1260829299.63575") :method :outer("11_1260829299.63575")
+.sub "charnames"  :subid("90_1261019348.87902") :method :outer("11_1261019348.87902")
 .annotate "line", 33
     .local string rx280_tgt
     .local int rx280_pos
@@ -4108,7 +4108,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "!PREFIX__charnames"  :subid("91_1260829299.63575") :method
+.sub "!PREFIX__charnames"  :subid("91_1261019348.87902") :method
 .annotate "line", 33
     new $P282, "ResizablePMCArray"
     push $P282, ""
@@ -4117,7 +4117,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "charspec"  :subid("92_1260829299.63575") :method :outer("11_1260829299.63575")
+.sub "charspec"  :subid("92_1261019348.87902") :method :outer("11_1261019348.87902")
 .annotate "line", 33
     .local string rx287_tgt
     .local int rx287_pos
@@ -4247,7 +4247,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "!PREFIX__charspec"  :subid("93_1260829299.63575") :method
+.sub "!PREFIX__charspec"  :subid("93_1261019348.87902") :method
 .annotate "line", 33
     $P289 = self."!PREFIX__!subrule"("", "")
     $P290 = self."!PREFIX__!subrule"("charnames", "[")
@@ -4289,7 +4289,7 @@
 ### .include 'gen/hllgrammar-actions.pir'
 
 .namespace []
-.sub "_block11"  :anon :subid("10_1260829301.67623")
+.sub "_block11"  :anon :subid("10_1261019350.97388")
 .annotate "line", 0
     get_hll_global $P14, ["HLL";"Actions"], "_block13" 
     capture_lex $P14
@@ -4303,9 +4303,9 @@
 
 
 .namespace []
-.sub "" :load :init :subid("post41") :outer("10_1260829301.67623")
+.sub "" :load :init :subid("post41") :outer("10_1261019350.97388")
 .annotate "line", 0
-    .const 'Sub' $P12 = "10_1260829301.67623" 
+    .const 'Sub' $P12 = "10_1261019350.97388" 
     .local pmc block
     set block, $P12
     $P452 = get_root_global ["parrot"], "P6metaclass"
@@ -4314,58 +4314,58 @@
 
 
 .namespace ["HLL";"Actions"]
-.sub "_block13"  :subid("11_1260829301.67623") :outer("10_1260829301.67623")
+.sub "_block13"  :subid("11_1261019350.97388") :outer("10_1261019350.97388")
 .annotate "line", 3
-    .const 'Sub' $P434 = "40_1260829301.67623" 
+    .const 'Sub' $P434 = "40_1261019350.97388" 
     capture_lex $P434
-    .const 'Sub' $P417 = "39_1260829301.67623" 
+    .const 'Sub' $P417 = "39_1261019350.97388" 
     capture_lex $P417
-    .const 'Sub' $P410 = "38_1260829301.67623" 
+    .const 'Sub' $P410 = "38_1261019350.97388" 
     capture_lex $P410
-    .const 'Sub' $P403 = "37_1260829301.67623" 
+    .const 'Sub' $P403 = "37_1261019350.97388" 
     capture_lex $P403
-    .const 'Sub' $P396 = "36_1260829301.67623" 
+    .const 'Sub' $P396 = "36_1261019350.97388" 
     capture_lex $P396
-    .const 'Sub' $P389 = "35_1260829301.67623" 
+    .const 'Sub' $P389 = "35_1261019350.97388" 
     capture_lex $P389
-    .const 'Sub' $P379 = "34_1260829301.67623" 
+    .const 'Sub' $P379 = "34_1261019350.97388" 
     capture_lex $P379
-    .const 'Sub' $P372 = "33_1260829301.67623" 
+    .const 'Sub' $P372 = "33_1261019350.97388" 
     capture_lex $P372
-    .const 'Sub' $P356 = "32_1260829301.67623" 
+    .const 'Sub' $P356 = "32_1261019350.97388" 
     capture_lex $P356
-    .const 'Sub' $P281 = "30_1260829301.67623" 
+    .const 'Sub' $P281 = "30_1261019350.97388" 
     capture_lex $P281
-    .const 'Sub' $P222 = "27_1260829301.67623" 
+    .const 'Sub' $P222 = "27_1261019350.97388" 
     capture_lex $P222
-    .const 'Sub' $P213 = "26_1260829301.67623" 
+    .const 'Sub' $P213 = "26_1261019350.97388" 
     capture_lex $P213
-    .const 'Sub' $P204 = "25_1260829301.67623" 
+    .const 'Sub' $P204 = "25_1261019350.97388" 
     capture_lex $P204
-    .const 'Sub' $P195 = "24_1260829301.67623" 
+    .const 'Sub' $P195 = "24_1261019350.97388" 
     capture_lex $P195
-    .const 'Sub' $P186 = "23_1260829301.67623" 
+    .const 'Sub' $P186 = "23_1261019350.97388" 
     capture_lex $P186
-    .const 'Sub' $P177 = "22_1260829301.67623" 
+    .const 'Sub' $P177 = "22_1261019350.97388" 
     capture_lex $P177
-    .const 'Sub' $P167 = "21_1260829301.67623" 
+    .const 'Sub' $P167 = "21_1261019350.97388" 
     capture_lex $P167
-    .const 'Sub' $P157 = "20_1260829301.67623" 
+    .const 'Sub' $P157 = "20_1261019350.97388" 
     capture_lex $P157
-    .const 'Sub' $P149 = "19_1260829301.67623" 
+    .const 'Sub' $P149 = "19_1261019350.97388" 
     capture_lex $P149
-    .const 'Sub' $P139 = "18_1260829301.67623" 
+    .const 'Sub' $P139 = "18_1261019350.97388" 
     capture_lex $P139
-    .const 'Sub' $P129 = "17_1260829301.67623" 
+    .const 'Sub' $P129 = "17_1261019350.97388" 
     capture_lex $P129
-    .const 'Sub' $P28 = "14_1260829301.67623" 
+    .const 'Sub' $P28 = "14_1261019350.97388" 
     capture_lex $P28
-    .const 'Sub' $P22 = "13_1260829301.67623" 
+    .const 'Sub' $P22 = "13_1261019350.97388" 
     capture_lex $P22
-    .const 'Sub' $P15 = "12_1260829301.67623" 
+    .const 'Sub' $P15 = "12_1261019350.97388" 
     capture_lex $P15
 .annotate "line", 163
-    .const 'Sub' $P434 = "40_1260829301.67623" 
+    .const 'Sub' $P434 = "40_1261019350.97388" 
     capture_lex $P434
 .annotate "line", 3
     .return ($P434)
@@ -4373,7 +4373,7 @@
 
 
 .namespace ["HLL";"Actions"]
-.sub "string_to_int"  :subid("12_1260829301.67623") :outer("11_1260829301.67623")
+.sub "string_to_int"  :subid("12_1261019350.97388") :outer("11_1261019350.97388")
     .param pmc param_18
     .param pmc param_19
 .annotate "line", 3
@@ -4426,7 +4426,7 @@
 
 
 .namespace ["HLL";"Actions"]
-.sub "ints_to_string"  :subid("13_1260829301.67623") :outer("11_1260829301.67623")
+.sub "ints_to_string"  :subid("13_1261019350.97388") :outer("11_1261019350.97388")
     .param pmc param_25
 .annotate "line", 37
     new $P24, 'ExceptionHandler'
@@ -4467,14 +4467,14 @@
 
 
 .namespace ["HLL";"Actions"]
-.sub "EXPR"  :subid("14_1260829301.67623") :method :outer("11_1260829301.67623")
+.sub "EXPR"  :subid("14_1261019350.97388") :method :outer("11_1261019350.97388")
     .param pmc param_31
     .param pmc param_32 :optional
     .param int has_param_32 :opt_flag
 .annotate "line", 62
-    .const 'Sub' $P111 = "16_1260829301.67623" 
+    .const 'Sub' $P111 = "16_1261019350.97388" 
     capture_lex $P111
-    .const 'Sub' $P78 = "15_1260829301.67623" 
+    .const 'Sub' $P78 = "15_1261019350.97388" 
     capture_lex $P78
     new $P30, 'ExceptionHandler'
     set_addr $P30, control_29
@@ -4609,7 +4609,7 @@
     find_lex $P75, "$past"
     $P76 = $P75."name"()
     if $P76, unless_74_end
-    .const 'Sub' $P78 = "15_1260829301.67623" 
+    .const 'Sub' $P78 = "15_1261019350.97388" 
     capture_lex $P78
     $P78()
   unless_74_end:
@@ -4633,7 +4633,7 @@
     unless $P105, loop122_done
     shift $P109, $P105
   loop122_redo:
-    .const 'Sub' $P111 = "16_1260829301.67623" 
+    .const 'Sub' $P111 = "16_1261019350.97388" 
     capture_lex $P111
     $P111($P109)
   loop122_next:
@@ -4678,7 +4678,7 @@
 
 
 .namespace ["HLL";"Actions"]
-.sub "_block77"  :anon :subid("15_1260829301.67623") :outer("14_1260829301.67623")
+.sub "_block77"  :anon :subid("15_1261019350.97388") :outer("14_1261019350.97388")
 .annotate "line", 71
     new $P79, "Undef"
     .lex "$name", $P79
@@ -4728,7 +4728,7 @@
 
 
 .namespace ["HLL";"Actions"]
-.sub "_block110"  :anon :subid("16_1260829301.67623") :outer("14_1260829301.67623")
+.sub "_block110"  :anon :subid("16_1261019350.97388") :outer("14_1261019350.97388")
     .param pmc param_112
 .annotate "line", 82
     .lex "$_", param_112
@@ -4751,7 +4751,7 @@
 
 
 .namespace ["HLL";"Actions"]
-.sub "term:sym<circumfix>"  :subid("17_1260829301.67623") :method :outer("11_1260829301.67623")
+.sub "term:sym<circumfix>"  :subid("17_1261019350.97388") :method :outer("11_1261019350.97388")
     .param pmc param_132
 .annotate "line", 87
     new $P131, 'ExceptionHandler'
@@ -4781,7 +4781,7 @@
 
 
 .namespace ["HLL";"Actions"]
-.sub "termish"  :subid("18_1260829301.67623") :method :outer("11_1260829301.67623")
+.sub "termish"  :subid("18_1261019350.97388") :method :outer("11_1261019350.97388")
     .param pmc param_142
 .annotate "line", 89
     new $P141, 'ExceptionHandler'
@@ -4811,7 +4811,7 @@
 
 
 .namespace ["HLL";"Actions"]
-.sub "nullterm"  :subid("19_1260829301.67623") :method :outer("11_1260829301.67623")
+.sub "nullterm"  :subid("19_1261019350.97388") :method :outer("11_1261019350.97388")
     .param pmc param_152
 .annotate "line", 90
     new $P151, 'ExceptionHandler'
@@ -4833,7 +4833,7 @@
 
 
 .namespace ["HLL";"Actions"]
-.sub "nullterm_alt"  :subid("20_1260829301.67623") :method :outer("11_1260829301.67623")
+.sub "nullterm_alt"  :subid("20_1261019350.97388") :method :outer("11_1261019350.97388")
     .param pmc param_160
 .annotate "line", 91
     new $P159, 'ExceptionHandler'
@@ -4863,7 +4863,7 @@
 
 
 .namespace ["HLL";"Actions"]
-.sub "integer"  :subid("21_1260829301.67623") :method :outer("11_1260829301.67623")
+.sub "integer"  :subid("21_1261019350.97388") :method :outer("11_1261019350.97388")
     .param pmc param_170
 .annotate "line", 93
     new $P169, 'ExceptionHandler'
@@ -4893,7 +4893,7 @@
 
 
 .namespace ["HLL";"Actions"]
-.sub "dec_number"  :subid("22_1260829301.67623") :method :outer("11_1260829301.67623")
+.sub "dec_number"  :subid("22_1261019350.97388") :method :outer("11_1261019350.97388")
     .param pmc param_180
 .annotate "line", 95
     new $P179, 'ExceptionHandler'
@@ -4916,7 +4916,7 @@
 
 
 .namespace ["HLL";"Actions"]
-.sub "decint"  :subid("23_1260829301.67623") :method :outer("11_1260829301.67623")
+.sub "decint"  :subid("23_1261019350.97388") :method :outer("11_1261019350.97388")
     .param pmc param_189
 .annotate "line", 97
     new $P188, 'ExceptionHandler'
@@ -4939,7 +4939,7 @@
 
 
 .namespace ["HLL";"Actions"]
-.sub "hexint"  :subid("24_1260829301.67623") :method :outer("11_1260829301.67623")
+.sub "hexint"  :subid("24_1261019350.97388") :method :outer("11_1261019350.97388")
     .param pmc param_198
 .annotate "line", 98
     new $P197, 'ExceptionHandler'
@@ -4962,7 +4962,7 @@
 
 
 .namespace ["HLL";"Actions"]
-.sub "octint"  :subid("25_1260829301.67623") :method :outer("11_1260829301.67623")
+.sub "octint"  :subid("25_1261019350.97388") :method :outer("11_1261019350.97388")
     .param pmc param_207
 .annotate "line", 99
     new $P206, 'ExceptionHandler'
@@ -4985,7 +4985,7 @@
 
 
 .namespace ["HLL";"Actions"]
-.sub "binint"  :subid("26_1260829301.67623") :method :outer("11_1260829301.67623")
+.sub "binint"  :subid("26_1261019350.97388") :method :outer("11_1261019350.97388")
     .param pmc param_216
 .annotate "line", 100
     new $P215, 'ExceptionHandler'
@@ -5008,10 +5008,10 @@
 
 
 .namespace ["HLL";"Actions"]
-.sub "quote_EXPR"  :subid("27_1260829301.67623") :method :outer("11_1260829301.67623")
+.sub "quote_EXPR"  :subid("27_1261019350.97388") :method :outer("11_1261019350.97388")
     .param pmc param_225
 .annotate "line", 102
-    .const 'Sub' $P241 = "28_1260829301.67623" 
+    .const 'Sub' $P241 = "28_1261019350.97388" 
     capture_lex $P241
     new $P224, 'ExceptionHandler'
     set_addr $P224, control_223
@@ -5043,7 +5043,7 @@
     $P237 = $P235."ACCEPTS"($P236)
     if $P237, if_234
 .annotate "line", 108
-    .const 'Sub' $P241 = "28_1260829301.67623" 
+    .const 'Sub' $P241 = "28_1261019350.97388" 
     capture_lex $P241
     $P241()
     goto if_234_end
@@ -5082,9 +5082,9 @@
 
 
 .namespace ["HLL";"Actions"]
-.sub "_block240"  :anon :subid("28_1260829301.67623") :outer("27_1260829301.67623")
+.sub "_block240"  :anon :subid("28_1261019350.97388") :outer("27_1261019350.97388")
 .annotate "line", 108
-    .const 'Sub' $P260 = "29_1260829301.67623" 
+    .const 'Sub' $P260 = "29_1261019350.97388" 
     capture_lex $P260
 .annotate "line", 109
     new $P242, "ResizablePMCArray"
@@ -5121,7 +5121,7 @@
     unless $P255, loop265_done
     shift $P258, $P255
   loop265_redo:
-    .const 'Sub' $P260 = "29_1260829301.67623" 
+    .const 'Sub' $P260 = "29_1261019350.97388" 
     capture_lex $P260
     $P260($P258)
   loop265_next:
@@ -5144,7 +5144,7 @@
 
 
 .namespace ["HLL";"Actions"]
-.sub "_block259"  :anon :subid("29_1260829301.67623") :outer("28_1260829301.67623")
+.sub "_block259"  :anon :subid("29_1261019350.97388") :outer("28_1261019350.97388")
     .param pmc param_261
 .annotate "line", 112
     .lex "$_", param_261
@@ -5156,10 +5156,10 @@
 
 
 .namespace ["HLL";"Actions"]
-.sub "quote_delimited"  :subid("30_1260829301.67623") :method :outer("11_1260829301.67623")
+.sub "quote_delimited"  :subid("30_1261019350.97388") :method :outer("11_1261019350.97388")
     .param pmc param_284
 .annotate "line", 122
-    .const 'Sub' $P296 = "31_1260829301.67623" 
+    .const 'Sub' $P296 = "31_1261019350.97388" 
     capture_lex $P296
     new $P283, 'ExceptionHandler'
     set_addr $P283, control_282
@@ -5202,7 +5202,7 @@
     unless $P290, loop328_done
     shift $P294, $P290
   loop328_redo:
-    .const 'Sub' $P296 = "31_1260829301.67623" 
+    .const 'Sub' $P296 = "31_1261019350.97388" 
     capture_lex $P296
     $P296($P294)
   loop328_next:
@@ -5280,7 +5280,7 @@
 
 
 .namespace ["HLL";"Actions"]
-.sub "_block295"  :anon :subid("31_1260829301.67623") :outer("30_1260829301.67623")
+.sub "_block295"  :anon :subid("31_1261019350.97388") :outer("30_1261019350.97388")
     .param pmc param_298
 .annotate "line", 126
     new $P297, "Undef"
@@ -5349,7 +5349,7 @@
 
 
 .namespace ["HLL";"Actions"]
-.sub "quote_atom"  :subid("32_1260829301.67623") :method :outer("11_1260829301.67623")
+.sub "quote_atom"  :subid("32_1261019350.97388") :method :outer("11_1261019350.97388")
     .param pmc param_359
 .annotate "line", 147
     new $P358, 'ExceptionHandler'
@@ -5398,7 +5398,7 @@
 
 
 .namespace ["HLL";"Actions"]
-.sub "quote_escape:sym<backslash>"  :subid("33_1260829301.67623") :method :outer("11_1260829301.67623")
+.sub "quote_escape:sym<backslash>"  :subid("33_1261019350.97388") :method :outer("11_1261019350.97388")
     .param pmc param_375
 .annotate "line", 151
     new $P374, 'ExceptionHandler'
@@ -5419,7 +5419,7 @@
 
 
 .namespace ["HLL";"Actions"]
-.sub "quote_escape:sym<stopper>"  :subid("34_1260829301.67623") :method :outer("11_1260829301.67623")
+.sub "quote_escape:sym<stopper>"  :subid("34_1261019350.97388") :method :outer("11_1261019350.97388")
     .param pmc param_382
 .annotate "line", 152
     new $P381, 'ExceptionHandler'
@@ -5449,7 +5449,7 @@
 
 
 .namespace ["HLL";"Actions"]
-.sub "quote_escape:sym<bs>"  :subid("35_1260829301.67623") :method :outer("11_1260829301.67623")
+.sub "quote_escape:sym<bs>"  :subid("35_1261019350.97388") :method :outer("11_1261019350.97388")
     .param pmc param_392
 .annotate "line", 154
     new $P391, 'ExceptionHandler'
@@ -5470,7 +5470,7 @@
 
 
 .namespace ["HLL";"Actions"]
-.sub "quote_escape:sym<nl>"  :subid("36_1260829301.67623") :method :outer("11_1260829301.67623")
+.sub "quote_escape:sym<nl>"  :subid("36_1261019350.97388") :method :outer("11_1261019350.97388")
     .param pmc param_399
 .annotate "line", 155
     new $P398, 'ExceptionHandler'
@@ -5491,7 +5491,7 @@
 
 
 .namespace ["HLL";"Actions"]
-.sub "quote_escape:sym<cr>"  :subid("37_1260829301.67623") :method :outer("11_1260829301.67623")
+.sub "quote_escape:sym<cr>"  :subid("37_1261019350.97388") :method :outer("11_1261019350.97388")
     .param pmc param_406
 .annotate "line", 156
     new $P405, 'ExceptionHandler'
@@ -5512,7 +5512,7 @@
 
 
 .namespace ["HLL";"Actions"]
-.sub "quote_escape:sym<tab>"  :subid("38_1260829301.67623") :method :outer("11_1260829301.67623")
+.sub "quote_escape:sym<tab>"  :subid("38_1261019350.97388") :method :outer("11_1261019350.97388")
     .param pmc param_413
 .annotate "line", 157
     new $P412, 'ExceptionHandler'
@@ -5533,7 +5533,7 @@
 
 
 .namespace ["HLL";"Actions"]
-.sub "quote_escape:sym<hex>"  :subid("39_1260829301.67623") :method :outer("11_1260829301.67623")
+.sub "quote_escape:sym<hex>"  :subid("39_1261019350.97388") :method :outer("11_1261019350.97388")
     .param pmc param_420
 .annotate "line", 159
     new $P419, 'ExceptionHandler'
@@ -5591,7 +5591,7 @@
 
 
 .namespace ["HLL";"Actions"]
-.sub "quote_escape:sym<oct>"  :subid("40_1260829301.67623") :method :outer("11_1260829301.67623")
+.sub "quote_escape:sym<oct>"  :subid("40_1261019350.97388") :method :outer("11_1261019350.97388")
     .param pmc param_437
 .annotate "line", 163
     new $P436, 'ExceptionHandler'
@@ -5650,7 +5650,7 @@
 ### .include 'gen/hllcompiler.pir'
 
 .namespace []
-.sub "_block11"  :anon :subid("10_1260829302.72145")
+.sub "_block11"  :anon :subid("10_1261019352.03571")
 .annotate "line", 0
     get_hll_global $P14, ["HLL";"Compiler"], "_block13" 
     capture_lex $P14
@@ -5664,9 +5664,9 @@
 
 
 .namespace []
-.sub "" :load :init :subid("post25") :outer("10_1260829302.72145")
+.sub "" :load :init :subid("post25") :outer("10_1261019352.03571")
 .annotate "line", 0
-    .const 'Sub' $P12 = "10_1260829302.72145" 
+    .const 'Sub' $P12 = "10_1261019352.03571" 
     .local pmc block
     set block, $P12
 .annotate "line", 2
@@ -5680,28 +5680,28 @@
 
 
 .namespace ["HLL";"Compiler"]
-.sub "_block13"  :subid("11_1260829302.72145") :outer("10_1260829302.72145")
+.sub "_block13"  :subid("11_1261019352.03571") :outer("10_1261019352.03571")
 .annotate "line", 6
-    .const 'Sub' $P187 = "20_1260829302.72145" 
+    .const 'Sub' $P187 = "20_1261019352.03571" 
     capture_lex $P187
-    .const 'Sub' $P152 = "18_1260829302.72145" 
+    .const 'Sub' $P152 = "18_1261019352.03571" 
     capture_lex $P152
-    .const 'Sub' $P137 = "17_1260829302.72145" 
+    .const 'Sub' $P137 = "17_1261019352.03571" 
     capture_lex $P137
-    .const 'Sub' $P121 = "16_1260829302.72145" 
+    .const 'Sub' $P121 = "16_1261019352.03571" 
     capture_lex $P121
-    .const 'Sub' $P32 = "13_1260829302.72145" 
+    .const 'Sub' $P32 = "13_1261019352.03571" 
     capture_lex $P32
-    .const 'Sub' $P15 = "12_1260829302.72145" 
+    .const 'Sub' $P15 = "12_1261019352.03571" 
     capture_lex $P15
 .annotate "line", 14
-    .const 'Sub' $P15 = "12_1260829302.72145" 
+    .const 'Sub' $P15 = "12_1261019352.03571" 
     capture_lex $P15
     .lex "value_type", $P15
 .annotate "line", 10
     find_lex $P31, "value_type"
 .annotate "line", 69
-    .const 'Sub' $P187 = "20_1260829302.72145" 
+    .const 'Sub' $P187 = "20_1261019352.03571" 
     capture_lex $P187
 .annotate "line", 6
     .return ($P187)
@@ -5709,7 +5709,7 @@
 
 
 .namespace ["HLL";"Compiler"]
-.sub "" :load :init :subid("post26") :outer("11_1260829302.72145")
+.sub "" :load :init :subid("post26") :outer("11_1261019352.03571")
 .annotate "line", 6
     get_hll_global $P14, ["HLL";"Compiler"], "_block13" 
     .local pmc block
@@ -5721,7 +5721,7 @@
 
 
 .namespace ["HLL";"Compiler"]
-.sub "value_type"  :subid("12_1260829302.72145") :outer("11_1260829302.72145")
+.sub "value_type"  :subid("12_1261019352.03571") :outer("11_1261019352.03571")
     .param pmc param_18
 .annotate "line", 14
     new $P17, 'ExceptionHandler'
@@ -5765,15 +5765,15 @@
 
 
 .namespace ["HLL";"Compiler"]
-.sub "get_exports"  :subid("13_1260829302.72145") :method :outer("11_1260829302.72145")
+.sub "get_exports"  :subid("13_1261019352.03571") :method :outer("11_1261019352.03571")
     .param pmc param_35
     .param pmc param_38 :slurpy
     .param pmc param_36 :optional :named("tagset")
     .param int has_param_36 :opt_flag
 .annotate "line", 20
-    .const 'Sub' $P104 = "15_1260829302.72145" 
+    .const 'Sub' $P104 = "15_1261019352.03571" 
     capture_lex $P104
-    .const 'Sub' $P83 = "14_1260829302.72145" 
+    .const 'Sub' $P83 = "14_1261019352.03571" 
     capture_lex $P83
     new $P34, 'ExceptionHandler'
     set_addr $P34, control_33
@@ -5879,7 +5879,7 @@
     unless $P99, loop116_done
     shift $P102, $P99
   loop116_redo:
-    .const 'Sub' $P104 = "15_1260829302.72145" 
+    .const 'Sub' $P104 = "15_1261019352.03571" 
     capture_lex $P104
     $P104($P102)
   loop116_next:
@@ -5909,7 +5909,7 @@
     unless $P78, loop96_done
     shift $P81, $P78
   loop96_redo:
-    .const 'Sub' $P83 = "14_1260829302.72145" 
+    .const 'Sub' $P83 = "14_1261019352.03571" 
     capture_lex $P83
     $P83($P81)
   loop96_next:
@@ -5937,7 +5937,7 @@
 
 
 .namespace ["HLL";"Compiler"]
-.sub "_block103"  :anon :subid("15_1260829302.72145") :outer("13_1260829302.72145")
+.sub "_block103"  :anon :subid("15_1261019352.03571") :outer("13_1261019352.03571")
     .param pmc param_106
 .annotate "line", 40
     new $P105, "Undef"
@@ -5969,7 +5969,7 @@
 
 
 .namespace ["HLL";"Compiler"]
-.sub "_block82"  :anon :subid("14_1260829302.72145") :outer("13_1260829302.72145")
+.sub "_block82"  :anon :subid("14_1261019352.03571") :outer("13_1261019352.03571")
     .param pmc param_85
 .annotate "line", 34
     new $P84, "Undef"
@@ -6008,7 +6008,7 @@
 
 
 .namespace ["HLL";"Compiler"]
-.sub "get_module"  :subid("16_1260829302.72145") :method :outer("11_1260829302.72145")
+.sub "get_module"  :subid("16_1261019352.03571") :method :outer("11_1261019352.03571")
     .param pmc param_124
 .annotate "line", 47
     new $P123, 'ExceptionHandler'
@@ -6048,7 +6048,7 @@
 
 
 .namespace ["HLL";"Compiler"]
-.sub "language"  :subid("17_1260829302.72145") :method :outer("11_1260829302.72145")
+.sub "language"  :subid("17_1261019352.03571") :method :outer("11_1261019352.03571")
     .param pmc param_140 :optional
     .param int has_param_140 :opt_flag
 .annotate "line", 53
@@ -6092,10 +6092,10 @@
 
 
 .namespace ["HLL";"Compiler"]
-.sub "load_module"  :subid("18_1260829302.72145") :method :outer("11_1260829302.72145")
+.sub "load_module"  :subid("18_1261019352.03571") :method :outer("11_1261019352.03571")
     .param pmc param_155
 .annotate "line", 61
-    .const 'Sub' $P165 = "19_1260829302.72145" 
+    .const 'Sub' $P165 = "19_1261019352.03571" 
     capture_lex $P165
     new $P154, 'ExceptionHandler'
     set_addr $P154, control_153
@@ -6122,7 +6122,7 @@
     assign $P163, 0
     store_lex "$loaded", $P163
 .annotate "line", 64
-    .const 'Sub' $P165 = "19_1260829302.72145" 
+    .const 'Sub' $P165 = "19_1261019352.03571" 
     capture_lex $P165
     $P165()
 .annotate "line", 65
@@ -6151,7 +6151,7 @@
 
 
 .namespace ["HLL";"Compiler"]
-.sub "_block164"  :anon :subid("19_1260829302.72145") :outer("18_1260829302.72145")
+.sub "_block164"  :anon :subid("19_1261019352.03571") :outer("18_1261019352.03571")
 .annotate "line", 64
     new $P172, 'ExceptionHandler'
     set_addr $P172, control_171
@@ -6184,11 +6184,11 @@
 
 
 .namespace ["HLL";"Compiler"]
-.sub "import"  :subid("20_1260829302.72145") :method :outer("11_1260829302.72145")
+.sub "import"  :subid("20_1261019352.03571") :method :outer("11_1261019352.03571")
     .param pmc param_190
     .param pmc param_191
 .annotate "line", 69
-    .const 'Sub' $P197 = "21_1260829302.72145" 
+    .const 'Sub' $P197 = "21_1261019352.03571" 
     capture_lex $P197
     new $P189, 'ExceptionHandler'
     set_addr $P189, control_188
@@ -6210,7 +6210,7 @@
     unless $P192, loop278_done
     shift $P195, $P192
   loop278_redo:
-    .const 'Sub' $P197 = "21_1260829302.72145" 
+    .const 'Sub' $P197 = "21_1261019352.03571" 
     capture_lex $P197
     $P197($P195)
   loop278_next:
@@ -6235,14 +6235,14 @@
 
 
 .namespace ["HLL";"Compiler"]
-.sub "_block196"  :anon :subid("21_1260829302.72145") :outer("20_1260829302.72145")
+.sub "_block196"  :anon :subid("21_1261019352.03571") :outer("20_1261019352.03571")
     .param pmc param_200
 .annotate "line", 70
-    .const 'Sub' $P267 = "24_1260829302.72145" 
+    .const 'Sub' $P267 = "24_1261019352.03571" 
     capture_lex $P267
-    .const 'Sub' $P247 = "23_1260829302.72145" 
+    .const 'Sub' $P247 = "23_1261019352.03571" 
     capture_lex $P247
-    .const 'Sub' $P218 = "22_1260829302.72145" 
+    .const 'Sub' $P218 = "22_1261019352.03571" 
     capture_lex $P218
 .annotate "line", 71
     new $P198, "Undef"
@@ -6290,7 +6290,7 @@
     unless $P262, loop275_done
     shift $P265, $P262
   loop275_redo:
-    .const 'Sub' $P267 = "24_1260829302.72145" 
+    .const 'Sub' $P267 = "24_1261019352.03571" 
     capture_lex $P267
     $P267($P265)
   loop275_next:
@@ -6322,7 +6322,7 @@
     unless $P242, loop259_done
     shift $P245, $P242
   loop259_redo:
-    .const 'Sub' $P247 = "23_1260829302.72145" 
+    .const 'Sub' $P247 = "23_1261019352.03571" 
     capture_lex $P247
     $P247($P245)
   loop259_next:
@@ -6356,7 +6356,7 @@
     unless $P213, loop231_done
     shift $P216, $P213
   loop231_redo:
-    .const 'Sub' $P218 = "22_1260829302.72145" 
+    .const 'Sub' $P218 = "22_1261019352.03571" 
     capture_lex $P218
     $P218($P216)
   loop231_next:
@@ -6379,7 +6379,7 @@
 
 
 .namespace ["HLL";"Compiler"]
-.sub "_block266"  :anon :subid("24_1260829302.72145") :outer("21_1260829302.72145")
+.sub "_block266"  :anon :subid("24_1261019352.03571") :outer("21_1261019352.03571")
     .param pmc param_268
 .annotate "line", 80
     .lex "$_", param_268
@@ -6399,7 +6399,7 @@
 
 
 .namespace ["HLL";"Compiler"]
-.sub "_block246"  :anon :subid("23_1260829302.72145") :outer("21_1260829302.72145")
+.sub "_block246"  :anon :subid("23_1261019352.03571") :outer("21_1261019352.03571")
     .param pmc param_248
 .annotate "line", 77
     .lex "$_", param_248
@@ -6419,7 +6419,7 @@
 
 
 .namespace ["HLL";"Compiler"]
-.sub "_block217"  :anon :subid("22_1260829302.72145") :outer("21_1260829302.72145")
+.sub "_block217"  :anon :subid("22_1261019352.03571") :outer("21_1261019352.03571")
     .param pmc param_219
 .annotate "line", 74
     .lex "$_", param_219

Modified: trunk/ext/nqp-rx/src/stage0/NQP-s0.pir
==============================================================================
--- trunk/ext/nqp-rx/src/stage0/NQP-s0.pir	Wed Dec 16 21:25:32 2009	(r43115)
+++ trunk/ext/nqp-rx/src/stage0/NQP-s0.pir	Thu Dec 17 03:23:56 2009	(r43116)
@@ -15,383 +15,387 @@
 ### .include 'gen/nqp-grammar.pir'
 
 .namespace []
-.sub "_block11"  :anon :subid("10_1260829317.63188")
+.sub "_block11"  :anon :subid("10_1261019367.36172")
 .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
-    $P1277 = $P14()
+    $P1291 = $P14()
 .annotate "line", 1
-    .return ($P1277)
+    .return ($P1291)
 .end
 
 
 .namespace []
-.sub "" :load :init :subid("post327") :outer("10_1260829317.63188")
+.sub "" :load :init :subid("post331") :outer("10_1261019367.36172")
 .annotate "line", 0
-    .const 'Sub' $P12 = "10_1260829317.63188" 
+    .const 'Sub' $P12 = "10_1261019367.36172" 
     .local pmc block
     set block, $P12
-    $P1278 = get_root_global ["parrot"], "P6metaclass"
-    $P1278."new_class"("NQP::Grammar", "HLL::Grammar" :named("parent"))
+    $P1292 = get_root_global ["parrot"], "P6metaclass"
+    $P1292."new_class"("NQP::Grammar", "HLL::Grammar" :named("parent"))
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "_block13"  :subid("11_1260829317.63188") :outer("10_1260829317.63188")
+.sub "_block13"  :subid("11_1261019367.36172") :outer("10_1261019367.36172")
 .annotate "line", 4
-    get_hll_global $P1221, ["NQP";"Regex"], "_block1220" 
+    get_hll_global $P1235, ["NQP";"Regex"], "_block1234" 
+    capture_lex $P1235
+    .const 'Sub' $P1221 = "317_1261019367.36172" 
     capture_lex $P1221
-    .const 'Sub' $P1207 = "313_1260829317.63188" 
-    capture_lex $P1207
-    .const 'Sub' $P1201 = "311_1260829317.63188" 
-    capture_lex $P1201
-    .const 'Sub' $P1195 = "309_1260829317.63188" 
+    .const 'Sub' $P1215 = "315_1261019367.36172" 
+    capture_lex $P1215
+    .const 'Sub' $P1209 = "313_1261019367.36172" 
+    capture_lex $P1209
+    .const 'Sub' $P1202 = "311_1261019367.36172" 
+    capture_lex $P1202
+    .const 'Sub' $P1195 = "309_1261019367.36172" 
     capture_lex $P1195
-    .const 'Sub' $P1188 = "307_1260829317.63188" 
+    .const 'Sub' $P1188 = "307_1261019367.36172" 
     capture_lex $P1188
-    .const 'Sub' $P1181 = "305_1260829317.63188" 
+    .const 'Sub' $P1181 = "305_1261019367.36172" 
     capture_lex $P1181
-    .const 'Sub' $P1174 = "303_1260829317.63188" 
-    capture_lex $P1174
-    .const 'Sub' $P1167 = "301_1260829317.63188" 
-    capture_lex $P1167
-    .const 'Sub' $P1161 = "299_1260829317.63188" 
+    .const 'Sub' $P1175 = "303_1261019367.36172" 
+    capture_lex $P1175
+    .const 'Sub' $P1168 = "301_1261019367.36172" 
+    capture_lex $P1168
+    .const 'Sub' $P1161 = "299_1261019367.36172" 
     capture_lex $P1161
-    .const 'Sub' $P1154 = "297_1260829317.63188" 
+    .const 'Sub' $P1154 = "297_1261019367.36172" 
     capture_lex $P1154
-    .const 'Sub' $P1147 = "295_1260829317.63188" 
+    .const 'Sub' $P1147 = "295_1261019367.36172" 
     capture_lex $P1147
-    .const 'Sub' $P1140 = "293_1260829317.63188" 
+    .const 'Sub' $P1140 = "293_1261019367.36172" 
     capture_lex $P1140
-    .const 'Sub' $P1133 = "291_1260829317.63188" 
+    .const 'Sub' $P1133 = "291_1261019367.36172" 
     capture_lex $P1133
-    .const 'Sub' $P1126 = "289_1260829317.63188" 
+    .const 'Sub' $P1126 = "289_1261019367.36172" 
     capture_lex $P1126
-    .const 'Sub' $P1119 = "287_1260829317.63188" 
+    .const 'Sub' $P1119 = "287_1261019367.36172" 
     capture_lex $P1119
-    .const 'Sub' $P1112 = "285_1260829317.63188" 
+    .const 'Sub' $P1112 = "285_1261019367.36172" 
     capture_lex $P1112
-    .const 'Sub' $P1105 = "283_1260829317.63188" 
+    .const 'Sub' $P1105 = "283_1261019367.36172" 
     capture_lex $P1105
-    .const 'Sub' $P1098 = "281_1260829317.63188" 
+    .const 'Sub' $P1098 = "281_1261019367.36172" 
     capture_lex $P1098
-    .const 'Sub' $P1091 = "279_1260829317.63188" 
+    .const 'Sub' $P1091 = "279_1261019367.36172" 
     capture_lex $P1091
-    .const 'Sub' $P1084 = "277_1260829317.63188" 
+    .const 'Sub' $P1084 = "277_1261019367.36172" 
     capture_lex $P1084
-    .const 'Sub' $P1077 = "275_1260829317.63188" 
+    .const 'Sub' $P1077 = "275_1261019367.36172" 
     capture_lex $P1077
-    .const 'Sub' $P1070 = "273_1260829317.63188" 
+    .const 'Sub' $P1070 = "273_1261019367.36172" 
     capture_lex $P1070
-    .const 'Sub' $P1063 = "271_1260829317.63188" 
+    .const 'Sub' $P1063 = "271_1261019367.36172" 
     capture_lex $P1063
-    .const 'Sub' $P1056 = "269_1260829317.63188" 
+    .const 'Sub' $P1056 = "269_1261019367.36172" 
     capture_lex $P1056
-    .const 'Sub' $P1049 = "267_1260829317.63188" 
+    .const 'Sub' $P1049 = "267_1261019367.36172" 
     capture_lex $P1049
-    .const 'Sub' $P1042 = "265_1260829317.63188" 
+    .const 'Sub' $P1042 = "265_1261019367.36172" 
     capture_lex $P1042
-    .const 'Sub' $P1035 = "263_1260829317.63188" 
+    .const 'Sub' $P1035 = "263_1261019367.36172" 
     capture_lex $P1035
-    .const 'Sub' $P1028 = "261_1260829317.63188" 
+    .const 'Sub' $P1028 = "261_1261019367.36172" 
     capture_lex $P1028
-    .const 'Sub' $P1021 = "259_1260829317.63188" 
+    .const 'Sub' $P1021 = "259_1261019367.36172" 
     capture_lex $P1021
-    .const 'Sub' $P1014 = "257_1260829317.63188" 
+    .const 'Sub' $P1014 = "257_1261019367.36172" 
     capture_lex $P1014
-    .const 'Sub' $P1007 = "255_1260829317.63188" 
+    .const 'Sub' $P1007 = "255_1261019367.36172" 
     capture_lex $P1007
-    .const 'Sub' $P1000 = "253_1260829317.63188" 
+    .const 'Sub' $P1000 = "253_1261019367.36172" 
     capture_lex $P1000
-    .const 'Sub' $P993 = "251_1260829317.63188" 
+    .const 'Sub' $P993 = "251_1261019367.36172" 
     capture_lex $P993
-    .const 'Sub' $P986 = "249_1260829317.63188" 
-    capture_lex $P986
-    .const 'Sub' $P979 = "247_1260829317.63188" 
-    capture_lex $P979
-    .const 'Sub' $P973 = "245_1260829317.63188" 
+    .const 'Sub' $P987 = "249_1261019367.36172" 
+    capture_lex $P987
+    .const 'Sub' $P980 = "247_1261019367.36172" 
+    capture_lex $P980
+    .const 'Sub' $P973 = "245_1261019367.36172" 
     capture_lex $P973
-    .const 'Sub' $P966 = "243_1260829317.63188" 
+    .const 'Sub' $P966 = "243_1261019367.36172" 
     capture_lex $P966
-    .const 'Sub' $P959 = "241_1260829317.63188" 
+    .const 'Sub' $P959 = "241_1261019367.36172" 
     capture_lex $P959
-    .const 'Sub' $P952 = "239_1260829317.63188" 
+    .const 'Sub' $P952 = "239_1261019367.36172" 
     capture_lex $P952
-    .const 'Sub' $P945 = "237_1260829317.63188" 
+    .const 'Sub' $P945 = "237_1261019367.36172" 
     capture_lex $P945
-    .const 'Sub' $P938 = "235_1260829317.63188" 
+    .const 'Sub' $P938 = "235_1261019367.36172" 
     capture_lex $P938
-    .const 'Sub' $P931 = "233_1260829317.63188" 
-    capture_lex $P931
-    .const 'Sub' $P924 = "231_1260829317.63188" 
-    capture_lex $P924
-    .const 'Sub' $P918 = "229_1260829317.63188" 
-    capture_lex $P918
-    .const 'Sub' $P912 = "227_1260829317.63188" 
-    capture_lex $P912
-    .const 'Sub' $P907 = "225_1260829317.63188" 
-    capture_lex $P907
-    .const 'Sub' $P901 = "223_1260829317.63188" 
-    capture_lex $P901
-    .const 'Sub' $P895 = "221_1260829317.63188" 
-    capture_lex $P895
-    .const 'Sub' $P890 = "219_1260829317.63188" 
-    capture_lex $P890
-    .const 'Sub' $P885 = "217_1260829317.63188" 
-    capture_lex $P885
-    .const 'Sub' $P878 = "215_1260829317.63188" 
-    capture_lex $P878
-    .const 'Sub' $P870 = "213_1260829317.63188" 
-    capture_lex $P870
-    .const 'Sub' $P865 = "211_1260829317.63188" 
-    capture_lex $P865
-    .const 'Sub' $P860 = "209_1260829317.63188" 
-    capture_lex $P860
-    .const 'Sub' $P855 = "207_1260829317.63188" 
-    capture_lex $P855
-    .const 'Sub' $P847 = "205_1260829317.63188" 
-    capture_lex $P847
-    .const 'Sub' $P839 = "203_1260829317.63188" 
-    capture_lex $P839
-    .const 'Sub' $P834 = "201_1260829317.63188" 
-    capture_lex $P834
-    .const 'Sub' $P829 = "199_1260829317.63188" 
-    capture_lex $P829
-    .const 'Sub' $P823 = "197_1260829317.63188" 
-    capture_lex $P823
-    .const 'Sub' $P817 = "195_1260829317.63188" 
-    capture_lex $P817
-    .const 'Sub' $P811 = "193_1260829317.63188" 
-    capture_lex $P811
-    .const 'Sub' $P805 = "191_1260829317.63188" 
-    capture_lex $P805
-    .const 'Sub' $P799 = "189_1260829317.63188" 
-    capture_lex $P799
-    .const 'Sub' $P794 = "187_1260829317.63188" 
-    capture_lex $P794
-    .const 'Sub' $P789 = "185_1260829317.63188" 
-    capture_lex $P789
-    .const 'Sub' $P776 = "181_1260829317.63188" 
+    .const 'Sub' $P932 = "233_1261019367.36172" 
+    capture_lex $P932
+    .const 'Sub' $P926 = "231_1261019367.36172" 
+    capture_lex $P926
+    .const 'Sub' $P921 = "229_1261019367.36172" 
+    capture_lex $P921
+    .const 'Sub' $P915 = "227_1261019367.36172" 
+    capture_lex $P915
+    .const 'Sub' $P909 = "225_1261019367.36172" 
+    capture_lex $P909
+    .const 'Sub' $P904 = "223_1261019367.36172" 
+    capture_lex $P904
+    .const 'Sub' $P899 = "221_1261019367.36172" 
+    capture_lex $P899
+    .const 'Sub' $P892 = "219_1261019367.36172" 
+    capture_lex $P892
+    .const 'Sub' $P884 = "217_1261019367.36172" 
+    capture_lex $P884
+    .const 'Sub' $P879 = "215_1261019367.36172" 
+    capture_lex $P879
+    .const 'Sub' $P874 = "213_1261019367.36172" 
+    capture_lex $P874
+    .const 'Sub' $P869 = "211_1261019367.36172" 
+    capture_lex $P869
+    .const 'Sub' $P861 = "209_1261019367.36172" 
+    capture_lex $P861
+    .const 'Sub' $P853 = "207_1261019367.36172" 
+    capture_lex $P853
+    .const 'Sub' $P848 = "205_1261019367.36172" 
+    capture_lex $P848
+    .const 'Sub' $P843 = "203_1261019367.36172" 
+    capture_lex $P843
+    .const 'Sub' $P837 = "201_1261019367.36172" 
+    capture_lex $P837
+    .const 'Sub' $P831 = "199_1261019367.36172" 
+    capture_lex $P831
+    .const 'Sub' $P825 = "197_1261019367.36172" 
+    capture_lex $P825
+    .const 'Sub' $P819 = "195_1261019367.36172" 
+    capture_lex $P819
+    .const 'Sub' $P813 = "193_1261019367.36172" 
+    capture_lex $P813
+    .const 'Sub' $P808 = "191_1261019367.36172" 
+    capture_lex $P808
+    .const 'Sub' $P803 = "189_1261019367.36172" 
+    capture_lex $P803
+    .const 'Sub' $P790 = "185_1261019367.36172" 
+    capture_lex $P790
+    .const 'Sub' $P782 = "183_1261019367.36172" 
+    capture_lex $P782
+    .const 'Sub' $P776 = "181_1261019367.36172" 
     capture_lex $P776
-    .const 'Sub' $P768 = "179_1260829317.63188" 
-    capture_lex $P768
-    .const 'Sub' $P762 = "177_1260829317.63188" 
-    capture_lex $P762
-    .const 'Sub' $P755 = "175_1260829317.63188" 
+    .const 'Sub' $P769 = "179_1261019367.36172" 
+    capture_lex $P769
+    .const 'Sub' $P763 = "177_1261019367.36172" 
+    capture_lex $P763
+    .const 'Sub' $P755 = "175_1261019367.36172" 
     capture_lex $P755
-    .const 'Sub' $P749 = "173_1260829317.63188" 
-    capture_lex $P749
-    .const 'Sub' $P741 = "171_1260829317.63188" 
+    .const 'Sub' $P747 = "173_1261019367.36172" 
+    capture_lex $P747
+    .const 'Sub' $P741 = "171_1261019367.36172" 
     capture_lex $P741
-    .const 'Sub' $P733 = "169_1260829317.63188" 
-    capture_lex $P733
-    .const 'Sub' $P727 = "167_1260829317.63188" 
-    capture_lex $P727
-    .const 'Sub' $P721 = "165_1260829317.63188" 
-    capture_lex $P721
-    .const 'Sub' $P706 = "161_1260829317.63188" 
-    capture_lex $P706
-    .const 'Sub' $P674 = "159_1260829317.63188" 
+    .const 'Sub' $P735 = "169_1261019367.36172" 
+    capture_lex $P735
+    .const 'Sub' $P720 = "165_1261019367.36172" 
+    capture_lex $P720
+    .const 'Sub' $P688 = "163_1261019367.36172" 
+    capture_lex $P688
+    .const 'Sub' $P680 = "161_1261019367.36172" 
+    capture_lex $P680
+    .const 'Sub' $P674 = "159_1261019367.36172" 
     capture_lex $P674
-    .const 'Sub' $P666 = "157_1260829317.63188" 
-    capture_lex $P666
-    .const 'Sub' $P660 = "155_1260829317.63188" 
-    capture_lex $P660
-    .const 'Sub' $P650 = "153_1260829317.63188" 
-    capture_lex $P650
-    .const 'Sub' $P635 = "151_1260829317.63188" 
-    capture_lex $P635
-    .const 'Sub' $P626 = "149_1260829317.63188" 
-    capture_lex $P626
-    .const 'Sub' $P607 = "147_1260829317.63188" 
-    capture_lex $P607
-    .const 'Sub' $P583 = "145_1260829317.63188" 
+    .const 'Sub' $P664 = "157_1261019367.36172" 
+    capture_lex $P664
+    .const 'Sub' $P649 = "155_1261019367.36172" 
+    capture_lex $P649
+    .const 'Sub' $P640 = "153_1261019367.36172" 
+    capture_lex $P640
+    .const 'Sub' $P621 = "151_1261019367.36172" 
+    capture_lex $P621
+    .const 'Sub' $P597 = "149_1261019367.36172" 
+    capture_lex $P597
+    .const 'Sub' $P590 = "147_1261019367.36172" 
+    capture_lex $P590
+    .const 'Sub' $P583 = "145_1261019367.36172" 
     capture_lex $P583
-    .const 'Sub' $P576 = "143_1260829317.63188" 
-    capture_lex $P576
-    .const 'Sub' $P569 = "141_1260829317.63188" 
-    capture_lex $P569
-    .const 'Sub' $P559 = "137_1260829317.63188" 
-    capture_lex $P559
-    .const 'Sub' $P548 = "135_1260829317.63188" 
+    .const 'Sub' $P573 = "141_1261019367.36172" 
+    capture_lex $P573
+    .const 'Sub' $P562 = "139_1261019367.36172" 
+    capture_lex $P562
+    .const 'Sub' $P555 = "137_1261019367.36172" 
+    capture_lex $P555
+    .const 'Sub' $P548 = "135_1261019367.36172" 
     capture_lex $P548
-    .const 'Sub' $P541 = "133_1260829317.63188" 
+    .const 'Sub' $P541 = "133_1261019367.36172" 
     capture_lex $P541
-    .const 'Sub' $P534 = "131_1260829317.63188" 
-    capture_lex $P534
-    .const 'Sub' $P527 = "129_1260829317.63188" 
-    capture_lex $P527
-    .const 'Sub' $P500 = "125_1260829317.63188" 
-    capture_lex $P500
-    .const 'Sub' $P491 = "123_1260829317.63188" 
-    capture_lex $P491
-    .const 'Sub' $P484 = "121_1260829317.63188" 
+    .const 'Sub' $P514 = "129_1261019367.36172" 
+    capture_lex $P514
+    .const 'Sub' $P505 = "127_1261019367.36172" 
+    capture_lex $P505
+    .const 'Sub' $P498 = "125_1261019367.36172" 
+    capture_lex $P498
+    .const 'Sub' $P489 = "121_1261019367.36172" 
+    capture_lex $P489
+    .const 'Sub' $P484 = "119_1261019367.36172" 
     capture_lex $P484
-    .const 'Sub' $P475 = "117_1260829317.63188" 
-    capture_lex $P475
-    .const 'Sub' $P470 = "115_1260829317.63188" 
-    capture_lex $P470
-    .const 'Sub' $P458 = "113_1260829317.63188" 
-    capture_lex $P458
-    .const 'Sub' $P446 = "111_1260829317.63188" 
-    capture_lex $P446
-    .const 'Sub' $P441 = "109_1260829317.63188" 
+    .const 'Sub' $P472 = "117_1261019367.36172" 
+    capture_lex $P472
+    .const 'Sub' $P460 = "115_1261019367.36172" 
+    capture_lex $P460
+    .const 'Sub' $P452 = "113_1261019367.36172" 
+    capture_lex $P452
+    .const 'Sub' $P447 = "111_1261019367.36172" 
+    capture_lex $P447
+    .const 'Sub' $P441 = "109_1261019367.36172" 
     capture_lex $P441
-    .const 'Sub' $P435 = "107_1260829317.63188" 
+    .const 'Sub' $P435 = "107_1261019367.36172" 
     capture_lex $P435
-    .const 'Sub' $P429 = "105_1260829317.63188" 
+    .const 'Sub' $P429 = "105_1261019367.36172" 
     capture_lex $P429
-    .const 'Sub' $P423 = "103_1260829317.63188" 
+    .const 'Sub' $P423 = "103_1261019367.36172" 
     capture_lex $P423
-    .const 'Sub' $P417 = "101_1260829317.63188" 
+    .const 'Sub' $P417 = "101_1261019367.36172" 
     capture_lex $P417
-    .const 'Sub' $P411 = "99_1260829317.63188" 
+    .const 'Sub' $P411 = "99_1261019367.36172" 
     capture_lex $P411
-    .const 'Sub' $P405 = "97_1260829317.63188" 
+    .const 'Sub' $P405 = "97_1261019367.36172" 
     capture_lex $P405
-    .const 'Sub' $P399 = "95_1260829317.63188" 
+    .const 'Sub' $P399 = "95_1261019367.36172" 
     capture_lex $P399
-    .const 'Sub' $P391 = "93_1260829317.63188" 
+    .const 'Sub' $P391 = "93_1261019367.36172" 
     capture_lex $P391
-    .const 'Sub' $P383 = "91_1260829317.63188" 
+    .const 'Sub' $P383 = "91_1261019367.36172" 
     capture_lex $P383
-    .const 'Sub' $P371 = "87_1260829317.63188" 
+    .const 'Sub' $P371 = "87_1261019367.36172" 
     capture_lex $P371
-    .const 'Sub' $P363 = "85_1260829317.63188" 
+    .const 'Sub' $P363 = "85_1261019367.36172" 
     capture_lex $P363
-    .const 'Sub' $P353 = "81_1260829317.63188" 
+    .const 'Sub' $P353 = "81_1261019367.36172" 
     capture_lex $P353
-    .const 'Sub' $P346 = "79_1260829317.63188" 
+    .const 'Sub' $P346 = "79_1261019367.36172" 
     capture_lex $P346
-    .const 'Sub' $P339 = "77_1260829317.63188" 
+    .const 'Sub' $P339 = "77_1261019367.36172" 
     capture_lex $P339
-    .const 'Sub' $P327 = "73_1260829317.63188" 
+    .const 'Sub' $P327 = "73_1261019367.36172" 
     capture_lex $P327
-    .const 'Sub' $P319 = "71_1260829317.63188" 
+    .const 'Sub' $P319 = "71_1261019367.36172" 
     capture_lex $P319
-    .const 'Sub' $P311 = "69_1260829317.63188" 
+    .const 'Sub' $P311 = "69_1261019367.36172" 
     capture_lex $P311
-    .const 'Sub' $P291 = "67_1260829317.63188" 
+    .const 'Sub' $P291 = "67_1261019367.36172" 
     capture_lex $P291
-    .const 'Sub' $P282 = "65_1260829317.63188" 
+    .const 'Sub' $P282 = "65_1261019367.36172" 
     capture_lex $P282
-    .const 'Sub' $P264 = "62_1260829317.63188" 
+    .const 'Sub' $P264 = "62_1261019367.36172" 
     capture_lex $P264
-    .const 'Sub' $P244 = "60_1260829317.63188" 
+    .const 'Sub' $P244 = "60_1261019367.36172" 
     capture_lex $P244
-    .const 'Sub' $P235 = "56_1260829317.63188" 
+    .const 'Sub' $P235 = "56_1261019367.36172" 
     capture_lex $P235
-    .const 'Sub' $P230 = "54_1260829317.63188" 
+    .const 'Sub' $P230 = "54_1261019367.36172" 
     capture_lex $P230
-    .const 'Sub' $P221 = "50_1260829317.63188" 
+    .const 'Sub' $P221 = "50_1261019367.36172" 
     capture_lex $P221
-    .const 'Sub' $P216 = "48_1260829317.63188" 
+    .const 'Sub' $P216 = "48_1261019367.36172" 
     capture_lex $P216
-    .const 'Sub' $P208 = "46_1260829317.63188" 
+    .const 'Sub' $P208 = "46_1261019367.36172" 
     capture_lex $P208
-    .const 'Sub' $P201 = "44_1260829317.63188" 
+    .const 'Sub' $P201 = "44_1261019367.36172" 
     capture_lex $P201
-    .const 'Sub' $P195 = "42_1260829317.63188" 
+    .const 'Sub' $P195 = "42_1261019367.36172" 
     capture_lex $P195
-    .const 'Sub' $P187 = "40_1260829317.63188" 
+    .const 'Sub' $P187 = "40_1261019367.36172" 
     capture_lex $P187
-    .const 'Sub' $P181 = "38_1260829317.63188" 
+    .const 'Sub' $P181 = "38_1261019367.36172" 
     capture_lex $P181
-    .const 'Sub' $P175 = "36_1260829317.63188" 
+    .const 'Sub' $P175 = "36_1261019367.36172" 
     capture_lex $P175
-    .const 'Sub' $P159 = "33_1260829317.63188" 
+    .const 'Sub' $P159 = "33_1261019367.36172" 
     capture_lex $P159
-    .const 'Sub' $P146 = "31_1260829317.63188" 
+    .const 'Sub' $P146 = "31_1261019367.36172" 
     capture_lex $P146
-    .const 'Sub' $P139 = "29_1260829317.63188" 
+    .const 'Sub' $P139 = "29_1261019367.36172" 
     capture_lex $P139
-    .const 'Sub' $P96 = "26_1260829317.63188" 
+    .const 'Sub' $P96 = "26_1261019367.36172" 
     capture_lex $P96
-    .const 'Sub' $P78 = "23_1260829317.63188" 
+    .const 'Sub' $P78 = "23_1261019367.36172" 
     capture_lex $P78
-    .const 'Sub' $P68 = "21_1260829317.63188" 
+    .const 'Sub' $P68 = "21_1261019367.36172" 
     capture_lex $P68
-    .const 'Sub' $P54 = "19_1260829317.63188" 
+    .const 'Sub' $P54 = "19_1261019367.36172" 
     capture_lex $P54
-    .const 'Sub' $P46 = "17_1260829317.63188" 
+    .const 'Sub' $P46 = "17_1261019367.36172" 
     capture_lex $P46
-    .const 'Sub' $P39 = "15_1260829317.63188" 
+    .const 'Sub' $P39 = "15_1261019367.36172" 
     capture_lex $P39
-    .const 'Sub' $P33 = "13_1260829317.63188" 
+    .const 'Sub' $P33 = "13_1261019367.36172" 
     capture_lex $P33
-    .const 'Sub' $P15 = "12_1260829317.63188" 
+    .const 'Sub' $P15 = "12_1261019367.36172" 
     capture_lex $P15
-.annotate "line", 522
-    get_hll_global $P1221, ["NQP";"Regex"], "_block1220" 
-    capture_lex $P1221
-    $P1260 = $P1221()
+.annotate "line", 527
+    get_hll_global $P1235, ["NQP";"Regex"], "_block1234" 
+    capture_lex $P1235
+    $P1274 = $P1235()
 .annotate "line", 4
-    .return ($P1260)
+    .return ($P1274)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "" :load :init :subid("post328") :outer("11_1260829317.63188")
+.sub "" :load :init :subid("post332") :outer("11_1261019367.36172")
 .annotate "line", 4
     get_hll_global $P14, ["NQP";"Grammar"], "_block13" 
     .local pmc block
     set block, $P14
-.annotate "line", 409
-    get_hll_global $P1261, ["NQP"], "Grammar"
-    $P1261."O"(":prec<y=>, :assoc<unary>", "%methodop")
-.annotate "line", 410
-    get_hll_global $P1262, ["NQP"], "Grammar"
-    $P1262."O"(":prec<x=>, :assoc<unary>", "%autoincrement")
-.annotate "line", 411
-    get_hll_global $P1263, ["NQP"], "Grammar"
-    $P1263."O"(":prec<w=>, :assoc<left>", "%exponentiation")
-.annotate "line", 412
-    get_hll_global $P1264, ["NQP"], "Grammar"
-    $P1264."O"(":prec<v=>, :assoc<unary>", "%symbolic_unary")
-.annotate "line", 413
-    get_hll_global $P1265, ["NQP"], "Grammar"
-    $P1265."O"(":prec<u=>, :assoc<left>", "%multiplicative")
 .annotate "line", 414
-    get_hll_global $P1266, ["NQP"], "Grammar"
-    $P1266."O"(":prec<t=>, :assoc<left>", "%additive")
+    get_hll_global $P1275, ["NQP"], "Grammar"
+    $P1275."O"(":prec<y=>, :assoc<unary>", "%methodop")
 .annotate "line", 415
-    get_hll_global $P1267, ["NQP"], "Grammar"
-    $P1267."O"(":prec<r=>, :assoc<left>", "%concatenation")
+    get_hll_global $P1276, ["NQP"], "Grammar"
+    $P1276."O"(":prec<x=>, :assoc<unary>", "%autoincrement")
 .annotate "line", 416
-    get_hll_global $P1268, ["NQP"], "Grammar"
-    $P1268."O"(":prec<m=>, :assoc<left>", "%relational")
+    get_hll_global $P1277, ["NQP"], "Grammar"
+    $P1277."O"(":prec<w=>, :assoc<left>", "%exponentiation")
 .annotate "line", 417
-    get_hll_global $P1269, ["NQP"], "Grammar"
-    $P1269."O"(":prec<l=>, :assoc<left>", "%tight_and")
+    get_hll_global $P1278, ["NQP"], "Grammar"
+    $P1278."O"(":prec<v=>, :assoc<unary>", "%symbolic_unary")
 .annotate "line", 418
-    get_hll_global $P1270, ["NQP"], "Grammar"
-    $P1270."O"(":prec<k=>, :assoc<left>", "%tight_or")
+    get_hll_global $P1279, ["NQP"], "Grammar"
+    $P1279."O"(":prec<u=>, :assoc<left>", "%multiplicative")
 .annotate "line", 419
-    get_hll_global $P1271, ["NQP"], "Grammar"
-    $P1271."O"(":prec<j=>, :assoc<right>", "%conditional")
+    get_hll_global $P1280, ["NQP"], "Grammar"
+    $P1280."O"(":prec<t=>, :assoc<left>", "%additive")
 .annotate "line", 420
-    get_hll_global $P1272, ["NQP"], "Grammar"
-    $P1272."O"(":prec<i=>, :assoc<right>", "%assignment")
+    get_hll_global $P1281, ["NQP"], "Grammar"
+    $P1281."O"(":prec<r=>, :assoc<left>", "%concatenation")
 .annotate "line", 421
-    get_hll_global $P1273, ["NQP"], "Grammar"
-    $P1273."O"(":prec<g=>, :assoc<list>, :nextterm<nulltermish>", "%comma")
+    get_hll_global $P1282, ["NQP"], "Grammar"
+    $P1282."O"(":prec<m=>, :assoc<left>", "%relational")
 .annotate "line", 422
-    get_hll_global $P1274, ["NQP"], "Grammar"
-    $P1274."O"(":prec<f=>, :assoc<list>", "%list_infix")
+    get_hll_global $P1283, ["NQP"], "Grammar"
+    $P1283."O"(":prec<l=>, :assoc<left>", "%tight_and")
 .annotate "line", 423
-    get_hll_global $P1275, ["NQP"], "Grammar"
-    $P1275."O"(":prec<e=>, :assoc<unary>", "%list_prefix")
-.annotate "line", 408
-    $P1276 = get_root_global ["parrot"], "P6metaclass"
-    $P1276."new_class"("NQP::Regex", "Regex::P6Regex::Grammar" :named("parent"))
+    get_hll_global $P1284, ["NQP"], "Grammar"
+    $P1284."O"(":prec<k=>, :assoc<left>", "%tight_or")
+.annotate "line", 424
+    get_hll_global $P1285, ["NQP"], "Grammar"
+    $P1285."O"(":prec<j=>, :assoc<right>", "%conditional")
+.annotate "line", 425
+    get_hll_global $P1286, ["NQP"], "Grammar"
+    $P1286."O"(":prec<i=>, :assoc<right>", "%assignment")
+.annotate "line", 426
+    get_hll_global $P1287, ["NQP"], "Grammar"
+    $P1287."O"(":prec<g=>, :assoc<list>, :nextterm<nulltermish>", "%comma")
+.annotate "line", 427
+    get_hll_global $P1288, ["NQP"], "Grammar"
+    $P1288."O"(":prec<f=>, :assoc<list>", "%list_infix")
+.annotate "line", 428
+    get_hll_global $P1289, ["NQP"], "Grammar"
+    $P1289."O"(":prec<e=>, :assoc<unary>", "%list_prefix")
+.annotate "line", 413
+    $P1290 = get_root_global ["parrot"], "P6metaclass"
+    $P1290."new_class"("NQP::Regex", "Regex::P6Regex::Grammar" :named("parent"))
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "TOP"  :subid("12_1260829317.63188") :method :outer("11_1260829317.63188")
+.sub "TOP"  :subid("12_1261019367.36172") :method :outer("11_1261019367.36172")
 .annotate "line", 4
     new $P17, 'ExceptionHandler'
     set_addr $P17, control_16
@@ -406,55 +410,55 @@
     .lex "$*SCOPE", $P19
 .annotate "line", 4
     find_lex $P20, "%*LANG"
-    unless_null $P20, vivify_329
+    unless_null $P20, vivify_333
     get_hll_global $P20, "%LANG"
-    unless_null $P20, vivify_330
+    unless_null $P20, vivify_334
     die "Contextual %*LANG not found"
-  vivify_330:
-  vivify_329:
+  vivify_334:
+  vivify_333:
 .annotate "line", 6
     get_hll_global $P21, ["NQP"], "Regex"
     find_lex $P22, "%*LANG"
-    unless_null $P22, vivify_331
+    unless_null $P22, vivify_335
     get_hll_global $P22, "%LANG"
-    unless_null $P22, vivify_332
+    unless_null $P22, vivify_336
     die "Contextual %*LANG not found"
-  vivify_332:
+  vivify_336:
     store_lex "%*LANG", $P22
-  vivify_331:
+  vivify_335:
     set $P22["Regex"], $P21
 .annotate "line", 7
     get_hll_global $P23, ["NQP"], "RegexActions"
     find_lex $P24, "%*LANG"
-    unless_null $P24, vivify_333
+    unless_null $P24, vivify_337
     get_hll_global $P24, "%LANG"
-    unless_null $P24, vivify_334
+    unless_null $P24, vivify_338
     die "Contextual %*LANG not found"
-  vivify_334:
+  vivify_338:
     store_lex "%*LANG", $P24
-  vivify_333:
+  vivify_337:
     set $P24["Regex-actions"], $P23
 .annotate "line", 8
     get_hll_global $P25, ["NQP"], "Grammar"
     find_lex $P26, "%*LANG"
-    unless_null $P26, vivify_335
+    unless_null $P26, vivify_339
     get_hll_global $P26, "%LANG"
-    unless_null $P26, vivify_336
+    unless_null $P26, vivify_340
     die "Contextual %*LANG not found"
-  vivify_336:
+  vivify_340:
     store_lex "%*LANG", $P26
-  vivify_335:
+  vivify_339:
     set $P26["MAIN"], $P25
 .annotate "line", 9
     get_hll_global $P27, ["NQP"], "Actions"
     find_lex $P28, "%*LANG"
-    unless_null $P28, vivify_337
+    unless_null $P28, vivify_341
     get_hll_global $P28, "%LANG"
-    unless_null $P28, vivify_338
+    unless_null $P28, vivify_342
     die "Contextual %*LANG not found"
-  vivify_338:
+  vivify_342:
     store_lex "%*LANG", $P28
-  vivify_337:
+  vivify_341:
     set $P28["MAIN-actions"], $P27
 .annotate "line", 10
     new $P29, "String"
@@ -474,7 +478,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "identifier"  :subid("13_1260829317.63188") :method :outer("11_1260829317.63188")
+.sub "identifier"  :subid("13_1261019367.36172") :method :outer("11_1261019367.36172")
 .annotate "line", 4
     .local string rx34_tgt
     .local int rx34_pos
@@ -532,7 +536,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__identifier"  :subid("14_1260829317.63188") :method
+.sub "!PREFIX__identifier"  :subid("14_1261019367.36172") :method
 .annotate "line", 4
     $P36 = self."!PREFIX__!subrule"("ident", "")
     new $P37, "ResizablePMCArray"
@@ -542,7 +546,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "name"  :subid("15_1260829317.63188") :method :outer("11_1260829317.63188")
+.sub "name"  :subid("15_1261019367.36172") :method :outer("11_1261019367.36172")
 .annotate "line", 4
     .local string rx40_tgt
     .local int rx40_pos
@@ -616,7 +620,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__name"  :subid("16_1260829317.63188") :method
+.sub "!PREFIX__name"  :subid("16_1261019367.36172") :method
 .annotate "line", 4
     new $P42, "ResizablePMCArray"
     push $P42, ""
@@ -625,7 +629,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "deflongname"  :subid("17_1260829317.63188") :method :outer("11_1260829317.63188")
+.sub "deflongname"  :subid("17_1261019367.36172") :method :outer("11_1261019367.36172")
 .annotate "line", 4
     .local string rx47_tgt
     .local int rx47_pos
@@ -698,7 +702,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__deflongname"  :subid("18_1260829317.63188") :method
+.sub "!PREFIX__deflongname"  :subid("18_1261019367.36172") :method
 .annotate "line", 4
     $P49 = self."!PREFIX__!subrule"("identifier", "")
     new $P50, "ResizablePMCArray"
@@ -708,7 +712,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "ENDSTMT"  :subid("19_1260829317.63188") :method :outer("11_1260829317.63188")
+.sub "ENDSTMT"  :subid("19_1261019367.36172") :method :outer("11_1261019367.36172")
 .annotate "line", 4
     .local string rx55_tgt
     .local int rx55_pos
@@ -840,7 +844,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__ENDSTMT"  :subid("20_1260829317.63188") :method
+.sub "!PREFIX__ENDSTMT"  :subid("20_1261019367.36172") :method
 .annotate "line", 4
     new $P57, "ResizablePMCArray"
     push $P57, ""
@@ -849,7 +853,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "ws"  :subid("21_1260829317.63188") :method :outer("11_1260829317.63188")
+.sub "ws"  :subid("21_1261019367.36172") :method :outer("11_1261019367.36172")
 .annotate "line", 4
     .local string rx69_tgt
     .local int rx69_pos
@@ -975,7 +979,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__ws"  :subid("22_1260829317.63188") :method
+.sub "!PREFIX__ws"  :subid("22_1261019367.36172") :method
 .annotate "line", 4
     new $P71, "ResizablePMCArray"
     push $P71, ""
@@ -985,9 +989,9 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "unv"  :subid("23_1260829317.63188") :method :outer("11_1260829317.63188")
+.sub "unv"  :subid("23_1261019367.36172") :method :outer("11_1261019367.36172")
 .annotate "line", 4
-    .const 'Sub' $P86 = "25_1260829317.63188" 
+    .const 'Sub' $P86 = "25_1261019367.36172" 
     capture_lex $P86
     .local string rx79_tgt
     .local int rx79_pos
@@ -1033,7 +1037,7 @@
   rxanchor84_done:
   # rx subrule "before" subtype=zerowidth negate=
     rx79_cur."!cursor_pos"(rx79_pos)
-    .const 'Sub' $P86 = "25_1260829317.63188" 
+    .const 'Sub' $P86 = "25_1261019367.36172" 
     capture_lex $P86
     $P10 = rx79_cur."before"($P86)
     unless $P10, rx79_fail
@@ -1112,7 +1116,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__unv"  :subid("24_1260829317.63188") :method
+.sub "!PREFIX__unv"  :subid("24_1261019367.36172") :method
 .annotate "line", 4
     new $P81, "ResizablePMCArray"
     push $P81, ""
@@ -1123,7 +1127,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "_block85"  :anon :subid("25_1260829317.63188") :method :outer("23_1260829317.63188")
+.sub "_block85"  :anon :subid("25_1261019367.36172") :method :outer("23_1261019367.36172")
 .annotate "line", 44
     .local string rx87_tgt
     .local int rx87_pos
@@ -1213,9 +1217,9 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "pod_comment"  :subid("26_1260829317.63188") :method :outer("11_1260829317.63188")
+.sub "pod_comment"  :subid("26_1261019367.36172") :method :outer("11_1261019367.36172")
 .annotate "line", 4
-    .const 'Sub' $P131 = "28_1260829317.63188" 
+    .const 'Sub' $P131 = "28_1261019367.36172" 
     capture_lex $P131
     .local string rx97_tgt
     .local int rx97_pos
@@ -1647,7 +1651,7 @@
 .annotate "line", 67
   # rx subrule "before" subtype=zerowidth negate=
     rx97_cur."!cursor_pos"(rx97_pos)
-    .const 'Sub' $P131 = "28_1260829317.63188" 
+    .const 'Sub' $P131 = "28_1261019367.36172" 
     capture_lex $P131
     $P10 = rx97_cur."before"($P131)
     unless $P10, rx97_fail
@@ -1714,7 +1718,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__pod_comment"  :subid("27_1260829317.63188") :method
+.sub "!PREFIX__pod_comment"  :subid("27_1261019367.36172") :method
 .annotate "line", 4
     new $P99, "ResizablePMCArray"
     push $P99, ""
@@ -1723,7 +1727,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "_block130"  :anon :subid("28_1260829317.63188") :method :outer("26_1260829317.63188")
+.sub "_block130"  :anon :subid("28_1261019367.36172") :method :outer("26_1261019367.36172")
 .annotate "line", 67
     .local string rx132_tgt
     .local int rx132_pos
@@ -1806,7 +1810,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "comp_unit"  :subid("29_1260829317.63188") :method :outer("11_1260829317.63188")
+.sub "comp_unit"  :subid("29_1261019367.36172") :method :outer("11_1261019367.36172")
 .annotate "line", 4
     .local string rx140_tgt
     .local int rx140_pos
@@ -1885,7 +1889,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__comp_unit"  :subid("30_1260829317.63188") :method
+.sub "!PREFIX__comp_unit"  :subid("30_1261019367.36172") :method
 .annotate "line", 4
     $P142 = self."!PREFIX__!subrule"("", "")
     new $P143, "ResizablePMCArray"
@@ -1895,7 +1899,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "statementlist"  :subid("31_1260829317.63188") :method :outer("11_1260829317.63188")
+.sub "statementlist"  :subid("31_1261019367.36172") :method :outer("11_1261019367.36172")
 .annotate "line", 4
     .local string rx147_tgt
     .local int rx147_pos
@@ -2003,7 +2007,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__statementlist"  :subid("32_1260829317.63188") :method
+.sub "!PREFIX__statementlist"  :subid("32_1261019367.36172") :method
 .annotate "line", 4
     new $P149, "ResizablePMCArray"
     push $P149, ""
@@ -2013,9 +2017,9 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "statement"  :subid("33_1260829317.63188") :method :outer("11_1260829317.63188")
+.sub "statement"  :subid("33_1261019367.36172") :method :outer("11_1261019367.36172")
 .annotate "line", 4
-    .const 'Sub' $P165 = "35_1260829317.63188" 
+    .const 'Sub' $P165 = "35_1261019367.36172" 
     capture_lex $P165
     .local string rx160_tgt
     .local int rx160_pos
@@ -2025,7 +2029,7 @@
     .local pmc rx160_cur
     (rx160_cur, rx160_pos, rx160_tgt) = self."!cursor_start"()
     rx160_cur."!cursor_debug"("START ", "statement")
-    rx160_cur."!cursor_caparray"("statement_mod_cond", "statement_mod_loop")
+    rx160_cur."!cursor_caparray"("statement_mod_loop", "statement_mod_cond")
     .lex unicode:"$\x{a2}", rx160_cur
     .local pmc match
     .lex "$/", match
@@ -2050,7 +2054,7 @@
 .annotate "line", 89
   # rx subrule "before" subtype=zerowidth negate=1
     rx160_cur."!cursor_pos"(rx160_pos)
-    .const 'Sub' $P165 = "35_1260829317.63188" 
+    .const 'Sub' $P165 = "35_1261019367.36172" 
     capture_lex $P165
     $P10 = rx160_cur."before"($P165)
     if $P10, rx160_fail
@@ -2146,7 +2150,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__statement"  :subid("34_1260829317.63188") :method
+.sub "!PREFIX__statement"  :subid("34_1261019367.36172") :method
 .annotate "line", 4
     new $P162, "ResizablePMCArray"
     push $P162, ""
@@ -2155,7 +2159,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "_block164"  :anon :subid("35_1260829317.63188") :method :outer("33_1260829317.63188")
+.sub "_block164"  :anon :subid("35_1261019367.36172") :method :outer("33_1261019367.36172")
 .annotate "line", 89
     .local string rx166_tgt
     .local int rx166_pos
@@ -2219,7 +2223,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "eat_terminator"  :subid("36_1260829317.63188") :method :outer("11_1260829317.63188")
+.sub "eat_terminator"  :subid("36_1261019367.36172") :method :outer("11_1261019367.36172")
 .annotate "line", 4
     .local string rx176_tgt
     .local int rx176_pos
@@ -2306,7 +2310,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__eat_terminator"  :subid("37_1260829317.63188") :method
+.sub "!PREFIX__eat_terminator"  :subid("37_1261019367.36172") :method
 .annotate "line", 4
     new $P178, "ResizablePMCArray"
     push $P178, ""
@@ -2318,7 +2322,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "xblock"  :subid("38_1260829317.63188") :method :outer("11_1260829317.63188")
+.sub "xblock"  :subid("38_1261019367.36172") :method :outer("11_1261019367.36172")
 .annotate "line", 4
     .local string rx182_tgt
     .local int rx182_pos
@@ -2389,7 +2393,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__xblock"  :subid("39_1260829317.63188") :method
+.sub "!PREFIX__xblock"  :subid("39_1261019367.36172") :method
 .annotate "line", 4
     $P184 = self."!PREFIX__!subrule"("EXPR", "")
     new $P185, "ResizablePMCArray"
@@ -2399,7 +2403,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "pblock"  :subid("40_1260829317.63188") :method :outer("11_1260829317.63188")
+.sub "pblock"  :subid("40_1261019367.36172") :method :outer("11_1261019367.36172")
 .annotate "line", 4
     .local string rx188_tgt
     .local int rx188_pos
@@ -2518,7 +2522,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__pblock"  :subid("41_1260829317.63188") :method
+.sub "!PREFIX__pblock"  :subid("41_1261019367.36172") :method
 .annotate "line", 4
     $P190 = self."!PREFIX__!subrule"("", "")
     $P191 = self."!PREFIX__!subrule"("", "")
@@ -2531,7 +2535,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "lambda"  :subid("42_1260829317.63188") :method :outer("11_1260829317.63188")
+.sub "lambda"  :subid("42_1261019367.36172") :method :outer("11_1261019367.36172")
 .annotate "line", 4
     .local string rx196_tgt
     .local int rx196_pos
@@ -2602,7 +2606,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__lambda"  :subid("43_1260829317.63188") :method
+.sub "!PREFIX__lambda"  :subid("43_1261019367.36172") :method
 .annotate "line", 4
     new $P198, "ResizablePMCArray"
     push $P198, "<->"
@@ -2612,7 +2616,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "block"  :subid("44_1260829317.63188") :method :outer("11_1260829317.63188")
+.sub "block"  :subid("44_1261019367.36172") :method :outer("11_1261019367.36172")
 .annotate "line", 4
     .local string rx202_tgt
     .local int rx202_pos
@@ -2695,7 +2699,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__block"  :subid("45_1260829317.63188") :method
+.sub "!PREFIX__block"  :subid("45_1261019367.36172") :method
 .annotate "line", 4
     $P204 = self."!PREFIX__!subrule"("", "")
     new $P205, "ResizablePMCArray"
@@ -2706,7 +2710,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "blockoid"  :subid("46_1260829317.63188") :method :outer("11_1260829317.63188")
+.sub "blockoid"  :subid("46_1261019367.36172") :method :outer("11_1261019367.36172")
 .annotate "line", 4
     .local string rx209_tgt
     .local int rx209_pos
@@ -2801,7 +2805,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__blockoid"  :subid("47_1260829317.63188") :method
+.sub "!PREFIX__blockoid"  :subid("47_1261019367.36172") :method
 .annotate "line", 4
     $P211 = self."!PREFIX__!subrule"("", "")
     new $P212, "ResizablePMCArray"
@@ -2811,7 +2815,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "newpad"  :subid("48_1260829317.63188") :method :outer("11_1260829317.63188")
+.sub "newpad"  :subid("48_1261019367.36172") :method :outer("11_1261019367.36172")
 .annotate "line", 4
     .local string rx217_tgt
     .local int rx217_pos
@@ -2862,7 +2866,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__newpad"  :subid("49_1260829317.63188") :method
+.sub "!PREFIX__newpad"  :subid("49_1261019367.36172") :method
 .annotate "line", 4
     new $P219, "ResizablePMCArray"
     push $P219, ""
@@ -2871,7 +2875,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "finishpad"  :subid("50_1260829317.63188") :method :outer("11_1260829317.63188")
+.sub "finishpad"  :subid("50_1261019367.36172") :method :outer("11_1261019367.36172")
 .annotate "line", 4
     .local string rx222_tgt
     .local int rx222_pos
@@ -2922,7 +2926,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__finishpad"  :subid("51_1260829317.63188") :method
+.sub "!PREFIX__finishpad"  :subid("51_1261019367.36172") :method
 .annotate "line", 4
     new $P224, "ResizablePMCArray"
     push $P224, ""
@@ -2931,7 +2935,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "terminator"  :subid("52_1260829317.63188") :method
+.sub "terminator"  :subid("52_1261019367.36172") :method
 .annotate "line", 139
     $P227 = self."!protoregex"("terminator")
     .return ($P227)
@@ -2939,7 +2943,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__terminator"  :subid("53_1260829317.63188") :method
+.sub "!PREFIX__terminator"  :subid("53_1261019367.36172") :method
 .annotate "line", 139
     $P229 = self."!PREFIX__!protoregex"("terminator")
     .return ($P229)
@@ -2947,7 +2951,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "terminator:sym<;>"  :subid("54_1260829317.63188") :method :outer("11_1260829317.63188")
+.sub "terminator:sym<;>"  :subid("54_1261019367.36172") :method :outer("11_1261019367.36172")
 .annotate "line", 4
     .local string rx231_tgt
     .local int rx231_pos
@@ -3004,7 +3008,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__terminator:sym<;>"  :subid("55_1260829317.63188") :method
+.sub "!PREFIX__terminator:sym<;>"  :subid("55_1261019367.36172") :method
 .annotate "line", 4
     new $P233, "ResizablePMCArray"
     push $P233, ";"
@@ -3013,7 +3017,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "terminator:sym<}>"  :subid("56_1260829317.63188") :method :outer("11_1260829317.63188")
+.sub "terminator:sym<}>"  :subid("56_1261019367.36172") :method :outer("11_1261019367.36172")
 .annotate "line", 4
     .local string rx236_tgt
     .local int rx236_pos
@@ -3070,7 +3074,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__terminator:sym<}>"  :subid("57_1260829317.63188") :method
+.sub "!PREFIX__terminator:sym<}>"  :subid("57_1261019367.36172") :method
 .annotate "line", 4
     new $P238, "ResizablePMCArray"
     push $P238, "}"
@@ -3079,7 +3083,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "statement_control"  :subid("58_1260829317.63188") :method
+.sub "statement_control"  :subid("58_1261019367.36172") :method
 .annotate "line", 146
     $P241 = self."!protoregex"("statement_control")
     .return ($P241)
@@ -3087,7 +3091,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__statement_control"  :subid("59_1260829317.63188") :method
+.sub "!PREFIX__statement_control"  :subid("59_1261019367.36172") :method
 .annotate "line", 146
     $P243 = self."!PREFIX__!protoregex"("statement_control")
     .return ($P243)
@@ -3095,7 +3099,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "statement_control:sym<if>"  :subid("60_1260829317.63188") :method :outer("11_1260829317.63188")
+.sub "statement_control:sym<if>"  :subid("60_1261019367.36172") :method :outer("11_1261019367.36172")
 .annotate "line", 4
     .local string rx245_tgt
     .local int rx245_pos
@@ -3105,7 +3109,7 @@
     .local pmc rx245_cur
     (rx245_cur, rx245_pos, rx245_tgt) = self."!cursor_start"()
     rx245_cur."!cursor_debug"("START ", "statement_control:sym<if>")
-    rx245_cur."!cursor_caparray"("else", "xblock")
+    rx245_cur."!cursor_caparray"("xblock", "else")
     .lex unicode:"$\x{a2}", rx245_cur
     .local pmc match
     .lex "$/", match
@@ -3289,7 +3293,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__statement_control:sym<if>"  :subid("61_1260829317.63188") :method
+.sub "!PREFIX__statement_control:sym<if>"  :subid("61_1261019367.36172") :method
 .annotate "line", 4
     new $P247, "ResizablePMCArray"
     push $P247, "if"
@@ -3298,9 +3302,9 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "statement_control:sym<unless>"  :subid("62_1260829317.63188") :method :outer("11_1260829317.63188")
+.sub "statement_control:sym<unless>"  :subid("62_1261019367.36172") :method :outer("11_1261019367.36172")
 .annotate "line", 4
-    .const 'Sub' $P275 = "64_1260829317.63188" 
+    .const 'Sub' $P275 = "64_1261019367.36172" 
     capture_lex $P275
     .local string rx265_tgt
     .local int rx265_pos
@@ -3388,7 +3392,7 @@
     rx265_pos = $P10."pos"()
   # rx subrule "before" subtype=zerowidth negate=1
     rx265_cur."!cursor_pos"(rx265_pos)
-    .const 'Sub' $P275 = "64_1260829317.63188" 
+    .const 'Sub' $P275 = "64_1261019367.36172" 
     capture_lex $P275
     $P10 = rx265_cur."before"($P275)
     if $P10, rx265_fail
@@ -3440,7 +3444,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__statement_control:sym<unless>"  :subid("63_1260829317.63188") :method
+.sub "!PREFIX__statement_control:sym<unless>"  :subid("63_1261019367.36172") :method
 .annotate "line", 4
     new $P267, "ResizablePMCArray"
     push $P267, "unless"
@@ -3449,7 +3453,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "_block274"  :anon :subid("64_1260829317.63188") :method :outer("62_1260829317.63188")
+.sub "_block274"  :anon :subid("64_1261019367.36172") :method :outer("62_1261019367.36172")
 .annotate "line", 158
     .local string rx276_tgt
     .local int rx276_pos
@@ -3505,7 +3509,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "statement_control:sym<while>"  :subid("65_1260829317.63188") :method :outer("11_1260829317.63188")
+.sub "statement_control:sym<while>"  :subid("65_1261019367.36172") :method :outer("11_1261019367.36172")
 .annotate "line", 4
     .local string rx283_tgt
     .local int rx283_pos
@@ -3615,7 +3619,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__statement_control:sym<while>"  :subid("66_1260829317.63188") :method
+.sub "!PREFIX__statement_control:sym<while>"  :subid("66_1261019367.36172") :method
 .annotate "line", 4
     new $P285, "ResizablePMCArray"
     push $P285, "until"
@@ -3625,7 +3629,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "statement_control:sym<repeat>"  :subid("67_1260829317.63188") :method :outer("11_1260829317.63188")
+.sub "statement_control:sym<repeat>"  :subid("67_1261019367.36172") :method :outer("11_1261019367.36172")
 .annotate "line", 4
     .local string rx292_tgt
     .local int rx292_pos
@@ -3860,7 +3864,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__statement_control:sym<repeat>"  :subid("68_1260829317.63188") :method
+.sub "!PREFIX__statement_control:sym<repeat>"  :subid("68_1261019367.36172") :method
 .annotate "line", 4
     new $P294, "ResizablePMCArray"
     push $P294, "repeat"
@@ -3869,7 +3873,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "statement_control:sym<for>"  :subid("69_1260829317.63188") :method :outer("11_1260829317.63188")
+.sub "statement_control:sym<for>"  :subid("69_1261019367.36172") :method :outer("11_1261019367.36172")
 .annotate "line", 4
     .local string rx312_tgt
     .local int rx312_pos
@@ -3966,7 +3970,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__statement_control:sym<for>"  :subid("70_1260829317.63188") :method
+.sub "!PREFIX__statement_control:sym<for>"  :subid("70_1261019367.36172") :method
 .annotate "line", 4
     new $P314, "ResizablePMCArray"
     push $P314, "for"
@@ -3975,7 +3979,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "statement_control:sym<CATCH>"  :subid("71_1260829317.63188") :method :outer("11_1260829317.63188")
+.sub "statement_control:sym<CATCH>"  :subid("71_1261019367.36172") :method :outer("11_1261019367.36172")
 .annotate "line", 4
     .local string rx320_tgt
     .local int rx320_pos
@@ -4072,7 +4076,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__statement_control:sym<CATCH>"  :subid("72_1260829317.63188") :method
+.sub "!PREFIX__statement_control:sym<CATCH>"  :subid("72_1261019367.36172") :method
 .annotate "line", 4
     new $P322, "ResizablePMCArray"
     push $P322, "CATCH"
@@ -4081,7 +4085,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "statement_control:sym<CONTROL>"  :subid("73_1260829317.63188") :method :outer("11_1260829317.63188")
+.sub "statement_control:sym<CONTROL>"  :subid("73_1261019367.36172") :method :outer("11_1261019367.36172")
 .annotate "line", 4
     .local string rx328_tgt
     .local int rx328_pos
@@ -4178,7 +4182,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__statement_control:sym<CONTROL>"  :subid("74_1260829317.63188") :method
+.sub "!PREFIX__statement_control:sym<CONTROL>"  :subid("74_1261019367.36172") :method
 .annotate "line", 4
     new $P330, "ResizablePMCArray"
     push $P330, "CONTROL"
@@ -4187,7 +4191,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "statement_prefix"  :subid("75_1260829317.63188") :method
+.sub "statement_prefix"  :subid("75_1261019367.36172") :method
 .annotate "line", 189
     $P336 = self."!protoregex"("statement_prefix")
     .return ($P336)
@@ -4195,7 +4199,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__statement_prefix"  :subid("76_1260829317.63188") :method
+.sub "!PREFIX__statement_prefix"  :subid("76_1261019367.36172") :method
 .annotate "line", 189
     $P338 = self."!PREFIX__!protoregex"("statement_prefix")
     .return ($P338)
@@ -4203,7 +4207,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "statement_prefix:sym<INIT>"  :subid("77_1260829317.63188") :method :outer("11_1260829317.63188")
+.sub "statement_prefix:sym<INIT>"  :subid("77_1261019367.36172") :method :outer("11_1261019367.36172")
 .annotate "line", 4
     .local string rx340_tgt
     .local int rx340_pos
@@ -4282,7 +4286,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__statement_prefix:sym<INIT>"  :subid("78_1260829317.63188") :method
+.sub "!PREFIX__statement_prefix:sym<INIT>"  :subid("78_1261019367.36172") :method
 .annotate "line", 4
     $P342 = self."!PREFIX__!subrule"("blorst", "INIT")
     new $P343, "ResizablePMCArray"
@@ -4292,7 +4296,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "statement_prefix:sym<try>"  :subid("79_1260829317.63188") :method :outer("11_1260829317.63188")
+.sub "statement_prefix:sym<try>"  :subid("79_1261019367.36172") :method :outer("11_1261019367.36172")
 .annotate "line", 4
     .local string rx347_tgt
     .local int rx347_pos
@@ -4373,7 +4377,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__statement_prefix:sym<try>"  :subid("80_1260829317.63188") :method
+.sub "!PREFIX__statement_prefix:sym<try>"  :subid("80_1261019367.36172") :method
 .annotate "line", 4
     $P349 = self."!PREFIX__!subrule"("blorst", "try")
     new $P350, "ResizablePMCArray"
@@ -4383,7 +4387,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "blorst"  :subid("81_1260829317.63188") :method :outer("11_1260829317.63188")
+.sub "blorst"  :subid("81_1261019367.36172") :method :outer("11_1261019367.36172")
 .annotate "line", 4
     .local string rx354_tgt
     .local int rx354_pos
@@ -4472,7 +4476,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__blorst"  :subid("82_1260829317.63188") :method
+.sub "!PREFIX__blorst"  :subid("82_1261019367.36172") :method
 .annotate "line", 4
     new $P356, "ResizablePMCArray"
     push $P356, ""
@@ -4481,7 +4485,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "statement_mod_cond"  :subid("83_1260829317.63188") :method
+.sub "statement_mod_cond"  :subid("83_1261019367.36172") :method
 .annotate "line", 203
     $P360 = self."!protoregex"("statement_mod_cond")
     .return ($P360)
@@ -4489,7 +4493,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__statement_mod_cond"  :subid("84_1260829317.63188") :method
+.sub "!PREFIX__statement_mod_cond"  :subid("84_1261019367.36172") :method
 .annotate "line", 203
     $P362 = self."!PREFIX__!protoregex"("statement_mod_cond")
     .return ($P362)
@@ -4497,7 +4501,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "statement_mod_cond:sym<if>"  :subid("85_1260829317.63188") :method :outer("11_1260829317.63188")
+.sub "statement_mod_cond:sym<if>"  :subid("85_1261019367.36172") :method :outer("11_1261019367.36172")
 .annotate "line", 4
     .local string rx364_tgt
     .local int rx364_pos
@@ -4586,7 +4590,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__statement_mod_cond:sym<if>"  :subid("86_1260829317.63188") :method
+.sub "!PREFIX__statement_mod_cond:sym<if>"  :subid("86_1261019367.36172") :method
 .annotate "line", 4
     new $P366, "ResizablePMCArray"
     push $P366, "if"
@@ -4595,7 +4599,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "statement_mod_cond:sym<unless>"  :subid("87_1260829317.63188") :method :outer("11_1260829317.63188")
+.sub "statement_mod_cond:sym<unless>"  :subid("87_1261019367.36172") :method :outer("11_1261019367.36172")
 .annotate "line", 4
     .local string rx372_tgt
     .local int rx372_pos
@@ -4684,7 +4688,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__statement_mod_cond:sym<unless>"  :subid("88_1260829317.63188") :method
+.sub "!PREFIX__statement_mod_cond:sym<unless>"  :subid("88_1261019367.36172") :method
 .annotate "line", 4
     new $P374, "ResizablePMCArray"
     push $P374, "unless"
@@ -4693,7 +4697,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "statement_mod_loop"  :subid("89_1260829317.63188") :method
+.sub "statement_mod_loop"  :subid("89_1261019367.36172") :method
 .annotate "line", 208
     $P380 = self."!protoregex"("statement_mod_loop")
     .return ($P380)
@@ -4701,7 +4705,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__statement_mod_loop"  :subid("90_1260829317.63188") :method
+.sub "!PREFIX__statement_mod_loop"  :subid("90_1261019367.36172") :method
 .annotate "line", 208
     $P382 = self."!PREFIX__!protoregex"("statement_mod_loop")
     .return ($P382)
@@ -4709,7 +4713,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "statement_mod_loop:sym<while>"  :subid("91_1260829317.63188") :method :outer("11_1260829317.63188")
+.sub "statement_mod_loop:sym<while>"  :subid("91_1261019367.36172") :method :outer("11_1261019367.36172")
 .annotate "line", 4
     .local string rx384_tgt
     .local int rx384_pos
@@ -4798,7 +4802,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__statement_mod_loop:sym<while>"  :subid("92_1260829317.63188") :method
+.sub "!PREFIX__statement_mod_loop:sym<while>"  :subid("92_1261019367.36172") :method
 .annotate "line", 4
     new $P386, "ResizablePMCArray"
     push $P386, "while"
@@ -4807,7 +4811,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "statement_mod_loop:sym<until>"  :subid("93_1260829317.63188") :method :outer("11_1260829317.63188")
+.sub "statement_mod_loop:sym<until>"  :subid("93_1261019367.36172") :method :outer("11_1261019367.36172")
 .annotate "line", 4
     .local string rx392_tgt
     .local int rx392_pos
@@ -4896,7 +4900,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__statement_mod_loop:sym<until>"  :subid("94_1260829317.63188") :method
+.sub "!PREFIX__statement_mod_loop:sym<until>"  :subid("94_1261019367.36172") :method
 .annotate "line", 4
     new $P394, "ResizablePMCArray"
     push $P394, "until"
@@ -4905,7 +4909,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "term:sym<colonpair>"  :subid("95_1260829317.63188") :method :outer("11_1260829317.63188")
+.sub "term:sym<fatarrow>"  :subid("95_1261019367.36172") :method :outer("11_1261019367.36172")
 .annotate "line", 4
     .local string rx400_tgt
     .local int rx400_pos
@@ -4914,7 +4918,7 @@
     .local int rx400_rep
     .local pmc rx400_cur
     (rx400_cur, rx400_pos, rx400_tgt) = self."!cursor_start"()
-    rx400_cur."!cursor_debug"("START ", "term:sym<colonpair>")
+    rx400_cur."!cursor_debug"("START ", "term:sym<fatarrow>")
     .lex unicode:"$\x{a2}", rx400_cur
     .local pmc match
     .lex "$/", match
@@ -4937,16 +4941,16 @@
     rx400_cur."!mark_push"(0, rx400_pos, $I10)
   rxscan404_done:
 .annotate "line", 215
-  # rx subrule "colonpair" subtype=capture negate=
+  # rx subrule "fatarrow" subtype=capture negate=
     rx400_cur."!cursor_pos"(rx400_pos)
-    $P10 = rx400_cur."colonpair"()
+    $P10 = rx400_cur."fatarrow"()
     unless $P10, rx400_fail
     rx400_cur."!mark_push"(0, -1, 0, $P10)
-    $P10."!cursor_names"("colonpair")
+    $P10."!cursor_names"("fatarrow")
     rx400_pos = $P10."pos"()
   # rx pass
-    rx400_cur."!cursor_pass"(rx400_pos, "term:sym<colonpair>")
-    rx400_cur."!cursor_debug"("PASS  ", "term:sym<colonpair>", " at pos=", rx400_pos)
+    rx400_cur."!cursor_pass"(rx400_pos, "term:sym<fatarrow>")
+    rx400_cur."!cursor_debug"("PASS  ", "term:sym<fatarrow>", " at pos=", rx400_pos)
     .return (rx400_cur)
   rx400_fail:
 .annotate "line", 4
@@ -4956,16 +4960,16 @@
     jump $I10
   rx400_done:
     rx400_cur."!cursor_fail"()
-    rx400_cur."!cursor_debug"("FAIL  ", "term:sym<colonpair>")
+    rx400_cur."!cursor_debug"("FAIL  ", "term:sym<fatarrow>")
     .return (rx400_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__term:sym<colonpair>"  :subid("96_1260829317.63188") :method
+.sub "!PREFIX__term:sym<fatarrow>"  :subid("96_1261019367.36172") :method
 .annotate "line", 4
-    $P402 = self."!PREFIX__!subrule"("colonpair", "")
+    $P402 = self."!PREFIX__!subrule"("fatarrow", "")
     new $P403, "ResizablePMCArray"
     push $P403, $P402
     .return ($P403)
@@ -4973,7 +4977,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "term:sym<variable>"  :subid("97_1260829317.63188") :method :outer("11_1260829317.63188")
+.sub "term:sym<colonpair>"  :subid("97_1261019367.36172") :method :outer("11_1261019367.36172")
 .annotate "line", 4
     .local string rx406_tgt
     .local int rx406_pos
@@ -4982,7 +4986,7 @@
     .local int rx406_rep
     .local pmc rx406_cur
     (rx406_cur, rx406_pos, rx406_tgt) = self."!cursor_start"()
-    rx406_cur."!cursor_debug"("START ", "term:sym<variable>")
+    rx406_cur."!cursor_debug"("START ", "term:sym<colonpair>")
     .lex unicode:"$\x{a2}", rx406_cur
     .local pmc match
     .lex "$/", match
@@ -5005,16 +5009,16 @@
     rx406_cur."!mark_push"(0, rx406_pos, $I10)
   rxscan410_done:
 .annotate "line", 216
-  # rx subrule "variable" subtype=capture negate=
+  # rx subrule "colonpair" subtype=capture negate=
     rx406_cur."!cursor_pos"(rx406_pos)
-    $P10 = rx406_cur."variable"()
+    $P10 = rx406_cur."colonpair"()
     unless $P10, rx406_fail
     rx406_cur."!mark_push"(0, -1, 0, $P10)
-    $P10."!cursor_names"("variable")
+    $P10."!cursor_names"("colonpair")
     rx406_pos = $P10."pos"()
   # rx pass
-    rx406_cur."!cursor_pass"(rx406_pos, "term:sym<variable>")
-    rx406_cur."!cursor_debug"("PASS  ", "term:sym<variable>", " at pos=", rx406_pos)
+    rx406_cur."!cursor_pass"(rx406_pos, "term:sym<colonpair>")
+    rx406_cur."!cursor_debug"("PASS  ", "term:sym<colonpair>", " at pos=", rx406_pos)
     .return (rx406_cur)
   rx406_fail:
 .annotate "line", 4
@@ -5024,16 +5028,16 @@
     jump $I10
   rx406_done:
     rx406_cur."!cursor_fail"()
-    rx406_cur."!cursor_debug"("FAIL  ", "term:sym<variable>")
+    rx406_cur."!cursor_debug"("FAIL  ", "term:sym<colonpair>")
     .return (rx406_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__term:sym<variable>"  :subid("98_1260829317.63188") :method
+.sub "!PREFIX__term:sym<colonpair>"  :subid("98_1261019367.36172") :method
 .annotate "line", 4
-    $P408 = self."!PREFIX__!subrule"("variable", "")
+    $P408 = self."!PREFIX__!subrule"("colonpair", "")
     new $P409, "ResizablePMCArray"
     push $P409, $P408
     .return ($P409)
@@ -5041,7 +5045,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "term:sym<package_declarator>"  :subid("99_1260829317.63188") :method :outer("11_1260829317.63188")
+.sub "term:sym<variable>"  :subid("99_1261019367.36172") :method :outer("11_1261019367.36172")
 .annotate "line", 4
     .local string rx412_tgt
     .local int rx412_pos
@@ -5050,7 +5054,7 @@
     .local int rx412_rep
     .local pmc rx412_cur
     (rx412_cur, rx412_pos, rx412_tgt) = self."!cursor_start"()
-    rx412_cur."!cursor_debug"("START ", "term:sym<package_declarator>")
+    rx412_cur."!cursor_debug"("START ", "term:sym<variable>")
     .lex unicode:"$\x{a2}", rx412_cur
     .local pmc match
     .lex "$/", match
@@ -5073,16 +5077,16 @@
     rx412_cur."!mark_push"(0, rx412_pos, $I10)
   rxscan416_done:
 .annotate "line", 217
-  # rx subrule "package_declarator" subtype=capture negate=
+  # rx subrule "variable" subtype=capture negate=
     rx412_cur."!cursor_pos"(rx412_pos)
-    $P10 = rx412_cur."package_declarator"()
+    $P10 = rx412_cur."variable"()
     unless $P10, rx412_fail
     rx412_cur."!mark_push"(0, -1, 0, $P10)
-    $P10."!cursor_names"("package_declarator")
+    $P10."!cursor_names"("variable")
     rx412_pos = $P10."pos"()
   # rx pass
-    rx412_cur."!cursor_pass"(rx412_pos, "term:sym<package_declarator>")
-    rx412_cur."!cursor_debug"("PASS  ", "term:sym<package_declarator>", " at pos=", rx412_pos)
+    rx412_cur."!cursor_pass"(rx412_pos, "term:sym<variable>")
+    rx412_cur."!cursor_debug"("PASS  ", "term:sym<variable>", " at pos=", rx412_pos)
     .return (rx412_cur)
   rx412_fail:
 .annotate "line", 4
@@ -5092,16 +5096,16 @@
     jump $I10
   rx412_done:
     rx412_cur."!cursor_fail"()
-    rx412_cur."!cursor_debug"("FAIL  ", "term:sym<package_declarator>")
+    rx412_cur."!cursor_debug"("FAIL  ", "term:sym<variable>")
     .return (rx412_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__term:sym<package_declarator>"  :subid("100_1260829317.63188") :method
+.sub "!PREFIX__term:sym<variable>"  :subid("100_1261019367.36172") :method
 .annotate "line", 4
-    $P414 = self."!PREFIX__!subrule"("package_declarator", "")
+    $P414 = self."!PREFIX__!subrule"("variable", "")
     new $P415, "ResizablePMCArray"
     push $P415, $P414
     .return ($P415)
@@ -5109,7 +5113,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "term:sym<scope_declarator>"  :subid("101_1260829317.63188") :method :outer("11_1260829317.63188")
+.sub "term:sym<package_declarator>"  :subid("101_1261019367.36172") :method :outer("11_1261019367.36172")
 .annotate "line", 4
     .local string rx418_tgt
     .local int rx418_pos
@@ -5118,7 +5122,7 @@
     .local int rx418_rep
     .local pmc rx418_cur
     (rx418_cur, rx418_pos, rx418_tgt) = self."!cursor_start"()
-    rx418_cur."!cursor_debug"("START ", "term:sym<scope_declarator>")
+    rx418_cur."!cursor_debug"("START ", "term:sym<package_declarator>")
     .lex unicode:"$\x{a2}", rx418_cur
     .local pmc match
     .lex "$/", match
@@ -5141,16 +5145,16 @@
     rx418_cur."!mark_push"(0, rx418_pos, $I10)
   rxscan422_done:
 .annotate "line", 218
-  # rx subrule "scope_declarator" subtype=capture negate=
+  # rx subrule "package_declarator" subtype=capture negate=
     rx418_cur."!cursor_pos"(rx418_pos)
-    $P10 = rx418_cur."scope_declarator"()
+    $P10 = rx418_cur."package_declarator"()
     unless $P10, rx418_fail
     rx418_cur."!mark_push"(0, -1, 0, $P10)
-    $P10."!cursor_names"("scope_declarator")
+    $P10."!cursor_names"("package_declarator")
     rx418_pos = $P10."pos"()
   # rx pass
-    rx418_cur."!cursor_pass"(rx418_pos, "term:sym<scope_declarator>")
-    rx418_cur."!cursor_debug"("PASS  ", "term:sym<scope_declarator>", " at pos=", rx418_pos)
+    rx418_cur."!cursor_pass"(rx418_pos, "term:sym<package_declarator>")
+    rx418_cur."!cursor_debug"("PASS  ", "term:sym<package_declarator>", " at pos=", rx418_pos)
     .return (rx418_cur)
   rx418_fail:
 .annotate "line", 4
@@ -5160,16 +5164,16 @@
     jump $I10
   rx418_done:
     rx418_cur."!cursor_fail"()
-    rx418_cur."!cursor_debug"("FAIL  ", "term:sym<scope_declarator>")
+    rx418_cur."!cursor_debug"("FAIL  ", "term:sym<package_declarator>")
     .return (rx418_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__term:sym<scope_declarator>"  :subid("102_1260829317.63188") :method
+.sub "!PREFIX__term:sym<package_declarator>"  :subid("102_1261019367.36172") :method
 .annotate "line", 4
-    $P420 = self."!PREFIX__!subrule"("scope_declarator", "")
+    $P420 = self."!PREFIX__!subrule"("package_declarator", "")
     new $P421, "ResizablePMCArray"
     push $P421, $P420
     .return ($P421)
@@ -5177,7 +5181,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "term:sym<routine_declarator>"  :subid("103_1260829317.63188") :method :outer("11_1260829317.63188")
+.sub "term:sym<scope_declarator>"  :subid("103_1261019367.36172") :method :outer("11_1261019367.36172")
 .annotate "line", 4
     .local string rx424_tgt
     .local int rx424_pos
@@ -5186,7 +5190,7 @@
     .local int rx424_rep
     .local pmc rx424_cur
     (rx424_cur, rx424_pos, rx424_tgt) = self."!cursor_start"()
-    rx424_cur."!cursor_debug"("START ", "term:sym<routine_declarator>")
+    rx424_cur."!cursor_debug"("START ", "term:sym<scope_declarator>")
     .lex unicode:"$\x{a2}", rx424_cur
     .local pmc match
     .lex "$/", match
@@ -5209,16 +5213,16 @@
     rx424_cur."!mark_push"(0, rx424_pos, $I10)
   rxscan428_done:
 .annotate "line", 219
-  # rx subrule "routine_declarator" subtype=capture negate=
+  # rx subrule "scope_declarator" subtype=capture negate=
     rx424_cur."!cursor_pos"(rx424_pos)
-    $P10 = rx424_cur."routine_declarator"()
+    $P10 = rx424_cur."scope_declarator"()
     unless $P10, rx424_fail
     rx424_cur."!mark_push"(0, -1, 0, $P10)
-    $P10."!cursor_names"("routine_declarator")
+    $P10."!cursor_names"("scope_declarator")
     rx424_pos = $P10."pos"()
   # rx pass
-    rx424_cur."!cursor_pass"(rx424_pos, "term:sym<routine_declarator>")
-    rx424_cur."!cursor_debug"("PASS  ", "term:sym<routine_declarator>", " at pos=", rx424_pos)
+    rx424_cur."!cursor_pass"(rx424_pos, "term:sym<scope_declarator>")
+    rx424_cur."!cursor_debug"("PASS  ", "term:sym<scope_declarator>", " at pos=", rx424_pos)
     .return (rx424_cur)
   rx424_fail:
 .annotate "line", 4
@@ -5228,16 +5232,16 @@
     jump $I10
   rx424_done:
     rx424_cur."!cursor_fail"()
-    rx424_cur."!cursor_debug"("FAIL  ", "term:sym<routine_declarator>")
+    rx424_cur."!cursor_debug"("FAIL  ", "term:sym<scope_declarator>")
     .return (rx424_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__term:sym<routine_declarator>"  :subid("104_1260829317.63188") :method
+.sub "!PREFIX__term:sym<scope_declarator>"  :subid("104_1261019367.36172") :method
 .annotate "line", 4
-    $P426 = self."!PREFIX__!subrule"("routine_declarator", "")
+    $P426 = self."!PREFIX__!subrule"("scope_declarator", "")
     new $P427, "ResizablePMCArray"
     push $P427, $P426
     .return ($P427)
@@ -5245,7 +5249,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "term:sym<regex_declarator>"  :subid("105_1260829317.63188") :method :outer("11_1260829317.63188")
+.sub "term:sym<routine_declarator>"  :subid("105_1261019367.36172") :method :outer("11_1261019367.36172")
 .annotate "line", 4
     .local string rx430_tgt
     .local int rx430_pos
@@ -5254,7 +5258,7 @@
     .local int rx430_rep
     .local pmc rx430_cur
     (rx430_cur, rx430_pos, rx430_tgt) = self."!cursor_start"()
-    rx430_cur."!cursor_debug"("START ", "term:sym<regex_declarator>")
+    rx430_cur."!cursor_debug"("START ", "term:sym<routine_declarator>")
     .lex unicode:"$\x{a2}", rx430_cur
     .local pmc match
     .lex "$/", match
@@ -5277,16 +5281,16 @@
     rx430_cur."!mark_push"(0, rx430_pos, $I10)
   rxscan434_done:
 .annotate "line", 220
-  # rx subrule "regex_declarator" subtype=capture negate=
+  # rx subrule "routine_declarator" subtype=capture negate=
     rx430_cur."!cursor_pos"(rx430_pos)
-    $P10 = rx430_cur."regex_declarator"()
+    $P10 = rx430_cur."routine_declarator"()
     unless $P10, rx430_fail
     rx430_cur."!mark_push"(0, -1, 0, $P10)
-    $P10."!cursor_names"("regex_declarator")
+    $P10."!cursor_names"("routine_declarator")
     rx430_pos = $P10."pos"()
   # rx pass
-    rx430_cur."!cursor_pass"(rx430_pos, "term:sym<regex_declarator>")
-    rx430_cur."!cursor_debug"("PASS  ", "term:sym<regex_declarator>", " at pos=", rx430_pos)
+    rx430_cur."!cursor_pass"(rx430_pos, "term:sym<routine_declarator>")
+    rx430_cur."!cursor_debug"("PASS  ", "term:sym<routine_declarator>", " at pos=", rx430_pos)
     .return (rx430_cur)
   rx430_fail:
 .annotate "line", 4
@@ -5296,16 +5300,16 @@
     jump $I10
   rx430_done:
     rx430_cur."!cursor_fail"()
-    rx430_cur."!cursor_debug"("FAIL  ", "term:sym<regex_declarator>")
+    rx430_cur."!cursor_debug"("FAIL  ", "term:sym<routine_declarator>")
     .return (rx430_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__term:sym<regex_declarator>"  :subid("106_1260829317.63188") :method
+.sub "!PREFIX__term:sym<routine_declarator>"  :subid("106_1261019367.36172") :method
 .annotate "line", 4
-    $P432 = self."!PREFIX__!subrule"("regex_declarator", "")
+    $P432 = self."!PREFIX__!subrule"("routine_declarator", "")
     new $P433, "ResizablePMCArray"
     push $P433, $P432
     .return ($P433)
@@ -5313,7 +5317,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "term:sym<statement_prefix>"  :subid("107_1260829317.63188") :method :outer("11_1260829317.63188")
+.sub "term:sym<regex_declarator>"  :subid("107_1261019367.36172") :method :outer("11_1261019367.36172")
 .annotate "line", 4
     .local string rx436_tgt
     .local int rx436_pos
@@ -5322,7 +5326,7 @@
     .local int rx436_rep
     .local pmc rx436_cur
     (rx436_cur, rx436_pos, rx436_tgt) = self."!cursor_start"()
-    rx436_cur."!cursor_debug"("START ", "term:sym<statement_prefix>")
+    rx436_cur."!cursor_debug"("START ", "term:sym<regex_declarator>")
     .lex unicode:"$\x{a2}", rx436_cur
     .local pmc match
     .lex "$/", match
@@ -5345,16 +5349,16 @@
     rx436_cur."!mark_push"(0, rx436_pos, $I10)
   rxscan440_done:
 .annotate "line", 221
-  # rx subrule "statement_prefix" subtype=capture negate=
+  # rx subrule "regex_declarator" subtype=capture negate=
     rx436_cur."!cursor_pos"(rx436_pos)
-    $P10 = rx436_cur."statement_prefix"()
+    $P10 = rx436_cur."regex_declarator"()
     unless $P10, rx436_fail
     rx436_cur."!mark_push"(0, -1, 0, $P10)
-    $P10."!cursor_names"("statement_prefix")
+    $P10."!cursor_names"("regex_declarator")
     rx436_pos = $P10."pos"()
   # rx pass
-    rx436_cur."!cursor_pass"(rx436_pos, "term:sym<statement_prefix>")
-    rx436_cur."!cursor_debug"("PASS  ", "term:sym<statement_prefix>", " at pos=", rx436_pos)
+    rx436_cur."!cursor_pass"(rx436_pos, "term:sym<regex_declarator>")
+    rx436_cur."!cursor_debug"("PASS  ", "term:sym<regex_declarator>", " at pos=", rx436_pos)
     .return (rx436_cur)
   rx436_fail:
 .annotate "line", 4
@@ -5364,16 +5368,16 @@
     jump $I10
   rx436_done:
     rx436_cur."!cursor_fail"()
-    rx436_cur."!cursor_debug"("FAIL  ", "term:sym<statement_prefix>")
+    rx436_cur."!cursor_debug"("FAIL  ", "term:sym<regex_declarator>")
     .return (rx436_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__term:sym<statement_prefix>"  :subid("108_1260829317.63188") :method
+.sub "!PREFIX__term:sym<regex_declarator>"  :subid("108_1261019367.36172") :method
 .annotate "line", 4
-    $P438 = self."!PREFIX__!subrule"("statement_prefix", "")
+    $P438 = self."!PREFIX__!subrule"("regex_declarator", "")
     new $P439, "ResizablePMCArray"
     push $P439, $P438
     .return ($P439)
@@ -5381,7 +5385,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "term:sym<lambda>"  :subid("109_1260829317.63188") :method :outer("11_1260829317.63188")
+.sub "term:sym<statement_prefix>"  :subid("109_1261019367.36172") :method :outer("11_1261019367.36172")
 .annotate "line", 4
     .local string rx442_tgt
     .local int rx442_pos
@@ -5390,7 +5394,7 @@
     .local int rx442_rep
     .local pmc rx442_cur
     (rx442_cur, rx442_pos, rx442_tgt) = self."!cursor_start"()
-    rx442_cur."!cursor_debug"("START ", "term:sym<lambda>")
+    rx442_cur."!cursor_debug"("START ", "term:sym<statement_prefix>")
     .lex unicode:"$\x{a2}", rx442_cur
     .local pmc match
     .lex "$/", match
@@ -5401,32 +5405,28 @@
     substr rx442_tgt, rx442_tgt, rx442_off
   rx442_start:
     $I10 = self.'from'()
-    ne $I10, -1, rxscan445_done
-    goto rxscan445_scan
-  rxscan445_loop:
+    ne $I10, -1, rxscan446_done
+    goto rxscan446_scan
+  rxscan446_loop:
     ($P10) = rx442_cur."from"()
     inc $P10
     set rx442_pos, $P10
-    ge rx442_pos, rx442_eos, rxscan445_done
-  rxscan445_scan:
-    set_addr $I10, rxscan445_loop
+    ge rx442_pos, rx442_eos, rxscan446_done
+  rxscan446_scan:
+    set_addr $I10, rxscan446_loop
     rx442_cur."!mark_push"(0, rx442_pos, $I10)
-  rxscan445_done:
+  rxscan446_done:
 .annotate "line", 222
-  # rx subrule "lambda" subtype=zerowidth negate=
-    rx442_cur."!cursor_pos"(rx442_pos)
-    $P10 = rx442_cur."lambda"()
-    unless $P10, rx442_fail
-  # rx subrule "pblock" subtype=capture negate=
+  # rx subrule "statement_prefix" subtype=capture negate=
     rx442_cur."!cursor_pos"(rx442_pos)
-    $P10 = rx442_cur."pblock"()
+    $P10 = rx442_cur."statement_prefix"()
     unless $P10, rx442_fail
     rx442_cur."!mark_push"(0, -1, 0, $P10)
-    $P10."!cursor_names"("pblock")
+    $P10."!cursor_names"("statement_prefix")
     rx442_pos = $P10."pos"()
   # rx pass
-    rx442_cur."!cursor_pass"(rx442_pos, "term:sym<lambda>")
-    rx442_cur."!cursor_debug"("PASS  ", "term:sym<lambda>", " at pos=", rx442_pos)
+    rx442_cur."!cursor_pass"(rx442_pos, "term:sym<statement_prefix>")
+    rx442_cur."!cursor_debug"("PASS  ", "term:sym<statement_prefix>", " at pos=", rx442_pos)
     .return (rx442_cur)
   rx442_fail:
 .annotate "line", 4
@@ -5436,1091 +5436,1088 @@
     jump $I10
   rx442_done:
     rx442_cur."!cursor_fail"()
-    rx442_cur."!cursor_debug"("FAIL  ", "term:sym<lambda>")
+    rx442_cur."!cursor_debug"("FAIL  ", "term:sym<statement_prefix>")
     .return (rx442_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__term:sym<lambda>"  :subid("110_1260829317.63188") :method
+.sub "!PREFIX__term:sym<statement_prefix>"  :subid("110_1261019367.36172") :method
+.annotate "line", 4
+    $P444 = self."!PREFIX__!subrule"("statement_prefix", "")
+    new $P445, "ResizablePMCArray"
+    push $P445, $P444
+    .return ($P445)
+.end
+
+
+.namespace ["NQP";"Grammar"]
+.sub "term:sym<lambda>"  :subid("111_1261019367.36172") :method :outer("11_1261019367.36172")
+.annotate "line", 4
+    .local string rx448_tgt
+    .local int rx448_pos
+    .local int rx448_off
+    .local int rx448_eos
+    .local int rx448_rep
+    .local pmc rx448_cur
+    (rx448_cur, rx448_pos, rx448_tgt) = self."!cursor_start"()
+    rx448_cur."!cursor_debug"("START ", "term:sym<lambda>")
+    .lex unicode:"$\x{a2}", rx448_cur
+    .local pmc match
+    .lex "$/", match
+    length rx448_eos, rx448_tgt
+    set rx448_off, 0
+    lt rx448_pos, 2, rx448_start
+    sub rx448_off, rx448_pos, 1
+    substr rx448_tgt, rx448_tgt, rx448_off
+  rx448_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan451_done
+    goto rxscan451_scan
+  rxscan451_loop:
+    ($P10) = rx448_cur."from"()
+    inc $P10
+    set rx448_pos, $P10
+    ge rx448_pos, rx448_eos, rxscan451_done
+  rxscan451_scan:
+    set_addr $I10, rxscan451_loop
+    rx448_cur."!mark_push"(0, rx448_pos, $I10)
+  rxscan451_done:
+.annotate "line", 223
+  # rx subrule "lambda" subtype=zerowidth negate=
+    rx448_cur."!cursor_pos"(rx448_pos)
+    $P10 = rx448_cur."lambda"()
+    unless $P10, rx448_fail
+  # rx subrule "pblock" subtype=capture negate=
+    rx448_cur."!cursor_pos"(rx448_pos)
+    $P10 = rx448_cur."pblock"()
+    unless $P10, rx448_fail
+    rx448_cur."!mark_push"(0, -1, 0, $P10)
+    $P10."!cursor_names"("pblock")
+    rx448_pos = $P10."pos"()
+  # rx pass
+    rx448_cur."!cursor_pass"(rx448_pos, "term:sym<lambda>")
+    rx448_cur."!cursor_debug"("PASS  ", "term:sym<lambda>", " at pos=", rx448_pos)
+    .return (rx448_cur)
+  rx448_fail:
+.annotate "line", 4
+    (rx448_rep, rx448_pos, $I10, $P10) = rx448_cur."!mark_fail"(0)
+    lt rx448_pos, -1, rx448_done
+    eq rx448_pos, -1, rx448_fail
+    jump $I10
+  rx448_done:
+    rx448_cur."!cursor_fail"()
+    rx448_cur."!cursor_debug"("FAIL  ", "term:sym<lambda>")
+    .return (rx448_cur)
+    .return ()
+.end
+
+
+.namespace ["NQP";"Grammar"]
+.sub "!PREFIX__term:sym<lambda>"  :subid("112_1261019367.36172") :method
 .annotate "line", 4
-    new $P444, "ResizablePMCArray"
-    push $P444, ""
-    .return ($P444)
+    new $P450, "ResizablePMCArray"
+    push $P450, ""
+    .return ($P450)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "colonpair"  :subid("111_1260829317.63188") :method :outer("11_1260829317.63188")
-.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 ", "colonpair")
-    rx447_cur."!cursor_caparray"("circumfix")
-    .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, rxscan453_done
-    goto rxscan453_scan
-  rxscan453_loop:
-    ($P10) = rx447_cur."from"()
-    inc $P10
-    set rx447_pos, $P10
-    ge rx447_pos, rx447_eos, rxscan453_done
-  rxscan453_scan:
-    set_addr $I10, rxscan453_loop
-    rx447_cur."!mark_push"(0, rx447_pos, $I10)
-  rxscan453_done:
+.sub "fatarrow"  :subid("113_1261019367.36172") :method :outer("11_1261019367.36172")
+.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 ", "fatarrow")
+    .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, rxscan457_done
+    goto rxscan457_scan
+  rxscan457_loop:
+    ($P10) = rx453_cur."from"()
+    inc $P10
+    set rx453_pos, $P10
+    ge rx453_pos, rx453_eos, rxscan457_done
+  rxscan457_scan:
+    set_addr $I10, rxscan457_loop
+    rx453_cur."!mark_push"(0, rx453_pos, $I10)
+  rxscan457_done:
+.annotate "line", 226
+  # rx subrule "identifier" subtype=capture negate=
+    rx453_cur."!cursor_pos"(rx453_pos)
+    $P10 = rx453_cur."identifier"()
+    unless $P10, rx453_fail
+    rx453_cur."!mark_push"(0, -1, 0, $P10)
+    $P10."!cursor_names"("key")
+    rx453_pos = $P10."pos"()
+  # rx rxquantr458 ** 0..*
+    set_addr $I459, rxquantr458_done
+    rx453_cur."!mark_push"(0, rx453_pos, $I459)
+  rxquantr458_loop:
+  # rx enumcharlist negate=0 
+    ge rx453_pos, rx453_eos, rx453_fail
+    sub $I10, rx453_pos, rx453_off
+    substr $S10, rx453_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, rx453_fail
+    inc rx453_pos
+    (rx453_rep) = rx453_cur."!mark_commit"($I459)
+    rx453_cur."!mark_push"(rx453_rep, rx453_pos, $I459)
+    goto rxquantr458_loop
+  rxquantr458_done:
+  # rx literal  "=>"
+    add $I11, rx453_pos, 2
+    gt $I11, rx453_eos, rx453_fail
+    sub $I11, rx453_pos, rx453_off
+    substr $S10, rx453_tgt, $I11, 2
+    ne $S10, "=>", rx453_fail
+    add rx453_pos, 2
+  # rx subrule "ws" subtype=method negate=
+    rx453_cur."!cursor_pos"(rx453_pos)
+    $P10 = rx453_cur."ws"()
+    unless $P10, rx453_fail
+    rx453_pos = $P10."pos"()
+  # rx subrule "EXPR" subtype=capture negate=
+    rx453_cur."!cursor_pos"(rx453_pos)
+    $P10 = rx453_cur."EXPR"("i=")
+    unless $P10, rx453_fail
+    rx453_cur."!mark_push"(0, -1, 0, $P10)
+    $P10."!cursor_names"("val")
+    rx453_pos = $P10."pos"()
 .annotate "line", 225
+  # rx pass
+    rx453_cur."!cursor_pass"(rx453_pos, "fatarrow")
+    rx453_cur."!cursor_debug"("PASS  ", "fatarrow", " 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  ", "fatarrow")
+    .return (rx453_cur)
+    .return ()
+.end
+
+
+.namespace ["NQP";"Grammar"]
+.sub "!PREFIX__fatarrow"  :subid("114_1261019367.36172") :method
+.annotate "line", 4
+    $P455 = self."!PREFIX__!subrule"("key", "")
+    new $P456, "ResizablePMCArray"
+    push $P456, $P455
+    .return ($P456)
+.end
+
+
+.namespace ["NQP";"Grammar"]
+.sub "colonpair"  :subid("115_1261019367.36172") :method :outer("11_1261019367.36172")
+.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 ", "colonpair")
+    rx461_cur."!cursor_caparray"("circumfix")
+    .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, rxscan467_done
+    goto rxscan467_scan
+  rxscan467_loop:
+    ($P10) = rx461_cur."from"()
+    inc $P10
+    set rx461_pos, $P10
+    ge rx461_pos, rx461_eos, rxscan467_done
+  rxscan467_scan:
+    set_addr $I10, rxscan467_loop
+    rx461_cur."!mark_push"(0, rx461_pos, $I10)
+  rxscan467_done:
+.annotate "line", 230
   # rx literal  ":"
-    add $I11, rx447_pos, 1
-    gt $I11, rx447_eos, rx447_fail
-    sub $I11, rx447_pos, rx447_off
-    substr $S10, rx447_tgt, $I11, 1
-    ne $S10, ":", rx447_fail
-    add rx447_pos, 1
-  alt454_0:
-.annotate "line", 226
-    set_addr $I10, alt454_1
-    rx447_cur."!mark_push"(0, rx447_pos, $I10)
-.annotate "line", 227
+    add $I11, rx461_pos, 1
+    gt $I11, rx461_eos, rx461_fail
+    sub $I11, rx461_pos, rx461_off
+    substr $S10, rx461_tgt, $I11, 1
+    ne $S10, ":", rx461_fail
+    add rx461_pos, 1
+  alt468_0:
+.annotate "line", 231
+    set_addr $I10, alt468_1
+    rx461_cur."!mark_push"(0, rx461_pos, $I10)
+.annotate "line", 232
   # rx subcapture "not"
-    set_addr $I10, rxcap_455_fail
-    rx447_cur."!mark_push"(0, rx447_pos, $I10)
+    set_addr $I10, rxcap_469_fail
+    rx461_cur."!mark_push"(0, rx461_pos, $I10)
   # rx literal  "!"
-    add $I11, rx447_pos, 1
-    gt $I11, rx447_eos, rx447_fail
-    sub $I11, rx447_pos, rx447_off
-    substr $S10, rx447_tgt, $I11, 1
-    ne $S10, "!", rx447_fail
-    add rx447_pos, 1
-    set_addr $I10, rxcap_455_fail
-    ($I12, $I11) = rx447_cur."!mark_peek"($I10)
-    rx447_cur."!cursor_pos"($I11)
-    ($P10) = rx447_cur."!cursor_start"()
-    $P10."!cursor_pass"(rx447_pos, "")
-    rx447_cur."!mark_push"(0, -1, 0, $P10)
+    add $I11, rx461_pos, 1
+    gt $I11, rx461_eos, rx461_fail
+    sub $I11, rx461_pos, rx461_off
+    substr $S10, rx461_tgt, $I11, 1
+    ne $S10, "!", rx461_fail
+    add rx461_pos, 1
+    set_addr $I10, rxcap_469_fail
+    ($I12, $I11) = rx461_cur."!mark_peek"($I10)
+    rx461_cur."!cursor_pos"($I11)
+    ($P10) = rx461_cur."!cursor_start"()
+    $P10."!cursor_pass"(rx461_pos, "")
+    rx461_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("not")
-    goto rxcap_455_done
-  rxcap_455_fail:
-    goto rx447_fail
-  rxcap_455_done:
+    goto rxcap_469_done
+  rxcap_469_fail:
+    goto rx461_fail
+  rxcap_469_done:
   # rx subrule "identifier" subtype=capture negate=
-    rx447_cur."!cursor_pos"(rx447_pos)
-    $P10 = rx447_cur."identifier"()
-    unless $P10, rx447_fail
-    rx447_cur."!mark_push"(0, -1, 0, $P10)
+    rx461_cur."!cursor_pos"(rx461_pos)
+    $P10 = rx461_cur."identifier"()
+    unless $P10, rx461_fail
+    rx461_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("identifier")
-    rx447_pos = $P10."pos"()
-    goto alt454_end
-  alt454_1:
-    set_addr $I10, alt454_2
-    rx447_cur."!mark_push"(0, rx447_pos, $I10)
-.annotate "line", 228
+    rx461_pos = $P10."pos"()
+    goto alt468_end
+  alt468_1:
+    set_addr $I10, alt468_2
+    rx461_cur."!mark_push"(0, rx461_pos, $I10)
+.annotate "line", 233
   # rx subrule "identifier" subtype=capture negate=
-    rx447_cur."!cursor_pos"(rx447_pos)
-    $P10 = rx447_cur."identifier"()
-    unless $P10, rx447_fail
-    rx447_cur."!mark_push"(0, -1, 0, $P10)
+    rx461_cur."!cursor_pos"(rx461_pos)
+    $P10 = rx461_cur."identifier"()
+    unless $P10, rx461_fail
+    rx461_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("identifier")
-    rx447_pos = $P10."pos"()
-  # rx rxquantr456 ** 0..1
-    set_addr $I457, rxquantr456_done
-    rx447_cur."!mark_push"(0, rx447_pos, $I457)
-  rxquantr456_loop:
+    rx461_pos = $P10."pos"()
+  # rx rxquantr470 ** 0..1
+    set_addr $I471, rxquantr470_done
+    rx461_cur."!mark_push"(0, rx461_pos, $I471)
+  rxquantr470_loop:
   # rx subrule "circumfix" subtype=capture negate=
-    rx447_cur."!cursor_pos"(rx447_pos)
-    $P10 = rx447_cur."circumfix"()
-    unless $P10, rx447_fail
-    rx447_cur."!mark_push"(0, -1, 0, $P10)
+    rx461_cur."!cursor_pos"(rx461_pos)
+    $P10 = rx461_cur."circumfix"()
+    unless $P10, rx461_fail
+    rx461_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("circumfix")
-    rx447_pos = $P10."pos"()
-    (rx447_rep) = rx447_cur."!mark_commit"($I457)
-  rxquantr456_done:
-    goto alt454_end
-  alt454_2:
-.annotate "line", 229
+    rx461_pos = $P10."pos"()
+    (rx461_rep) = rx461_cur."!mark_commit"($I471)
+  rxquantr470_done:
+    goto alt468_end
+  alt468_2:
+.annotate "line", 234
   # rx subrule "circumfix" subtype=capture negate=
-    rx447_cur."!cursor_pos"(rx447_pos)
-    $P10 = rx447_cur."circumfix"()
-    unless $P10, rx447_fail
-    rx447_cur."!mark_push"(0, -1, 0, $P10)
+    rx461_cur."!cursor_pos"(rx461_pos)
+    $P10 = rx461_cur."circumfix"()
+    unless $P10, rx461_fail
+    rx461_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("circumfix")
-    rx447_pos = $P10."pos"()
-  alt454_end:
-.annotate "line", 224
+    rx461_pos = $P10."pos"()
+  alt468_end:
+.annotate "line", 229
   # rx pass
-    rx447_cur."!cursor_pass"(rx447_pos, "colonpair")
-    rx447_cur."!cursor_debug"("PASS  ", "colonpair", " at pos=", rx447_pos)
-    .return (rx447_cur)
-  rx447_fail:
+    rx461_cur."!cursor_pass"(rx461_pos, "colonpair")
+    rx461_cur."!cursor_debug"("PASS  ", "colonpair", " at pos=", rx461_pos)
+    .return (rx461_cur)
+  rx461_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
+    (rx461_rep, rx461_pos, $I10, $P10) = rx461_cur."!mark_fail"(0)
+    lt rx461_pos, -1, rx461_done
+    eq rx461_pos, -1, rx461_fail
     jump $I10
-  rx447_done:
-    rx447_cur."!cursor_fail"()
-    rx447_cur."!cursor_debug"("FAIL  ", "colonpair")
-    .return (rx447_cur)
+  rx461_done:
+    rx461_cur."!cursor_fail"()
+    rx461_cur."!cursor_debug"("FAIL  ", "colonpair")
+    .return (rx461_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__colonpair"  :subid("112_1260829317.63188") :method
+.sub "!PREFIX__colonpair"  :subid("116_1261019367.36172") :method
 .annotate "line", 4
-    $P449 = self."!PREFIX__!subrule"("circumfix", ":")
-    $P450 = self."!PREFIX__!subrule"("identifier", ":")
-    $P451 = self."!PREFIX__!subrule"("identifier", ":!")
-    new $P452, "ResizablePMCArray"
-    push $P452, $P449
-    push $P452, $P450
-    push $P452, $P451
-    .return ($P452)
+    $P463 = self."!PREFIX__!subrule"("circumfix", ":")
+    $P464 = self."!PREFIX__!subrule"("identifier", ":")
+    $P465 = self."!PREFIX__!subrule"("identifier", ":!")
+    new $P466, "ResizablePMCArray"
+    push $P466, $P463
+    push $P466, $P464
+    push $P466, $P465
+    .return ($P466)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "variable"  :subid("113_1260829317.63188") :method :outer("11_1260829317.63188")
+.sub "variable"  :subid("117_1261019367.36172") :method :outer("11_1261019367.36172")
 .annotate "line", 4
-    .local string rx459_tgt
-    .local int rx459_pos
-    .local int rx459_off
-    .local int rx459_eos
-    .local int rx459_rep
-    .local pmc rx459_cur
-    (rx459_cur, rx459_pos, rx459_tgt) = self."!cursor_start"()
-    rx459_cur."!cursor_debug"("START ", "variable")
-    rx459_cur."!cursor_caparray"("twigil")
-    .lex unicode:"$\x{a2}", rx459_cur
-    .local pmc match
-    .lex "$/", match
-    length rx459_eos, rx459_tgt
-    set rx459_off, 0
-    lt rx459_pos, 2, rx459_start
-    sub rx459_off, rx459_pos, 1
-    substr rx459_tgt, rx459_tgt, rx459_off
-  rx459_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan464_done
-    goto rxscan464_scan
-  rxscan464_loop:
-    ($P10) = rx459_cur."from"()
-    inc $P10
-    set rx459_pos, $P10
-    ge rx459_pos, rx459_eos, rxscan464_done
-  rxscan464_scan:
-    set_addr $I10, rxscan464_loop
-    rx459_cur."!mark_push"(0, rx459_pos, $I10)
-  rxscan464_done:
-  alt465_0:
-.annotate "line", 233
-    set_addr $I10, alt465_1
-    rx459_cur."!mark_push"(0, rx459_pos, $I10)
-.annotate "line", 234
+    .local string rx473_tgt
+    .local int rx473_pos
+    .local int rx473_off
+    .local int rx473_eos
+    .local int rx473_rep
+    .local pmc rx473_cur
+    (rx473_cur, rx473_pos, rx473_tgt) = self."!cursor_start"()
+    rx473_cur."!cursor_debug"("START ", "variable")
+    rx473_cur."!cursor_caparray"("twigil")
+    .lex unicode:"$\x{a2}", rx473_cur
+    .local pmc match
+    .lex "$/", match
+    length rx473_eos, rx473_tgt
+    set rx473_off, 0
+    lt rx473_pos, 2, rx473_start
+    sub rx473_off, rx473_pos, 1
+    substr rx473_tgt, rx473_tgt, rx473_off
+  rx473_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan478_done
+    goto rxscan478_scan
+  rxscan478_loop:
+    ($P10) = rx473_cur."from"()
+    inc $P10
+    set rx473_pos, $P10
+    ge rx473_pos, rx473_eos, rxscan478_done
+  rxscan478_scan:
+    set_addr $I10, rxscan478_loop
+    rx473_cur."!mark_push"(0, rx473_pos, $I10)
+  rxscan478_done:
+  alt479_0:
+.annotate "line", 238
+    set_addr $I10, alt479_1
+    rx473_cur."!mark_push"(0, rx473_pos, $I10)
+.annotate "line", 239
   # rx subrule "sigil" subtype=capture negate=
-    rx459_cur."!cursor_pos"(rx459_pos)
-    $P10 = rx459_cur."sigil"()
-    unless $P10, rx459_fail
-    rx459_cur."!mark_push"(0, -1, 0, $P10)
+    rx473_cur."!cursor_pos"(rx473_pos)
+    $P10 = rx473_cur."sigil"()
+    unless $P10, rx473_fail
+    rx473_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("sigil")
-    rx459_pos = $P10."pos"()
-  # rx rxquantr466 ** 0..1
-    set_addr $I467, rxquantr466_done
-    rx459_cur."!mark_push"(0, rx459_pos, $I467)
-  rxquantr466_loop:
+    rx473_pos = $P10."pos"()
+  # rx rxquantr480 ** 0..1
+    set_addr $I481, rxquantr480_done
+    rx473_cur."!mark_push"(0, rx473_pos, $I481)
+  rxquantr480_loop:
   # rx subrule "twigil" subtype=capture negate=
-    rx459_cur."!cursor_pos"(rx459_pos)
-    $P10 = rx459_cur."twigil"()
-    unless $P10, rx459_fail
-    rx459_cur."!mark_push"(0, -1, 0, $P10)
+    rx473_cur."!cursor_pos"(rx473_pos)
+    $P10 = rx473_cur."twigil"()
+    unless $P10, rx473_fail
+    rx473_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("twigil")
-    rx459_pos = $P10."pos"()
-    (rx459_rep) = rx459_cur."!mark_commit"($I467)
-  rxquantr466_done:
+    rx473_pos = $P10."pos"()
+    (rx473_rep) = rx473_cur."!mark_commit"($I481)
+  rxquantr480_done:
   # rx subrule "name" subtype=capture negate=
-    rx459_cur."!cursor_pos"(rx459_pos)
-    $P10 = rx459_cur."name"()
-    unless $P10, rx459_fail
-    rx459_cur."!mark_push"(0, -1, 0, $P10)
+    rx473_cur."!cursor_pos"(rx473_pos)
+    $P10 = rx473_cur."name"()
+    unless $P10, rx473_fail
+    rx473_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("desigilname")
-    rx459_pos = $P10."pos"()
-    goto alt465_end
-  alt465_1:
-    set_addr $I10, alt465_2
-    rx459_cur."!mark_push"(0, rx459_pos, $I10)
-.annotate "line", 235
+    rx473_pos = $P10."pos"()
+    goto alt479_end
+  alt479_1:
+    set_addr $I10, alt479_2
+    rx473_cur."!mark_push"(0, rx473_pos, $I10)
+.annotate "line", 240
   # rx subrule "sigil" subtype=capture negate=
-    rx459_cur."!cursor_pos"(rx459_pos)
-    $P10 = rx459_cur."sigil"()
-    unless $P10, rx459_fail
-    rx459_cur."!mark_push"(0, -1, 0, $P10)
+    rx473_cur."!cursor_pos"(rx473_pos)
+    $P10 = rx473_cur."sigil"()
+    unless $P10, rx473_fail
+    rx473_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("sigil")
-    rx459_pos = $P10."pos"()
+    rx473_pos = $P10."pos"()
   # rx enumcharlist negate=0 zerowidth
-    ge rx459_pos, rx459_eos, rx459_fail
-    sub $I10, rx459_pos, rx459_off
-    substr $S10, rx459_tgt, $I10, 1
+    ge rx473_pos, rx473_eos, rx473_fail
+    sub $I10, rx473_pos, rx473_off
+    substr $S10, rx473_tgt, $I10, 1
     index $I11, "<[", $S10
-    lt $I11, 0, rx459_fail
+    lt $I11, 0, rx473_fail
   # rx subrule "postcircumfix" subtype=capture negate=
-    rx459_cur."!cursor_pos"(rx459_pos)
-    $P10 = rx459_cur."postcircumfix"()
-    unless $P10, rx459_fail
-    rx459_cur."!mark_push"(0, -1, 0, $P10)
+    rx473_cur."!cursor_pos"(rx473_pos)
+    $P10 = rx473_cur."postcircumfix"()
+    unless $P10, rx473_fail
+    rx473_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("postcircumfix")
-    rx459_pos = $P10."pos"()
-    goto alt465_end
-  alt465_2:
-.annotate "line", 236
+    rx473_pos = $P10."pos"()
+    goto alt479_end
+  alt479_2:
+.annotate "line", 241
   # rx subcapture "sigil"
-    set_addr $I10, rxcap_468_fail
-    rx459_cur."!mark_push"(0, rx459_pos, $I10)
+    set_addr $I10, rxcap_482_fail
+    rx473_cur."!mark_push"(0, rx473_pos, $I10)
   # rx literal  "$"
-    add $I11, rx459_pos, 1
-    gt $I11, rx459_eos, rx459_fail
-    sub $I11, rx459_pos, rx459_off
-    substr $S10, rx459_tgt, $I11, 1
-    ne $S10, "$", rx459_fail
-    add rx459_pos, 1
-    set_addr $I10, rxcap_468_fail
-    ($I12, $I11) = rx459_cur."!mark_peek"($I10)
-    rx459_cur."!cursor_pos"($I11)
-    ($P10) = rx459_cur."!cursor_start"()
-    $P10."!cursor_pass"(rx459_pos, "")
-    rx459_cur."!mark_push"(0, -1, 0, $P10)
+    add $I11, rx473_pos, 1
+    gt $I11, rx473_eos, rx473_fail
+    sub $I11, rx473_pos, rx473_off
+    substr $S10, rx473_tgt, $I11, 1
+    ne $S10, "$", rx473_fail
+    add rx473_pos, 1
+    set_addr $I10, rxcap_482_fail
+    ($I12, $I11) = rx473_cur."!mark_peek"($I10)
+    rx473_cur."!cursor_pos"($I11)
+    ($P10) = rx473_cur."!cursor_start"()
+    $P10."!cursor_pass"(rx473_pos, "")
+    rx473_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("sigil")
-    goto rxcap_468_done
-  rxcap_468_fail:
-    goto rx459_fail
-  rxcap_468_done:
+    goto rxcap_482_done
+  rxcap_482_fail:
+    goto rx473_fail
+  rxcap_482_done:
   # rx subcapture "desigilname"
-    set_addr $I10, rxcap_469_fail
-    rx459_cur."!mark_push"(0, rx459_pos, $I10)
+    set_addr $I10, rxcap_483_fail
+    rx473_cur."!mark_push"(0, rx473_pos, $I10)
   # rx enumcharlist negate=0 
-    ge rx459_pos, rx459_eos, rx459_fail
-    sub $I10, rx459_pos, rx459_off
-    substr $S10, rx459_tgt, $I10, 1
+    ge rx473_pos, rx473_eos, rx473_fail
+    sub $I10, rx473_pos, rx473_off
+    substr $S10, rx473_tgt, $I10, 1
     index $I11, "/_!", $S10
-    lt $I11, 0, rx459_fail
-    inc rx459_pos
-    set_addr $I10, rxcap_469_fail
-    ($I12, $I11) = rx459_cur."!mark_peek"($I10)
-    rx459_cur."!cursor_pos"($I11)
-    ($P10) = rx459_cur."!cursor_start"()
-    $P10."!cursor_pass"(rx459_pos, "")
-    rx459_cur."!mark_push"(0, -1, 0, $P10)
+    lt $I11, 0, rx473_fail
+    inc rx473_pos
+    set_addr $I10, rxcap_483_fail
+    ($I12, $I11) = rx473_cur."!mark_peek"($I10)
+    rx473_cur."!cursor_pos"($I11)
+    ($P10) = rx473_cur."!cursor_start"()
+    $P10."!cursor_pass"(rx473_pos, "")
+    rx473_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("desigilname")
-    goto rxcap_469_done
-  rxcap_469_fail:
-    goto rx459_fail
-  rxcap_469_done:
-  alt465_end:
-.annotate "line", 233
+    goto rxcap_483_done
+  rxcap_483_fail:
+    goto rx473_fail
+  rxcap_483_done:
+  alt479_end:
+.annotate "line", 238
   # rx pass
-    rx459_cur."!cursor_pass"(rx459_pos, "variable")
-    rx459_cur."!cursor_debug"("PASS  ", "variable", " at pos=", rx459_pos)
-    .return (rx459_cur)
-  rx459_fail:
+    rx473_cur."!cursor_pass"(rx473_pos, "variable")
+    rx473_cur."!cursor_debug"("PASS  ", "variable", " at pos=", rx473_pos)
+    .return (rx473_cur)
+  rx473_fail:
 .annotate "line", 4
-    (rx459_rep, rx459_pos, $I10, $P10) = rx459_cur."!mark_fail"(0)
-    lt rx459_pos, -1, rx459_done
-    eq rx459_pos, -1, rx459_fail
+    (rx473_rep, rx473_pos, $I10, $P10) = rx473_cur."!mark_fail"(0)
+    lt rx473_pos, -1, rx473_done
+    eq rx473_pos, -1, rx473_fail
     jump $I10
-  rx459_done:
-    rx459_cur."!cursor_fail"()
-    rx459_cur."!cursor_debug"("FAIL  ", "variable")
-    .return (rx459_cur)
+  rx473_done:
+    rx473_cur."!cursor_fail"()
+    rx473_cur."!cursor_debug"("FAIL  ", "variable")
+    .return (rx473_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__variable"  :subid("114_1260829317.63188") :method
+.sub "!PREFIX__variable"  :subid("118_1261019367.36172") :method
 .annotate "line", 4
-    $P461 = self."!PREFIX__!subrule"("sigil", "")
-    $P462 = self."!PREFIX__!subrule"("sigil", "")
-    new $P463, "ResizablePMCArray"
-    push $P463, "$!"
-    push $P463, "$_"
-    push $P463, "$/"
-    push $P463, $P461
-    push $P463, $P462
-    .return ($P463)
+    $P475 = self."!PREFIX__!subrule"("sigil", "")
+    $P476 = self."!PREFIX__!subrule"("sigil", "")
+    new $P477, "ResizablePMCArray"
+    push $P477, "$!"
+    push $P477, "$_"
+    push $P477, "$/"
+    push $P477, $P475
+    push $P477, $P476
+    .return ($P477)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "sigil"  :subid("115_1260829317.63188") :method :outer("11_1260829317.63188")
+.sub "sigil"  :subid("119_1261019367.36172") :method :outer("11_1261019367.36172")
 .annotate "line", 4
-    .local string rx471_tgt
-    .local int rx471_pos
-    .local int rx471_off
-    .local int rx471_eos
-    .local int rx471_rep
-    .local pmc rx471_cur
-    (rx471_cur, rx471_pos, rx471_tgt) = self."!cursor_start"()
-    rx471_cur."!cursor_debug"("START ", "sigil")
-    .lex unicode:"$\x{a2}", rx471_cur
+    .local string rx485_tgt
+    .local int rx485_pos
+    .local int rx485_off
+    .local int rx485_eos
+    .local int rx485_rep
+    .local pmc rx485_cur
+    (rx485_cur, rx485_pos, rx485_tgt) = self."!cursor_start"()
+    rx485_cur."!cursor_debug"("START ", "sigil")
+    .lex unicode:"$\x{a2}", rx485_cur
     .local pmc match
     .lex "$/", match
-    length rx471_eos, rx471_tgt
-    set rx471_off, 0
-    lt rx471_pos, 2, rx471_start
-    sub rx471_off, rx471_pos, 1
-    substr rx471_tgt, rx471_tgt, rx471_off
-  rx471_start:
+    length rx485_eos, rx485_tgt
+    set rx485_off, 0
+    lt rx485_pos, 2, rx485_start
+    sub rx485_off, rx485_pos, 1
+    substr rx485_tgt, rx485_tgt, rx485_off
+  rx485_start:
     $I10 = self.'from'()
-    ne $I10, -1, rxscan474_done
-    goto rxscan474_scan
-  rxscan474_loop:
-    ($P10) = rx471_cur."from"()
+    ne $I10, -1, rxscan488_done
+    goto rxscan488_scan
+  rxscan488_loop:
+    ($P10) = rx485_cur."from"()
     inc $P10
-    set rx471_pos, $P10
-    ge rx471_pos, rx471_eos, rxscan474_done
-  rxscan474_scan:
-    set_addr $I10, rxscan474_loop
-    rx471_cur."!mark_push"(0, rx471_pos, $I10)
-  rxscan474_done:
-.annotate "line", 239
+    set rx485_pos, $P10
+    ge rx485_pos, rx485_eos, rxscan488_done
+  rxscan488_scan:
+    set_addr $I10, rxscan488_loop
+    rx485_cur."!mark_push"(0, rx485_pos, $I10)
+  rxscan488_done:
+.annotate "line", 244
   # rx enumcharlist negate=0 
-    ge rx471_pos, rx471_eos, rx471_fail
-    sub $I10, rx471_pos, rx471_off
-    substr $S10, rx471_tgt, $I10, 1
+    ge rx485_pos, rx485_eos, rx485_fail
+    sub $I10, rx485_pos, rx485_off
+    substr $S10, rx485_tgt, $I10, 1
     index $I11, "$@%&", $S10
-    lt $I11, 0, rx471_fail
-    inc rx471_pos
+    lt $I11, 0, rx485_fail
+    inc rx485_pos
   # rx pass
-    rx471_cur."!cursor_pass"(rx471_pos, "sigil")
-    rx471_cur."!cursor_debug"("PASS  ", "sigil", " at pos=", rx471_pos)
-    .return (rx471_cur)
-  rx471_fail:
+    rx485_cur."!cursor_pass"(rx485_pos, "sigil")
+    rx485_cur."!cursor_debug"("PASS  ", "sigil", " at pos=", rx485_pos)
+    .return (rx485_cur)
+  rx485_fail:
 .annotate "line", 4
-    (rx471_rep, rx471_pos, $I10, $P10) = rx471_cur."!mark_fail"(0)
-    lt rx471_pos, -1, rx471_done
-    eq rx471_pos, -1, rx471_fail
+    (rx485_rep, rx485_pos, $I10, $P10) = rx485_cur."!mark_fail"(0)
+    lt rx485_pos, -1, rx485_done
+    eq rx485_pos, -1, rx485_fail
     jump $I10
-  rx471_done:
-    rx471_cur."!cursor_fail"()
-    rx471_cur."!cursor_debug"("FAIL  ", "sigil")
-    .return (rx471_cur)
+  rx485_done:
+    rx485_cur."!cursor_fail"()
+    rx485_cur."!cursor_debug"("FAIL  ", "sigil")
+    .return (rx485_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__sigil"  :subid("116_1260829317.63188") :method
+.sub "!PREFIX__sigil"  :subid("120_1261019367.36172") :method
 .annotate "line", 4
-    new $P473, "ResizablePMCArray"
-    push $P473, "&"
-    push $P473, "%"
-    push $P473, "@"
-    push $P473, "$"
-    .return ($P473)
+    new $P487, "ResizablePMCArray"
+    push $P487, "&"
+    push $P487, "%"
+    push $P487, "@"
+    push $P487, "$"
+    .return ($P487)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "twigil"  :subid("117_1260829317.63188") :method :outer("11_1260829317.63188")
-.annotate "line", 4
-    .local string rx476_tgt
-    .local int rx476_pos
-    .local int rx476_off
-    .local int rx476_eos
-    .local int rx476_rep
-    .local pmc rx476_cur
-    (rx476_cur, rx476_pos, rx476_tgt) = self."!cursor_start"()
-    rx476_cur."!cursor_debug"("START ", "twigil")
-    .lex unicode:"$\x{a2}", rx476_cur
-    .local pmc match
-    .lex "$/", match
-    length rx476_eos, rx476_tgt
-    set rx476_off, 0
-    lt rx476_pos, 2, rx476_start
-    sub rx476_off, rx476_pos, 1
-    substr rx476_tgt, rx476_tgt, rx476_off
-  rx476_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan479_done
-    goto rxscan479_scan
-  rxscan479_loop:
-    ($P10) = rx476_cur."from"()
-    inc $P10
-    set rx476_pos, $P10
-    ge rx476_pos, rx476_eos, rxscan479_done
-  rxscan479_scan:
-    set_addr $I10, rxscan479_loop
-    rx476_cur."!mark_push"(0, rx476_pos, $I10)
-  rxscan479_done:
-.annotate "line", 241
+.sub "twigil"  :subid("121_1261019367.36172") :method :outer("11_1261019367.36172")
+.annotate "line", 4
+    .local string rx490_tgt
+    .local int rx490_pos
+    .local int rx490_off
+    .local int rx490_eos
+    .local int rx490_rep
+    .local pmc rx490_cur
+    (rx490_cur, rx490_pos, rx490_tgt) = self."!cursor_start"()
+    rx490_cur."!cursor_debug"("START ", "twigil")
+    .lex unicode:"$\x{a2}", rx490_cur
+    .local pmc match
+    .lex "$/", match
+    length rx490_eos, rx490_tgt
+    set rx490_off, 0
+    lt rx490_pos, 2, rx490_start
+    sub rx490_off, rx490_pos, 1
+    substr rx490_tgt, rx490_tgt, rx490_off
+  rx490_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan493_done
+    goto rxscan493_scan
+  rxscan493_loop:
+    ($P10) = rx490_cur."from"()
+    inc $P10
+    set rx490_pos, $P10
+    ge rx490_pos, rx490_eos, rxscan493_done
+  rxscan493_scan:
+    set_addr $I10, rxscan493_loop
+    rx490_cur."!mark_push"(0, rx490_pos, $I10)
+  rxscan493_done:
+.annotate "line", 246
   # rx enumcharlist negate=0 
-    ge rx476_pos, rx476_eos, rx476_fail
-    sub $I10, rx476_pos, rx476_off
-    substr $S10, rx476_tgt, $I10, 1
+    ge rx490_pos, rx490_eos, rx490_fail
+    sub $I10, rx490_pos, rx490_off
+    substr $S10, rx490_tgt, $I10, 1
     index $I11, "*!?", $S10
-    lt $I11, 0, rx476_fail
-    inc rx476_pos
+    lt $I11, 0, rx490_fail
+    inc rx490_pos
   # rx pass
-    rx476_cur."!cursor_pass"(rx476_pos, "twigil")
-    rx476_cur."!cursor_debug"("PASS  ", "twigil", " at pos=", rx476_pos)
-    .return (rx476_cur)
-  rx476_fail:
+    rx490_cur."!cursor_pass"(rx490_pos, "twigil")
+    rx490_cur."!cursor_debug"("PASS  ", "twigil", " at pos=", rx490_pos)
+    .return (rx490_cur)
+  rx490_fail:
 .annotate "line", 4
-    (rx476_rep, rx476_pos, $I10, $P10) = rx476_cur."!mark_fail"(0)
-    lt rx476_pos, -1, rx476_done
-    eq rx476_pos, -1, rx476_fail
+    (rx490_rep, rx490_pos, $I10, $P10) = rx490_cur."!mark_fail"(0)
+    lt rx490_pos, -1, rx490_done
+    eq rx490_pos, -1, rx490_fail
     jump $I10
-  rx476_done:
-    rx476_cur."!cursor_fail"()
-    rx476_cur."!cursor_debug"("FAIL  ", "twigil")
-    .return (rx476_cur)
+  rx490_done:
+    rx490_cur."!cursor_fail"()
+    rx490_cur."!cursor_debug"("FAIL  ", "twigil")
+    .return (rx490_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__twigil"  :subid("118_1260829317.63188") :method
+.sub "!PREFIX__twigil"  :subid("122_1261019367.36172") :method
 .annotate "line", 4
-    new $P478, "ResizablePMCArray"
-    push $P478, "?"
-    push $P478, "!"
-    push $P478, "*"
-    .return ($P478)
+    new $P492, "ResizablePMCArray"
+    push $P492, "?"
+    push $P492, "!"
+    push $P492, "*"
+    .return ($P492)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "package_declarator"  :subid("119_1260829317.63188") :method
-.annotate "line", 243
-    $P481 = self."!protoregex"("package_declarator")
-    .return ($P481)
+.sub "package_declarator"  :subid("123_1261019367.36172") :method
+.annotate "line", 248
+    $P495 = self."!protoregex"("package_declarator")
+    .return ($P495)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__package_declarator"  :subid("120_1260829317.63188") :method
-.annotate "line", 243
-    $P483 = self."!PREFIX__!protoregex"("package_declarator")
-    .return ($P483)
+.sub "!PREFIX__package_declarator"  :subid("124_1261019367.36172") :method
+.annotate "line", 248
+    $P497 = self."!PREFIX__!protoregex"("package_declarator")
+    .return ($P497)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "package_declarator:sym<module>"  :subid("121_1260829317.63188") :method :outer("11_1260829317.63188")
+.sub "package_declarator:sym<module>"  :subid("125_1261019367.36172") :method :outer("11_1261019367.36172")
 .annotate "line", 4
-    .local string rx485_tgt
-    .local int rx485_pos
-    .local int rx485_off
-    .local int rx485_eos
-    .local int rx485_rep
-    .local pmc rx485_cur
-    (rx485_cur, rx485_pos, rx485_tgt) = self."!cursor_start"()
-    rx485_cur."!cursor_debug"("START ", "package_declarator:sym<module>")
-    .lex unicode:"$\x{a2}", rx485_cur
-    .local pmc match
-    .lex "$/", match
-    length rx485_eos, rx485_tgt
-    set rx485_off, 0
-    lt rx485_pos, 2, rx485_start
-    sub rx485_off, rx485_pos, 1
-    substr rx485_tgt, rx485_tgt, rx485_off
-  rx485_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan489_done
-    goto rxscan489_scan
-  rxscan489_loop:
-    ($P10) = rx485_cur."from"()
-    inc $P10
-    set rx485_pos, $P10
-    ge rx485_pos, rx485_eos, rxscan489_done
-  rxscan489_scan:
-    set_addr $I10, rxscan489_loop
-    rx485_cur."!mark_push"(0, rx485_pos, $I10)
-  rxscan489_done:
-.annotate "line", 244
+    .local string rx499_tgt
+    .local int rx499_pos
+    .local int rx499_off
+    .local int rx499_eos
+    .local int rx499_rep
+    .local pmc rx499_cur
+    (rx499_cur, rx499_pos, rx499_tgt) = self."!cursor_start"()
+    rx499_cur."!cursor_debug"("START ", "package_declarator:sym<module>")
+    .lex unicode:"$\x{a2}", rx499_cur
+    .local pmc match
+    .lex "$/", match
+    length rx499_eos, rx499_tgt
+    set rx499_off, 0
+    lt rx499_pos, 2, rx499_start
+    sub rx499_off, rx499_pos, 1
+    substr rx499_tgt, rx499_tgt, rx499_off
+  rx499_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan503_done
+    goto rxscan503_scan
+  rxscan503_loop:
+    ($P10) = rx499_cur."from"()
+    inc $P10
+    set rx499_pos, $P10
+    ge rx499_pos, rx499_eos, rxscan503_done
+  rxscan503_scan:
+    set_addr $I10, rxscan503_loop
+    rx499_cur."!mark_push"(0, rx499_pos, $I10)
+  rxscan503_done:
+.annotate "line", 249
   # rx subcapture "sym"
-    set_addr $I10, rxcap_490_fail
-    rx485_cur."!mark_push"(0, rx485_pos, $I10)
+    set_addr $I10, rxcap_504_fail
+    rx499_cur."!mark_push"(0, rx499_pos, $I10)
   # rx literal  "module"
-    add $I11, rx485_pos, 6
-    gt $I11, rx485_eos, rx485_fail
-    sub $I11, rx485_pos, rx485_off
-    substr $S10, rx485_tgt, $I11, 6
-    ne $S10, "module", rx485_fail
-    add rx485_pos, 6
-    set_addr $I10, rxcap_490_fail
-    ($I12, $I11) = rx485_cur."!mark_peek"($I10)
-    rx485_cur."!cursor_pos"($I11)
-    ($P10) = rx485_cur."!cursor_start"()
-    $P10."!cursor_pass"(rx485_pos, "")
-    rx485_cur."!mark_push"(0, -1, 0, $P10)
+    add $I11, rx499_pos, 6
+    gt $I11, rx499_eos, rx499_fail
+    sub $I11, rx499_pos, rx499_off
+    substr $S10, rx499_tgt, $I11, 6
+    ne $S10, "module", rx499_fail
+    add rx499_pos, 6
+    set_addr $I10, rxcap_504_fail
+    ($I12, $I11) = rx499_cur."!mark_peek"($I10)
+    rx499_cur."!cursor_pos"($I11)
+    ($P10) = rx499_cur."!cursor_start"()
+    $P10."!cursor_pass"(rx499_pos, "")
+    rx499_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("sym")
-    goto rxcap_490_done
-  rxcap_490_fail:
-    goto rx485_fail
-  rxcap_490_done:
+    goto rxcap_504_done
+  rxcap_504_fail:
+    goto rx499_fail
+  rxcap_504_done:
   # rx subrule "package_def" subtype=capture negate=
-    rx485_cur."!cursor_pos"(rx485_pos)
-    $P10 = rx485_cur."package_def"()
-    unless $P10, rx485_fail
-    rx485_cur."!mark_push"(0, -1, 0, $P10)
+    rx499_cur."!cursor_pos"(rx499_pos)
+    $P10 = rx499_cur."package_def"()
+    unless $P10, rx499_fail
+    rx499_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("package_def")
-    rx485_pos = $P10."pos"()
+    rx499_pos = $P10."pos"()
   # rx pass
-    rx485_cur."!cursor_pass"(rx485_pos, "package_declarator:sym<module>")
-    rx485_cur."!cursor_debug"("PASS  ", "package_declarator:sym<module>", " at pos=", rx485_pos)
-    .return (rx485_cur)
-  rx485_fail:
+    rx499_cur."!cursor_pass"(rx499_pos, "package_declarator:sym<module>")
+    rx499_cur."!cursor_debug"("PASS  ", "package_declarator:sym<module>", " at pos=", rx499_pos)
+    .return (rx499_cur)
+  rx499_fail:
 .annotate "line", 4
-    (rx485_rep, rx485_pos, $I10, $P10) = rx485_cur."!mark_fail"(0)
-    lt rx485_pos, -1, rx485_done
-    eq rx485_pos, -1, rx485_fail
+    (rx499_rep, rx499_pos, $I10, $P10) = rx499_cur."!mark_fail"(0)
+    lt rx499_pos, -1, rx499_done
+    eq rx499_pos, -1, rx499_fail
     jump $I10
-  rx485_done:
-    rx485_cur."!cursor_fail"()
-    rx485_cur."!cursor_debug"("FAIL  ", "package_declarator:sym<module>")
-    .return (rx485_cur)
+  rx499_done:
+    rx499_cur."!cursor_fail"()
+    rx499_cur."!cursor_debug"("FAIL  ", "package_declarator:sym<module>")
+    .return (rx499_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__package_declarator:sym<module>"  :subid("122_1260829317.63188") :method
+.sub "!PREFIX__package_declarator:sym<module>"  :subid("126_1261019367.36172") :method
 .annotate "line", 4
-    $P487 = self."!PREFIX__!subrule"("package_def", "module")
-    new $P488, "ResizablePMCArray"
-    push $P488, $P487
-    .return ($P488)
+    $P501 = self."!PREFIX__!subrule"("package_def", "module")
+    new $P502, "ResizablePMCArray"
+    push $P502, $P501
+    .return ($P502)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "package_declarator:sym<class>"  :subid("123_1260829317.63188") :method :outer("11_1260829317.63188")
-.annotate "line", 4
-    .local string rx492_tgt
-    .local int rx492_pos
-    .local int rx492_off
-    .local int rx492_eos
-    .local int rx492_rep
-    .local pmc rx492_cur
-    (rx492_cur, rx492_pos, rx492_tgt) = self."!cursor_start"()
-    rx492_cur."!cursor_debug"("START ", "package_declarator:sym<class>")
-    .lex unicode:"$\x{a2}", rx492_cur
-    .local pmc match
-    .lex "$/", match
-    length rx492_eos, rx492_tgt
-    set rx492_off, 0
-    lt rx492_pos, 2, rx492_start
-    sub rx492_off, rx492_pos, 1
-    substr rx492_tgt, rx492_tgt, rx492_off
-  rx492_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan497_done
-    goto rxscan497_scan
-  rxscan497_loop:
-    ($P10) = rx492_cur."from"()
-    inc $P10
-    set rx492_pos, $P10
-    ge rx492_pos, rx492_eos, rxscan497_done
-  rxscan497_scan:
-    set_addr $I10, rxscan497_loop
-    rx492_cur."!mark_push"(0, rx492_pos, $I10)
-  rxscan497_done:
-.annotate "line", 245
+.sub "package_declarator:sym<class>"  :subid("127_1261019367.36172") :method :outer("11_1261019367.36172")
+.annotate "line", 4
+    .local string rx506_tgt
+    .local int rx506_pos
+    .local int rx506_off
+    .local int rx506_eos
+    .local int rx506_rep
+    .local pmc rx506_cur
+    (rx506_cur, rx506_pos, rx506_tgt) = self."!cursor_start"()
+    rx506_cur."!cursor_debug"("START ", "package_declarator:sym<class>")
+    .lex unicode:"$\x{a2}", rx506_cur
+    .local pmc match
+    .lex "$/", match
+    length rx506_eos, rx506_tgt
+    set rx506_off, 0
+    lt rx506_pos, 2, rx506_start
+    sub rx506_off, rx506_pos, 1
+    substr rx506_tgt, rx506_tgt, rx506_off
+  rx506_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan511_done
+    goto rxscan511_scan
+  rxscan511_loop:
+    ($P10) = rx506_cur."from"()
+    inc $P10
+    set rx506_pos, $P10
+    ge rx506_pos, rx506_eos, rxscan511_done
+  rxscan511_scan:
+    set_addr $I10, rxscan511_loop
+    rx506_cur."!mark_push"(0, rx506_pos, $I10)
+  rxscan511_done:
+.annotate "line", 250
   # rx subcapture "sym"
-    set_addr $I10, rxcap_499_fail
-    rx492_cur."!mark_push"(0, rx492_pos, $I10)
-  alt498_0:
-    set_addr $I10, alt498_1
-    rx492_cur."!mark_push"(0, rx492_pos, $I10)
+    set_addr $I10, rxcap_513_fail
+    rx506_cur."!mark_push"(0, rx506_pos, $I10)
+  alt512_0:
+    set_addr $I10, alt512_1
+    rx506_cur."!mark_push"(0, rx506_pos, $I10)
   # rx literal  "class"
-    add $I11, rx492_pos, 5
-    gt $I11, rx492_eos, rx492_fail
-    sub $I11, rx492_pos, rx492_off
-    substr $S10, rx492_tgt, $I11, 5
-    ne $S10, "class", rx492_fail
-    add rx492_pos, 5
-    goto alt498_end
-  alt498_1:
+    add $I11, rx506_pos, 5
+    gt $I11, rx506_eos, rx506_fail
+    sub $I11, rx506_pos, rx506_off
+    substr $S10, rx506_tgt, $I11, 5
+    ne $S10, "class", rx506_fail
+    add rx506_pos, 5
+    goto alt512_end
+  alt512_1:
   # rx literal  "grammar"
-    add $I11, rx492_pos, 7
-    gt $I11, rx492_eos, rx492_fail
-    sub $I11, rx492_pos, rx492_off
-    substr $S10, rx492_tgt, $I11, 7
-    ne $S10, "grammar", rx492_fail
-    add rx492_pos, 7
-  alt498_end:
-    set_addr $I10, rxcap_499_fail
-    ($I12, $I11) = rx492_cur."!mark_peek"($I10)
-    rx492_cur."!cursor_pos"($I11)
-    ($P10) = rx492_cur."!cursor_start"()
-    $P10."!cursor_pass"(rx492_pos, "")
-    rx492_cur."!mark_push"(0, -1, 0, $P10)
+    add $I11, rx506_pos, 7
+    gt $I11, rx506_eos, rx506_fail
+    sub $I11, rx506_pos, rx506_off
+    substr $S10, rx506_tgt, $I11, 7
+    ne $S10, "grammar", rx506_fail
+    add rx506_pos, 7
+  alt512_end:
+    set_addr $I10, rxcap_513_fail
+    ($I12, $I11) = rx506_cur."!mark_peek"($I10)
+    rx506_cur."!cursor_pos"($I11)
+    ($P10) = rx506_cur."!cursor_start"()
+    $P10."!cursor_pass"(rx506_pos, "")
+    rx506_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("sym")
-    goto rxcap_499_done
-  rxcap_499_fail:
-    goto rx492_fail
-  rxcap_499_done:
+    goto rxcap_513_done
+  rxcap_513_fail:
+    goto rx506_fail
+  rxcap_513_done:
   # rx subrule "package_def" subtype=capture negate=
-    rx492_cur."!cursor_pos"(rx492_pos)
-    $P10 = rx492_cur."package_def"()
-    unless $P10, rx492_fail
-    rx492_cur."!mark_push"(0, -1, 0, $P10)
+    rx506_cur."!cursor_pos"(rx506_pos)
+    $P10 = rx506_cur."package_def"()
+    unless $P10, rx506_fail
+    rx506_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("package_def")
-    rx492_pos = $P10."pos"()
+    rx506_pos = $P10."pos"()
   # rx pass
-    rx492_cur."!cursor_pass"(rx492_pos, "package_declarator:sym<class>")
-    rx492_cur."!cursor_debug"("PASS  ", "package_declarator:sym<class>", " at pos=", rx492_pos)
-    .return (rx492_cur)
-  rx492_fail:
+    rx506_cur."!cursor_pass"(rx506_pos, "package_declarator:sym<class>")
+    rx506_cur."!cursor_debug"("PASS  ", "package_declarator:sym<class>", " at pos=", rx506_pos)
+    .return (rx506_cur)
+  rx506_fail:
 .annotate "line", 4
-    (rx492_rep, rx492_pos, $I10, $P10) = rx492_cur."!mark_fail"(0)
-    lt rx492_pos, -1, rx492_done
-    eq rx492_pos, -1, rx492_fail
+    (rx506_rep, rx506_pos, $I10, $P10) = rx506_cur."!mark_fail"(0)
+    lt rx506_pos, -1, rx506_done
+    eq rx506_pos, -1, rx506_fail
     jump $I10
-  rx492_done:
-    rx492_cur."!cursor_fail"()
-    rx492_cur."!cursor_debug"("FAIL  ", "package_declarator:sym<class>")
-    .return (rx492_cur)
+  rx506_done:
+    rx506_cur."!cursor_fail"()
+    rx506_cur."!cursor_debug"("FAIL  ", "package_declarator:sym<class>")
+    .return (rx506_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__package_declarator:sym<class>"  :subid("124_1260829317.63188") :method
+.sub "!PREFIX__package_declarator:sym<class>"  :subid("128_1261019367.36172") :method
 .annotate "line", 4
-    $P494 = self."!PREFIX__!subrule"("package_def", "grammar")
-    $P495 = self."!PREFIX__!subrule"("package_def", "class")
-    new $P496, "ResizablePMCArray"
-    push $P496, $P494
-    push $P496, $P495
-    .return ($P496)
+    $P508 = self."!PREFIX__!subrule"("package_def", "grammar")
+    $P509 = self."!PREFIX__!subrule"("package_def", "class")
+    new $P510, "ResizablePMCArray"
+    push $P510, $P508
+    push $P510, $P509
+    .return ($P510)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "package_def"  :subid("125_1260829317.63188") :method :outer("11_1260829317.63188")
+.sub "package_def"  :subid("129_1261019367.36172") :method :outer("11_1261019367.36172")
 .annotate "line", 4
-    .local string rx501_tgt
-    .local int rx501_pos
-    .local int rx501_off
-    .local int rx501_eos
-    .local int rx501_rep
-    .local pmc rx501_cur
-    (rx501_cur, rx501_pos, rx501_tgt) = self."!cursor_start"()
-    rx501_cur."!cursor_debug"("START ", "package_def")
-    rx501_cur."!cursor_caparray"("parent")
-    .lex unicode:"$\x{a2}", rx501_cur
+    .local string rx515_tgt
+    .local int rx515_pos
+    .local int rx515_off
+    .local int rx515_eos
+    .local int rx515_rep
+    .local pmc rx515_cur
+    (rx515_cur, rx515_pos, rx515_tgt) = self."!cursor_start"()
+    rx515_cur."!cursor_debug"("START ", "package_def")
+    rx515_cur."!cursor_caparray"("parent")
+    .lex unicode:"$\x{a2}", rx515_cur
     .local pmc match
     .lex "$/", match
-    length rx501_eos, rx501_tgt
-    set rx501_off, 0
-    lt rx501_pos, 2, rx501_start
-    sub rx501_off, rx501_pos, 1
-    substr rx501_tgt, rx501_tgt, rx501_off
-  rx501_start:
+    length rx515_eos, rx515_tgt
+    set rx515_off, 0
+    lt rx515_pos, 2, rx515_start
+    sub rx515_off, rx515_pos, 1
+    substr rx515_tgt, rx515_tgt, rx515_off
+  rx515_start:
     $I10 = self.'from'()
-    ne $I10, -1, rxscan504_done
-    goto rxscan504_scan
-  rxscan504_loop:
-    ($P10) = rx501_cur."from"()
+    ne $I10, -1, rxscan518_done
+    goto rxscan518_scan
+  rxscan518_loop:
+    ($P10) = rx515_cur."from"()
     inc $P10
-    set rx501_pos, $P10
-    ge rx501_pos, rx501_eos, rxscan504_done
-  rxscan504_scan:
-    set_addr $I10, rxscan504_loop
-    rx501_cur."!mark_push"(0, rx501_pos, $I10)
-  rxscan504_done:
-.annotate "line", 247
+    set rx515_pos, $P10
+    ge rx515_pos, rx515_eos, rxscan518_done
+  rxscan518_scan:
+    set_addr $I10, rxscan518_loop
+    rx515_cur."!mark_push"(0, rx515_pos, $I10)
+  rxscan518_done:
+.annotate "line", 252
   # rx subrule "ws" subtype=method negate=
-    rx501_cur."!cursor_pos"(rx501_pos)
-    $P10 = rx501_cur."ws"()
-    unless $P10, rx501_fail
-    rx501_pos = $P10."pos"()
-.annotate "line", 248
+    rx515_cur."!cursor_pos"(rx515_pos)
+    $P10 = rx515_cur."ws"()
+    unless $P10, rx515_fail
+    rx515_pos = $P10."pos"()
+.annotate "line", 253
   # rx subrule "name" subtype=capture negate=
-    rx501_cur."!cursor_pos"(rx501_pos)
-    $P10 = rx501_cur."name"()
-    unless $P10, rx501_fail
-    rx501_cur."!mark_push"(0, -1, 0, $P10)
+    rx515_cur."!cursor_pos"(rx515_pos)
+    $P10 = rx515_cur."name"()
+    unless $P10, rx515_fail
+    rx515_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("name")
-    rx501_pos = $P10."pos"()
+    rx515_pos = $P10."pos"()
   # rx subrule "ws" subtype=method negate=
-    rx501_cur."!cursor_pos"(rx501_pos)
-    $P10 = rx501_cur."ws"()
-    unless $P10, rx501_fail
-    rx501_pos = $P10."pos"()
-.annotate "line", 249
-  # rx rxquantr507 ** 0..1
-    set_addr $I511, rxquantr507_done
-    rx501_cur."!mark_push"(0, rx501_pos, $I511)
-  rxquantr507_loop:
-  # rx subrule "ws" subtype=method negate=
-    rx501_cur."!cursor_pos"(rx501_pos)
-    $P10 = rx501_cur."ws"()
-    unless $P10, rx501_fail
-    rx501_pos = $P10."pos"()
+    rx515_cur."!cursor_pos"(rx515_pos)
+    $P10 = rx515_cur."ws"()
+    unless $P10, rx515_fail
+    rx515_pos = $P10."pos"()
+.annotate "line", 254
+  # rx rxquantr521 ** 0..1
+    set_addr $I525, rxquantr521_done
+    rx515_cur."!mark_push"(0, rx515_pos, $I525)
+  rxquantr521_loop:
+  # rx subrule "ws" subtype=method negate=
+    rx515_cur."!cursor_pos"(rx515_pos)
+    $P10 = rx515_cur."ws"()
+    unless $P10, rx515_fail
+    rx515_pos = $P10."pos"()
   # rx literal  "is"
-    add $I11, rx501_pos, 2
-    gt $I11, rx501_eos, rx501_fail
-    sub $I11, rx501_pos, rx501_off
-    substr $S10, rx501_tgt, $I11, 2
-    ne $S10, "is", rx501_fail
-    add rx501_pos, 2
-  # rx subrule "ws" subtype=method negate=
-    rx501_cur."!cursor_pos"(rx501_pos)
-    $P10 = rx501_cur."ws"()
-    unless $P10, rx501_fail
-    rx501_pos = $P10."pos"()
+    add $I11, rx515_pos, 2
+    gt $I11, rx515_eos, rx515_fail
+    sub $I11, rx515_pos, rx515_off
+    substr $S10, rx515_tgt, $I11, 2
+    ne $S10, "is", rx515_fail
+    add rx515_pos, 2
+  # rx subrule "ws" subtype=method negate=
+    rx515_cur."!cursor_pos"(rx515_pos)
+    $P10 = rx515_cur."ws"()
+    unless $P10, rx515_fail
+    rx515_pos = $P10."pos"()
   # rx subrule "name" subtype=capture negate=
-    rx501_cur."!cursor_pos"(rx501_pos)
-    $P10 = rx501_cur."name"()
-    unless $P10, rx501_fail
-    rx501_cur."!mark_push"(0, -1, 0, $P10)
+    rx515_cur."!cursor_pos"(rx515_pos)
+    $P10 = rx515_cur."name"()
+    unless $P10, rx515_fail
+    rx515_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("parent")
-    rx501_pos = $P10."pos"()
+    rx515_pos = $P10."pos"()
   # rx subrule "ws" subtype=method negate=
-    rx501_cur."!cursor_pos"(rx501_pos)
-    $P10 = rx501_cur."ws"()
-    unless $P10, rx501_fail
-    rx501_pos = $P10."pos"()
-    (rx501_rep) = rx501_cur."!mark_commit"($I511)
-  rxquantr507_done:
-  # rx subrule "ws" subtype=method negate=
-    rx501_cur."!cursor_pos"(rx501_pos)
-    $P10 = rx501_cur."ws"()
-    unless $P10, rx501_fail
-    rx501_pos = $P10."pos"()
-  alt513_0:
-.annotate "line", 250
-    set_addr $I10, alt513_1
-    rx501_cur."!mark_push"(0, rx501_pos, $I10)
-.annotate "line", 251
-  # rx subrule "ws" subtype=method negate=
-    rx501_cur."!cursor_pos"(rx501_pos)
-    $P10 = rx501_cur."ws"()
-    unless $P10, rx501_fail
-    rx501_pos = $P10."pos"()
+    rx515_cur."!cursor_pos"(rx515_pos)
+    $P10 = rx515_cur."ws"()
+    unless $P10, rx515_fail
+    rx515_pos = $P10."pos"()
+    (rx515_rep) = rx515_cur."!mark_commit"($I525)
+  rxquantr521_done:
+  # rx subrule "ws" subtype=method negate=
+    rx515_cur."!cursor_pos"(rx515_pos)
+    $P10 = rx515_cur."ws"()
+    unless $P10, rx515_fail
+    rx515_pos = $P10."pos"()
+  alt527_0:
+.annotate "line", 255
+    set_addr $I10, alt527_1
+    rx515_cur."!mark_push"(0, rx515_pos, $I10)
+.annotate "line", 256
+  # rx subrule "ws" subtype=method negate=
+    rx515_cur."!cursor_pos"(rx515_pos)
+    $P10 = rx515_cur."ws"()
+    unless $P10, rx515_fail
+    rx515_pos = $P10."pos"()
   # rx literal  ";"
-    add $I11, rx501_pos, 1
-    gt $I11, rx501_eos, rx501_fail
-    sub $I11, rx501_pos, rx501_off
-    substr $S10, rx501_tgt, $I11, 1
-    ne $S10, ";", rx501_fail
-    add rx501_pos, 1
-  # rx subrule "ws" subtype=method negate=
-    rx501_cur."!cursor_pos"(rx501_pos)
-    $P10 = rx501_cur."ws"()
-    unless $P10, rx501_fail
-    rx501_pos = $P10."pos"()
+    add $I11, rx515_pos, 1
+    gt $I11, rx515_eos, rx515_fail
+    sub $I11, rx515_pos, rx515_off
+    substr $S10, rx515_tgt, $I11, 1
+    ne $S10, ";", rx515_fail
+    add rx515_pos, 1
+  # rx subrule "ws" subtype=method negate=
+    rx515_cur."!cursor_pos"(rx515_pos)
+    $P10 = rx515_cur."ws"()
+    unless $P10, rx515_fail
+    rx515_pos = $P10."pos"()
   # rx subrule "comp_unit" subtype=capture negate=
-    rx501_cur."!cursor_pos"(rx501_pos)
-    $P10 = rx501_cur."comp_unit"()
-    unless $P10, rx501_fail
-    rx501_cur."!mark_push"(0, -1, 0, $P10)
+    rx515_cur."!cursor_pos"(rx515_pos)
+    $P10 = rx515_cur."comp_unit"()
+    unless $P10, rx515_fail
+    rx515_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("comp_unit")
-    rx501_pos = $P10."pos"()
+    rx515_pos = $P10."pos"()
   # rx subrule "ws" subtype=method negate=
-    rx501_cur."!cursor_pos"(rx501_pos)
-    $P10 = rx501_cur."ws"()
-    unless $P10, rx501_fail
-    rx501_pos = $P10."pos"()
-    goto alt513_end
-  alt513_1:
-    set_addr $I10, alt513_2
-    rx501_cur."!mark_push"(0, rx501_pos, $I10)
-.annotate "line", 252
+    rx515_cur."!cursor_pos"(rx515_pos)
+    $P10 = rx515_cur."ws"()
+    unless $P10, rx515_fail
+    rx515_pos = $P10."pos"()
+    goto alt527_end
+  alt527_1:
+    set_addr $I10, alt527_2
+    rx515_cur."!mark_push"(0, rx515_pos, $I10)
+.annotate "line", 257
   # rx subrule "ws" subtype=method negate=
-    rx501_cur."!cursor_pos"(rx501_pos)
-    $P10 = rx501_cur."ws"()
-    unless $P10, rx501_fail
-    rx501_pos = $P10."pos"()
+    rx515_cur."!cursor_pos"(rx515_pos)
+    $P10 = rx515_cur."ws"()
+    unless $P10, rx515_fail
+    rx515_pos = $P10."pos"()
   # rx enumcharlist negate=0 zerowidth
-    ge rx501_pos, rx501_eos, rx501_fail
-    sub $I10, rx501_pos, rx501_off
-    substr $S10, rx501_tgt, $I10, 1
+    ge rx515_pos, rx515_eos, rx515_fail
+    sub $I10, rx515_pos, rx515_off
+    substr $S10, rx515_tgt, $I10, 1
     index $I11, "{", $S10
-    lt $I11, 0, rx501_fail
+    lt $I11, 0, rx515_fail
   # rx subrule "ws" subtype=method negate=
-    rx501_cur."!cursor_pos"(rx501_pos)
-    $P10 = rx501_cur."ws"()
-    unless $P10, rx501_fail
-    rx501_pos = $P10."pos"()
+    rx515_cur."!cursor_pos"(rx515_pos)
+    $P10 = rx515_cur."ws"()
+    unless $P10, rx515_fail
+    rx515_pos = $P10."pos"()
   # rx subrule "block" subtype=capture negate=
-    rx501_cur."!cursor_pos"(rx501_pos)
-    $P10 = rx501_cur."block"()
-    unless $P10, rx501_fail
-    rx501_cur."!mark_push"(0, -1, 0, $P10)
+    rx515_cur."!cursor_pos"(rx515_pos)
+    $P10 = rx515_cur."block"()
+    unless $P10, rx515_fail
+    rx515_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("block")
-    rx501_pos = $P10."pos"()
+    rx515_pos = $P10."pos"()
   # rx subrule "ws" subtype=method negate=
-    rx501_cur."!cursor_pos"(rx501_pos)
-    $P10 = rx501_cur."ws"()
-    unless $P10, rx501_fail
-    rx501_pos = $P10."pos"()
-    goto alt513_end
-  alt513_2:
-.annotate "line", 253
+    rx515_cur."!cursor_pos"(rx515_pos)
+    $P10 = rx515_cur."ws"()
+    unless $P10, rx515_fail
+    rx515_pos = $P10."pos"()
+    goto alt527_end
+  alt527_2:
+.annotate "line", 258
   # rx subrule "ws" subtype=method negate=
-    rx501_cur."!cursor_pos"(rx501_pos)
-    $P10 = rx501_cur."ws"()
-    unless $P10, rx501_fail
-    rx501_pos = $P10."pos"()
+    rx515_cur."!cursor_pos"(rx515_pos)
+    $P10 = rx515_cur."ws"()
+    unless $P10, rx515_fail
+    rx515_pos = $P10."pos"()
   # rx subrule "panic" subtype=method negate=
-    rx501_cur."!cursor_pos"(rx501_pos)
-    $P10 = rx501_cur."panic"("Malformed package declaration")
-    unless $P10, rx501_fail
-    rx501_pos = $P10."pos"()
-  # rx subrule "ws" subtype=method negate=
-    rx501_cur."!cursor_pos"(rx501_pos)
-    $P10 = rx501_cur."ws"()
-    unless $P10, rx501_fail
-    rx501_pos = $P10."pos"()
-  alt513_end:
-.annotate "line", 254
+    rx515_cur."!cursor_pos"(rx515_pos)
+    $P10 = rx515_cur."panic"("Malformed package declaration")
+    unless $P10, rx515_fail
+    rx515_pos = $P10."pos"()
+  # rx subrule "ws" subtype=method negate=
+    rx515_cur."!cursor_pos"(rx515_pos)
+    $P10 = rx515_cur."ws"()
+    unless $P10, rx515_fail
+    rx515_pos = $P10."pos"()
+  alt527_end:
+.annotate "line", 259
   # rx subrule "ws" subtype=method negate=
-    rx501_cur."!cursor_pos"(rx501_pos)
-    $P10 = rx501_cur."ws"()
-    unless $P10, rx501_fail
-    rx501_pos = $P10."pos"()
-.annotate "line", 247
+    rx515_cur."!cursor_pos"(rx515_pos)
+    $P10 = rx515_cur."ws"()
+    unless $P10, rx515_fail
+    rx515_pos = $P10."pos"()
+.annotate "line", 252
   # rx pass
-    rx501_cur."!cursor_pass"(rx501_pos, "package_def")
-    rx501_cur."!cursor_debug"("PASS  ", "package_def", " at pos=", rx501_pos)
-    .return (rx501_cur)
-  rx501_fail:
+    rx515_cur."!cursor_pass"(rx515_pos, "package_def")
+    rx515_cur."!cursor_debug"("PASS  ", "package_def", " at pos=", rx515_pos)
+    .return (rx515_cur)
+  rx515_fail:
 .annotate "line", 4
-    (rx501_rep, rx501_pos, $I10, $P10) = rx501_cur."!mark_fail"(0)
-    lt rx501_pos, -1, rx501_done
-    eq rx501_pos, -1, rx501_fail
+    (rx515_rep, rx515_pos, $I10, $P10) = rx515_cur."!mark_fail"(0)
+    lt rx515_pos, -1, rx515_done
+    eq rx515_pos, -1, rx515_fail
     jump $I10
-  rx501_done:
-    rx501_cur."!cursor_fail"()
-    rx501_cur."!cursor_debug"("FAIL  ", "package_def")
-    .return (rx501_cur)
+  rx515_done:
+    rx515_cur."!cursor_fail"()
+    rx515_cur."!cursor_debug"("FAIL  ", "package_def")
+    .return (rx515_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__package_def"  :subid("126_1260829317.63188") :method
+.sub "!PREFIX__package_def"  :subid("130_1261019367.36172") :method
 .annotate "line", 4
-    new $P503, "ResizablePMCArray"
-    push $P503, ""
-    .return ($P503)
-.end
-
-
-.namespace ["NQP";"Grammar"]
-.sub "scope_declarator"  :subid("127_1260829317.63188") :method
-.annotate "line", 257
-    $P524 = self."!protoregex"("scope_declarator")
-    .return ($P524)
+    new $P517, "ResizablePMCArray"
+    push $P517, ""
+    .return ($P517)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__scope_declarator"  :subid("128_1260829317.63188") :method
-.annotate "line", 257
-    $P526 = self."!PREFIX__!protoregex"("scope_declarator")
-    .return ($P526)
+.sub "scope_declarator"  :subid("131_1261019367.36172") :method
+.annotate "line", 262
+    $P538 = self."!protoregex"("scope_declarator")
+    .return ($P538)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "scope_declarator:sym<my>"  :subid("129_1260829317.63188") :method :outer("11_1260829317.63188")
-.annotate "line", 4
-    .local string rx528_tgt
-    .local int rx528_pos
-    .local int rx528_off
-    .local int rx528_eos
-    .local int rx528_rep
-    .local pmc rx528_cur
-    (rx528_cur, rx528_pos, rx528_tgt) = self."!cursor_start"()
-    rx528_cur."!cursor_debug"("START ", "scope_declarator:sym<my>")
-    .lex unicode:"$\x{a2}", rx528_cur
-    .local pmc match
-    .lex "$/", match
-    length rx528_eos, rx528_tgt
-    set rx528_off, 0
-    lt rx528_pos, 2, rx528_start
-    sub rx528_off, rx528_pos, 1
-    substr rx528_tgt, rx528_tgt, rx528_off
-  rx528_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan532_done
-    goto rxscan532_scan
-  rxscan532_loop:
-    ($P10) = rx528_cur."from"()
-    inc $P10
-    set rx528_pos, $P10
-    ge rx528_pos, rx528_eos, rxscan532_done
-  rxscan532_scan:
-    set_addr $I10, rxscan532_loop
-    rx528_cur."!mark_push"(0, rx528_pos, $I10)
-  rxscan532_done:
-.annotate "line", 258
-  # rx subcapture "sym"
-    set_addr $I10, rxcap_533_fail
-    rx528_cur."!mark_push"(0, rx528_pos, $I10)
-  # rx literal  "my"
-    add $I11, rx528_pos, 2
-    gt $I11, rx528_eos, rx528_fail
-    sub $I11, rx528_pos, rx528_off
-    substr $S10, rx528_tgt, $I11, 2
-    ne $S10, "my", rx528_fail
-    add rx528_pos, 2
-    set_addr $I10, rxcap_533_fail
-    ($I12, $I11) = rx528_cur."!mark_peek"($I10)
-    rx528_cur."!cursor_pos"($I11)
-    ($P10) = rx528_cur."!cursor_start"()
-    $P10."!cursor_pass"(rx528_pos, "")
-    rx528_cur."!mark_push"(0, -1, 0, $P10)
-    $P10."!cursor_names"("sym")
-    goto rxcap_533_done
-  rxcap_533_fail:
-    goto rx528_fail
-  rxcap_533_done:
-  # rx subrule "scoped" subtype=capture negate=
-    rx528_cur."!cursor_pos"(rx528_pos)
-    $P10 = rx528_cur."scoped"("my")
-    unless $P10, rx528_fail
-    rx528_cur."!mark_push"(0, -1, 0, $P10)
-    $P10."!cursor_names"("scoped")
-    rx528_pos = $P10."pos"()
-  # rx pass
-    rx528_cur."!cursor_pass"(rx528_pos, "scope_declarator:sym<my>")
-    rx528_cur."!cursor_debug"("PASS  ", "scope_declarator:sym<my>", " at pos=", rx528_pos)
-    .return (rx528_cur)
-  rx528_fail:
-.annotate "line", 4
-    (rx528_rep, rx528_pos, $I10, $P10) = rx528_cur."!mark_fail"(0)
-    lt rx528_pos, -1, rx528_done
-    eq rx528_pos, -1, rx528_fail
-    jump $I10
-  rx528_done:
-    rx528_cur."!cursor_fail"()
-    rx528_cur."!cursor_debug"("FAIL  ", "scope_declarator:sym<my>")
-    .return (rx528_cur)
-    .return ()
+.sub "!PREFIX__scope_declarator"  :subid("132_1261019367.36172") :method
+.annotate "line", 262
+    $P540 = self."!PREFIX__!protoregex"("scope_declarator")
+    .return ($P540)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__scope_declarator:sym<my>"  :subid("130_1260829317.63188") :method
-.annotate "line", 4
-    $P530 = self."!PREFIX__!subrule"("scoped", "my")
-    new $P531, "ResizablePMCArray"
-    push $P531, $P530
-    .return ($P531)
-.end
-
-
-.namespace ["NQP";"Grammar"]
-.sub "scope_declarator:sym<our>"  :subid("131_1260829317.63188") :method :outer("11_1260829317.63188")
-.annotate "line", 4
-    .local string rx535_tgt
-    .local int rx535_pos
-    .local int rx535_off
-    .local int rx535_eos
-    .local int rx535_rep
-    .local pmc rx535_cur
-    (rx535_cur, rx535_pos, rx535_tgt) = self."!cursor_start"()
-    rx535_cur."!cursor_debug"("START ", "scope_declarator:sym<our>")
-    .lex unicode:"$\x{a2}", rx535_cur
-    .local pmc match
-    .lex "$/", match
-    length rx535_eos, rx535_tgt
-    set rx535_off, 0
-    lt rx535_pos, 2, rx535_start
-    sub rx535_off, rx535_pos, 1
-    substr rx535_tgt, rx535_tgt, rx535_off
-  rx535_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan539_done
-    goto rxscan539_scan
-  rxscan539_loop:
-    ($P10) = rx535_cur."from"()
-    inc $P10
-    set rx535_pos, $P10
-    ge rx535_pos, rx535_eos, rxscan539_done
-  rxscan539_scan:
-    set_addr $I10, rxscan539_loop
-    rx535_cur."!mark_push"(0, rx535_pos, $I10)
-  rxscan539_done:
-.annotate "line", 259
-  # rx subcapture "sym"
-    set_addr $I10, rxcap_540_fail
-    rx535_cur."!mark_push"(0, rx535_pos, $I10)
-  # rx literal  "our"
-    add $I11, rx535_pos, 3
-    gt $I11, rx535_eos, rx535_fail
-    sub $I11, rx535_pos, rx535_off
-    substr $S10, rx535_tgt, $I11, 3
-    ne $S10, "our", rx535_fail
-    add rx535_pos, 3
-    set_addr $I10, rxcap_540_fail
-    ($I12, $I11) = rx535_cur."!mark_peek"($I10)
-    rx535_cur."!cursor_pos"($I11)
-    ($P10) = rx535_cur."!cursor_start"()
-    $P10."!cursor_pass"(rx535_pos, "")
-    rx535_cur."!mark_push"(0, -1, 0, $P10)
-    $P10."!cursor_names"("sym")
-    goto rxcap_540_done
-  rxcap_540_fail:
-    goto rx535_fail
-  rxcap_540_done:
-  # rx subrule "scoped" subtype=capture negate=
-    rx535_cur."!cursor_pos"(rx535_pos)
-    $P10 = rx535_cur."scoped"("our")
-    unless $P10, rx535_fail
-    rx535_cur."!mark_push"(0, -1, 0, $P10)
-    $P10."!cursor_names"("scoped")
-    rx535_pos = $P10."pos"()
-  # rx pass
-    rx535_cur."!cursor_pass"(rx535_pos, "scope_declarator:sym<our>")
-    rx535_cur."!cursor_debug"("PASS  ", "scope_declarator:sym<our>", " at pos=", rx535_pos)
-    .return (rx535_cur)
-  rx535_fail:
-.annotate "line", 4
-    (rx535_rep, rx535_pos, $I10, $P10) = rx535_cur."!mark_fail"(0)
-    lt rx535_pos, -1, rx535_done
-    eq rx535_pos, -1, rx535_fail
-    jump $I10
-  rx535_done:
-    rx535_cur."!cursor_fail"()
-    rx535_cur."!cursor_debug"("FAIL  ", "scope_declarator:sym<our>")
-    .return (rx535_cur)
-    .return ()
-.end
-
-
-.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__scope_declarator:sym<our>"  :subid("132_1260829317.63188") :method
-.annotate "line", 4
-    $P537 = self."!PREFIX__!subrule"("scoped", "our")
-    new $P538, "ResizablePMCArray"
-    push $P538, $P537
-    .return ($P538)
-.end
-
-
-.namespace ["NQP";"Grammar"]
-.sub "scope_declarator:sym<has>"  :subid("133_1260829317.63188") :method :outer("11_1260829317.63188")
+.sub "scope_declarator:sym<my>"  :subid("133_1261019367.36172") :method :outer("11_1261019367.36172")
 .annotate "line", 4
     .local string rx542_tgt
     .local int rx542_pos
@@ -6529,7 +6526,7 @@
     .local int rx542_rep
     .local pmc rx542_cur
     (rx542_cur, rx542_pos, rx542_tgt) = self."!cursor_start"()
-    rx542_cur."!cursor_debug"("START ", "scope_declarator:sym<has>")
+    rx542_cur."!cursor_debug"("START ", "scope_declarator:sym<my>")
     .lex unicode:"$\x{a2}", rx542_cur
     .local pmc match
     .lex "$/", match
@@ -6551,17 +6548,17 @@
     set_addr $I10, rxscan546_loop
     rx542_cur."!mark_push"(0, rx542_pos, $I10)
   rxscan546_done:
-.annotate "line", 260
+.annotate "line", 263
   # rx subcapture "sym"
     set_addr $I10, rxcap_547_fail
     rx542_cur."!mark_push"(0, rx542_pos, $I10)
-  # rx literal  "has"
-    add $I11, rx542_pos, 3
+  # rx literal  "my"
+    add $I11, rx542_pos, 2
     gt $I11, rx542_eos, rx542_fail
     sub $I11, rx542_pos, rx542_off
-    substr $S10, rx542_tgt, $I11, 3
-    ne $S10, "has", rx542_fail
-    add rx542_pos, 3
+    substr $S10, rx542_tgt, $I11, 2
+    ne $S10, "my", rx542_fail
+    add rx542_pos, 2
     set_addr $I10, rxcap_547_fail
     ($I12, $I11) = rx542_cur."!mark_peek"($I10)
     rx542_cur."!cursor_pos"($I11)
@@ -6575,14 +6572,14 @@
   rxcap_547_done:
   # rx subrule "scoped" subtype=capture negate=
     rx542_cur."!cursor_pos"(rx542_pos)
-    $P10 = rx542_cur."scoped"("has")
+    $P10 = rx542_cur."scoped"("my")
     unless $P10, rx542_fail
     rx542_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("scoped")
     rx542_pos = $P10."pos"()
   # rx pass
-    rx542_cur."!cursor_pass"(rx542_pos, "scope_declarator:sym<has>")
-    rx542_cur."!cursor_debug"("PASS  ", "scope_declarator:sym<has>", " at pos=", rx542_pos)
+    rx542_cur."!cursor_pass"(rx542_pos, "scope_declarator:sym<my>")
+    rx542_cur."!cursor_debug"("PASS  ", "scope_declarator:sym<my>", " at pos=", rx542_pos)
     .return (rx542_cur)
   rx542_fail:
 .annotate "line", 4
@@ -6592,16 +6589,16 @@
     jump $I10
   rx542_done:
     rx542_cur."!cursor_fail"()
-    rx542_cur."!cursor_debug"("FAIL  ", "scope_declarator:sym<has>")
+    rx542_cur."!cursor_debug"("FAIL  ", "scope_declarator:sym<my>")
     .return (rx542_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__scope_declarator:sym<has>"  :subid("134_1260829317.63188") :method
+.sub "!PREFIX__scope_declarator:sym<my>"  :subid("134_1261019367.36172") :method
 .annotate "line", 4
-    $P544 = self."!PREFIX__!subrule"("scoped", "has")
+    $P544 = self."!PREFIX__!subrule"("scoped", "my")
     new $P545, "ResizablePMCArray"
     push $P545, $P544
     .return ($P545)
@@ -6609,376 +6606,376 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "scoped"  :subid("135_1260829317.63188") :method :outer("11_1260829317.63188")
-    .param pmc param_549
-.annotate "line", 262
-    .lex "$*SCOPE", param_549
+.sub "scope_declarator:sym<our>"  :subid("135_1261019367.36172") :method :outer("11_1261019367.36172")
 .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 ", "scoped")
-    .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:
+    .local string rx549_tgt
+    .local int rx549_pos
+    .local int rx549_off
+    .local int rx549_eos
+    .local int rx549_rep
+    .local pmc rx549_cur
+    (rx549_cur, rx549_pos, rx549_tgt) = self."!cursor_start"()
+    rx549_cur."!cursor_debug"("START ", "scope_declarator:sym<our>")
+    .lex unicode:"$\x{a2}", rx549_cur
+    .local pmc match
+    .lex "$/", match
+    length rx549_eos, rx549_tgt
+    set rx549_off, 0
+    lt rx549_pos, 2, rx549_start
+    sub rx549_off, rx549_pos, 1
+    substr rx549_tgt, rx549_tgt, rx549_off
+  rx549_start:
     $I10 = self.'from'()
     ne $I10, -1, rxscan553_done
     goto rxscan553_scan
   rxscan553_loop:
-    ($P10) = rx550_cur."from"()
+    ($P10) = rx549_cur."from"()
     inc $P10
-    set rx550_pos, $P10
-    ge rx550_pos, rx550_eos, rxscan553_done
+    set rx549_pos, $P10
+    ge rx549_pos, rx549_eos, rxscan553_done
   rxscan553_scan:
     set_addr $I10, rxscan553_loop
-    rx550_cur."!mark_push"(0, rx550_pos, $I10)
+    rx549_cur."!mark_push"(0, rx549_pos, $I10)
   rxscan553_done:
-  alt554_0:
-.annotate "line", 262
-    set_addr $I10, alt554_1
-    rx550_cur."!mark_push"(0, rx550_pos, $I10)
-.annotate "line", 263
-  # rx subrule "ws" subtype=method negate=
-    rx550_cur."!cursor_pos"(rx550_pos)
-    $P10 = rx550_cur."ws"()
-    unless $P10, rx550_fail
-    rx550_pos = $P10."pos"()
-  # rx subrule "variable_declarator" subtype=capture negate=
-    rx550_cur."!cursor_pos"(rx550_pos)
-    $P10 = rx550_cur."variable_declarator"()
-    unless $P10, rx550_fail
-    rx550_cur."!mark_push"(0, -1, 0, $P10)
-    $P10."!cursor_names"("variable_declarator")
-    rx550_pos = $P10."pos"()
-  # rx subrule "ws" subtype=method negate=
-    rx550_cur."!cursor_pos"(rx550_pos)
-    $P10 = rx550_cur."ws"()
-    unless $P10, rx550_fail
-    rx550_pos = $P10."pos"()
-    goto alt554_end
-  alt554_1:
 .annotate "line", 264
-  # rx subrule "ws" subtype=method negate=
-    rx550_cur."!cursor_pos"(rx550_pos)
-    $P10 = rx550_cur."ws"()
-    unless $P10, rx550_fail
-    rx550_pos = $P10."pos"()
-  # rx subrule "routine_declarator" subtype=capture negate=
-    rx550_cur."!cursor_pos"(rx550_pos)
-    $P10 = rx550_cur."routine_declarator"()
-    unless $P10, rx550_fail
-    rx550_cur."!mark_push"(0, -1, 0, $P10)
-    $P10."!cursor_names"("routine_declarator")
-    rx550_pos = $P10."pos"()
-  # rx subrule "ws" subtype=method negate=
-    rx550_cur."!cursor_pos"(rx550_pos)
-    $P10 = rx550_cur."ws"()
-    unless $P10, rx550_fail
-    rx550_pos = $P10."pos"()
-  alt554_end:
-.annotate "line", 262
+  # rx subcapture "sym"
+    set_addr $I10, rxcap_554_fail
+    rx549_cur."!mark_push"(0, rx549_pos, $I10)
+  # rx literal  "our"
+    add $I11, rx549_pos, 3
+    gt $I11, rx549_eos, rx549_fail
+    sub $I11, rx549_pos, rx549_off
+    substr $S10, rx549_tgt, $I11, 3
+    ne $S10, "our", rx549_fail
+    add rx549_pos, 3
+    set_addr $I10, rxcap_554_fail
+    ($I12, $I11) = rx549_cur."!mark_peek"($I10)
+    rx549_cur."!cursor_pos"($I11)
+    ($P10) = rx549_cur."!cursor_start"()
+    $P10."!cursor_pass"(rx549_pos, "")
+    rx549_cur."!mark_push"(0, -1, 0, $P10)
+    $P10."!cursor_names"("sym")
+    goto rxcap_554_done
+  rxcap_554_fail:
+    goto rx549_fail
+  rxcap_554_done:
+  # rx subrule "scoped" subtype=capture negate=
+    rx549_cur."!cursor_pos"(rx549_pos)
+    $P10 = rx549_cur."scoped"("our")
+    unless $P10, rx549_fail
+    rx549_cur."!mark_push"(0, -1, 0, $P10)
+    $P10."!cursor_names"("scoped")
+    rx549_pos = $P10."pos"()
   # rx pass
-    rx550_cur."!cursor_pass"(rx550_pos, "scoped")
-    rx550_cur."!cursor_debug"("PASS  ", "scoped", " at pos=", rx550_pos)
-    .return (rx550_cur)
-  rx550_fail:
+    rx549_cur."!cursor_pass"(rx549_pos, "scope_declarator:sym<our>")
+    rx549_cur."!cursor_debug"("PASS  ", "scope_declarator:sym<our>", " at pos=", rx549_pos)
+    .return (rx549_cur)
+  rx549_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
+    (rx549_rep, rx549_pos, $I10, $P10) = rx549_cur."!mark_fail"(0)
+    lt rx549_pos, -1, rx549_done
+    eq rx549_pos, -1, rx549_fail
     jump $I10
-  rx550_done:
-    rx550_cur."!cursor_fail"()
-    rx550_cur."!cursor_debug"("FAIL  ", "scoped")
-    .return (rx550_cur)
+  rx549_done:
+    rx549_cur."!cursor_fail"()
+    rx549_cur."!cursor_debug"("FAIL  ", "scope_declarator:sym<our>")
+    .return (rx549_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__scoped"  :subid("136_1260829317.63188") :method
+.sub "!PREFIX__scope_declarator:sym<our>"  :subid("136_1261019367.36172") :method
 .annotate "line", 4
+    $P551 = self."!PREFIX__!subrule"("scoped", "our")
     new $P552, "ResizablePMCArray"
-    push $P552, ""
-    push $P552, ""
+    push $P552, $P551
     .return ($P552)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "variable_declarator"  :subid("137_1260829317.63188") :method :outer("11_1260829317.63188")
+.sub "scope_declarator:sym<has>"  :subid("137_1261019367.36172") :method :outer("11_1261019367.36172")
 .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 ", "variable_declarator")
-    .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", 267
-  # rx subrule "variable" subtype=capture negate=
-    rx560_cur."!cursor_pos"(rx560_pos)
-    $P10 = rx560_cur."variable"()
-    unless $P10, rx560_fail
-    rx560_cur."!mark_push"(0, -1, 0, $P10)
-    $P10."!cursor_names"("variable")
-    rx560_pos = $P10."pos"()
+    .local string rx556_tgt
+    .local int rx556_pos
+    .local int rx556_off
+    .local int rx556_eos
+    .local int rx556_rep
+    .local pmc rx556_cur
+    (rx556_cur, rx556_pos, rx556_tgt) = self."!cursor_start"()
+    rx556_cur."!cursor_debug"("START ", "scope_declarator:sym<has>")
+    .lex unicode:"$\x{a2}", rx556_cur
+    .local pmc match
+    .lex "$/", match
+    length rx556_eos, rx556_tgt
+    set rx556_off, 0
+    lt rx556_pos, 2, rx556_start
+    sub rx556_off, rx556_pos, 1
+    substr rx556_tgt, rx556_tgt, rx556_off
+  rx556_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan560_done
+    goto rxscan560_scan
+  rxscan560_loop:
+    ($P10) = rx556_cur."from"()
+    inc $P10
+    set rx556_pos, $P10
+    ge rx556_pos, rx556_eos, rxscan560_done
+  rxscan560_scan:
+    set_addr $I10, rxscan560_loop
+    rx556_cur."!mark_push"(0, rx556_pos, $I10)
+  rxscan560_done:
+.annotate "line", 265
+  # rx subcapture "sym"
+    set_addr $I10, rxcap_561_fail
+    rx556_cur."!mark_push"(0, rx556_pos, $I10)
+  # rx literal  "has"
+    add $I11, rx556_pos, 3
+    gt $I11, rx556_eos, rx556_fail
+    sub $I11, rx556_pos, rx556_off
+    substr $S10, rx556_tgt, $I11, 3
+    ne $S10, "has", rx556_fail
+    add rx556_pos, 3
+    set_addr $I10, rxcap_561_fail
+    ($I12, $I11) = rx556_cur."!mark_peek"($I10)
+    rx556_cur."!cursor_pos"($I11)
+    ($P10) = rx556_cur."!cursor_start"()
+    $P10."!cursor_pass"(rx556_pos, "")
+    rx556_cur."!mark_push"(0, -1, 0, $P10)
+    $P10."!cursor_names"("sym")
+    goto rxcap_561_done
+  rxcap_561_fail:
+    goto rx556_fail
+  rxcap_561_done:
+  # rx subrule "scoped" subtype=capture negate=
+    rx556_cur."!cursor_pos"(rx556_pos)
+    $P10 = rx556_cur."scoped"("has")
+    unless $P10, rx556_fail
+    rx556_cur."!mark_push"(0, -1, 0, $P10)
+    $P10."!cursor_names"("scoped")
+    rx556_pos = $P10."pos"()
   # rx pass
-    rx560_cur."!cursor_pass"(rx560_pos, "variable_declarator")
-    rx560_cur."!cursor_debug"("PASS  ", "variable_declarator", " at pos=", rx560_pos)
-    .return (rx560_cur)
-  rx560_fail:
+    rx556_cur."!cursor_pass"(rx556_pos, "scope_declarator:sym<has>")
+    rx556_cur."!cursor_debug"("PASS  ", "scope_declarator:sym<has>", " at pos=", rx556_pos)
+    .return (rx556_cur)
+  rx556_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
+    (rx556_rep, rx556_pos, $I10, $P10) = rx556_cur."!mark_fail"(0)
+    lt rx556_pos, -1, rx556_done
+    eq rx556_pos, -1, rx556_fail
     jump $I10
-  rx560_done:
-    rx560_cur."!cursor_fail"()
-    rx560_cur."!cursor_debug"("FAIL  ", "variable_declarator")
-    .return (rx560_cur)
+  rx556_done:
+    rx556_cur."!cursor_fail"()
+    rx556_cur."!cursor_debug"("FAIL  ", "scope_declarator:sym<has>")
+    .return (rx556_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__variable_declarator"  :subid("138_1260829317.63188") :method
+.sub "!PREFIX__scope_declarator:sym<has>"  :subid("138_1261019367.36172") :method
 .annotate "line", 4
-    $P562 = self."!PREFIX__!subrule"("variable", "")
-    new $P563, "ResizablePMCArray"
-    push $P563, $P562
-    .return ($P563)
+    $P558 = self."!PREFIX__!subrule"("scoped", "has")
+    new $P559, "ResizablePMCArray"
+    push $P559, $P558
+    .return ($P559)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "routine_declarator"  :subid("139_1260829317.63188") :method
+.sub "scoped"  :subid("139_1261019367.36172") :method :outer("11_1261019367.36172")
+    .param pmc param_563
+.annotate "line", 267
+    .lex "$*SCOPE", param_563
+.annotate "line", 4
+    .local string rx564_tgt
+    .local int rx564_pos
+    .local int rx564_off
+    .local int rx564_eos
+    .local int rx564_rep
+    .local pmc rx564_cur
+    (rx564_cur, rx564_pos, rx564_tgt) = self."!cursor_start"()
+    rx564_cur."!cursor_debug"("START ", "scoped")
+    .lex unicode:"$\x{a2}", rx564_cur
+    .local pmc match
+    .lex "$/", match
+    length rx564_eos, rx564_tgt
+    set rx564_off, 0
+    lt rx564_pos, 2, rx564_start
+    sub rx564_off, rx564_pos, 1
+    substr rx564_tgt, rx564_tgt, rx564_off
+  rx564_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan567_done
+    goto rxscan567_scan
+  rxscan567_loop:
+    ($P10) = rx564_cur."from"()
+    inc $P10
+    set rx564_pos, $P10
+    ge rx564_pos, rx564_eos, rxscan567_done
+  rxscan567_scan:
+    set_addr $I10, rxscan567_loop
+    rx564_cur."!mark_push"(0, rx564_pos, $I10)
+  rxscan567_done:
+  alt568_0:
+.annotate "line", 267
+    set_addr $I10, alt568_1
+    rx564_cur."!mark_push"(0, rx564_pos, $I10)
+.annotate "line", 268
+  # rx subrule "ws" subtype=method negate=
+    rx564_cur."!cursor_pos"(rx564_pos)
+    $P10 = rx564_cur."ws"()
+    unless $P10, rx564_fail
+    rx564_pos = $P10."pos"()
+  # rx subrule "variable_declarator" subtype=capture negate=
+    rx564_cur."!cursor_pos"(rx564_pos)
+    $P10 = rx564_cur."variable_declarator"()
+    unless $P10, rx564_fail
+    rx564_cur."!mark_push"(0, -1, 0, $P10)
+    $P10."!cursor_names"("variable_declarator")
+    rx564_pos = $P10."pos"()
+  # rx subrule "ws" subtype=method negate=
+    rx564_cur."!cursor_pos"(rx564_pos)
+    $P10 = rx564_cur."ws"()
+    unless $P10, rx564_fail
+    rx564_pos = $P10."pos"()
+    goto alt568_end
+  alt568_1:
 .annotate "line", 269
-    $P566 = self."!protoregex"("routine_declarator")
-    .return ($P566)
+  # rx subrule "ws" subtype=method negate=
+    rx564_cur."!cursor_pos"(rx564_pos)
+    $P10 = rx564_cur."ws"()
+    unless $P10, rx564_fail
+    rx564_pos = $P10."pos"()
+  # rx subrule "routine_declarator" subtype=capture negate=
+    rx564_cur."!cursor_pos"(rx564_pos)
+    $P10 = rx564_cur."routine_declarator"()
+    unless $P10, rx564_fail
+    rx564_cur."!mark_push"(0, -1, 0, $P10)
+    $P10."!cursor_names"("routine_declarator")
+    rx564_pos = $P10."pos"()
+  # rx subrule "ws" subtype=method negate=
+    rx564_cur."!cursor_pos"(rx564_pos)
+    $P10 = rx564_cur."ws"()
+    unless $P10, rx564_fail
+    rx564_pos = $P10."pos"()
+  alt568_end:
+.annotate "line", 267
+  # rx pass
+    rx564_cur."!cursor_pass"(rx564_pos, "scoped")
+    rx564_cur."!cursor_debug"("PASS  ", "scoped", " at pos=", rx564_pos)
+    .return (rx564_cur)
+  rx564_fail:
+.annotate "line", 4
+    (rx564_rep, rx564_pos, $I10, $P10) = rx564_cur."!mark_fail"(0)
+    lt rx564_pos, -1, rx564_done
+    eq rx564_pos, -1, rx564_fail
+    jump $I10
+  rx564_done:
+    rx564_cur."!cursor_fail"()
+    rx564_cur."!cursor_debug"("FAIL  ", "scoped")
+    .return (rx564_cur)
+    .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__routine_declarator"  :subid("140_1260829317.63188") :method
-.annotate "line", 269
-    $P568 = self."!PREFIX__!protoregex"("routine_declarator")
-    .return ($P568)
+.sub "!PREFIX__scoped"  :subid("140_1261019367.36172") :method
+.annotate "line", 4
+    new $P566, "ResizablePMCArray"
+    push $P566, ""
+    push $P566, ""
+    .return ($P566)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "routine_declarator:sym<sub>"  :subid("141_1260829317.63188") :method :outer("11_1260829317.63188")
+.sub "variable_declarator"  :subid("141_1261019367.36172") :method :outer("11_1261019367.36172")
 .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 ", "routine_declarator:sym<sub>")
-    .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", 270
-  # rx subcapture "sym"
-    set_addr $I10, rxcap_575_fail
-    rx570_cur."!mark_push"(0, rx570_pos, $I10)
-  # rx literal  "sub"
-    add $I11, rx570_pos, 3
-    gt $I11, rx570_eos, rx570_fail
-    sub $I11, rx570_pos, rx570_off
-    substr $S10, rx570_tgt, $I11, 3
-    ne $S10, "sub", rx570_fail
-    add rx570_pos, 3
-    set_addr $I10, rxcap_575_fail
-    ($I12, $I11) = rx570_cur."!mark_peek"($I10)
-    rx570_cur."!cursor_pos"($I11)
-    ($P10) = rx570_cur."!cursor_start"()
-    $P10."!cursor_pass"(rx570_pos, "")
-    rx570_cur."!mark_push"(0, -1, 0, $P10)
-    $P10."!cursor_names"("sym")
-    goto rxcap_575_done
-  rxcap_575_fail:
-    goto rx570_fail
-  rxcap_575_done:
-  # rx subrule "routine_def" subtype=capture negate=
-    rx570_cur."!cursor_pos"(rx570_pos)
-    $P10 = rx570_cur."routine_def"()
-    unless $P10, rx570_fail
-    rx570_cur."!mark_push"(0, -1, 0, $P10)
-    $P10."!cursor_names"("routine_def")
-    rx570_pos = $P10."pos"()
+    .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 ", "variable_declarator")
+    .lex unicode:"$\x{a2}", rx574_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:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan578_done
+    goto rxscan578_scan
+  rxscan578_loop:
+    ($P10) = rx574_cur."from"()
+    inc $P10
+    set rx574_pos, $P10
+    ge rx574_pos, rx574_eos, rxscan578_done
+  rxscan578_scan:
+    set_addr $I10, rxscan578_loop
+    rx574_cur."!mark_push"(0, rx574_pos, $I10)
+  rxscan578_done:
+.annotate "line", 272
+  # rx subrule "variable" subtype=capture negate=
+    rx574_cur."!cursor_pos"(rx574_pos)
+    $P10 = rx574_cur."variable"()
+    unless $P10, rx574_fail
+    rx574_cur."!mark_push"(0, -1, 0, $P10)
+    $P10."!cursor_names"("variable")
+    rx574_pos = $P10."pos"()
   # rx pass
-    rx570_cur."!cursor_pass"(rx570_pos, "routine_declarator:sym<sub>")
-    rx570_cur."!cursor_debug"("PASS  ", "routine_declarator:sym<sub>", " at pos=", rx570_pos)
-    .return (rx570_cur)
-  rx570_fail:
+    rx574_cur."!cursor_pass"(rx574_pos, "variable_declarator")
+    rx574_cur."!cursor_debug"("PASS  ", "variable_declarator", " at pos=", rx574_pos)
+    .return (rx574_cur)
+  rx574_fail:
 .annotate "line", 4
-    (rx570_rep, rx570_pos, $I10, $P10) = rx570_cur."!mark_fail"(0)
-    lt rx570_pos, -1, rx570_done
-    eq rx570_pos, -1, rx570_fail
+    (rx574_rep, rx574_pos, $I10, $P10) = rx574_cur."!mark_fail"(0)
+    lt rx574_pos, -1, rx574_done
+    eq rx574_pos, -1, rx574_fail
     jump $I10
-  rx570_done:
-    rx570_cur."!cursor_fail"()
-    rx570_cur."!cursor_debug"("FAIL  ", "routine_declarator:sym<sub>")
-    .return (rx570_cur)
+  rx574_done:
+    rx574_cur."!cursor_fail"()
+    rx574_cur."!cursor_debug"("FAIL  ", "variable_declarator")
+    .return (rx574_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__routine_declarator:sym<sub>"  :subid("142_1260829317.63188") :method
+.sub "!PREFIX__variable_declarator"  :subid("142_1261019367.36172") :method
 .annotate "line", 4
-    $P572 = self."!PREFIX__!subrule"("routine_def", "sub")
-    new $P573, "ResizablePMCArray"
-    push $P573, $P572
-    .return ($P573)
+    $P576 = self."!PREFIX__!subrule"("variable", "")
+    new $P577, "ResizablePMCArray"
+    push $P577, $P576
+    .return ($P577)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "routine_declarator:sym<method>"  :subid("143_1260829317.63188") :method :outer("11_1260829317.63188")
-.annotate "line", 4
-    .local string rx577_tgt
-    .local int rx577_pos
-    .local int rx577_off
-    .local int rx577_eos
-    .local int rx577_rep
-    .local pmc rx577_cur
-    (rx577_cur, rx577_pos, rx577_tgt) = self."!cursor_start"()
-    rx577_cur."!cursor_debug"("START ", "routine_declarator:sym<method>")
-    .lex unicode:"$\x{a2}", rx577_cur
-    .local pmc match
-    .lex "$/", match
-    length rx577_eos, rx577_tgt
-    set rx577_off, 0
-    lt rx577_pos, 2, rx577_start
-    sub rx577_off, rx577_pos, 1
-    substr rx577_tgt, rx577_tgt, rx577_off
-  rx577_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan581_done
-    goto rxscan581_scan
-  rxscan581_loop:
-    ($P10) = rx577_cur."from"()
-    inc $P10
-    set rx577_pos, $P10
-    ge rx577_pos, rx577_eos, rxscan581_done
-  rxscan581_scan:
-    set_addr $I10, rxscan581_loop
-    rx577_cur."!mark_push"(0, rx577_pos, $I10)
-  rxscan581_done:
-.annotate "line", 271
-  # rx subcapture "sym"
-    set_addr $I10, rxcap_582_fail
-    rx577_cur."!mark_push"(0, rx577_pos, $I10)
-  # rx literal  "method"
-    add $I11, rx577_pos, 6
-    gt $I11, rx577_eos, rx577_fail
-    sub $I11, rx577_pos, rx577_off
-    substr $S10, rx577_tgt, $I11, 6
-    ne $S10, "method", rx577_fail
-    add rx577_pos, 6
-    set_addr $I10, rxcap_582_fail
-    ($I12, $I11) = rx577_cur."!mark_peek"($I10)
-    rx577_cur."!cursor_pos"($I11)
-    ($P10) = rx577_cur."!cursor_start"()
-    $P10."!cursor_pass"(rx577_pos, "")
-    rx577_cur."!mark_push"(0, -1, 0, $P10)
-    $P10."!cursor_names"("sym")
-    goto rxcap_582_done
-  rxcap_582_fail:
-    goto rx577_fail
-  rxcap_582_done:
-  # rx subrule "method_def" subtype=capture negate=
-    rx577_cur."!cursor_pos"(rx577_pos)
-    $P10 = rx577_cur."method_def"()
-    unless $P10, rx577_fail
-    rx577_cur."!mark_push"(0, -1, 0, $P10)
-    $P10."!cursor_names"("method_def")
-    rx577_pos = $P10."pos"()
-  # rx pass
-    rx577_cur."!cursor_pass"(rx577_pos, "routine_declarator:sym<method>")
-    rx577_cur."!cursor_debug"("PASS  ", "routine_declarator:sym<method>", " at pos=", rx577_pos)
-    .return (rx577_cur)
-  rx577_fail:
-.annotate "line", 4
-    (rx577_rep, rx577_pos, $I10, $P10) = rx577_cur."!mark_fail"(0)
-    lt rx577_pos, -1, rx577_done
-    eq rx577_pos, -1, rx577_fail
-    jump $I10
-  rx577_done:
-    rx577_cur."!cursor_fail"()
-    rx577_cur."!cursor_debug"("FAIL  ", "routine_declarator:sym<method>")
-    .return (rx577_cur)
-    .return ()
+.sub "routine_declarator"  :subid("143_1261019367.36172") :method
+.annotate "line", 274
+    $P580 = self."!protoregex"("routine_declarator")
+    .return ($P580)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__routine_declarator:sym<method>"  :subid("144_1260829317.63188") :method
-.annotate "line", 4
-    $P579 = self."!PREFIX__!subrule"("method_def", "method")
-    new $P580, "ResizablePMCArray"
-    push $P580, $P579
-    .return ($P580)
+.sub "!PREFIX__routine_declarator"  :subid("144_1261019367.36172") :method
+.annotate "line", 274
+    $P582 = self."!PREFIX__!protoregex"("routine_declarator")
+    .return ($P582)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "routine_def"  :subid("145_1260829317.63188") :method :outer("11_1260829317.63188")
+.sub "routine_declarator:sym<sub>"  :subid("145_1261019367.36172") :method :outer("11_1261019367.36172")
 .annotate "line", 4
     .local string rx584_tgt
     .local int rx584_pos
@@ -6987,8 +6984,7 @@
     .local int rx584_rep
     .local pmc rx584_cur
     (rx584_cur, rx584_pos, rx584_tgt) = self."!cursor_start"()
-    rx584_cur."!cursor_debug"("START ", "routine_def")
-    rx584_cur."!cursor_caparray"("deflongname", "sigil")
+    rx584_cur."!cursor_debug"("START ", "routine_declarator:sym<sub>")
     .lex unicode:"$\x{a2}", rx584_cur
     .local pmc match
     .lex "$/", match
@@ -6999,176 +6995,49 @@
     substr rx584_tgt, rx584_tgt, rx584_off
   rx584_start:
     $I10 = self.'from'()
-    ne $I10, -1, rxscan587_done
-    goto rxscan587_scan
-  rxscan587_loop:
+    ne $I10, -1, rxscan588_done
+    goto rxscan588_scan
+  rxscan588_loop:
     ($P10) = rx584_cur."from"()
     inc $P10
     set rx584_pos, $P10
-    ge rx584_pos, rx584_eos, rxscan587_done
-  rxscan587_scan:
-    set_addr $I10, rxscan587_loop
+    ge rx584_pos, rx584_eos, rxscan588_done
+  rxscan588_scan:
+    set_addr $I10, rxscan588_loop
     rx584_cur."!mark_push"(0, rx584_pos, $I10)
-  rxscan587_done:
-.annotate "line", 273
-  # rx subrule "ws" subtype=method negate=
-    rx584_cur."!cursor_pos"(rx584_pos)
-    $P10 = rx584_cur."ws"()
-    unless $P10, rx584_fail
-    rx584_pos = $P10."pos"()
-.annotate "line", 274
-  # rx rxquantr589 ** 0..1
-    set_addr $I595, rxquantr589_done
-    rx584_cur."!mark_push"(0, rx584_pos, $I595)
-  rxquantr589_loop:
-  # rx subrule "ws" subtype=method negate=
-    rx584_cur."!cursor_pos"(rx584_pos)
-    $P10 = rx584_cur."ws"()
-    unless $P10, rx584_fail
-    rx584_pos = $P10."pos"()
-  # rx subcapture "sigil"
-    set_addr $I10, rxcap_593_fail
+  rxscan588_done:
+.annotate "line", 275
+  # rx subcapture "sym"
+    set_addr $I10, rxcap_589_fail
     rx584_cur."!mark_push"(0, rx584_pos, $I10)
-  # rx rxquantr591 ** 0..1
-    set_addr $I592, rxquantr591_done
-    rx584_cur."!mark_push"(0, rx584_pos, $I592)
-  rxquantr591_loop:
-  # rx literal  "&"
-    add $I11, rx584_pos, 1
+  # rx literal  "sub"
+    add $I11, rx584_pos, 3
     gt $I11, rx584_eos, rx584_fail
     sub $I11, rx584_pos, rx584_off
-    substr $S10, rx584_tgt, $I11, 1
-    ne $S10, "&", rx584_fail
-    add rx584_pos, 1
-    (rx584_rep) = rx584_cur."!mark_commit"($I592)
-  rxquantr591_done:
-    set_addr $I10, rxcap_593_fail
+    substr $S10, rx584_tgt, $I11, 3
+    ne $S10, "sub", rx584_fail
+    add rx584_pos, 3
+    set_addr $I10, rxcap_589_fail
     ($I12, $I11) = rx584_cur."!mark_peek"($I10)
     rx584_cur."!cursor_pos"($I11)
     ($P10) = rx584_cur."!cursor_start"()
     $P10."!cursor_pass"(rx584_pos, "")
     rx584_cur."!mark_push"(0, -1, 0, $P10)
-    $P10."!cursor_names"("sigil")
-    goto rxcap_593_done
-  rxcap_593_fail:
+    $P10."!cursor_names"("sym")
+    goto rxcap_589_done
+  rxcap_589_fail:
     goto rx584_fail
-  rxcap_593_done:
-  # rx subrule "deflongname" subtype=capture negate=
-    rx584_cur."!cursor_pos"(rx584_pos)
-    $P10 = rx584_cur."deflongname"()
-    unless $P10, rx584_fail
-    rx584_cur."!mark_push"(0, -1, 0, $P10)
-    $P10."!cursor_names"("deflongname")
-    rx584_pos = $P10."pos"()
-  # rx subrule "ws" subtype=method negate=
-    rx584_cur."!cursor_pos"(rx584_pos)
-    $P10 = rx584_cur."ws"()
-    unless $P10, rx584_fail
-    rx584_pos = $P10."pos"()
-    (rx584_rep) = rx584_cur."!mark_commit"($I595)
-  rxquantr589_done:
-  # rx subrule "ws" subtype=method negate=
-    rx584_cur."!cursor_pos"(rx584_pos)
-    $P10 = rx584_cur."ws"()
-    unless $P10, rx584_fail
-    rx584_pos = $P10."pos"()
-.annotate "line", 275
-  # rx subrule "newpad" subtype=method negate=
-    rx584_cur."!cursor_pos"(rx584_pos)
-    $P10 = rx584_cur."newpad"()
-    unless $P10, rx584_fail
-    rx584_pos = $P10."pos"()
-  # rx subrule "ws" subtype=method negate=
-    rx584_cur."!cursor_pos"(rx584_pos)
-    $P10 = rx584_cur."ws"()
-    unless $P10, rx584_fail
-    rx584_pos = $P10."pos"()
-  alt598_0:
-.annotate "line", 276
-    set_addr $I10, alt598_1
-    rx584_cur."!mark_push"(0, rx584_pos, $I10)
-  # rx subrule "ws" subtype=method negate=
-    rx584_cur."!cursor_pos"(rx584_pos)
-    $P10 = rx584_cur."ws"()
-    unless $P10, rx584_fail
-    rx584_pos = $P10."pos"()
-  # rx literal  "("
-    add $I11, rx584_pos, 1
-    gt $I11, rx584_eos, rx584_fail
-    sub $I11, rx584_pos, rx584_off
-    substr $S10, rx584_tgt, $I11, 1
-    ne $S10, "(", rx584_fail
-    add rx584_pos, 1
-  # rx subrule "ws" subtype=method negate=
-    rx584_cur."!cursor_pos"(rx584_pos)
-    $P10 = rx584_cur."ws"()
-    unless $P10, rx584_fail
-    rx584_pos = $P10."pos"()
-  # rx subrule "signature" subtype=capture negate=
-    rx584_cur."!cursor_pos"(rx584_pos)
-    $P10 = rx584_cur."signature"()
-    unless $P10, rx584_fail
-    rx584_cur."!mark_push"(0, -1, 0, $P10)
-    $P10."!cursor_names"("signature")
-    rx584_pos = $P10."pos"()
-  # rx subrule "ws" subtype=method negate=
-    rx584_cur."!cursor_pos"(rx584_pos)
-    $P10 = rx584_cur."ws"()
-    unless $P10, rx584_fail
-    rx584_pos = $P10."pos"()
-  # rx literal  ")"
-    add $I11, rx584_pos, 1
-    gt $I11, rx584_eos, rx584_fail
-    sub $I11, rx584_pos, rx584_off
-    substr $S10, rx584_tgt, $I11, 1
-    ne $S10, ")", rx584_fail
-    add rx584_pos, 1
-  # rx subrule "ws" subtype=method negate=
-    rx584_cur."!cursor_pos"(rx584_pos)
-    $P10 = rx584_cur."ws"()
-    unless $P10, rx584_fail
-    rx584_pos = $P10."pos"()
-    goto alt598_end
-  alt598_1:
-.annotate "line", 277
-  # rx subrule "ws" subtype=method negate=
-    rx584_cur."!cursor_pos"(rx584_pos)
-    $P10 = rx584_cur."ws"()
-    unless $P10, rx584_fail
-    rx584_pos = $P10."pos"()
-  # rx subrule "panic" subtype=method negate=
-    rx584_cur."!cursor_pos"(rx584_pos)
-    $P10 = rx584_cur."panic"("Routine declaration requires a signature")
-    unless $P10, rx584_fail
-    rx584_pos = $P10."pos"()
-  # rx subrule "ws" subtype=method negate=
-    rx584_cur."!cursor_pos"(rx584_pos)
-    $P10 = rx584_cur."ws"()
-    unless $P10, rx584_fail
-    rx584_pos = $P10."pos"()
-  alt598_end:
-  # rx subrule "ws" subtype=method negate=
-    rx584_cur."!cursor_pos"(rx584_pos)
-    $P10 = rx584_cur."ws"()
-    unless $P10, rx584_fail
-    rx584_pos = $P10."pos"()
-.annotate "line", 278
-  # rx subrule "blockoid" subtype=capture negate=
+  rxcap_589_done:
+  # rx subrule "routine_def" subtype=capture negate=
     rx584_cur."!cursor_pos"(rx584_pos)
-    $P10 = rx584_cur."blockoid"()
+    $P10 = rx584_cur."routine_def"()
     unless $P10, rx584_fail
     rx584_cur."!mark_push"(0, -1, 0, $P10)
-    $P10."!cursor_names"("blockoid")
-    rx584_pos = $P10."pos"()
-  # rx subrule "ws" subtype=method negate=
-    rx584_cur."!cursor_pos"(rx584_pos)
-    $P10 = rx584_cur."ws"()
-    unless $P10, rx584_fail
+    $P10."!cursor_names"("routine_def")
     rx584_pos = $P10."pos"()
-.annotate "line", 273
   # rx pass
-    rx584_cur."!cursor_pass"(rx584_pos, "routine_def")
-    rx584_cur."!cursor_debug"("PASS  ", "routine_def", " at pos=", rx584_pos)
+    rx584_cur."!cursor_pass"(rx584_pos, "routine_declarator:sym<sub>")
+    rx584_cur."!cursor_debug"("PASS  ", "routine_declarator:sym<sub>", " at pos=", rx584_pos)
     .return (rx584_cur)
   rx584_fail:
 .annotate "line", 4
@@ -7178,1573 +7047,1714 @@
     jump $I10
   rx584_done:
     rx584_cur."!cursor_fail"()
-    rx584_cur."!cursor_debug"("FAIL  ", "routine_def")
+    rx584_cur."!cursor_debug"("FAIL  ", "routine_declarator:sym<sub>")
     .return (rx584_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__routine_def"  :subid("146_1260829317.63188") :method
+.sub "!PREFIX__routine_declarator:sym<sub>"  :subid("146_1261019367.36172") :method
 .annotate "line", 4
-    new $P586, "ResizablePMCArray"
-    push $P586, ""
-    .return ($P586)
+    $P586 = self."!PREFIX__!subrule"("routine_def", "sub")
+    new $P587, "ResizablePMCArray"
+    push $P587, $P586
+    .return ($P587)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "method_def"  :subid("147_1260829317.63188") :method :outer("11_1260829317.63188")
-.annotate "line", 4
-    .local string rx608_tgt
-    .local int rx608_pos
-    .local int rx608_off
-    .local int rx608_eos
-    .local int rx608_rep
-    .local pmc rx608_cur
-    (rx608_cur, rx608_pos, rx608_tgt) = self."!cursor_start"()
-    rx608_cur."!cursor_debug"("START ", "method_def")
-    rx608_cur."!cursor_caparray"("deflongname")
-    .lex unicode:"$\x{a2}", rx608_cur
-    .local pmc match
-    .lex "$/", match
-    length rx608_eos, rx608_tgt
-    set rx608_off, 0
-    lt rx608_pos, 2, rx608_start
-    sub rx608_off, rx608_pos, 1
-    substr rx608_tgt, rx608_tgt, rx608_off
-  rx608_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan611_done
-    goto rxscan611_scan
-  rxscan611_loop:
-    ($P10) = rx608_cur."from"()
-    inc $P10
-    set rx608_pos, $P10
-    ge rx608_pos, rx608_eos, rxscan611_done
-  rxscan611_scan:
-    set_addr $I10, rxscan611_loop
-    rx608_cur."!mark_push"(0, rx608_pos, $I10)
-  rxscan611_done:
-.annotate "line", 281
+.sub "routine_declarator:sym<method>"  :subid("147_1261019367.36172") :method :outer("11_1261019367.36172")
+.annotate "line", 4
+    .local string rx591_tgt
+    .local int rx591_pos
+    .local int rx591_off
+    .local int rx591_eos
+    .local int rx591_rep
+    .local pmc rx591_cur
+    (rx591_cur, rx591_pos, rx591_tgt) = self."!cursor_start"()
+    rx591_cur."!cursor_debug"("START ", "routine_declarator:sym<method>")
+    .lex unicode:"$\x{a2}", rx591_cur
+    .local pmc match
+    .lex "$/", match
+    length rx591_eos, rx591_tgt
+    set rx591_off, 0
+    lt rx591_pos, 2, rx591_start
+    sub rx591_off, rx591_pos, 1
+    substr rx591_tgt, rx591_tgt, rx591_off
+  rx591_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan595_done
+    goto rxscan595_scan
+  rxscan595_loop:
+    ($P10) = rx591_cur."from"()
+    inc $P10
+    set rx591_pos, $P10
+    ge rx591_pos, rx591_eos, rxscan595_done
+  rxscan595_scan:
+    set_addr $I10, rxscan595_loop
+    rx591_cur."!mark_push"(0, rx591_pos, $I10)
+  rxscan595_done:
+.annotate "line", 276
+  # rx subcapture "sym"
+    set_addr $I10, rxcap_596_fail
+    rx591_cur."!mark_push"(0, rx591_pos, $I10)
+  # rx literal  "method"
+    add $I11, rx591_pos, 6
+    gt $I11, rx591_eos, rx591_fail
+    sub $I11, rx591_pos, rx591_off
+    substr $S10, rx591_tgt, $I11, 6
+    ne $S10, "method", rx591_fail
+    add rx591_pos, 6
+    set_addr $I10, rxcap_596_fail
+    ($I12, $I11) = rx591_cur."!mark_peek"($I10)
+    rx591_cur."!cursor_pos"($I11)
+    ($P10) = rx591_cur."!cursor_start"()
+    $P10."!cursor_pass"(rx591_pos, "")
+    rx591_cur."!mark_push"(0, -1, 0, $P10)
+    $P10."!cursor_names"("sym")
+    goto rxcap_596_done
+  rxcap_596_fail:
+    goto rx591_fail
+  rxcap_596_done:
+  # rx subrule "method_def" subtype=capture negate=
+    rx591_cur."!cursor_pos"(rx591_pos)
+    $P10 = rx591_cur."method_def"()
+    unless $P10, rx591_fail
+    rx591_cur."!mark_push"(0, -1, 0, $P10)
+    $P10."!cursor_names"("method_def")
+    rx591_pos = $P10."pos"()
+  # rx pass
+    rx591_cur."!cursor_pass"(rx591_pos, "routine_declarator:sym<method>")
+    rx591_cur."!cursor_debug"("PASS  ", "routine_declarator:sym<method>", " at pos=", rx591_pos)
+    .return (rx591_cur)
+  rx591_fail:
+.annotate "line", 4
+    (rx591_rep, rx591_pos, $I10, $P10) = rx591_cur."!mark_fail"(0)
+    lt rx591_pos, -1, rx591_done
+    eq rx591_pos, -1, rx591_fail
+    jump $I10
+  rx591_done:
+    rx591_cur."!cursor_fail"()
+    rx591_cur."!cursor_debug"("FAIL  ", "routine_declarator:sym<method>")
+    .return (rx591_cur)
+    .return ()
+.end
+
+
+.namespace ["NQP";"Grammar"]
+.sub "!PREFIX__routine_declarator:sym<method>"  :subid("148_1261019367.36172") :method
+.annotate "line", 4
+    $P593 = self."!PREFIX__!subrule"("method_def", "method")
+    new $P594, "ResizablePMCArray"
+    push $P594, $P593
+    .return ($P594)
+.end
+
+
+.namespace ["NQP";"Grammar"]
+.sub "routine_def"  :subid("149_1261019367.36172") :method :outer("11_1261019367.36172")
+.annotate "line", 4
+    .local string rx598_tgt
+    .local int rx598_pos
+    .local int rx598_off
+    .local int rx598_eos
+    .local int rx598_rep
+    .local pmc rx598_cur
+    (rx598_cur, rx598_pos, rx598_tgt) = self."!cursor_start"()
+    rx598_cur."!cursor_debug"("START ", "routine_def")
+    rx598_cur."!cursor_caparray"("sigil", "deflongname")
+    .lex unicode:"$\x{a2}", rx598_cur
+    .local pmc match
+    .lex "$/", match
+    length rx598_eos, rx598_tgt
+    set rx598_off, 0
+    lt rx598_pos, 2, rx598_start
+    sub rx598_off, rx598_pos, 1
+    substr rx598_tgt, rx598_tgt, rx598_off
+  rx598_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan601_done
+    goto rxscan601_scan
+  rxscan601_loop:
+    ($P10) = rx598_cur."from"()
+    inc $P10
+    set rx598_pos, $P10
+    ge rx598_pos, rx598_eos, rxscan601_done
+  rxscan601_scan:
+    set_addr $I10, rxscan601_loop
+    rx598_cur."!mark_push"(0, rx598_pos, $I10)
+  rxscan601_done:
+.annotate "line", 278
   # rx subrule "ws" subtype=method negate=
-    rx608_cur."!cursor_pos"(rx608_pos)
-    $P10 = rx608_cur."ws"()
-    unless $P10, rx608_fail
-    rx608_pos = $P10."pos"()
-.annotate "line", 282
-  # rx rxquantr613 ** 0..1
-    set_addr $I614, rxquantr613_done
-    rx608_cur."!mark_push"(0, rx608_pos, $I614)
-  rxquantr613_loop:
+    rx598_cur."!cursor_pos"(rx598_pos)
+    $P10 = rx598_cur."ws"()
+    unless $P10, rx598_fail
+    rx598_pos = $P10."pos"()
+.annotate "line", 279
+  # rx rxquantr603 ** 0..1
+    set_addr $I609, rxquantr603_done
+    rx598_cur."!mark_push"(0, rx598_pos, $I609)
+  rxquantr603_loop:
+  # rx subrule "ws" subtype=method negate=
+    rx598_cur."!cursor_pos"(rx598_pos)
+    $P10 = rx598_cur."ws"()
+    unless $P10, rx598_fail
+    rx598_pos = $P10."pos"()
+  # rx subcapture "sigil"
+    set_addr $I10, rxcap_607_fail
+    rx598_cur."!mark_push"(0, rx598_pos, $I10)
+  # rx rxquantr605 ** 0..1
+    set_addr $I606, rxquantr605_done
+    rx598_cur."!mark_push"(0, rx598_pos, $I606)
+  rxquantr605_loop:
+  # rx literal  "&"
+    add $I11, rx598_pos, 1
+    gt $I11, rx598_eos, rx598_fail
+    sub $I11, rx598_pos, rx598_off
+    substr $S10, rx598_tgt, $I11, 1
+    ne $S10, "&", rx598_fail
+    add rx598_pos, 1
+    (rx598_rep) = rx598_cur."!mark_commit"($I606)
+  rxquantr605_done:
+    set_addr $I10, rxcap_607_fail
+    ($I12, $I11) = rx598_cur."!mark_peek"($I10)
+    rx598_cur."!cursor_pos"($I11)
+    ($P10) = rx598_cur."!cursor_start"()
+    $P10."!cursor_pass"(rx598_pos, "")
+    rx598_cur."!mark_push"(0, -1, 0, $P10)
+    $P10."!cursor_names"("sigil")
+    goto rxcap_607_done
+  rxcap_607_fail:
+    goto rx598_fail
+  rxcap_607_done:
   # rx subrule "deflongname" subtype=capture negate=
-    rx608_cur."!cursor_pos"(rx608_pos)
-    $P10 = rx608_cur."deflongname"()
-    unless $P10, rx608_fail
-    rx608_cur."!mark_push"(0, -1, 0, $P10)
+    rx598_cur."!cursor_pos"(rx598_pos)
+    $P10 = rx598_cur."deflongname"()
+    unless $P10, rx598_fail
+    rx598_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("deflongname")
-    rx608_pos = $P10."pos"()
-    (rx608_rep) = rx608_cur."!mark_commit"($I614)
-  rxquantr613_done:
-  # rx subrule "ws" subtype=method negate=
-    rx608_cur."!cursor_pos"(rx608_pos)
-    $P10 = rx608_cur."ws"()
-    unless $P10, rx608_fail
-    rx608_pos = $P10."pos"()
-.annotate "line", 283
+    rx598_pos = $P10."pos"()
+  # rx subrule "ws" subtype=method negate=
+    rx598_cur."!cursor_pos"(rx598_pos)
+    $P10 = rx598_cur."ws"()
+    unless $P10, rx598_fail
+    rx598_pos = $P10."pos"()
+    (rx598_rep) = rx598_cur."!mark_commit"($I609)
+  rxquantr603_done:
+  # rx subrule "ws" subtype=method negate=
+    rx598_cur."!cursor_pos"(rx598_pos)
+    $P10 = rx598_cur."ws"()
+    unless $P10, rx598_fail
+    rx598_pos = $P10."pos"()
+.annotate "line", 280
   # rx subrule "newpad" subtype=method negate=
-    rx608_cur."!cursor_pos"(rx608_pos)
-    $P10 = rx608_cur."newpad"()
-    unless $P10, rx608_fail
-    rx608_pos = $P10."pos"()
-  # rx subrule "ws" subtype=method negate=
-    rx608_cur."!cursor_pos"(rx608_pos)
-    $P10 = rx608_cur."ws"()
-    unless $P10, rx608_fail
-    rx608_pos = $P10."pos"()
-  alt617_0:
-.annotate "line", 284
-    set_addr $I10, alt617_1
-    rx608_cur."!mark_push"(0, rx608_pos, $I10)
+    rx598_cur."!cursor_pos"(rx598_pos)
+    $P10 = rx598_cur."newpad"()
+    unless $P10, rx598_fail
+    rx598_pos = $P10."pos"()
+  # rx subrule "ws" subtype=method negate=
+    rx598_cur."!cursor_pos"(rx598_pos)
+    $P10 = rx598_cur."ws"()
+    unless $P10, rx598_fail
+    rx598_pos = $P10."pos"()
+  alt612_0:
+.annotate "line", 281
+    set_addr $I10, alt612_1
+    rx598_cur."!mark_push"(0, rx598_pos, $I10)
   # rx subrule "ws" subtype=method negate=
-    rx608_cur."!cursor_pos"(rx608_pos)
-    $P10 = rx608_cur."ws"()
-    unless $P10, rx608_fail
-    rx608_pos = $P10."pos"()
+    rx598_cur."!cursor_pos"(rx598_pos)
+    $P10 = rx598_cur."ws"()
+    unless $P10, rx598_fail
+    rx598_pos = $P10."pos"()
   # rx literal  "("
-    add $I11, rx608_pos, 1
-    gt $I11, rx608_eos, rx608_fail
-    sub $I11, rx608_pos, rx608_off
-    substr $S10, rx608_tgt, $I11, 1
-    ne $S10, "(", rx608_fail
-    add rx608_pos, 1
-  # rx subrule "ws" subtype=method negate=
-    rx608_cur."!cursor_pos"(rx608_pos)
-    $P10 = rx608_cur."ws"()
-    unless $P10, rx608_fail
-    rx608_pos = $P10."pos"()
+    add $I11, rx598_pos, 1
+    gt $I11, rx598_eos, rx598_fail
+    sub $I11, rx598_pos, rx598_off
+    substr $S10, rx598_tgt, $I11, 1
+    ne $S10, "(", rx598_fail
+    add rx598_pos, 1
+  # rx subrule "ws" subtype=method negate=
+    rx598_cur."!cursor_pos"(rx598_pos)
+    $P10 = rx598_cur."ws"()
+    unless $P10, rx598_fail
+    rx598_pos = $P10."pos"()
   # rx subrule "signature" subtype=capture negate=
-    rx608_cur."!cursor_pos"(rx608_pos)
-    $P10 = rx608_cur."signature"()
-    unless $P10, rx608_fail
-    rx608_cur."!mark_push"(0, -1, 0, $P10)
+    rx598_cur."!cursor_pos"(rx598_pos)
+    $P10 = rx598_cur."signature"()
+    unless $P10, rx598_fail
+    rx598_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("signature")
-    rx608_pos = $P10."pos"()
+    rx598_pos = $P10."pos"()
   # rx subrule "ws" subtype=method negate=
-    rx608_cur."!cursor_pos"(rx608_pos)
-    $P10 = rx608_cur."ws"()
-    unless $P10, rx608_fail
-    rx608_pos = $P10."pos"()
+    rx598_cur."!cursor_pos"(rx598_pos)
+    $P10 = rx598_cur."ws"()
+    unless $P10, rx598_fail
+    rx598_pos = $P10."pos"()
   # rx literal  ")"
-    add $I11, rx608_pos, 1
-    gt $I11, rx608_eos, rx608_fail
-    sub $I11, rx608_pos, rx608_off
-    substr $S10, rx608_tgt, $I11, 1
-    ne $S10, ")", rx608_fail
-    add rx608_pos, 1
-  # rx subrule "ws" subtype=method negate=
-    rx608_cur."!cursor_pos"(rx608_pos)
-    $P10 = rx608_cur."ws"()
-    unless $P10, rx608_fail
-    rx608_pos = $P10."pos"()
-    goto alt617_end
-  alt617_1:
-.annotate "line", 285
+    add $I11, rx598_pos, 1
+    gt $I11, rx598_eos, rx598_fail
+    sub $I11, rx598_pos, rx598_off
+    substr $S10, rx598_tgt, $I11, 1
+    ne $S10, ")", rx598_fail
+    add rx598_pos, 1
+  # rx subrule "ws" subtype=method negate=
+    rx598_cur."!cursor_pos"(rx598_pos)
+    $P10 = rx598_cur."ws"()
+    unless $P10, rx598_fail
+    rx598_pos = $P10."pos"()
+    goto alt612_end
+  alt612_1:
+.annotate "line", 282
   # rx subrule "ws" subtype=method negate=
-    rx608_cur."!cursor_pos"(rx608_pos)
-    $P10 = rx608_cur."ws"()
-    unless $P10, rx608_fail
-    rx608_pos = $P10."pos"()
+    rx598_cur."!cursor_pos"(rx598_pos)
+    $P10 = rx598_cur."ws"()
+    unless $P10, rx598_fail
+    rx598_pos = $P10."pos"()
   # rx subrule "panic" subtype=method negate=
-    rx608_cur."!cursor_pos"(rx608_pos)
-    $P10 = rx608_cur."panic"("Routine declaration requires a signature")
-    unless $P10, rx608_fail
-    rx608_pos = $P10."pos"()
-  # rx subrule "ws" subtype=method negate=
-    rx608_cur."!cursor_pos"(rx608_pos)
-    $P10 = rx608_cur."ws"()
-    unless $P10, rx608_fail
-    rx608_pos = $P10."pos"()
-  alt617_end:
-  # rx subrule "ws" subtype=method negate=
-    rx608_cur."!cursor_pos"(rx608_pos)
-    $P10 = rx608_cur."ws"()
-    unless $P10, rx608_fail
-    rx608_pos = $P10."pos"()
-.annotate "line", 286
+    rx598_cur."!cursor_pos"(rx598_pos)
+    $P10 = rx598_cur."panic"("Routine declaration requires a signature")
+    unless $P10, rx598_fail
+    rx598_pos = $P10."pos"()
+  # rx subrule "ws" subtype=method negate=
+    rx598_cur."!cursor_pos"(rx598_pos)
+    $P10 = rx598_cur."ws"()
+    unless $P10, rx598_fail
+    rx598_pos = $P10."pos"()
+  alt612_end:
+  # rx subrule "ws" subtype=method negate=
+    rx598_cur."!cursor_pos"(rx598_pos)
+    $P10 = rx598_cur."ws"()
+    unless $P10, rx598_fail
+    rx598_pos = $P10."pos"()
+.annotate "line", 283
   # rx subrule "blockoid" subtype=capture negate=
-    rx608_cur."!cursor_pos"(rx608_pos)
-    $P10 = rx608_cur."blockoid"()
-    unless $P10, rx608_fail
-    rx608_cur."!mark_push"(0, -1, 0, $P10)
+    rx598_cur."!cursor_pos"(rx598_pos)
+    $P10 = rx598_cur."blockoid"()
+    unless $P10, rx598_fail
+    rx598_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("blockoid")
-    rx608_pos = $P10."pos"()
+    rx598_pos = $P10."pos"()
   # rx subrule "ws" subtype=method negate=
-    rx608_cur."!cursor_pos"(rx608_pos)
-    $P10 = rx608_cur."ws"()
-    unless $P10, rx608_fail
-    rx608_pos = $P10."pos"()
-.annotate "line", 281
+    rx598_cur."!cursor_pos"(rx598_pos)
+    $P10 = rx598_cur."ws"()
+    unless $P10, rx598_fail
+    rx598_pos = $P10."pos"()
+.annotate "line", 278
   # rx pass
-    rx608_cur."!cursor_pass"(rx608_pos, "method_def")
-    rx608_cur."!cursor_debug"("PASS  ", "method_def", " at pos=", rx608_pos)
-    .return (rx608_cur)
-  rx608_fail:
+    rx598_cur."!cursor_pass"(rx598_pos, "routine_def")
+    rx598_cur."!cursor_debug"("PASS  ", "routine_def", " at pos=", rx598_pos)
+    .return (rx598_cur)
+  rx598_fail:
 .annotate "line", 4
-    (rx608_rep, rx608_pos, $I10, $P10) = rx608_cur."!mark_fail"(0)
-    lt rx608_pos, -1, rx608_done
-    eq rx608_pos, -1, rx608_fail
+    (rx598_rep, rx598_pos, $I10, $P10) = rx598_cur."!mark_fail"(0)
+    lt rx598_pos, -1, rx598_done
+    eq rx598_pos, -1, rx598_fail
     jump $I10
-  rx608_done:
-    rx608_cur."!cursor_fail"()
-    rx608_cur."!cursor_debug"("FAIL  ", "method_def")
-    .return (rx608_cur)
+  rx598_done:
+    rx598_cur."!cursor_fail"()
+    rx598_cur."!cursor_debug"("FAIL  ", "routine_def")
+    .return (rx598_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__method_def"  :subid("148_1260829317.63188") :method
+.sub "!PREFIX__routine_def"  :subid("150_1261019367.36172") :method
 .annotate "line", 4
-    new $P610, "ResizablePMCArray"
-    push $P610, ""
-    .return ($P610)
+    new $P600, "ResizablePMCArray"
+    push $P600, ""
+    .return ($P600)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "signature"  :subid("149_1260829317.63188") :method :outer("11_1260829317.63188")
+.sub "method_def"  :subid("151_1261019367.36172") :method :outer("11_1261019367.36172")
 .annotate "line", 4
-    .local string rx627_tgt
-    .local int rx627_pos
-    .local int rx627_off
-    .local int rx627_eos
-    .local int rx627_rep
-    .local pmc rx627_cur
-    (rx627_cur, rx627_pos, rx627_tgt) = self."!cursor_start"()
-    rx627_cur."!cursor_debug"("START ", "signature")
-    rx627_cur."!cursor_caparray"("parameter")
-    .lex unicode:"$\x{a2}", rx627_cur
+    .local string rx622_tgt
+    .local int rx622_pos
+    .local int rx622_off
+    .local int rx622_eos
+    .local int rx622_rep
+    .local pmc rx622_cur
+    (rx622_cur, rx622_pos, rx622_tgt) = self."!cursor_start"()
+    rx622_cur."!cursor_debug"("START ", "method_def")
+    rx622_cur."!cursor_caparray"("deflongname")
+    .lex unicode:"$\x{a2}", rx622_cur
     .local pmc match
     .lex "$/", match
-    length rx627_eos, rx627_tgt
-    set rx627_off, 0
-    lt rx627_pos, 2, rx627_start
-    sub rx627_off, rx627_pos, 1
-    substr rx627_tgt, rx627_tgt, rx627_off
-  rx627_start:
+    length rx622_eos, rx622_tgt
+    set rx622_off, 0
+    lt rx622_pos, 2, rx622_start
+    sub rx622_off, rx622_pos, 1
+    substr rx622_tgt, rx622_tgt, rx622_off
+  rx622_start:
     $I10 = self.'from'()
-    ne $I10, -1, rxscan630_done
-    goto rxscan630_scan
-  rxscan630_loop:
-    ($P10) = rx627_cur."from"()
+    ne $I10, -1, rxscan625_done
+    goto rxscan625_scan
+  rxscan625_loop:
+    ($P10) = rx622_cur."from"()
     inc $P10
-    set rx627_pos, $P10
-    ge rx627_pos, rx627_eos, rxscan630_done
-  rxscan630_scan:
-    set_addr $I10, rxscan630_loop
-    rx627_cur."!mark_push"(0, rx627_pos, $I10)
-  rxscan630_done:
+    set rx622_pos, $P10
+    ge rx622_pos, rx622_eos, rxscan625_done
+  rxscan625_scan:
+    set_addr $I10, rxscan625_loop
+    rx622_cur."!mark_push"(0, rx622_pos, $I10)
+  rxscan625_done:
+.annotate "line", 286
+  # rx subrule "ws" subtype=method negate=
+    rx622_cur."!cursor_pos"(rx622_pos)
+    $P10 = rx622_cur."ws"()
+    unless $P10, rx622_fail
+    rx622_pos = $P10."pos"()
+.annotate "line", 287
+  # rx rxquantr627 ** 0..1
+    set_addr $I628, rxquantr627_done
+    rx622_cur."!mark_push"(0, rx622_pos, $I628)
+  rxquantr627_loop:
+  # rx subrule "deflongname" subtype=capture negate=
+    rx622_cur."!cursor_pos"(rx622_pos)
+    $P10 = rx622_cur."deflongname"()
+    unless $P10, rx622_fail
+    rx622_cur."!mark_push"(0, -1, 0, $P10)
+    $P10."!cursor_names"("deflongname")
+    rx622_pos = $P10."pos"()
+    (rx622_rep) = rx622_cur."!mark_commit"($I628)
+  rxquantr627_done:
+  # rx subrule "ws" subtype=method negate=
+    rx622_cur."!cursor_pos"(rx622_pos)
+    $P10 = rx622_cur."ws"()
+    unless $P10, rx622_fail
+    rx622_pos = $P10."pos"()
+.annotate "line", 288
+  # rx subrule "newpad" subtype=method negate=
+    rx622_cur."!cursor_pos"(rx622_pos)
+    $P10 = rx622_cur."newpad"()
+    unless $P10, rx622_fail
+    rx622_pos = $P10."pos"()
+  # rx subrule "ws" subtype=method negate=
+    rx622_cur."!cursor_pos"(rx622_pos)
+    $P10 = rx622_cur."ws"()
+    unless $P10, rx622_fail
+    rx622_pos = $P10."pos"()
+  alt631_0:
 .annotate "line", 289
-  # rx rxquantr631 ** 0..1
-    set_addr $I634, rxquantr631_done
-    rx627_cur."!mark_push"(0, rx627_pos, $I634)
-  rxquantr631_loop:
-  # rx rxquantr632 ** 1..*
-    set_addr $I633, rxquantr632_done
-    rx627_cur."!mark_push"(0, -1, $I633)
-  rxquantr632_loop:
-  # rx subrule "ws" subtype=method negate=
-    rx627_cur."!cursor_pos"(rx627_pos)
-    $P10 = rx627_cur."ws"()
-    unless $P10, rx627_fail
-    rx627_pos = $P10."pos"()
-  # rx subrule "parameter" subtype=capture negate=
-    rx627_cur."!cursor_pos"(rx627_pos)
-    $P10 = rx627_cur."parameter"()
-    unless $P10, rx627_fail
-    rx627_cur."!mark_push"(0, -1, 0, $P10)
-    $P10."!cursor_names"("parameter")
-    rx627_pos = $P10."pos"()
+    set_addr $I10, alt631_1
+    rx622_cur."!mark_push"(0, rx622_pos, $I10)
   # rx subrule "ws" subtype=method negate=
-    rx627_cur."!cursor_pos"(rx627_pos)
-    $P10 = rx627_cur."ws"()
-    unless $P10, rx627_fail
-    rx627_pos = $P10."pos"()
-    (rx627_rep) = rx627_cur."!mark_commit"($I633)
-    rx627_cur."!mark_push"(rx627_rep, rx627_pos, $I633)
-  # rx literal  ","
-    add $I11, rx627_pos, 1
-    gt $I11, rx627_eos, rx627_fail
-    sub $I11, rx627_pos, rx627_off
-    substr $S10, rx627_tgt, $I11, 1
-    ne $S10, ",", rx627_fail
-    add rx627_pos, 1
-    goto rxquantr632_loop
-  rxquantr632_done:
-    (rx627_rep) = rx627_cur."!mark_commit"($I634)
-  rxquantr631_done:
-  # rx pass
-    rx627_cur."!cursor_pass"(rx627_pos, "signature")
-    rx627_cur."!cursor_debug"("PASS  ", "signature", " at pos=", rx627_pos)
-    .return (rx627_cur)
-  rx627_fail:
-.annotate "line", 4
-    (rx627_rep, rx627_pos, $I10, $P10) = rx627_cur."!mark_fail"(0)
-    lt rx627_pos, -1, rx627_done
-    eq rx627_pos, -1, rx627_fail
-    jump $I10
-  rx627_done:
-    rx627_cur."!cursor_fail"()
-    rx627_cur."!cursor_debug"("FAIL  ", "signature")
-    .return (rx627_cur)
-    .return ()
+    rx622_cur."!cursor_pos"(rx622_pos)
+    $P10 = rx622_cur."ws"()
+    unless $P10, rx622_fail
+    rx622_pos = $P10."pos"()
+  # rx literal  "("
+    add $I11, rx622_pos, 1
+    gt $I11, rx622_eos, rx622_fail
+    sub $I11, rx622_pos, rx622_off
+    substr $S10, rx622_tgt, $I11, 1
+    ne $S10, "(", rx622_fail
+    add rx622_pos, 1
+  # rx subrule "ws" subtype=method negate=
+    rx622_cur."!cursor_pos"(rx622_pos)
+    $P10 = rx622_cur."ws"()
+    unless $P10, rx622_fail
+    rx622_pos = $P10."pos"()
+  # rx subrule "signature" subtype=capture negate=
+    rx622_cur."!cursor_pos"(rx622_pos)
+    $P10 = rx622_cur."signature"()
+    unless $P10, rx622_fail
+    rx622_cur."!mark_push"(0, -1, 0, $P10)
+    $P10."!cursor_names"("signature")
+    rx622_pos = $P10."pos"()
+  # rx subrule "ws" subtype=method negate=
+    rx622_cur."!cursor_pos"(rx622_pos)
+    $P10 = rx622_cur."ws"()
+    unless $P10, rx622_fail
+    rx622_pos = $P10."pos"()
+  # rx literal  ")"
+    add $I11, rx622_pos, 1
+    gt $I11, rx622_eos, rx622_fail
+    sub $I11, rx622_pos, rx622_off
+    substr $S10, rx622_tgt, $I11, 1
+    ne $S10, ")", rx622_fail
+    add rx622_pos, 1
+  # rx subrule "ws" subtype=method negate=
+    rx622_cur."!cursor_pos"(rx622_pos)
+    $P10 = rx622_cur."ws"()
+    unless $P10, rx622_fail
+    rx622_pos = $P10."pos"()
+    goto alt631_end
+  alt631_1:
+.annotate "line", 290
+  # rx subrule "ws" subtype=method negate=
+    rx622_cur."!cursor_pos"(rx622_pos)
+    $P10 = rx622_cur."ws"()
+    unless $P10, rx622_fail
+    rx622_pos = $P10."pos"()
+  # rx subrule "panic" subtype=method negate=
+    rx622_cur."!cursor_pos"(rx622_pos)
+    $P10 = rx622_cur."panic"("Routine declaration requires a signature")
+    unless $P10, rx622_fail
+    rx622_pos = $P10."pos"()
+  # rx subrule "ws" subtype=method negate=
+    rx622_cur."!cursor_pos"(rx622_pos)
+    $P10 = rx622_cur."ws"()
+    unless $P10, rx622_fail
+    rx622_pos = $P10."pos"()
+  alt631_end:
+  # rx subrule "ws" subtype=method negate=
+    rx622_cur."!cursor_pos"(rx622_pos)
+    $P10 = rx622_cur."ws"()
+    unless $P10, rx622_fail
+    rx622_pos = $P10."pos"()
+.annotate "line", 291
+  # rx subrule "blockoid" subtype=capture negate=
+    rx622_cur."!cursor_pos"(rx622_pos)
+    $P10 = rx622_cur."blockoid"()
+    unless $P10, rx622_fail
+    rx622_cur."!mark_push"(0, -1, 0, $P10)
+    $P10."!cursor_names"("blockoid")
+    rx622_pos = $P10."pos"()
+  # rx subrule "ws" subtype=method negate=
+    rx622_cur."!cursor_pos"(rx622_pos)
+    $P10 = rx622_cur."ws"()
+    unless $P10, rx622_fail
+    rx622_pos = $P10."pos"()
+.annotate "line", 286
+  # rx pass
+    rx622_cur."!cursor_pass"(rx622_pos, "method_def")
+    rx622_cur."!cursor_debug"("PASS  ", "method_def", " at pos=", rx622_pos)
+    .return (rx622_cur)
+  rx622_fail:
+.annotate "line", 4
+    (rx622_rep, rx622_pos, $I10, $P10) = rx622_cur."!mark_fail"(0)
+    lt rx622_pos, -1, rx622_done
+    eq rx622_pos, -1, rx622_fail
+    jump $I10
+  rx622_done:
+    rx622_cur."!cursor_fail"()
+    rx622_cur."!cursor_debug"("FAIL  ", "method_def")
+    .return (rx622_cur)
+    .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__signature"  :subid("150_1260829317.63188") :method
+.sub "!PREFIX__method_def"  :subid("152_1261019367.36172") :method
 .annotate "line", 4
-    new $P629, "ResizablePMCArray"
-    push $P629, ""
-    .return ($P629)
+    new $P624, "ResizablePMCArray"
+    push $P624, ""
+    .return ($P624)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "parameter"  :subid("151_1260829317.63188") :method :outer("11_1260829317.63188")
+.sub "signature"  :subid("153_1261019367.36172") :method :outer("11_1261019367.36172")
 .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 ", "parameter")
-    rx636_cur."!cursor_caparray"("default_value")
-    .lex unicode:"$\x{a2}", rx636_cur
+    .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 ", "signature")
+    rx641_cur."!cursor_caparray"("parameter")
+    .lex unicode:"$\x{a2}", rx641_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 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, rxscan642_done
-    goto rxscan642_scan
-  rxscan642_loop:
-    ($P10) = rx636_cur."from"()
+    ne $I10, -1, rxscan644_done
+    goto rxscan644_scan
+  rxscan644_loop:
+    ($P10) = rx641_cur."from"()
     inc $P10
-    set rx636_pos, $P10
-    ge rx636_pos, rx636_eos, rxscan642_done
-  rxscan642_scan:
-    set_addr $I10, rxscan642_loop
-    rx636_cur."!mark_push"(0, rx636_pos, $I10)
-  rxscan642_done:
-  alt643_0:
-.annotate "line", 292
-    set_addr $I10, alt643_1
-    rx636_cur."!mark_push"(0, rx636_pos, $I10)
-.annotate "line", 293
+    set rx641_pos, $P10
+    ge rx641_pos, rx641_eos, rxscan644_done
+  rxscan644_scan:
+    set_addr $I10, rxscan644_loop
+    rx641_cur."!mark_push"(0, rx641_pos, $I10)
+  rxscan644_done:
+.annotate "line", 294
+  # rx rxquantr645 ** 0..1
+    set_addr $I648, rxquantr645_done
+    rx641_cur."!mark_push"(0, rx641_pos, $I648)
+  rxquantr645_loop:
+  # rx rxquantr646 ** 1..*
+    set_addr $I647, rxquantr646_done
+    rx641_cur."!mark_push"(0, -1, $I647)
+  rxquantr646_loop:
+  # rx subrule "ws" subtype=method negate=
+    rx641_cur."!cursor_pos"(rx641_pos)
+    $P10 = rx641_cur."ws"()
+    unless $P10, rx641_fail
+    rx641_pos = $P10."pos"()
+  # rx subrule "parameter" subtype=capture negate=
+    rx641_cur."!cursor_pos"(rx641_pos)
+    $P10 = rx641_cur."parameter"()
+    unless $P10, rx641_fail
+    rx641_cur."!mark_push"(0, -1, 0, $P10)
+    $P10."!cursor_names"("parameter")
+    rx641_pos = $P10."pos"()
+  # rx subrule "ws" subtype=method negate=
+    rx641_cur."!cursor_pos"(rx641_pos)
+    $P10 = rx641_cur."ws"()
+    unless $P10, rx641_fail
+    rx641_pos = $P10."pos"()
+    (rx641_rep) = rx641_cur."!mark_commit"($I647)
+    rx641_cur."!mark_push"(rx641_rep, rx641_pos, $I647)
+  # rx literal  ","
+    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 rxquantr646_loop
+  rxquantr646_done:
+    (rx641_rep) = rx641_cur."!mark_commit"($I648)
+  rxquantr645_done:
+  # rx pass
+    rx641_cur."!cursor_pass"(rx641_pos, "signature")
+    rx641_cur."!cursor_debug"("PASS  ", "signature", " at pos=", rx641_pos)
+    .return (rx641_cur)
+  rx641_fail:
+.annotate "line", 4
+    (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
+  rx641_done:
+    rx641_cur."!cursor_fail"()
+    rx641_cur."!cursor_debug"("FAIL  ", "signature")
+    .return (rx641_cur)
+    .return ()
+.end
+
+
+.namespace ["NQP";"Grammar"]
+.sub "!PREFIX__signature"  :subid("154_1261019367.36172") :method
+.annotate "line", 4
+    new $P643, "ResizablePMCArray"
+    push $P643, ""
+    .return ($P643)
+.end
+
+
+.namespace ["NQP";"Grammar"]
+.sub "parameter"  :subid("155_1261019367.36172") :method :outer("11_1261019367.36172")
+.annotate "line", 4
+    .local string rx650_tgt
+    .local int rx650_pos
+    .local int rx650_off
+    .local int rx650_eos
+    .local int rx650_rep
+    .local pmc rx650_cur
+    (rx650_cur, rx650_pos, rx650_tgt) = self."!cursor_start"()
+    rx650_cur."!cursor_debug"("START ", "parameter")
+    rx650_cur."!cursor_caparray"("default_value")
+    .lex unicode:"$\x{a2}", rx650_cur
+    .local pmc match
+    .lex "$/", match
+    length rx650_eos, rx650_tgt
+    set rx650_off, 0
+    lt rx650_pos, 2, rx650_start
+    sub rx650_off, rx650_pos, 1
+    substr rx650_tgt, rx650_tgt, rx650_off
+  rx650_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan656_done
+    goto rxscan656_scan
+  rxscan656_loop:
+    ($P10) = rx650_cur."from"()
+    inc $P10
+    set rx650_pos, $P10
+    ge rx650_pos, rx650_eos, rxscan656_done
+  rxscan656_scan:
+    set_addr $I10, rxscan656_loop
+    rx650_cur."!mark_push"(0, rx650_pos, $I10)
+  rxscan656_done:
+  alt657_0:
+.annotate "line", 297
+    set_addr $I10, alt657_1
+    rx650_cur."!mark_push"(0, rx650_pos, $I10)
+.annotate "line", 298
   # rx subcapture "quant"
-    set_addr $I10, rxcap_644_fail
-    rx636_cur."!mark_push"(0, rx636_pos, $I10)
+    set_addr $I10, rxcap_658_fail
+    rx650_cur."!mark_push"(0, rx650_pos, $I10)
   # rx literal  "*"
-    add $I11, rx636_pos, 1
-    gt $I11, rx636_eos, rx636_fail
-    sub $I11, rx636_pos, rx636_off
-    substr $S10, rx636_tgt, $I11, 1
-    ne $S10, "*", rx636_fail
-    add rx636_pos, 1
-    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)
+    add $I11, rx650_pos, 1
+    gt $I11, rx650_eos, rx650_fail
+    sub $I11, rx650_pos, rx650_off
+    substr $S10, rx650_tgt, $I11, 1
+    ne $S10, "*", rx650_fail
+    add rx650_pos, 1
+    set_addr $I10, rxcap_658_fail
+    ($I12, $I11) = rx650_cur."!mark_peek"($I10)
+    rx650_cur."!cursor_pos"($I11)
+    ($P10) = rx650_cur."!cursor_start"()
+    $P10."!cursor_pass"(rx650_pos, "")
+    rx650_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("quant")
-    goto rxcap_644_done
-  rxcap_644_fail:
-    goto rx636_fail
-  rxcap_644_done:
+    goto rxcap_658_done
+  rxcap_658_fail:
+    goto rx650_fail
+  rxcap_658_done:
   # rx subrule "param_var" subtype=capture negate=
-    rx636_cur."!cursor_pos"(rx636_pos)
-    $P10 = rx636_cur."param_var"()
-    unless $P10, rx636_fail
-    rx636_cur."!mark_push"(0, -1, 0, $P10)
+    rx650_cur."!cursor_pos"(rx650_pos)
+    $P10 = rx650_cur."param_var"()
+    unless $P10, rx650_fail
+    rx650_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("param_var")
-    rx636_pos = $P10."pos"()
-    goto alt643_end
-  alt643_1:
-  alt645_0:
-.annotate "line", 294
-    set_addr $I10, alt645_1
-    rx636_cur."!mark_push"(0, rx636_pos, $I10)
+    rx650_pos = $P10."pos"()
+    goto alt657_end
+  alt657_1:
+  alt659_0:
+.annotate "line", 299
+    set_addr $I10, alt659_1
+    rx650_cur."!mark_push"(0, rx650_pos, $I10)
   # rx subrule "param_var" subtype=capture negate=
-    rx636_cur."!cursor_pos"(rx636_pos)
-    $P10 = rx636_cur."param_var"()
-    unless $P10, rx636_fail
-    rx636_cur."!mark_push"(0, -1, 0, $P10)
+    rx650_cur."!cursor_pos"(rx650_pos)
+    $P10 = rx650_cur."param_var"()
+    unless $P10, rx650_fail
+    rx650_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("param_var")
-    rx636_pos = $P10."pos"()
-    goto alt645_end
-  alt645_1:
+    rx650_pos = $P10."pos"()
+    goto alt659_end
+  alt659_1:
   # rx subrule "named_param" subtype=capture negate=
-    rx636_cur."!cursor_pos"(rx636_pos)
-    $P10 = rx636_cur."named_param"()
-    unless $P10, rx636_fail
-    rx636_cur."!mark_push"(0, -1, 0, $P10)
+    rx650_cur."!cursor_pos"(rx650_pos)
+    $P10 = rx650_cur."named_param"()
+    unless $P10, rx650_fail
+    rx650_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("named_param")
-    rx636_pos = $P10."pos"()
-  alt645_end:
+    rx650_pos = $P10."pos"()
+  alt659_end:
   # rx subcapture "quant"
-    set_addr $I10, rxcap_647_fail
-    rx636_cur."!mark_push"(0, rx636_pos, $I10)
-  alt646_0:
-    set_addr $I10, alt646_1
-    rx636_cur."!mark_push"(0, rx636_pos, $I10)
+    set_addr $I10, rxcap_661_fail
+    rx650_cur."!mark_push"(0, rx650_pos, $I10)
+  alt660_0:
+    set_addr $I10, alt660_1
+    rx650_cur."!mark_push"(0, rx650_pos, $I10)
   # rx literal  "?"
-    add $I11, rx636_pos, 1
-    gt $I11, rx636_eos, rx636_fail
-    sub $I11, rx636_pos, rx636_off
-    substr $S10, rx636_tgt, $I11, 1
-    ne $S10, "?", rx636_fail
-    add rx636_pos, 1
-    goto alt646_end
-  alt646_1:
-    set_addr $I10, alt646_2
-    rx636_cur."!mark_push"(0, rx636_pos, $I10)
+    add $I11, rx650_pos, 1
+    gt $I11, rx650_eos, rx650_fail
+    sub $I11, rx650_pos, rx650_off
+    substr $S10, rx650_tgt, $I11, 1
+    ne $S10, "?", rx650_fail
+    add rx650_pos, 1
+    goto alt660_end
+  alt660_1:
+    set_addr $I10, alt660_2
+    rx650_cur."!mark_push"(0, rx650_pos, $I10)
   # rx literal  "!"
-    add $I11, rx636_pos, 1
-    gt $I11, rx636_eos, rx636_fail
-    sub $I11, rx636_pos, rx636_off
-    substr $S10, rx636_tgt, $I11, 1
-    ne $S10, "!", rx636_fail
-    add rx636_pos, 1
-    goto alt646_end
-  alt646_2:
-  alt646_end:
-    set_addr $I10, rxcap_647_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)
+    add $I11, rx650_pos, 1
+    gt $I11, rx650_eos, rx650_fail
+    sub $I11, rx650_pos, rx650_off
+    substr $S10, rx650_tgt, $I11, 1
+    ne $S10, "!", rx650_fail
+    add rx650_pos, 1
+    goto alt660_end
+  alt660_2:
+  alt660_end:
+    set_addr $I10, rxcap_661_fail
+    ($I12, $I11) = rx650_cur."!mark_peek"($I10)
+    rx650_cur."!cursor_pos"($I11)
+    ($P10) = rx650_cur."!cursor_start"()
+    $P10."!cursor_pass"(rx650_pos, "")
+    rx650_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("quant")
-    goto rxcap_647_done
-  rxcap_647_fail:
-    goto rx636_fail
-  rxcap_647_done:
-  alt643_end:
-.annotate "line", 296
-  # rx rxquantr648 ** 0..1
-    set_addr $I649, rxquantr648_done
-    rx636_cur."!mark_push"(0, rx636_pos, $I649)
-  rxquantr648_loop:
+    goto rxcap_661_done
+  rxcap_661_fail:
+    goto rx650_fail
+  rxcap_661_done:
+  alt657_end:
+.annotate "line", 301
+  # rx rxquantr662 ** 0..1
+    set_addr $I663, rxquantr662_done
+    rx650_cur."!mark_push"(0, rx650_pos, $I663)
+  rxquantr662_loop:
   # rx subrule "default_value" subtype=capture negate=
-    rx636_cur."!cursor_pos"(rx636_pos)
-    $P10 = rx636_cur."default_value"()
-    unless $P10, rx636_fail
-    rx636_cur."!mark_push"(0, -1, 0, $P10)
+    rx650_cur."!cursor_pos"(rx650_pos)
+    $P10 = rx650_cur."default_value"()
+    unless $P10, rx650_fail
+    rx650_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("default_value")
-    rx636_pos = $P10."pos"()
-    (rx636_rep) = rx636_cur."!mark_commit"($I649)
-  rxquantr648_done:
-.annotate "line", 291
+    rx650_pos = $P10."pos"()
+    (rx650_rep) = rx650_cur."!mark_commit"($I663)
+  rxquantr662_done:
+.annotate "line", 296
   # rx pass
-    rx636_cur."!cursor_pass"(rx636_pos, "parameter")
-    rx636_cur."!cursor_debug"("PASS  ", "parameter", " at pos=", rx636_pos)
-    .return (rx636_cur)
-  rx636_fail:
+    rx650_cur."!cursor_pass"(rx650_pos, "parameter")
+    rx650_cur."!cursor_debug"("PASS  ", "parameter", " at pos=", rx650_pos)
+    .return (rx650_cur)
+  rx650_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
+    (rx650_rep, rx650_pos, $I10, $P10) = rx650_cur."!mark_fail"(0)
+    lt rx650_pos, -1, rx650_done
+    eq rx650_pos, -1, rx650_fail
     jump $I10
-  rx636_done:
-    rx636_cur."!cursor_fail"()
-    rx636_cur."!cursor_debug"("FAIL  ", "parameter")
-    .return (rx636_cur)
+  rx650_done:
+    rx650_cur."!cursor_fail"()
+    rx650_cur."!cursor_debug"("FAIL  ", "parameter")
+    .return (rx650_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__parameter"  :subid("152_1260829317.63188") :method
+.sub "!PREFIX__parameter"  :subid("156_1261019367.36172") :method
 .annotate "line", 4
-    $P638 = self."!PREFIX__!subrule"("named_param", "")
-    $P639 = self."!PREFIX__!subrule"("param_var", "")
-    $P640 = self."!PREFIX__!subrule"("param_var", "*")
-    new $P641, "ResizablePMCArray"
-    push $P641, $P638
-    push $P641, $P639
-    push $P641, $P640
-    .return ($P641)
+    $P652 = self."!PREFIX__!subrule"("named_param", "")
+    $P653 = self."!PREFIX__!subrule"("param_var", "")
+    $P654 = self."!PREFIX__!subrule"("param_var", "*")
+    new $P655, "ResizablePMCArray"
+    push $P655, $P652
+    push $P655, $P653
+    push $P655, $P654
+    .return ($P655)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "param_var"  :subid("153_1260829317.63188") :method :outer("11_1260829317.63188")
+.sub "param_var"  :subid("157_1261019367.36172") :method :outer("11_1261019367.36172")
 .annotate "line", 4
-    .local string rx651_tgt
-    .local int rx651_pos
-    .local int rx651_off
-    .local int rx651_eos
-    .local int rx651_rep
-    .local pmc rx651_cur
-    (rx651_cur, rx651_pos, rx651_tgt) = self."!cursor_start"()
-    rx651_cur."!cursor_debug"("START ", "param_var")
-    rx651_cur."!cursor_caparray"("twigil")
-    .lex unicode:"$\x{a2}", rx651_cur
-    .local pmc match
-    .lex "$/", match
-    length rx651_eos, rx651_tgt
-    set rx651_off, 0
-    lt rx651_pos, 2, rx651_start
-    sub rx651_off, rx651_pos, 1
-    substr rx651_tgt, rx651_tgt, rx651_off
-  rx651_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan655_done
-    goto rxscan655_scan
-  rxscan655_loop:
-    ($P10) = rx651_cur."from"()
-    inc $P10
-    set rx651_pos, $P10
-    ge rx651_pos, rx651_eos, rxscan655_done
-  rxscan655_scan:
-    set_addr $I10, rxscan655_loop
-    rx651_cur."!mark_push"(0, rx651_pos, $I10)
-  rxscan655_done:
-.annotate "line", 300
+    .local string rx665_tgt
+    .local int rx665_pos
+    .local int rx665_off
+    .local int rx665_eos
+    .local int rx665_rep
+    .local pmc rx665_cur
+    (rx665_cur, rx665_pos, rx665_tgt) = self."!cursor_start"()
+    rx665_cur."!cursor_debug"("START ", "param_var")
+    rx665_cur."!cursor_caparray"("twigil")
+    .lex unicode:"$\x{a2}", rx665_cur
+    .local pmc match
+    .lex "$/", match
+    length rx665_eos, rx665_tgt
+    set rx665_off, 0
+    lt rx665_pos, 2, rx665_start
+    sub rx665_off, rx665_pos, 1
+    substr rx665_tgt, rx665_tgt, rx665_off
+  rx665_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan669_done
+    goto rxscan669_scan
+  rxscan669_loop:
+    ($P10) = rx665_cur."from"()
+    inc $P10
+    set rx665_pos, $P10
+    ge rx665_pos, rx665_eos, rxscan669_done
+  rxscan669_scan:
+    set_addr $I10, rxscan669_loop
+    rx665_cur."!mark_push"(0, rx665_pos, $I10)
+  rxscan669_done:
+.annotate "line", 305
   # rx subrule "sigil" subtype=capture negate=
-    rx651_cur."!cursor_pos"(rx651_pos)
-    $P10 = rx651_cur."sigil"()
-    unless $P10, rx651_fail
-    rx651_cur."!mark_push"(0, -1, 0, $P10)
+    rx665_cur."!cursor_pos"(rx665_pos)
+    $P10 = rx665_cur."sigil"()
+    unless $P10, rx665_fail
+    rx665_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("sigil")
-    rx651_pos = $P10."pos"()
-  # rx rxquantr656 ** 0..1
-    set_addr $I657, rxquantr656_done
-    rx651_cur."!mark_push"(0, rx651_pos, $I657)
-  rxquantr656_loop:
+    rx665_pos = $P10."pos"()
+  # rx rxquantr670 ** 0..1
+    set_addr $I671, rxquantr670_done
+    rx665_cur."!mark_push"(0, rx665_pos, $I671)
+  rxquantr670_loop:
   # rx subrule "twigil" subtype=capture negate=
-    rx651_cur."!cursor_pos"(rx651_pos)
-    $P10 = rx651_cur."twigil"()
-    unless $P10, rx651_fail
-    rx651_cur."!mark_push"(0, -1, 0, $P10)
+    rx665_cur."!cursor_pos"(rx665_pos)
+    $P10 = rx665_cur."twigil"()
+    unless $P10, rx665_fail
+    rx665_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("twigil")
-    rx651_pos = $P10."pos"()
-    (rx651_rep) = rx651_cur."!mark_commit"($I657)
-  rxquantr656_done:
-  alt658_0:
-.annotate "line", 301
-    set_addr $I10, alt658_1
-    rx651_cur."!mark_push"(0, rx651_pos, $I10)
+    rx665_pos = $P10."pos"()
+    (rx665_rep) = rx665_cur."!mark_commit"($I671)
+  rxquantr670_done:
+  alt672_0:
+.annotate "line", 306
+    set_addr $I10, alt672_1
+    rx665_cur."!mark_push"(0, rx665_pos, $I10)
   # rx subrule "ident" subtype=capture negate=
-    rx651_cur."!cursor_pos"(rx651_pos)
-    $P10 = rx651_cur."ident"()
-    unless $P10, rx651_fail
-    rx651_cur."!mark_push"(0, -1, 0, $P10)
+    rx665_cur."!cursor_pos"(rx665_pos)
+    $P10 = rx665_cur."ident"()
+    unless $P10, rx665_fail
+    rx665_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("name")
-    rx651_pos = $P10."pos"()
-    goto alt658_end
-  alt658_1:
+    rx665_pos = $P10."pos"()
+    goto alt672_end
+  alt672_1:
   # rx subcapture "name"
-    set_addr $I10, rxcap_659_fail
-    rx651_cur."!mark_push"(0, rx651_pos, $I10)
+    set_addr $I10, rxcap_673_fail
+    rx665_cur."!mark_push"(0, rx665_pos, $I10)
   # rx enumcharlist negate=0 
-    ge rx651_pos, rx651_eos, rx651_fail
-    sub $I10, rx651_pos, rx651_off
-    substr $S10, rx651_tgt, $I10, 1
+    ge rx665_pos, rx665_eos, rx665_fail
+    sub $I10, rx665_pos, rx665_off
+    substr $S10, rx665_tgt, $I10, 1
     index $I11, "/!", $S10
-    lt $I11, 0, rx651_fail
-    inc rx651_pos
-    set_addr $I10, rxcap_659_fail
-    ($I12, $I11) = rx651_cur."!mark_peek"($I10)
-    rx651_cur."!cursor_pos"($I11)
-    ($P10) = rx651_cur."!cursor_start"()
-    $P10."!cursor_pass"(rx651_pos, "")
-    rx651_cur."!mark_push"(0, -1, 0, $P10)
+    lt $I11, 0, rx665_fail
+    inc rx665_pos
+    set_addr $I10, rxcap_673_fail
+    ($I12, $I11) = rx665_cur."!mark_peek"($I10)
+    rx665_cur."!cursor_pos"($I11)
+    ($P10) = rx665_cur."!cursor_start"()
+    $P10."!cursor_pass"(rx665_pos, "")
+    rx665_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("name")
-    goto rxcap_659_done
-  rxcap_659_fail:
-    goto rx651_fail
-  rxcap_659_done:
-  alt658_end:
-.annotate "line", 299
+    goto rxcap_673_done
+  rxcap_673_fail:
+    goto rx665_fail
+  rxcap_673_done:
+  alt672_end:
+.annotate "line", 304
   # rx pass
-    rx651_cur."!cursor_pass"(rx651_pos, "param_var")
-    rx651_cur."!cursor_debug"("PASS  ", "param_var", " at pos=", rx651_pos)
-    .return (rx651_cur)
-  rx651_fail:
+    rx665_cur."!cursor_pass"(rx665_pos, "param_var")
+    rx665_cur."!cursor_debug"("PASS  ", "param_var", " at pos=", rx665_pos)
+    .return (rx665_cur)
+  rx665_fail:
 .annotate "line", 4
-    (rx651_rep, rx651_pos, $I10, $P10) = rx651_cur."!mark_fail"(0)
-    lt rx651_pos, -1, rx651_done
-    eq rx651_pos, -1, rx651_fail
+    (rx665_rep, rx665_pos, $I10, $P10) = rx665_cur."!mark_fail"(0)
+    lt rx665_pos, -1, rx665_done
+    eq rx665_pos, -1, rx665_fail
     jump $I10
-  rx651_done:
-    rx651_cur."!cursor_fail"()
-    rx651_cur."!cursor_debug"("FAIL  ", "param_var")
-    .return (rx651_cur)
+  rx665_done:
+    rx665_cur."!cursor_fail"()
+    rx665_cur."!cursor_debug"("FAIL  ", "param_var")
+    .return (rx665_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__param_var"  :subid("154_1260829317.63188") :method
+.sub "!PREFIX__param_var"  :subid("158_1261019367.36172") :method
 .annotate "line", 4
-    $P653 = self."!PREFIX__!subrule"("sigil", "")
-    new $P654, "ResizablePMCArray"
-    push $P654, $P653
-    .return ($P654)
+    $P667 = self."!PREFIX__!subrule"("sigil", "")
+    new $P668, "ResizablePMCArray"
+    push $P668, $P667
+    .return ($P668)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "named_param"  :subid("155_1260829317.63188") :method :outer("11_1260829317.63188")
+.sub "named_param"  :subid("159_1261019367.36172") :method :outer("11_1261019367.36172")
 .annotate "line", 4
-    .local string rx661_tgt
-    .local int rx661_pos
-    .local int rx661_off
-    .local int rx661_eos
-    .local int rx661_rep
-    .local pmc rx661_cur
-    (rx661_cur, rx661_pos, rx661_tgt) = self."!cursor_start"()
-    rx661_cur."!cursor_debug"("START ", "named_param")
-    .lex unicode:"$\x{a2}", rx661_cur
-    .local pmc match
-    .lex "$/", match
-    length rx661_eos, rx661_tgt
-    set rx661_off, 0
-    lt rx661_pos, 2, rx661_start
-    sub rx661_off, rx661_pos, 1
-    substr rx661_tgt, rx661_tgt, rx661_off
-  rx661_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan665_done
-    goto rxscan665_scan
-  rxscan665_loop:
-    ($P10) = rx661_cur."from"()
-    inc $P10
-    set rx661_pos, $P10
-    ge rx661_pos, rx661_eos, rxscan665_done
-  rxscan665_scan:
-    set_addr $I10, rxscan665_loop
-    rx661_cur."!mark_push"(0, rx661_pos, $I10)
-  rxscan665_done:
-.annotate "line", 305
+    .local string rx675_tgt
+    .local int rx675_pos
+    .local int rx675_off
+    .local int rx675_eos
+    .local int rx675_rep
+    .local pmc rx675_cur
+    (rx675_cur, rx675_pos, rx675_tgt) = self."!cursor_start"()
+    rx675_cur."!cursor_debug"("START ", "named_param")
+    .lex unicode:"$\x{a2}", rx675_cur
+    .local pmc match
+    .lex "$/", match
+    length rx675_eos, rx675_tgt
+    set rx675_off, 0
+    lt rx675_pos, 2, rx675_start
+    sub rx675_off, rx675_pos, 1
+    substr rx675_tgt, rx675_tgt, rx675_off
+  rx675_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan679_done
+    goto rxscan679_scan
+  rxscan679_loop:
+    ($P10) = rx675_cur."from"()
+    inc $P10
+    set rx675_pos, $P10
+    ge rx675_pos, rx675_eos, rxscan679_done
+  rxscan679_scan:
+    set_addr $I10, rxscan679_loop
+    rx675_cur."!mark_push"(0, rx675_pos, $I10)
+  rxscan679_done:
+.annotate "line", 310
   # rx literal  ":"
-    add $I11, rx661_pos, 1
-    gt $I11, rx661_eos, rx661_fail
-    sub $I11, rx661_pos, rx661_off
-    substr $S10, rx661_tgt, $I11, 1
-    ne $S10, ":", rx661_fail
-    add rx661_pos, 1
+    add $I11, rx675_pos, 1
+    gt $I11, rx675_eos, rx675_fail
+    sub $I11, rx675_pos, rx675_off
+    substr $S10, rx675_tgt, $I11, 1
+    ne $S10, ":", rx675_fail
+    add rx675_pos, 1
   # rx subrule "param_var" subtype=capture negate=
-    rx661_cur."!cursor_pos"(rx661_pos)
-    $P10 = rx661_cur."param_var"()
-    unless $P10, rx661_fail
-    rx661_cur."!mark_push"(0, -1, 0, $P10)
+    rx675_cur."!cursor_pos"(rx675_pos)
+    $P10 = rx675_cur."param_var"()
+    unless $P10, rx675_fail
+    rx675_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("param_var")
-    rx661_pos = $P10."pos"()
-.annotate "line", 304
+    rx675_pos = $P10."pos"()
+.annotate "line", 309
   # rx pass
-    rx661_cur."!cursor_pass"(rx661_pos, "named_param")
-    rx661_cur."!cursor_debug"("PASS  ", "named_param", " at pos=", rx661_pos)
-    .return (rx661_cur)
-  rx661_fail:
+    rx675_cur."!cursor_pass"(rx675_pos, "named_param")
+    rx675_cur."!cursor_debug"("PASS  ", "named_param", " at pos=", rx675_pos)
+    .return (rx675_cur)
+  rx675_fail:
 .annotate "line", 4
-    (rx661_rep, rx661_pos, $I10, $P10) = rx661_cur."!mark_fail"(0)
-    lt rx661_pos, -1, rx661_done
-    eq rx661_pos, -1, rx661_fail
+    (rx675_rep, rx675_pos, $I10, $P10) = rx675_cur."!mark_fail"(0)
+    lt rx675_pos, -1, rx675_done
+    eq rx675_pos, -1, rx675_fail
     jump $I10
-  rx661_done:
-    rx661_cur."!cursor_fail"()
-    rx661_cur."!cursor_debug"("FAIL  ", "named_param")
-    .return (rx661_cur)
+  rx675_done:
+    rx675_cur."!cursor_fail"()
+    rx675_cur."!cursor_debug"("FAIL  ", "named_param")
+    .return (rx675_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__named_param"  :subid("156_1260829317.63188") :method
+.sub "!PREFIX__named_param"  :subid("160_1261019367.36172") :method
 .annotate "line", 4
-    $P663 = self."!PREFIX__!subrule"("param_var", ":")
-    new $P664, "ResizablePMCArray"
-    push $P664, $P663
-    .return ($P664)
+    $P677 = self."!PREFIX__!subrule"("param_var", ":")
+    new $P678, "ResizablePMCArray"
+    push $P678, $P677
+    .return ($P678)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "default_value"  :subid("157_1260829317.63188") :method :outer("11_1260829317.63188")
-.annotate "line", 4
-    .local string rx667_tgt
-    .local int rx667_pos
-    .local int rx667_off
-    .local int rx667_eos
-    .local int rx667_rep
-    .local pmc rx667_cur
-    (rx667_cur, rx667_pos, rx667_tgt) = self."!cursor_start"()
-    rx667_cur."!cursor_debug"("START ", "default_value")
-    .lex unicode:"$\x{a2}", rx667_cur
-    .local pmc match
-    .lex "$/", match
-    length rx667_eos, rx667_tgt
-    set rx667_off, 0
-    lt rx667_pos, 2, rx667_start
-    sub rx667_off, rx667_pos, 1
-    substr rx667_tgt, rx667_tgt, rx667_off
-  rx667_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan670_done
-    goto rxscan670_scan
-  rxscan670_loop:
-    ($P10) = rx667_cur."from"()
-    inc $P10
-    set rx667_pos, $P10
-    ge rx667_pos, rx667_eos, rxscan670_done
-  rxscan670_scan:
-    set_addr $I10, rxscan670_loop
-    rx667_cur."!mark_push"(0, rx667_pos, $I10)
-  rxscan670_done:
-.annotate "line", 308
+.sub "default_value"  :subid("161_1261019367.36172") :method :outer("11_1261019367.36172")
+.annotate "line", 4
+    .local string rx681_tgt
+    .local int rx681_pos
+    .local int rx681_off
+    .local int rx681_eos
+    .local int rx681_rep
+    .local pmc rx681_cur
+    (rx681_cur, rx681_pos, rx681_tgt) = self."!cursor_start"()
+    rx681_cur."!cursor_debug"("START ", "default_value")
+    .lex unicode:"$\x{a2}", rx681_cur
+    .local pmc match
+    .lex "$/", match
+    length rx681_eos, rx681_tgt
+    set rx681_off, 0
+    lt rx681_pos, 2, rx681_start
+    sub rx681_off, rx681_pos, 1
+    substr rx681_tgt, rx681_tgt, rx681_off
+  rx681_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan684_done
+    goto rxscan684_scan
+  rxscan684_loop:
+    ($P10) = rx681_cur."from"()
+    inc $P10
+    set rx681_pos, $P10
+    ge rx681_pos, rx681_eos, rxscan684_done
+  rxscan684_scan:
+    set_addr $I10, rxscan684_loop
+    rx681_cur."!mark_push"(0, rx681_pos, $I10)
+  rxscan684_done:
+.annotate "line", 313
   # rx subrule "ws" subtype=method negate=
-    rx667_cur."!cursor_pos"(rx667_pos)
-    $P10 = rx667_cur."ws"()
-    unless $P10, rx667_fail
-    rx667_pos = $P10."pos"()
+    rx681_cur."!cursor_pos"(rx681_pos)
+    $P10 = rx681_cur."ws"()
+    unless $P10, rx681_fail
+    rx681_pos = $P10."pos"()
   # rx literal  "="
-    add $I11, rx667_pos, 1
-    gt $I11, rx667_eos, rx667_fail
-    sub $I11, rx667_pos, rx667_off
-    substr $S10, rx667_tgt, $I11, 1
-    ne $S10, "=", rx667_fail
-    add rx667_pos, 1
-  # rx subrule "ws" subtype=method negate=
-    rx667_cur."!cursor_pos"(rx667_pos)
-    $P10 = rx667_cur."ws"()
-    unless $P10, rx667_fail
-    rx667_pos = $P10."pos"()
+    add $I11, rx681_pos, 1
+    gt $I11, rx681_eos, rx681_fail
+    sub $I11, rx681_pos, rx681_off
+    substr $S10, rx681_tgt, $I11, 1
+    ne $S10, "=", rx681_fail
+    add rx681_pos, 1
+  # rx subrule "ws" subtype=method negate=
+    rx681_cur."!cursor_pos"(rx681_pos)
+    $P10 = rx681_cur."ws"()
+    unless $P10, rx681_fail
+    rx681_pos = $P10."pos"()
   # rx subrule "EXPR" subtype=capture negate=
-    rx667_cur."!cursor_pos"(rx667_pos)
-    $P10 = rx667_cur."EXPR"("i=")
-    unless $P10, rx667_fail
-    rx667_cur."!mark_push"(0, -1, 0, $P10)
+    rx681_cur."!cursor_pos"(rx681_pos)
+    $P10 = rx681_cur."EXPR"("i=")
+    unless $P10, rx681_fail
+    rx681_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("EXPR")
-    rx667_pos = $P10."pos"()
+    rx681_pos = $P10."pos"()
   # rx subrule "ws" subtype=method negate=
-    rx667_cur."!cursor_pos"(rx667_pos)
-    $P10 = rx667_cur."ws"()
-    unless $P10, rx667_fail
-    rx667_pos = $P10."pos"()
+    rx681_cur."!cursor_pos"(rx681_pos)
+    $P10 = rx681_cur."ws"()
+    unless $P10, rx681_fail
+    rx681_pos = $P10."pos"()
   # rx pass
-    rx667_cur."!cursor_pass"(rx667_pos, "default_value")
-    rx667_cur."!cursor_debug"("PASS  ", "default_value", " at pos=", rx667_pos)
-    .return (rx667_cur)
-  rx667_fail:
+    rx681_cur."!cursor_pass"(rx681_pos, "default_value")
+    rx681_cur."!cursor_debug"("PASS  ", "default_value", " at pos=", rx681_pos)
+    .return (rx681_cur)
+  rx681_fail:
 .annotate "line", 4
-    (rx667_rep, rx667_pos, $I10, $P10) = rx667_cur."!mark_fail"(0)
-    lt rx667_pos, -1, rx667_done
-    eq rx667_pos, -1, rx667_fail
+    (rx681_rep, rx681_pos, $I10, $P10) = rx681_cur."!mark_fail"(0)
+    lt rx681_pos, -1, rx681_done
+    eq rx681_pos, -1, rx681_fail
     jump $I10
-  rx667_done:
-    rx667_cur."!cursor_fail"()
-    rx667_cur."!cursor_debug"("FAIL  ", "default_value")
-    .return (rx667_cur)
+  rx681_done:
+    rx681_cur."!cursor_fail"()
+    rx681_cur."!cursor_debug"("FAIL  ", "default_value")
+    .return (rx681_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__default_value"  :subid("158_1260829317.63188") :method
+.sub "!PREFIX__default_value"  :subid("162_1261019367.36172") :method
 .annotate "line", 4
-    new $P669, "ResizablePMCArray"
-    push $P669, ""
-    .return ($P669)
+    new $P683, "ResizablePMCArray"
+    push $P683, ""
+    .return ($P683)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "regex_declarator"  :subid("159_1260829317.63188") :method :outer("11_1260829317.63188")
+.sub "regex_declarator"  :subid("163_1261019367.36172") :method :outer("11_1261019367.36172")
 .annotate "line", 4
-    .local string rx675_tgt
-    .local int rx675_pos
-    .local int rx675_off
-    .local int rx675_eos
-    .local int rx675_rep
-    .local pmc rx675_cur
-    (rx675_cur, rx675_pos, rx675_tgt) = self."!cursor_start"()
-    rx675_cur."!cursor_debug"("START ", "regex_declarator")
-    rx675_cur."!cursor_caparray"("signature")
-    .lex unicode:"$\x{a2}", rx675_cur
+    .local string rx689_tgt
+    .local int rx689_pos
+    .local int rx689_off
+    .local int rx689_eos
+    .local int rx689_rep
+    .local pmc rx689_cur
+    (rx689_cur, rx689_pos, rx689_tgt) = self."!cursor_start"()
+    rx689_cur."!cursor_debug"("START ", "regex_declarator")
+    rx689_cur."!cursor_caparray"("signature")
+    .lex unicode:"$\x{a2}", rx689_cur
     .local pmc match
     .lex "$/", match
-    length rx675_eos, rx675_tgt
-    set rx675_off, 0
-    lt rx675_pos, 2, rx675_start
-    sub rx675_off, rx675_pos, 1
-    substr rx675_tgt, rx675_tgt, rx675_off
-  rx675_start:
+    length rx689_eos, rx689_tgt
+    set rx689_off, 0
+    lt rx689_pos, 2, rx689_start
+    sub rx689_off, rx689_pos, 1
+    substr rx689_tgt, rx689_tgt, rx689_off
+  rx689_start:
     $I10 = self.'from'()
-    ne $I10, -1, rxscan678_done
-    goto rxscan678_scan
-  rxscan678_loop:
-    ($P10) = rx675_cur."from"()
+    ne $I10, -1, rxscan692_done
+    goto rxscan692_scan
+  rxscan692_loop:
+    ($P10) = rx689_cur."from"()
     inc $P10
-    set rx675_pos, $P10
-    ge rx675_pos, rx675_eos, rxscan678_done
-  rxscan678_scan:
-    set_addr $I10, rxscan678_loop
-    rx675_cur."!mark_push"(0, rx675_pos, $I10)
-  rxscan678_done:
-.annotate "line", 310
+    set rx689_pos, $P10
+    ge rx689_pos, rx689_eos, rxscan692_done
+  rxscan692_scan:
+    set_addr $I10, rxscan692_loop
+    rx689_cur."!mark_push"(0, rx689_pos, $I10)
+  rxscan692_done:
+.annotate "line", 315
   # rx subrule "ws" subtype=method negate=
-    rx675_cur."!cursor_pos"(rx675_pos)
-    $P10 = rx675_cur."ws"()
-    unless $P10, rx675_fail
-    rx675_pos = $P10."pos"()
-  alt680_0:
-.annotate "line", 311
-    set_addr $I10, alt680_1
-    rx675_cur."!mark_push"(0, rx675_pos, $I10)
-.annotate "line", 312
+    rx689_cur."!cursor_pos"(rx689_pos)
+    $P10 = rx689_cur."ws"()
+    unless $P10, rx689_fail
+    rx689_pos = $P10."pos"()
+  alt694_0:
+.annotate "line", 316
+    set_addr $I10, alt694_1
+    rx689_cur."!mark_push"(0, rx689_pos, $I10)
+.annotate "line", 317
   # rx subrule "ws" subtype=method negate=
-    rx675_cur."!cursor_pos"(rx675_pos)
-    $P10 = rx675_cur."ws"()
-    unless $P10, rx675_fail
-    rx675_pos = $P10."pos"()
+    rx689_cur."!cursor_pos"(rx689_pos)
+    $P10 = rx689_cur."ws"()
+    unless $P10, rx689_fail
+    rx689_pos = $P10."pos"()
   # rx subcapture "proto"
-    set_addr $I10, rxcap_682_fail
-    rx675_cur."!mark_push"(0, rx675_pos, $I10)
+    set_addr $I10, rxcap_696_fail
+    rx689_cur."!mark_push"(0, rx689_pos, $I10)
   # rx literal  "proto"
-    add $I11, rx675_pos, 5
-    gt $I11, rx675_eos, rx675_fail
-    sub $I11, rx675_pos, rx675_off
-    substr $S10, rx675_tgt, $I11, 5
-    ne $S10, "proto", rx675_fail
-    add rx675_pos, 5
-    set_addr $I10, rxcap_682_fail
-    ($I12, $I11) = rx675_cur."!mark_peek"($I10)
-    rx675_cur."!cursor_pos"($I11)
-    ($P10) = rx675_cur."!cursor_start"()
-    $P10."!cursor_pass"(rx675_pos, "")
-    rx675_cur."!mark_push"(0, -1, 0, $P10)
+    add $I11, rx689_pos, 5
+    gt $I11, rx689_eos, rx689_fail
+    sub $I11, rx689_pos, rx689_off
+    substr $S10, rx689_tgt, $I11, 5
+    ne $S10, "proto", rx689_fail
+    add rx689_pos, 5
+    set_addr $I10, rxcap_696_fail
+    ($I12, $I11) = rx689_cur."!mark_peek"($I10)
+    rx689_cur."!cursor_pos"($I11)
+    ($P10) = rx689_cur."!cursor_start"()
+    $P10."!cursor_pass"(rx689_pos, "")
+    rx689_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("proto")
-    goto rxcap_682_done
-  rxcap_682_fail:
-    goto rx675_fail
-  rxcap_682_done:
-  # rx subrule "ws" subtype=method negate=
-    rx675_cur."!cursor_pos"(rx675_pos)
-    $P10 = rx675_cur."ws"()
-    unless $P10, rx675_fail
-    rx675_pos = $P10."pos"()
-  alt684_0:
-    set_addr $I10, alt684_1
-    rx675_cur."!mark_push"(0, rx675_pos, $I10)
+    goto rxcap_696_done
+  rxcap_696_fail:
+    goto rx689_fail
+  rxcap_696_done:
+  # rx subrule "ws" subtype=method negate=
+    rx689_cur."!cursor_pos"(rx689_pos)
+    $P10 = rx689_cur."ws"()
+    unless $P10, rx689_fail
+    rx689_pos = $P10."pos"()
+  alt698_0:
+    set_addr $I10, alt698_1
+    rx689_cur."!mark_push"(0, rx689_pos, $I10)
   # rx literal  "regex"
-    add $I11, rx675_pos, 5
-    gt $I11, rx675_eos, rx675_fail
-    sub $I11, rx675_pos, rx675_off
-    substr $S10, rx675_tgt, $I11, 5
-    ne $S10, "regex", rx675_fail
-    add rx675_pos, 5
-    goto alt684_end
-  alt684_1:
-    set_addr $I10, alt684_2
-    rx675_cur."!mark_push"(0, rx675_pos, $I10)
+    add $I11, rx689_pos, 5
+    gt $I11, rx689_eos, rx689_fail
+    sub $I11, rx689_pos, rx689_off
+    substr $S10, rx689_tgt, $I11, 5
+    ne $S10, "regex", rx689_fail
+    add rx689_pos, 5
+    goto alt698_end
+  alt698_1:
+    set_addr $I10, alt698_2
+    rx689_cur."!mark_push"(0, rx689_pos, $I10)
   # rx literal  "token"
-    add $I11, rx675_pos, 5
-    gt $I11, rx675_eos, rx675_fail
-    sub $I11, rx675_pos, rx675_off
-    substr $S10, rx675_tgt, $I11, 5
-    ne $S10, "token", rx675_fail
-    add rx675_pos, 5
-    goto alt684_end
-  alt684_2:
+    add $I11, rx689_pos, 5
+    gt $I11, rx689_eos, rx689_fail
+    sub $I11, rx689_pos, rx689_off
+    substr $S10, rx689_tgt, $I11, 5
+    ne $S10, "token", rx689_fail
+    add rx689_pos, 5
+    goto alt698_end
+  alt698_2:
   # rx literal  "rule"
-    add $I11, rx675_pos, 4
-    gt $I11, rx675_eos, rx675_fail
-    sub $I11, rx675_pos, rx675_off
-    substr $S10, rx675_tgt, $I11, 4
-    ne $S10, "rule", rx675_fail
-    add rx675_pos, 4
-  alt684_end:
-  # rx subrule "ws" subtype=method negate=
-    rx675_cur."!cursor_pos"(rx675_pos)
-    $P10 = rx675_cur."ws"()
-    unless $P10, rx675_fail
-    rx675_pos = $P10."pos"()
-.annotate "line", 313
+    add $I11, rx689_pos, 4
+    gt $I11, rx689_eos, rx689_fail
+    sub $I11, rx689_pos, rx689_off
+    substr $S10, rx689_tgt, $I11, 4
+    ne $S10, "rule", rx689_fail
+    add rx689_pos, 4
+  alt698_end:
+  # rx subrule "ws" subtype=method negate=
+    rx689_cur."!cursor_pos"(rx689_pos)
+    $P10 = rx689_cur."ws"()
+    unless $P10, rx689_fail
+    rx689_pos = $P10."pos"()
+.annotate "line", 318
   # rx subrule "deflongname" subtype=capture negate=
-    rx675_cur."!cursor_pos"(rx675_pos)
-    $P10 = rx675_cur."deflongname"()
-    unless $P10, rx675_fail
-    rx675_cur."!mark_push"(0, -1, 0, $P10)
+    rx689_cur."!cursor_pos"(rx689_pos)
+    $P10 = rx689_cur."deflongname"()
+    unless $P10, rx689_fail
+    rx689_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("deflongname")
-    rx675_pos = $P10."pos"()
+    rx689_pos = $P10."pos"()
   # rx subrule "ws" subtype=method negate=
-    rx675_cur."!cursor_pos"(rx675_pos)
-    $P10 = rx675_cur."ws"()
-    unless $P10, rx675_fail
-    rx675_pos = $P10."pos"()
-.annotate "line", 314
+    rx689_cur."!cursor_pos"(rx689_pos)
+    $P10 = rx689_cur."ws"()
+    unless $P10, rx689_fail
+    rx689_pos = $P10."pos"()
+.annotate "line", 319
   # rx literal  "{"
-    add $I11, rx675_pos, 1
-    gt $I11, rx675_eos, rx675_fail
-    sub $I11, rx675_pos, rx675_off
-    substr $S10, rx675_tgt, $I11, 1
-    ne $S10, "{", rx675_fail
-    add rx675_pos, 1
-  # rx subrule "ws" subtype=method negate=
-    rx675_cur."!cursor_pos"(rx675_pos)
-    $P10 = rx675_cur."ws"()
-    unless $P10, rx675_fail
-    rx675_pos = $P10."pos"()
+    add $I11, rx689_pos, 1
+    gt $I11, rx689_eos, rx689_fail
+    sub $I11, rx689_pos, rx689_off
+    substr $S10, rx689_tgt, $I11, 1
+    ne $S10, "{", rx689_fail
+    add rx689_pos, 1
+  # rx subrule "ws" subtype=method negate=
+    rx689_cur."!cursor_pos"(rx689_pos)
+    $P10 = rx689_cur."ws"()
+    unless $P10, rx689_fail
+    rx689_pos = $P10."pos"()
   # rx literal  "<...>"
-    add $I11, rx675_pos, 5
-    gt $I11, rx675_eos, rx675_fail
-    sub $I11, rx675_pos, rx675_off
-    substr $S10, rx675_tgt, $I11, 5
-    ne $S10, "<...>", rx675_fail
-    add rx675_pos, 5
-  # rx subrule "ws" subtype=method negate=
-    rx675_cur."!cursor_pos"(rx675_pos)
-    $P10 = rx675_cur."ws"()
-    unless $P10, rx675_fail
-    rx675_pos = $P10."pos"()
+    add $I11, rx689_pos, 5
+    gt $I11, rx689_eos, rx689_fail
+    sub $I11, rx689_pos, rx689_off
+    substr $S10, rx689_tgt, $I11, 5
+    ne $S10, "<...>", rx689_fail
+    add rx689_pos, 5
+  # rx subrule "ws" subtype=method negate=
+    rx689_cur."!cursor_pos"(rx689_pos)
+    $P10 = rx689_cur."ws"()
+    unless $P10, rx689_fail
+    rx689_pos = $P10."pos"()
   # rx literal  "}"
-    add $I11, rx675_pos, 1
-    gt $I11, rx675_eos, rx675_fail
-    sub $I11, rx675_pos, rx675_off
-    substr $S10, rx675_tgt, $I11, 1
-    ne $S10, "}", rx675_fail
-    add rx675_pos, 1
+    add $I11, rx689_pos, 1
+    gt $I11, rx689_eos, rx689_fail
+    sub $I11, rx689_pos, rx689_off
+    substr $S10, rx689_tgt, $I11, 1
+    ne $S10, "}", rx689_fail
+    add rx689_pos, 1
   # rx subrule "ENDSTMT" subtype=zerowidth negate=
-    rx675_cur."!cursor_pos"(rx675_pos)
-    $P10 = rx675_cur."ENDSTMT"()
-    unless $P10, rx675_fail
-  # rx subrule "ws" subtype=method negate=
-    rx675_cur."!cursor_pos"(rx675_pos)
-    $P10 = rx675_cur."ws"()
-    unless $P10, rx675_fail
-    rx675_pos = $P10."pos"()
-.annotate "line", 312
-    goto alt680_end
-  alt680_1:
-.annotate "line", 315
+    rx689_cur."!cursor_pos"(rx689_pos)
+    $P10 = rx689_cur."ENDSTMT"()
+    unless $P10, rx689_fail
+  # rx subrule "ws" subtype=method negate=
+    rx689_cur."!cursor_pos"(rx689_pos)
+    $P10 = rx689_cur."ws"()
+    unless $P10, rx689_fail
+    rx689_pos = $P10."pos"()
+.annotate "line", 317
+    goto alt694_end
+  alt694_1:
+.annotate "line", 320
   # rx subrule "ws" subtype=method negate=
-    rx675_cur."!cursor_pos"(rx675_pos)
-    $P10 = rx675_cur."ws"()
-    unless $P10, rx675_fail
-    rx675_pos = $P10."pos"()
+    rx689_cur."!cursor_pos"(rx689_pos)
+    $P10 = rx689_cur."ws"()
+    unless $P10, rx689_fail
+    rx689_pos = $P10."pos"()
   # rx subcapture "sym"
-    set_addr $I10, rxcap_692_fail
-    rx675_cur."!mark_push"(0, rx675_pos, $I10)
-  alt691_0:
-    set_addr $I10, alt691_1
-    rx675_cur."!mark_push"(0, rx675_pos, $I10)
+    set_addr $I10, rxcap_706_fail
+    rx689_cur."!mark_push"(0, rx689_pos, $I10)
+  alt705_0:
+    set_addr $I10, alt705_1
+    rx689_cur."!mark_push"(0, rx689_pos, $I10)
   # rx literal  "regex"
-    add $I11, rx675_pos, 5
-    gt $I11, rx675_eos, rx675_fail
-    sub $I11, rx675_pos, rx675_off
-    substr $S10, rx675_tgt, $I11, 5
-    ne $S10, "regex", rx675_fail
-    add rx675_pos, 5
-    goto alt691_end
-  alt691_1:
-    set_addr $I10, alt691_2
-    rx675_cur."!mark_push"(0, rx675_pos, $I10)
+    add $I11, rx689_pos, 5
+    gt $I11, rx689_eos, rx689_fail
+    sub $I11, rx689_pos, rx689_off
+    substr $S10, rx689_tgt, $I11, 5
+    ne $S10, "regex", rx689_fail
+    add rx689_pos, 5
+    goto alt705_end
+  alt705_1:
+    set_addr $I10, alt705_2
+    rx689_cur."!mark_push"(0, rx689_pos, $I10)
   # rx literal  "token"
-    add $I11, rx675_pos, 5
-    gt $I11, rx675_eos, rx675_fail
-    sub $I11, rx675_pos, rx675_off
-    substr $S10, rx675_tgt, $I11, 5
-    ne $S10, "token", rx675_fail
-    add rx675_pos, 5
-    goto alt691_end
-  alt691_2:
+    add $I11, rx689_pos, 5
+    gt $I11, rx689_eos, rx689_fail
+    sub $I11, rx689_pos, rx689_off
+    substr $S10, rx689_tgt, $I11, 5
+    ne $S10, "token", rx689_fail
+    add rx689_pos, 5
+    goto alt705_end
+  alt705_2:
   # rx literal  "rule"
-    add $I11, rx675_pos, 4
-    gt $I11, rx675_eos, rx675_fail
-    sub $I11, rx675_pos, rx675_off
-    substr $S10, rx675_tgt, $I11, 4
-    ne $S10, "rule", rx675_fail
-    add rx675_pos, 4
-  alt691_end:
-    set_addr $I10, rxcap_692_fail
-    ($I12, $I11) = rx675_cur."!mark_peek"($I10)
-    rx675_cur."!cursor_pos"($I11)
-    ($P10) = rx675_cur."!cursor_start"()
-    $P10."!cursor_pass"(rx675_pos, "")
-    rx675_cur."!mark_push"(0, -1, 0, $P10)
+    add $I11, rx689_pos, 4
+    gt $I11, rx689_eos, rx689_fail
+    sub $I11, rx689_pos, rx689_off
+    substr $S10, rx689_tgt, $I11, 4
+    ne $S10, "rule", rx689_fail
+    add rx689_pos, 4
+  alt705_end:
+    set_addr $I10, rxcap_706_fail
+    ($I12, $I11) = rx689_cur."!mark_peek"($I10)
+    rx689_cur."!cursor_pos"($I11)
+    ($P10) = rx689_cur."!cursor_start"()
+    $P10."!cursor_pass"(rx689_pos, "")
+    rx689_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("sym")
-    goto rxcap_692_done
-  rxcap_692_fail:
-    goto rx675_fail
-  rxcap_692_done:
-  # rx subrule "ws" subtype=method negate=
-    rx675_cur."!cursor_pos"(rx675_pos)
-    $P10 = rx675_cur."ws"()
-    unless $P10, rx675_fail
-    rx675_pos = $P10."pos"()
-.annotate "line", 316
+    goto rxcap_706_done
+  rxcap_706_fail:
+    goto rx689_fail
+  rxcap_706_done:
+  # rx subrule "ws" subtype=method negate=
+    rx689_cur."!cursor_pos"(rx689_pos)
+    $P10 = rx689_cur."ws"()
+    unless $P10, rx689_fail
+    rx689_pos = $P10."pos"()
+.annotate "line", 321
   # rx subrule "deflongname" subtype=capture negate=
-    rx675_cur."!cursor_pos"(rx675_pos)
-    $P10 = rx675_cur."deflongname"()
-    unless $P10, rx675_fail
-    rx675_cur."!mark_push"(0, -1, 0, $P10)
+    rx689_cur."!cursor_pos"(rx689_pos)
+    $P10 = rx689_cur."deflongname"()
+    unless $P10, rx689_fail
+    rx689_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("deflongname")
-    rx675_pos = $P10."pos"()
+    rx689_pos = $P10."pos"()
   # rx subrule "ws" subtype=method negate=
-    rx675_cur."!cursor_pos"(rx675_pos)
-    $P10 = rx675_cur."ws"()
-    unless $P10, rx675_fail
-    rx675_pos = $P10."pos"()
-.annotate "line", 317
+    rx689_cur."!cursor_pos"(rx689_pos)
+    $P10 = rx689_cur."ws"()
+    unless $P10, rx689_fail
+    rx689_pos = $P10."pos"()
+.annotate "line", 322
   # rx subrule "newpad" subtype=method negate=
-    rx675_cur."!cursor_pos"(rx675_pos)
-    $P10 = rx675_cur."newpad"()
-    unless $P10, rx675_fail
-    rx675_pos = $P10."pos"()
-  # rx subrule "ws" subtype=method negate=
-    rx675_cur."!cursor_pos"(rx675_pos)
-    $P10 = rx675_cur."ws"()
-    unless $P10, rx675_fail
-    rx675_pos = $P10."pos"()
-.annotate "line", 318
-  # rx rxquantr696 ** 0..1
-    set_addr $I701, rxquantr696_done
-    rx675_cur."!mark_push"(0, rx675_pos, $I701)
-  rxquantr696_loop:
-  # rx subrule "ws" subtype=method negate=
-    rx675_cur."!cursor_pos"(rx675_pos)
-    $P10 = rx675_cur."ws"()
-    unless $P10, rx675_fail
-    rx675_pos = $P10."pos"()
+    rx689_cur."!cursor_pos"(rx689_pos)
+    $P10 = rx689_cur."newpad"()
+    unless $P10, rx689_fail
+    rx689_pos = $P10."pos"()
+  # rx subrule "ws" subtype=method negate=
+    rx689_cur."!cursor_pos"(rx689_pos)
+    $P10 = rx689_cur."ws"()
+    unless $P10, rx689_fail
+    rx689_pos = $P10."pos"()
+.annotate "line", 323
+  # rx rxquantr710 ** 0..1
+    set_addr $I715, rxquantr710_done
+    rx689_cur."!mark_push"(0, rx689_pos, $I715)
+  rxquantr710_loop:
+  # rx subrule "ws" subtype=method negate=
+    rx689_cur."!cursor_pos"(rx689_pos)
+    $P10 = rx689_cur."ws"()
+    unless $P10, rx689_fail
+    rx689_pos = $P10."pos"()
   # rx literal  "("
-    add $I11, rx675_pos, 1
-    gt $I11, rx675_eos, rx675_fail
-    sub $I11, rx675_pos, rx675_off
-    substr $S10, rx675_tgt, $I11, 1
-    ne $S10, "(", rx675_fail
-    add rx675_pos, 1
-  # rx subrule "ws" subtype=method negate=
-    rx675_cur."!cursor_pos"(rx675_pos)
-    $P10 = rx675_cur."ws"()
-    unless $P10, rx675_fail
-    rx675_pos = $P10."pos"()
+    add $I11, rx689_pos, 1
+    gt $I11, rx689_eos, rx689_fail
+    sub $I11, rx689_pos, rx689_off
+    substr $S10, rx689_tgt, $I11, 1
+    ne $S10, "(", rx689_fail
+    add rx689_pos, 1
+  # rx subrule "ws" subtype=method negate=
+    rx689_cur."!cursor_pos"(rx689_pos)
+    $P10 = rx689_cur."ws"()
+    unless $P10, rx689_fail
+    rx689_pos = $P10."pos"()
   # rx subrule "signature" subtype=capture negate=
-    rx675_cur."!cursor_pos"(rx675_pos)
-    $P10 = rx675_cur."signature"()
-    unless $P10, rx675_fail
-    rx675_cur."!mark_push"(0, -1, 0, $P10)
+    rx689_cur."!cursor_pos"(rx689_pos)
+    $P10 = rx689_cur."signature"()
+    unless $P10, rx689_fail
+    rx689_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("signature")
-    rx675_pos = $P10."pos"()
+    rx689_pos = $P10."pos"()
   # rx subrule "ws" subtype=method negate=
-    rx675_cur."!cursor_pos"(rx675_pos)
-    $P10 = rx675_cur."ws"()
-    unless $P10, rx675_fail
-    rx675_pos = $P10."pos"()
+    rx689_cur."!cursor_pos"(rx689_pos)
+    $P10 = rx689_cur."ws"()
+    unless $P10, rx689_fail
+    rx689_pos = $P10."pos"()
   # rx literal  ")"
-    add $I11, rx675_pos, 1
-    gt $I11, rx675_eos, rx675_fail
-    sub $I11, rx675_pos, rx675_off
-    substr $S10, rx675_tgt, $I11, 1
-    ne $S10, ")", rx675_fail
-    add rx675_pos, 1
+    add $I11, rx689_pos, 1
+    gt $I11, rx689_eos, rx689_fail
+    sub $I11, rx689_pos, rx689_off
+    substr $S10, rx689_tgt, $I11, 1
+    ne $S10, ")", rx689_fail
+    add rx689_pos, 1
+  # rx subrule "ws" subtype=method negate=
+    rx689_cur."!cursor_pos"(rx689_pos)
+    $P10 = rx689_cur."ws"()
+    unless $P10, rx689_fail
+    rx689_pos = $P10."pos"()
+    (rx689_rep) = rx689_cur."!mark_commit"($I715)
+  rxquantr710_done:
+  # rx subrule "ws" subtype=method negate=
+    rx689_cur."!cursor_pos"(rx689_pos)
+    $P10 = rx689_cur."ws"()
+    unless $P10, rx689_fail
+    rx689_pos = $P10."pos"()
+.annotate "line", 324
+  # rx reduce name="regex_declarator" key="open"
+    rx689_cur."!cursor_pos"(rx689_pos)
+    rx689_cur."!reduce"("regex_declarator", "open")
   # rx subrule "ws" subtype=method negate=
-    rx675_cur."!cursor_pos"(rx675_pos)
-    $P10 = rx675_cur."ws"()
-    unless $P10, rx675_fail
-    rx675_pos = $P10."pos"()
-    (rx675_rep) = rx675_cur."!mark_commit"($I701)
-  rxquantr696_done:
-  # rx subrule "ws" subtype=method negate=
-    rx675_cur."!cursor_pos"(rx675_pos)
-    $P10 = rx675_cur."ws"()
-    unless $P10, rx675_fail
-    rx675_pos = $P10."pos"()
-.annotate "line", 319
-  # rx reduce name="regex_declarator" key="open"
-    rx675_cur."!cursor_pos"(rx675_pos)
-    rx675_cur."!reduce"("regex_declarator", "open")
-  # rx subrule "ws" subtype=method negate=
-    rx675_cur."!cursor_pos"(rx675_pos)
-    $P10 = rx675_cur."ws"()
-    unless $P10, rx675_fail
-    rx675_pos = $P10."pos"()
-.annotate "line", 320
+    rx689_cur."!cursor_pos"(rx689_pos)
+    $P10 = rx689_cur."ws"()
+    unless $P10, rx689_fail
+    rx689_pos = $P10."pos"()
+.annotate "line", 325
   # rx literal  "{"
-    add $I11, rx675_pos, 1
-    gt $I11, rx675_eos, rx675_fail
-    sub $I11, rx675_pos, rx675_off
-    substr $S10, rx675_tgt, $I11, 1
-    ne $S10, "{", rx675_fail
-    add rx675_pos, 1
+    add $I11, rx689_pos, 1
+    gt $I11, rx689_eos, rx689_fail
+    sub $I11, rx689_pos, rx689_off
+    substr $S10, rx689_tgt, $I11, 1
+    ne $S10, "{", rx689_fail
+    add rx689_pos, 1
   # rx subrule "LANG" subtype=capture negate=
-    rx675_cur."!cursor_pos"(rx675_pos)
-    $P10 = rx675_cur."LANG"("Regex", "nibbler")
-    unless $P10, rx675_fail
-    rx675_cur."!mark_push"(0, -1, 0, $P10)
+    rx689_cur."!cursor_pos"(rx689_pos)
+    $P10 = rx689_cur."LANG"("Regex", "nibbler")
+    unless $P10, rx689_fail
+    rx689_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("p6regex")
-    rx675_pos = $P10."pos"()
+    rx689_pos = $P10."pos"()
   # rx literal  "}"
-    add $I11, rx675_pos, 1
-    gt $I11, rx675_eos, rx675_fail
-    sub $I11, rx675_pos, rx675_off
-    substr $S10, rx675_tgt, $I11, 1
-    ne $S10, "}", rx675_fail
-    add rx675_pos, 1
+    add $I11, rx689_pos, 1
+    gt $I11, rx689_eos, rx689_fail
+    sub $I11, rx689_pos, rx689_off
+    substr $S10, rx689_tgt, $I11, 1
+    ne $S10, "}", rx689_fail
+    add rx689_pos, 1
   # rx subrule "ENDSTMT" subtype=zerowidth negate=
-    rx675_cur."!cursor_pos"(rx675_pos)
-    $P10 = rx675_cur."ENDSTMT"()
-    unless $P10, rx675_fail
-  # rx subrule "ws" subtype=method negate=
-    rx675_cur."!cursor_pos"(rx675_pos)
-    $P10 = rx675_cur."ws"()
-    unless $P10, rx675_fail
-    rx675_pos = $P10."pos"()
-  alt680_end:
-.annotate "line", 321
+    rx689_cur."!cursor_pos"(rx689_pos)
+    $P10 = rx689_cur."ENDSTMT"()
+    unless $P10, rx689_fail
+  # rx subrule "ws" subtype=method negate=
+    rx689_cur."!cursor_pos"(rx689_pos)
+    $P10 = rx689_cur."ws"()
+    unless $P10, rx689_fail
+    rx689_pos = $P10."pos"()
+  alt694_end:
+.annotate "line", 326
   # rx subrule "ws" subtype=method negate=
-    rx675_cur."!cursor_pos"(rx675_pos)
-    $P10 = rx675_cur."ws"()
-    unless $P10, rx675_fail
-    rx675_pos = $P10."pos"()
-.annotate "line", 310
+    rx689_cur."!cursor_pos"(rx689_pos)
+    $P10 = rx689_cur."ws"()
+    unless $P10, rx689_fail
+    rx689_pos = $P10."pos"()
+.annotate "line", 315
   # rx pass
-    rx675_cur."!cursor_pass"(rx675_pos, "regex_declarator")
-    rx675_cur."!cursor_debug"("PASS  ", "regex_declarator", " at pos=", rx675_pos)
-    .return (rx675_cur)
-  rx675_fail:
+    rx689_cur."!cursor_pass"(rx689_pos, "regex_declarator")
+    rx689_cur."!cursor_debug"("PASS  ", "regex_declarator", " at pos=", rx689_pos)
+    .return (rx689_cur)
+  rx689_fail:
 .annotate "line", 4
-    (rx675_rep, rx675_pos, $I10, $P10) = rx675_cur."!mark_fail"(0)
-    lt rx675_pos, -1, rx675_done
-    eq rx675_pos, -1, rx675_fail
+    (rx689_rep, rx689_pos, $I10, $P10) = rx689_cur."!mark_fail"(0)
+    lt rx689_pos, -1, rx689_done
+    eq rx689_pos, -1, rx689_fail
     jump $I10
-  rx675_done:
-    rx675_cur."!cursor_fail"()
-    rx675_cur."!cursor_debug"("FAIL  ", "regex_declarator")
-    .return (rx675_cur)
+  rx689_done:
+    rx689_cur."!cursor_fail"()
+    rx689_cur."!cursor_debug"("FAIL  ", "regex_declarator")
+    .return (rx689_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__regex_declarator"  :subid("160_1260829317.63188") :method
+.sub "!PREFIX__regex_declarator"  :subid("164_1261019367.36172") :method
 .annotate "line", 4
-    new $P677, "ResizablePMCArray"
-    push $P677, ""
-    .return ($P677)
+    new $P691, "ResizablePMCArray"
+    push $P691, ""
+    .return ($P691)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "dotty"  :subid("161_1260829317.63188") :method :outer("11_1260829317.63188")
-.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 ", "dotty")
-    rx707_cur."!cursor_caparray"("args")
-    .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, rxscan711_done
-    goto rxscan711_scan
-  rxscan711_loop:
-    ($P10) = rx707_cur."from"()
-    inc $P10
-    set rx707_pos, $P10
-    ge rx707_pos, rx707_eos, rxscan711_done
-  rxscan711_scan:
-    set_addr $I10, rxscan711_loop
-    rx707_cur."!mark_push"(0, rx707_pos, $I10)
-  rxscan711_done:
-.annotate "line", 325
+.sub "dotty"  :subid("165_1261019367.36172") :method :outer("11_1261019367.36172")
+.annotate "line", 4
+    .local string rx721_tgt
+    .local int rx721_pos
+    .local int rx721_off
+    .local int rx721_eos
+    .local int rx721_rep
+    .local pmc rx721_cur
+    (rx721_cur, rx721_pos, rx721_tgt) = self."!cursor_start"()
+    rx721_cur."!cursor_debug"("START ", "dotty")
+    rx721_cur."!cursor_caparray"("args")
+    .lex unicode:"$\x{a2}", rx721_cur
+    .local pmc match
+    .lex "$/", match
+    length rx721_eos, rx721_tgt
+    set rx721_off, 0
+    lt rx721_pos, 2, rx721_start
+    sub rx721_off, rx721_pos, 1
+    substr rx721_tgt, rx721_tgt, rx721_off
+  rx721_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan725_done
+    goto rxscan725_scan
+  rxscan725_loop:
+    ($P10) = rx721_cur."from"()
+    inc $P10
+    set rx721_pos, $P10
+    ge rx721_pos, rx721_eos, rxscan725_done
+  rxscan725_scan:
+    set_addr $I10, rxscan725_loop
+    rx721_cur."!mark_push"(0, rx721_pos, $I10)
+  rxscan725_done:
+.annotate "line", 330
   # rx literal  "."
-    add $I11, rx707_pos, 1
-    gt $I11, rx707_eos, rx707_fail
-    sub $I11, rx707_pos, rx707_off
-    substr $S10, rx707_tgt, $I11, 1
-    ne $S10, ".", rx707_fail
-    add rx707_pos, 1
-  alt712_0:
-.annotate "line", 326
-    set_addr $I10, alt712_1
-    rx707_cur."!mark_push"(0, rx707_pos, $I10)
+    add $I11, rx721_pos, 1
+    gt $I11, rx721_eos, rx721_fail
+    sub $I11, rx721_pos, rx721_off
+    substr $S10, rx721_tgt, $I11, 1
+    ne $S10, ".", rx721_fail
+    add rx721_pos, 1
+  alt726_0:
+.annotate "line", 331
+    set_addr $I10, alt726_1
+    rx721_cur."!mark_push"(0, rx721_pos, $I10)
   # rx subrule "identifier" subtype=capture negate=
-    rx707_cur."!cursor_pos"(rx707_pos)
-    $P10 = rx707_cur."identifier"()
-    unless $P10, rx707_fail
-    rx707_cur."!mark_push"(0, -1, 0, $P10)
+    rx721_cur."!cursor_pos"(rx721_pos)
+    $P10 = rx721_cur."identifier"()
+    unless $P10, rx721_fail
+    rx721_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("longname=identifier")
-    rx707_pos = $P10."pos"()
-    goto alt712_end
-  alt712_1:
-.annotate "line", 327
+    rx721_pos = $P10."pos"()
+    goto alt726_end
+  alt726_1:
+.annotate "line", 332
   # rx enumcharlist negate=0 zerowidth
-    ge rx707_pos, rx707_eos, rx707_fail
-    sub $I10, rx707_pos, rx707_off
-    substr $S10, rx707_tgt, $I10, 1
+    ge rx721_pos, rx721_eos, rx721_fail
+    sub $I10, rx721_pos, rx721_off
+    substr $S10, rx721_tgt, $I10, 1
     index $I11, "'\"", $S10
-    lt $I11, 0, rx707_fail
+    lt $I11, 0, rx721_fail
   # rx subrule "quote" subtype=capture negate=
-    rx707_cur."!cursor_pos"(rx707_pos)
-    $P10 = rx707_cur."quote"()
-    unless $P10, rx707_fail
-    rx707_cur."!mark_push"(0, -1, 0, $P10)
+    rx721_cur."!cursor_pos"(rx721_pos)
+    $P10 = rx721_cur."quote"()
+    unless $P10, rx721_fail
+    rx721_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("quote")
-    rx707_pos = $P10."pos"()
-  alt713_0:
-.annotate "line", 328
-    set_addr $I10, alt713_1
-    rx707_cur."!mark_push"(0, rx707_pos, $I10)
+    rx721_pos = $P10."pos"()
+  alt727_0:
+.annotate "line", 333
+    set_addr $I10, alt727_1
+    rx721_cur."!mark_push"(0, rx721_pos, $I10)
   # rx enumcharlist negate=0 zerowidth
-    ge rx707_pos, rx707_eos, rx707_fail
-    sub $I10, rx707_pos, rx707_off
-    substr $S10, rx707_tgt, $I10, 1
+    ge rx721_pos, rx721_eos, rx721_fail
+    sub $I10, rx721_pos, rx721_off
+    substr $S10, rx721_tgt, $I10, 1
     index $I11, "(", $S10
-    lt $I11, 0, rx707_fail
-    goto alt713_end
-  alt713_1:
+    lt $I11, 0, rx721_fail
+    goto alt727_end
+  alt727_1:
   # rx subrule "panic" subtype=method negate=
-    rx707_cur."!cursor_pos"(rx707_pos)
-    $P10 = rx707_cur."panic"("Quoted method name requires parenthesized arguments")
-    unless $P10, rx707_fail
-    rx707_pos = $P10."pos"()
-  alt713_end:
-  alt712_end:
-.annotate "line", 334
-  # rx rxquantr714 ** 0..1
-    set_addr $I716, rxquantr714_done
-    rx707_cur."!mark_push"(0, rx707_pos, $I716)
-  rxquantr714_loop:
-  alt715_0:
-.annotate "line", 331
-    set_addr $I10, alt715_1
-    rx707_cur."!mark_push"(0, rx707_pos, $I10)
-.annotate "line", 332
+    rx721_cur."!cursor_pos"(rx721_pos)
+    $P10 = rx721_cur."panic"("Quoted method name requires parenthesized arguments")
+    unless $P10, rx721_fail
+    rx721_pos = $P10."pos"()
+  alt727_end:
+  alt726_end:
+.annotate "line", 339
+  # rx rxquantr728 ** 0..1
+    set_addr $I730, rxquantr728_done
+    rx721_cur."!mark_push"(0, rx721_pos, $I730)
+  rxquantr728_loop:
+  alt729_0:
+.annotate "line", 336
+    set_addr $I10, alt729_1
+    rx721_cur."!mark_push"(0, rx721_pos, $I10)
+.annotate "line", 337
   # rx enumcharlist negate=0 zerowidth
-    ge rx707_pos, rx707_eos, rx707_fail
-    sub $I10, rx707_pos, rx707_off
-    substr $S10, rx707_tgt, $I10, 1
+    ge rx721_pos, rx721_eos, rx721_fail
+    sub $I10, rx721_pos, rx721_off
+    substr $S10, rx721_tgt, $I10, 1
     index $I11, "(", $S10
-    lt $I11, 0, rx707_fail
+    lt $I11, 0, rx721_fail
   # rx subrule "args" subtype=capture negate=
-    rx707_cur."!cursor_pos"(rx707_pos)
-    $P10 = rx707_cur."args"()
-    unless $P10, rx707_fail
-    rx707_cur."!mark_push"(0, -1, 0, $P10)
+    rx721_cur."!cursor_pos"(rx721_pos)
+    $P10 = rx721_cur."args"()
+    unless $P10, rx721_fail
+    rx721_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("args")
-    rx707_pos = $P10."pos"()
-    goto alt715_end
-  alt715_1:
-.annotate "line", 333
+    rx721_pos = $P10."pos"()
+    goto alt729_end
+  alt729_1:
+.annotate "line", 338
   # rx literal  ":"
-    add $I11, rx707_pos, 1
-    gt $I11, rx707_eos, rx707_fail
-    sub $I11, rx707_pos, rx707_off
-    substr $S10, rx707_tgt, $I11, 1
-    ne $S10, ":", rx707_fail
-    add rx707_pos, 1
+    add $I11, rx721_pos, 1
+    gt $I11, rx721_eos, rx721_fail
+    sub $I11, rx721_pos, rx721_off
+    substr $S10, rx721_tgt, $I11, 1
+    ne $S10, ":", rx721_fail
+    add rx721_pos, 1
   # rx charclass s
-    ge rx707_pos, rx707_eos, rx707_fail
-    sub $I10, rx707_pos, rx707_off
-    is_cclass $I11, 32, rx707_tgt, $I10
-    unless $I11, rx707_fail
-    inc rx707_pos
+    ge rx721_pos, rx721_eos, rx721_fail
+    sub $I10, rx721_pos, rx721_off
+    is_cclass $I11, 32, rx721_tgt, $I10
+    unless $I11, rx721_fail
+    inc rx721_pos
   # rx subrule "arglist" subtype=capture negate=
-    rx707_cur."!cursor_pos"(rx707_pos)
-    $P10 = rx707_cur."arglist"()
-    unless $P10, rx707_fail
-    rx707_cur."!mark_push"(0, -1, 0, $P10)
+    rx721_cur."!cursor_pos"(rx721_pos)
+    $P10 = rx721_cur."arglist"()
+    unless $P10, rx721_fail
+    rx721_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("args")
-    rx707_pos = $P10."pos"()
-  alt715_end:
-.annotate "line", 334
-    (rx707_rep) = rx707_cur."!mark_commit"($I716)
-  rxquantr714_done:
-.annotate "line", 324
+    rx721_pos = $P10."pos"()
+  alt729_end:
+.annotate "line", 339
+    (rx721_rep) = rx721_cur."!mark_commit"($I730)
+  rxquantr728_done:
+.annotate "line", 329
   # rx pass
-    rx707_cur."!cursor_pass"(rx707_pos, "dotty")
-    rx707_cur."!cursor_debug"("PASS  ", "dotty", " at pos=", rx707_pos)
-    .return (rx707_cur)
-  rx707_fail:
+    rx721_cur."!cursor_pass"(rx721_pos, "dotty")
+    rx721_cur."!cursor_debug"("PASS  ", "dotty", " at pos=", rx721_pos)
+    .return (rx721_cur)
+  rx721_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
+    (rx721_rep, rx721_pos, $I10, $P10) = rx721_cur."!mark_fail"(0)
+    lt rx721_pos, -1, rx721_done
+    eq rx721_pos, -1, rx721_fail
     jump $I10
-  rx707_done:
-    rx707_cur."!cursor_fail"()
-    rx707_cur."!cursor_debug"("FAIL  ", "dotty")
-    .return (rx707_cur)
+  rx721_done:
+    rx721_cur."!cursor_fail"()
+    rx721_cur."!cursor_debug"("FAIL  ", "dotty")
+    .return (rx721_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__dotty"  :subid("162_1260829317.63188") :method
+.sub "!PREFIX__dotty"  :subid("166_1261019367.36172") :method
 .annotate "line", 4
-    $P709 = self."!PREFIX__!subrule"("longname=identifier", ".")
-    new $P710, "ResizablePMCArray"
-    push $P710, "'"
-    push $P710, "\""
-    push $P710, $P709
-    .return ($P710)
+    $P723 = self."!PREFIX__!subrule"("longname=identifier", ".")
+    new $P724, "ResizablePMCArray"
+    push $P724, "'"
+    push $P724, "\""
+    push $P724, $P723
+    .return ($P724)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "term"  :subid("163_1260829317.63188") :method
-.annotate "line", 338
-    $P718 = self."!protoregex"("term")
-    .return ($P718)
+.sub "term"  :subid("167_1261019367.36172") :method
+.annotate "line", 343
+    $P732 = self."!protoregex"("term")
+    .return ($P732)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__term"  :subid("164_1260829317.63188") :method
-.annotate "line", 338
-    $P720 = self."!PREFIX__!protoregex"("term")
-    .return ($P720)
+.sub "!PREFIX__term"  :subid("168_1261019367.36172") :method
+.annotate "line", 343
+    $P734 = self."!PREFIX__!protoregex"("term")
+    .return ($P734)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "term:sym<self>"  :subid("165_1260829317.63188") :method :outer("11_1260829317.63188")
+.sub "term:sym<self>"  :subid("169_1261019367.36172") :method :outer("11_1261019367.36172")
 .annotate "line", 4
-    .local string rx722_tgt
-    .local int rx722_pos
-    .local int rx722_off
-    .local int rx722_eos
-    .local int rx722_rep
-    .local pmc rx722_cur
-    (rx722_cur, rx722_pos, rx722_tgt) = self."!cursor_start"()
-    rx722_cur."!cursor_debug"("START ", "term:sym<self>")
-    .lex unicode:"$\x{a2}", rx722_cur
-    .local pmc match
-    .lex "$/", match
-    length rx722_eos, rx722_tgt
-    set rx722_off, 0
-    lt rx722_pos, 2, rx722_start
-    sub rx722_off, rx722_pos, 1
-    substr rx722_tgt, rx722_tgt, rx722_off
-  rx722_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan725_done
-    goto rxscan725_scan
-  rxscan725_loop:
-    ($P10) = rx722_cur."from"()
-    inc $P10
-    set rx722_pos, $P10
-    ge rx722_pos, rx722_eos, rxscan725_done
-  rxscan725_scan:
-    set_addr $I10, rxscan725_loop
-    rx722_cur."!mark_push"(0, rx722_pos, $I10)
-  rxscan725_done:
-.annotate "line", 340
+    .local string rx736_tgt
+    .local int rx736_pos
+    .local int rx736_off
+    .local int rx736_eos
+    .local int rx736_rep
+    .local pmc rx736_cur
+    (rx736_cur, rx736_pos, rx736_tgt) = self."!cursor_start"()
+    rx736_cur."!cursor_debug"("START ", "term:sym<self>")
+    .lex unicode:"$\x{a2}", rx736_cur
+    .local pmc match
+    .lex "$/", match
+    length rx736_eos, rx736_tgt
+    set rx736_off, 0
+    lt rx736_pos, 2, rx736_start
+    sub rx736_off, rx736_pos, 1
+    substr rx736_tgt, rx736_tgt, rx736_off
+  rx736_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan739_done
+    goto rxscan739_scan
+  rxscan739_loop:
+    ($P10) = rx736_cur."from"()
+    inc $P10
+    set rx736_pos, $P10
+    ge rx736_pos, rx736_eos, rxscan739_done
+  rxscan739_scan:
+    set_addr $I10, rxscan739_loop
+    rx736_cur."!mark_push"(0, rx736_pos, $I10)
+  rxscan739_done:
+.annotate "line", 345
   # rx subcapture "sym"
-    set_addr $I10, rxcap_726_fail
-    rx722_cur."!mark_push"(0, rx722_pos, $I10)
+    set_addr $I10, rxcap_740_fail
+    rx736_cur."!mark_push"(0, rx736_pos, $I10)
   # rx literal  "self"
-    add $I11, rx722_pos, 4
-    gt $I11, rx722_eos, rx722_fail
-    sub $I11, rx722_pos, rx722_off
-    substr $S10, rx722_tgt, $I11, 4
-    ne $S10, "self", rx722_fail
-    add rx722_pos, 4
-    set_addr $I10, rxcap_726_fail
-    ($I12, $I11) = rx722_cur."!mark_peek"($I10)
-    rx722_cur."!cursor_pos"($I11)
-    ($P10) = rx722_cur."!cursor_start"()
-    $P10."!cursor_pass"(rx722_pos, "")
-    rx722_cur."!mark_push"(0, -1, 0, $P10)
+    add $I11, rx736_pos, 4
+    gt $I11, rx736_eos, rx736_fail
+    sub $I11, rx736_pos, rx736_off
+    substr $S10, rx736_tgt, $I11, 4
+    ne $S10, "self", rx736_fail
+    add rx736_pos, 4
+    set_addr $I10, rxcap_740_fail
+    ($I12, $I11) = rx736_cur."!mark_peek"($I10)
+    rx736_cur."!cursor_pos"($I11)
+    ($P10) = rx736_cur."!cursor_start"()
+    $P10."!cursor_pass"(rx736_pos, "")
+    rx736_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("sym")
-    goto rxcap_726_done
-  rxcap_726_fail:
-    goto rx722_fail
-  rxcap_726_done:
+    goto rxcap_740_done
+  rxcap_740_fail:
+    goto rx736_fail
+  rxcap_740_done:
   # rxanchor rwb
-    le rx722_pos, 0, rx722_fail
-    sub $I10, rx722_pos, rx722_off
-    is_cclass $I11, 8192, rx722_tgt, $I10
-    if $I11, rx722_fail
+    le rx736_pos, 0, rx736_fail
+    sub $I10, rx736_pos, rx736_off
+    is_cclass $I11, 8192, rx736_tgt, $I10
+    if $I11, rx736_fail
     dec $I10
-    is_cclass $I11, 8192, rx722_tgt, $I10
-    unless $I11, rx722_fail
-  # rx pass
-    rx722_cur."!cursor_pass"(rx722_pos, "term:sym<self>")
-    rx722_cur."!cursor_debug"("PASS  ", "term:sym<self>", " at pos=", rx722_pos)
-    .return (rx722_cur)
-  rx722_fail:
-.annotate "line", 4
-    (rx722_rep, rx722_pos, $I10, $P10) = rx722_cur."!mark_fail"(0)
-    lt rx722_pos, -1, rx722_done
-    eq rx722_pos, -1, rx722_fail
-    jump $I10
-  rx722_done:
-    rx722_cur."!cursor_fail"()
-    rx722_cur."!cursor_debug"("FAIL  ", "term:sym<self>")
-    .return (rx722_cur)
-    .return ()
-.end
-
-
-.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__term:sym<self>"  :subid("166_1260829317.63188") :method
-.annotate "line", 4
-    new $P724, "ResizablePMCArray"
-    push $P724, "self"
-    .return ($P724)
-.end
-
-
-.namespace ["NQP";"Grammar"]
-.sub "term:sym<identifier>"  :subid("167_1260829317.63188") :method :outer("11_1260829317.63188")
-.annotate "line", 4
-    .local string rx728_tgt
-    .local int rx728_pos
-    .local int rx728_off
-    .local int rx728_eos
-    .local int rx728_rep
-    .local pmc rx728_cur
-    (rx728_cur, rx728_pos, rx728_tgt) = self."!cursor_start"()
-    rx728_cur."!cursor_debug"("START ", "term:sym<identifier>")
-    .lex unicode:"$\x{a2}", rx728_cur
-    .local pmc match
-    .lex "$/", match
-    length rx728_eos, rx728_tgt
-    set rx728_off, 0
-    lt rx728_pos, 2, rx728_start
-    sub rx728_off, rx728_pos, 1
-    substr rx728_tgt, rx728_tgt, rx728_off
-  rx728_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan732_done
-    goto rxscan732_scan
-  rxscan732_loop:
-    ($P10) = rx728_cur."from"()
-    inc $P10
-    set rx728_pos, $P10
-    ge rx728_pos, rx728_eos, rxscan732_done
-  rxscan732_scan:
-    set_addr $I10, rxscan732_loop
-    rx728_cur."!mark_push"(0, rx728_pos, $I10)
-  rxscan732_done:
-.annotate "line", 343
-  # rx subrule "identifier" subtype=capture negate=
-    rx728_cur."!cursor_pos"(rx728_pos)
-    $P10 = rx728_cur."identifier"()
-    unless $P10, rx728_fail
-    rx728_cur."!mark_push"(0, -1, 0, $P10)
-    $P10."!cursor_names"("identifier")
-    rx728_pos = $P10."pos"()
-  # rx enumcharlist negate=0 zerowidth
-    ge rx728_pos, rx728_eos, rx728_fail
-    sub $I10, rx728_pos, rx728_off
-    substr $S10, rx728_tgt, $I10, 1
-    index $I11, "(", $S10
-    lt $I11, 0, rx728_fail
-  # rx subrule "args" subtype=capture negate=
-    rx728_cur."!cursor_pos"(rx728_pos)
-    $P10 = rx728_cur."args"()
-    unless $P10, rx728_fail
-    rx728_cur."!mark_push"(0, -1, 0, $P10)
-    $P10."!cursor_names"("args")
-    rx728_pos = $P10."pos"()
-.annotate "line", 342
-  # rx pass
-    rx728_cur."!cursor_pass"(rx728_pos, "term:sym<identifier>")
-    rx728_cur."!cursor_debug"("PASS  ", "term:sym<identifier>", " at pos=", rx728_pos)
-    .return (rx728_cur)
-  rx728_fail:
-.annotate "line", 4
-    (rx728_rep, rx728_pos, $I10, $P10) = rx728_cur."!mark_fail"(0)
-    lt rx728_pos, -1, rx728_done
-    eq rx728_pos, -1, rx728_fail
-    jump $I10
-  rx728_done:
-    rx728_cur."!cursor_fail"()
-    rx728_cur."!cursor_debug"("FAIL  ", "term:sym<identifier>")
-    .return (rx728_cur)
-    .return ()
-.end
-
-
-.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__term:sym<identifier>"  :subid("168_1260829317.63188") :method
-.annotate "line", 4
-    $P730 = self."!PREFIX__!subrule"("identifier", "")
-    new $P731, "ResizablePMCArray"
-    push $P731, $P730
-    .return ($P731)
-.end
-
-
-.namespace ["NQP";"Grammar"]
-.sub "term:sym<name>"  :subid("169_1260829317.63188") :method :outer("11_1260829317.63188")
-.annotate "line", 4
-    .local string rx734_tgt
-    .local int rx734_pos
-    .local int rx734_off
-    .local int rx734_eos
-    .local int rx734_rep
-    .local pmc rx734_cur
-    (rx734_cur, rx734_pos, rx734_tgt) = self."!cursor_start"()
-    rx734_cur."!cursor_debug"("START ", "term:sym<name>")
-    rx734_cur."!cursor_caparray"("args")
-    .lex unicode:"$\x{a2}", rx734_cur
-    .local pmc match
-    .lex "$/", match
-    length rx734_eos, rx734_tgt
-    set rx734_off, 0
-    lt rx734_pos, 2, rx734_start
-    sub rx734_off, rx734_pos, 1
-    substr rx734_tgt, rx734_tgt, rx734_off
-  rx734_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan738_done
-    goto rxscan738_scan
-  rxscan738_loop:
-    ($P10) = rx734_cur."from"()
-    inc $P10
-    set rx734_pos, $P10
-    ge rx734_pos, rx734_eos, rxscan738_done
-  rxscan738_scan:
-    set_addr $I10, rxscan738_loop
-    rx734_cur."!mark_push"(0, rx734_pos, $I10)
-  rxscan738_done:
-.annotate "line", 347
-  # rx subrule "name" subtype=capture negate=
-    rx734_cur."!cursor_pos"(rx734_pos)
-    $P10 = rx734_cur."name"()
-    unless $P10, rx734_fail
-    rx734_cur."!mark_push"(0, -1, 0, $P10)
-    $P10."!cursor_names"("name")
-    rx734_pos = $P10."pos"()
-  # rx rxquantr739 ** 0..1
-    set_addr $I740, rxquantr739_done
-    rx734_cur."!mark_push"(0, rx734_pos, $I740)
-  rxquantr739_loop:
-  # rx subrule "args" subtype=capture negate=
-    rx734_cur."!cursor_pos"(rx734_pos)
-    $P10 = rx734_cur."args"()
-    unless $P10, rx734_fail
-    rx734_cur."!mark_push"(0, -1, 0, $P10)
-    $P10."!cursor_names"("args")
-    rx734_pos = $P10."pos"()
-    (rx734_rep) = rx734_cur."!mark_commit"($I740)
-  rxquantr739_done:
-.annotate "line", 346
+    is_cclass $I11, 8192, rx736_tgt, $I10
+    unless $I11, rx736_fail
   # rx pass
-    rx734_cur."!cursor_pass"(rx734_pos, "term:sym<name>")
-    rx734_cur."!cursor_debug"("PASS  ", "term:sym<name>", " at pos=", rx734_pos)
-    .return (rx734_cur)
-  rx734_fail:
+    rx736_cur."!cursor_pass"(rx736_pos, "term:sym<self>")
+    rx736_cur."!cursor_debug"("PASS  ", "term:sym<self>", " at pos=", rx736_pos)
+    .return (rx736_cur)
+  rx736_fail:
 .annotate "line", 4
-    (rx734_rep, rx734_pos, $I10, $P10) = rx734_cur."!mark_fail"(0)
-    lt rx734_pos, -1, rx734_done
-    eq rx734_pos, -1, rx734_fail
+    (rx736_rep, rx736_pos, $I10, $P10) = rx736_cur."!mark_fail"(0)
+    lt rx736_pos, -1, rx736_done
+    eq rx736_pos, -1, rx736_fail
     jump $I10
-  rx734_done:
-    rx734_cur."!cursor_fail"()
-    rx734_cur."!cursor_debug"("FAIL  ", "term:sym<name>")
-    .return (rx734_cur)
+  rx736_done:
+    rx736_cur."!cursor_fail"()
+    rx736_cur."!cursor_debug"("FAIL  ", "term:sym<self>")
+    .return (rx736_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__term:sym<name>"  :subid("170_1260829317.63188") :method
+.sub "!PREFIX__term:sym<self>"  :subid("170_1261019367.36172") :method
 .annotate "line", 4
-    $P736 = self."!PREFIX__!subrule"("name", "")
-    new $P737, "ResizablePMCArray"
-    push $P737, $P736
-    .return ($P737)
+    new $P738, "ResizablePMCArray"
+    push $P738, "self"
+    .return ($P738)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "term:sym<pir::op>"  :subid("171_1260829317.63188") :method :outer("11_1260829317.63188")
+.sub "term:sym<identifier>"  :subid("171_1261019367.36172") :method :outer("11_1261019367.36172")
 .annotate "line", 4
     .local string rx742_tgt
     .local int rx742_pos
@@ -8753,8 +8763,7 @@
     .local int rx742_rep
     .local pmc rx742_cur
     (rx742_cur, rx742_pos, rx742_tgt) = self."!cursor_start"()
-    rx742_cur."!cursor_debug"("START ", "term:sym<pir::op>")
-    rx742_cur."!cursor_caparray"("args")
+    rx742_cur."!cursor_debug"("START ", "term:sym<identifier>")
     .lex unicode:"$\x{a2}", rx742_cur
     .local pmc match
     .lex "$/", match
@@ -8765,49 +8774,31 @@
     substr rx742_tgt, rx742_tgt, rx742_off
   rx742_start:
     $I10 = self.'from'()
-    ne $I10, -1, rxscan745_done
-    goto rxscan745_scan
-  rxscan745_loop:
+    ne $I10, -1, rxscan746_done
+    goto rxscan746_scan
+  rxscan746_loop:
     ($P10) = rx742_cur."from"()
     inc $P10
     set rx742_pos, $P10
-    ge rx742_pos, rx742_eos, rxscan745_done
-  rxscan745_scan:
-    set_addr $I10, rxscan745_loop
-    rx742_cur."!mark_push"(0, rx742_pos, $I10)
-  rxscan745_done:
-.annotate "line", 351
-  # rx literal  "pir::"
-    add $I11, rx742_pos, 5
-    gt $I11, rx742_eos, rx742_fail
-    sub $I11, rx742_pos, rx742_off
-    substr $S10, rx742_tgt, $I11, 5
-    ne $S10, "pir::", rx742_fail
-    add rx742_pos, 5
-  # rx subcapture "op"
-    set_addr $I10, rxcap_746_fail
+    ge rx742_pos, rx742_eos, rxscan746_done
+  rxscan746_scan:
+    set_addr $I10, rxscan746_loop
     rx742_cur."!mark_push"(0, rx742_pos, $I10)
-  # rx charclass_q w r 1..-1
-    sub $I10, rx742_pos, rx742_off
-    find_not_cclass $I11, 8192, rx742_tgt, $I10, rx742_eos
-    add $I12, $I10, 1
-    lt $I11, $I12, rx742_fail
-    add rx742_pos, rx742_off, $I11
-    set_addr $I10, rxcap_746_fail
-    ($I12, $I11) = rx742_cur."!mark_peek"($I10)
-    rx742_cur."!cursor_pos"($I11)
-    ($P10) = rx742_cur."!cursor_start"()
-    $P10."!cursor_pass"(rx742_pos, "")
+  rxscan746_done:
+.annotate "line", 348
+  # rx subrule "identifier" subtype=capture negate=
+    rx742_cur."!cursor_pos"(rx742_pos)
+    $P10 = rx742_cur."identifier"()
+    unless $P10, rx742_fail
     rx742_cur."!mark_push"(0, -1, 0, $P10)
-    $P10."!cursor_names"("op")
-    goto rxcap_746_done
-  rxcap_746_fail:
-    goto rx742_fail
-  rxcap_746_done:
-  # rx rxquantr747 ** 0..1
-    set_addr $I748, rxquantr747_done
-    rx742_cur."!mark_push"(0, rx742_pos, $I748)
-  rxquantr747_loop:
+    $P10."!cursor_names"("identifier")
+    rx742_pos = $P10."pos"()
+  # rx enumcharlist negate=0 zerowidth
+    ge rx742_pos, rx742_eos, rx742_fail
+    sub $I10, rx742_pos, rx742_off
+    substr $S10, rx742_tgt, $I10, 1
+    index $I11, "(", $S10
+    lt $I11, 0, rx742_fail
   # rx subrule "args" subtype=capture negate=
     rx742_cur."!cursor_pos"(rx742_pos)
     $P10 = rx742_cur."args"()
@@ -8815,12 +8806,10 @@
     rx742_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("args")
     rx742_pos = $P10."pos"()
-    (rx742_rep) = rx742_cur."!mark_commit"($I748)
-  rxquantr747_done:
-.annotate "line", 350
+.annotate "line", 347
   # rx pass
-    rx742_cur."!cursor_pass"(rx742_pos, "term:sym<pir::op>")
-    rx742_cur."!cursor_debug"("PASS  ", "term:sym<pir::op>", " at pos=", rx742_pos)
+    rx742_cur."!cursor_pass"(rx742_pos, "term:sym<identifier>")
+    rx742_cur."!cursor_debug"("PASS  ", "term:sym<identifier>", " at pos=", rx742_pos)
     .return (rx742_cur)
   rx742_fail:
 .annotate "line", 4
@@ -8830,105 +8819,107 @@
     jump $I10
   rx742_done:
     rx742_cur."!cursor_fail"()
-    rx742_cur."!cursor_debug"("FAIL  ", "term:sym<pir::op>")
+    rx742_cur."!cursor_debug"("FAIL  ", "term:sym<identifier>")
     .return (rx742_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__term:sym<pir::op>"  :subid("172_1260829317.63188") :method
+.sub "!PREFIX__term:sym<identifier>"  :subid("172_1261019367.36172") :method
 .annotate "line", 4
-    new $P744, "ResizablePMCArray"
-    push $P744, "pir::"
-    .return ($P744)
+    $P744 = self."!PREFIX__!subrule"("identifier", "")
+    new $P745, "ResizablePMCArray"
+    push $P745, $P744
+    .return ($P745)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "args"  :subid("173_1260829317.63188") :method :outer("11_1260829317.63188")
+.sub "term:sym<name>"  :subid("173_1261019367.36172") :method :outer("11_1261019367.36172")
 .annotate "line", 4
-    .local string rx750_tgt
-    .local int rx750_pos
-    .local int rx750_off
-    .local int rx750_eos
-    .local int rx750_rep
-    .local pmc rx750_cur
-    (rx750_cur, rx750_pos, rx750_tgt) = self."!cursor_start"()
-    rx750_cur."!cursor_debug"("START ", "args")
-    .lex unicode:"$\x{a2}", rx750_cur
-    .local pmc match
-    .lex "$/", match
-    length rx750_eos, rx750_tgt
-    set rx750_off, 0
-    lt rx750_pos, 2, rx750_start
-    sub rx750_off, rx750_pos, 1
-    substr rx750_tgt, rx750_tgt, rx750_off
-  rx750_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan754_done
-    goto rxscan754_scan
-  rxscan754_loop:
-    ($P10) = rx750_cur."from"()
-    inc $P10
-    set rx750_pos, $P10
-    ge rx750_pos, rx750_eos, rxscan754_done
-  rxscan754_scan:
-    set_addr $I10, rxscan754_loop
-    rx750_cur."!mark_push"(0, rx750_pos, $I10)
-  rxscan754_done:
-.annotate "line", 355
-  # rx literal  "("
-    add $I11, rx750_pos, 1
-    gt $I11, rx750_eos, rx750_fail
-    sub $I11, rx750_pos, rx750_off
-    substr $S10, rx750_tgt, $I11, 1
-    ne $S10, "(", rx750_fail
-    add rx750_pos, 1
-  # rx subrule "arglist" subtype=capture negate=
-    rx750_cur."!cursor_pos"(rx750_pos)
-    $P10 = rx750_cur."arglist"()
-    unless $P10, rx750_fail
-    rx750_cur."!mark_push"(0, -1, 0, $P10)
-    $P10."!cursor_names"("arglist")
-    rx750_pos = $P10."pos"()
-  # rx literal  ")"
-    add $I11, rx750_pos, 1
-    gt $I11, rx750_eos, rx750_fail
-    sub $I11, rx750_pos, rx750_off
-    substr $S10, rx750_tgt, $I11, 1
-    ne $S10, ")", rx750_fail
-    add rx750_pos, 1
+    .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<name>")
+    rx748_cur."!cursor_caparray"("args")
+    .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", 352
+  # rx subrule "name" subtype=capture negate=
+    rx748_cur."!cursor_pos"(rx748_pos)
+    $P10 = rx748_cur."name"()
+    unless $P10, rx748_fail
+    rx748_cur."!mark_push"(0, -1, 0, $P10)
+    $P10."!cursor_names"("name")
+    rx748_pos = $P10."pos"()
+  # rx rxquantr753 ** 0..1
+    set_addr $I754, rxquantr753_done
+    rx748_cur."!mark_push"(0, rx748_pos, $I754)
+  rxquantr753_loop:
+  # rx subrule "args" subtype=capture negate=
+    rx748_cur."!cursor_pos"(rx748_pos)
+    $P10 = rx748_cur."args"()
+    unless $P10, rx748_fail
+    rx748_cur."!mark_push"(0, -1, 0, $P10)
+    $P10."!cursor_names"("args")
+    rx748_pos = $P10."pos"()
+    (rx748_rep) = rx748_cur."!mark_commit"($I754)
+  rxquantr753_done:
+.annotate "line", 351
   # rx pass
-    rx750_cur."!cursor_pass"(rx750_pos, "args")
-    rx750_cur."!cursor_debug"("PASS  ", "args", " at pos=", rx750_pos)
-    .return (rx750_cur)
-  rx750_fail:
+    rx748_cur."!cursor_pass"(rx748_pos, "term:sym<name>")
+    rx748_cur."!cursor_debug"("PASS  ", "term:sym<name>", " at pos=", rx748_pos)
+    .return (rx748_cur)
+  rx748_fail:
 .annotate "line", 4
-    (rx750_rep, rx750_pos, $I10, $P10) = rx750_cur."!mark_fail"(0)
-    lt rx750_pos, -1, rx750_done
-    eq rx750_pos, -1, rx750_fail
+    (rx748_rep, rx748_pos, $I10, $P10) = rx748_cur."!mark_fail"(0)
+    lt rx748_pos, -1, rx748_done
+    eq rx748_pos, -1, rx748_fail
     jump $I10
-  rx750_done:
-    rx750_cur."!cursor_fail"()
-    rx750_cur."!cursor_debug"("FAIL  ", "args")
-    .return (rx750_cur)
+  rx748_done:
+    rx748_cur."!cursor_fail"()
+    rx748_cur."!cursor_debug"("FAIL  ", "term:sym<name>")
+    .return (rx748_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__args"  :subid("174_1260829317.63188") :method
+.sub "!PREFIX__term:sym<name>"  :subid("174_1261019367.36172") :method
 .annotate "line", 4
-    $P752 = self."!PREFIX__!subrule"("arglist", "(")
-    new $P753, "ResizablePMCArray"
-    push $P753, $P752
-    .return ($P753)
+    $P750 = self."!PREFIX__!subrule"("name", "")
+    new $P751, "ResizablePMCArray"
+    push $P751, $P750
+    .return ($P751)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "arglist"  :subid("175_1260829317.63188") :method :outer("11_1260829317.63188")
+.sub "term:sym<pir::op>"  :subid("175_1261019367.36172") :method :outer("11_1261019367.36172")
 .annotate "line", 4
     .local string rx756_tgt
     .local int rx756_pos
@@ -8937,7 +8928,8 @@
     .local int rx756_rep
     .local pmc rx756_cur
     (rx756_cur, rx756_pos, rx756_tgt) = self."!cursor_start"()
-    rx756_cur."!cursor_debug"("START ", "arglist")
+    rx756_cur."!cursor_debug"("START ", "term:sym<pir::op>")
+    rx756_cur."!cursor_caparray"("args")
     .lex unicode:"$\x{a2}", rx756_cur
     .local pmc match
     .lex "$/", match
@@ -8948,42 +8940,62 @@
     substr rx756_tgt, rx756_tgt, rx756_off
   rx756_start:
     $I10 = self.'from'()
-    ne $I10, -1, rxscan760_done
-    goto rxscan760_scan
-  rxscan760_loop:
+    ne $I10, -1, rxscan759_done
+    goto rxscan759_scan
+  rxscan759_loop:
     ($P10) = rx756_cur."from"()
     inc $P10
     set rx756_pos, $P10
-    ge rx756_pos, rx756_eos, rxscan760_done
-  rxscan760_scan:
-    set_addr $I10, rxscan760_loop
+    ge rx756_pos, rx756_eos, rxscan759_done
+  rxscan759_scan:
+    set_addr $I10, rxscan759_loop
     rx756_cur."!mark_push"(0, rx756_pos, $I10)
-  rxscan760_done:
-.annotate "line", 359
-  # rx subrule "ws" subtype=method negate=
-    rx756_cur."!cursor_pos"(rx756_pos)
-    $P10 = rx756_cur."ws"()
-    unless $P10, rx756_fail
-    rx756_pos = $P10."pos"()
-  alt761_0:
-.annotate "line", 360
-    set_addr $I10, alt761_1
+  rxscan759_done:
+.annotate "line", 356
+  # rx literal  "pir::"
+    add $I11, rx756_pos, 5
+    gt $I11, rx756_eos, rx756_fail
+    sub $I11, rx756_pos, rx756_off
+    substr $S10, rx756_tgt, $I11, 5
+    ne $S10, "pir::", rx756_fail
+    add rx756_pos, 5
+  # rx subcapture "op"
+    set_addr $I10, rxcap_760_fail
     rx756_cur."!mark_push"(0, rx756_pos, $I10)
-.annotate "line", 361
-  # rx subrule "EXPR" subtype=capture negate=
+  # rx charclass_q w r 1..-1
+    sub $I10, rx756_pos, rx756_off
+    find_not_cclass $I11, 8192, rx756_tgt, $I10, rx756_eos
+    add $I12, $I10, 1
+    lt $I11, $I12, rx756_fail
+    add rx756_pos, rx756_off, $I11
+    set_addr $I10, rxcap_760_fail
+    ($I12, $I11) = rx756_cur."!mark_peek"($I10)
+    rx756_cur."!cursor_pos"($I11)
+    ($P10) = rx756_cur."!cursor_start"()
+    $P10."!cursor_pass"(rx756_pos, "")
+    rx756_cur."!mark_push"(0, -1, 0, $P10)
+    $P10."!cursor_names"("op")
+    goto rxcap_760_done
+  rxcap_760_fail:
+    goto rx756_fail
+  rxcap_760_done:
+  # rx rxquantr761 ** 0..1
+    set_addr $I762, rxquantr761_done
+    rx756_cur."!mark_push"(0, rx756_pos, $I762)
+  rxquantr761_loop:
+  # rx subrule "args" subtype=capture negate=
     rx756_cur."!cursor_pos"(rx756_pos)
-    $P10 = rx756_cur."EXPR"("f=")
+    $P10 = rx756_cur."args"()
     unless $P10, rx756_fail
     rx756_cur."!mark_push"(0, -1, 0, $P10)
-    $P10."!cursor_names"("EXPR")
+    $P10."!cursor_names"("args")
     rx756_pos = $P10."pos"()
-    goto alt761_end
-  alt761_1:
-  alt761_end:
-.annotate "line", 358
+    (rx756_rep) = rx756_cur."!mark_commit"($I762)
+  rxquantr761_done:
+.annotate "line", 355
   # rx pass
-    rx756_cur."!cursor_pass"(rx756_pos, "arglist")
-    rx756_cur."!cursor_debug"("PASS  ", "arglist", " at pos=", rx756_pos)
+    rx756_cur."!cursor_pass"(rx756_pos, "term:sym<pir::op>")
+    rx756_cur."!cursor_debug"("PASS  ", "term:sym<pir::op>", " at pos=", rx756_pos)
     .return (rx756_cur)
   rx756_fail:
 .annotate "line", 4
@@ -8993,178 +9005,187 @@
     jump $I10
   rx756_done:
     rx756_cur."!cursor_fail"()
-    rx756_cur."!cursor_debug"("FAIL  ", "arglist")
+    rx756_cur."!cursor_debug"("FAIL  ", "term:sym<pir::op>")
     .return (rx756_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__arglist"  :subid("176_1260829317.63188") :method
+.sub "!PREFIX__term:sym<pir::op>"  :subid("176_1261019367.36172") :method
 .annotate "line", 4
-    $P758 = self."!PREFIX__!subrule"("", "")
-    new $P759, "ResizablePMCArray"
-    push $P759, $P758
-    .return ($P759)
+    new $P758, "ResizablePMCArray"
+    push $P758, "pir::"
+    .return ($P758)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "term:sym<value>"  :subid("177_1260829317.63188") :method :outer("11_1260829317.63188")
-.annotate "line", 4
-    .local string rx763_tgt
-    .local int rx763_pos
-    .local int rx763_off
-    .local int rx763_eos
-    .local int rx763_rep
-    .local pmc rx763_cur
-    (rx763_cur, rx763_pos, rx763_tgt) = self."!cursor_start"()
-    rx763_cur."!cursor_debug"("START ", "term:sym<value>")
-    .lex unicode:"$\x{a2}", rx763_cur
-    .local pmc match
-    .lex "$/", match
-    length rx763_eos, rx763_tgt
-    set rx763_off, 0
-    lt rx763_pos, 2, rx763_start
-    sub rx763_off, rx763_pos, 1
-    substr rx763_tgt, rx763_tgt, rx763_off
-  rx763_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan767_done
-    goto rxscan767_scan
-  rxscan767_loop:
-    ($P10) = rx763_cur."from"()
-    inc $P10
-    set rx763_pos, $P10
-    ge rx763_pos, rx763_eos, rxscan767_done
-  rxscan767_scan:
-    set_addr $I10, rxscan767_loop
-    rx763_cur."!mark_push"(0, rx763_pos, $I10)
-  rxscan767_done:
-.annotate "line", 367
-  # rx subrule "value" subtype=capture negate=
-    rx763_cur."!cursor_pos"(rx763_pos)
-    $P10 = rx763_cur."value"()
-    unless $P10, rx763_fail
-    rx763_cur."!mark_push"(0, -1, 0, $P10)
-    $P10."!cursor_names"("value")
-    rx763_pos = $P10."pos"()
+.sub "args"  :subid("177_1261019367.36172") :method :outer("11_1261019367.36172")
+.annotate "line", 4
+    .local string rx764_tgt
+    .local int rx764_pos
+    .local int rx764_off
+    .local int rx764_eos
+    .local int rx764_rep
+    .local pmc rx764_cur
+    (rx764_cur, rx764_pos, rx764_tgt) = self."!cursor_start"()
+    rx764_cur."!cursor_debug"("START ", "args")
+    .lex unicode:"$\x{a2}", rx764_cur
+    .local pmc match
+    .lex "$/", match
+    length rx764_eos, rx764_tgt
+    set rx764_off, 0
+    lt rx764_pos, 2, rx764_start
+    sub rx764_off, rx764_pos, 1
+    substr rx764_tgt, rx764_tgt, rx764_off
+  rx764_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan768_done
+    goto rxscan768_scan
+  rxscan768_loop:
+    ($P10) = rx764_cur."from"()
+    inc $P10
+    set rx764_pos, $P10
+    ge rx764_pos, rx764_eos, rxscan768_done
+  rxscan768_scan:
+    set_addr $I10, rxscan768_loop
+    rx764_cur."!mark_push"(0, rx764_pos, $I10)
+  rxscan768_done:
+.annotate "line", 360
+  # rx literal  "("
+    add $I11, rx764_pos, 1
+    gt $I11, rx764_eos, rx764_fail
+    sub $I11, rx764_pos, rx764_off
+    substr $S10, rx764_tgt, $I11, 1
+    ne $S10, "(", rx764_fail
+    add rx764_pos, 1
+  # rx subrule "arglist" subtype=capture negate=
+    rx764_cur."!cursor_pos"(rx764_pos)
+    $P10 = rx764_cur."arglist"()
+    unless $P10, rx764_fail
+    rx764_cur."!mark_push"(0, -1, 0, $P10)
+    $P10."!cursor_names"("arglist")
+    rx764_pos = $P10."pos"()
+  # rx literal  ")"
+    add $I11, rx764_pos, 1
+    gt $I11, rx764_eos, rx764_fail
+    sub $I11, rx764_pos, rx764_off
+    substr $S10, rx764_tgt, $I11, 1
+    ne $S10, ")", rx764_fail
+    add rx764_pos, 1
   # rx pass
-    rx763_cur."!cursor_pass"(rx763_pos, "term:sym<value>")
-    rx763_cur."!cursor_debug"("PASS  ", "term:sym<value>", " at pos=", rx763_pos)
-    .return (rx763_cur)
-  rx763_fail:
+    rx764_cur."!cursor_pass"(rx764_pos, "args")
+    rx764_cur."!cursor_debug"("PASS  ", "args", " at pos=", rx764_pos)
+    .return (rx764_cur)
+  rx764_fail:
 .annotate "line", 4
-    (rx763_rep, rx763_pos, $I10, $P10) = rx763_cur."!mark_fail"(0)
-    lt rx763_pos, -1, rx763_done
-    eq rx763_pos, -1, rx763_fail
+    (rx764_rep, rx764_pos, $I10, $P10) = rx764_cur."!mark_fail"(0)
+    lt rx764_pos, -1, rx764_done
+    eq rx764_pos, -1, rx764_fail
     jump $I10
-  rx763_done:
-    rx763_cur."!cursor_fail"()
-    rx763_cur."!cursor_debug"("FAIL  ", "term:sym<value>")
-    .return (rx763_cur)
+  rx764_done:
+    rx764_cur."!cursor_fail"()
+    rx764_cur."!cursor_debug"("FAIL  ", "args")
+    .return (rx764_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__term:sym<value>"  :subid("178_1260829317.63188") :method
+.sub "!PREFIX__args"  :subid("178_1261019367.36172") :method
 .annotate "line", 4
-    $P765 = self."!PREFIX__!subrule"("value", "")
-    new $P766, "ResizablePMCArray"
-    push $P766, $P765
-    .return ($P766)
+    $P766 = self."!PREFIX__!subrule"("arglist", "(")
+    new $P767, "ResizablePMCArray"
+    push $P767, $P766
+    .return ($P767)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "value"  :subid("179_1260829317.63188") :method :outer("11_1260829317.63188")
+.sub "arglist"  :subid("179_1261019367.36172") :method :outer("11_1261019367.36172")
 .annotate "line", 4
-    .local string rx769_tgt
-    .local int rx769_pos
-    .local int rx769_off
-    .local int rx769_eos
-    .local int rx769_rep
-    .local pmc rx769_cur
-    (rx769_cur, rx769_pos, rx769_tgt) = self."!cursor_start"()
-    rx769_cur."!cursor_debug"("START ", "value")
-    .lex unicode:"$\x{a2}", rx769_cur
+    .local string rx770_tgt
+    .local int rx770_pos
+    .local int rx770_off
+    .local int rx770_eos
+    .local int rx770_rep
+    .local pmc rx770_cur
+    (rx770_cur, rx770_pos, rx770_tgt) = self."!cursor_start"()
+    rx770_cur."!cursor_debug"("START ", "arglist")
+    .lex unicode:"$\x{a2}", rx770_cur
     .local pmc match
     .lex "$/", match
-    length rx769_eos, rx769_tgt
-    set rx769_off, 0
-    lt rx769_pos, 2, rx769_start
-    sub rx769_off, rx769_pos, 1
-    substr rx769_tgt, rx769_tgt, rx769_off
-  rx769_start:
+    length rx770_eos, rx770_tgt
+    set rx770_off, 0
+    lt rx770_pos, 2, rx770_start
+    sub rx770_off, rx770_pos, 1
+    substr rx770_tgt, rx770_tgt, rx770_off
+  rx770_start:
     $I10 = self.'from'()
     ne $I10, -1, rxscan774_done
     goto rxscan774_scan
   rxscan774_loop:
-    ($P10) = rx769_cur."from"()
+    ($P10) = rx770_cur."from"()
     inc $P10
-    set rx769_pos, $P10
-    ge rx769_pos, rx769_eos, rxscan774_done
+    set rx770_pos, $P10
+    ge rx770_pos, rx770_eos, rxscan774_done
   rxscan774_scan:
     set_addr $I10, rxscan774_loop
-    rx769_cur."!mark_push"(0, rx769_pos, $I10)
+    rx770_cur."!mark_push"(0, rx770_pos, $I10)
   rxscan774_done:
+.annotate "line", 364
+  # rx subrule "ws" subtype=method negate=
+    rx770_cur."!cursor_pos"(rx770_pos)
+    $P10 = rx770_cur."ws"()
+    unless $P10, rx770_fail
+    rx770_pos = $P10."pos"()
   alt775_0:
-.annotate "line", 369
+.annotate "line", 365
     set_addr $I10, alt775_1
-    rx769_cur."!mark_push"(0, rx769_pos, $I10)
-.annotate "line", 370
-  # rx subrule "quote" subtype=capture negate=
-    rx769_cur."!cursor_pos"(rx769_pos)
-    $P10 = rx769_cur."quote"()
-    unless $P10, rx769_fail
-    rx769_cur."!mark_push"(0, -1, 0, $P10)
-    $P10."!cursor_names"("quote")
-    rx769_pos = $P10."pos"()
+    rx770_cur."!mark_push"(0, rx770_pos, $I10)
+.annotate "line", 366
+  # rx subrule "EXPR" subtype=capture negate=
+    rx770_cur."!cursor_pos"(rx770_pos)
+    $P10 = rx770_cur."EXPR"("f=")
+    unless $P10, rx770_fail
+    rx770_cur."!mark_push"(0, -1, 0, $P10)
+    $P10."!cursor_names"("EXPR")
+    rx770_pos = $P10."pos"()
     goto alt775_end
   alt775_1:
-.annotate "line", 371
-  # rx subrule "number" subtype=capture negate=
-    rx769_cur."!cursor_pos"(rx769_pos)
-    $P10 = rx769_cur."number"()
-    unless $P10, rx769_fail
-    rx769_cur."!mark_push"(0, -1, 0, $P10)
-    $P10."!cursor_names"("number")
-    rx769_pos = $P10."pos"()
   alt775_end:
-.annotate "line", 369
+.annotate "line", 363
   # rx pass
-    rx769_cur."!cursor_pass"(rx769_pos, "value")
-    rx769_cur."!cursor_debug"("PASS  ", "value", " at pos=", rx769_pos)
-    .return (rx769_cur)
-  rx769_fail:
+    rx770_cur."!cursor_pass"(rx770_pos, "arglist")
+    rx770_cur."!cursor_debug"("PASS  ", "arglist", " at pos=", rx770_pos)
+    .return (rx770_cur)
+  rx770_fail:
 .annotate "line", 4
-    (rx769_rep, rx769_pos, $I10, $P10) = rx769_cur."!mark_fail"(0)
-    lt rx769_pos, -1, rx769_done
-    eq rx769_pos, -1, rx769_fail
+    (rx770_rep, rx770_pos, $I10, $P10) = rx770_cur."!mark_fail"(0)
+    lt rx770_pos, -1, rx770_done
+    eq rx770_pos, -1, rx770_fail
     jump $I10
-  rx769_done:
-    rx769_cur."!cursor_fail"()
-    rx769_cur."!cursor_debug"("FAIL  ", "value")
-    .return (rx769_cur)
+  rx770_done:
+    rx770_cur."!cursor_fail"()
+    rx770_cur."!cursor_debug"("FAIL  ", "arglist")
+    .return (rx770_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__value"  :subid("180_1260829317.63188") :method
+.sub "!PREFIX__arglist"  :subid("180_1261019367.36172") :method
 .annotate "line", 4
-    $P771 = self."!PREFIX__!subrule"("number", "")
-    $P772 = self."!PREFIX__!subrule"("quote", "")
+    $P772 = self."!PREFIX__!subrule"("", "")
     new $P773, "ResizablePMCArray"
-    push $P773, $P771
     push $P773, $P772
     .return ($P773)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "number"  :subid("181_1260829317.63188") :method :outer("11_1260829317.63188")
+.sub "term:sym<value>"  :subid("181_1261019367.36172") :method :outer("11_1261019367.36172")
 .annotate "line", 4
     .local string rx777_tgt
     .local int rx777_pos
@@ -9173,7 +9194,7 @@
     .local int rx777_rep
     .local pmc rx777_cur
     (rx777_cur, rx777_pos, rx777_tgt) = self."!cursor_start"()
-    rx777_cur."!cursor_debug"("START ", "number")
+    rx777_cur."!cursor_debug"("START ", "term:sym<value>")
     .lex unicode:"$\x{a2}", rx777_cur
     .local pmc match
     .lex "$/", match
@@ -9184,70 +9205,28 @@
     substr rx777_tgt, rx777_tgt, rx777_off
   rx777_start:
     $I10 = self.'from'()
-    ne $I10, -1, rxscan780_done
-    goto rxscan780_scan
-  rxscan780_loop:
+    ne $I10, -1, rxscan781_done
+    goto rxscan781_scan
+  rxscan781_loop:
     ($P10) = rx777_cur."from"()
     inc $P10
     set rx777_pos, $P10
-    ge rx777_pos, rx777_eos, rxscan780_done
-  rxscan780_scan:
-    set_addr $I10, rxscan780_loop
-    rx777_cur."!mark_push"(0, rx777_pos, $I10)
-  rxscan780_done:
-.annotate "line", 375
-  # rx subcapture "sign"
-    set_addr $I10, rxcap_783_fail
-    rx777_cur."!mark_push"(0, rx777_pos, $I10)
-  # rx rxquantr781 ** 0..1
-    set_addr $I782, rxquantr781_done
-    rx777_cur."!mark_push"(0, rx777_pos, $I782)
-  rxquantr781_loop:
-  # rx enumcharlist negate=0 
-    ge rx777_pos, rx777_eos, rx777_fail
-    sub $I10, rx777_pos, rx777_off
-    substr $S10, rx777_tgt, $I10, 1
-    index $I11, "+-", $S10
-    lt $I11, 0, rx777_fail
-    inc rx777_pos
-    (rx777_rep) = rx777_cur."!mark_commit"($I782)
-  rxquantr781_done:
-    set_addr $I10, rxcap_783_fail
-    ($I12, $I11) = rx777_cur."!mark_peek"($I10)
-    rx777_cur."!cursor_pos"($I11)
-    ($P10) = rx777_cur."!cursor_start"()
-    $P10."!cursor_pass"(rx777_pos, "")
-    rx777_cur."!mark_push"(0, -1, 0, $P10)
-    $P10."!cursor_names"("sign")
-    goto rxcap_783_done
-  rxcap_783_fail:
-    goto rx777_fail
-  rxcap_783_done:
-  alt784_0:
-.annotate "line", 376
-    set_addr $I10, alt784_1
+    ge rx777_pos, rx777_eos, rxscan781_done
+  rxscan781_scan:
+    set_addr $I10, rxscan781_loop
     rx777_cur."!mark_push"(0, rx777_pos, $I10)
-  # rx subrule "dec_number" subtype=capture negate=
-    rx777_cur."!cursor_pos"(rx777_pos)
-    $P10 = rx777_cur."dec_number"()
-    unless $P10, rx777_fail
-    rx777_cur."!mark_push"(0, -1, 0, $P10)
-    $P10."!cursor_names"("dec_number")
-    rx777_pos = $P10."pos"()
-    goto alt784_end
-  alt784_1:
-  # rx subrule "integer" subtype=capture negate=
+  rxscan781_done:
+.annotate "line", 372
+  # rx subrule "value" subtype=capture negate=
     rx777_cur."!cursor_pos"(rx777_pos)
-    $P10 = rx777_cur."integer"()
+    $P10 = rx777_cur."value"()
     unless $P10, rx777_fail
     rx777_cur."!mark_push"(0, -1, 0, $P10)
-    $P10."!cursor_names"("integer")
+    $P10."!cursor_names"("value")
     rx777_pos = $P10."pos"()
-  alt784_end:
-.annotate "line", 374
   # rx pass
-    rx777_cur."!cursor_pass"(rx777_pos, "number")
-    rx777_cur."!cursor_debug"("PASS  ", "number", " at pos=", rx777_pos)
+    rx777_cur."!cursor_pass"(rx777_pos, "term:sym<value>")
+    rx777_cur."!cursor_debug"("PASS  ", "term:sym<value>", " at pos=", rx777_pos)
     .return (rx777_cur)
   rx777_fail:
 .annotate "line", 4
@@ -9257,2148 +9236,2166 @@
     jump $I10
   rx777_done:
     rx777_cur."!cursor_fail"()
-    rx777_cur."!cursor_debug"("FAIL  ", "number")
+    rx777_cur."!cursor_debug"("FAIL  ", "term:sym<value>")
     .return (rx777_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__number"  :subid("182_1260829317.63188") :method
+.sub "!PREFIX__term:sym<value>"  :subid("182_1261019367.36172") :method
 .annotate "line", 4
-    new $P779, "ResizablePMCArray"
-    push $P779, ""
-    .return ($P779)
-.end
-
-
-.namespace ["NQP";"Grammar"]
-.sub "quote"  :subid("183_1260829317.63188") :method
-.annotate "line", 379
-    $P786 = self."!protoregex"("quote")
-    .return ($P786)
-.end
-
-
-.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__quote"  :subid("184_1260829317.63188") :method
-.annotate "line", 379
-    $P788 = self."!PREFIX__!protoregex"("quote")
-    .return ($P788)
+    $P779 = self."!PREFIX__!subrule"("value", "")
+    new $P780, "ResizablePMCArray"
+    push $P780, $P779
+    .return ($P780)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "quote:sym<apos>"  :subid("185_1260829317.63188") :method :outer("11_1260829317.63188")
-.annotate "line", 4
-    .local string rx790_tgt
-    .local int rx790_pos
-    .local int rx790_off
-    .local int rx790_eos
-    .local int rx790_rep
-    .local pmc rx790_cur
-    (rx790_cur, rx790_pos, rx790_tgt) = self."!cursor_start"()
-    rx790_cur."!cursor_debug"("START ", "quote:sym<apos>")
-    .lex unicode:"$\x{a2}", rx790_cur
-    .local pmc match
-    .lex "$/", match
-    length rx790_eos, rx790_tgt
-    set rx790_off, 0
-    lt rx790_pos, 2, rx790_start
-    sub rx790_off, rx790_pos, 1
-    substr rx790_tgt, rx790_tgt, rx790_off
-  rx790_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan793_done
-    goto rxscan793_scan
-  rxscan793_loop:
-    ($P10) = rx790_cur."from"()
-    inc $P10
-    set rx790_pos, $P10
-    ge rx790_pos, rx790_eos, rxscan793_done
-  rxscan793_scan:
-    set_addr $I10, rxscan793_loop
-    rx790_cur."!mark_push"(0, rx790_pos, $I10)
-  rxscan793_done:
-.annotate "line", 380
-  # rx enumcharlist negate=0 zerowidth
-    ge rx790_pos, rx790_eos, rx790_fail
-    sub $I10, rx790_pos, rx790_off
-    substr $S10, rx790_tgt, $I10, 1
-    index $I11, "'", $S10
-    lt $I11, 0, rx790_fail
-  # rx subrule "quote_EXPR" subtype=capture negate=
-    rx790_cur."!cursor_pos"(rx790_pos)
-    $P10 = rx790_cur."quote_EXPR"(":q")
-    unless $P10, rx790_fail
-    rx790_cur."!mark_push"(0, -1, 0, $P10)
-    $P10."!cursor_names"("quote_EXPR")
-    rx790_pos = $P10."pos"()
+.sub "value"  :subid("183_1261019367.36172") :method :outer("11_1261019367.36172")
+.annotate "line", 4
+    .local string rx783_tgt
+    .local int rx783_pos
+    .local int rx783_off
+    .local int rx783_eos
+    .local int rx783_rep
+    .local pmc rx783_cur
+    (rx783_cur, rx783_pos, rx783_tgt) = self."!cursor_start"()
+    rx783_cur."!cursor_debug"("START ", "value")
+    .lex unicode:"$\x{a2}", rx783_cur
+    .local pmc match
+    .lex "$/", match
+    length rx783_eos, rx783_tgt
+    set rx783_off, 0
+    lt rx783_pos, 2, rx783_start
+    sub rx783_off, rx783_pos, 1
+    substr rx783_tgt, rx783_tgt, rx783_off
+  rx783_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan788_done
+    goto rxscan788_scan
+  rxscan788_loop:
+    ($P10) = rx783_cur."from"()
+    inc $P10
+    set rx783_pos, $P10
+    ge rx783_pos, rx783_eos, rxscan788_done
+  rxscan788_scan:
+    set_addr $I10, rxscan788_loop
+    rx783_cur."!mark_push"(0, rx783_pos, $I10)
+  rxscan788_done:
+  alt789_0:
+.annotate "line", 374
+    set_addr $I10, alt789_1
+    rx783_cur."!mark_push"(0, rx783_pos, $I10)
+.annotate "line", 375
+  # rx subrule "quote" subtype=capture negate=
+    rx783_cur."!cursor_pos"(rx783_pos)
+    $P10 = rx783_cur."quote"()
+    unless $P10, rx783_fail
+    rx783_cur."!mark_push"(0, -1, 0, $P10)
+    $P10."!cursor_names"("quote")
+    rx783_pos = $P10."pos"()
+    goto alt789_end
+  alt789_1:
+.annotate "line", 376
+  # rx subrule "number" subtype=capture negate=
+    rx783_cur."!cursor_pos"(rx783_pos)
+    $P10 = rx783_cur."number"()
+    unless $P10, rx783_fail
+    rx783_cur."!mark_push"(0, -1, 0, $P10)
+    $P10."!cursor_names"("number")
+    rx783_pos = $P10."pos"()
+  alt789_end:
+.annotate "line", 374
   # rx pass
-    rx790_cur."!cursor_pass"(rx790_pos, "quote:sym<apos>")
-    rx790_cur."!cursor_debug"("PASS  ", "quote:sym<apos>", " at pos=", rx790_pos)
-    .return (rx790_cur)
-  rx790_fail:
+    rx783_cur."!cursor_pass"(rx783_pos, "value")
+    rx783_cur."!cursor_debug"("PASS  ", "value", " at pos=", rx783_pos)
+    .return (rx783_cur)
+  rx783_fail:
 .annotate "line", 4
-    (rx790_rep, rx790_pos, $I10, $P10) = rx790_cur."!mark_fail"(0)
-    lt rx790_pos, -1, rx790_done
-    eq rx790_pos, -1, rx790_fail
+    (rx783_rep, rx783_pos, $I10, $P10) = rx783_cur."!mark_fail"(0)
+    lt rx783_pos, -1, rx783_done
+    eq rx783_pos, -1, rx783_fail
     jump $I10
-  rx790_done:
-    rx790_cur."!cursor_fail"()
-    rx790_cur."!cursor_debug"("FAIL  ", "quote:sym<apos>")
-    .return (rx790_cur)
+  rx783_done:
+    rx783_cur."!cursor_fail"()
+    rx783_cur."!cursor_debug"("FAIL  ", "value")
+    .return (rx783_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__quote:sym<apos>"  :subid("186_1260829317.63188") :method
+.sub "!PREFIX__value"  :subid("184_1261019367.36172") :method
 .annotate "line", 4
-    new $P792, "ResizablePMCArray"
-    push $P792, "'"
-    .return ($P792)
+    $P785 = self."!PREFIX__!subrule"("number", "")
+    $P786 = self."!PREFIX__!subrule"("quote", "")
+    new $P787, "ResizablePMCArray"
+    push $P787, $P785
+    push $P787, $P786
+    .return ($P787)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "quote:sym<dblq>"  :subid("187_1260829317.63188") :method :outer("11_1260829317.63188")
+.sub "number"  :subid("185_1261019367.36172") :method :outer("11_1261019367.36172")
 .annotate "line", 4
-    .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<dblq>")
-    .lex unicode:"$\x{a2}", rx795_cur
+    .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 ", "number")
+    .lex unicode:"$\x{a2}", rx791_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:
+    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, rxscan798_done
-    goto rxscan798_scan
-  rxscan798_loop:
-    ($P10) = rx795_cur."from"()
+    ne $I10, -1, rxscan794_done
+    goto rxscan794_scan
+  rxscan794_loop:
+    ($P10) = rx791_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", 381
+    set rx791_pos, $P10
+    ge rx791_pos, rx791_eos, rxscan794_done
+  rxscan794_scan:
+    set_addr $I10, rxscan794_loop
+    rx791_cur."!mark_push"(0, rx791_pos, $I10)
+  rxscan794_done:
+.annotate "line", 380
+  # rx subcapture "sign"
+    set_addr $I10, rxcap_797_fail
+    rx791_cur."!mark_push"(0, rx791_pos, $I10)
+  # rx rxquantr795 ** 0..1
+    set_addr $I796, rxquantr795_done
+    rx791_cur."!mark_push"(0, rx791_pos, $I796)
+  rxquantr795_loop:
+  # rx enumcharlist negate=0 
+    ge rx791_pos, rx791_eos, rx791_fail
+    sub $I10, rx791_pos, rx791_off
+    substr $S10, rx791_tgt, $I10, 1
+    index $I11, "+-", $S10
+    lt $I11, 0, rx791_fail
+    inc rx791_pos
+    (rx791_rep) = rx791_cur."!mark_commit"($I796)
+  rxquantr795_done:
+    set_addr $I10, rxcap_797_fail
+    ($I12, $I11) = rx791_cur."!mark_peek"($I10)
+    rx791_cur."!cursor_pos"($I11)
+    ($P10) = rx791_cur."!cursor_start"()
+    $P10."!cursor_pass"(rx791_pos, "")
+    rx791_cur."!mark_push"(0, -1, 0, $P10)
+    $P10."!cursor_names"("sign")
+    goto rxcap_797_done
+  rxcap_797_fail:
+    goto rx791_fail
+  rxcap_797_done:
+  alt798_0:
+.annotate "line", 381
+    set_addr $I10, alt798_1
+    rx791_cur."!mark_push"(0, rx791_pos, $I10)
+  # rx subrule "dec_number" subtype=capture negate=
+    rx791_cur."!cursor_pos"(rx791_pos)
+    $P10 = rx791_cur."dec_number"()
+    unless $P10, rx791_fail
+    rx791_cur."!mark_push"(0, -1, 0, $P10)
+    $P10."!cursor_names"("dec_number")
+    rx791_pos = $P10."pos"()
+    goto alt798_end
+  alt798_1:
+  # rx subrule "integer" subtype=capture negate=
+    rx791_cur."!cursor_pos"(rx791_pos)
+    $P10 = rx791_cur."integer"()
+    unless $P10, rx791_fail
+    rx791_cur."!mark_push"(0, -1, 0, $P10)
+    $P10."!cursor_names"("integer")
+    rx791_pos = $P10."pos"()
+  alt798_end:
+.annotate "line", 379
+  # rx pass
+    rx791_cur."!cursor_pass"(rx791_pos, "number")
+    rx791_cur."!cursor_debug"("PASS  ", "number", " at pos=", rx791_pos)
+    .return (rx791_cur)
+  rx791_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
+    jump $I10
+  rx791_done:
+    rx791_cur."!cursor_fail"()
+    rx791_cur."!cursor_debug"("FAIL  ", "number")
+    .return (rx791_cur)
+    .return ()
+.end
+
+
+.namespace ["NQP";"Grammar"]
+.sub "!PREFIX__number"  :subid("186_1261019367.36172") :method
+.annotate "line", 4
+    new $P793, "ResizablePMCArray"
+    push $P793, ""
+    .return ($P793)
+.end
+
+
+.namespace ["NQP";"Grammar"]
+.sub "quote"  :subid("187_1261019367.36172") :method
+.annotate "line", 384
+    $P800 = self."!protoregex"("quote")
+    .return ($P800)
+.end
+
+
+.namespace ["NQP";"Grammar"]
+.sub "!PREFIX__quote"  :subid("188_1261019367.36172") :method
+.annotate "line", 384
+    $P802 = self."!PREFIX__!protoregex"("quote")
+    .return ($P802)
+.end
+
+
+.namespace ["NQP";"Grammar"]
+.sub "quote:sym<apos>"  :subid("189_1261019367.36172") :method :outer("11_1261019367.36172")
+.annotate "line", 4
+    .local string rx804_tgt
+    .local int rx804_pos
+    .local int rx804_off
+    .local int rx804_eos
+    .local int rx804_rep
+    .local pmc rx804_cur
+    (rx804_cur, rx804_pos, rx804_tgt) = self."!cursor_start"()
+    rx804_cur."!cursor_debug"("START ", "quote:sym<apos>")
+    .lex unicode:"$\x{a2}", rx804_cur
+    .local pmc match
+    .lex "$/", match
+    length rx804_eos, rx804_tgt
+    set rx804_off, 0
+    lt rx804_pos, 2, rx804_start
+    sub rx804_off, rx804_pos, 1
+    substr rx804_tgt, rx804_tgt, rx804_off
+  rx804_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan807_done
+    goto rxscan807_scan
+  rxscan807_loop:
+    ($P10) = rx804_cur."from"()
+    inc $P10
+    set rx804_pos, $P10
+    ge rx804_pos, rx804_eos, rxscan807_done
+  rxscan807_scan:
+    set_addr $I10, rxscan807_loop
+    rx804_cur."!mark_push"(0, rx804_pos, $I10)
+  rxscan807_done:
+.annotate "line", 385
+  # rx enumcharlist negate=0 zerowidth
+    ge rx804_pos, rx804_eos, rx804_fail
+    sub $I10, rx804_pos, rx804_off
+    substr $S10, rx804_tgt, $I10, 1
+    index $I11, "'", $S10
+    lt $I11, 0, rx804_fail
+  # rx subrule "quote_EXPR" subtype=capture negate=
+    rx804_cur."!cursor_pos"(rx804_pos)
+    $P10 = rx804_cur."quote_EXPR"(":q")
+    unless $P10, rx804_fail
+    rx804_cur."!mark_push"(0, -1, 0, $P10)
+    $P10."!cursor_names"("quote_EXPR")
+    rx804_pos = $P10."pos"()
+  # rx pass
+    rx804_cur."!cursor_pass"(rx804_pos, "quote:sym<apos>")
+    rx804_cur."!cursor_debug"("PASS  ", "quote:sym<apos>", " at pos=", rx804_pos)
+    .return (rx804_cur)
+  rx804_fail:
+.annotate "line", 4
+    (rx804_rep, rx804_pos, $I10, $P10) = rx804_cur."!mark_fail"(0)
+    lt rx804_pos, -1, rx804_done
+    eq rx804_pos, -1, rx804_fail
+    jump $I10
+  rx804_done:
+    rx804_cur."!cursor_fail"()
+    rx804_cur."!cursor_debug"("FAIL  ", "quote:sym<apos>")
+    .return (rx804_cur)
+    .return ()
+.end
+
+
+.namespace ["NQP";"Grammar"]
+.sub "!PREFIX__quote:sym<apos>"  :subid("190_1261019367.36172") :method
+.annotate "line", 4
+    new $P806, "ResizablePMCArray"
+    push $P806, "'"
+    .return ($P806)
+.end
+
+
+.namespace ["NQP";"Grammar"]
+.sub "quote:sym<dblq>"  :subid("191_1261019367.36172") :method :outer("11_1261019367.36172")
+.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:sym<dblq>")
+    .lex unicode:"$\x{a2}", rx809_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:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan812_done
+    goto rxscan812_scan
+  rxscan812_loop:
+    ($P10) = rx809_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", 386
   # rx enumcharlist negate=0 zerowidth
-    ge rx795_pos, rx795_eos, rx795_fail
-    sub $I10, rx795_pos, rx795_off
-    substr $S10, rx795_tgt, $I10, 1
+    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, rx795_fail
+    lt $I11, 0, rx809_fail
   # rx subrule "quote_EXPR" subtype=capture negate=
-    rx795_cur."!cursor_pos"(rx795_pos)
-    $P10 = rx795_cur."quote_EXPR"(":qq")
-    unless $P10, rx795_fail
-    rx795_cur."!mark_push"(0, -1, 0, $P10)
+    rx809_cur."!cursor_pos"(rx809_pos)
+    $P10 = rx809_cur."quote_EXPR"(":qq")
+    unless $P10, rx809_fail
+    rx809_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("quote_EXPR")
-    rx795_pos = $P10."pos"()
+    rx809_pos = $P10."pos"()
   # rx pass
-    rx795_cur."!cursor_pass"(rx795_pos, "quote:sym<dblq>")
-    rx795_cur."!cursor_debug"("PASS  ", "quote:sym<dblq>", " at pos=", rx795_pos)
-    .return (rx795_cur)
-  rx795_fail:
+    rx809_cur."!cursor_pass"(rx809_pos, "quote:sym<dblq>")
+    rx809_cur."!cursor_debug"("PASS  ", "quote:sym<dblq>", " at pos=", rx809_pos)
+    .return (rx809_cur)
+  rx809_fail:
 .annotate "line", 4
-    (rx795_rep, rx795_pos, $I10, $P10) = rx795_cur."!mark_fail"(0)
-    lt rx795_pos, -1, rx795_done
-    eq rx795_pos, -1, rx795_fail
+    (rx809_rep, rx809_pos, $I10, $P10) = rx809_cur."!mark_fail"(0)
+    lt rx809_pos, -1, rx809_done
+    eq rx809_pos, -1, rx809_fail
     jump $I10
-  rx795_done:
-    rx795_cur."!cursor_fail"()
-    rx795_cur."!cursor_debug"("FAIL  ", "quote:sym<dblq>")
-    .return (rx795_cur)
+  rx809_done:
+    rx809_cur."!cursor_fail"()
+    rx809_cur."!cursor_debug"("FAIL  ", "quote:sym<dblq>")
+    .return (rx809_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__quote:sym<dblq>"  :subid("188_1260829317.63188") :method
+.sub "!PREFIX__quote:sym<dblq>"  :subid("192_1261019367.36172") :method
 .annotate "line", 4
-    new $P797, "ResizablePMCArray"
-    push $P797, "\""
-    .return ($P797)
+    new $P811, "ResizablePMCArray"
+    push $P811, "\""
+    .return ($P811)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "quote:sym<q>"  :subid("189_1260829317.63188") :method :outer("11_1260829317.63188")
+.sub "quote:sym<q>"  :subid("193_1261019367.36172") :method :outer("11_1261019367.36172")
 .annotate "line", 4
-    .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<q>")
-    .lex unicode:"$\x{a2}", rx800_cur
+    .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:sym<q>")
+    .lex unicode:"$\x{a2}", rx814_cur
     .local pmc match
     .lex "$/", match
-    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:
+    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:
     $I10 = self.'from'()
-    ne $I10, -1, rxscan804_done
-    goto rxscan804_scan
-  rxscan804_loop:
-    ($P10) = rx800_cur."from"()
+    ne $I10, -1, rxscan818_done
+    goto rxscan818_scan
+  rxscan818_loop:
+    ($P10) = rx814_cur."from"()
     inc $P10
-    set rx800_pos, $P10
-    ge rx800_pos, rx800_eos, rxscan804_done
-  rxscan804_scan:
-    set_addr $I10, rxscan804_loop
-    rx800_cur."!mark_push"(0, rx800_pos, $I10)
-  rxscan804_done:
-.annotate "line", 382
+    set rx814_pos, $P10
+    ge rx814_pos, rx814_eos, rxscan818_done
+  rxscan818_scan:
+    set_addr $I10, rxscan818_loop
+    rx814_cur."!mark_push"(0, rx814_pos, $I10)
+  rxscan818_done:
+.annotate "line", 387
   # rx literal  "q"
-    add $I11, rx800_pos, 1
-    gt $I11, rx800_eos, rx800_fail
-    sub $I11, rx800_pos, rx800_off
-    substr $S10, rx800_tgt, $I11, 1
-    ne $S10, "q", rx800_fail
-    add rx800_pos, 1
+    add $I11, rx814_pos, 1
+    gt $I11, rx814_eos, rx814_fail
+    sub $I11, rx814_pos, rx814_off
+    substr $S10, rx814_tgt, $I11, 1
+    ne $S10, "q", rx814_fail
+    add rx814_pos, 1
   # rx enumcharlist negate=1 zerowidth
-    ge rx800_pos, rx800_eos, rx800_fail
-    sub $I10, rx800_pos, rx800_off
-    substr $S10, rx800_tgt, $I10, 1
+    ge rx814_pos, rx814_eos, rx814_fail
+    sub $I10, rx814_pos, rx814_off
+    substr $S10, rx814_tgt, $I10, 1
     index $I11, "(", $S10
-    ge $I11, 0, rx800_fail
+    ge $I11, 0, rx814_fail
   # rx subrule "ws" subtype=method negate=
-    rx800_cur."!cursor_pos"(rx800_pos)
-    $P10 = rx800_cur."ws"()
-    unless $P10, rx800_fail
-    rx800_pos = $P10."pos"()
+    rx814_cur."!cursor_pos"(rx814_pos)
+    $P10 = rx814_cur."ws"()
+    unless $P10, rx814_fail
+    rx814_pos = $P10."pos"()
   # rx subrule "quote_EXPR" subtype=capture negate=
-    rx800_cur."!cursor_pos"(rx800_pos)
-    $P10 = rx800_cur."quote_EXPR"(":q")
-    unless $P10, rx800_fail
-    rx800_cur."!mark_push"(0, -1, 0, $P10)
+    rx814_cur."!cursor_pos"(rx814_pos)
+    $P10 = rx814_cur."quote_EXPR"(":q")
+    unless $P10, rx814_fail
+    rx814_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("quote_EXPR")
-    rx800_pos = $P10."pos"()
+    rx814_pos = $P10."pos"()
   # rx pass
-    rx800_cur."!cursor_pass"(rx800_pos, "quote:sym<q>")
-    rx800_cur."!cursor_debug"("PASS  ", "quote:sym<q>", " at pos=", rx800_pos)
-    .return (rx800_cur)
-  rx800_fail:
+    rx814_cur."!cursor_pass"(rx814_pos, "quote:sym<q>")
+    rx814_cur."!cursor_debug"("PASS  ", "quote:sym<q>", " at pos=", rx814_pos)
+    .return (rx814_cur)
+  rx814_fail:
 .annotate "line", 4
-    (rx800_rep, rx800_pos, $I10, $P10) = rx800_cur."!mark_fail"(0)
-    lt rx800_pos, -1, rx800_done
-    eq rx800_pos, -1, rx800_fail
+    (rx814_rep, rx814_pos, $I10, $P10) = rx814_cur."!mark_fail"(0)
+    lt rx814_pos, -1, rx814_done
+    eq rx814_pos, -1, rx814_fail
     jump $I10
-  rx800_done:
-    rx800_cur."!cursor_fail"()
-    rx800_cur."!cursor_debug"("FAIL  ", "quote:sym<q>")
-    .return (rx800_cur)
+  rx814_done:
+    rx814_cur."!cursor_fail"()
+    rx814_cur."!cursor_debug"("FAIL  ", "quote:sym<q>")
+    .return (rx814_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__quote:sym<q>"  :subid("190_1260829317.63188") :method
+.sub "!PREFIX__quote:sym<q>"  :subid("194_1261019367.36172") :method
 .annotate "line", 4
-    $P802 = self."!PREFIX__!subrule"("", "q")
-    new $P803, "ResizablePMCArray"
-    push $P803, $P802
-    .return ($P803)
+    $P816 = self."!PREFIX__!subrule"("", "q")
+    new $P817, "ResizablePMCArray"
+    push $P817, $P816
+    .return ($P817)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "quote:sym<qq>"  :subid("191_1260829317.63188") :method :outer("11_1260829317.63188")
+.sub "quote:sym<qq>"  :subid("195_1261019367.36172") :method :outer("11_1261019367.36172")
 .annotate "line", 4
-    .local string rx806_tgt
-    .local int rx806_pos
-    .local int rx806_off
-    .local int rx806_eos
-    .local int rx806_rep
-    .local pmc rx806_cur
-    (rx806_cur, rx806_pos, rx806_tgt) = self."!cursor_start"()
-    rx806_cur."!cursor_debug"("START ", "quote:sym<qq>")
-    .lex unicode:"$\x{a2}", rx806_cur
+    .local string rx820_tgt
+    .local int rx820_pos
+    .local int rx820_off
+    .local int rx820_eos
+    .local int rx820_rep
+    .local pmc rx820_cur
+    (rx820_cur, rx820_pos, rx820_tgt) = self."!cursor_start"()
+    rx820_cur."!cursor_debug"("START ", "quote:sym<qq>")
+    .lex unicode:"$\x{a2}", rx820_cur
     .local pmc match
     .lex "$/", match
-    length rx806_eos, rx806_tgt
-    set rx806_off, 0
-    lt rx806_pos, 2, rx806_start
-    sub rx806_off, rx806_pos, 1
-    substr rx806_tgt, rx806_tgt, rx806_off
-  rx806_start:
+    length rx820_eos, rx820_tgt
+    set rx820_off, 0
+    lt rx820_pos, 2, rx820_start
+    sub rx820_off, rx820_pos, 1
+    substr rx820_tgt, rx820_tgt, rx820_off
+  rx820_start:
     $I10 = self.'from'()
-    ne $I10, -1, rxscan810_done
-    goto rxscan810_scan
-  rxscan810_loop:
-    ($P10) = rx806_cur."from"()
+    ne $I10, -1, rxscan824_done
+    goto rxscan824_scan
+  rxscan824_loop:
+    ($P10) = rx820_cur."from"()
     inc $P10
-    set rx806_pos, $P10
-    ge rx806_pos, rx806_eos, rxscan810_done
-  rxscan810_scan:
-    set_addr $I10, rxscan810_loop
-    rx806_cur."!mark_push"(0, rx806_pos, $I10)
-  rxscan810_done:
-.annotate "line", 383
+    set rx820_pos, $P10
+    ge rx820_pos, rx820_eos, rxscan824_done
+  rxscan824_scan:
+    set_addr $I10, rxscan824_loop
+    rx820_cur."!mark_push"(0, rx820_pos, $I10)
+  rxscan824_done:
+.annotate "line", 388
   # rx literal  "qq"
-    add $I11, rx806_pos, 2
-    gt $I11, rx806_eos, rx806_fail
-    sub $I11, rx806_pos, rx806_off
-    substr $S10, rx806_tgt, $I11, 2
-    ne $S10, "qq", rx806_fail
-    add rx806_pos, 2
+    add $I11, rx820_pos, 2
+    gt $I11, rx820_eos, rx820_fail
+    sub $I11, rx820_pos, rx820_off
+    substr $S10, rx820_tgt, $I11, 2
+    ne $S10, "qq", rx820_fail
+    add rx820_pos, 2
   # rx enumcharlist negate=1 zerowidth
-    ge rx806_pos, rx806_eos, rx806_fail
-    sub $I10, rx806_pos, rx806_off
-    substr $S10, rx806_tgt, $I10, 1
+    ge rx820_pos, rx820_eos, rx820_fail
+    sub $I10, rx820_pos, rx820_off
+    substr $S10, rx820_tgt, $I10, 1
     index $I11, "(", $S10
-    ge $I11, 0, rx806_fail
+    ge $I11, 0, rx820_fail
   # rx subrule "ws" subtype=method negate=
-    rx806_cur."!cursor_pos"(rx806_pos)
-    $P10 = rx806_cur."ws"()
-    unless $P10, rx806_fail
-    rx806_pos = $P10."pos"()
+    rx820_cur."!cursor_pos"(rx820_pos)
+    $P10 = rx820_cur."ws"()
+    unless $P10, rx820_fail
+    rx820_pos = $P10."pos"()
   # rx subrule "quote_EXPR" subtype=capture negate=
-    rx806_cur."!cursor_pos"(rx806_pos)
-    $P10 = rx806_cur."quote_EXPR"(":qq")
-    unless $P10, rx806_fail
-    rx806_cur."!mark_push"(0, -1, 0, $P10)
+    rx820_cur."!cursor_pos"(rx820_pos)
+    $P10 = rx820_cur."quote_EXPR"(":qq")
+    unless $P10, rx820_fail
+    rx820_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("quote_EXPR")
-    rx806_pos = $P10."pos"()
+    rx820_pos = $P10."pos"()
   # rx pass
-    rx806_cur."!cursor_pass"(rx806_pos, "quote:sym<qq>")
-    rx806_cur."!cursor_debug"("PASS  ", "quote:sym<qq>", " at pos=", rx806_pos)
-    .return (rx806_cur)
-  rx806_fail:
+    rx820_cur."!cursor_pass"(rx820_pos, "quote:sym<qq>")
+    rx820_cur."!cursor_debug"("PASS  ", "quote:sym<qq>", " at pos=", rx820_pos)
+    .return (rx820_cur)
+  rx820_fail:
 .annotate "line", 4
-    (rx806_rep, rx806_pos, $I10, $P10) = rx806_cur."!mark_fail"(0)
-    lt rx806_pos, -1, rx806_done
-    eq rx806_pos, -1, rx806_fail
+    (rx820_rep, rx820_pos, $I10, $P10) = rx820_cur."!mark_fail"(0)
+    lt rx820_pos, -1, rx820_done
+    eq rx820_pos, -1, rx820_fail
     jump $I10
-  rx806_done:
-    rx806_cur."!cursor_fail"()
-    rx806_cur."!cursor_debug"("FAIL  ", "quote:sym<qq>")
-    .return (rx806_cur)
+  rx820_done:
+    rx820_cur."!cursor_fail"()
+    rx820_cur."!cursor_debug"("FAIL  ", "quote:sym<qq>")
+    .return (rx820_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__quote:sym<qq>"  :subid("192_1260829317.63188") :method
+.sub "!PREFIX__quote:sym<qq>"  :subid("196_1261019367.36172") :method
 .annotate "line", 4
-    $P808 = self."!PREFIX__!subrule"("", "qq")
-    new $P809, "ResizablePMCArray"
-    push $P809, $P808
-    .return ($P809)
+    $P822 = self."!PREFIX__!subrule"("", "qq")
+    new $P823, "ResizablePMCArray"
+    push $P823, $P822
+    .return ($P823)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "quote:sym<Q>"  :subid("193_1260829317.63188") :method :outer("11_1260829317.63188")
+.sub "quote:sym<Q>"  :subid("197_1261019367.36172") :method :outer("11_1261019367.36172")
 .annotate "line", 4
-    .local string rx812_tgt
-    .local int rx812_pos
-    .local int rx812_off
-    .local int rx812_eos
-    .local int rx812_rep
-    .local pmc rx812_cur
-    (rx812_cur, rx812_pos, rx812_tgt) = self."!cursor_start"()
-    rx812_cur."!cursor_debug"("START ", "quote:sym<Q>")
-    .lex unicode:"$\x{a2}", rx812_cur
+    .local string rx826_tgt
+    .local int rx826_pos
+    .local int rx826_off
+    .local int rx826_eos
+    .local int rx826_rep
+    .local pmc rx826_cur
+    (rx826_cur, rx826_pos, rx826_tgt) = self."!cursor_start"()
+    rx826_cur."!cursor_debug"("START ", "quote:sym<Q>")
+    .lex unicode:"$\x{a2}", rx826_cur
     .local pmc match
     .lex "$/", match
-    length rx812_eos, rx812_tgt
-    set rx812_off, 0
-    lt rx812_pos, 2, rx812_start
-    sub rx812_off, rx812_pos, 1
-    substr rx812_tgt, rx812_tgt, rx812_off
-  rx812_start:
+    length rx826_eos, rx826_tgt
+    set rx826_off, 0
+    lt rx826_pos, 2, rx826_start
+    sub rx826_off, rx826_pos, 1
+    substr rx826_tgt, rx826_tgt, rx826_off
+  rx826_start:
     $I10 = self.'from'()
-    ne $I10, -1, rxscan816_done
-    goto rxscan816_scan
-  rxscan816_loop:
-    ($P10) = rx812_cur."from"()
+    ne $I10, -1, rxscan830_done
+    goto rxscan830_scan
+  rxscan830_loop:
+    ($P10) = rx826_cur."from"()
     inc $P10
-    set rx812_pos, $P10
-    ge rx812_pos, rx812_eos, rxscan816_done
-  rxscan816_scan:
-    set_addr $I10, rxscan816_loop
-    rx812_cur."!mark_push"(0, rx812_pos, $I10)
-  rxscan816_done:
-.annotate "line", 384
+    set rx826_pos, $P10
+    ge rx826_pos, rx826_eos, rxscan830_done
+  rxscan830_scan:
+    set_addr $I10, rxscan830_loop
+    rx826_cur."!mark_push"(0, rx826_pos, $I10)
+  rxscan830_done:
+.annotate "line", 389
   # rx literal  "Q"
-    add $I11, rx812_pos, 1
-    gt $I11, rx812_eos, rx812_fail
-    sub $I11, rx812_pos, rx812_off
-    substr $S10, rx812_tgt, $I11, 1
-    ne $S10, "Q", rx812_fail
-    add rx812_pos, 1
+    add $I11, rx826_pos, 1
+    gt $I11, rx826_eos, rx826_fail
+    sub $I11, rx826_pos, rx826_off
+    substr $S10, rx826_tgt, $I11, 1
+    ne $S10, "Q", rx826_fail
+    add rx826_pos, 1
   # rx enumcharlist negate=1 zerowidth
-    ge rx812_pos, rx812_eos, rx812_fail
-    sub $I10, rx812_pos, rx812_off
-    substr $S10, rx812_tgt, $I10, 1
+    ge rx826_pos, rx826_eos, rx826_fail
+    sub $I10, rx826_pos, rx826_off
+    substr $S10, rx826_tgt, $I10, 1
     index $I11, "(", $S10
-    ge $I11, 0, rx812_fail
+    ge $I11, 0, rx826_fail
   # rx subrule "ws" subtype=method negate=
-    rx812_cur."!cursor_pos"(rx812_pos)
-    $P10 = rx812_cur."ws"()
-    unless $P10, rx812_fail
-    rx812_pos = $P10."pos"()
+    rx826_cur."!cursor_pos"(rx826_pos)
+    $P10 = rx826_cur."ws"()
+    unless $P10, rx826_fail
+    rx826_pos = $P10."pos"()
   # rx subrule "quote_EXPR" subtype=capture negate=
-    rx812_cur."!cursor_pos"(rx812_pos)
-    $P10 = rx812_cur."quote_EXPR"()
-    unless $P10, rx812_fail
-    rx812_cur."!mark_push"(0, -1, 0, $P10)
+    rx826_cur."!cursor_pos"(rx826_pos)
+    $P10 = rx826_cur."quote_EXPR"()
+    unless $P10, rx826_fail
+    rx826_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("quote_EXPR")
-    rx812_pos = $P10."pos"()
+    rx826_pos = $P10."pos"()
   # rx pass
-    rx812_cur."!cursor_pass"(rx812_pos, "quote:sym<Q>")
-    rx812_cur."!cursor_debug"("PASS  ", "quote:sym<Q>", " at pos=", rx812_pos)
-    .return (rx812_cur)
-  rx812_fail:
+    rx826_cur."!cursor_pass"(rx826_pos, "quote:sym<Q>")
+    rx826_cur."!cursor_debug"("PASS  ", "quote:sym<Q>", " at pos=", rx826_pos)
+    .return (rx826_cur)
+  rx826_fail:
 .annotate "line", 4
-    (rx812_rep, rx812_pos, $I10, $P10) = rx812_cur."!mark_fail"(0)
-    lt rx812_pos, -1, rx812_done
-    eq rx812_pos, -1, rx812_fail
+    (rx826_rep, rx826_pos, $I10, $P10) = rx826_cur."!mark_fail"(0)
+    lt rx826_pos, -1, rx826_done
+    eq rx826_pos, -1, rx826_fail
     jump $I10
-  rx812_done:
-    rx812_cur."!cursor_fail"()
-    rx812_cur."!cursor_debug"("FAIL  ", "quote:sym<Q>")
-    .return (rx812_cur)
+  rx826_done:
+    rx826_cur."!cursor_fail"()
+    rx826_cur."!cursor_debug"("FAIL  ", "quote:sym<Q>")
+    .return (rx826_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__quote:sym<Q>"  :subid("194_1260829317.63188") :method
+.sub "!PREFIX__quote:sym<Q>"  :subid("198_1261019367.36172") :method
 .annotate "line", 4
-    $P814 = self."!PREFIX__!subrule"("", "Q")
-    new $P815, "ResizablePMCArray"
-    push $P815, $P814
-    .return ($P815)
+    $P828 = self."!PREFIX__!subrule"("", "Q")
+    new $P829, "ResizablePMCArray"
+    push $P829, $P828
+    .return ($P829)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "quote:sym<Q:PIR>"  :subid("195_1260829317.63188") :method :outer("11_1260829317.63188")
+.sub "quote:sym<Q:PIR>"  :subid("199_1261019367.36172") :method :outer("11_1261019367.36172")
 .annotate "line", 4
-    .local string rx818_tgt
-    .local int rx818_pos
-    .local int rx818_off
-    .local int rx818_eos
-    .local int rx818_rep
-    .local pmc rx818_cur
-    (rx818_cur, rx818_pos, rx818_tgt) = self."!cursor_start"()
-    rx818_cur."!cursor_debug"("START ", "quote:sym<Q:PIR>")
-    .lex unicode:"$\x{a2}", rx818_cur
+    .local string rx832_tgt
+    .local int rx832_pos
+    .local int rx832_off
+    .local int rx832_eos
+    .local int rx832_rep
+    .local pmc rx832_cur
+    (rx832_cur, rx832_pos, rx832_tgt) = self."!cursor_start"()
+    rx832_cur."!cursor_debug"("START ", "quote:sym<Q:PIR>")
+    .lex unicode:"$\x{a2}", rx832_cur
     .local pmc match
     .lex "$/", match
-    length rx818_eos, rx818_tgt
-    set rx818_off, 0
-    lt rx818_pos, 2, rx818_start
-    sub rx818_off, rx818_pos, 1
-    substr rx818_tgt, rx818_tgt, rx818_off
-  rx818_start:
+    length rx832_eos, rx832_tgt
+    set rx832_off, 0
+    lt rx832_pos, 2, rx832_start
+    sub rx832_off, rx832_pos, 1
+    substr rx832_tgt, rx832_tgt, rx832_off
+  rx832_start:
     $I10 = self.'from'()
-    ne $I10, -1, rxscan822_done
-    goto rxscan822_scan
-  rxscan822_loop:
-    ($P10) = rx818_cur."from"()
+    ne $I10, -1, rxscan836_done
+    goto rxscan836_scan
+  rxscan836_loop:
+    ($P10) = rx832_cur."from"()
     inc $P10
-    set rx818_pos, $P10
-    ge rx818_pos, rx818_eos, rxscan822_done
-  rxscan822_scan:
-    set_addr $I10, rxscan822_loop
-    rx818_cur."!mark_push"(0, rx818_pos, $I10)
-  rxscan822_done:
-.annotate "line", 385
+    set rx832_pos, $P10
+    ge rx832_pos, rx832_eos, rxscan836_done
+  rxscan836_scan:
+    set_addr $I10, rxscan836_loop
+    rx832_cur."!mark_push"(0, rx832_pos, $I10)
+  rxscan836_done:
+.annotate "line", 390
   # rx literal  "Q:PIR"
-    add $I11, rx818_pos, 5
-    gt $I11, rx818_eos, rx818_fail
-    sub $I11, rx818_pos, rx818_off
-    substr $S10, rx818_tgt, $I11, 5
-    ne $S10, "Q:PIR", rx818_fail
-    add rx818_pos, 5
-  # rx subrule "ws" subtype=method negate=
-    rx818_cur."!cursor_pos"(rx818_pos)
-    $P10 = rx818_cur."ws"()
-    unless $P10, rx818_fail
-    rx818_pos = $P10."pos"()
+    add $I11, rx832_pos, 5
+    gt $I11, rx832_eos, rx832_fail
+    sub $I11, rx832_pos, rx832_off
+    substr $S10, rx832_tgt, $I11, 5
+    ne $S10, "Q:PIR", rx832_fail
+    add rx832_pos, 5
+  # rx subrule "ws" subtype=method negate=
+    rx832_cur."!cursor_pos"(rx832_pos)
+    $P10 = rx832_cur."ws"()
+    unless $P10, rx832_fail
+    rx832_pos = $P10."pos"()
   # rx subrule "quote_EXPR" subtype=capture negate=
-    rx818_cur."!cursor_pos"(rx818_pos)
-    $P10 = rx818_cur."quote_EXPR"()
-    unless $P10, rx818_fail
-    rx818_cur."!mark_push"(0, -1, 0, $P10)
+    rx832_cur."!cursor_pos"(rx832_pos)
+    $P10 = rx832_cur."quote_EXPR"()
+    unless $P10, rx832_fail
+    rx832_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("quote_EXPR")
-    rx818_pos = $P10."pos"()
+    rx832_pos = $P10."pos"()
   # rx pass
-    rx818_cur."!cursor_pass"(rx818_pos, "quote:sym<Q:PIR>")
-    rx818_cur."!cursor_debug"("PASS  ", "quote:sym<Q:PIR>", " at pos=", rx818_pos)
-    .return (rx818_cur)
-  rx818_fail:
+    rx832_cur."!cursor_pass"(rx832_pos, "quote:sym<Q:PIR>")
+    rx832_cur."!cursor_debug"("PASS  ", "quote:sym<Q:PIR>", " at pos=", rx832_pos)
+    .return (rx832_cur)
+  rx832_fail:
 .annotate "line", 4
-    (rx818_rep, rx818_pos, $I10, $P10) = rx818_cur."!mark_fail"(0)
-    lt rx818_pos, -1, rx818_done
-    eq rx818_pos, -1, rx818_fail
+    (rx832_rep, rx832_pos, $I10, $P10) = rx832_cur."!mark_fail"(0)
+    lt rx832_pos, -1, rx832_done
+    eq rx832_pos, -1, rx832_fail
     jump $I10
-  rx818_done:
-    rx818_cur."!cursor_fail"()
-    rx818_cur."!cursor_debug"("FAIL  ", "quote:sym<Q:PIR>")
-    .return (rx818_cur)
+  rx832_done:
+    rx832_cur."!cursor_fail"()
+    rx832_cur."!cursor_debug"("FAIL  ", "quote:sym<Q:PIR>")
+    .return (rx832_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__quote:sym<Q:PIR>"  :subid("196_1260829317.63188") :method
+.sub "!PREFIX__quote:sym<Q:PIR>"  :subid("200_1261019367.36172") :method
 .annotate "line", 4
-    $P820 = self."!PREFIX__!subrule"("", "Q:PIR")
-    new $P821, "ResizablePMCArray"
-    push $P821, $P820
-    .return ($P821)
+    $P834 = self."!PREFIX__!subrule"("", "Q:PIR")
+    new $P835, "ResizablePMCArray"
+    push $P835, $P834
+    .return ($P835)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "quote:sym</ />"  :subid("197_1260829317.63188") :method :outer("11_1260829317.63188")
+.sub "quote:sym</ />"  :subid("201_1261019367.36172") :method :outer("11_1261019367.36172")
 .annotate "line", 4
-    .local string rx824_tgt
-    .local int rx824_pos
-    .local int rx824_off
-    .local int rx824_eos
-    .local int rx824_rep
-    .local pmc rx824_cur
-    (rx824_cur, rx824_pos, rx824_tgt) = self."!cursor_start"()
-    rx824_cur."!cursor_debug"("START ", "quote:sym</ />")
-    .lex unicode:"$\x{a2}", rx824_cur
+    .local string rx838_tgt
+    .local int rx838_pos
+    .local int rx838_off
+    .local int rx838_eos
+    .local int rx838_rep
+    .local pmc rx838_cur
+    (rx838_cur, rx838_pos, rx838_tgt) = self."!cursor_start"()
+    rx838_cur."!cursor_debug"("START ", "quote:sym</ />")
+    .lex unicode:"$\x{a2}", rx838_cur
     .local pmc match
     .lex "$/", match
-    length rx824_eos, rx824_tgt
-    set rx824_off, 0
-    lt rx824_pos, 2, rx824_start
-    sub rx824_off, rx824_pos, 1
-    substr rx824_tgt, rx824_tgt, rx824_off
-  rx824_start:
+    length rx838_eos, rx838_tgt
+    set rx838_off, 0
+    lt rx838_pos, 2, rx838_start
+    sub rx838_off, rx838_pos, 1
+    substr rx838_tgt, rx838_tgt, rx838_off
+  rx838_start:
     $I10 = self.'from'()
-    ne $I10, -1, rxscan828_done
-    goto rxscan828_scan
-  rxscan828_loop:
-    ($P10) = rx824_cur."from"()
+    ne $I10, -1, rxscan842_done
+    goto rxscan842_scan
+  rxscan842_loop:
+    ($P10) = rx838_cur."from"()
     inc $P10
-    set rx824_pos, $P10
-    ge rx824_pos, rx824_eos, rxscan828_done
-  rxscan828_scan:
-    set_addr $I10, rxscan828_loop
-    rx824_cur."!mark_push"(0, rx824_pos, $I10)
-  rxscan828_done:
-.annotate "line", 387
+    set rx838_pos, $P10
+    ge rx838_pos, rx838_eos, rxscan842_done
+  rxscan842_scan:
+    set_addr $I10, rxscan842_loop
+    rx838_cur."!mark_push"(0, rx838_pos, $I10)
+  rxscan842_done:
+.annotate "line", 392
   # rx literal  "/"
-    add $I11, rx824_pos, 1
-    gt $I11, rx824_eos, rx824_fail
-    sub $I11, rx824_pos, rx824_off
-    substr $S10, rx824_tgt, $I11, 1
-    ne $S10, "/", rx824_fail
-    add rx824_pos, 1
-.annotate "line", 388
+    add $I11, rx838_pos, 1
+    gt $I11, rx838_eos, rx838_fail
+    sub $I11, rx838_pos, rx838_off
+    substr $S10, rx838_tgt, $I11, 1
+    ne $S10, "/", rx838_fail
+    add rx838_pos, 1
+.annotate "line", 393
   # rx subrule "newpad" subtype=method negate=
-    rx824_cur."!cursor_pos"(rx824_pos)
-    $P10 = rx824_cur."newpad"()
-    unless $P10, rx824_fail
-    rx824_pos = $P10."pos"()
-.annotate "line", 389
+    rx838_cur."!cursor_pos"(rx838_pos)
+    $P10 = rx838_cur."newpad"()
+    unless $P10, rx838_fail
+    rx838_pos = $P10."pos"()
+.annotate "line", 394
   # rx reduce name="quote:sym</ />" key="open"
-    rx824_cur."!cursor_pos"(rx824_pos)
-    rx824_cur."!reduce"("quote:sym</ />", "open")
-.annotate "line", 390
+    rx838_cur."!cursor_pos"(rx838_pos)
+    rx838_cur."!reduce"("quote:sym</ />", "open")
+.annotate "line", 395
   # rx subrule "LANG" subtype=capture negate=
-    rx824_cur."!cursor_pos"(rx824_pos)
-    $P10 = rx824_cur."LANG"("Regex", "nibbler")
-    unless $P10, rx824_fail
-    rx824_cur."!mark_push"(0, -1, 0, $P10)
+    rx838_cur."!cursor_pos"(rx838_pos)
+    $P10 = rx838_cur."LANG"("Regex", "nibbler")
+    unless $P10, rx838_fail
+    rx838_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("p6regex")
-    rx824_pos = $P10."pos"()
-.annotate "line", 391
+    rx838_pos = $P10."pos"()
+.annotate "line", 396
   # rx literal  "/"
-    add $I11, rx824_pos, 1
-    gt $I11, rx824_eos, rx824_fail
-    sub $I11, rx824_pos, rx824_off
-    substr $S10, rx824_tgt, $I11, 1
-    ne $S10, "/", rx824_fail
-    add rx824_pos, 1
-.annotate "line", 386
+    add $I11, rx838_pos, 1
+    gt $I11, rx838_eos, rx838_fail
+    sub $I11, rx838_pos, rx838_off
+    substr $S10, rx838_tgt, $I11, 1
+    ne $S10, "/", rx838_fail
+    add rx838_pos, 1
+.annotate "line", 391
   # rx pass
-    rx824_cur."!cursor_pass"(rx824_pos, "quote:sym</ />")
-    rx824_cur."!cursor_debug"("PASS  ", "quote:sym</ />", " at pos=", rx824_pos)
-    .return (rx824_cur)
-  rx824_fail:
+    rx838_cur."!cursor_pass"(rx838_pos, "quote:sym</ />")
+    rx838_cur."!cursor_debug"("PASS  ", "quote:sym</ />", " at pos=", rx838_pos)
+    .return (rx838_cur)
+  rx838_fail:
 .annotate "line", 4
-    (rx824_rep, rx824_pos, $I10, $P10) = rx824_cur."!mark_fail"(0)
-    lt rx824_pos, -1, rx824_done
-    eq rx824_pos, -1, rx824_fail
+    (rx838_rep, rx838_pos, $I10, $P10) = rx838_cur."!mark_fail"(0)
+    lt rx838_pos, -1, rx838_done
+    eq rx838_pos, -1, rx838_fail
     jump $I10
-  rx824_done:
-    rx824_cur."!cursor_fail"()
-    rx824_cur."!cursor_debug"("FAIL  ", "quote:sym</ />")
-    .return (rx824_cur)
+  rx838_done:
+    rx838_cur."!cursor_fail"()
+    rx838_cur."!cursor_debug"("FAIL  ", "quote:sym</ />")
+    .return (rx838_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__quote:sym</ />"  :subid("198_1260829317.63188") :method
+.sub "!PREFIX__quote:sym</ />"  :subid("202_1261019367.36172") :method
 .annotate "line", 4
-    $P826 = self."!PREFIX__!subrule"("", "/")
-    new $P827, "ResizablePMCArray"
-    push $P827, $P826
-    .return ($P827)
+    $P840 = self."!PREFIX__!subrule"("", "/")
+    new $P841, "ResizablePMCArray"
+    push $P841, $P840
+    .return ($P841)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "quote_escape:sym<$>"  :subid("199_1260829317.63188") :method :outer("11_1260829317.63188")
+.sub "quote_escape:sym<$>"  :subid("203_1261019367.36172") :method :outer("11_1261019367.36172")
 .annotate "line", 4
-    .local string rx830_tgt
-    .local int rx830_pos
-    .local int rx830_off
-    .local int rx830_eos
-    .local int rx830_rep
-    .local pmc rx830_cur
-    (rx830_cur, rx830_pos, rx830_tgt) = self."!cursor_start"()
-    rx830_cur."!cursor_debug"("START ", "quote_escape:sym<$>")
-    .lex unicode:"$\x{a2}", rx830_cur
-    .local pmc match
-    .lex "$/", match
-    length rx830_eos, rx830_tgt
-    set rx830_off, 0
-    lt rx830_pos, 2, rx830_start
-    sub rx830_off, rx830_pos, 1
-    substr rx830_tgt, rx830_tgt, rx830_off
-  rx830_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan833_done
-    goto rxscan833_scan
-  rxscan833_loop:
-    ($P10) = rx830_cur."from"()
-    inc $P10
-    set rx830_pos, $P10
-    ge rx830_pos, rx830_eos, rxscan833_done
-  rxscan833_scan:
-    set_addr $I10, rxscan833_loop
-    rx830_cur."!mark_push"(0, rx830_pos, $I10)
-  rxscan833_done:
-.annotate "line", 394
+    .local string rx844_tgt
+    .local int rx844_pos
+    .local int rx844_off
+    .local int rx844_eos
+    .local int rx844_rep
+    .local pmc rx844_cur
+    (rx844_cur, rx844_pos, rx844_tgt) = self."!cursor_start"()
+    rx844_cur."!cursor_debug"("START ", "quote_escape:sym<$>")
+    .lex unicode:"$\x{a2}", rx844_cur
+    .local pmc match
+    .lex "$/", match
+    length rx844_eos, rx844_tgt
+    set rx844_off, 0
+    lt rx844_pos, 2, rx844_start
+    sub rx844_off, rx844_pos, 1
+    substr rx844_tgt, rx844_tgt, rx844_off
+  rx844_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan847_done
+    goto rxscan847_scan
+  rxscan847_loop:
+    ($P10) = rx844_cur."from"()
+    inc $P10
+    set rx844_pos, $P10
+    ge rx844_pos, rx844_eos, rxscan847_done
+  rxscan847_scan:
+    set_addr $I10, rxscan847_loop
+    rx844_cur."!mark_push"(0, rx844_pos, $I10)
+  rxscan847_done:
+.annotate "line", 399
   # rx enumcharlist negate=0 zerowidth
-    ge rx830_pos, rx830_eos, rx830_fail
-    sub $I10, rx830_pos, rx830_off
-    substr $S10, rx830_tgt, $I10, 1
+    ge rx844_pos, rx844_eos, rx844_fail
+    sub $I10, rx844_pos, rx844_off
+    substr $S10, rx844_tgt, $I10, 1
     index $I11, "$", $S10
-    lt $I11, 0, rx830_fail
+    lt $I11, 0, rx844_fail
   # rx subrule "quotemod_check" subtype=zerowidth negate=
-    rx830_cur."!cursor_pos"(rx830_pos)
-    $P10 = rx830_cur."quotemod_check"("s")
-    unless $P10, rx830_fail
+    rx844_cur."!cursor_pos"(rx844_pos)
+    $P10 = rx844_cur."quotemod_check"("s")
+    unless $P10, rx844_fail
   # rx subrule "variable" subtype=capture negate=
-    rx830_cur."!cursor_pos"(rx830_pos)
-    $P10 = rx830_cur."variable"()
-    unless $P10, rx830_fail
-    rx830_cur."!mark_push"(0, -1, 0, $P10)
+    rx844_cur."!cursor_pos"(rx844_pos)
+    $P10 = rx844_cur."variable"()
+    unless $P10, rx844_fail
+    rx844_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("variable")
-    rx830_pos = $P10."pos"()
+    rx844_pos = $P10."pos"()
   # rx pass
-    rx830_cur."!cursor_pass"(rx830_pos, "quote_escape:sym<$>")
-    rx830_cur."!cursor_debug"("PASS  ", "quote_escape:sym<$>", " at pos=", rx830_pos)
-    .return (rx830_cur)
-  rx830_fail:
+    rx844_cur."!cursor_pass"(rx844_pos, "quote_escape:sym<$>")
+    rx844_cur."!cursor_debug"("PASS  ", "quote_escape:sym<$>", " at pos=", rx844_pos)
+    .return (rx844_cur)
+  rx844_fail:
 .annotate "line", 4
-    (rx830_rep, rx830_pos, $I10, $P10) = rx830_cur."!mark_fail"(0)
-    lt rx830_pos, -1, rx830_done
-    eq rx830_pos, -1, rx830_fail
+    (rx844_rep, rx844_pos, $I10, $P10) = rx844_cur."!mark_fail"(0)
+    lt rx844_pos, -1, rx844_done
+    eq rx844_pos, -1, rx844_fail
     jump $I10
-  rx830_done:
-    rx830_cur."!cursor_fail"()
-    rx830_cur."!cursor_debug"("FAIL  ", "quote_escape:sym<$>")
-    .return (rx830_cur)
+  rx844_done:
+    rx844_cur."!cursor_fail"()
+    rx844_cur."!cursor_debug"("FAIL  ", "quote_escape:sym<$>")
+    .return (rx844_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__quote_escape:sym<$>"  :subid("200_1260829317.63188") :method
+.sub "!PREFIX__quote_escape:sym<$>"  :subid("204_1261019367.36172") :method
 .annotate "line", 4
-    new $P832, "ResizablePMCArray"
-    push $P832, "$"
-    .return ($P832)
+    new $P846, "ResizablePMCArray"
+    push $P846, "$"
+    .return ($P846)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "quote_escape:sym<{ }>"  :subid("201_1260829317.63188") :method :outer("11_1260829317.63188")
+.sub "quote_escape:sym<{ }>"  :subid("205_1261019367.36172") :method :outer("11_1261019367.36172")
 .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 ", "quote_escape:sym<{ }>")
-    .lex unicode:"$\x{a2}", rx835_cur
+    .local string rx849_tgt
+    .local int rx849_pos
+    .local int rx849_off
+    .local int rx849_eos
+    .local int rx849_rep
+    .local pmc rx849_cur
+    (rx849_cur, rx849_pos, rx849_tgt) = self."!cursor_start"()
+    rx849_cur."!cursor_debug"("START ", "quote_escape:sym<{ }>")
+    .lex unicode:"$\x{a2}", rx849_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 rx849_eos, rx849_tgt
+    set rx849_off, 0
+    lt rx849_pos, 2, rx849_start
+    sub rx849_off, rx849_pos, 1
+    substr rx849_tgt, rx849_tgt, rx849_off
+  rx849_start:
     $I10 = self.'from'()
-    ne $I10, -1, rxscan838_done
-    goto rxscan838_scan
-  rxscan838_loop:
-    ($P10) = rx835_cur."from"()
+    ne $I10, -1, rxscan852_done
+    goto rxscan852_scan
+  rxscan852_loop:
+    ($P10) = rx849_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", 395
+    set rx849_pos, $P10
+    ge rx849_pos, rx849_eos, rxscan852_done
+  rxscan852_scan:
+    set_addr $I10, rxscan852_loop
+    rx849_cur."!mark_push"(0, rx849_pos, $I10)
+  rxscan852_done:
+.annotate "line", 400
   # rx enumcharlist negate=0 zerowidth
-    ge rx835_pos, rx835_eos, rx835_fail
-    sub $I10, rx835_pos, rx835_off
-    substr $S10, rx835_tgt, $I10, 1
+    ge rx849_pos, rx849_eos, rx849_fail
+    sub $I10, rx849_pos, rx849_off
+    substr $S10, rx849_tgt, $I10, 1
     index $I11, "{", $S10
-    lt $I11, 0, rx835_fail
+    lt $I11, 0, rx849_fail
   # rx subrule "quotemod_check" subtype=zerowidth negate=
-    rx835_cur."!cursor_pos"(rx835_pos)
-    $P10 = rx835_cur."quotemod_check"("c")
-    unless $P10, rx835_fail
+    rx849_cur."!cursor_pos"(rx849_pos)
+    $P10 = rx849_cur."quotemod_check"("c")
+    unless $P10, rx849_fail
   # rx subrule "block" subtype=capture negate=
-    rx835_cur."!cursor_pos"(rx835_pos)
-    $P10 = rx835_cur."block"()
-    unless $P10, rx835_fail
-    rx835_cur."!mark_push"(0, -1, 0, $P10)
+    rx849_cur."!cursor_pos"(rx849_pos)
+    $P10 = rx849_cur."block"()
+    unless $P10, rx849_fail
+    rx849_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("block")
-    rx835_pos = $P10."pos"()
+    rx849_pos = $P10."pos"()
   # rx pass
-    rx835_cur."!cursor_pass"(rx835_pos, "quote_escape:sym<{ }>")
-    rx835_cur."!cursor_debug"("PASS  ", "quote_escape:sym<{ }>", " at pos=", rx835_pos)
-    .return (rx835_cur)
-  rx835_fail:
+    rx849_cur."!cursor_pass"(rx849_pos, "quote_escape:sym<{ }>")
+    rx849_cur."!cursor_debug"("PASS  ", "quote_escape:sym<{ }>", " at pos=", rx849_pos)
+    .return (rx849_cur)
+  rx849_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
+    (rx849_rep, rx849_pos, $I10, $P10) = rx849_cur."!mark_fail"(0)
+    lt rx849_pos, -1, rx849_done
+    eq rx849_pos, -1, rx849_fail
     jump $I10
-  rx835_done:
-    rx835_cur."!cursor_fail"()
-    rx835_cur."!cursor_debug"("FAIL  ", "quote_escape:sym<{ }>")
-    .return (rx835_cur)
+  rx849_done:
+    rx849_cur."!cursor_fail"()
+    rx849_cur."!cursor_debug"("FAIL  ", "quote_escape:sym<{ }>")
+    .return (rx849_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__quote_escape:sym<{ }>"  :subid("202_1260829317.63188") :method
+.sub "!PREFIX__quote_escape:sym<{ }>"  :subid("206_1261019367.36172") :method
 .annotate "line", 4
-    new $P837, "ResizablePMCArray"
-    push $P837, "{"
-    .return ($P837)
+    new $P851, "ResizablePMCArray"
+    push $P851, "{"
+    .return ($P851)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "circumfix:sym<( )>"  :subid("203_1260829317.63188") :method :outer("11_1260829317.63188")
+.sub "circumfix:sym<( )>"  :subid("207_1261019367.36172") :method :outer("11_1261019367.36172")
 .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<( )>")
-    rx840_cur."!cursor_caparray"("EXPR")
-    .lex unicode:"$\x{a2}", rx840_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:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan844_done
-    goto rxscan844_scan
-  rxscan844_loop:
-    ($P10) = rx840_cur."from"()
-    inc $P10
-    set rx840_pos, $P10
-    ge rx840_pos, rx840_eos, rxscan844_done
-  rxscan844_scan:
-    set_addr $I10, rxscan844_loop
-    rx840_cur."!mark_push"(0, rx840_pos, $I10)
-  rxscan844_done:
-.annotate "line", 397
+    .local string rx854_tgt
+    .local int rx854_pos
+    .local int rx854_off
+    .local int rx854_eos
+    .local int rx854_rep
+    .local pmc rx854_cur
+    (rx854_cur, rx854_pos, rx854_tgt) = self."!cursor_start"()
+    rx854_cur."!cursor_debug"("START ", "circumfix:sym<( )>")
+    rx854_cur."!cursor_caparray"("EXPR")
+    .lex unicode:"$\x{a2}", rx854_cur
+    .local pmc match
+    .lex "$/", match
+    length rx854_eos, rx854_tgt
+    set rx854_off, 0
+    lt rx854_pos, 2, rx854_start
+    sub rx854_off, rx854_pos, 1
+    substr rx854_tgt, rx854_tgt, rx854_off
+  rx854_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan858_done
+    goto rxscan858_scan
+  rxscan858_loop:
+    ($P10) = rx854_cur."from"()
+    inc $P10
+    set rx854_pos, $P10
+    ge rx854_pos, rx854_eos, rxscan858_done
+  rxscan858_scan:
+    set_addr $I10, rxscan858_loop
+    rx854_cur."!mark_push"(0, rx854_pos, $I10)
+  rxscan858_done:
+.annotate "line", 402
   # rx literal  "("
-    add $I11, rx840_pos, 1
-    gt $I11, rx840_eos, rx840_fail
-    sub $I11, rx840_pos, rx840_off
-    substr $S10, rx840_tgt, $I11, 1
-    ne $S10, "(", rx840_fail
-    add rx840_pos, 1
-  # rx subrule "ws" subtype=method negate=
-    rx840_cur."!cursor_pos"(rx840_pos)
-    $P10 = rx840_cur."ws"()
-    unless $P10, rx840_fail
-    rx840_pos = $P10."pos"()
-  # rx rxquantr845 ** 0..1
-    set_addr $I846, rxquantr845_done
-    rx840_cur."!mark_push"(0, rx840_pos, $I846)
-  rxquantr845_loop:
+    add $I11, rx854_pos, 1
+    gt $I11, rx854_eos, rx854_fail
+    sub $I11, rx854_pos, rx854_off
+    substr $S10, rx854_tgt, $I11, 1
+    ne $S10, "(", rx854_fail
+    add rx854_pos, 1
+  # rx subrule "ws" subtype=method negate=
+    rx854_cur."!cursor_pos"(rx854_pos)
+    $P10 = rx854_cur."ws"()
+    unless $P10, rx854_fail
+    rx854_pos = $P10."pos"()
+  # rx rxquantr859 ** 0..1
+    set_addr $I860, rxquantr859_done
+    rx854_cur."!mark_push"(0, rx854_pos, $I860)
+  rxquantr859_loop:
   # rx subrule "EXPR" subtype=capture negate=
-    rx840_cur."!cursor_pos"(rx840_pos)
-    $P10 = rx840_cur."EXPR"()
-    unless $P10, rx840_fail
-    rx840_cur."!mark_push"(0, -1, 0, $P10)
+    rx854_cur."!cursor_pos"(rx854_pos)
+    $P10 = rx854_cur."EXPR"()
+    unless $P10, rx854_fail
+    rx854_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("EXPR")
-    rx840_pos = $P10."pos"()
-    (rx840_rep) = rx840_cur."!mark_commit"($I846)
-  rxquantr845_done:
+    rx854_pos = $P10."pos"()
+    (rx854_rep) = rx854_cur."!mark_commit"($I860)
+  rxquantr859_done:
   # rx literal  ")"
-    add $I11, rx840_pos, 1
-    gt $I11, rx840_eos, rx840_fail
-    sub $I11, rx840_pos, rx840_off
-    substr $S10, rx840_tgt, $I11, 1
-    ne $S10, ")", rx840_fail
-    add rx840_pos, 1
+    add $I11, rx854_pos, 1
+    gt $I11, rx854_eos, rx854_fail
+    sub $I11, rx854_pos, rx854_off
+    substr $S10, rx854_tgt, $I11, 1
+    ne $S10, ")", rx854_fail
+    add rx854_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:
+    rx854_cur."!cursor_pass"(rx854_pos, "circumfix:sym<( )>")
+    rx854_cur."!cursor_debug"("PASS  ", "circumfix:sym<( )>", " at pos=", rx854_pos)
+    .return (rx854_cur)
+  rx854_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
+    (rx854_rep, rx854_pos, $I10, $P10) = rx854_cur."!mark_fail"(0)
+    lt rx854_pos, -1, rx854_done
+    eq rx854_pos, -1, rx854_fail
     jump $I10
-  rx840_done:
-    rx840_cur."!cursor_fail"()
-    rx840_cur."!cursor_debug"("FAIL  ", "circumfix:sym<( )>")
-    .return (rx840_cur)
+  rx854_done:
+    rx854_cur."!cursor_fail"()
+    rx854_cur."!cursor_debug"("FAIL  ", "circumfix:sym<( )>")
+    .return (rx854_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__circumfix:sym<( )>"  :subid("204_1260829317.63188") :method
+.sub "!PREFIX__circumfix:sym<( )>"  :subid("208_1261019367.36172") :method
 .annotate "line", 4
-    $P842 = self."!PREFIX__!subrule"("", "(")
-    new $P843, "ResizablePMCArray"
-    push $P843, $P842
-    .return ($P843)
+    $P856 = self."!PREFIX__!subrule"("", "(")
+    new $P857, "ResizablePMCArray"
+    push $P857, $P856
+    .return ($P857)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "circumfix:sym<[ ]>"  :subid("205_1260829317.63188") :method :outer("11_1260829317.63188")
+.sub "circumfix:sym<[ ]>"  :subid("209_1261019367.36172") :method :outer("11_1261019367.36172")
 .annotate "line", 4
-    .local string rx848_tgt
-    .local int rx848_pos
-    .local int rx848_off
-    .local int rx848_eos
-    .local int rx848_rep
-    .local pmc rx848_cur
-    (rx848_cur, rx848_pos, rx848_tgt) = self."!cursor_start"()
-    rx848_cur."!cursor_debug"("START ", "circumfix:sym<[ ]>")
-    rx848_cur."!cursor_caparray"("EXPR")
-    .lex unicode:"$\x{a2}", rx848_cur
+    .local string rx862_tgt
+    .local int rx862_pos
+    .local int rx862_off
+    .local int rx862_eos
+    .local int rx862_rep
+    .local pmc rx862_cur
+    (rx862_cur, rx862_pos, rx862_tgt) = self."!cursor_start"()
+    rx862_cur."!cursor_debug"("START ", "circumfix:sym<[ ]>")
+    rx862_cur."!cursor_caparray"("EXPR")
+    .lex unicode:"$\x{a2}", rx862_cur
     .local pmc match
     .lex "$/", match
-    length rx848_eos, rx848_tgt
-    set rx848_off, 0
-    lt rx848_pos, 2, rx848_start
-    sub rx848_off, rx848_pos, 1
-    substr rx848_tgt, rx848_tgt, rx848_off
-  rx848_start:
+    length rx862_eos, rx862_tgt
+    set rx862_off, 0
+    lt rx862_pos, 2, rx862_start
+    sub rx862_off, rx862_pos, 1
+    substr rx862_tgt, rx862_tgt, rx862_off
+  rx862_start:
     $I10 = self.'from'()
-    ne $I10, -1, rxscan852_done
-    goto rxscan852_scan
-  rxscan852_loop:
-    ($P10) = rx848_cur."from"()
+    ne $I10, -1, rxscan866_done
+    goto rxscan866_scan
+  rxscan866_loop:
+    ($P10) = rx862_cur."from"()
     inc $P10
-    set rx848_pos, $P10
-    ge rx848_pos, rx848_eos, rxscan852_done
-  rxscan852_scan:
-    set_addr $I10, rxscan852_loop
-    rx848_cur."!mark_push"(0, rx848_pos, $I10)
-  rxscan852_done:
-.annotate "line", 398
+    set rx862_pos, $P10
+    ge rx862_pos, rx862_eos, rxscan866_done
+  rxscan866_scan:
+    set_addr $I10, rxscan866_loop
+    rx862_cur."!mark_push"(0, rx862_pos, $I10)
+  rxscan866_done:
+.annotate "line", 403
   # rx literal  "["
-    add $I11, rx848_pos, 1
-    gt $I11, rx848_eos, rx848_fail
-    sub $I11, rx848_pos, rx848_off
-    substr $S10, rx848_tgt, $I11, 1
-    ne $S10, "[", rx848_fail
-    add rx848_pos, 1
-  # rx subrule "ws" subtype=method negate=
-    rx848_cur."!cursor_pos"(rx848_pos)
-    $P10 = rx848_cur."ws"()
-    unless $P10, rx848_fail
-    rx848_pos = $P10."pos"()
-  # rx rxquantr853 ** 0..1
-    set_addr $I854, rxquantr853_done
-    rx848_cur."!mark_push"(0, rx848_pos, $I854)
-  rxquantr853_loop:
+    add $I11, rx862_pos, 1
+    gt $I11, rx862_eos, rx862_fail
+    sub $I11, rx862_pos, rx862_off
+    substr $S10, rx862_tgt, $I11, 1
+    ne $S10, "[", rx862_fail
+    add rx862_pos, 1
+  # rx subrule "ws" subtype=method negate=
+    rx862_cur."!cursor_pos"(rx862_pos)
+    $P10 = rx862_cur."ws"()
+    unless $P10, rx862_fail
+    rx862_pos = $P10."pos"()
+  # rx rxquantr867 ** 0..1
+    set_addr $I868, rxquantr867_done
+    rx862_cur."!mark_push"(0, rx862_pos, $I868)
+  rxquantr867_loop:
   # rx subrule "EXPR" subtype=capture negate=
-    rx848_cur."!cursor_pos"(rx848_pos)
-    $P10 = rx848_cur."EXPR"()
-    unless $P10, rx848_fail
-    rx848_cur."!mark_push"(0, -1, 0, $P10)
+    rx862_cur."!cursor_pos"(rx862_pos)
+    $P10 = rx862_cur."EXPR"()
+    unless $P10, rx862_fail
+    rx862_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("EXPR")
-    rx848_pos = $P10."pos"()
-    (rx848_rep) = rx848_cur."!mark_commit"($I854)
-  rxquantr853_done:
+    rx862_pos = $P10."pos"()
+    (rx862_rep) = rx862_cur."!mark_commit"($I868)
+  rxquantr867_done:
   # rx literal  "]"
-    add $I11, rx848_pos, 1
-    gt $I11, rx848_eos, rx848_fail
-    sub $I11, rx848_pos, rx848_off
-    substr $S10, rx848_tgt, $I11, 1
-    ne $S10, "]", rx848_fail
-    add rx848_pos, 1
+    add $I11, rx862_pos, 1
+    gt $I11, rx862_eos, rx862_fail
+    sub $I11, rx862_pos, rx862_off
+    substr $S10, rx862_tgt, $I11, 1
+    ne $S10, "]", rx862_fail
+    add rx862_pos, 1
   # rx pass
-    rx848_cur."!cursor_pass"(rx848_pos, "circumfix:sym<[ ]>")
-    rx848_cur."!cursor_debug"("PASS  ", "circumfix:sym<[ ]>", " at pos=", rx848_pos)
-    .return (rx848_cur)
-  rx848_fail:
+    rx862_cur."!cursor_pass"(rx862_pos, "circumfix:sym<[ ]>")
+    rx862_cur."!cursor_debug"("PASS  ", "circumfix:sym<[ ]>", " at pos=", rx862_pos)
+    .return (rx862_cur)
+  rx862_fail:
 .annotate "line", 4
-    (rx848_rep, rx848_pos, $I10, $P10) = rx848_cur."!mark_fail"(0)
-    lt rx848_pos, -1, rx848_done
-    eq rx848_pos, -1, rx848_fail
+    (rx862_rep, rx862_pos, $I10, $P10) = rx862_cur."!mark_fail"(0)
+    lt rx862_pos, -1, rx862_done
+    eq rx862_pos, -1, rx862_fail
     jump $I10
-  rx848_done:
-    rx848_cur."!cursor_fail"()
-    rx848_cur."!cursor_debug"("FAIL  ", "circumfix:sym<[ ]>")
-    .return (rx848_cur)
+  rx862_done:
+    rx862_cur."!cursor_fail"()
+    rx862_cur."!cursor_debug"("FAIL  ", "circumfix:sym<[ ]>")
+    .return (rx862_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__circumfix:sym<[ ]>"  :subid("206_1260829317.63188") :method
+.sub "!PREFIX__circumfix:sym<[ ]>"  :subid("210_1261019367.36172") :method
 .annotate "line", 4
-    $P850 = self."!PREFIX__!subrule"("", "[")
-    new $P851, "ResizablePMCArray"
-    push $P851, $P850
-    .return ($P851)
+    $P864 = self."!PREFIX__!subrule"("", "[")
+    new $P865, "ResizablePMCArray"
+    push $P865, $P864
+    .return ($P865)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "circumfix:sym<ang>"  :subid("207_1260829317.63188") :method :outer("11_1260829317.63188")
+.sub "circumfix:sym<ang>"  :subid("211_1261019367.36172") :method :outer("11_1261019367.36172")
 .annotate "line", 4
-    .local string rx856_tgt
-    .local int rx856_pos
-    .local int rx856_off
-    .local int rx856_eos
-    .local int rx856_rep
-    .local pmc rx856_cur
-    (rx856_cur, rx856_pos, rx856_tgt) = self."!cursor_start"()
-    rx856_cur."!cursor_debug"("START ", "circumfix:sym<ang>")
-    .lex unicode:"$\x{a2}", rx856_cur
-    .local pmc match
-    .lex "$/", match
-    length rx856_eos, rx856_tgt
-    set rx856_off, 0
-    lt rx856_pos, 2, rx856_start
-    sub rx856_off, rx856_pos, 1
-    substr rx856_tgt, rx856_tgt, rx856_off
-  rx856_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan859_done
-    goto rxscan859_scan
-  rxscan859_loop:
-    ($P10) = rx856_cur."from"()
-    inc $P10
-    set rx856_pos, $P10
-    ge rx856_pos, rx856_eos, rxscan859_done
-  rxscan859_scan:
-    set_addr $I10, rxscan859_loop
-    rx856_cur."!mark_push"(0, rx856_pos, $I10)
-  rxscan859_done:
-.annotate "line", 399
+    .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 ", "circumfix:sym<ang>")
+    .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, rxscan873_done
+    goto rxscan873_scan
+  rxscan873_loop:
+    ($P10) = rx870_cur."from"()
+    inc $P10
+    set rx870_pos, $P10
+    ge rx870_pos, rx870_eos, rxscan873_done
+  rxscan873_scan:
+    set_addr $I10, rxscan873_loop
+    rx870_cur."!mark_push"(0, rx870_pos, $I10)
+  rxscan873_done:
+.annotate "line", 404
   # rx enumcharlist negate=0 zerowidth
-    ge rx856_pos, rx856_eos, rx856_fail
-    sub $I10, rx856_pos, rx856_off
-    substr $S10, rx856_tgt, $I10, 1
+    ge rx870_pos, rx870_eos, rx870_fail
+    sub $I10, rx870_pos, rx870_off
+    substr $S10, rx870_tgt, $I10, 1
     index $I11, "<", $S10
-    lt $I11, 0, rx856_fail
+    lt $I11, 0, rx870_fail
   # rx subrule "quote_EXPR" subtype=capture negate=
-    rx856_cur."!cursor_pos"(rx856_pos)
-    $P10 = rx856_cur."quote_EXPR"(":q", ":w")
-    unless $P10, rx856_fail
-    rx856_cur."!mark_push"(0, -1, 0, $P10)
+    rx870_cur."!cursor_pos"(rx870_pos)
+    $P10 = rx870_cur."quote_EXPR"(":q", ":w")
+    unless $P10, rx870_fail
+    rx870_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("quote_EXPR")
-    rx856_pos = $P10."pos"()
+    rx870_pos = $P10."pos"()
   # rx pass
-    rx856_cur."!cursor_pass"(rx856_pos, "circumfix:sym<ang>")
-    rx856_cur."!cursor_debug"("PASS  ", "circumfix:sym<ang>", " at pos=", rx856_pos)
-    .return (rx856_cur)
-  rx856_fail:
+    rx870_cur."!cursor_pass"(rx870_pos, "circumfix:sym<ang>")
+    rx870_cur."!cursor_debug"("PASS  ", "circumfix:sym<ang>", " at pos=", rx870_pos)
+    .return (rx870_cur)
+  rx870_fail:
 .annotate "line", 4
-    (rx856_rep, rx856_pos, $I10, $P10) = rx856_cur."!mark_fail"(0)
-    lt rx856_pos, -1, rx856_done
-    eq rx856_pos, -1, rx856_fail
+    (rx870_rep, rx870_pos, $I10, $P10) = rx870_cur."!mark_fail"(0)
+    lt rx870_pos, -1, rx870_done
+    eq rx870_pos, -1, rx870_fail
     jump $I10
-  rx856_done:
-    rx856_cur."!cursor_fail"()
-    rx856_cur."!cursor_debug"("FAIL  ", "circumfix:sym<ang>")
-    .return (rx856_cur)
+  rx870_done:
+    rx870_cur."!cursor_fail"()
+    rx870_cur."!cursor_debug"("FAIL  ", "circumfix:sym<ang>")
+    .return (rx870_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__circumfix:sym<ang>"  :subid("208_1260829317.63188") :method
+.sub "!PREFIX__circumfix:sym<ang>"  :subid("212_1261019367.36172") :method
 .annotate "line", 4
-    new $P858, "ResizablePMCArray"
-    push $P858, "<"
-    .return ($P858)
+    new $P872, "ResizablePMCArray"
+    push $P872, "<"
+    .return ($P872)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub unicode:"circumfix:sym<\x{ab} \x{bb}>"  :subid("209_1260829317.63188") :method :outer("11_1260829317.63188")
+.sub unicode:"circumfix:sym<\x{ab} \x{bb}>"  :subid("213_1261019367.36172") :method :outer("11_1261019367.36172")
 .annotate "line", 4
-    .local string rx861_tgt
-    .local int rx861_pos
-    .local int rx861_off
-    .local int rx861_eos
-    .local int rx861_rep
-    .local pmc rx861_cur
-    (rx861_cur, rx861_pos, rx861_tgt) = self."!cursor_start"()
-    rx861_cur."!cursor_debug"("START ", unicode:"circumfix:sym<\x{ab} \x{bb}>")
-    .lex unicode:"$\x{a2}", rx861_cur
-    .local pmc match
-    .lex "$/", match
-    length rx861_eos, rx861_tgt
-    set rx861_off, 0
-    lt rx861_pos, 2, rx861_start
-    sub rx861_off, rx861_pos, 1
-    substr rx861_tgt, rx861_tgt, rx861_off
-  rx861_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan864_done
-    goto rxscan864_scan
-  rxscan864_loop:
-    ($P10) = rx861_cur."from"()
-    inc $P10
-    set rx861_pos, $P10
-    ge rx861_pos, rx861_eos, rxscan864_done
-  rxscan864_scan:
-    set_addr $I10, rxscan864_loop
-    rx861_cur."!mark_push"(0, rx861_pos, $I10)
-  rxscan864_done:
-.annotate "line", 400
+    .local string rx875_tgt
+    .local int rx875_pos
+    .local int rx875_off
+    .local int rx875_eos
+    .local int rx875_rep
+    .local pmc rx875_cur
+    (rx875_cur, rx875_pos, rx875_tgt) = self."!cursor_start"()
+    rx875_cur."!cursor_debug"("START ", unicode:"circumfix:sym<\x{ab} \x{bb}>")
+    .lex unicode:"$\x{a2}", rx875_cur
+    .local pmc match
+    .lex "$/", match
+    length rx875_eos, rx875_tgt
+    set rx875_off, 0
+    lt rx875_pos, 2, rx875_start
+    sub rx875_off, rx875_pos, 1
+    substr rx875_tgt, rx875_tgt, rx875_off
+  rx875_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan878_done
+    goto rxscan878_scan
+  rxscan878_loop:
+    ($P10) = rx875_cur."from"()
+    inc $P10
+    set rx875_pos, $P10
+    ge rx875_pos, rx875_eos, rxscan878_done
+  rxscan878_scan:
+    set_addr $I10, rxscan878_loop
+    rx875_cur."!mark_push"(0, rx875_pos, $I10)
+  rxscan878_done:
+.annotate "line", 405
   # rx enumcharlist negate=0 zerowidth
-    ge rx861_pos, rx861_eos, rx861_fail
-    sub $I10, rx861_pos, rx861_off
-    substr $S10, rx861_tgt, $I10, 1
+    ge rx875_pos, rx875_eos, rx875_fail
+    sub $I10, rx875_pos, rx875_off
+    substr $S10, rx875_tgt, $I10, 1
     index $I11, unicode:"\x{ab}", $S10
-    lt $I11, 0, rx861_fail
+    lt $I11, 0, rx875_fail
   # rx subrule "quote_EXPR" subtype=capture negate=
-    rx861_cur."!cursor_pos"(rx861_pos)
-    $P10 = rx861_cur."quote_EXPR"(":qq", ":w")
-    unless $P10, rx861_fail
-    rx861_cur."!mark_push"(0, -1, 0, $P10)
+    rx875_cur."!cursor_pos"(rx875_pos)
+    $P10 = rx875_cur."quote_EXPR"(":qq", ":w")
+    unless $P10, rx875_fail
+    rx875_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("quote_EXPR")
-    rx861_pos = $P10."pos"()
+    rx875_pos = $P10."pos"()
   # rx pass
-    rx861_cur."!cursor_pass"(rx861_pos, unicode:"circumfix:sym<\x{ab} \x{bb}>")
-    rx861_cur."!cursor_debug"("PASS  ", unicode:"circumfix:sym<\x{ab} \x{bb}>", " at pos=", rx861_pos)
-    .return (rx861_cur)
-  rx861_fail:
+    rx875_cur."!cursor_pass"(rx875_pos, unicode:"circumfix:sym<\x{ab} \x{bb}>")
+    rx875_cur."!cursor_debug"("PASS  ", unicode:"circumfix:sym<\x{ab} \x{bb}>", " at pos=", rx875_pos)
+    .return (rx875_cur)
+  rx875_fail:
 .annotate "line", 4
-    (rx861_rep, rx861_pos, $I10, $P10) = rx861_cur."!mark_fail"(0)
-    lt rx861_pos, -1, rx861_done
-    eq rx861_pos, -1, rx861_fail
+    (rx875_rep, rx875_pos, $I10, $P10) = rx875_cur."!mark_fail"(0)
+    lt rx875_pos, -1, rx875_done
+    eq rx875_pos, -1, rx875_fail
     jump $I10
-  rx861_done:
-    rx861_cur."!cursor_fail"()
-    rx861_cur."!cursor_debug"("FAIL  ", unicode:"circumfix:sym<\x{ab} \x{bb}>")
-    .return (rx861_cur)
+  rx875_done:
+    rx875_cur."!cursor_fail"()
+    rx875_cur."!cursor_debug"("FAIL  ", unicode:"circumfix:sym<\x{ab} \x{bb}>")
+    .return (rx875_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub unicode:"!PREFIX__circumfix:sym<\x{ab} \x{bb}>"  :subid("210_1260829317.63188") :method
+.sub unicode:"!PREFIX__circumfix:sym<\x{ab} \x{bb}>"  :subid("214_1261019367.36172") :method
 .annotate "line", 4
-    new $P863, "ResizablePMCArray"
-    push $P863, unicode:"\x{ab}"
-    .return ($P863)
+    new $P877, "ResizablePMCArray"
+    push $P877, unicode:"\x{ab}"
+    .return ($P877)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "circumfix:sym<{ }>"  :subid("211_1260829317.63188") :method :outer("11_1260829317.63188")
+.sub "circumfix:sym<{ }>"  :subid("215_1261019367.36172") :method :outer("11_1261019367.36172")
 .annotate "line", 4
-    .local string rx866_tgt
-    .local int rx866_pos
-    .local int rx866_off
-    .local int rx866_eos
-    .local int rx866_rep
-    .local pmc rx866_cur
-    (rx866_cur, rx866_pos, rx866_tgt) = self."!cursor_start"()
-    rx866_cur."!cursor_debug"("START ", "circumfix:sym<{ }>")
-    .lex unicode:"$\x{a2}", rx866_cur
+    .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 ", "circumfix:sym<{ }>")
+    .lex unicode:"$\x{a2}", rx880_cur
     .local pmc match
     .lex "$/", match
-    length rx866_eos, rx866_tgt
-    set rx866_off, 0
-    lt rx866_pos, 2, rx866_start
-    sub rx866_off, rx866_pos, 1
-    substr rx866_tgt, rx866_tgt, rx866_off
-  rx866_start:
+    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, rxscan869_done
-    goto rxscan869_scan
-  rxscan869_loop:
-    ($P10) = rx866_cur."from"()
+    ne $I10, -1, rxscan883_done
+    goto rxscan883_scan
+  rxscan883_loop:
+    ($P10) = rx880_cur."from"()
     inc $P10
-    set rx866_pos, $P10
-    ge rx866_pos, rx866_eos, rxscan869_done
-  rxscan869_scan:
-    set_addr $I10, rxscan869_loop
-    rx866_cur."!mark_push"(0, rx866_pos, $I10)
-  rxscan869_done:
-.annotate "line", 401
+    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", 406
   # rx enumcharlist negate=0 zerowidth
-    ge rx866_pos, rx866_eos, rx866_fail
-    sub $I10, rx866_pos, rx866_off
-    substr $S10, rx866_tgt, $I10, 1
+    ge rx880_pos, rx880_eos, rx880_fail
+    sub $I10, rx880_pos, rx880_off
+    substr $S10, rx880_tgt, $I10, 1
     index $I11, "{", $S10
-    lt $I11, 0, rx866_fail
+    lt $I11, 0, rx880_fail
   # rx subrule "pblock" subtype=capture negate=
-    rx866_cur."!cursor_pos"(rx866_pos)
-    $P10 = rx866_cur."pblock"()
-    unless $P10, rx866_fail
-    rx866_cur."!mark_push"(0, -1, 0, $P10)
+    rx880_cur."!cursor_pos"(rx880_pos)
+    $P10 = rx880_cur."pblock"()
+    unless $P10, rx880_fail
+    rx880_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("pblock")
-    rx866_pos = $P10."pos"()
+    rx880_pos = $P10."pos"()
   # rx pass
-    rx866_cur."!cursor_pass"(rx866_pos, "circumfix:sym<{ }>")
-    rx866_cur."!cursor_debug"("PASS  ", "circumfix:sym<{ }>", " at pos=", rx866_pos)
-    .return (rx866_cur)
-  rx866_fail:
+    rx880_cur."!cursor_pass"(rx880_pos, "circumfix:sym<{ }>")
+    rx880_cur."!cursor_debug"("PASS  ", "circumfix:sym<{ }>", " at pos=", rx880_pos)
+    .return (rx880_cur)
+  rx880_fail:
 .annotate "line", 4
-    (rx866_rep, rx866_pos, $I10, $P10) = rx866_cur."!mark_fail"(0)
-    lt rx866_pos, -1, rx866_done
-    eq rx866_pos, -1, rx866_fail
+    (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
-  rx866_done:
-    rx866_cur."!cursor_fail"()
-    rx866_cur."!cursor_debug"("FAIL  ", "circumfix:sym<{ }>")
-    .return (rx866_cur)
+  rx880_done:
+    rx880_cur."!cursor_fail"()
+    rx880_cur."!cursor_debug"("FAIL  ", "circumfix:sym<{ }>")
+    .return (rx880_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__circumfix:sym<{ }>"  :subid("212_1260829317.63188") :method
+.sub "!PREFIX__circumfix:sym<{ }>"  :subid("216_1261019367.36172") :method
 .annotate "line", 4
-    new $P868, "ResizablePMCArray"
-    push $P868, "{"
-    .return ($P868)
+    new $P882, "ResizablePMCArray"
+    push $P882, "{"
+    .return ($P882)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "circumfix:sym<sigil>"  :subid("213_1260829317.63188") :method :outer("11_1260829317.63188")
+.sub "circumfix:sym<sigil>"  :subid("217_1261019367.36172") :method :outer("11_1261019367.36172")
 .annotate "line", 4
-    .local string rx871_tgt
-    .local int rx871_pos
-    .local int rx871_off
-    .local int rx871_eos
-    .local int rx871_rep
-    .local pmc rx871_cur
-    (rx871_cur, rx871_pos, rx871_tgt) = self."!cursor_start"()
-    rx871_cur."!cursor_debug"("START ", "circumfix:sym<sigil>")
-    .lex unicode:"$\x{a2}", rx871_cur
+    .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 ", "circumfix:sym<sigil>")
+    .lex unicode:"$\x{a2}", rx885_cur
     .local pmc match
     .lex "$/", match
-    length rx871_eos, rx871_tgt
-    set rx871_off, 0
-    lt rx871_pos, 2, rx871_start
-    sub rx871_off, rx871_pos, 1
-    substr rx871_tgt, rx871_tgt, rx871_off
-  rx871_start:
+    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, rxscan875_done
-    goto rxscan875_scan
-  rxscan875_loop:
-    ($P10) = rx871_cur."from"()
+    ne $I10, -1, rxscan889_done
+    goto rxscan889_scan
+  rxscan889_loop:
+    ($P10) = rx885_cur."from"()
     inc $P10
-    set rx871_pos, $P10
-    ge rx871_pos, rx871_eos, rxscan875_done
-  rxscan875_scan:
-    set_addr $I10, rxscan875_loop
-    rx871_cur."!mark_push"(0, rx871_pos, $I10)
-  rxscan875_done:
-.annotate "line", 402
+    set rx885_pos, $P10
+    ge rx885_pos, rx885_eos, rxscan889_done
+  rxscan889_scan:
+    set_addr $I10, rxscan889_loop
+    rx885_cur."!mark_push"(0, rx885_pos, $I10)
+  rxscan889_done:
+.annotate "line", 407
   # rx subrule "sigil" subtype=capture negate=
-    rx871_cur."!cursor_pos"(rx871_pos)
-    $P10 = rx871_cur."sigil"()
-    unless $P10, rx871_fail
-    rx871_cur."!mark_push"(0, -1, 0, $P10)
+    rx885_cur."!cursor_pos"(rx885_pos)
+    $P10 = rx885_cur."sigil"()
+    unless $P10, rx885_fail
+    rx885_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("sigil")
-    rx871_pos = $P10."pos"()
+    rx885_pos = $P10."pos"()
   # rx literal  "("
-    add $I11, rx871_pos, 1
-    gt $I11, rx871_eos, rx871_fail
-    sub $I11, rx871_pos, rx871_off
-    substr $S10, rx871_tgt, $I11, 1
-    ne $S10, "(", rx871_fail
-    add rx871_pos, 1
+    add $I11, rx885_pos, 1
+    gt $I11, rx885_eos, rx885_fail
+    sub $I11, rx885_pos, rx885_off
+    substr $S10, rx885_tgt, $I11, 1
+    ne $S10, "(", rx885_fail
+    add rx885_pos, 1
   # rx subrule "semilist" subtype=capture negate=
-    rx871_cur."!cursor_pos"(rx871_pos)
-    $P10 = rx871_cur."semilist"()
-    unless $P10, rx871_fail
-    rx871_cur."!mark_push"(0, -1, 0, $P10)
+    rx885_cur."!cursor_pos"(rx885_pos)
+    $P10 = rx885_cur."semilist"()
+    unless $P10, rx885_fail
+    rx885_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("semilist")
-    rx871_pos = $P10."pos"()
-  alt876_0:
-    set_addr $I10, alt876_1
-    rx871_cur."!mark_push"(0, rx871_pos, $I10)
+    rx885_pos = $P10."pos"()
+  alt890_0:
+    set_addr $I10, alt890_1
+    rx885_cur."!mark_push"(0, rx885_pos, $I10)
   # rx literal  ")"
-    add $I11, rx871_pos, 1
-    gt $I11, rx871_eos, rx871_fail
-    sub $I11, rx871_pos, rx871_off
-    substr $S10, rx871_tgt, $I11, 1
-    ne $S10, ")", rx871_fail
-    add rx871_pos, 1
-    goto alt876_end
-  alt876_1:
+    add $I11, rx885_pos, 1
+    gt $I11, rx885_eos, rx885_fail
+    sub $I11, rx885_pos, rx885_off
+    substr $S10, rx885_tgt, $I11, 1
+    ne $S10, ")", rx885_fail
+    add rx885_pos, 1
+    goto alt890_end
+  alt890_1:
   # rx subrule "FAILGOAL" subtype=method negate=
-    rx871_cur."!cursor_pos"(rx871_pos)
-    $P10 = rx871_cur."FAILGOAL"("')'")
-    unless $P10, rx871_fail
-    rx871_pos = $P10."pos"()
-  alt876_end:
+    rx885_cur."!cursor_pos"(rx885_pos)
+    $P10 = rx885_cur."FAILGOAL"("')'")
+    unless $P10, rx885_fail
+    rx885_pos = $P10."pos"()
+  alt890_end:
   # rx pass
-    rx871_cur."!cursor_pass"(rx871_pos, "circumfix:sym<sigil>")
-    rx871_cur."!cursor_debug"("PASS  ", "circumfix:sym<sigil>", " at pos=", rx871_pos)
-    .return (rx871_cur)
-  rx871_fail:
+    rx885_cur."!cursor_pass"(rx885_pos, "circumfix:sym<sigil>")
+    rx885_cur."!cursor_debug"("PASS  ", "circumfix:sym<sigil>", " at pos=", rx885_pos)
+    .return (rx885_cur)
+  rx885_fail:
 .annotate "line", 4
-    (rx871_rep, rx871_pos, $I10, $P10) = rx871_cur."!mark_fail"(0)
-    lt rx871_pos, -1, rx871_done
-    eq rx871_pos, -1, rx871_fail
+    (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
-  rx871_done:
-    rx871_cur."!cursor_fail"()
-    rx871_cur."!cursor_debug"("FAIL  ", "circumfix:sym<sigil>")
-    .return (rx871_cur)
+  rx885_done:
+    rx885_cur."!cursor_fail"()
+    rx885_cur."!cursor_debug"("FAIL  ", "circumfix:sym<sigil>")
+    .return (rx885_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__circumfix:sym<sigil>"  :subid("214_1260829317.63188") :method
+.sub "!PREFIX__circumfix:sym<sigil>"  :subid("218_1261019367.36172") :method
 .annotate "line", 4
-    $P873 = self."!PREFIX__!subrule"("sigil", "")
-    new $P874, "ResizablePMCArray"
-    push $P874, $P873
-    .return ($P874)
+    $P887 = self."!PREFIX__!subrule"("sigil", "")
+    new $P888, "ResizablePMCArray"
+    push $P888, $P887
+    .return ($P888)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "semilist"  :subid("215_1260829317.63188") :method :outer("11_1260829317.63188")
+.sub "semilist"  :subid("219_1261019367.36172") :method :outer("11_1261019367.36172")
 .annotate "line", 4
-    .local string rx879_tgt
-    .local int rx879_pos
-    .local int rx879_off
-    .local int rx879_eos
-    .local int rx879_rep
-    .local pmc rx879_cur
-    (rx879_cur, rx879_pos, rx879_tgt) = self."!cursor_start"()
-    rx879_cur."!cursor_debug"("START ", "semilist")
-    .lex unicode:"$\x{a2}", rx879_cur
-    .local pmc match
-    .lex "$/", match
-    length rx879_eos, rx879_tgt
-    set rx879_off, 0
-    lt rx879_pos, 2, rx879_start
-    sub rx879_off, rx879_pos, 1
-    substr rx879_tgt, rx879_tgt, rx879_off
-  rx879_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan882_done
-    goto rxscan882_scan
-  rxscan882_loop:
-    ($P10) = rx879_cur."from"()
-    inc $P10
-    set rx879_pos, $P10
-    ge rx879_pos, rx879_eos, rxscan882_done
-  rxscan882_scan:
-    set_addr $I10, rxscan882_loop
-    rx879_cur."!mark_push"(0, rx879_pos, $I10)
-  rxscan882_done:
-.annotate "line", 404
+    .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 ", "semilist")
+    .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, rxscan896_done
+    goto rxscan896_scan
+  rxscan896_loop:
+    ($P10) = rx893_cur."from"()
+    inc $P10
+    set rx893_pos, $P10
+    ge rx893_pos, rx893_eos, rxscan896_done
+  rxscan896_scan:
+    set_addr $I10, rxscan896_loop
+    rx893_cur."!mark_push"(0, rx893_pos, $I10)
+  rxscan896_done:
+.annotate "line", 409
   # rx subrule "ws" subtype=method negate=
-    rx879_cur."!cursor_pos"(rx879_pos)
-    $P10 = rx879_cur."ws"()
-    unless $P10, rx879_fail
-    rx879_pos = $P10."pos"()
+    rx893_cur."!cursor_pos"(rx893_pos)
+    $P10 = rx893_cur."ws"()
+    unless $P10, rx893_fail
+    rx893_pos = $P10."pos"()
   # rx subrule "statement" subtype=capture negate=
-    rx879_cur."!cursor_pos"(rx879_pos)
-    $P10 = rx879_cur."statement"()
-    unless $P10, rx879_fail
-    rx879_cur."!mark_push"(0, -1, 0, $P10)
+    rx893_cur."!cursor_pos"(rx893_pos)
+    $P10 = rx893_cur."statement"()
+    unless $P10, rx893_fail
+    rx893_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("statement")
-    rx879_pos = $P10."pos"()
+    rx893_pos = $P10."pos"()
   # rx subrule "ws" subtype=method negate=
-    rx879_cur."!cursor_pos"(rx879_pos)
-    $P10 = rx879_cur."ws"()
-    unless $P10, rx879_fail
-    rx879_pos = $P10."pos"()
+    rx893_cur."!cursor_pos"(rx893_pos)
+    $P10 = rx893_cur."ws"()
+    unless $P10, rx893_fail
+    rx893_pos = $P10."pos"()
   # rx pass
-    rx879_cur."!cursor_pass"(rx879_pos, "semilist")
-    rx879_cur."!cursor_debug"("PASS  ", "semilist", " at pos=", rx879_pos)
-    .return (rx879_cur)
-  rx879_fail:
+    rx893_cur."!cursor_pass"(rx893_pos, "semilist")
+    rx893_cur."!cursor_debug"("PASS  ", "semilist", " at pos=", rx893_pos)
+    .return (rx893_cur)
+  rx893_fail:
 .annotate "line", 4
-    (rx879_rep, rx879_pos, $I10, $P10) = rx879_cur."!mark_fail"(0)
-    lt rx879_pos, -1, rx879_done
-    eq rx879_pos, -1, rx879_fail
+    (rx893_rep, rx893_pos, $I10, $P10) = rx893_cur."!mark_fail"(0)
+    lt rx893_pos, -1, rx893_done
+    eq rx893_pos, -1, rx893_fail
     jump $I10
-  rx879_done:
-    rx879_cur."!cursor_fail"()
-    rx879_cur."!cursor_debug"("FAIL  ", "semilist")
-    .return (rx879_cur)
+  rx893_done:
+    rx893_cur."!cursor_fail"()
+    rx893_cur."!cursor_debug"("FAIL  ", "semilist")
+    .return (rx893_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__semilist"  :subid("216_1260829317.63188") :method
+.sub "!PREFIX__semilist"  :subid("220_1261019367.36172") :method
 .annotate "line", 4
-    new $P881, "ResizablePMCArray"
-    push $P881, ""
-    .return ($P881)
+    new $P895, "ResizablePMCArray"
+    push $P895, ""
+    .return ($P895)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "infixish"  :subid("217_1260829317.63188") :method :outer("11_1260829317.63188")
-.annotate "line", 408
-    .local string rx886_tgt
-    .local int rx886_pos
-    .local int rx886_off
-    .local int rx886_eos
-    .local int rx886_rep
-    .local pmc rx886_cur
-    (rx886_cur, rx886_pos, rx886_tgt) = self."!cursor_start"()
-    rx886_cur."!cursor_debug"("START ", "infixish")
-    .lex unicode:"$\x{a2}", rx886_cur
-    .local pmc match
-    .lex "$/", match
-    length rx886_eos, rx886_tgt
-    set rx886_off, 0
-    lt rx886_pos, 2, rx886_start
-    sub rx886_off, rx886_pos, 1
-    substr rx886_tgt, rx886_tgt, rx886_off
-  rx886_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan889_done
-    goto rxscan889_scan
-  rxscan889_loop:
-    ($P10) = rx886_cur."from"()
-    inc $P10
-    set rx886_pos, $P10
-    ge rx886_pos, rx886_eos, rxscan889_done
-  rxscan889_scan:
-    set_addr $I10, rxscan889_loop
-    rx886_cur."!mark_push"(0, rx886_pos, $I10)
-  rxscan889_done:
-.annotate "line", 427
+.sub "infixish"  :subid("221_1261019367.36172") :method :outer("11_1261019367.36172")
+.annotate "line", 413
+    .local string rx900_tgt
+    .local int rx900_pos
+    .local int rx900_off
+    .local int rx900_eos
+    .local int rx900_rep
+    .local pmc rx900_cur
+    (rx900_cur, rx900_pos, rx900_tgt) = self."!cursor_start"()
+    rx900_cur."!cursor_debug"("START ", "infixish")
+    .lex unicode:"$\x{a2}", rx900_cur
+    .local pmc match
+    .lex "$/", match
+    length rx900_eos, rx900_tgt
+    set rx900_off, 0
+    lt rx900_pos, 2, rx900_start
+    sub rx900_off, rx900_pos, 1
+    substr rx900_tgt, rx900_tgt, rx900_off
+  rx900_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan903_done
+    goto rxscan903_scan
+  rxscan903_loop:
+    ($P10) = rx900_cur."from"()
+    inc $P10
+    set rx900_pos, $P10
+    ge rx900_pos, rx900_eos, rxscan903_done
+  rxscan903_scan:
+    set_addr $I10, rxscan903_loop
+    rx900_cur."!mark_push"(0, rx900_pos, $I10)
+  rxscan903_done:
+.annotate "line", 432
   # rx subrule "infixstopper" subtype=zerowidth negate=1
-    rx886_cur."!cursor_pos"(rx886_pos)
-    $P10 = rx886_cur."infixstopper"()
-    if $P10, rx886_fail
+    rx900_cur."!cursor_pos"(rx900_pos)
+    $P10 = rx900_cur."infixstopper"()
+    if $P10, rx900_fail
   # rx subrule "infix" subtype=capture negate=
-    rx886_cur."!cursor_pos"(rx886_pos)
-    $P10 = rx886_cur."infix"()
-    unless $P10, rx886_fail
-    rx886_cur."!mark_push"(0, -1, 0, $P10)
+    rx900_cur."!cursor_pos"(rx900_pos)
+    $P10 = rx900_cur."infix"()
+    unless $P10, rx900_fail
+    rx900_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("OPER=infix")
-    rx886_pos = $P10."pos"()
+    rx900_pos = $P10."pos"()
   # rx pass
-    rx886_cur."!cursor_pass"(rx886_pos, "infixish")
-    rx886_cur."!cursor_debug"("PASS  ", "infixish", " at pos=", rx886_pos)
-    .return (rx886_cur)
-  rx886_fail:
-.annotate "line", 408
-    (rx886_rep, rx886_pos, $I10, $P10) = rx886_cur."!mark_fail"(0)
-    lt rx886_pos, -1, rx886_done
-    eq rx886_pos, -1, rx886_fail
+    rx900_cur."!cursor_pass"(rx900_pos, "infixish")
+    rx900_cur."!cursor_debug"("PASS  ", "infixish", " at pos=", rx900_pos)
+    .return (rx900_cur)
+  rx900_fail:
+.annotate "line", 413
+    (rx900_rep, rx900_pos, $I10, $P10) = rx900_cur."!mark_fail"(0)
+    lt rx900_pos, -1, rx900_done
+    eq rx900_pos, -1, rx900_fail
     jump $I10
-  rx886_done:
-    rx886_cur."!cursor_fail"()
-    rx886_cur."!cursor_debug"("FAIL  ", "infixish")
-    .return (rx886_cur)
+  rx900_done:
+    rx900_cur."!cursor_fail"()
+    rx900_cur."!cursor_debug"("FAIL  ", "infixish")
+    .return (rx900_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__infixish"  :subid("218_1260829317.63188") :method
-.annotate "line", 408
-    new $P888, "ResizablePMCArray"
-    push $P888, ""
-    .return ($P888)
+.sub "!PREFIX__infixish"  :subid("222_1261019367.36172") :method
+.annotate "line", 413
+    new $P902, "ResizablePMCArray"
+    push $P902, ""
+    .return ($P902)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "infixstopper"  :subid("219_1260829317.63188") :method :outer("11_1260829317.63188")
-.annotate "line", 408
-    .local string rx891_tgt
-    .local int rx891_pos
-    .local int rx891_off
-    .local int rx891_eos
-    .local int rx891_rep
-    .local pmc rx891_cur
-    (rx891_cur, rx891_pos, rx891_tgt) = self."!cursor_start"()
-    rx891_cur."!cursor_debug"("START ", "infixstopper")
-    .lex unicode:"$\x{a2}", rx891_cur
-    .local pmc match
-    .lex "$/", match
-    length rx891_eos, rx891_tgt
-    set rx891_off, 0
-    lt rx891_pos, 2, rx891_start
-    sub rx891_off, rx891_pos, 1
-    substr rx891_tgt, rx891_tgt, rx891_off
-  rx891_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan894_done
-    goto rxscan894_scan
-  rxscan894_loop:
-    ($P10) = rx891_cur."from"()
-    inc $P10
-    set rx891_pos, $P10
-    ge rx891_pos, rx891_eos, rxscan894_done
-  rxscan894_scan:
-    set_addr $I10, rxscan894_loop
-    rx891_cur."!mark_push"(0, rx891_pos, $I10)
-  rxscan894_done:
-.annotate "line", 428
+.sub "infixstopper"  :subid("223_1261019367.36172") :method :outer("11_1261019367.36172")
+.annotate "line", 413
+    .local string rx905_tgt
+    .local int rx905_pos
+    .local int rx905_off
+    .local int rx905_eos
+    .local int rx905_rep
+    .local pmc rx905_cur
+    (rx905_cur, rx905_pos, rx905_tgt) = self."!cursor_start"()
+    rx905_cur."!cursor_debug"("START ", "infixstopper")
+    .lex unicode:"$\x{a2}", rx905_cur
+    .local pmc match
+    .lex "$/", match
+    length rx905_eos, rx905_tgt
+    set rx905_off, 0
+    lt rx905_pos, 2, rx905_start
+    sub rx905_off, rx905_pos, 1
+    substr rx905_tgt, rx905_tgt, rx905_off
+  rx905_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan908_done
+    goto rxscan908_scan
+  rxscan908_loop:
+    ($P10) = rx905_cur."from"()
+    inc $P10
+    set rx905_pos, $P10
+    ge rx905_pos, rx905_eos, rxscan908_done
+  rxscan908_scan:
+    set_addr $I10, rxscan908_loop
+    rx905_cur."!mark_push"(0, rx905_pos, $I10)
+  rxscan908_done:
+.annotate "line", 433
   # rx subrule "lambda" subtype=zerowidth negate=
-    rx891_cur."!cursor_pos"(rx891_pos)
-    $P10 = rx891_cur."lambda"()
-    unless $P10, rx891_fail
-  # rx pass
-    rx891_cur."!cursor_pass"(rx891_pos, "infixstopper")
-    rx891_cur."!cursor_debug"("PASS  ", "infixstopper", " at pos=", rx891_pos)
-    .return (rx891_cur)
-  rx891_fail:
-.annotate "line", 408
-    (rx891_rep, rx891_pos, $I10, $P10) = rx891_cur."!mark_fail"(0)
-    lt rx891_pos, -1, rx891_done
-    eq rx891_pos, -1, rx891_fail
+    rx905_cur."!cursor_pos"(rx905_pos)
+    $P10 = rx905_cur."lambda"()
+    unless $P10, rx905_fail
+  # rx pass
+    rx905_cur."!cursor_pass"(rx905_pos, "infixstopper")
+    rx905_cur."!cursor_debug"("PASS  ", "infixstopper", " at pos=", rx905_pos)
+    .return (rx905_cur)
+  rx905_fail:
+.annotate "line", 413
+    (rx905_rep, rx905_pos, $I10, $P10) = rx905_cur."!mark_fail"(0)
+    lt rx905_pos, -1, rx905_done
+    eq rx905_pos, -1, rx905_fail
     jump $I10
-  rx891_done:
-    rx891_cur."!cursor_fail"()
-    rx891_cur."!cursor_debug"("FAIL  ", "infixstopper")
-    .return (rx891_cur)
+  rx905_done:
+    rx905_cur."!cursor_fail"()
+    rx905_cur."!cursor_debug"("FAIL  ", "infixstopper")
+    .return (rx905_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__infixstopper"  :subid("220_1260829317.63188") :method
-.annotate "line", 408
-    new $P893, "ResizablePMCArray"
-    push $P893, ""
-    .return ($P893)
+.sub "!PREFIX__infixstopper"  :subid("224_1261019367.36172") :method
+.annotate "line", 413
+    new $P907, "ResizablePMCArray"
+    push $P907, ""
+    .return ($P907)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "postcircumfix:sym<[ ]>"  :subid("221_1260829317.63188") :method :outer("11_1260829317.63188")
-.annotate "line", 408
-    .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", 431
+.sub "postcircumfix:sym<[ ]>"  :subid("225_1261019367.36172") :method :outer("11_1261019367.36172")
+.annotate "line", 413
+    .local string rx910_tgt
+    .local int rx910_pos
+    .local int rx910_off
+    .local int rx910_eos
+    .local int rx910_rep
+    .local pmc rx910_cur
+    (rx910_cur, rx910_pos, rx910_tgt) = self."!cursor_start"()
+    rx910_cur."!cursor_debug"("START ", "postcircumfix:sym<[ ]>")
+    .lex unicode:"$\x{a2}", rx910_cur
+    .local pmc match
+    .lex "$/", match
+    length rx910_eos, rx910_tgt
+    set rx910_off, 0
+    lt rx910_pos, 2, rx910_start
+    sub rx910_off, rx910_pos, 1
+    substr rx910_tgt, rx910_tgt, rx910_off
+  rx910_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan914_done
+    goto rxscan914_scan
+  rxscan914_loop:
+    ($P10) = rx910_cur."from"()
+    inc $P10
+    set rx910_pos, $P10
+    ge rx910_pos, rx910_eos, rxscan914_done
+  rxscan914_scan:
+    set_addr $I10, rxscan914_loop
+    rx910_cur."!mark_push"(0, rx910_pos, $I10)
+  rxscan914_done:
+.annotate "line", 436
   # 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"()
+    add $I11, rx910_pos, 1
+    gt $I11, rx910_eos, rx910_fail
+    sub $I11, rx910_pos, rx910_off
+    substr $S10, rx910_tgt, $I11, 1
+    ne $S10, "[", rx910_fail
+    add rx910_pos, 1
+  # rx subrule "ws" subtype=method negate=
+    rx910_cur."!cursor_pos"(rx910_pos)
+    $P10 = rx910_cur."ws"()
+    unless $P10, rx910_fail
+    rx910_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)
+    rx910_cur."!cursor_pos"(rx910_pos)
+    $P10 = rx910_cur."EXPR"()
+    unless $P10, rx910_fail
+    rx910_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("EXPR")
-    rx896_pos = $P10."pos"()
+    rx910_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", 432
+    add $I11, rx910_pos, 1
+    gt $I11, rx910_eos, rx910_fail
+    sub $I11, rx910_pos, rx910_off
+    substr $S10, rx910_tgt, $I11, 1
+    ne $S10, "]", rx910_fail
+    add rx910_pos, 1
+.annotate "line", 437
   # rx subrule "O" subtype=capture negate=
-    rx896_cur."!cursor_pos"(rx896_pos)
-    $P10 = rx896_cur."O"("%methodop")
-    unless $P10, rx896_fail
-    rx896_cur."!mark_push"(0, -1, 0, $P10)
+    rx910_cur."!cursor_pos"(rx910_pos)
+    $P10 = rx910_cur."O"("%methodop")
+    unless $P10, rx910_fail
+    rx910_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("O")
-    rx896_pos = $P10."pos"()
-.annotate "line", 430
+    rx910_pos = $P10."pos"()
+.annotate "line", 435
   # rx pass
-    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", 408
-    (rx896_rep, rx896_pos, $I10, $P10) = rx896_cur."!mark_fail"(0)
-    lt rx896_pos, -1, rx896_done
-    eq rx896_pos, -1, rx896_fail
+    rx910_cur."!cursor_pass"(rx910_pos, "postcircumfix:sym<[ ]>")
+    rx910_cur."!cursor_debug"("PASS  ", "postcircumfix:sym<[ ]>", " at pos=", rx910_pos)
+    .return (rx910_cur)
+  rx910_fail:
+.annotate "line", 413
+    (rx910_rep, rx910_pos, $I10, $P10) = rx910_cur."!mark_fail"(0)
+    lt rx910_pos, -1, rx910_done
+    eq rx910_pos, -1, rx910_fail
     jump $I10
-  rx896_done:
-    rx896_cur."!cursor_fail"()
-    rx896_cur."!cursor_debug"("FAIL  ", "postcircumfix:sym<[ ]>")
-    .return (rx896_cur)
+  rx910_done:
+    rx910_cur."!cursor_fail"()
+    rx910_cur."!cursor_debug"("FAIL  ", "postcircumfix:sym<[ ]>")
+    .return (rx910_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__postcircumfix:sym<[ ]>"  :subid("222_1260829317.63188") :method
-.annotate "line", 408
-    $P898 = self."!PREFIX__!subrule"("", "[")
-    new $P899, "ResizablePMCArray"
-    push $P899, $P898
-    .return ($P899)
+.sub "!PREFIX__postcircumfix:sym<[ ]>"  :subid("226_1261019367.36172") :method
+.annotate "line", 413
+    $P912 = self."!PREFIX__!subrule"("", "[")
+    new $P913, "ResizablePMCArray"
+    push $P913, $P912
+    .return ($P913)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "postcircumfix:sym<{ }>"  :subid("223_1260829317.63188") :method :outer("11_1260829317.63188")
-.annotate "line", 408
-    .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<{ }>")
-    .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, rxscan906_done
-    goto rxscan906_scan
-  rxscan906_loop:
-    ($P10) = rx902_cur."from"()
-    inc $P10
-    set rx902_pos, $P10
-    ge rx902_pos, rx902_eos, rxscan906_done
-  rxscan906_scan:
-    set_addr $I10, rxscan906_loop
-    rx902_cur."!mark_push"(0, rx902_pos, $I10)
-  rxscan906_done:
-.annotate "line", 436
+.sub "postcircumfix:sym<{ }>"  :subid("227_1261019367.36172") :method :outer("11_1261019367.36172")
+.annotate "line", 413
+    .local string rx916_tgt
+    .local int rx916_pos
+    .local int rx916_off
+    .local int rx916_eos
+    .local int rx916_rep
+    .local pmc rx916_cur
+    (rx916_cur, rx916_pos, rx916_tgt) = self."!cursor_start"()
+    rx916_cur."!cursor_debug"("START ", "postcircumfix:sym<{ }>")
+    .lex unicode:"$\x{a2}", rx916_cur
+    .local pmc match
+    .lex "$/", match
+    length rx916_eos, rx916_tgt
+    set rx916_off, 0
+    lt rx916_pos, 2, rx916_start
+    sub rx916_off, rx916_pos, 1
+    substr rx916_tgt, rx916_tgt, rx916_off
+  rx916_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan920_done
+    goto rxscan920_scan
+  rxscan920_loop:
+    ($P10) = rx916_cur."from"()
+    inc $P10
+    set rx916_pos, $P10
+    ge rx916_pos, rx916_eos, rxscan920_done
+  rxscan920_scan:
+    set_addr $I10, rxscan920_loop
+    rx916_cur."!mark_push"(0, rx916_pos, $I10)
+  rxscan920_done:
+.annotate "line", 441
   # rx literal  "{"
-    add $I11, rx902_pos, 1
-    gt $I11, rx902_eos, rx902_fail
-    sub $I11, rx902_pos, rx902_off
-    substr $S10, rx902_tgt, $I11, 1
-    ne $S10, "{", rx902_fail
-    add rx902_pos, 1
-  # rx subrule "ws" subtype=method negate=
-    rx902_cur."!cursor_pos"(rx902_pos)
-    $P10 = rx902_cur."ws"()
-    unless $P10, rx902_fail
-    rx902_pos = $P10."pos"()
+    add $I11, rx916_pos, 1
+    gt $I11, rx916_eos, rx916_fail
+    sub $I11, rx916_pos, rx916_off
+    substr $S10, rx916_tgt, $I11, 1
+    ne $S10, "{", rx916_fail
+    add rx916_pos, 1
+  # rx subrule "ws" subtype=method negate=
+    rx916_cur."!cursor_pos"(rx916_pos)
+    $P10 = rx916_cur."ws"()
+    unless $P10, rx916_fail
+    rx916_pos = $P10."pos"()
   # rx subrule "EXPR" subtype=capture negate=
-    rx902_cur."!cursor_pos"(rx902_pos)
-    $P10 = rx902_cur."EXPR"()
-    unless $P10, rx902_fail
-    rx902_cur."!mark_push"(0, -1, 0, $P10)
+    rx916_cur."!cursor_pos"(rx916_pos)
+    $P10 = rx916_cur."EXPR"()
+    unless $P10, rx916_fail
+    rx916_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("EXPR")
-    rx902_pos = $P10."pos"()
+    rx916_pos = $P10."pos"()
   # rx literal  "}"
-    add $I11, rx902_pos, 1
-    gt $I11, rx902_eos, rx902_fail
-    sub $I11, rx902_pos, rx902_off
-    substr $S10, rx902_tgt, $I11, 1
-    ne $S10, "}", rx902_fail
-    add rx902_pos, 1
-.annotate "line", 437
+    add $I11, rx916_pos, 1
+    gt $I11, rx916_eos, rx916_fail
+    sub $I11, rx916_pos, rx916_off
+    substr $S10, rx916_tgt, $I11, 1
+    ne $S10, "}", rx916_fail
+    add rx916_pos, 1
+.annotate "line", 442
   # rx subrule "O" subtype=capture negate=
-    rx902_cur."!cursor_pos"(rx902_pos)
-    $P10 = rx902_cur."O"("%methodop")
-    unless $P10, rx902_fail
-    rx902_cur."!mark_push"(0, -1, 0, $P10)
+    rx916_cur."!cursor_pos"(rx916_pos)
+    $P10 = rx916_cur."O"("%methodop")
+    unless $P10, rx916_fail
+    rx916_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("O")
-    rx902_pos = $P10."pos"()
-.annotate "line", 435
+    rx916_pos = $P10."pos"()
+.annotate "line", 440
   # rx pass
-    rx902_cur."!cursor_pass"(rx902_pos, "postcircumfix:sym<{ }>")
-    rx902_cur."!cursor_debug"("PASS  ", "postcircumfix:sym<{ }>", " at pos=", rx902_pos)
-    .return (rx902_cur)
-  rx902_fail:
-.annotate "line", 408
-    (rx902_rep, rx902_pos, $I10, $P10) = rx902_cur."!mark_fail"(0)
-    lt rx902_pos, -1, rx902_done
-    eq rx902_pos, -1, rx902_fail
+    rx916_cur."!cursor_pass"(rx916_pos, "postcircumfix:sym<{ }>")
+    rx916_cur."!cursor_debug"("PASS  ", "postcircumfix:sym<{ }>", " at pos=", rx916_pos)
+    .return (rx916_cur)
+  rx916_fail:
+.annotate "line", 413
+    (rx916_rep, rx916_pos, $I10, $P10) = rx916_cur."!mark_fail"(0)
+    lt rx916_pos, -1, rx916_done
+    eq rx916_pos, -1, rx916_fail
     jump $I10
-  rx902_done:
-    rx902_cur."!cursor_fail"()
-    rx902_cur."!cursor_debug"("FAIL  ", "postcircumfix:sym<{ }>")
-    .return (rx902_cur)
+  rx916_done:
+    rx916_cur."!cursor_fail"()
+    rx916_cur."!cursor_debug"("FAIL  ", "postcircumfix:sym<{ }>")
+    .return (rx916_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__postcircumfix:sym<{ }>"  :subid("224_1260829317.63188") :method
-.annotate "line", 408
-    $P904 = self."!PREFIX__!subrule"("", "{")
-    new $P905, "ResizablePMCArray"
-    push $P905, $P904
-    .return ($P905)
+.sub "!PREFIX__postcircumfix:sym<{ }>"  :subid("228_1261019367.36172") :method
+.annotate "line", 413
+    $P918 = self."!PREFIX__!subrule"("", "{")
+    new $P919, "ResizablePMCArray"
+    push $P919, $P918
+    .return ($P919)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "postcircumfix:sym<ang>"  :subid("225_1260829317.63188") :method :outer("11_1260829317.63188")
-.annotate "line", 408
-    .local string rx908_tgt
-    .local int rx908_pos
-    .local int rx908_off
-    .local int rx908_eos
-    .local int rx908_rep
-    .local pmc rx908_cur
-    (rx908_cur, rx908_pos, rx908_tgt) = self."!cursor_start"()
-    rx908_cur."!cursor_debug"("START ", "postcircumfix:sym<ang>")
-    .lex unicode:"$\x{a2}", rx908_cur
-    .local pmc match
-    .lex "$/", match
-    length rx908_eos, rx908_tgt
-    set rx908_off, 0
-    lt rx908_pos, 2, rx908_start
-    sub rx908_off, rx908_pos, 1
-    substr rx908_tgt, rx908_tgt, rx908_off
-  rx908_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan911_done
-    goto rxscan911_scan
-  rxscan911_loop:
-    ($P10) = rx908_cur."from"()
-    inc $P10
-    set rx908_pos, $P10
-    ge rx908_pos, rx908_eos, rxscan911_done
-  rxscan911_scan:
-    set_addr $I10, rxscan911_loop
-    rx908_cur."!mark_push"(0, rx908_pos, $I10)
-  rxscan911_done:
-.annotate "line", 441
+.sub "postcircumfix:sym<ang>"  :subid("229_1261019367.36172") :method :outer("11_1261019367.36172")
+.annotate "line", 413
+    .local string rx922_tgt
+    .local int rx922_pos
+    .local int rx922_off
+    .local int rx922_eos
+    .local int rx922_rep
+    .local pmc rx922_cur
+    (rx922_cur, rx922_pos, rx922_tgt) = self."!cursor_start"()
+    rx922_cur."!cursor_debug"("START ", "postcircumfix:sym<ang>")
+    .lex unicode:"$\x{a2}", rx922_cur
+    .local pmc match
+    .lex "$/", match
+    length rx922_eos, rx922_tgt
+    set rx922_off, 0
+    lt rx922_pos, 2, rx922_start
+    sub rx922_off, rx922_pos, 1
+    substr rx922_tgt, rx922_tgt, rx922_off
+  rx922_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan925_done
+    goto rxscan925_scan
+  rxscan925_loop:
+    ($P10) = rx922_cur."from"()
+    inc $P10
+    set rx922_pos, $P10
+    ge rx922_pos, rx922_eos, rxscan925_done
+  rxscan925_scan:
+    set_addr $I10, rxscan925_loop
+    rx922_cur."!mark_push"(0, rx922_pos, $I10)
+  rxscan925_done:
+.annotate "line", 446
   # rx enumcharlist negate=0 zerowidth
-    ge rx908_pos, rx908_eos, rx908_fail
-    sub $I10, rx908_pos, rx908_off
-    substr $S10, rx908_tgt, $I10, 1
+    ge rx922_pos, rx922_eos, rx922_fail
+    sub $I10, rx922_pos, rx922_off
+    substr $S10, rx922_tgt, $I10, 1
     index $I11, "<", $S10
-    lt $I11, 0, rx908_fail
+    lt $I11, 0, rx922_fail
   # rx subrule "quote_EXPR" subtype=capture negate=
-    rx908_cur."!cursor_pos"(rx908_pos)
-    $P10 = rx908_cur."quote_EXPR"(":q")
-    unless $P10, rx908_fail
-    rx908_cur."!mark_push"(0, -1, 0, $P10)
+    rx922_cur."!cursor_pos"(rx922_pos)
+    $P10 = rx922_cur."quote_EXPR"(":q")
+    unless $P10, rx922_fail
+    rx922_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("quote_EXPR")
-    rx908_pos = $P10."pos"()
-.annotate "line", 442
+    rx922_pos = $P10."pos"()
+.annotate "line", 447
   # rx subrule "O" subtype=capture negate=
-    rx908_cur."!cursor_pos"(rx908_pos)
-    $P10 = rx908_cur."O"("%methodop")
-    unless $P10, rx908_fail
-    rx908_cur."!mark_push"(0, -1, 0, $P10)
+    rx922_cur."!cursor_pos"(rx922_pos)
+    $P10 = rx922_cur."O"("%methodop")
+    unless $P10, rx922_fail
+    rx922_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("O")
-    rx908_pos = $P10."pos"()
-.annotate "line", 440
+    rx922_pos = $P10."pos"()
+.annotate "line", 445
   # rx pass
-    rx908_cur."!cursor_pass"(rx908_pos, "postcircumfix:sym<ang>")
-    rx908_cur."!cursor_debug"("PASS  ", "postcircumfix:sym<ang>", " at pos=", rx908_pos)
-    .return (rx908_cur)
-  rx908_fail:
-.annotate "line", 408
-    (rx908_rep, rx908_pos, $I10, $P10) = rx908_cur."!mark_fail"(0)
-    lt rx908_pos, -1, rx908_done
-    eq rx908_pos, -1, rx908_fail
+    rx922_cur."!cursor_pass"(rx922_pos, "postcircumfix:sym<ang>")
+    rx922_cur."!cursor_debug"("PASS  ", "postcircumfix:sym<ang>", " at pos=", rx922_pos)
+    .return (rx922_cur)
+  rx922_fail:
+.annotate "line", 413
+    (rx922_rep, rx922_pos, $I10, $P10) = rx922_cur."!mark_fail"(0)
+    lt rx922_pos, -1, rx922_done
+    eq rx922_pos, -1, rx922_fail
     jump $I10
-  rx908_done:
-    rx908_cur."!cursor_fail"()
-    rx908_cur."!cursor_debug"("FAIL  ", "postcircumfix:sym<ang>")
-    .return (rx908_cur)
+  rx922_done:
+    rx922_cur."!cursor_fail"()
+    rx922_cur."!cursor_debug"("FAIL  ", "postcircumfix:sym<ang>")
+    .return (rx922_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__postcircumfix:sym<ang>"  :subid("226_1260829317.63188") :method
-.annotate "line", 408
-    new $P910, "ResizablePMCArray"
-    push $P910, "<"
-    .return ($P910)
+.sub "!PREFIX__postcircumfix:sym<ang>"  :subid("230_1261019367.36172") :method
+.annotate "line", 413
+    new $P924, "ResizablePMCArray"
+    push $P924, "<"
+    .return ($P924)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "postcircumfix:sym<( )>"  :subid("227_1260829317.63188") :method :outer("11_1260829317.63188")
-.annotate "line", 408
-    .local string rx913_tgt
-    .local int rx913_pos
-    .local int rx913_off
-    .local int rx913_eos
-    .local int rx913_rep
-    .local pmc rx913_cur
-    (rx913_cur, rx913_pos, rx913_tgt) = self."!cursor_start"()
-    rx913_cur."!cursor_debug"("START ", "postcircumfix:sym<( )>")
-    .lex unicode:"$\x{a2}", rx913_cur
-    .local pmc match
-    .lex "$/", match
-    length rx913_eos, rx913_tgt
-    set rx913_off, 0
-    lt rx913_pos, 2, rx913_start
-    sub rx913_off, rx913_pos, 1
-    substr rx913_tgt, rx913_tgt, rx913_off
-  rx913_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan917_done
-    goto rxscan917_scan
-  rxscan917_loop:
-    ($P10) = rx913_cur."from"()
-    inc $P10
-    set rx913_pos, $P10
-    ge rx913_pos, rx913_eos, rxscan917_done
-  rxscan917_scan:
-    set_addr $I10, rxscan917_loop
-    rx913_cur."!mark_push"(0, rx913_pos, $I10)
-  rxscan917_done:
-.annotate "line", 446
+.sub "postcircumfix:sym<( )>"  :subid("231_1261019367.36172") :method :outer("11_1261019367.36172")
+.annotate "line", 413
+    .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 ", "postcircumfix: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", 451
   # rx literal  "("
-    add $I11, rx913_pos, 1
-    gt $I11, rx913_eos, rx913_fail
-    sub $I11, rx913_pos, rx913_off
-    substr $S10, rx913_tgt, $I11, 1
-    ne $S10, "(", rx913_fail
-    add rx913_pos, 1
-  # rx subrule "ws" subtype=method negate=
-    rx913_cur."!cursor_pos"(rx913_pos)
-    $P10 = rx913_cur."ws"()
-    unless $P10, rx913_fail
-    rx913_pos = $P10."pos"()
+    add $I11, rx927_pos, 1
+    gt $I11, rx927_eos, rx927_fail
+    sub $I11, rx927_pos, rx927_off
+    substr $S10, rx927_tgt, $I11, 1
+    ne $S10, "(", rx927_fail
+    add rx927_pos, 1
+  # rx subrule "ws" subtype=method negate=
+    rx927_cur."!cursor_pos"(rx927_pos)
+    $P10 = rx927_cur."ws"()
+    unless $P10, rx927_fail
+    rx927_pos = $P10."pos"()
   # rx subrule "arglist" subtype=capture negate=
-    rx913_cur."!cursor_pos"(rx913_pos)
-    $P10 = rx913_cur."arglist"()
-    unless $P10, rx913_fail
-    rx913_cur."!mark_push"(0, -1, 0, $P10)
+    rx927_cur."!cursor_pos"(rx927_pos)
+    $P10 = rx927_cur."arglist"()
+    unless $P10, rx927_fail
+    rx927_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("arglist")
-    rx913_pos = $P10."pos"()
+    rx927_pos = $P10."pos"()
   # rx literal  ")"
-    add $I11, rx913_pos, 1
-    gt $I11, rx913_eos, rx913_fail
-    sub $I11, rx913_pos, rx913_off
-    substr $S10, rx913_tgt, $I11, 1
-    ne $S10, ")", rx913_fail
-    add rx913_pos, 1
-.annotate "line", 447
+    add $I11, rx927_pos, 1
+    gt $I11, rx927_eos, rx927_fail
+    sub $I11, rx927_pos, rx927_off
+    substr $S10, rx927_tgt, $I11, 1
+    ne $S10, ")", rx927_fail
+    add rx927_pos, 1
+.annotate "line", 452
   # rx subrule "O" subtype=capture negate=
-    rx913_cur."!cursor_pos"(rx913_pos)
-    $P10 = rx913_cur."O"("%methodop")
-    unless $P10, rx913_fail
-    rx913_cur."!mark_push"(0, -1, 0, $P10)
+    rx927_cur."!cursor_pos"(rx927_pos)
+    $P10 = rx927_cur."O"("%methodop")
+    unless $P10, rx927_fail
+    rx927_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("O")
-    rx913_pos = $P10."pos"()
-.annotate "line", 445
+    rx927_pos = $P10."pos"()
+.annotate "line", 450
   # rx pass
-    rx913_cur."!cursor_pass"(rx913_pos, "postcircumfix:sym<( )>")
-    rx913_cur."!cursor_debug"("PASS  ", "postcircumfix:sym<( )>", " at pos=", rx913_pos)
-    .return (rx913_cur)
-  rx913_fail:
-.annotate "line", 408
-    (rx913_rep, rx913_pos, $I10, $P10) = rx913_cur."!mark_fail"(0)
-    lt rx913_pos, -1, rx913_done
-    eq rx913_pos, -1, rx913_fail
+    rx927_cur."!cursor_pass"(rx927_pos, "postcircumfix:sym<( )>")
+    rx927_cur."!cursor_debug"("PASS  ", "postcircumfix:sym<( )>", " at pos=", rx927_pos)
+    .return (rx927_cur)
+  rx927_fail:
+.annotate "line", 413
+    (rx927_rep, rx927_pos, $I10, $P10) = rx927_cur."!mark_fail"(0)
+    lt rx927_pos, -1, rx927_done
+    eq rx927_pos, -1, rx927_fail
     jump $I10
-  rx913_done:
-    rx913_cur."!cursor_fail"()
-    rx913_cur."!cursor_debug"("FAIL  ", "postcircumfix:sym<( )>")
-    .return (rx913_cur)
+  rx927_done:
+    rx927_cur."!cursor_fail"()
+    rx927_cur."!cursor_debug"("FAIL  ", "postcircumfix:sym<( )>")
+    .return (rx927_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__postcircumfix:sym<( )>"  :subid("228_1260829317.63188") :method
-.annotate "line", 408
-    $P915 = self."!PREFIX__!subrule"("", "(")
-    new $P916, "ResizablePMCArray"
-    push $P916, $P915
-    .return ($P916)
+.sub "!PREFIX__postcircumfix:sym<( )>"  :subid("232_1261019367.36172") :method
+.annotate "line", 413
+    $P929 = self."!PREFIX__!subrule"("", "(")
+    new $P930, "ResizablePMCArray"
+    push $P930, $P929
+    .return ($P930)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "postfix:sym<.>"  :subid("229_1260829317.63188") :method :outer("11_1260829317.63188")
-.annotate "line", 408
-    .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 ", "postfix: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", 450
+.sub "postfix:sym<.>"  :subid("233_1261019367.36172") :method :outer("11_1261019367.36172")
+.annotate "line", 413
+    .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", 455
   # rx subrule "dotty" subtype=capture negate=
-    rx919_cur."!cursor_pos"(rx919_pos)
-    $P10 = rx919_cur."dotty"()
-    unless $P10, rx919_fail
-    rx919_cur."!mark_push"(0, -1, 0, $P10)
+    rx933_cur."!cursor_pos"(rx933_pos)
+    $P10 = rx933_cur."dotty"()
+    unless $P10, rx933_fail
+    rx933_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("dotty")
-    rx919_pos = $P10."pos"()
+    rx933_pos = $P10."pos"()
   # rx subrule "O" subtype=capture negate=
-    rx919_cur."!cursor_pos"(rx919_pos)
-    $P10 = rx919_cur."O"("%methodop")
-    unless $P10, rx919_fail
-    rx919_cur."!mark_push"(0, -1, 0, $P10)
+    rx933_cur."!cursor_pos"(rx933_pos)
+    $P10 = rx933_cur."O"("%methodop")
+    unless $P10, rx933_fail
+    rx933_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("O")
-    rx919_pos = $P10."pos"()
+    rx933_pos = $P10."pos"()
   # rx pass
-    rx919_cur."!cursor_pass"(rx919_pos, "postfix:sym<.>")
-    rx919_cur."!cursor_debug"("PASS  ", "postfix:sym<.>", " at pos=", rx919_pos)
-    .return (rx919_cur)
-  rx919_fail:
-.annotate "line", 408
-    (rx919_rep, rx919_pos, $I10, $P10) = rx919_cur."!mark_fail"(0)
-    lt rx919_pos, -1, rx919_done
-    eq rx919_pos, -1, rx919_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", 413
+    (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
-  rx919_done:
-    rx919_cur."!cursor_fail"()
-    rx919_cur."!cursor_debug"("FAIL  ", "postfix:sym<.>")
-    .return (rx919_cur)
+  rx933_done:
+    rx933_cur."!cursor_fail"()
+    rx933_cur."!cursor_debug"("FAIL  ", "postfix:sym<.>")
+    .return (rx933_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__postfix:sym<.>"  :subid("230_1260829317.63188") :method
-.annotate "line", 408
-    $P921 = self."!PREFIX__!subrule"("dotty", "")
-    new $P922, "ResizablePMCArray"
-    push $P922, $P921
-    .return ($P922)
+.sub "!PREFIX__postfix:sym<.>"  :subid("234_1261019367.36172") :method
+.annotate "line", 413
+    $P935 = self."!PREFIX__!subrule"("dotty", "")
+    new $P936, "ResizablePMCArray"
+    push $P936, $P935
+    .return ($P936)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "prefix:sym<++>"  :subid("231_1260829317.63188") :method :outer("11_1260829317.63188")
-.annotate "line", 408
-    .local string rx925_tgt
-    .local int rx925_pos
-    .local int rx925_off
-    .local int rx925_eos
-    .local int rx925_rep
-    .local pmc rx925_cur
-    (rx925_cur, rx925_pos, rx925_tgt) = self."!cursor_start"()
-    rx925_cur."!cursor_debug"("START ", "prefix:sym<++>")
-    .lex unicode:"$\x{a2}", rx925_cur
-    .local pmc match
-    .lex "$/", match
-    length rx925_eos, rx925_tgt
-    set rx925_off, 0
-    lt rx925_pos, 2, rx925_start
-    sub rx925_off, rx925_pos, 1
-    substr rx925_tgt, rx925_tgt, rx925_off
-  rx925_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan929_done
-    goto rxscan929_scan
-  rxscan929_loop:
-    ($P10) = rx925_cur."from"()
-    inc $P10
-    set rx925_pos, $P10
-    ge rx925_pos, rx925_eos, rxscan929_done
-  rxscan929_scan:
-    set_addr $I10, rxscan929_loop
-    rx925_cur."!mark_push"(0, rx925_pos, $I10)
-  rxscan929_done:
-.annotate "line", 452
+.sub "prefix:sym<++>"  :subid("235_1261019367.36172") :method :outer("11_1261019367.36172")
+.annotate "line", 413
+    .local string rx939_tgt
+    .local int rx939_pos
+    .local int rx939_off
+    .local int rx939_eos
+    .local int rx939_rep
+    .local pmc rx939_cur
+    (rx939_cur, rx939_pos, rx939_tgt) = self."!cursor_start"()
+    rx939_cur."!cursor_debug"("START ", "prefix:sym<++>")
+    .lex unicode:"$\x{a2}", rx939_cur
+    .local pmc match
+    .lex "$/", match
+    length rx939_eos, rx939_tgt
+    set rx939_off, 0
+    lt rx939_pos, 2, rx939_start
+    sub rx939_off, rx939_pos, 1
+    substr rx939_tgt, rx939_tgt, rx939_off
+  rx939_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan943_done
+    goto rxscan943_scan
+  rxscan943_loop:
+    ($P10) = rx939_cur."from"()
+    inc $P10
+    set rx939_pos, $P10
+    ge rx939_pos, rx939_eos, rxscan943_done
+  rxscan943_scan:
+    set_addr $I10, rxscan943_loop
+    rx939_cur."!mark_push"(0, rx939_pos, $I10)
+  rxscan943_done:
+.annotate "line", 457
   # rx subcapture "sym"
-    set_addr $I10, rxcap_930_fail
-    rx925_cur."!mark_push"(0, rx925_pos, $I10)
-  # rx literal  "++"
-    add $I11, rx925_pos, 2
-    gt $I11, rx925_eos, rx925_fail
-    sub $I11, rx925_pos, rx925_off
-    substr $S10, rx925_tgt, $I11, 2
-    ne $S10, "++", rx925_fail
-    add rx925_pos, 2
-    set_addr $I10, rxcap_930_fail
-    ($I12, $I11) = rx925_cur."!mark_peek"($I10)
-    rx925_cur."!cursor_pos"($I11)
-    ($P10) = rx925_cur."!cursor_start"()
-    $P10."!cursor_pass"(rx925_pos, "")
-    rx925_cur."!mark_push"(0, -1, 0, $P10)
-    $P10."!cursor_names"("sym")
-    goto rxcap_930_done
-  rxcap_930_fail:
-    goto rx925_fail
-  rxcap_930_done:
-  # rx subrule "O" subtype=capture negate=
-    rx925_cur."!cursor_pos"(rx925_pos)
-    $P10 = rx925_cur."O"("%autoincrement, :pirop<inc>")
-    unless $P10, rx925_fail
-    rx925_cur."!mark_push"(0, -1, 0, $P10)
-    $P10."!cursor_names"("O")
-    rx925_pos = $P10."pos"()
-  # rx pass
-    rx925_cur."!cursor_pass"(rx925_pos, "prefix:sym<++>")
-    rx925_cur."!cursor_debug"("PASS  ", "prefix:sym<++>", " at pos=", rx925_pos)
-    .return (rx925_cur)
-  rx925_fail:
-.annotate "line", 408
-    (rx925_rep, rx925_pos, $I10, $P10) = rx925_cur."!mark_fail"(0)
-    lt rx925_pos, -1, rx925_done
-    eq rx925_pos, -1, rx925_fail
-    jump $I10
-  rx925_done:
-    rx925_cur."!cursor_fail"()
-    rx925_cur."!cursor_debug"("FAIL  ", "prefix:sym<++>")
-    .return (rx925_cur)
-    .return ()
-.end
-
-
-.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__prefix:sym<++>"  :subid("232_1260829317.63188") :method
-.annotate "line", 408
-    $P927 = self."!PREFIX__!subrule"("O", "++")
-    new $P928, "ResizablePMCArray"
-    push $P928, $P927
-    .return ($P928)
-.end
-
-
-.namespace ["NQP";"Grammar"]
-.sub "prefix:sym<-->"  :subid("233_1260829317.63188") :method :outer("11_1260829317.63188")
-.annotate "line", 408
-    .local string rx932_tgt
-    .local int rx932_pos
-    .local int rx932_off
-    .local int rx932_eos
-    .local int rx932_rep
-    .local pmc rx932_cur
-    (rx932_cur, rx932_pos, rx932_tgt) = self."!cursor_start"()
-    rx932_cur."!cursor_debug"("START ", "prefix:sym<-->")
-    .lex unicode:"$\x{a2}", rx932_cur
-    .local pmc match
-    .lex "$/", match
-    length rx932_eos, rx932_tgt
-    set rx932_off, 0
-    lt rx932_pos, 2, rx932_start
-    sub rx932_off, rx932_pos, 1
-    substr rx932_tgt, rx932_tgt, rx932_off
-  rx932_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan936_done
-    goto rxscan936_scan
-  rxscan936_loop:
-    ($P10) = rx932_cur."from"()
-    inc $P10
-    set rx932_pos, $P10
-    ge rx932_pos, rx932_eos, rxscan936_done
-  rxscan936_scan:
-    set_addr $I10, rxscan936_loop
-    rx932_cur."!mark_push"(0, rx932_pos, $I10)
-  rxscan936_done:
-.annotate "line", 453
-  # rx subcapture "sym"
-    set_addr $I10, rxcap_937_fail
-    rx932_cur."!mark_push"(0, rx932_pos, $I10)
-  # rx literal  "--"
-    add $I11, rx932_pos, 2
-    gt $I11, rx932_eos, rx932_fail
-    sub $I11, rx932_pos, rx932_off
-    substr $S10, rx932_tgt, $I11, 2
-    ne $S10, "--", rx932_fail
-    add rx932_pos, 2
-    set_addr $I10, rxcap_937_fail
-    ($I12, $I11) = rx932_cur."!mark_peek"($I10)
-    rx932_cur."!cursor_pos"($I11)
-    ($P10) = rx932_cur."!cursor_start"()
-    $P10."!cursor_pass"(rx932_pos, "")
-    rx932_cur."!mark_push"(0, -1, 0, $P10)
-    $P10."!cursor_names"("sym")
-    goto rxcap_937_done
-  rxcap_937_fail:
-    goto rx932_fail
-  rxcap_937_done:
-  # rx subrule "O" subtype=capture negate=
-    rx932_cur."!cursor_pos"(rx932_pos)
-    $P10 = rx932_cur."O"("%autoincrement, :pirop<dec>")
-    unless $P10, rx932_fail
-    rx932_cur."!mark_push"(0, -1, 0, $P10)
-    $P10."!cursor_names"("O")
-    rx932_pos = $P10."pos"()
-  # rx pass
-    rx932_cur."!cursor_pass"(rx932_pos, "prefix:sym<-->")
-    rx932_cur."!cursor_debug"("PASS  ", "prefix:sym<-->", " at pos=", rx932_pos)
-    .return (rx932_cur)
-  rx932_fail:
-.annotate "line", 408
-    (rx932_rep, rx932_pos, $I10, $P10) = rx932_cur."!mark_fail"(0)
-    lt rx932_pos, -1, rx932_done
-    eq rx932_pos, -1, rx932_fail
-    jump $I10
-  rx932_done:
-    rx932_cur."!cursor_fail"()
-    rx932_cur."!cursor_debug"("FAIL  ", "prefix:sym<-->")
-    .return (rx932_cur)
-    .return ()
-.end
-
-
-.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__prefix:sym<-->"  :subid("234_1260829317.63188") :method
-.annotate "line", 408
-    $P934 = self."!PREFIX__!subrule"("O", "--")
-    new $P935, "ResizablePMCArray"
-    push $P935, $P934
-    .return ($P935)
-.end
-
-
-.namespace ["NQP";"Grammar"]
-.sub "postfix:sym<++>"  :subid("235_1260829317.63188") :method :outer("11_1260829317.63188")
-.annotate "line", 408
-    .local string rx939_tgt
-    .local int rx939_pos
-    .local int rx939_off
-    .local int rx939_eos
-    .local int rx939_rep
-    .local pmc rx939_cur
-    (rx939_cur, rx939_pos, rx939_tgt) = self."!cursor_start"()
-    rx939_cur."!cursor_debug"("START ", "postfix:sym<++>")
-    .lex unicode:"$\x{a2}", rx939_cur
-    .local pmc match
-    .lex "$/", match
-    length rx939_eos, rx939_tgt
-    set rx939_off, 0
-    lt rx939_pos, 2, rx939_start
-    sub rx939_off, rx939_pos, 1
-    substr rx939_tgt, rx939_tgt, rx939_off
-  rx939_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan943_done
-    goto rxscan943_scan
-  rxscan943_loop:
-    ($P10) = rx939_cur."from"()
-    inc $P10
-    set rx939_pos, $P10
-    ge rx939_pos, rx939_eos, rxscan943_done
-  rxscan943_scan:
-    set_addr $I10, rxscan943_loop
-    rx939_cur."!mark_push"(0, rx939_pos, $I10)
-  rxscan943_done:
-.annotate "line", 456
-  # rx subcapture "sym"
-    set_addr $I10, rxcap_944_fail
-    rx939_cur."!mark_push"(0, rx939_pos, $I10)
+    set_addr $I10, rxcap_944_fail
+    rx939_cur."!mark_push"(0, rx939_pos, $I10)
   # rx literal  "++"
     add $I11, rx939_pos, 2
     gt $I11, rx939_eos, rx939_fail
@@ -11419,32 +11416,32 @@
   rxcap_944_done:
   # rx subrule "O" subtype=capture negate=
     rx939_cur."!cursor_pos"(rx939_pos)
-    $P10 = rx939_cur."O"("%autoincrement")
+    $P10 = rx939_cur."O"("%autoincrement, :pirop<inc>")
     unless $P10, rx939_fail
     rx939_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("O")
     rx939_pos = $P10."pos"()
   # rx pass
-    rx939_cur."!cursor_pass"(rx939_pos, "postfix:sym<++>")
-    rx939_cur."!cursor_debug"("PASS  ", "postfix:sym<++>", " at pos=", rx939_pos)
+    rx939_cur."!cursor_pass"(rx939_pos, "prefix:sym<++>")
+    rx939_cur."!cursor_debug"("PASS  ", "prefix:sym<++>", " at pos=", rx939_pos)
     .return (rx939_cur)
   rx939_fail:
-.annotate "line", 408
+.annotate "line", 413
     (rx939_rep, rx939_pos, $I10, $P10) = rx939_cur."!mark_fail"(0)
     lt rx939_pos, -1, rx939_done
     eq rx939_pos, -1, rx939_fail
     jump $I10
   rx939_done:
     rx939_cur."!cursor_fail"()
-    rx939_cur."!cursor_debug"("FAIL  ", "postfix:sym<++>")
+    rx939_cur."!cursor_debug"("FAIL  ", "prefix:sym<++>")
     .return (rx939_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__postfix:sym<++>"  :subid("236_1260829317.63188") :method
-.annotate "line", 408
+.sub "!PREFIX__prefix:sym<++>"  :subid("236_1261019367.36172") :method
+.annotate "line", 413
     $P941 = self."!PREFIX__!subrule"("O", "++")
     new $P942, "ResizablePMCArray"
     push $P942, $P941
@@ -11453,8 +11450,8 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "postfix:sym<-->"  :subid("237_1260829317.63188") :method :outer("11_1260829317.63188")
-.annotate "line", 408
+.sub "prefix:sym<-->"  :subid("237_1261019367.36172") :method :outer("11_1261019367.36172")
+.annotate "line", 413
     .local string rx946_tgt
     .local int rx946_pos
     .local int rx946_off
@@ -11462,7 +11459,7 @@
     .local int rx946_rep
     .local pmc rx946_cur
     (rx946_cur, rx946_pos, rx946_tgt) = self."!cursor_start"()
-    rx946_cur."!cursor_debug"("START ", "postfix:sym<-->")
+    rx946_cur."!cursor_debug"("START ", "prefix:sym<-->")
     .lex unicode:"$\x{a2}", rx946_cur
     .local pmc match
     .lex "$/", match
@@ -11484,7 +11481,7 @@
     set_addr $I10, rxscan950_loop
     rx946_cur."!mark_push"(0, rx946_pos, $I10)
   rxscan950_done:
-.annotate "line", 457
+.annotate "line", 458
   # rx subcapture "sym"
     set_addr $I10, rxcap_951_fail
     rx946_cur."!mark_push"(0, rx946_pos, $I10)
@@ -11508,32 +11505,32 @@
   rxcap_951_done:
   # rx subrule "O" subtype=capture negate=
     rx946_cur."!cursor_pos"(rx946_pos)
-    $P10 = rx946_cur."O"("%autoincrement")
+    $P10 = rx946_cur."O"("%autoincrement, :pirop<dec>")
     unless $P10, rx946_fail
     rx946_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("O")
     rx946_pos = $P10."pos"()
   # rx pass
-    rx946_cur."!cursor_pass"(rx946_pos, "postfix:sym<-->")
-    rx946_cur."!cursor_debug"("PASS  ", "postfix:sym<-->", " at pos=", rx946_pos)
+    rx946_cur."!cursor_pass"(rx946_pos, "prefix:sym<-->")
+    rx946_cur."!cursor_debug"("PASS  ", "prefix:sym<-->", " at pos=", rx946_pos)
     .return (rx946_cur)
   rx946_fail:
-.annotate "line", 408
+.annotate "line", 413
     (rx946_rep, rx946_pos, $I10, $P10) = rx946_cur."!mark_fail"(0)
     lt rx946_pos, -1, rx946_done
     eq rx946_pos, -1, rx946_fail
     jump $I10
   rx946_done:
     rx946_cur."!cursor_fail"()
-    rx946_cur."!cursor_debug"("FAIL  ", "postfix:sym<-->")
+    rx946_cur."!cursor_debug"("FAIL  ", "prefix:sym<-->")
     .return (rx946_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__postfix:sym<-->"  :subid("238_1260829317.63188") :method
-.annotate "line", 408
+.sub "!PREFIX__prefix:sym<-->"  :subid("238_1261019367.36172") :method
+.annotate "line", 413
     $P948 = self."!PREFIX__!subrule"("O", "--")
     new $P949, "ResizablePMCArray"
     push $P949, $P948
@@ -11542,8 +11539,8 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "infix:sym<**>"  :subid("239_1260829317.63188") :method :outer("11_1260829317.63188")
-.annotate "line", 408
+.sub "postfix:sym<++>"  :subid("239_1261019367.36172") :method :outer("11_1261019367.36172")
+.annotate "line", 413
     .local string rx953_tgt
     .local int rx953_pos
     .local int rx953_off
@@ -11551,7 +11548,7 @@
     .local int rx953_rep
     .local pmc rx953_cur
     (rx953_cur, rx953_pos, rx953_tgt) = self."!cursor_start"()
-    rx953_cur."!cursor_debug"("START ", "infix:sym<**>")
+    rx953_cur."!cursor_debug"("START ", "postfix:sym<++>")
     .lex unicode:"$\x{a2}", rx953_cur
     .local pmc match
     .lex "$/", match
@@ -11573,16 +11570,16 @@
     set_addr $I10, rxscan957_loop
     rx953_cur."!mark_push"(0, rx953_pos, $I10)
   rxscan957_done:
-.annotate "line", 459
+.annotate "line", 461
   # rx subcapture "sym"
     set_addr $I10, rxcap_958_fail
     rx953_cur."!mark_push"(0, rx953_pos, $I10)
-  # rx literal  "**"
+  # rx literal  "++"
     add $I11, rx953_pos, 2
     gt $I11, rx953_eos, rx953_fail
     sub $I11, rx953_pos, rx953_off
     substr $S10, rx953_tgt, $I11, 2
-    ne $S10, "**", rx953_fail
+    ne $S10, "++", rx953_fail
     add rx953_pos, 2
     set_addr $I10, rxcap_958_fail
     ($I12, $I11) = rx953_cur."!mark_peek"($I10)
@@ -11597,33 +11594,33 @@
   rxcap_958_done:
   # rx subrule "O" subtype=capture negate=
     rx953_cur."!cursor_pos"(rx953_pos)
-    $P10 = rx953_cur."O"("%exponentiation, :pirop<pow>")
+    $P10 = rx953_cur."O"("%autoincrement")
     unless $P10, rx953_fail
     rx953_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("O")
     rx953_pos = $P10."pos"()
   # rx pass
-    rx953_cur."!cursor_pass"(rx953_pos, "infix:sym<**>")
-    rx953_cur."!cursor_debug"("PASS  ", "infix:sym<**>", " at pos=", rx953_pos)
+    rx953_cur."!cursor_pass"(rx953_pos, "postfix:sym<++>")
+    rx953_cur."!cursor_debug"("PASS  ", "postfix:sym<++>", " at pos=", rx953_pos)
     .return (rx953_cur)
   rx953_fail:
-.annotate "line", 408
+.annotate "line", 413
     (rx953_rep, rx953_pos, $I10, $P10) = rx953_cur."!mark_fail"(0)
     lt rx953_pos, -1, rx953_done
     eq rx953_pos, -1, rx953_fail
     jump $I10
   rx953_done:
     rx953_cur."!cursor_fail"()
-    rx953_cur."!cursor_debug"("FAIL  ", "infix:sym<**>")
+    rx953_cur."!cursor_debug"("FAIL  ", "postfix:sym<++>")
     .return (rx953_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__infix:sym<**>"  :subid("240_1260829317.63188") :method
-.annotate "line", 408
-    $P955 = self."!PREFIX__!subrule"("O", "**")
+.sub "!PREFIX__postfix:sym<++>"  :subid("240_1261019367.36172") :method
+.annotate "line", 413
+    $P955 = self."!PREFIX__!subrule"("O", "++")
     new $P956, "ResizablePMCArray"
     push $P956, $P955
     .return ($P956)
@@ -11631,8 +11628,8 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "prefix:sym<+>"  :subid("241_1260829317.63188") :method :outer("11_1260829317.63188")
-.annotate "line", 408
+.sub "postfix:sym<-->"  :subid("241_1261019367.36172") :method :outer("11_1261019367.36172")
+.annotate "line", 413
     .local string rx960_tgt
     .local int rx960_pos
     .local int rx960_off
@@ -11640,7 +11637,7 @@
     .local int rx960_rep
     .local pmc rx960_cur
     (rx960_cur, rx960_pos, rx960_tgt) = self."!cursor_start"()
-    rx960_cur."!cursor_debug"("START ", "prefix:sym<+>")
+    rx960_cur."!cursor_debug"("START ", "postfix:sym<-->")
     .lex unicode:"$\x{a2}", rx960_cur
     .local pmc match
     .lex "$/", match
@@ -11662,17 +11659,17 @@
     set_addr $I10, rxscan964_loop
     rx960_cur."!mark_push"(0, rx960_pos, $I10)
   rxscan964_done:
-.annotate "line", 461
+.annotate "line", 462
   # rx subcapture "sym"
     set_addr $I10, rxcap_965_fail
     rx960_cur."!mark_push"(0, rx960_pos, $I10)
-  # rx literal  "+"
-    add $I11, rx960_pos, 1
+  # rx literal  "--"
+    add $I11, rx960_pos, 2
     gt $I11, rx960_eos, rx960_fail
     sub $I11, rx960_pos, rx960_off
-    substr $S10, rx960_tgt, $I11, 1
-    ne $S10, "+", rx960_fail
-    add rx960_pos, 1
+    substr $S10, rx960_tgt, $I11, 2
+    ne $S10, "--", rx960_fail
+    add rx960_pos, 2
     set_addr $I10, rxcap_965_fail
     ($I12, $I11) = rx960_cur."!mark_peek"($I10)
     rx960_cur."!cursor_pos"($I11)
@@ -11686,33 +11683,33 @@
   rxcap_965_done:
   # rx subrule "O" subtype=capture negate=
     rx960_cur."!cursor_pos"(rx960_pos)
-    $P10 = rx960_cur."O"("%symbolic_unary, :pirop<set N*>")
+    $P10 = rx960_cur."O"("%autoincrement")
     unless $P10, rx960_fail
     rx960_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("O")
     rx960_pos = $P10."pos"()
   # rx pass
-    rx960_cur."!cursor_pass"(rx960_pos, "prefix:sym<+>")
-    rx960_cur."!cursor_debug"("PASS  ", "prefix:sym<+>", " at pos=", rx960_pos)
+    rx960_cur."!cursor_pass"(rx960_pos, "postfix:sym<-->")
+    rx960_cur."!cursor_debug"("PASS  ", "postfix:sym<-->", " at pos=", rx960_pos)
     .return (rx960_cur)
   rx960_fail:
-.annotate "line", 408
+.annotate "line", 413
     (rx960_rep, rx960_pos, $I10, $P10) = rx960_cur."!mark_fail"(0)
     lt rx960_pos, -1, rx960_done
     eq rx960_pos, -1, rx960_fail
     jump $I10
   rx960_done:
     rx960_cur."!cursor_fail"()
-    rx960_cur."!cursor_debug"("FAIL  ", "prefix:sym<+>")
+    rx960_cur."!cursor_debug"("FAIL  ", "postfix:sym<-->")
     .return (rx960_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__prefix:sym<+>"  :subid("242_1260829317.63188") :method
-.annotate "line", 408
-    $P962 = self."!PREFIX__!subrule"("O", "+")
+.sub "!PREFIX__postfix:sym<-->"  :subid("242_1261019367.36172") :method
+.annotate "line", 413
+    $P962 = self."!PREFIX__!subrule"("O", "--")
     new $P963, "ResizablePMCArray"
     push $P963, $P962
     .return ($P963)
@@ -11720,8 +11717,8 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "prefix:sym<~>"  :subid("243_1260829317.63188") :method :outer("11_1260829317.63188")
-.annotate "line", 408
+.sub "infix:sym<**>"  :subid("243_1261019367.36172") :method :outer("11_1261019367.36172")
+.annotate "line", 413
     .local string rx967_tgt
     .local int rx967_pos
     .local int rx967_off
@@ -11729,7 +11726,7 @@
     .local int rx967_rep
     .local pmc rx967_cur
     (rx967_cur, rx967_pos, rx967_tgt) = self."!cursor_start"()
-    rx967_cur."!cursor_debug"("START ", "prefix:sym<~>")
+    rx967_cur."!cursor_debug"("START ", "infix:sym<**>")
     .lex unicode:"$\x{a2}", rx967_cur
     .local pmc match
     .lex "$/", match
@@ -11751,17 +11748,17 @@
     set_addr $I10, rxscan971_loop
     rx967_cur."!mark_push"(0, rx967_pos, $I10)
   rxscan971_done:
-.annotate "line", 462
+.annotate "line", 464
   # rx subcapture "sym"
     set_addr $I10, rxcap_972_fail
     rx967_cur."!mark_push"(0, rx967_pos, $I10)
-  # rx literal  "~"
-    add $I11, rx967_pos, 1
+  # rx literal  "**"
+    add $I11, rx967_pos, 2
     gt $I11, rx967_eos, rx967_fail
     sub $I11, rx967_pos, rx967_off
-    substr $S10, rx967_tgt, $I11, 1
-    ne $S10, "~", rx967_fail
-    add rx967_pos, 1
+    substr $S10, rx967_tgt, $I11, 2
+    ne $S10, "**", rx967_fail
+    add rx967_pos, 2
     set_addr $I10, rxcap_972_fail
     ($I12, $I11) = rx967_cur."!mark_peek"($I10)
     rx967_cur."!cursor_pos"($I11)
@@ -11775,33 +11772,33 @@
   rxcap_972_done:
   # rx subrule "O" subtype=capture negate=
     rx967_cur."!cursor_pos"(rx967_pos)
-    $P10 = rx967_cur."O"("%symbolic_unary, :pirop<set S*>")
+    $P10 = rx967_cur."O"("%exponentiation, :pirop<pow>")
     unless $P10, rx967_fail
     rx967_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("O")
     rx967_pos = $P10."pos"()
   # rx pass
-    rx967_cur."!cursor_pass"(rx967_pos, "prefix:sym<~>")
-    rx967_cur."!cursor_debug"("PASS  ", "prefix:sym<~>", " at pos=", rx967_pos)
+    rx967_cur."!cursor_pass"(rx967_pos, "infix:sym<**>")
+    rx967_cur."!cursor_debug"("PASS  ", "infix:sym<**>", " at pos=", rx967_pos)
     .return (rx967_cur)
   rx967_fail:
-.annotate "line", 408
+.annotate "line", 413
     (rx967_rep, rx967_pos, $I10, $P10) = rx967_cur."!mark_fail"(0)
     lt rx967_pos, -1, rx967_done
     eq rx967_pos, -1, rx967_fail
     jump $I10
   rx967_done:
     rx967_cur."!cursor_fail"()
-    rx967_cur."!cursor_debug"("FAIL  ", "prefix:sym<~>")
+    rx967_cur."!cursor_debug"("FAIL  ", "infix:sym<**>")
     .return (rx967_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__prefix:sym<~>"  :subid("244_1260829317.63188") :method
-.annotate "line", 408
-    $P969 = self."!PREFIX__!subrule"("O", "~")
+.sub "!PREFIX__infix:sym<**>"  :subid("244_1261019367.36172") :method
+.annotate "line", 413
+    $P969 = self."!PREFIX__!subrule"("O", "**")
     new $P970, "ResizablePMCArray"
     push $P970, $P969
     .return ($P970)
@@ -11809,8 +11806,8 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "prefix:sym<->"  :subid("245_1260829317.63188") :method :outer("11_1260829317.63188")
-.annotate "line", 408
+.sub "prefix:sym<+>"  :subid("245_1261019367.36172") :method :outer("11_1261019367.36172")
+.annotate "line", 413
     .local string rx974_tgt
     .local int rx974_pos
     .local int rx974_off
@@ -11818,7 +11815,7 @@
     .local int rx974_rep
     .local pmc rx974_cur
     (rx974_cur, rx974_pos, rx974_tgt) = self."!cursor_start"()
-    rx974_cur."!cursor_debug"("START ", "prefix:sym<->")
+    rx974_cur."!cursor_debug"("START ", "prefix:sym<+>")
     .lex unicode:"$\x{a2}", rx974_cur
     .local pmc match
     .lex "$/", match
@@ -11829,264 +11826,264 @@
     substr rx974_tgt, rx974_tgt, rx974_off
   rx974_start:
     $I10 = self.'from'()
-    ne $I10, -1, rxscan977_done
-    goto rxscan977_scan
-  rxscan977_loop:
+    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, rxscan977_done
-  rxscan977_scan:
-    set_addr $I10, rxscan977_loop
+    ge rx974_pos, rx974_eos, rxscan978_done
+  rxscan978_scan:
+    set_addr $I10, rxscan978_loop
     rx974_cur."!mark_push"(0, rx974_pos, $I10)
-  rxscan977_done:
-.annotate "line", 463
+  rxscan978_done:
+.annotate "line", 466
   # rx subcapture "sym"
-    set_addr $I10, rxcap_978_fail
+    set_addr $I10, rxcap_979_fail
     rx974_cur."!mark_push"(0, rx974_pos, $I10)
-  # rx literal  "-"
+  # 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
+    ne $S10, "+", rx974_fail
     add rx974_pos, 1
-    set_addr $I10, rxcap_978_fail
+    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_978_done
-  rxcap_978_fail:
+    goto rxcap_979_done
+  rxcap_979_fail:
     goto rx974_fail
-  rxcap_978_done:
-  # rx enumcharlist negate=1 zerowidth
-    ge rx974_pos, rx974_eos, rx974_fail
-    sub $I10, rx974_pos, rx974_off
-    substr $S10, rx974_tgt, $I10, 1
-    index $I11, ">", $S10
-    ge $I11, 0, rx974_fail
-  # rx subrule "number" subtype=zerowidth negate=1
-    rx974_cur."!cursor_pos"(rx974_pos)
-    $P10 = rx974_cur."number"()
-    if $P10, rx974_fail
+  rxcap_979_done:
   # rx subrule "O" subtype=capture negate=
     rx974_cur."!cursor_pos"(rx974_pos)
-    $P10 = rx974_cur."O"("%symbolic_unary, :pirop<neg>")
+    $P10 = rx974_cur."O"("%symbolic_unary, :pirop<set N*>")
     unless $P10, rx974_fail
     rx974_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("O")
     rx974_pos = $P10."pos"()
   # rx pass
-    rx974_cur."!cursor_pass"(rx974_pos, "prefix:sym<->")
-    rx974_cur."!cursor_debug"("PASS  ", "prefix:sym<->", " at pos=", rx974_pos)
+    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", 408
+.annotate "line", 413
     (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
   rx974_done:
     rx974_cur."!cursor_fail"()
-    rx974_cur."!cursor_debug"("FAIL  ", "prefix:sym<->")
+    rx974_cur."!cursor_debug"("FAIL  ", "prefix:sym<+>")
     .return (rx974_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__prefix:sym<->"  :subid("246_1260829317.63188") :method
-.annotate "line", 408
-    new $P976, "ResizablePMCArray"
-    push $P976, "-"
-    .return ($P976)
+.sub "!PREFIX__prefix:sym<+>"  :subid("246_1261019367.36172") :method
+.annotate "line", 413
+    $P976 = self."!PREFIX__!subrule"("O", "+")
+    new $P977, "ResizablePMCArray"
+    push $P977, $P976
+    .return ($P977)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "prefix:sym<?>"  :subid("247_1260829317.63188") :method :outer("11_1260829317.63188")
-.annotate "line", 408
-    .local string rx980_tgt
-    .local int rx980_pos
-    .local int rx980_off
-    .local int rx980_eos
-    .local int rx980_rep
-    .local pmc rx980_cur
-    (rx980_cur, rx980_pos, rx980_tgt) = self."!cursor_start"()
-    rx980_cur."!cursor_debug"("START ", "prefix:sym<?>")
-    .lex unicode:"$\x{a2}", rx980_cur
-    .local pmc match
-    .lex "$/", match
-    length rx980_eos, rx980_tgt
-    set rx980_off, 0
-    lt rx980_pos, 2, rx980_start
-    sub rx980_off, rx980_pos, 1
-    substr rx980_tgt, rx980_tgt, rx980_off
-  rx980_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan984_done
-    goto rxscan984_scan
-  rxscan984_loop:
-    ($P10) = rx980_cur."from"()
-    inc $P10
-    set rx980_pos, $P10
-    ge rx980_pos, rx980_eos, rxscan984_done
-  rxscan984_scan:
-    set_addr $I10, rxscan984_loop
-    rx980_cur."!mark_push"(0, rx980_pos, $I10)
-  rxscan984_done:
-.annotate "line", 464
+.sub "prefix:sym<~>"  :subid("247_1261019367.36172") :method :outer("11_1261019367.36172")
+.annotate "line", 413
+    .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", 467
   # rx subcapture "sym"
-    set_addr $I10, rxcap_985_fail
-    rx980_cur."!mark_push"(0, rx980_pos, $I10)
-  # rx literal  "?"
-    add $I11, rx980_pos, 1
-    gt $I11, rx980_eos, rx980_fail
-    sub $I11, rx980_pos, rx980_off
-    substr $S10, rx980_tgt, $I11, 1
-    ne $S10, "?", rx980_fail
-    add rx980_pos, 1
-    set_addr $I10, rxcap_985_fail
-    ($I12, $I11) = rx980_cur."!mark_peek"($I10)
-    rx980_cur."!cursor_pos"($I11)
-    ($P10) = rx980_cur."!cursor_start"()
-    $P10."!cursor_pass"(rx980_pos, "")
-    rx980_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_985_done
-  rxcap_985_fail:
-    goto rx980_fail
-  rxcap_985_done:
+    goto rxcap_986_done
+  rxcap_986_fail:
+    goto rx981_fail
+  rxcap_986_done:
   # rx subrule "O" subtype=capture negate=
-    rx980_cur."!cursor_pos"(rx980_pos)
-    $P10 = rx980_cur."O"("%symbolic_unary, :pirop<istrue>")
-    unless $P10, rx980_fail
-    rx980_cur."!mark_push"(0, -1, 0, $P10)
+    rx981_cur."!cursor_pos"(rx981_pos)
+    $P10 = rx981_cur."O"("%symbolic_unary, :pirop<set S*>")
+    unless $P10, rx981_fail
+    rx981_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("O")
-    rx980_pos = $P10."pos"()
+    rx981_pos = $P10."pos"()
   # rx pass
-    rx980_cur."!cursor_pass"(rx980_pos, "prefix:sym<?>")
-    rx980_cur."!cursor_debug"("PASS  ", "prefix:sym<?>", " at pos=", rx980_pos)
-    .return (rx980_cur)
-  rx980_fail:
-.annotate "line", 408
-    (rx980_rep, rx980_pos, $I10, $P10) = rx980_cur."!mark_fail"(0)
-    lt rx980_pos, -1, rx980_done
-    eq rx980_pos, -1, rx980_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", 413
+    (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
-  rx980_done:
-    rx980_cur."!cursor_fail"()
-    rx980_cur."!cursor_debug"("FAIL  ", "prefix:sym<?>")
-    .return (rx980_cur)
+  rx981_done:
+    rx981_cur."!cursor_fail"()
+    rx981_cur."!cursor_debug"("FAIL  ", "prefix:sym<~>")
+    .return (rx981_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__prefix:sym<?>"  :subid("248_1260829317.63188") :method
-.annotate "line", 408
-    $P982 = self."!PREFIX__!subrule"("O", "?")
-    new $P983, "ResizablePMCArray"
-    push $P983, $P982
-    .return ($P983)
+.sub "!PREFIX__prefix:sym<~>"  :subid("248_1261019367.36172") :method
+.annotate "line", 413
+    $P983 = self."!PREFIX__!subrule"("O", "~")
+    new $P984, "ResizablePMCArray"
+    push $P984, $P983
+    .return ($P984)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "prefix:sym<!>"  :subid("249_1260829317.63188") :method :outer("11_1260829317.63188")
-.annotate "line", 408
-    .local string rx987_tgt
-    .local int rx987_pos
-    .local int rx987_off
-    .local int rx987_eos
-    .local int rx987_rep
-    .local pmc rx987_cur
-    (rx987_cur, rx987_pos, rx987_tgt) = self."!cursor_start"()
-    rx987_cur."!cursor_debug"("START ", "prefix:sym<!>")
-    .lex unicode:"$\x{a2}", rx987_cur
-    .local pmc match
-    .lex "$/", match
-    length rx987_eos, rx987_tgt
-    set rx987_off, 0
-    lt rx987_pos, 2, rx987_start
-    sub rx987_off, rx987_pos, 1
-    substr rx987_tgt, rx987_tgt, rx987_off
-  rx987_start:
+.sub "prefix:sym<->"  :subid("249_1261019367.36172") :method :outer("11_1261019367.36172")
+.annotate "line", 413
+    .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, rxscan991_done
     goto rxscan991_scan
   rxscan991_loop:
-    ($P10) = rx987_cur."from"()
+    ($P10) = rx988_cur."from"()
     inc $P10
-    set rx987_pos, $P10
-    ge rx987_pos, rx987_eos, rxscan991_done
+    set rx988_pos, $P10
+    ge rx988_pos, rx988_eos, rxscan991_done
   rxscan991_scan:
     set_addr $I10, rxscan991_loop
-    rx987_cur."!mark_push"(0, rx987_pos, $I10)
+    rx988_cur."!mark_push"(0, rx988_pos, $I10)
   rxscan991_done:
-.annotate "line", 465
+.annotate "line", 468
   # rx subcapture "sym"
     set_addr $I10, rxcap_992_fail
-    rx987_cur."!mark_push"(0, rx987_pos, $I10)
-  # rx literal  "!"
-    add $I11, rx987_pos, 1
-    gt $I11, rx987_eos, rx987_fail
-    sub $I11, rx987_pos, rx987_off
-    substr $S10, rx987_tgt, $I11, 1
-    ne $S10, "!", rx987_fail
-    add rx987_pos, 1
+    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_992_fail
-    ($I12, $I11) = rx987_cur."!mark_peek"($I10)
-    rx987_cur."!cursor_pos"($I11)
-    ($P10) = rx987_cur."!cursor_start"()
-    $P10."!cursor_pass"(rx987_pos, "")
-    rx987_cur."!mark_push"(0, -1, 0, $P10)
+    ($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_992_done
   rxcap_992_fail:
-    goto rx987_fail
+    goto rx988_fail
   rxcap_992_done:
+  # rx enumcharlist negate=1 zerowidth
+    ge rx988_pos, rx988_eos, rx988_fail
+    sub $I10, rx988_pos, rx988_off
+    substr $S10, rx988_tgt, $I10, 1
+    index $I11, ">", $S10
+    ge $I11, 0, rx988_fail
+  # rx subrule "number" subtype=zerowidth negate=1
+    rx988_cur."!cursor_pos"(rx988_pos)
+    $P10 = rx988_cur."number"()
+    if $P10, rx988_fail
   # rx subrule "O" subtype=capture negate=
-    rx987_cur."!cursor_pos"(rx987_pos)
-    $P10 = rx987_cur."O"("%symbolic_unary, :pirop<isfalse>")
-    unless $P10, rx987_fail
-    rx987_cur."!mark_push"(0, -1, 0, $P10)
+    rx988_cur."!cursor_pos"(rx988_pos)
+    $P10 = rx988_cur."O"("%symbolic_unary, :pirop<neg>")
+    unless $P10, rx988_fail
+    rx988_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("O")
-    rx987_pos = $P10."pos"()
+    rx988_pos = $P10."pos"()
   # rx pass
-    rx987_cur."!cursor_pass"(rx987_pos, "prefix:sym<!>")
-    rx987_cur."!cursor_debug"("PASS  ", "prefix:sym<!>", " at pos=", rx987_pos)
-    .return (rx987_cur)
-  rx987_fail:
-.annotate "line", 408
-    (rx987_rep, rx987_pos, $I10, $P10) = rx987_cur."!mark_fail"(0)
-    lt rx987_pos, -1, rx987_done
-    eq rx987_pos, -1, rx987_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", 413
+    (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
-  rx987_done:
-    rx987_cur."!cursor_fail"()
-    rx987_cur."!cursor_debug"("FAIL  ", "prefix:sym<!>")
-    .return (rx987_cur)
+  rx988_done:
+    rx988_cur."!cursor_fail"()
+    rx988_cur."!cursor_debug"("FAIL  ", "prefix:sym<->")
+    .return (rx988_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__prefix:sym<!>"  :subid("250_1260829317.63188") :method
-.annotate "line", 408
-    $P989 = self."!PREFIX__!subrule"("O", "!")
+.sub "!PREFIX__prefix:sym<->"  :subid("250_1261019367.36172") :method
+.annotate "line", 413
     new $P990, "ResizablePMCArray"
-    push $P990, $P989
+    push $P990, "-"
     .return ($P990)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "prefix:sym<|>"  :subid("251_1260829317.63188") :method :outer("11_1260829317.63188")
-.annotate "line", 408
+.sub "prefix:sym<?>"  :subid("251_1261019367.36172") :method :outer("11_1261019367.36172")
+.annotate "line", 413
     .local string rx994_tgt
     .local int rx994_pos
     .local int rx994_off
@@ -12094,7 +12091,7 @@
     .local int rx994_rep
     .local pmc rx994_cur
     (rx994_cur, rx994_pos, rx994_tgt) = self."!cursor_start"()
-    rx994_cur."!cursor_debug"("START ", "prefix:sym<|>")
+    rx994_cur."!cursor_debug"("START ", "prefix:sym<?>")
     .lex unicode:"$\x{a2}", rx994_cur
     .local pmc match
     .lex "$/", match
@@ -12116,16 +12113,16 @@
     set_addr $I10, rxscan998_loop
     rx994_cur."!mark_push"(0, rx994_pos, $I10)
   rxscan998_done:
-.annotate "line", 466
+.annotate "line", 469
   # rx subcapture "sym"
     set_addr $I10, rxcap_999_fail
     rx994_cur."!mark_push"(0, rx994_pos, $I10)
-  # rx literal  "|"
+  # rx literal  "?"
     add $I11, rx994_pos, 1
     gt $I11, rx994_eos, rx994_fail
     sub $I11, rx994_pos, rx994_off
     substr $S10, rx994_tgt, $I11, 1
-    ne $S10, "|", rx994_fail
+    ne $S10, "?", rx994_fail
     add rx994_pos, 1
     set_addr $I10, rxcap_999_fail
     ($I12, $I11) = rx994_cur."!mark_peek"($I10)
@@ -12140,33 +12137,33 @@
   rxcap_999_done:
   # rx subrule "O" subtype=capture negate=
     rx994_cur."!cursor_pos"(rx994_pos)
-    $P10 = rx994_cur."O"("%symbolic_unary")
+    $P10 = rx994_cur."O"("%symbolic_unary, :pirop<istrue>")
     unless $P10, rx994_fail
     rx994_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("O")
     rx994_pos = $P10."pos"()
   # rx pass
-    rx994_cur."!cursor_pass"(rx994_pos, "prefix:sym<|>")
-    rx994_cur."!cursor_debug"("PASS  ", "prefix:sym<|>", " at pos=", rx994_pos)
+    rx994_cur."!cursor_pass"(rx994_pos, "prefix:sym<?>")
+    rx994_cur."!cursor_debug"("PASS  ", "prefix:sym<?>", " at pos=", rx994_pos)
     .return (rx994_cur)
   rx994_fail:
-.annotate "line", 408
+.annotate "line", 413
     (rx994_rep, rx994_pos, $I10, $P10) = rx994_cur."!mark_fail"(0)
     lt rx994_pos, -1, rx994_done
     eq rx994_pos, -1, rx994_fail
     jump $I10
   rx994_done:
     rx994_cur."!cursor_fail"()
-    rx994_cur."!cursor_debug"("FAIL  ", "prefix:sym<|>")
+    rx994_cur."!cursor_debug"("FAIL  ", "prefix:sym<?>")
     .return (rx994_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__prefix:sym<|>"  :subid("252_1260829317.63188") :method
-.annotate "line", 408
-    $P996 = self."!PREFIX__!subrule"("O", "|")
+.sub "!PREFIX__prefix:sym<?>"  :subid("252_1261019367.36172") :method
+.annotate "line", 413
+    $P996 = self."!PREFIX__!subrule"("O", "?")
     new $P997, "ResizablePMCArray"
     push $P997, $P996
     .return ($P997)
@@ -12174,8 +12171,8 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "infix:sym<*>"  :subid("253_1260829317.63188") :method :outer("11_1260829317.63188")
-.annotate "line", 408
+.sub "prefix:sym<!>"  :subid("253_1261019367.36172") :method :outer("11_1261019367.36172")
+.annotate "line", 413
     .local string rx1001_tgt
     .local int rx1001_pos
     .local int rx1001_off
@@ -12183,7 +12180,7 @@
     .local int rx1001_rep
     .local pmc rx1001_cur
     (rx1001_cur, rx1001_pos, rx1001_tgt) = self."!cursor_start"()
-    rx1001_cur."!cursor_debug"("START ", "infix:sym<*>")
+    rx1001_cur."!cursor_debug"("START ", "prefix:sym<!>")
     .lex unicode:"$\x{a2}", rx1001_cur
     .local pmc match
     .lex "$/", match
@@ -12205,16 +12202,16 @@
     set_addr $I10, rxscan1005_loop
     rx1001_cur."!mark_push"(0, rx1001_pos, $I10)
   rxscan1005_done:
-.annotate "line", 468
+.annotate "line", 470
   # rx subcapture "sym"
     set_addr $I10, rxcap_1006_fail
     rx1001_cur."!mark_push"(0, rx1001_pos, $I10)
-  # rx literal  "*"
+  # rx literal  "!"
     add $I11, rx1001_pos, 1
     gt $I11, rx1001_eos, rx1001_fail
     sub $I11, rx1001_pos, rx1001_off
     substr $S10, rx1001_tgt, $I11, 1
-    ne $S10, "*", rx1001_fail
+    ne $S10, "!", rx1001_fail
     add rx1001_pos, 1
     set_addr $I10, rxcap_1006_fail
     ($I12, $I11) = rx1001_cur."!mark_peek"($I10)
@@ -12229,33 +12226,33 @@
   rxcap_1006_done:
   # rx subrule "O" subtype=capture negate=
     rx1001_cur."!cursor_pos"(rx1001_pos)
-    $P10 = rx1001_cur."O"("%multiplicative, :pirop<mul>")
+    $P10 = rx1001_cur."O"("%symbolic_unary, :pirop<isfalse>")
     unless $P10, rx1001_fail
     rx1001_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("O")
     rx1001_pos = $P10."pos"()
   # rx pass
-    rx1001_cur."!cursor_pass"(rx1001_pos, "infix:sym<*>")
-    rx1001_cur."!cursor_debug"("PASS  ", "infix:sym<*>", " at pos=", rx1001_pos)
+    rx1001_cur."!cursor_pass"(rx1001_pos, "prefix:sym<!>")
+    rx1001_cur."!cursor_debug"("PASS  ", "prefix:sym<!>", " at pos=", rx1001_pos)
     .return (rx1001_cur)
   rx1001_fail:
-.annotate "line", 408
+.annotate "line", 413
     (rx1001_rep, rx1001_pos, $I10, $P10) = rx1001_cur."!mark_fail"(0)
     lt rx1001_pos, -1, rx1001_done
     eq rx1001_pos, -1, rx1001_fail
     jump $I10
   rx1001_done:
     rx1001_cur."!cursor_fail"()
-    rx1001_cur."!cursor_debug"("FAIL  ", "infix:sym<*>")
+    rx1001_cur."!cursor_debug"("FAIL  ", "prefix:sym<!>")
     .return (rx1001_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__infix:sym<*>"  :subid("254_1260829317.63188") :method
-.annotate "line", 408
-    $P1003 = self."!PREFIX__!subrule"("O", "*")
+.sub "!PREFIX__prefix:sym<!>"  :subid("254_1261019367.36172") :method
+.annotate "line", 413
+    $P1003 = self."!PREFIX__!subrule"("O", "!")
     new $P1004, "ResizablePMCArray"
     push $P1004, $P1003
     .return ($P1004)
@@ -12263,8 +12260,8 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "infix:sym</>"  :subid("255_1260829317.63188") :method :outer("11_1260829317.63188")
-.annotate "line", 408
+.sub "prefix:sym<|>"  :subid("255_1261019367.36172") :method :outer("11_1261019367.36172")
+.annotate "line", 413
     .local string rx1008_tgt
     .local int rx1008_pos
     .local int rx1008_off
@@ -12272,7 +12269,7 @@
     .local int rx1008_rep
     .local pmc rx1008_cur
     (rx1008_cur, rx1008_pos, rx1008_tgt) = self."!cursor_start"()
-    rx1008_cur."!cursor_debug"("START ", "infix:sym</>")
+    rx1008_cur."!cursor_debug"("START ", "prefix:sym<|>")
     .lex unicode:"$\x{a2}", rx1008_cur
     .local pmc match
     .lex "$/", match
@@ -12294,16 +12291,16 @@
     set_addr $I10, rxscan1012_loop
     rx1008_cur."!mark_push"(0, rx1008_pos, $I10)
   rxscan1012_done:
-.annotate "line", 469
+.annotate "line", 471
   # rx subcapture "sym"
     set_addr $I10, rxcap_1013_fail
     rx1008_cur."!mark_push"(0, rx1008_pos, $I10)
-  # rx literal  "/"
+  # rx literal  "|"
     add $I11, rx1008_pos, 1
     gt $I11, rx1008_eos, rx1008_fail
     sub $I11, rx1008_pos, rx1008_off
     substr $S10, rx1008_tgt, $I11, 1
-    ne $S10, "/", rx1008_fail
+    ne $S10, "|", rx1008_fail
     add rx1008_pos, 1
     set_addr $I10, rxcap_1013_fail
     ($I12, $I11) = rx1008_cur."!mark_peek"($I10)
@@ -12318,33 +12315,33 @@
   rxcap_1013_done:
   # rx subrule "O" subtype=capture negate=
     rx1008_cur."!cursor_pos"(rx1008_pos)
-    $P10 = rx1008_cur."O"("%multiplicative, :pirop<div>")
+    $P10 = rx1008_cur."O"("%symbolic_unary")
     unless $P10, rx1008_fail
     rx1008_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("O")
     rx1008_pos = $P10."pos"()
   # rx pass
-    rx1008_cur."!cursor_pass"(rx1008_pos, "infix:sym</>")
-    rx1008_cur."!cursor_debug"("PASS  ", "infix:sym</>", " at pos=", rx1008_pos)
+    rx1008_cur."!cursor_pass"(rx1008_pos, "prefix:sym<|>")
+    rx1008_cur."!cursor_debug"("PASS  ", "prefix:sym<|>", " at pos=", rx1008_pos)
     .return (rx1008_cur)
   rx1008_fail:
-.annotate "line", 408
+.annotate "line", 413
     (rx1008_rep, rx1008_pos, $I10, $P10) = rx1008_cur."!mark_fail"(0)
     lt rx1008_pos, -1, rx1008_done
     eq rx1008_pos, -1, rx1008_fail
     jump $I10
   rx1008_done:
     rx1008_cur."!cursor_fail"()
-    rx1008_cur."!cursor_debug"("FAIL  ", "infix:sym</>")
+    rx1008_cur."!cursor_debug"("FAIL  ", "prefix:sym<|>")
     .return (rx1008_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__infix:sym</>"  :subid("256_1260829317.63188") :method
-.annotate "line", 408
-    $P1010 = self."!PREFIX__!subrule"("O", "/")
+.sub "!PREFIX__prefix:sym<|>"  :subid("256_1261019367.36172") :method
+.annotate "line", 413
+    $P1010 = self."!PREFIX__!subrule"("O", "|")
     new $P1011, "ResizablePMCArray"
     push $P1011, $P1010
     .return ($P1011)
@@ -12352,8 +12349,8 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "infix:sym<%>"  :subid("257_1260829317.63188") :method :outer("11_1260829317.63188")
-.annotate "line", 408
+.sub "infix:sym<*>"  :subid("257_1261019367.36172") :method :outer("11_1261019367.36172")
+.annotate "line", 413
     .local string rx1015_tgt
     .local int rx1015_pos
     .local int rx1015_off
@@ -12361,7 +12358,7 @@
     .local int rx1015_rep
     .local pmc rx1015_cur
     (rx1015_cur, rx1015_pos, rx1015_tgt) = self."!cursor_start"()
-    rx1015_cur."!cursor_debug"("START ", "infix:sym<%>")
+    rx1015_cur."!cursor_debug"("START ", "infix:sym<*>")
     .lex unicode:"$\x{a2}", rx1015_cur
     .local pmc match
     .lex "$/", match
@@ -12383,16 +12380,16 @@
     set_addr $I10, rxscan1019_loop
     rx1015_cur."!mark_push"(0, rx1015_pos, $I10)
   rxscan1019_done:
-.annotate "line", 470
+.annotate "line", 473
   # rx subcapture "sym"
     set_addr $I10, rxcap_1020_fail
     rx1015_cur."!mark_push"(0, rx1015_pos, $I10)
-  # rx literal  "%"
+  # rx literal  "*"
     add $I11, rx1015_pos, 1
     gt $I11, rx1015_eos, rx1015_fail
     sub $I11, rx1015_pos, rx1015_off
     substr $S10, rx1015_tgt, $I11, 1
-    ne $S10, "%", rx1015_fail
+    ne $S10, "*", rx1015_fail
     add rx1015_pos, 1
     set_addr $I10, rxcap_1020_fail
     ($I12, $I11) = rx1015_cur."!mark_peek"($I10)
@@ -12407,33 +12404,33 @@
   rxcap_1020_done:
   # rx subrule "O" subtype=capture negate=
     rx1015_cur."!cursor_pos"(rx1015_pos)
-    $P10 = rx1015_cur."O"("%multiplicative, :pirop<mod>")
+    $P10 = rx1015_cur."O"("%multiplicative, :pirop<mul>")
     unless $P10, rx1015_fail
     rx1015_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("O")
     rx1015_pos = $P10."pos"()
   # rx pass
-    rx1015_cur."!cursor_pass"(rx1015_pos, "infix:sym<%>")
-    rx1015_cur."!cursor_debug"("PASS  ", "infix:sym<%>", " at pos=", rx1015_pos)
+    rx1015_cur."!cursor_pass"(rx1015_pos, "infix:sym<*>")
+    rx1015_cur."!cursor_debug"("PASS  ", "infix:sym<*>", " at pos=", rx1015_pos)
     .return (rx1015_cur)
   rx1015_fail:
-.annotate "line", 408
+.annotate "line", 413
     (rx1015_rep, rx1015_pos, $I10, $P10) = rx1015_cur."!mark_fail"(0)
     lt rx1015_pos, -1, rx1015_done
     eq rx1015_pos, -1, rx1015_fail
     jump $I10
   rx1015_done:
     rx1015_cur."!cursor_fail"()
-    rx1015_cur."!cursor_debug"("FAIL  ", "infix:sym<%>")
+    rx1015_cur."!cursor_debug"("FAIL  ", "infix:sym<*>")
     .return (rx1015_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__infix:sym<%>"  :subid("258_1260829317.63188") :method
-.annotate "line", 408
-    $P1017 = self."!PREFIX__!subrule"("O", "%")
+.sub "!PREFIX__infix:sym<*>"  :subid("258_1261019367.36172") :method
+.annotate "line", 413
+    $P1017 = self."!PREFIX__!subrule"("O", "*")
     new $P1018, "ResizablePMCArray"
     push $P1018, $P1017
     .return ($P1018)
@@ -12441,8 +12438,8 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "infix:sym<+>"  :subid("259_1260829317.63188") :method :outer("11_1260829317.63188")
-.annotate "line", 408
+.sub "infix:sym</>"  :subid("259_1261019367.36172") :method :outer("11_1261019367.36172")
+.annotate "line", 413
     .local string rx1022_tgt
     .local int rx1022_pos
     .local int rx1022_off
@@ -12450,7 +12447,7 @@
     .local int rx1022_rep
     .local pmc rx1022_cur
     (rx1022_cur, rx1022_pos, rx1022_tgt) = self."!cursor_start"()
-    rx1022_cur."!cursor_debug"("START ", "infix:sym<+>")
+    rx1022_cur."!cursor_debug"("START ", "infix:sym</>")
     .lex unicode:"$\x{a2}", rx1022_cur
     .local pmc match
     .lex "$/", match
@@ -12472,16 +12469,16 @@
     set_addr $I10, rxscan1026_loop
     rx1022_cur."!mark_push"(0, rx1022_pos, $I10)
   rxscan1026_done:
-.annotate "line", 472
+.annotate "line", 474
   # rx subcapture "sym"
     set_addr $I10, rxcap_1027_fail
     rx1022_cur."!mark_push"(0, rx1022_pos, $I10)
-  # rx literal  "+"
+  # rx literal  "/"
     add $I11, rx1022_pos, 1
     gt $I11, rx1022_eos, rx1022_fail
     sub $I11, rx1022_pos, rx1022_off
     substr $S10, rx1022_tgt, $I11, 1
-    ne $S10, "+", rx1022_fail
+    ne $S10, "/", rx1022_fail
     add rx1022_pos, 1
     set_addr $I10, rxcap_1027_fail
     ($I12, $I11) = rx1022_cur."!mark_peek"($I10)
@@ -12496,33 +12493,33 @@
   rxcap_1027_done:
   # rx subrule "O" subtype=capture negate=
     rx1022_cur."!cursor_pos"(rx1022_pos)
-    $P10 = rx1022_cur."O"("%additive, :pirop<add>")
+    $P10 = rx1022_cur."O"("%multiplicative, :pirop<div>")
     unless $P10, rx1022_fail
     rx1022_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("O")
     rx1022_pos = $P10."pos"()
   # rx pass
-    rx1022_cur."!cursor_pass"(rx1022_pos, "infix:sym<+>")
-    rx1022_cur."!cursor_debug"("PASS  ", "infix:sym<+>", " at pos=", rx1022_pos)
+    rx1022_cur."!cursor_pass"(rx1022_pos, "infix:sym</>")
+    rx1022_cur."!cursor_debug"("PASS  ", "infix:sym</>", " at pos=", rx1022_pos)
     .return (rx1022_cur)
   rx1022_fail:
-.annotate "line", 408
+.annotate "line", 413
     (rx1022_rep, rx1022_pos, $I10, $P10) = rx1022_cur."!mark_fail"(0)
     lt rx1022_pos, -1, rx1022_done
     eq rx1022_pos, -1, rx1022_fail
     jump $I10
   rx1022_done:
     rx1022_cur."!cursor_fail"()
-    rx1022_cur."!cursor_debug"("FAIL  ", "infix:sym<+>")
+    rx1022_cur."!cursor_debug"("FAIL  ", "infix:sym</>")
     .return (rx1022_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__infix:sym<+>"  :subid("260_1260829317.63188") :method
-.annotate "line", 408
-    $P1024 = self."!PREFIX__!subrule"("O", "+")
+.sub "!PREFIX__infix:sym</>"  :subid("260_1261019367.36172") :method
+.annotate "line", 413
+    $P1024 = self."!PREFIX__!subrule"("O", "/")
     new $P1025, "ResizablePMCArray"
     push $P1025, $P1024
     .return ($P1025)
@@ -12530,8 +12527,8 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "infix:sym<->"  :subid("261_1260829317.63188") :method :outer("11_1260829317.63188")
-.annotate "line", 408
+.sub "infix:sym<%>"  :subid("261_1261019367.36172") :method :outer("11_1261019367.36172")
+.annotate "line", 413
     .local string rx1029_tgt
     .local int rx1029_pos
     .local int rx1029_off
@@ -12539,7 +12536,7 @@
     .local int rx1029_rep
     .local pmc rx1029_cur
     (rx1029_cur, rx1029_pos, rx1029_tgt) = self."!cursor_start"()
-    rx1029_cur."!cursor_debug"("START ", "infix:sym<->")
+    rx1029_cur."!cursor_debug"("START ", "infix:sym<%>")
     .lex unicode:"$\x{a2}", rx1029_cur
     .local pmc match
     .lex "$/", match
@@ -12561,16 +12558,16 @@
     set_addr $I10, rxscan1033_loop
     rx1029_cur."!mark_push"(0, rx1029_pos, $I10)
   rxscan1033_done:
-.annotate "line", 473
+.annotate "line", 475
   # rx subcapture "sym"
     set_addr $I10, rxcap_1034_fail
     rx1029_cur."!mark_push"(0, rx1029_pos, $I10)
-  # rx literal  "-"
+  # rx literal  "%"
     add $I11, rx1029_pos, 1
     gt $I11, rx1029_eos, rx1029_fail
     sub $I11, rx1029_pos, rx1029_off
     substr $S10, rx1029_tgt, $I11, 1
-    ne $S10, "-", rx1029_fail
+    ne $S10, "%", rx1029_fail
     add rx1029_pos, 1
     set_addr $I10, rxcap_1034_fail
     ($I12, $I11) = rx1029_cur."!mark_peek"($I10)
@@ -12585,33 +12582,33 @@
   rxcap_1034_done:
   # rx subrule "O" subtype=capture negate=
     rx1029_cur."!cursor_pos"(rx1029_pos)
-    $P10 = rx1029_cur."O"("%additive, :pirop<sub>")
+    $P10 = rx1029_cur."O"("%multiplicative, :pirop<mod>")
     unless $P10, rx1029_fail
     rx1029_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("O")
     rx1029_pos = $P10."pos"()
   # rx pass
-    rx1029_cur."!cursor_pass"(rx1029_pos, "infix:sym<->")
-    rx1029_cur."!cursor_debug"("PASS  ", "infix:sym<->", " at pos=", rx1029_pos)
+    rx1029_cur."!cursor_pass"(rx1029_pos, "infix:sym<%>")
+    rx1029_cur."!cursor_debug"("PASS  ", "infix:sym<%>", " at pos=", rx1029_pos)
     .return (rx1029_cur)
   rx1029_fail:
-.annotate "line", 408
+.annotate "line", 413
     (rx1029_rep, rx1029_pos, $I10, $P10) = rx1029_cur."!mark_fail"(0)
     lt rx1029_pos, -1, rx1029_done
     eq rx1029_pos, -1, rx1029_fail
     jump $I10
   rx1029_done:
     rx1029_cur."!cursor_fail"()
-    rx1029_cur."!cursor_debug"("FAIL  ", "infix:sym<->")
+    rx1029_cur."!cursor_debug"("FAIL  ", "infix:sym<%>")
     .return (rx1029_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__infix:sym<->"  :subid("262_1260829317.63188") :method
-.annotate "line", 408
-    $P1031 = self."!PREFIX__!subrule"("O", "-")
+.sub "!PREFIX__infix:sym<%>"  :subid("262_1261019367.36172") :method
+.annotate "line", 413
+    $P1031 = self."!PREFIX__!subrule"("O", "%")
     new $P1032, "ResizablePMCArray"
     push $P1032, $P1031
     .return ($P1032)
@@ -12619,8 +12616,8 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "infix:sym<~>"  :subid("263_1260829317.63188") :method :outer("11_1260829317.63188")
-.annotate "line", 408
+.sub "infix:sym<+>"  :subid("263_1261019367.36172") :method :outer("11_1261019367.36172")
+.annotate "line", 413
     .local string rx1036_tgt
     .local int rx1036_pos
     .local int rx1036_off
@@ -12628,7 +12625,7 @@
     .local int rx1036_rep
     .local pmc rx1036_cur
     (rx1036_cur, rx1036_pos, rx1036_tgt) = self."!cursor_start"()
-    rx1036_cur."!cursor_debug"("START ", "infix:sym<~>")
+    rx1036_cur."!cursor_debug"("START ", "infix:sym<+>")
     .lex unicode:"$\x{a2}", rx1036_cur
     .local pmc match
     .lex "$/", match
@@ -12650,16 +12647,16 @@
     set_addr $I10, rxscan1040_loop
     rx1036_cur."!mark_push"(0, rx1036_pos, $I10)
   rxscan1040_done:
-.annotate "line", 475
+.annotate "line", 477
   # rx subcapture "sym"
     set_addr $I10, rxcap_1041_fail
     rx1036_cur."!mark_push"(0, rx1036_pos, $I10)
-  # rx literal  "~"
+  # rx literal  "+"
     add $I11, rx1036_pos, 1
     gt $I11, rx1036_eos, rx1036_fail
     sub $I11, rx1036_pos, rx1036_off
     substr $S10, rx1036_tgt, $I11, 1
-    ne $S10, "~", rx1036_fail
+    ne $S10, "+", rx1036_fail
     add rx1036_pos, 1
     set_addr $I10, rxcap_1041_fail
     ($I12, $I11) = rx1036_cur."!mark_peek"($I10)
@@ -12674,33 +12671,33 @@
   rxcap_1041_done:
   # rx subrule "O" subtype=capture negate=
     rx1036_cur."!cursor_pos"(rx1036_pos)
-    $P10 = rx1036_cur."O"("%concatenation , :pirop<concat>")
+    $P10 = rx1036_cur."O"("%additive, :pirop<add>")
     unless $P10, rx1036_fail
     rx1036_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("O")
     rx1036_pos = $P10."pos"()
   # rx pass
-    rx1036_cur."!cursor_pass"(rx1036_pos, "infix:sym<~>")
-    rx1036_cur."!cursor_debug"("PASS  ", "infix:sym<~>", " at pos=", rx1036_pos)
+    rx1036_cur."!cursor_pass"(rx1036_pos, "infix:sym<+>")
+    rx1036_cur."!cursor_debug"("PASS  ", "infix:sym<+>", " at pos=", rx1036_pos)
     .return (rx1036_cur)
   rx1036_fail:
-.annotate "line", 408
+.annotate "line", 413
     (rx1036_rep, rx1036_pos, $I10, $P10) = rx1036_cur."!mark_fail"(0)
     lt rx1036_pos, -1, rx1036_done
     eq rx1036_pos, -1, rx1036_fail
     jump $I10
   rx1036_done:
     rx1036_cur."!cursor_fail"()
-    rx1036_cur."!cursor_debug"("FAIL  ", "infix:sym<~>")
+    rx1036_cur."!cursor_debug"("FAIL  ", "infix:sym<+>")
     .return (rx1036_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__infix:sym<~>"  :subid("264_1260829317.63188") :method
-.annotate "line", 408
-    $P1038 = self."!PREFIX__!subrule"("O", "~")
+.sub "!PREFIX__infix:sym<+>"  :subid("264_1261019367.36172") :method
+.annotate "line", 413
+    $P1038 = self."!PREFIX__!subrule"("O", "+")
     new $P1039, "ResizablePMCArray"
     push $P1039, $P1038
     .return ($P1039)
@@ -12708,8 +12705,8 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "infix:sym<==>"  :subid("265_1260829317.63188") :method :outer("11_1260829317.63188")
-.annotate "line", 408
+.sub "infix:sym<->"  :subid("265_1261019367.36172") :method :outer("11_1261019367.36172")
+.annotate "line", 413
     .local string rx1043_tgt
     .local int rx1043_pos
     .local int rx1043_off
@@ -12717,7 +12714,7 @@
     .local int rx1043_rep
     .local pmc rx1043_cur
     (rx1043_cur, rx1043_pos, rx1043_tgt) = self."!cursor_start"()
-    rx1043_cur."!cursor_debug"("START ", "infix:sym<==>")
+    rx1043_cur."!cursor_debug"("START ", "infix:sym<->")
     .lex unicode:"$\x{a2}", rx1043_cur
     .local pmc match
     .lex "$/", match
@@ -12739,17 +12736,17 @@
     set_addr $I10, rxscan1047_loop
     rx1043_cur."!mark_push"(0, rx1043_pos, $I10)
   rxscan1047_done:
-.annotate "line", 477
+.annotate "line", 478
   # rx subcapture "sym"
     set_addr $I10, rxcap_1048_fail
     rx1043_cur."!mark_push"(0, rx1043_pos, $I10)
-  # rx literal  "=="
-    add $I11, rx1043_pos, 2
+  # rx literal  "-"
+    add $I11, rx1043_pos, 1
     gt $I11, rx1043_eos, rx1043_fail
     sub $I11, rx1043_pos, rx1043_off
-    substr $S10, rx1043_tgt, $I11, 2
-    ne $S10, "==", rx1043_fail
-    add rx1043_pos, 2
+    substr $S10, rx1043_tgt, $I11, 1
+    ne $S10, "-", rx1043_fail
+    add rx1043_pos, 1
     set_addr $I10, rxcap_1048_fail
     ($I12, $I11) = rx1043_cur."!mark_peek"($I10)
     rx1043_cur."!cursor_pos"($I11)
@@ -12763,33 +12760,33 @@
   rxcap_1048_done:
   # rx subrule "O" subtype=capture negate=
     rx1043_cur."!cursor_pos"(rx1043_pos)
-    $P10 = rx1043_cur."O"("%relational, :pirop<iseq INn>")
+    $P10 = rx1043_cur."O"("%additive, :pirop<sub>")
     unless $P10, rx1043_fail
     rx1043_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("O")
     rx1043_pos = $P10."pos"()
   # rx pass
-    rx1043_cur."!cursor_pass"(rx1043_pos, "infix:sym<==>")
-    rx1043_cur."!cursor_debug"("PASS  ", "infix:sym<==>", " at pos=", rx1043_pos)
+    rx1043_cur."!cursor_pass"(rx1043_pos, "infix:sym<->")
+    rx1043_cur."!cursor_debug"("PASS  ", "infix:sym<->", " at pos=", rx1043_pos)
     .return (rx1043_cur)
   rx1043_fail:
-.annotate "line", 408
+.annotate "line", 413
     (rx1043_rep, rx1043_pos, $I10, $P10) = rx1043_cur."!mark_fail"(0)
     lt rx1043_pos, -1, rx1043_done
     eq rx1043_pos, -1, rx1043_fail
     jump $I10
   rx1043_done:
     rx1043_cur."!cursor_fail"()
-    rx1043_cur."!cursor_debug"("FAIL  ", "infix:sym<==>")
+    rx1043_cur."!cursor_debug"("FAIL  ", "infix:sym<->")
     .return (rx1043_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__infix:sym<==>"  :subid("266_1260829317.63188") :method
-.annotate "line", 408
-    $P1045 = self."!PREFIX__!subrule"("O", "==")
+.sub "!PREFIX__infix:sym<->"  :subid("266_1261019367.36172") :method
+.annotate "line", 413
+    $P1045 = self."!PREFIX__!subrule"("O", "-")
     new $P1046, "ResizablePMCArray"
     push $P1046, $P1045
     .return ($P1046)
@@ -12797,8 +12794,8 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "infix:sym<!=>"  :subid("267_1260829317.63188") :method :outer("11_1260829317.63188")
-.annotate "line", 408
+.sub "infix:sym<~>"  :subid("267_1261019367.36172") :method :outer("11_1261019367.36172")
+.annotate "line", 413
     .local string rx1050_tgt
     .local int rx1050_pos
     .local int rx1050_off
@@ -12806,7 +12803,7 @@
     .local int rx1050_rep
     .local pmc rx1050_cur
     (rx1050_cur, rx1050_pos, rx1050_tgt) = self."!cursor_start"()
-    rx1050_cur."!cursor_debug"("START ", "infix:sym<!=>")
+    rx1050_cur."!cursor_debug"("START ", "infix:sym<~>")
     .lex unicode:"$\x{a2}", rx1050_cur
     .local pmc match
     .lex "$/", match
@@ -12828,17 +12825,17 @@
     set_addr $I10, rxscan1054_loop
     rx1050_cur."!mark_push"(0, rx1050_pos, $I10)
   rxscan1054_done:
-.annotate "line", 478
+.annotate "line", 480
   # rx subcapture "sym"
     set_addr $I10, rxcap_1055_fail
     rx1050_cur."!mark_push"(0, rx1050_pos, $I10)
-  # rx literal  "!="
-    add $I11, rx1050_pos, 2
+  # rx literal  "~"
+    add $I11, rx1050_pos, 1
     gt $I11, rx1050_eos, rx1050_fail
     sub $I11, rx1050_pos, rx1050_off
-    substr $S10, rx1050_tgt, $I11, 2
-    ne $S10, "!=", rx1050_fail
-    add rx1050_pos, 2
+    substr $S10, rx1050_tgt, $I11, 1
+    ne $S10, "~", rx1050_fail
+    add rx1050_pos, 1
     set_addr $I10, rxcap_1055_fail
     ($I12, $I11) = rx1050_cur."!mark_peek"($I10)
     rx1050_cur."!cursor_pos"($I11)
@@ -12852,33 +12849,33 @@
   rxcap_1055_done:
   # rx subrule "O" subtype=capture negate=
     rx1050_cur."!cursor_pos"(rx1050_pos)
-    $P10 = rx1050_cur."O"("%relational, :pirop<isne INn>")
+    $P10 = rx1050_cur."O"("%concatenation , :pirop<concat>")
     unless $P10, rx1050_fail
     rx1050_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("O")
     rx1050_pos = $P10."pos"()
   # rx pass
-    rx1050_cur."!cursor_pass"(rx1050_pos, "infix:sym<!=>")
-    rx1050_cur."!cursor_debug"("PASS  ", "infix:sym<!=>", " at pos=", rx1050_pos)
+    rx1050_cur."!cursor_pass"(rx1050_pos, "infix:sym<~>")
+    rx1050_cur."!cursor_debug"("PASS  ", "infix:sym<~>", " at pos=", rx1050_pos)
     .return (rx1050_cur)
   rx1050_fail:
-.annotate "line", 408
+.annotate "line", 413
     (rx1050_rep, rx1050_pos, $I10, $P10) = rx1050_cur."!mark_fail"(0)
     lt rx1050_pos, -1, rx1050_done
     eq rx1050_pos, -1, rx1050_fail
     jump $I10
   rx1050_done:
     rx1050_cur."!cursor_fail"()
-    rx1050_cur."!cursor_debug"("FAIL  ", "infix:sym<!=>")
+    rx1050_cur."!cursor_debug"("FAIL  ", "infix:sym<~>")
     .return (rx1050_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__infix:sym<!=>"  :subid("268_1260829317.63188") :method
-.annotate "line", 408
-    $P1052 = self."!PREFIX__!subrule"("O", "!=")
+.sub "!PREFIX__infix:sym<~>"  :subid("268_1261019367.36172") :method
+.annotate "line", 413
+    $P1052 = self."!PREFIX__!subrule"("O", "~")
     new $P1053, "ResizablePMCArray"
     push $P1053, $P1052
     .return ($P1053)
@@ -12886,8 +12883,8 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "infix:sym<<=>"  :subid("269_1260829317.63188") :method :outer("11_1260829317.63188")
-.annotate "line", 408
+.sub "infix:sym<==>"  :subid("269_1261019367.36172") :method :outer("11_1261019367.36172")
+.annotate "line", 413
     .local string rx1057_tgt
     .local int rx1057_pos
     .local int rx1057_off
@@ -12895,7 +12892,7 @@
     .local int rx1057_rep
     .local pmc rx1057_cur
     (rx1057_cur, rx1057_pos, rx1057_tgt) = self."!cursor_start"()
-    rx1057_cur."!cursor_debug"("START ", "infix:sym<<=>")
+    rx1057_cur."!cursor_debug"("START ", "infix:sym<==>")
     .lex unicode:"$\x{a2}", rx1057_cur
     .local pmc match
     .lex "$/", match
@@ -12917,16 +12914,16 @@
     set_addr $I10, rxscan1061_loop
     rx1057_cur."!mark_push"(0, rx1057_pos, $I10)
   rxscan1061_done:
-.annotate "line", 479
+.annotate "line", 482
   # rx subcapture "sym"
     set_addr $I10, rxcap_1062_fail
     rx1057_cur."!mark_push"(0, rx1057_pos, $I10)
-  # rx literal  "<="
+  # rx literal  "=="
     add $I11, rx1057_pos, 2
     gt $I11, rx1057_eos, rx1057_fail
     sub $I11, rx1057_pos, rx1057_off
     substr $S10, rx1057_tgt, $I11, 2
-    ne $S10, "<=", rx1057_fail
+    ne $S10, "==", rx1057_fail
     add rx1057_pos, 2
     set_addr $I10, rxcap_1062_fail
     ($I12, $I11) = rx1057_cur."!mark_peek"($I10)
@@ -12941,33 +12938,33 @@
   rxcap_1062_done:
   # rx subrule "O" subtype=capture negate=
     rx1057_cur."!cursor_pos"(rx1057_pos)
-    $P10 = rx1057_cur."O"("%relational, :pirop<isle INn>")
+    $P10 = rx1057_cur."O"("%relational, :pirop<iseq INn>")
     unless $P10, rx1057_fail
     rx1057_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("O")
     rx1057_pos = $P10."pos"()
   # rx pass
-    rx1057_cur."!cursor_pass"(rx1057_pos, "infix:sym<<=>")
-    rx1057_cur."!cursor_debug"("PASS  ", "infix:sym<<=>", " at pos=", rx1057_pos)
+    rx1057_cur."!cursor_pass"(rx1057_pos, "infix:sym<==>")
+    rx1057_cur."!cursor_debug"("PASS  ", "infix:sym<==>", " at pos=", rx1057_pos)
     .return (rx1057_cur)
   rx1057_fail:
-.annotate "line", 408
+.annotate "line", 413
     (rx1057_rep, rx1057_pos, $I10, $P10) = rx1057_cur."!mark_fail"(0)
     lt rx1057_pos, -1, rx1057_done
     eq rx1057_pos, -1, rx1057_fail
     jump $I10
   rx1057_done:
     rx1057_cur."!cursor_fail"()
-    rx1057_cur."!cursor_debug"("FAIL  ", "infix:sym<<=>")
+    rx1057_cur."!cursor_debug"("FAIL  ", "infix:sym<==>")
     .return (rx1057_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__infix:sym<<=>"  :subid("270_1260829317.63188") :method
-.annotate "line", 408
-    $P1059 = self."!PREFIX__!subrule"("O", "<=")
+.sub "!PREFIX__infix:sym<==>"  :subid("270_1261019367.36172") :method
+.annotate "line", 413
+    $P1059 = self."!PREFIX__!subrule"("O", "==")
     new $P1060, "ResizablePMCArray"
     push $P1060, $P1059
     .return ($P1060)
@@ -12975,8 +12972,8 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "infix:sym<>=>"  :subid("271_1260829317.63188") :method :outer("11_1260829317.63188")
-.annotate "line", 408
+.sub "infix:sym<!=>"  :subid("271_1261019367.36172") :method :outer("11_1261019367.36172")
+.annotate "line", 413
     .local string rx1064_tgt
     .local int rx1064_pos
     .local int rx1064_off
@@ -12984,7 +12981,7 @@
     .local int rx1064_rep
     .local pmc rx1064_cur
     (rx1064_cur, rx1064_pos, rx1064_tgt) = self."!cursor_start"()
-    rx1064_cur."!cursor_debug"("START ", "infix:sym<>=>")
+    rx1064_cur."!cursor_debug"("START ", "infix:sym<!=>")
     .lex unicode:"$\x{a2}", rx1064_cur
     .local pmc match
     .lex "$/", match
@@ -13006,16 +13003,16 @@
     set_addr $I10, rxscan1068_loop
     rx1064_cur."!mark_push"(0, rx1064_pos, $I10)
   rxscan1068_done:
-.annotate "line", 480
+.annotate "line", 483
   # rx subcapture "sym"
     set_addr $I10, rxcap_1069_fail
     rx1064_cur."!mark_push"(0, rx1064_pos, $I10)
-  # rx literal  ">="
+  # rx literal  "!="
     add $I11, rx1064_pos, 2
     gt $I11, rx1064_eos, rx1064_fail
     sub $I11, rx1064_pos, rx1064_off
     substr $S10, rx1064_tgt, $I11, 2
-    ne $S10, ">=", rx1064_fail
+    ne $S10, "!=", rx1064_fail
     add rx1064_pos, 2
     set_addr $I10, rxcap_1069_fail
     ($I12, $I11) = rx1064_cur."!mark_peek"($I10)
@@ -13030,33 +13027,33 @@
   rxcap_1069_done:
   # rx subrule "O" subtype=capture negate=
     rx1064_cur."!cursor_pos"(rx1064_pos)
-    $P10 = rx1064_cur."O"("%relational, :pirop<isge INn>")
+    $P10 = rx1064_cur."O"("%relational, :pirop<isne INn>")
     unless $P10, rx1064_fail
     rx1064_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("O")
     rx1064_pos = $P10."pos"()
   # rx pass
-    rx1064_cur."!cursor_pass"(rx1064_pos, "infix:sym<>=>")
-    rx1064_cur."!cursor_debug"("PASS  ", "infix:sym<>=>", " at pos=", rx1064_pos)
+    rx1064_cur."!cursor_pass"(rx1064_pos, "infix:sym<!=>")
+    rx1064_cur."!cursor_debug"("PASS  ", "infix:sym<!=>", " at pos=", rx1064_pos)
     .return (rx1064_cur)
   rx1064_fail:
-.annotate "line", 408
+.annotate "line", 413
     (rx1064_rep, rx1064_pos, $I10, $P10) = rx1064_cur."!mark_fail"(0)
     lt rx1064_pos, -1, rx1064_done
     eq rx1064_pos, -1, rx1064_fail
     jump $I10
   rx1064_done:
     rx1064_cur."!cursor_fail"()
-    rx1064_cur."!cursor_debug"("FAIL  ", "infix:sym<>=>")
+    rx1064_cur."!cursor_debug"("FAIL  ", "infix:sym<!=>")
     .return (rx1064_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__infix:sym<>=>"  :subid("272_1260829317.63188") :method
-.annotate "line", 408
-    $P1066 = self."!PREFIX__!subrule"("O", ">=")
+.sub "!PREFIX__infix:sym<!=>"  :subid("272_1261019367.36172") :method
+.annotate "line", 413
+    $P1066 = self."!PREFIX__!subrule"("O", "!=")
     new $P1067, "ResizablePMCArray"
     push $P1067, $P1066
     .return ($P1067)
@@ -13064,8 +13061,8 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "infix:sym<<>"  :subid("273_1260829317.63188") :method :outer("11_1260829317.63188")
-.annotate "line", 408
+.sub "infix:sym<<=>"  :subid("273_1261019367.36172") :method :outer("11_1261019367.36172")
+.annotate "line", 413
     .local string rx1071_tgt
     .local int rx1071_pos
     .local int rx1071_off
@@ -13073,7 +13070,7 @@
     .local int rx1071_rep
     .local pmc rx1071_cur
     (rx1071_cur, rx1071_pos, rx1071_tgt) = self."!cursor_start"()
-    rx1071_cur."!cursor_debug"("START ", "infix:sym<<>")
+    rx1071_cur."!cursor_debug"("START ", "infix:sym<<=>")
     .lex unicode:"$\x{a2}", rx1071_cur
     .local pmc match
     .lex "$/", match
@@ -13095,17 +13092,17 @@
     set_addr $I10, rxscan1075_loop
     rx1071_cur."!mark_push"(0, rx1071_pos, $I10)
   rxscan1075_done:
-.annotate "line", 481
+.annotate "line", 484
   # rx subcapture "sym"
     set_addr $I10, rxcap_1076_fail
     rx1071_cur."!mark_push"(0, rx1071_pos, $I10)
-  # rx literal  "<"
-    add $I11, rx1071_pos, 1
+  # rx literal  "<="
+    add $I11, rx1071_pos, 2
     gt $I11, rx1071_eos, rx1071_fail
     sub $I11, rx1071_pos, rx1071_off
-    substr $S10, rx1071_tgt, $I11, 1
-    ne $S10, "<", rx1071_fail
-    add rx1071_pos, 1
+    substr $S10, rx1071_tgt, $I11, 2
+    ne $S10, "<=", rx1071_fail
+    add rx1071_pos, 2
     set_addr $I10, rxcap_1076_fail
     ($I12, $I11) = rx1071_cur."!mark_peek"($I10)
     rx1071_cur."!cursor_pos"($I11)
@@ -13119,33 +13116,33 @@
   rxcap_1076_done:
   # rx subrule "O" subtype=capture negate=
     rx1071_cur."!cursor_pos"(rx1071_pos)
-    $P10 = rx1071_cur."O"("%relational, :pirop<islt INn>")
+    $P10 = rx1071_cur."O"("%relational, :pirop<isle INn>")
     unless $P10, rx1071_fail
     rx1071_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("O")
     rx1071_pos = $P10."pos"()
   # rx pass
-    rx1071_cur."!cursor_pass"(rx1071_pos, "infix:sym<<>")
-    rx1071_cur."!cursor_debug"("PASS  ", "infix:sym<<>", " at pos=", rx1071_pos)
+    rx1071_cur."!cursor_pass"(rx1071_pos, "infix:sym<<=>")
+    rx1071_cur."!cursor_debug"("PASS  ", "infix:sym<<=>", " at pos=", rx1071_pos)
     .return (rx1071_cur)
   rx1071_fail:
-.annotate "line", 408
+.annotate "line", 413
     (rx1071_rep, rx1071_pos, $I10, $P10) = rx1071_cur."!mark_fail"(0)
     lt rx1071_pos, -1, rx1071_done
     eq rx1071_pos, -1, rx1071_fail
     jump $I10
   rx1071_done:
     rx1071_cur."!cursor_fail"()
-    rx1071_cur."!cursor_debug"("FAIL  ", "infix:sym<<>")
+    rx1071_cur."!cursor_debug"("FAIL  ", "infix:sym<<=>")
     .return (rx1071_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__infix:sym<<>"  :subid("274_1260829317.63188") :method
-.annotate "line", 408
-    $P1073 = self."!PREFIX__!subrule"("O", "<")
+.sub "!PREFIX__infix:sym<<=>"  :subid("274_1261019367.36172") :method
+.annotate "line", 413
+    $P1073 = self."!PREFIX__!subrule"("O", "<=")
     new $P1074, "ResizablePMCArray"
     push $P1074, $P1073
     .return ($P1074)
@@ -13153,8 +13150,8 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "infix:sym<>>"  :subid("275_1260829317.63188") :method :outer("11_1260829317.63188")
-.annotate "line", 408
+.sub "infix:sym<>=>"  :subid("275_1261019367.36172") :method :outer("11_1261019367.36172")
+.annotate "line", 413
     .local string rx1078_tgt
     .local int rx1078_pos
     .local int rx1078_off
@@ -13162,7 +13159,7 @@
     .local int rx1078_rep
     .local pmc rx1078_cur
     (rx1078_cur, rx1078_pos, rx1078_tgt) = self."!cursor_start"()
-    rx1078_cur."!cursor_debug"("START ", "infix:sym<>>")
+    rx1078_cur."!cursor_debug"("START ", "infix:sym<>=>")
     .lex unicode:"$\x{a2}", rx1078_cur
     .local pmc match
     .lex "$/", match
@@ -13184,17 +13181,17 @@
     set_addr $I10, rxscan1082_loop
     rx1078_cur."!mark_push"(0, rx1078_pos, $I10)
   rxscan1082_done:
-.annotate "line", 482
+.annotate "line", 485
   # rx subcapture "sym"
     set_addr $I10, rxcap_1083_fail
     rx1078_cur."!mark_push"(0, rx1078_pos, $I10)
-  # rx literal  ">"
-    add $I11, rx1078_pos, 1
+  # rx literal  ">="
+    add $I11, rx1078_pos, 2
     gt $I11, rx1078_eos, rx1078_fail
     sub $I11, rx1078_pos, rx1078_off
-    substr $S10, rx1078_tgt, $I11, 1
-    ne $S10, ">", rx1078_fail
-    add rx1078_pos, 1
+    substr $S10, rx1078_tgt, $I11, 2
+    ne $S10, ">=", rx1078_fail
+    add rx1078_pos, 2
     set_addr $I10, rxcap_1083_fail
     ($I12, $I11) = rx1078_cur."!mark_peek"($I10)
     rx1078_cur."!cursor_pos"($I11)
@@ -13208,33 +13205,33 @@
   rxcap_1083_done:
   # rx subrule "O" subtype=capture negate=
     rx1078_cur."!cursor_pos"(rx1078_pos)
-    $P10 = rx1078_cur."O"("%relational, :pirop<isgt INn>")
+    $P10 = rx1078_cur."O"("%relational, :pirop<isge INn>")
     unless $P10, rx1078_fail
     rx1078_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("O")
     rx1078_pos = $P10."pos"()
   # rx pass
-    rx1078_cur."!cursor_pass"(rx1078_pos, "infix:sym<>>")
-    rx1078_cur."!cursor_debug"("PASS  ", "infix:sym<>>", " at pos=", rx1078_pos)
+    rx1078_cur."!cursor_pass"(rx1078_pos, "infix:sym<>=>")
+    rx1078_cur."!cursor_debug"("PASS  ", "infix:sym<>=>", " at pos=", rx1078_pos)
     .return (rx1078_cur)
   rx1078_fail:
-.annotate "line", 408
+.annotate "line", 413
     (rx1078_rep, rx1078_pos, $I10, $P10) = rx1078_cur."!mark_fail"(0)
     lt rx1078_pos, -1, rx1078_done
     eq rx1078_pos, -1, rx1078_fail
     jump $I10
   rx1078_done:
     rx1078_cur."!cursor_fail"()
-    rx1078_cur."!cursor_debug"("FAIL  ", "infix:sym<>>")
+    rx1078_cur."!cursor_debug"("FAIL  ", "infix:sym<>=>")
     .return (rx1078_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__infix:sym<>>"  :subid("276_1260829317.63188") :method
-.annotate "line", 408
-    $P1080 = self."!PREFIX__!subrule"("O", ">")
+.sub "!PREFIX__infix:sym<>=>"  :subid("276_1261019367.36172") :method
+.annotate "line", 413
+    $P1080 = self."!PREFIX__!subrule"("O", ">=")
     new $P1081, "ResizablePMCArray"
     push $P1081, $P1080
     .return ($P1081)
@@ -13242,8 +13239,8 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "infix:sym<eq>"  :subid("277_1260829317.63188") :method :outer("11_1260829317.63188")
-.annotate "line", 408
+.sub "infix:sym<<>"  :subid("277_1261019367.36172") :method :outer("11_1261019367.36172")
+.annotate "line", 413
     .local string rx1085_tgt
     .local int rx1085_pos
     .local int rx1085_off
@@ -13251,7 +13248,7 @@
     .local int rx1085_rep
     .local pmc rx1085_cur
     (rx1085_cur, rx1085_pos, rx1085_tgt) = self."!cursor_start"()
-    rx1085_cur."!cursor_debug"("START ", "infix:sym<eq>")
+    rx1085_cur."!cursor_debug"("START ", "infix:sym<<>")
     .lex unicode:"$\x{a2}", rx1085_cur
     .local pmc match
     .lex "$/", match
@@ -13273,17 +13270,17 @@
     set_addr $I10, rxscan1089_loop
     rx1085_cur."!mark_push"(0, rx1085_pos, $I10)
   rxscan1089_done:
-.annotate "line", 483
+.annotate "line", 486
   # rx subcapture "sym"
     set_addr $I10, rxcap_1090_fail
     rx1085_cur."!mark_push"(0, rx1085_pos, $I10)
-  # rx literal  "eq"
-    add $I11, rx1085_pos, 2
+  # rx literal  "<"
+    add $I11, rx1085_pos, 1
     gt $I11, rx1085_eos, rx1085_fail
     sub $I11, rx1085_pos, rx1085_off
-    substr $S10, rx1085_tgt, $I11, 2
-    ne $S10, "eq", rx1085_fail
-    add rx1085_pos, 2
+    substr $S10, rx1085_tgt, $I11, 1
+    ne $S10, "<", rx1085_fail
+    add rx1085_pos, 1
     set_addr $I10, rxcap_1090_fail
     ($I12, $I11) = rx1085_cur."!mark_peek"($I10)
     rx1085_cur."!cursor_pos"($I11)
@@ -13297,33 +13294,33 @@
   rxcap_1090_done:
   # rx subrule "O" subtype=capture negate=
     rx1085_cur."!cursor_pos"(rx1085_pos)
-    $P10 = rx1085_cur."O"("%relational, :pirop<iseq ISs>")
+    $P10 = rx1085_cur."O"("%relational, :pirop<islt INn>")
     unless $P10, rx1085_fail
     rx1085_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("O")
     rx1085_pos = $P10."pos"()
   # rx pass
-    rx1085_cur."!cursor_pass"(rx1085_pos, "infix:sym<eq>")
-    rx1085_cur."!cursor_debug"("PASS  ", "infix:sym<eq>", " at pos=", rx1085_pos)
+    rx1085_cur."!cursor_pass"(rx1085_pos, "infix:sym<<>")
+    rx1085_cur."!cursor_debug"("PASS  ", "infix:sym<<>", " at pos=", rx1085_pos)
     .return (rx1085_cur)
   rx1085_fail:
-.annotate "line", 408
+.annotate "line", 413
     (rx1085_rep, rx1085_pos, $I10, $P10) = rx1085_cur."!mark_fail"(0)
     lt rx1085_pos, -1, rx1085_done
     eq rx1085_pos, -1, rx1085_fail
     jump $I10
   rx1085_done:
     rx1085_cur."!cursor_fail"()
-    rx1085_cur."!cursor_debug"("FAIL  ", "infix:sym<eq>")
+    rx1085_cur."!cursor_debug"("FAIL  ", "infix:sym<<>")
     .return (rx1085_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__infix:sym<eq>"  :subid("278_1260829317.63188") :method
-.annotate "line", 408
-    $P1087 = self."!PREFIX__!subrule"("O", "eq")
+.sub "!PREFIX__infix:sym<<>"  :subid("278_1261019367.36172") :method
+.annotate "line", 413
+    $P1087 = self."!PREFIX__!subrule"("O", "<")
     new $P1088, "ResizablePMCArray"
     push $P1088, $P1087
     .return ($P1088)
@@ -13331,8 +13328,8 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "infix:sym<ne>"  :subid("279_1260829317.63188") :method :outer("11_1260829317.63188")
-.annotate "line", 408
+.sub "infix:sym<>>"  :subid("279_1261019367.36172") :method :outer("11_1261019367.36172")
+.annotate "line", 413
     .local string rx1092_tgt
     .local int rx1092_pos
     .local int rx1092_off
@@ -13340,7 +13337,7 @@
     .local int rx1092_rep
     .local pmc rx1092_cur
     (rx1092_cur, rx1092_pos, rx1092_tgt) = self."!cursor_start"()
-    rx1092_cur."!cursor_debug"("START ", "infix:sym<ne>")
+    rx1092_cur."!cursor_debug"("START ", "infix:sym<>>")
     .lex unicode:"$\x{a2}", rx1092_cur
     .local pmc match
     .lex "$/", match
@@ -13362,17 +13359,17 @@
     set_addr $I10, rxscan1096_loop
     rx1092_cur."!mark_push"(0, rx1092_pos, $I10)
   rxscan1096_done:
-.annotate "line", 484
+.annotate "line", 487
   # rx subcapture "sym"
     set_addr $I10, rxcap_1097_fail
     rx1092_cur."!mark_push"(0, rx1092_pos, $I10)
-  # rx literal  "ne"
-    add $I11, rx1092_pos, 2
+  # rx literal  ">"
+    add $I11, rx1092_pos, 1
     gt $I11, rx1092_eos, rx1092_fail
     sub $I11, rx1092_pos, rx1092_off
-    substr $S10, rx1092_tgt, $I11, 2
-    ne $S10, "ne", rx1092_fail
-    add rx1092_pos, 2
+    substr $S10, rx1092_tgt, $I11, 1
+    ne $S10, ">", rx1092_fail
+    add rx1092_pos, 1
     set_addr $I10, rxcap_1097_fail
     ($I12, $I11) = rx1092_cur."!mark_peek"($I10)
     rx1092_cur."!cursor_pos"($I11)
@@ -13386,33 +13383,33 @@
   rxcap_1097_done:
   # rx subrule "O" subtype=capture negate=
     rx1092_cur."!cursor_pos"(rx1092_pos)
-    $P10 = rx1092_cur."O"("%relational, :pirop<isne ISs>")
+    $P10 = rx1092_cur."O"("%relational, :pirop<isgt INn>")
     unless $P10, rx1092_fail
     rx1092_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("O")
     rx1092_pos = $P10."pos"()
   # rx pass
-    rx1092_cur."!cursor_pass"(rx1092_pos, "infix:sym<ne>")
-    rx1092_cur."!cursor_debug"("PASS  ", "infix:sym<ne>", " at pos=", rx1092_pos)
+    rx1092_cur."!cursor_pass"(rx1092_pos, "infix:sym<>>")
+    rx1092_cur."!cursor_debug"("PASS  ", "infix:sym<>>", " at pos=", rx1092_pos)
     .return (rx1092_cur)
   rx1092_fail:
-.annotate "line", 408
+.annotate "line", 413
     (rx1092_rep, rx1092_pos, $I10, $P10) = rx1092_cur."!mark_fail"(0)
     lt rx1092_pos, -1, rx1092_done
     eq rx1092_pos, -1, rx1092_fail
     jump $I10
   rx1092_done:
     rx1092_cur."!cursor_fail"()
-    rx1092_cur."!cursor_debug"("FAIL  ", "infix:sym<ne>")
+    rx1092_cur."!cursor_debug"("FAIL  ", "infix:sym<>>")
     .return (rx1092_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__infix:sym<ne>"  :subid("280_1260829317.63188") :method
-.annotate "line", 408
-    $P1094 = self."!PREFIX__!subrule"("O", "ne")
+.sub "!PREFIX__infix:sym<>>"  :subid("280_1261019367.36172") :method
+.annotate "line", 413
+    $P1094 = self."!PREFIX__!subrule"("O", ">")
     new $P1095, "ResizablePMCArray"
     push $P1095, $P1094
     .return ($P1095)
@@ -13420,8 +13417,8 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "infix:sym<le>"  :subid("281_1260829317.63188") :method :outer("11_1260829317.63188")
-.annotate "line", 408
+.sub "infix:sym<eq>"  :subid("281_1261019367.36172") :method :outer("11_1261019367.36172")
+.annotate "line", 413
     .local string rx1099_tgt
     .local int rx1099_pos
     .local int rx1099_off
@@ -13429,7 +13426,7 @@
     .local int rx1099_rep
     .local pmc rx1099_cur
     (rx1099_cur, rx1099_pos, rx1099_tgt) = self."!cursor_start"()
-    rx1099_cur."!cursor_debug"("START ", "infix:sym<le>")
+    rx1099_cur."!cursor_debug"("START ", "infix:sym<eq>")
     .lex unicode:"$\x{a2}", rx1099_cur
     .local pmc match
     .lex "$/", match
@@ -13451,16 +13448,16 @@
     set_addr $I10, rxscan1103_loop
     rx1099_cur."!mark_push"(0, rx1099_pos, $I10)
   rxscan1103_done:
-.annotate "line", 485
+.annotate "line", 488
   # rx subcapture "sym"
     set_addr $I10, rxcap_1104_fail
     rx1099_cur."!mark_push"(0, rx1099_pos, $I10)
-  # rx literal  "le"
+  # rx literal  "eq"
     add $I11, rx1099_pos, 2
     gt $I11, rx1099_eos, rx1099_fail
     sub $I11, rx1099_pos, rx1099_off
     substr $S10, rx1099_tgt, $I11, 2
-    ne $S10, "le", rx1099_fail
+    ne $S10, "eq", rx1099_fail
     add rx1099_pos, 2
     set_addr $I10, rxcap_1104_fail
     ($I12, $I11) = rx1099_cur."!mark_peek"($I10)
@@ -13475,33 +13472,33 @@
   rxcap_1104_done:
   # rx subrule "O" subtype=capture negate=
     rx1099_cur."!cursor_pos"(rx1099_pos)
-    $P10 = rx1099_cur."O"("%relational, :pirop<isle ISs>")
+    $P10 = rx1099_cur."O"("%relational, :pirop<iseq ISs>")
     unless $P10, rx1099_fail
     rx1099_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("O")
     rx1099_pos = $P10."pos"()
   # rx pass
-    rx1099_cur."!cursor_pass"(rx1099_pos, "infix:sym<le>")
-    rx1099_cur."!cursor_debug"("PASS  ", "infix:sym<le>", " at pos=", rx1099_pos)
+    rx1099_cur."!cursor_pass"(rx1099_pos, "infix:sym<eq>")
+    rx1099_cur."!cursor_debug"("PASS  ", "infix:sym<eq>", " at pos=", rx1099_pos)
     .return (rx1099_cur)
   rx1099_fail:
-.annotate "line", 408
+.annotate "line", 413
     (rx1099_rep, rx1099_pos, $I10, $P10) = rx1099_cur."!mark_fail"(0)
     lt rx1099_pos, -1, rx1099_done
     eq rx1099_pos, -1, rx1099_fail
     jump $I10
   rx1099_done:
     rx1099_cur."!cursor_fail"()
-    rx1099_cur."!cursor_debug"("FAIL  ", "infix:sym<le>")
+    rx1099_cur."!cursor_debug"("FAIL  ", "infix:sym<eq>")
     .return (rx1099_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__infix:sym<le>"  :subid("282_1260829317.63188") :method
-.annotate "line", 408
-    $P1101 = self."!PREFIX__!subrule"("O", "le")
+.sub "!PREFIX__infix:sym<eq>"  :subid("282_1261019367.36172") :method
+.annotate "line", 413
+    $P1101 = self."!PREFIX__!subrule"("O", "eq")
     new $P1102, "ResizablePMCArray"
     push $P1102, $P1101
     .return ($P1102)
@@ -13509,8 +13506,8 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "infix:sym<ge>"  :subid("283_1260829317.63188") :method :outer("11_1260829317.63188")
-.annotate "line", 408
+.sub "infix:sym<ne>"  :subid("283_1261019367.36172") :method :outer("11_1261019367.36172")
+.annotate "line", 413
     .local string rx1106_tgt
     .local int rx1106_pos
     .local int rx1106_off
@@ -13518,7 +13515,7 @@
     .local int rx1106_rep
     .local pmc rx1106_cur
     (rx1106_cur, rx1106_pos, rx1106_tgt) = self."!cursor_start"()
-    rx1106_cur."!cursor_debug"("START ", "infix:sym<ge>")
+    rx1106_cur."!cursor_debug"("START ", "infix:sym<ne>")
     .lex unicode:"$\x{a2}", rx1106_cur
     .local pmc match
     .lex "$/", match
@@ -13540,16 +13537,16 @@
     set_addr $I10, rxscan1110_loop
     rx1106_cur."!mark_push"(0, rx1106_pos, $I10)
   rxscan1110_done:
-.annotate "line", 486
+.annotate "line", 489
   # rx subcapture "sym"
     set_addr $I10, rxcap_1111_fail
     rx1106_cur."!mark_push"(0, rx1106_pos, $I10)
-  # rx literal  "ge"
+  # rx literal  "ne"
     add $I11, rx1106_pos, 2
     gt $I11, rx1106_eos, rx1106_fail
     sub $I11, rx1106_pos, rx1106_off
     substr $S10, rx1106_tgt, $I11, 2
-    ne $S10, "ge", rx1106_fail
+    ne $S10, "ne", rx1106_fail
     add rx1106_pos, 2
     set_addr $I10, rxcap_1111_fail
     ($I12, $I11) = rx1106_cur."!mark_peek"($I10)
@@ -13564,33 +13561,33 @@
   rxcap_1111_done:
   # rx subrule "O" subtype=capture negate=
     rx1106_cur."!cursor_pos"(rx1106_pos)
-    $P10 = rx1106_cur."O"("%relational, :pirop<isge ISs>")
+    $P10 = rx1106_cur."O"("%relational, :pirop<isne ISs>")
     unless $P10, rx1106_fail
     rx1106_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("O")
     rx1106_pos = $P10."pos"()
   # rx pass
-    rx1106_cur."!cursor_pass"(rx1106_pos, "infix:sym<ge>")
-    rx1106_cur."!cursor_debug"("PASS  ", "infix:sym<ge>", " at pos=", rx1106_pos)
+    rx1106_cur."!cursor_pass"(rx1106_pos, "infix:sym<ne>")
+    rx1106_cur."!cursor_debug"("PASS  ", "infix:sym<ne>", " at pos=", rx1106_pos)
     .return (rx1106_cur)
   rx1106_fail:
-.annotate "line", 408
+.annotate "line", 413
     (rx1106_rep, rx1106_pos, $I10, $P10) = rx1106_cur."!mark_fail"(0)
     lt rx1106_pos, -1, rx1106_done
     eq rx1106_pos, -1, rx1106_fail
     jump $I10
   rx1106_done:
     rx1106_cur."!cursor_fail"()
-    rx1106_cur."!cursor_debug"("FAIL  ", "infix:sym<ge>")
+    rx1106_cur."!cursor_debug"("FAIL  ", "infix:sym<ne>")
     .return (rx1106_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__infix:sym<ge>"  :subid("284_1260829317.63188") :method
-.annotate "line", 408
-    $P1108 = self."!PREFIX__!subrule"("O", "ge")
+.sub "!PREFIX__infix:sym<ne>"  :subid("284_1261019367.36172") :method
+.annotate "line", 413
+    $P1108 = self."!PREFIX__!subrule"("O", "ne")
     new $P1109, "ResizablePMCArray"
     push $P1109, $P1108
     .return ($P1109)
@@ -13598,8 +13595,8 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "infix:sym<lt>"  :subid("285_1260829317.63188") :method :outer("11_1260829317.63188")
-.annotate "line", 408
+.sub "infix:sym<le>"  :subid("285_1261019367.36172") :method :outer("11_1261019367.36172")
+.annotate "line", 413
     .local string rx1113_tgt
     .local int rx1113_pos
     .local int rx1113_off
@@ -13607,7 +13604,7 @@
     .local int rx1113_rep
     .local pmc rx1113_cur
     (rx1113_cur, rx1113_pos, rx1113_tgt) = self."!cursor_start"()
-    rx1113_cur."!cursor_debug"("START ", "infix:sym<lt>")
+    rx1113_cur."!cursor_debug"("START ", "infix:sym<le>")
     .lex unicode:"$\x{a2}", rx1113_cur
     .local pmc match
     .lex "$/", match
@@ -13629,16 +13626,16 @@
     set_addr $I10, rxscan1117_loop
     rx1113_cur."!mark_push"(0, rx1113_pos, $I10)
   rxscan1117_done:
-.annotate "line", 487
+.annotate "line", 490
   # rx subcapture "sym"
     set_addr $I10, rxcap_1118_fail
     rx1113_cur."!mark_push"(0, rx1113_pos, $I10)
-  # rx literal  "lt"
+  # rx literal  "le"
     add $I11, rx1113_pos, 2
     gt $I11, rx1113_eos, rx1113_fail
     sub $I11, rx1113_pos, rx1113_off
     substr $S10, rx1113_tgt, $I11, 2
-    ne $S10, "lt", rx1113_fail
+    ne $S10, "le", rx1113_fail
     add rx1113_pos, 2
     set_addr $I10, rxcap_1118_fail
     ($I12, $I11) = rx1113_cur."!mark_peek"($I10)
@@ -13653,33 +13650,33 @@
   rxcap_1118_done:
   # rx subrule "O" subtype=capture negate=
     rx1113_cur."!cursor_pos"(rx1113_pos)
-    $P10 = rx1113_cur."O"("%relational, :pirop<islt ISs>")
+    $P10 = rx1113_cur."O"("%relational, :pirop<isle ISs>")
     unless $P10, rx1113_fail
     rx1113_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("O")
     rx1113_pos = $P10."pos"()
   # rx pass
-    rx1113_cur."!cursor_pass"(rx1113_pos, "infix:sym<lt>")
-    rx1113_cur."!cursor_debug"("PASS  ", "infix:sym<lt>", " at pos=", rx1113_pos)
+    rx1113_cur."!cursor_pass"(rx1113_pos, "infix:sym<le>")
+    rx1113_cur."!cursor_debug"("PASS  ", "infix:sym<le>", " at pos=", rx1113_pos)
     .return (rx1113_cur)
   rx1113_fail:
-.annotate "line", 408
+.annotate "line", 413
     (rx1113_rep, rx1113_pos, $I10, $P10) = rx1113_cur."!mark_fail"(0)
     lt rx1113_pos, -1, rx1113_done
     eq rx1113_pos, -1, rx1113_fail
     jump $I10
   rx1113_done:
     rx1113_cur."!cursor_fail"()
-    rx1113_cur."!cursor_debug"("FAIL  ", "infix:sym<lt>")
+    rx1113_cur."!cursor_debug"("FAIL  ", "infix:sym<le>")
     .return (rx1113_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__infix:sym<lt>"  :subid("286_1260829317.63188") :method
-.annotate "line", 408
-    $P1115 = self."!PREFIX__!subrule"("O", "lt")
+.sub "!PREFIX__infix:sym<le>"  :subid("286_1261019367.36172") :method
+.annotate "line", 413
+    $P1115 = self."!PREFIX__!subrule"("O", "le")
     new $P1116, "ResizablePMCArray"
     push $P1116, $P1115
     .return ($P1116)
@@ -13687,8 +13684,8 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "infix:sym<gt>"  :subid("287_1260829317.63188") :method :outer("11_1260829317.63188")
-.annotate "line", 408
+.sub "infix:sym<ge>"  :subid("287_1261019367.36172") :method :outer("11_1261019367.36172")
+.annotate "line", 413
     .local string rx1120_tgt
     .local int rx1120_pos
     .local int rx1120_off
@@ -13696,7 +13693,7 @@
     .local int rx1120_rep
     .local pmc rx1120_cur
     (rx1120_cur, rx1120_pos, rx1120_tgt) = self."!cursor_start"()
-    rx1120_cur."!cursor_debug"("START ", "infix:sym<gt>")
+    rx1120_cur."!cursor_debug"("START ", "infix:sym<ge>")
     .lex unicode:"$\x{a2}", rx1120_cur
     .local pmc match
     .lex "$/", match
@@ -13718,16 +13715,16 @@
     set_addr $I10, rxscan1124_loop
     rx1120_cur."!mark_push"(0, rx1120_pos, $I10)
   rxscan1124_done:
-.annotate "line", 488
+.annotate "line", 491
   # rx subcapture "sym"
     set_addr $I10, rxcap_1125_fail
     rx1120_cur."!mark_push"(0, rx1120_pos, $I10)
-  # rx literal  "gt"
+  # rx literal  "ge"
     add $I11, rx1120_pos, 2
     gt $I11, rx1120_eos, rx1120_fail
     sub $I11, rx1120_pos, rx1120_off
     substr $S10, rx1120_tgt, $I11, 2
-    ne $S10, "gt", rx1120_fail
+    ne $S10, "ge", rx1120_fail
     add rx1120_pos, 2
     set_addr $I10, rxcap_1125_fail
     ($I12, $I11) = rx1120_cur."!mark_peek"($I10)
@@ -13742,33 +13739,33 @@
   rxcap_1125_done:
   # rx subrule "O" subtype=capture negate=
     rx1120_cur."!cursor_pos"(rx1120_pos)
-    $P10 = rx1120_cur."O"("%relational, :pirop<isgt ISs>")
+    $P10 = rx1120_cur."O"("%relational, :pirop<isge ISs>")
     unless $P10, rx1120_fail
     rx1120_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("O")
     rx1120_pos = $P10."pos"()
   # rx pass
-    rx1120_cur."!cursor_pass"(rx1120_pos, "infix:sym<gt>")
-    rx1120_cur."!cursor_debug"("PASS  ", "infix:sym<gt>", " at pos=", rx1120_pos)
+    rx1120_cur."!cursor_pass"(rx1120_pos, "infix:sym<ge>")
+    rx1120_cur."!cursor_debug"("PASS  ", "infix:sym<ge>", " at pos=", rx1120_pos)
     .return (rx1120_cur)
   rx1120_fail:
-.annotate "line", 408
+.annotate "line", 413
     (rx1120_rep, rx1120_pos, $I10, $P10) = rx1120_cur."!mark_fail"(0)
     lt rx1120_pos, -1, rx1120_done
     eq rx1120_pos, -1, rx1120_fail
     jump $I10
   rx1120_done:
     rx1120_cur."!cursor_fail"()
-    rx1120_cur."!cursor_debug"("FAIL  ", "infix:sym<gt>")
+    rx1120_cur."!cursor_debug"("FAIL  ", "infix:sym<ge>")
     .return (rx1120_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__infix:sym<gt>"  :subid("288_1260829317.63188") :method
-.annotate "line", 408
-    $P1122 = self."!PREFIX__!subrule"("O", "gt")
+.sub "!PREFIX__infix:sym<ge>"  :subid("288_1261019367.36172") :method
+.annotate "line", 413
+    $P1122 = self."!PREFIX__!subrule"("O", "ge")
     new $P1123, "ResizablePMCArray"
     push $P1123, $P1122
     .return ($P1123)
@@ -13776,8 +13773,8 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "infix:sym<=:=>"  :subid("289_1260829317.63188") :method :outer("11_1260829317.63188")
-.annotate "line", 408
+.sub "infix:sym<lt>"  :subid("289_1261019367.36172") :method :outer("11_1261019367.36172")
+.annotate "line", 413
     .local string rx1127_tgt
     .local int rx1127_pos
     .local int rx1127_off
@@ -13785,7 +13782,7 @@
     .local int rx1127_rep
     .local pmc rx1127_cur
     (rx1127_cur, rx1127_pos, rx1127_tgt) = self."!cursor_start"()
-    rx1127_cur."!cursor_debug"("START ", "infix:sym<=:=>")
+    rx1127_cur."!cursor_debug"("START ", "infix:sym<lt>")
     .lex unicode:"$\x{a2}", rx1127_cur
     .local pmc match
     .lex "$/", match
@@ -13807,17 +13804,17 @@
     set_addr $I10, rxscan1131_loop
     rx1127_cur."!mark_push"(0, rx1127_pos, $I10)
   rxscan1131_done:
-.annotate "line", 489
+.annotate "line", 492
   # rx subcapture "sym"
     set_addr $I10, rxcap_1132_fail
     rx1127_cur."!mark_push"(0, rx1127_pos, $I10)
-  # rx literal  "=:="
-    add $I11, rx1127_pos, 3
+  # rx literal  "lt"
+    add $I11, rx1127_pos, 2
     gt $I11, rx1127_eos, rx1127_fail
     sub $I11, rx1127_pos, rx1127_off
-    substr $S10, rx1127_tgt, $I11, 3
-    ne $S10, "=:=", rx1127_fail
-    add rx1127_pos, 3
+    substr $S10, rx1127_tgt, $I11, 2
+    ne $S10, "lt", rx1127_fail
+    add rx1127_pos, 2
     set_addr $I10, rxcap_1132_fail
     ($I12, $I11) = rx1127_cur."!mark_peek"($I10)
     rx1127_cur."!cursor_pos"($I11)
@@ -13831,33 +13828,33 @@
   rxcap_1132_done:
   # rx subrule "O" subtype=capture negate=
     rx1127_cur."!cursor_pos"(rx1127_pos)
-    $P10 = rx1127_cur."O"("%relational, :pirop<issame>")
+    $P10 = rx1127_cur."O"("%relational, :pirop<islt ISs>")
     unless $P10, rx1127_fail
     rx1127_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("O")
     rx1127_pos = $P10."pos"()
   # rx pass
-    rx1127_cur."!cursor_pass"(rx1127_pos, "infix:sym<=:=>")
-    rx1127_cur."!cursor_debug"("PASS  ", "infix:sym<=:=>", " at pos=", rx1127_pos)
+    rx1127_cur."!cursor_pass"(rx1127_pos, "infix:sym<lt>")
+    rx1127_cur."!cursor_debug"("PASS  ", "infix:sym<lt>", " at pos=", rx1127_pos)
     .return (rx1127_cur)
   rx1127_fail:
-.annotate "line", 408
+.annotate "line", 413
     (rx1127_rep, rx1127_pos, $I10, $P10) = rx1127_cur."!mark_fail"(0)
     lt rx1127_pos, -1, rx1127_done
     eq rx1127_pos, -1, rx1127_fail
     jump $I10
   rx1127_done:
     rx1127_cur."!cursor_fail"()
-    rx1127_cur."!cursor_debug"("FAIL  ", "infix:sym<=:=>")
+    rx1127_cur."!cursor_debug"("FAIL  ", "infix:sym<lt>")
     .return (rx1127_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__infix:sym<=:=>"  :subid("290_1260829317.63188") :method
-.annotate "line", 408
-    $P1129 = self."!PREFIX__!subrule"("O", "=:=")
+.sub "!PREFIX__infix:sym<lt>"  :subid("290_1261019367.36172") :method
+.annotate "line", 413
+    $P1129 = self."!PREFIX__!subrule"("O", "lt")
     new $P1130, "ResizablePMCArray"
     push $P1130, $P1129
     .return ($P1130)
@@ -13865,8 +13862,8 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "infix:sym<~~>"  :subid("291_1260829317.63188") :method :outer("11_1260829317.63188")
-.annotate "line", 408
+.sub "infix:sym<gt>"  :subid("291_1261019367.36172") :method :outer("11_1261019367.36172")
+.annotate "line", 413
     .local string rx1134_tgt
     .local int rx1134_pos
     .local int rx1134_off
@@ -13874,7 +13871,7 @@
     .local int rx1134_rep
     .local pmc rx1134_cur
     (rx1134_cur, rx1134_pos, rx1134_tgt) = self."!cursor_start"()
-    rx1134_cur."!cursor_debug"("START ", "infix:sym<~~>")
+    rx1134_cur."!cursor_debug"("START ", "infix:sym<gt>")
     .lex unicode:"$\x{a2}", rx1134_cur
     .local pmc match
     .lex "$/", match
@@ -13896,16 +13893,16 @@
     set_addr $I10, rxscan1138_loop
     rx1134_cur."!mark_push"(0, rx1134_pos, $I10)
   rxscan1138_done:
-.annotate "line", 490
+.annotate "line", 493
   # rx subcapture "sym"
     set_addr $I10, rxcap_1139_fail
     rx1134_cur."!mark_push"(0, rx1134_pos, $I10)
-  # rx literal  "~~"
+  # rx literal  "gt"
     add $I11, rx1134_pos, 2
     gt $I11, rx1134_eos, rx1134_fail
     sub $I11, rx1134_pos, rx1134_off
     substr $S10, rx1134_tgt, $I11, 2
-    ne $S10, "~~", rx1134_fail
+    ne $S10, "gt", rx1134_fail
     add rx1134_pos, 2
     set_addr $I10, rxcap_1139_fail
     ($I12, $I11) = rx1134_cur."!mark_peek"($I10)
@@ -13920,33 +13917,33 @@
   rxcap_1139_done:
   # rx subrule "O" subtype=capture negate=
     rx1134_cur."!cursor_pos"(rx1134_pos)
-    $P10 = rx1134_cur."O"("%relational, :reducecheck<smartmatch>")
+    $P10 = rx1134_cur."O"("%relational, :pirop<isgt ISs>")
     unless $P10, rx1134_fail
     rx1134_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("O")
     rx1134_pos = $P10."pos"()
   # rx pass
-    rx1134_cur."!cursor_pass"(rx1134_pos, "infix:sym<~~>")
-    rx1134_cur."!cursor_debug"("PASS  ", "infix:sym<~~>", " at pos=", rx1134_pos)
+    rx1134_cur."!cursor_pass"(rx1134_pos, "infix:sym<gt>")
+    rx1134_cur."!cursor_debug"("PASS  ", "infix:sym<gt>", " at pos=", rx1134_pos)
     .return (rx1134_cur)
   rx1134_fail:
-.annotate "line", 408
+.annotate "line", 413
     (rx1134_rep, rx1134_pos, $I10, $P10) = rx1134_cur."!mark_fail"(0)
     lt rx1134_pos, -1, rx1134_done
     eq rx1134_pos, -1, rx1134_fail
     jump $I10
   rx1134_done:
     rx1134_cur."!cursor_fail"()
-    rx1134_cur."!cursor_debug"("FAIL  ", "infix:sym<~~>")
+    rx1134_cur."!cursor_debug"("FAIL  ", "infix:sym<gt>")
     .return (rx1134_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__infix:sym<~~>"  :subid("292_1260829317.63188") :method
-.annotate "line", 408
-    $P1136 = self."!PREFIX__!subrule"("O", "~~")
+.sub "!PREFIX__infix:sym<gt>"  :subid("292_1261019367.36172") :method
+.annotate "line", 413
+    $P1136 = self."!PREFIX__!subrule"("O", "gt")
     new $P1137, "ResizablePMCArray"
     push $P1137, $P1136
     .return ($P1137)
@@ -13954,8 +13951,8 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "infix:sym<&&>"  :subid("293_1260829317.63188") :method :outer("11_1260829317.63188")
-.annotate "line", 408
+.sub "infix:sym<=:=>"  :subid("293_1261019367.36172") :method :outer("11_1261019367.36172")
+.annotate "line", 413
     .local string rx1141_tgt
     .local int rx1141_pos
     .local int rx1141_off
@@ -13963,7 +13960,7 @@
     .local int rx1141_rep
     .local pmc rx1141_cur
     (rx1141_cur, rx1141_pos, rx1141_tgt) = self."!cursor_start"()
-    rx1141_cur."!cursor_debug"("START ", "infix:sym<&&>")
+    rx1141_cur."!cursor_debug"("START ", "infix:sym<=:=>")
     .lex unicode:"$\x{a2}", rx1141_cur
     .local pmc match
     .lex "$/", match
@@ -13985,17 +13982,17 @@
     set_addr $I10, rxscan1145_loop
     rx1141_cur."!mark_push"(0, rx1141_pos, $I10)
   rxscan1145_done:
-.annotate "line", 492
+.annotate "line", 494
   # rx subcapture "sym"
     set_addr $I10, rxcap_1146_fail
     rx1141_cur."!mark_push"(0, rx1141_pos, $I10)
-  # rx literal  "&&"
-    add $I11, rx1141_pos, 2
+  # rx literal  "=:="
+    add $I11, rx1141_pos, 3
     gt $I11, rx1141_eos, rx1141_fail
     sub $I11, rx1141_pos, rx1141_off
-    substr $S10, rx1141_tgt, $I11, 2
-    ne $S10, "&&", rx1141_fail
-    add rx1141_pos, 2
+    substr $S10, rx1141_tgt, $I11, 3
+    ne $S10, "=:=", rx1141_fail
+    add rx1141_pos, 3
     set_addr $I10, rxcap_1146_fail
     ($I12, $I11) = rx1141_cur."!mark_peek"($I10)
     rx1141_cur."!cursor_pos"($I11)
@@ -14009,33 +14006,33 @@
   rxcap_1146_done:
   # rx subrule "O" subtype=capture negate=
     rx1141_cur."!cursor_pos"(rx1141_pos)
-    $P10 = rx1141_cur."O"("%tight_and, :pasttype<if>")
+    $P10 = rx1141_cur."O"("%relational, :pirop<issame>")
     unless $P10, rx1141_fail
     rx1141_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("O")
     rx1141_pos = $P10."pos"()
   # rx pass
-    rx1141_cur."!cursor_pass"(rx1141_pos, "infix:sym<&&>")
-    rx1141_cur."!cursor_debug"("PASS  ", "infix:sym<&&>", " at pos=", rx1141_pos)
+    rx1141_cur."!cursor_pass"(rx1141_pos, "infix:sym<=:=>")
+    rx1141_cur."!cursor_debug"("PASS  ", "infix:sym<=:=>", " at pos=", rx1141_pos)
     .return (rx1141_cur)
   rx1141_fail:
-.annotate "line", 408
+.annotate "line", 413
     (rx1141_rep, rx1141_pos, $I10, $P10) = rx1141_cur."!mark_fail"(0)
     lt rx1141_pos, -1, rx1141_done
     eq rx1141_pos, -1, rx1141_fail
     jump $I10
   rx1141_done:
     rx1141_cur."!cursor_fail"()
-    rx1141_cur."!cursor_debug"("FAIL  ", "infix:sym<&&>")
+    rx1141_cur."!cursor_debug"("FAIL  ", "infix:sym<=:=>")
     .return (rx1141_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__infix:sym<&&>"  :subid("294_1260829317.63188") :method
-.annotate "line", 408
-    $P1143 = self."!PREFIX__!subrule"("O", "&&")
+.sub "!PREFIX__infix:sym<=:=>"  :subid("294_1261019367.36172") :method
+.annotate "line", 413
+    $P1143 = self."!PREFIX__!subrule"("O", "=:=")
     new $P1144, "ResizablePMCArray"
     push $P1144, $P1143
     .return ($P1144)
@@ -14043,8 +14040,8 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "infix:sym<||>"  :subid("295_1260829317.63188") :method :outer("11_1260829317.63188")
-.annotate "line", 408
+.sub "infix:sym<~~>"  :subid("295_1261019367.36172") :method :outer("11_1261019367.36172")
+.annotate "line", 413
     .local string rx1148_tgt
     .local int rx1148_pos
     .local int rx1148_off
@@ -14052,7 +14049,7 @@
     .local int rx1148_rep
     .local pmc rx1148_cur
     (rx1148_cur, rx1148_pos, rx1148_tgt) = self."!cursor_start"()
-    rx1148_cur."!cursor_debug"("START ", "infix:sym<||>")
+    rx1148_cur."!cursor_debug"("START ", "infix:sym<~~>")
     .lex unicode:"$\x{a2}", rx1148_cur
     .local pmc match
     .lex "$/", match
@@ -14074,16 +14071,16 @@
     set_addr $I10, rxscan1152_loop
     rx1148_cur."!mark_push"(0, rx1148_pos, $I10)
   rxscan1152_done:
-.annotate "line", 494
+.annotate "line", 495
   # rx subcapture "sym"
     set_addr $I10, rxcap_1153_fail
     rx1148_cur."!mark_push"(0, rx1148_pos, $I10)
-  # rx literal  "||"
+  # rx literal  "~~"
     add $I11, rx1148_pos, 2
     gt $I11, rx1148_eos, rx1148_fail
     sub $I11, rx1148_pos, rx1148_off
     substr $S10, rx1148_tgt, $I11, 2
-    ne $S10, "||", rx1148_fail
+    ne $S10, "~~", rx1148_fail
     add rx1148_pos, 2
     set_addr $I10, rxcap_1153_fail
     ($I12, $I11) = rx1148_cur."!mark_peek"($I10)
@@ -14098,33 +14095,33 @@
   rxcap_1153_done:
   # rx subrule "O" subtype=capture negate=
     rx1148_cur."!cursor_pos"(rx1148_pos)
-    $P10 = rx1148_cur."O"("%tight_or, :pasttype<unless>")
+    $P10 = rx1148_cur."O"("%relational, :reducecheck<smartmatch>")
     unless $P10, rx1148_fail
     rx1148_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("O")
     rx1148_pos = $P10."pos"()
   # rx pass
-    rx1148_cur."!cursor_pass"(rx1148_pos, "infix:sym<||>")
-    rx1148_cur."!cursor_debug"("PASS  ", "infix:sym<||>", " at pos=", rx1148_pos)
+    rx1148_cur."!cursor_pass"(rx1148_pos, "infix:sym<~~>")
+    rx1148_cur."!cursor_debug"("PASS  ", "infix:sym<~~>", " at pos=", rx1148_pos)
     .return (rx1148_cur)
   rx1148_fail:
-.annotate "line", 408
+.annotate "line", 413
     (rx1148_rep, rx1148_pos, $I10, $P10) = rx1148_cur."!mark_fail"(0)
     lt rx1148_pos, -1, rx1148_done
     eq rx1148_pos, -1, rx1148_fail
     jump $I10
   rx1148_done:
     rx1148_cur."!cursor_fail"()
-    rx1148_cur."!cursor_debug"("FAIL  ", "infix:sym<||>")
+    rx1148_cur."!cursor_debug"("FAIL  ", "infix:sym<~~>")
     .return (rx1148_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__infix:sym<||>"  :subid("296_1260829317.63188") :method
-.annotate "line", 408
-    $P1150 = self."!PREFIX__!subrule"("O", "||")
+.sub "!PREFIX__infix:sym<~~>"  :subid("296_1261019367.36172") :method
+.annotate "line", 413
+    $P1150 = self."!PREFIX__!subrule"("O", "~~")
     new $P1151, "ResizablePMCArray"
     push $P1151, $P1150
     .return ($P1151)
@@ -14132,8 +14129,8 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "infix:sym<//>"  :subid("297_1260829317.63188") :method :outer("11_1260829317.63188")
-.annotate "line", 408
+.sub "infix:sym<&&>"  :subid("297_1261019367.36172") :method :outer("11_1261019367.36172")
+.annotate "line", 413
     .local string rx1155_tgt
     .local int rx1155_pos
     .local int rx1155_off
@@ -14141,7 +14138,7 @@
     .local int rx1155_rep
     .local pmc rx1155_cur
     (rx1155_cur, rx1155_pos, rx1155_tgt) = self."!cursor_start"()
-    rx1155_cur."!cursor_debug"("START ", "infix:sym<//>")
+    rx1155_cur."!cursor_debug"("START ", "infix:sym<&&>")
     .lex unicode:"$\x{a2}", rx1155_cur
     .local pmc match
     .lex "$/", match
@@ -14163,16 +14160,16 @@
     set_addr $I10, rxscan1159_loop
     rx1155_cur."!mark_push"(0, rx1155_pos, $I10)
   rxscan1159_done:
-.annotate "line", 495
+.annotate "line", 497
   # rx subcapture "sym"
     set_addr $I10, rxcap_1160_fail
     rx1155_cur."!mark_push"(0, rx1155_pos, $I10)
-  # rx literal  "//"
+  # rx literal  "&&"
     add $I11, rx1155_pos, 2
     gt $I11, rx1155_eos, rx1155_fail
     sub $I11, rx1155_pos, rx1155_off
     substr $S10, rx1155_tgt, $I11, 2
-    ne $S10, "//", rx1155_fail
+    ne $S10, "&&", rx1155_fail
     add rx1155_pos, 2
     set_addr $I10, rxcap_1160_fail
     ($I12, $I11) = rx1155_cur."!mark_peek"($I10)
@@ -14187,33 +14184,33 @@
   rxcap_1160_done:
   # rx subrule "O" subtype=capture negate=
     rx1155_cur."!cursor_pos"(rx1155_pos)
-    $P10 = rx1155_cur."O"("%tight_or, :pasttype<def_or>")
+    $P10 = rx1155_cur."O"("%tight_and, :pasttype<if>")
     unless $P10, rx1155_fail
     rx1155_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("O")
     rx1155_pos = $P10."pos"()
   # rx pass
-    rx1155_cur."!cursor_pass"(rx1155_pos, "infix:sym<//>")
-    rx1155_cur."!cursor_debug"("PASS  ", "infix:sym<//>", " at pos=", rx1155_pos)
+    rx1155_cur."!cursor_pass"(rx1155_pos, "infix:sym<&&>")
+    rx1155_cur."!cursor_debug"("PASS  ", "infix:sym<&&>", " at pos=", rx1155_pos)
     .return (rx1155_cur)
   rx1155_fail:
-.annotate "line", 408
+.annotate "line", 413
     (rx1155_rep, rx1155_pos, $I10, $P10) = rx1155_cur."!mark_fail"(0)
     lt rx1155_pos, -1, rx1155_done
     eq rx1155_pos, -1, rx1155_fail
     jump $I10
   rx1155_done:
     rx1155_cur."!cursor_fail"()
-    rx1155_cur."!cursor_debug"("FAIL  ", "infix:sym<//>")
+    rx1155_cur."!cursor_debug"("FAIL  ", "infix:sym<&&>")
     .return (rx1155_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__infix:sym<//>"  :subid("298_1260829317.63188") :method
-.annotate "line", 408
-    $P1157 = self."!PREFIX__!subrule"("O", "//")
+.sub "!PREFIX__infix:sym<&&>"  :subid("298_1261019367.36172") :method
+.annotate "line", 413
+    $P1157 = self."!PREFIX__!subrule"("O", "&&")
     new $P1158, "ResizablePMCArray"
     push $P1158, $P1157
     .return ($P1158)
@@ -14221,8 +14218,8 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "infix:sym<?? !!>"  :subid("299_1260829317.63188") :method :outer("11_1260829317.63188")
-.annotate "line", 408
+.sub "infix:sym<||>"  :subid("299_1261019367.36172") :method :outer("11_1261019367.36172")
+.annotate "line", 413
     .local string rx1162_tgt
     .local int rx1162_pos
     .local int rx1162_off
@@ -14230,7 +14227,7 @@
     .local int rx1162_rep
     .local pmc rx1162_cur
     (rx1162_cur, rx1162_pos, rx1162_tgt) = self."!cursor_start"()
-    rx1162_cur."!cursor_debug"("START ", "infix:sym<?? !!>")
+    rx1162_cur."!cursor_debug"("START ", "infix:sym<||>")
     .lex unicode:"$\x{a2}", rx1162_cur
     .local pmc match
     .lex "$/", match
@@ -14252,67 +14249,57 @@
     set_addr $I10, rxscan1166_loop
     rx1162_cur."!mark_push"(0, rx1162_pos, $I10)
   rxscan1166_done:
-.annotate "line", 498
-  # rx literal  "??"
-    add $I11, rx1162_pos, 2
-    gt $I11, rx1162_eos, rx1162_fail
-    sub $I11, rx1162_pos, rx1162_off
-    substr $S10, rx1162_tgt, $I11, 2
-    ne $S10, "??", rx1162_fail
-    add rx1162_pos, 2
 .annotate "line", 499
-  # rx subrule "ws" subtype=method negate=
-    rx1162_cur."!cursor_pos"(rx1162_pos)
-    $P10 = rx1162_cur."ws"()
-    unless $P10, rx1162_fail
-    rx1162_pos = $P10."pos"()
-.annotate "line", 500
-  # rx subrule "EXPR" subtype=capture negate=
-    rx1162_cur."!cursor_pos"(rx1162_pos)
-    $P10 = rx1162_cur."EXPR"("i=")
-    unless $P10, rx1162_fail
-    rx1162_cur."!mark_push"(0, -1, 0, $P10)
-    $P10."!cursor_names"("EXPR")
-    rx1162_pos = $P10."pos"()
-.annotate "line", 501
-  # rx literal  "!!"
+  # rx subcapture "sym"
+    set_addr $I10, rxcap_1167_fail
+    rx1162_cur."!mark_push"(0, rx1162_pos, $I10)
+  # rx literal  "||"
     add $I11, rx1162_pos, 2
     gt $I11, rx1162_eos, rx1162_fail
     sub $I11, rx1162_pos, rx1162_off
     substr $S10, rx1162_tgt, $I11, 2
-    ne $S10, "!!", rx1162_fail
+    ne $S10, "||", rx1162_fail
     add rx1162_pos, 2
-.annotate "line", 502
+    set_addr $I10, rxcap_1167_fail
+    ($I12, $I11) = rx1162_cur."!mark_peek"($I10)
+    rx1162_cur."!cursor_pos"($I11)
+    ($P10) = rx1162_cur."!cursor_start"()
+    $P10."!cursor_pass"(rx1162_pos, "")
+    rx1162_cur."!mark_push"(0, -1, 0, $P10)
+    $P10."!cursor_names"("sym")
+    goto rxcap_1167_done
+  rxcap_1167_fail:
+    goto rx1162_fail
+  rxcap_1167_done:
   # rx subrule "O" subtype=capture negate=
     rx1162_cur."!cursor_pos"(rx1162_pos)
-    $P10 = rx1162_cur."O"("%conditional, :reducecheck<ternary>, :pasttype<if>")
+    $P10 = rx1162_cur."O"("%tight_or, :pasttype<unless>")
     unless $P10, rx1162_fail
     rx1162_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("O")
     rx1162_pos = $P10."pos"()
-.annotate "line", 497
   # rx pass
-    rx1162_cur."!cursor_pass"(rx1162_pos, "infix:sym<?? !!>")
-    rx1162_cur."!cursor_debug"("PASS  ", "infix:sym<?? !!>", " at pos=", rx1162_pos)
+    rx1162_cur."!cursor_pass"(rx1162_pos, "infix:sym<||>")
+    rx1162_cur."!cursor_debug"("PASS  ", "infix:sym<||>", " at pos=", rx1162_pos)
     .return (rx1162_cur)
   rx1162_fail:
-.annotate "line", 408
+.annotate "line", 413
     (rx1162_rep, rx1162_pos, $I10, $P10) = rx1162_cur."!mark_fail"(0)
     lt rx1162_pos, -1, rx1162_done
     eq rx1162_pos, -1, rx1162_fail
     jump $I10
   rx1162_done:
     rx1162_cur."!cursor_fail"()
-    rx1162_cur."!cursor_debug"("FAIL  ", "infix:sym<?? !!>")
+    rx1162_cur."!cursor_debug"("FAIL  ", "infix:sym<||>")
     .return (rx1162_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__infix:sym<?? !!>"  :subid("300_1260829317.63188") :method
-.annotate "line", 408
-    $P1164 = self."!PREFIX__!subrule"("", "??")
+.sub "!PREFIX__infix:sym<||>"  :subid("300_1261019367.36172") :method
+.annotate "line", 413
+    $P1164 = self."!PREFIX__!subrule"("O", "||")
     new $P1165, "ResizablePMCArray"
     push $P1165, $P1164
     .return ($P1165)
@@ -14320,185 +14307,196 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "infix:sym<=>"  :subid("301_1260829317.63188") :method :outer("11_1260829317.63188")
-.annotate "line", 408
-    .local string rx1168_tgt
-    .local int rx1168_pos
-    .local int rx1168_off
-    .local int rx1168_eos
-    .local int rx1168_rep
-    .local pmc rx1168_cur
-    (rx1168_cur, rx1168_pos, rx1168_tgt) = self."!cursor_start"()
-    rx1168_cur."!cursor_debug"("START ", "infix:sym<=>")
-    .lex unicode:"$\x{a2}", rx1168_cur
-    .local pmc match
-    .lex "$/", match
-    length rx1168_eos, rx1168_tgt
-    set rx1168_off, 0
-    lt rx1168_pos, 2, rx1168_start
-    sub rx1168_off, rx1168_pos, 1
-    substr rx1168_tgt, rx1168_tgt, rx1168_off
-  rx1168_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan1172_done
-    goto rxscan1172_scan
-  rxscan1172_loop:
-    ($P10) = rx1168_cur."from"()
-    inc $P10
-    set rx1168_pos, $P10
-    ge rx1168_pos, rx1168_eos, rxscan1172_done
-  rxscan1172_scan:
-    set_addr $I10, rxscan1172_loop
-    rx1168_cur."!mark_push"(0, rx1168_pos, $I10)
-  rxscan1172_done:
-.annotate "line", 506
+.sub "infix:sym<//>"  :subid("301_1261019367.36172") :method :outer("11_1261019367.36172")
+.annotate "line", 413
+    .local string rx1169_tgt
+    .local int rx1169_pos
+    .local int rx1169_off
+    .local int rx1169_eos
+    .local int rx1169_rep
+    .local pmc rx1169_cur
+    (rx1169_cur, rx1169_pos, rx1169_tgt) = self."!cursor_start"()
+    rx1169_cur."!cursor_debug"("START ", "infix:sym<//>")
+    .lex unicode:"$\x{a2}", rx1169_cur
+    .local pmc match
+    .lex "$/", match
+    length rx1169_eos, rx1169_tgt
+    set rx1169_off, 0
+    lt rx1169_pos, 2, rx1169_start
+    sub rx1169_off, rx1169_pos, 1
+    substr rx1169_tgt, rx1169_tgt, rx1169_off
+  rx1169_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan1173_done
+    goto rxscan1173_scan
+  rxscan1173_loop:
+    ($P10) = rx1169_cur."from"()
+    inc $P10
+    set rx1169_pos, $P10
+    ge rx1169_pos, rx1169_eos, rxscan1173_done
+  rxscan1173_scan:
+    set_addr $I10, rxscan1173_loop
+    rx1169_cur."!mark_push"(0, rx1169_pos, $I10)
+  rxscan1173_done:
+.annotate "line", 500
   # rx subcapture "sym"
-    set_addr $I10, rxcap_1173_fail
-    rx1168_cur."!mark_push"(0, rx1168_pos, $I10)
-  # rx literal  "="
-    add $I11, rx1168_pos, 1
-    gt $I11, rx1168_eos, rx1168_fail
-    sub $I11, rx1168_pos, rx1168_off
-    substr $S10, rx1168_tgt, $I11, 1
-    ne $S10, "=", rx1168_fail
-    add rx1168_pos, 1
-    set_addr $I10, rxcap_1173_fail
-    ($I12, $I11) = rx1168_cur."!mark_peek"($I10)
-    rx1168_cur."!cursor_pos"($I11)
-    ($P10) = rx1168_cur."!cursor_start"()
-    $P10."!cursor_pass"(rx1168_pos, "")
-    rx1168_cur."!mark_push"(0, -1, 0, $P10)
+    set_addr $I10, rxcap_1174_fail
+    rx1169_cur."!mark_push"(0, rx1169_pos, $I10)
+  # rx literal  "//"
+    add $I11, rx1169_pos, 2
+    gt $I11, rx1169_eos, rx1169_fail
+    sub $I11, rx1169_pos, rx1169_off
+    substr $S10, rx1169_tgt, $I11, 2
+    ne $S10, "//", rx1169_fail
+    add rx1169_pos, 2
+    set_addr $I10, rxcap_1174_fail
+    ($I12, $I11) = rx1169_cur."!mark_peek"($I10)
+    rx1169_cur."!cursor_pos"($I11)
+    ($P10) = rx1169_cur."!cursor_start"()
+    $P10."!cursor_pass"(rx1169_pos, "")
+    rx1169_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("sym")
-    goto rxcap_1173_done
-  rxcap_1173_fail:
-    goto rx1168_fail
-  rxcap_1173_done:
-  # rx subrule "panic" subtype=method negate=
-    rx1168_cur."!cursor_pos"(rx1168_pos)
-    $P10 = rx1168_cur."panic"("Assignment (\"=\") not supported in NQP, use \":=\" instead")
-    unless $P10, rx1168_fail
-    rx1168_pos = $P10."pos"()
-.annotate "line", 505
+    goto rxcap_1174_done
+  rxcap_1174_fail:
+    goto rx1169_fail
+  rxcap_1174_done:
+  # rx subrule "O" subtype=capture negate=
+    rx1169_cur."!cursor_pos"(rx1169_pos)
+    $P10 = rx1169_cur."O"("%tight_or, :pasttype<def_or>")
+    unless $P10, rx1169_fail
+    rx1169_cur."!mark_push"(0, -1, 0, $P10)
+    $P10."!cursor_names"("O")
+    rx1169_pos = $P10."pos"()
   # rx pass
-    rx1168_cur."!cursor_pass"(rx1168_pos, "infix:sym<=>")
-    rx1168_cur."!cursor_debug"("PASS  ", "infix:sym<=>", " at pos=", rx1168_pos)
-    .return (rx1168_cur)
-  rx1168_fail:
-.annotate "line", 408
-    (rx1168_rep, rx1168_pos, $I10, $P10) = rx1168_cur."!mark_fail"(0)
-    lt rx1168_pos, -1, rx1168_done
-    eq rx1168_pos, -1, rx1168_fail
+    rx1169_cur."!cursor_pass"(rx1169_pos, "infix:sym<//>")
+    rx1169_cur."!cursor_debug"("PASS  ", "infix:sym<//>", " at pos=", rx1169_pos)
+    .return (rx1169_cur)
+  rx1169_fail:
+.annotate "line", 413
+    (rx1169_rep, rx1169_pos, $I10, $P10) = rx1169_cur."!mark_fail"(0)
+    lt rx1169_pos, -1, rx1169_done
+    eq rx1169_pos, -1, rx1169_fail
     jump $I10
-  rx1168_done:
-    rx1168_cur."!cursor_fail"()
-    rx1168_cur."!cursor_debug"("FAIL  ", "infix:sym<=>")
-    .return (rx1168_cur)
+  rx1169_done:
+    rx1169_cur."!cursor_fail"()
+    rx1169_cur."!cursor_debug"("FAIL  ", "infix:sym<//>")
+    .return (rx1169_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__infix:sym<=>"  :subid("302_1260829317.63188") :method
-.annotate "line", 408
-    $P1170 = self."!PREFIX__!subrule"("", "=")
-    new $P1171, "ResizablePMCArray"
-    push $P1171, $P1170
-    .return ($P1171)
+.sub "!PREFIX__infix:sym<//>"  :subid("302_1261019367.36172") :method
+.annotate "line", 413
+    $P1171 = self."!PREFIX__!subrule"("O", "//")
+    new $P1172, "ResizablePMCArray"
+    push $P1172, $P1171
+    .return ($P1172)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "infix:sym<:=>"  :subid("303_1260829317.63188") :method :outer("11_1260829317.63188")
-.annotate "line", 408
-    .local string rx1175_tgt
-    .local int rx1175_pos
-    .local int rx1175_off
-    .local int rx1175_eos
-    .local int rx1175_rep
-    .local pmc rx1175_cur
-    (rx1175_cur, rx1175_pos, rx1175_tgt) = self."!cursor_start"()
-    rx1175_cur."!cursor_debug"("START ", "infix:sym<:=>")
-    .lex unicode:"$\x{a2}", rx1175_cur
-    .local pmc match
-    .lex "$/", match
-    length rx1175_eos, rx1175_tgt
-    set rx1175_off, 0
-    lt rx1175_pos, 2, rx1175_start
-    sub rx1175_off, rx1175_pos, 1
-    substr rx1175_tgt, rx1175_tgt, rx1175_off
-  rx1175_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan1179_done
-    goto rxscan1179_scan
-  rxscan1179_loop:
-    ($P10) = rx1175_cur."from"()
-    inc $P10
-    set rx1175_pos, $P10
-    ge rx1175_pos, rx1175_eos, rxscan1179_done
-  rxscan1179_scan:
-    set_addr $I10, rxscan1179_loop
-    rx1175_cur."!mark_push"(0, rx1175_pos, $I10)
-  rxscan1179_done:
-.annotate "line", 508
-  # rx subcapture "sym"
-    set_addr $I10, rxcap_1180_fail
-    rx1175_cur."!mark_push"(0, rx1175_pos, $I10)
-  # rx literal  ":="
-    add $I11, rx1175_pos, 2
-    gt $I11, rx1175_eos, rx1175_fail
-    sub $I11, rx1175_pos, rx1175_off
-    substr $S10, rx1175_tgt, $I11, 2
-    ne $S10, ":=", rx1175_fail
-    add rx1175_pos, 2
-    set_addr $I10, rxcap_1180_fail
-    ($I12, $I11) = rx1175_cur."!mark_peek"($I10)
-    rx1175_cur."!cursor_pos"($I11)
-    ($P10) = rx1175_cur."!cursor_start"()
-    $P10."!cursor_pass"(rx1175_pos, "")
-    rx1175_cur."!mark_push"(0, -1, 0, $P10)
-    $P10."!cursor_names"("sym")
-    goto rxcap_1180_done
-  rxcap_1180_fail:
-    goto rx1175_fail
-  rxcap_1180_done:
+.sub "infix:sym<?? !!>"  :subid("303_1261019367.36172") :method :outer("11_1261019367.36172")
+.annotate "line", 413
+    .local string rx1176_tgt
+    .local int rx1176_pos
+    .local int rx1176_off
+    .local int rx1176_eos
+    .local int rx1176_rep
+    .local pmc rx1176_cur
+    (rx1176_cur, rx1176_pos, rx1176_tgt) = self."!cursor_start"()
+    rx1176_cur."!cursor_debug"("START ", "infix:sym<?? !!>")
+    .lex unicode:"$\x{a2}", rx1176_cur
+    .local pmc match
+    .lex "$/", match
+    length rx1176_eos, rx1176_tgt
+    set rx1176_off, 0
+    lt rx1176_pos, 2, rx1176_start
+    sub rx1176_off, rx1176_pos, 1
+    substr rx1176_tgt, rx1176_tgt, rx1176_off
+  rx1176_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan1180_done
+    goto rxscan1180_scan
+  rxscan1180_loop:
+    ($P10) = rx1176_cur."from"()
+    inc $P10
+    set rx1176_pos, $P10
+    ge rx1176_pos, rx1176_eos, rxscan1180_done
+  rxscan1180_scan:
+    set_addr $I10, rxscan1180_loop
+    rx1176_cur."!mark_push"(0, rx1176_pos, $I10)
+  rxscan1180_done:
+.annotate "line", 503
+  # rx literal  "??"
+    add $I11, rx1176_pos, 2
+    gt $I11, rx1176_eos, rx1176_fail
+    sub $I11, rx1176_pos, rx1176_off
+    substr $S10, rx1176_tgt, $I11, 2
+    ne $S10, "??", rx1176_fail
+    add rx1176_pos, 2
+.annotate "line", 504
+  # rx subrule "ws" subtype=method negate=
+    rx1176_cur."!cursor_pos"(rx1176_pos)
+    $P10 = rx1176_cur."ws"()
+    unless $P10, rx1176_fail
+    rx1176_pos = $P10."pos"()
+.annotate "line", 505
+  # rx subrule "EXPR" subtype=capture negate=
+    rx1176_cur."!cursor_pos"(rx1176_pos)
+    $P10 = rx1176_cur."EXPR"("i=")
+    unless $P10, rx1176_fail
+    rx1176_cur."!mark_push"(0, -1, 0, $P10)
+    $P10."!cursor_names"("EXPR")
+    rx1176_pos = $P10."pos"()
+.annotate "line", 506
+  # rx literal  "!!"
+    add $I11, rx1176_pos, 2
+    gt $I11, rx1176_eos, rx1176_fail
+    sub $I11, rx1176_pos, rx1176_off
+    substr $S10, rx1176_tgt, $I11, 2
+    ne $S10, "!!", rx1176_fail
+    add rx1176_pos, 2
+.annotate "line", 507
   # rx subrule "O" subtype=capture negate=
-    rx1175_cur."!cursor_pos"(rx1175_pos)
-    $P10 = rx1175_cur."O"("%assignment, :pasttype<bind>")
-    unless $P10, rx1175_fail
-    rx1175_cur."!mark_push"(0, -1, 0, $P10)
+    rx1176_cur."!cursor_pos"(rx1176_pos)
+    $P10 = rx1176_cur."O"("%conditional, :reducecheck<ternary>, :pasttype<if>")
+    unless $P10, rx1176_fail
+    rx1176_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("O")
-    rx1175_pos = $P10."pos"()
+    rx1176_pos = $P10."pos"()
+.annotate "line", 502
   # rx pass
-    rx1175_cur."!cursor_pass"(rx1175_pos, "infix:sym<:=>")
-    rx1175_cur."!cursor_debug"("PASS  ", "infix:sym<:=>", " at pos=", rx1175_pos)
-    .return (rx1175_cur)
-  rx1175_fail:
-.annotate "line", 408
-    (rx1175_rep, rx1175_pos, $I10, $P10) = rx1175_cur."!mark_fail"(0)
-    lt rx1175_pos, -1, rx1175_done
-    eq rx1175_pos, -1, rx1175_fail
+    rx1176_cur."!cursor_pass"(rx1176_pos, "infix:sym<?? !!>")
+    rx1176_cur."!cursor_debug"("PASS  ", "infix:sym<?? !!>", " at pos=", rx1176_pos)
+    .return (rx1176_cur)
+  rx1176_fail:
+.annotate "line", 413
+    (rx1176_rep, rx1176_pos, $I10, $P10) = rx1176_cur."!mark_fail"(0)
+    lt rx1176_pos, -1, rx1176_done
+    eq rx1176_pos, -1, rx1176_fail
     jump $I10
-  rx1175_done:
-    rx1175_cur."!cursor_fail"()
-    rx1175_cur."!cursor_debug"("FAIL  ", "infix:sym<:=>")
-    .return (rx1175_cur)
+  rx1176_done:
+    rx1176_cur."!cursor_fail"()
+    rx1176_cur."!cursor_debug"("FAIL  ", "infix:sym<?? !!>")
+    .return (rx1176_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__infix:sym<:=>"  :subid("304_1260829317.63188") :method
-.annotate "line", 408
-    $P1177 = self."!PREFIX__!subrule"("O", ":=")
-    new $P1178, "ResizablePMCArray"
-    push $P1178, $P1177
-    .return ($P1178)
+.sub "!PREFIX__infix:sym<?? !!>"  :subid("304_1261019367.36172") :method
+.annotate "line", 413
+    $P1178 = self."!PREFIX__!subrule"("", "??")
+    new $P1179, "ResizablePMCArray"
+    push $P1179, $P1178
+    .return ($P1179)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "infix:sym<::=>"  :subid("305_1260829317.63188") :method :outer("11_1260829317.63188")
-.annotate "line", 408
+.sub "infix:sym<=>"  :subid("305_1261019367.36172") :method :outer("11_1261019367.36172")
+.annotate "line", 413
     .local string rx1182_tgt
     .local int rx1182_pos
     .local int rx1182_off
@@ -14506,7 +14504,7 @@
     .local int rx1182_rep
     .local pmc rx1182_cur
     (rx1182_cur, rx1182_pos, rx1182_tgt) = self."!cursor_start"()
-    rx1182_cur."!cursor_debug"("START ", "infix:sym<::=>")
+    rx1182_cur."!cursor_debug"("START ", "infix:sym<=>")
     .lex unicode:"$\x{a2}", rx1182_cur
     .local pmc match
     .lex "$/", match
@@ -14528,17 +14526,17 @@
     set_addr $I10, rxscan1186_loop
     rx1182_cur."!mark_push"(0, rx1182_pos, $I10)
   rxscan1186_done:
-.annotate "line", 509
+.annotate "line", 511
   # rx subcapture "sym"
     set_addr $I10, rxcap_1187_fail
     rx1182_cur."!mark_push"(0, rx1182_pos, $I10)
-  # rx literal  "::="
-    add $I11, rx1182_pos, 3
+  # rx literal  "="
+    add $I11, rx1182_pos, 1
     gt $I11, rx1182_eos, rx1182_fail
     sub $I11, rx1182_pos, rx1182_off
-    substr $S10, rx1182_tgt, $I11, 3
-    ne $S10, "::=", rx1182_fail
-    add rx1182_pos, 3
+    substr $S10, rx1182_tgt, $I11, 1
+    ne $S10, "=", rx1182_fail
+    add rx1182_pos, 1
     set_addr $I10, rxcap_1187_fail
     ($I12, $I11) = rx1182_cur."!mark_peek"($I10)
     rx1182_cur."!cursor_pos"($I11)
@@ -14550,35 +14548,34 @@
   rxcap_1187_fail:
     goto rx1182_fail
   rxcap_1187_done:
-  # rx subrule "O" subtype=capture negate=
+  # rx subrule "panic" subtype=method negate=
     rx1182_cur."!cursor_pos"(rx1182_pos)
-    $P10 = rx1182_cur."O"("%assignment, :pasttype<bind>")
+    $P10 = rx1182_cur."panic"("Assignment (\"=\") not supported in NQP, use \":=\" instead")
     unless $P10, rx1182_fail
-    rx1182_cur."!mark_push"(0, -1, 0, $P10)
-    $P10."!cursor_names"("O")
     rx1182_pos = $P10."pos"()
+.annotate "line", 510
   # rx pass
-    rx1182_cur."!cursor_pass"(rx1182_pos, "infix:sym<::=>")
-    rx1182_cur."!cursor_debug"("PASS  ", "infix:sym<::=>", " at pos=", rx1182_pos)
+    rx1182_cur."!cursor_pass"(rx1182_pos, "infix:sym<=>")
+    rx1182_cur."!cursor_debug"("PASS  ", "infix:sym<=>", " at pos=", rx1182_pos)
     .return (rx1182_cur)
   rx1182_fail:
-.annotate "line", 408
+.annotate "line", 413
     (rx1182_rep, rx1182_pos, $I10, $P10) = rx1182_cur."!mark_fail"(0)
     lt rx1182_pos, -1, rx1182_done
     eq rx1182_pos, -1, rx1182_fail
     jump $I10
   rx1182_done:
     rx1182_cur."!cursor_fail"()
-    rx1182_cur."!cursor_debug"("FAIL  ", "infix:sym<::=>")
+    rx1182_cur."!cursor_debug"("FAIL  ", "infix:sym<=>")
     .return (rx1182_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__infix:sym<::=>"  :subid("306_1260829317.63188") :method
-.annotate "line", 408
-    $P1184 = self."!PREFIX__!subrule"("O", "::=")
+.sub "!PREFIX__infix:sym<=>"  :subid("306_1261019367.36172") :method
+.annotate "line", 413
+    $P1184 = self."!PREFIX__!subrule"("", "=")
     new $P1185, "ResizablePMCArray"
     push $P1185, $P1184
     .return ($P1185)
@@ -14586,8 +14583,8 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "infix:sym<,>"  :subid("307_1260829317.63188") :method :outer("11_1260829317.63188")
-.annotate "line", 408
+.sub "infix:sym<:=>"  :subid("307_1261019367.36172") :method :outer("11_1261019367.36172")
+.annotate "line", 413
     .local string rx1189_tgt
     .local int rx1189_pos
     .local int rx1189_off
@@ -14595,7 +14592,7 @@
     .local int rx1189_rep
     .local pmc rx1189_cur
     (rx1189_cur, rx1189_pos, rx1189_tgt) = self."!cursor_start"()
-    rx1189_cur."!cursor_debug"("START ", "infix:sym<,>")
+    rx1189_cur."!cursor_debug"("START ", "infix:sym<:=>")
     .lex unicode:"$\x{a2}", rx1189_cur
     .local pmc match
     .lex "$/", match
@@ -14617,17 +14614,17 @@
     set_addr $I10, rxscan1193_loop
     rx1189_cur."!mark_push"(0, rx1189_pos, $I10)
   rxscan1193_done:
-.annotate "line", 511
+.annotate "line", 513
   # rx subcapture "sym"
     set_addr $I10, rxcap_1194_fail
     rx1189_cur."!mark_push"(0, rx1189_pos, $I10)
-  # rx literal  ","
-    add $I11, rx1189_pos, 1
+  # rx literal  ":="
+    add $I11, rx1189_pos, 2
     gt $I11, rx1189_eos, rx1189_fail
     sub $I11, rx1189_pos, rx1189_off
-    substr $S10, rx1189_tgt, $I11, 1
-    ne $S10, ",", rx1189_fail
-    add rx1189_pos, 1
+    substr $S10, rx1189_tgt, $I11, 2
+    ne $S10, ":=", rx1189_fail
+    add rx1189_pos, 2
     set_addr $I10, rxcap_1194_fail
     ($I12, $I11) = rx1189_cur."!mark_peek"($I10)
     rx1189_cur."!cursor_pos"($I11)
@@ -14641,33 +14638,33 @@
   rxcap_1194_done:
   # rx subrule "O" subtype=capture negate=
     rx1189_cur."!cursor_pos"(rx1189_pos)
-    $P10 = rx1189_cur."O"("%comma, :pasttype<list>")
+    $P10 = rx1189_cur."O"("%assignment, :pasttype<bind>")
     unless $P10, rx1189_fail
     rx1189_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("O")
     rx1189_pos = $P10."pos"()
   # rx pass
-    rx1189_cur."!cursor_pass"(rx1189_pos, "infix:sym<,>")
-    rx1189_cur."!cursor_debug"("PASS  ", "infix:sym<,>", " at pos=", rx1189_pos)
+    rx1189_cur."!cursor_pass"(rx1189_pos, "infix:sym<:=>")
+    rx1189_cur."!cursor_debug"("PASS  ", "infix:sym<:=>", " at pos=", rx1189_pos)
     .return (rx1189_cur)
   rx1189_fail:
-.annotate "line", 408
+.annotate "line", 413
     (rx1189_rep, rx1189_pos, $I10, $P10) = rx1189_cur."!mark_fail"(0)
     lt rx1189_pos, -1, rx1189_done
     eq rx1189_pos, -1, rx1189_fail
     jump $I10
   rx1189_done:
     rx1189_cur."!cursor_fail"()
-    rx1189_cur."!cursor_debug"("FAIL  ", "infix:sym<,>")
+    rx1189_cur."!cursor_debug"("FAIL  ", "infix:sym<:=>")
     .return (rx1189_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__infix:sym<,>"  :subid("308_1260829317.63188") :method
-.annotate "line", 408
-    $P1191 = self."!PREFIX__!subrule"("O", ",")
+.sub "!PREFIX__infix:sym<:=>"  :subid("308_1261019367.36172") :method
+.annotate "line", 413
+    $P1191 = self."!PREFIX__!subrule"("O", ":=")
     new $P1192, "ResizablePMCArray"
     push $P1192, $P1191
     .return ($P1192)
@@ -14675,8 +14672,8 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "prefix:sym<return>"  :subid("309_1260829317.63188") :method :outer("11_1260829317.63188")
-.annotate "line", 408
+.sub "infix:sym<::=>"  :subid("309_1261019367.36172") :method :outer("11_1261019367.36172")
+.annotate "line", 413
     .local string rx1196_tgt
     .local int rx1196_pos
     .local int rx1196_off
@@ -14684,7 +14681,7 @@
     .local int rx1196_rep
     .local pmc rx1196_cur
     (rx1196_cur, rx1196_pos, rx1196_tgt) = self."!cursor_start"()
-    rx1196_cur."!cursor_debug"("START ", "prefix:sym<return>")
+    rx1196_cur."!cursor_debug"("START ", "infix:sym<::=>")
     .lex unicode:"$\x{a2}", rx1196_cur
     .local pmc match
     .lex "$/", match
@@ -14695,473 +14692,428 @@
     substr rx1196_tgt, rx1196_tgt, rx1196_off
   rx1196_start:
     $I10 = self.'from'()
-    ne $I10, -1, rxscan1199_done
-    goto rxscan1199_scan
-  rxscan1199_loop:
+    ne $I10, -1, rxscan1200_done
+    goto rxscan1200_scan
+  rxscan1200_loop:
     ($P10) = rx1196_cur."from"()
     inc $P10
     set rx1196_pos, $P10
-    ge rx1196_pos, rx1196_eos, rxscan1199_done
-  rxscan1199_scan:
-    set_addr $I10, rxscan1199_loop
+    ge rx1196_pos, rx1196_eos, rxscan1200_done
+  rxscan1200_scan:
+    set_addr $I10, rxscan1200_loop
     rx1196_cur."!mark_push"(0, rx1196_pos, $I10)
-  rxscan1199_done:
-.annotate "line", 513
+  rxscan1200_done:
+.annotate "line", 514
   # rx subcapture "sym"
-    set_addr $I10, rxcap_1200_fail
+    set_addr $I10, rxcap_1201_fail
     rx1196_cur."!mark_push"(0, rx1196_pos, $I10)
-  # rx literal  "return"
-    add $I11, rx1196_pos, 6
+  # rx literal  "::="
+    add $I11, rx1196_pos, 3
     gt $I11, rx1196_eos, rx1196_fail
     sub $I11, rx1196_pos, rx1196_off
-    substr $S10, rx1196_tgt, $I11, 6
-    ne $S10, "return", rx1196_fail
-    add rx1196_pos, 6
-    set_addr $I10, rxcap_1200_fail
+    substr $S10, rx1196_tgt, $I11, 3
+    ne $S10, "::=", rx1196_fail
+    add rx1196_pos, 3
+    set_addr $I10, rxcap_1201_fail
     ($I12, $I11) = rx1196_cur."!mark_peek"($I10)
     rx1196_cur."!cursor_pos"($I11)
     ($P10) = rx1196_cur."!cursor_start"()
     $P10."!cursor_pass"(rx1196_pos, "")
     rx1196_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("sym")
-    goto rxcap_1200_done
-  rxcap_1200_fail:
+    goto rxcap_1201_done
+  rxcap_1201_fail:
     goto rx1196_fail
-  rxcap_1200_done:
-  # rx charclass s
-    ge rx1196_pos, rx1196_eos, rx1196_fail
-    sub $I10, rx1196_pos, rx1196_off
-    is_cclass $I11, 32, rx1196_tgt, $I10
-    unless $I11, rx1196_fail
-    inc rx1196_pos
+  rxcap_1201_done:
   # rx subrule "O" subtype=capture negate=
     rx1196_cur."!cursor_pos"(rx1196_pos)
-    $P10 = rx1196_cur."O"("%list_prefix, :pasttype<return>")
+    $P10 = rx1196_cur."O"("%assignment, :pasttype<bind>")
     unless $P10, rx1196_fail
     rx1196_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("O")
     rx1196_pos = $P10."pos"()
   # rx pass
-    rx1196_cur."!cursor_pass"(rx1196_pos, "prefix:sym<return>")
-    rx1196_cur."!cursor_debug"("PASS  ", "prefix:sym<return>", " at pos=", rx1196_pos)
+    rx1196_cur."!cursor_pass"(rx1196_pos, "infix:sym<::=>")
+    rx1196_cur."!cursor_debug"("PASS  ", "infix:sym<::=>", " at pos=", rx1196_pos)
     .return (rx1196_cur)
   rx1196_fail:
-.annotate "line", 408
+.annotate "line", 413
     (rx1196_rep, rx1196_pos, $I10, $P10) = rx1196_cur."!mark_fail"(0)
     lt rx1196_pos, -1, rx1196_done
     eq rx1196_pos, -1, rx1196_fail
     jump $I10
   rx1196_done:
     rx1196_cur."!cursor_fail"()
-    rx1196_cur."!cursor_debug"("FAIL  ", "prefix:sym<return>")
+    rx1196_cur."!cursor_debug"("FAIL  ", "infix:sym<::=>")
     .return (rx1196_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__prefix:sym<return>"  :subid("310_1260829317.63188") :method
-.annotate "line", 408
-    new $P1198, "ResizablePMCArray"
-    push $P1198, "return"
-    .return ($P1198)
+.sub "!PREFIX__infix:sym<::=>"  :subid("310_1261019367.36172") :method
+.annotate "line", 413
+    $P1198 = self."!PREFIX__!subrule"("O", "::=")
+    new $P1199, "ResizablePMCArray"
+    push $P1199, $P1198
+    .return ($P1199)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "prefix:sym<make>"  :subid("311_1260829317.63188") :method :outer("11_1260829317.63188")
-.annotate "line", 408
-    .local string rx1202_tgt
-    .local int rx1202_pos
-    .local int rx1202_off
-    .local int rx1202_eos
-    .local int rx1202_rep
-    .local pmc rx1202_cur
-    (rx1202_cur, rx1202_pos, rx1202_tgt) = self."!cursor_start"()
-    rx1202_cur."!cursor_debug"("START ", "prefix:sym<make>")
-    .lex unicode:"$\x{a2}", rx1202_cur
-    .local pmc match
-    .lex "$/", match
-    length rx1202_eos, rx1202_tgt
-    set rx1202_off, 0
-    lt rx1202_pos, 2, rx1202_start
-    sub rx1202_off, rx1202_pos, 1
-    substr rx1202_tgt, rx1202_tgt, rx1202_off
-  rx1202_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan1205_done
-    goto rxscan1205_scan
-  rxscan1205_loop:
-    ($P10) = rx1202_cur."from"()
-    inc $P10
-    set rx1202_pos, $P10
-    ge rx1202_pos, rx1202_eos, rxscan1205_done
-  rxscan1205_scan:
-    set_addr $I10, rxscan1205_loop
-    rx1202_cur."!mark_push"(0, rx1202_pos, $I10)
-  rxscan1205_done:
-.annotate "line", 514
+.sub "infix:sym<,>"  :subid("311_1261019367.36172") :method :outer("11_1261019367.36172")
+.annotate "line", 413
+    .local string rx1203_tgt
+    .local int rx1203_pos
+    .local int rx1203_off
+    .local int rx1203_eos
+    .local int rx1203_rep
+    .local pmc rx1203_cur
+    (rx1203_cur, rx1203_pos, rx1203_tgt) = self."!cursor_start"()
+    rx1203_cur."!cursor_debug"("START ", "infix:sym<,>")
+    .lex unicode:"$\x{a2}", rx1203_cur
+    .local pmc match
+    .lex "$/", match
+    length rx1203_eos, rx1203_tgt
+    set rx1203_off, 0
+    lt rx1203_pos, 2, rx1203_start
+    sub rx1203_off, rx1203_pos, 1
+    substr rx1203_tgt, rx1203_tgt, rx1203_off
+  rx1203_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan1207_done
+    goto rxscan1207_scan
+  rxscan1207_loop:
+    ($P10) = rx1203_cur."from"()
+    inc $P10
+    set rx1203_pos, $P10
+    ge rx1203_pos, rx1203_eos, rxscan1207_done
+  rxscan1207_scan:
+    set_addr $I10, rxscan1207_loop
+    rx1203_cur."!mark_push"(0, rx1203_pos, $I10)
+  rxscan1207_done:
+.annotate "line", 516
   # rx subcapture "sym"
-    set_addr $I10, rxcap_1206_fail
-    rx1202_cur."!mark_push"(0, rx1202_pos, $I10)
-  # rx literal  "make"
-    add $I11, rx1202_pos, 4
-    gt $I11, rx1202_eos, rx1202_fail
-    sub $I11, rx1202_pos, rx1202_off
-    substr $S10, rx1202_tgt, $I11, 4
-    ne $S10, "make", rx1202_fail
-    add rx1202_pos, 4
-    set_addr $I10, rxcap_1206_fail
-    ($I12, $I11) = rx1202_cur."!mark_peek"($I10)
-    rx1202_cur."!cursor_pos"($I11)
-    ($P10) = rx1202_cur."!cursor_start"()
-    $P10."!cursor_pass"(rx1202_pos, "")
-    rx1202_cur."!mark_push"(0, -1, 0, $P10)
+    set_addr $I10, rxcap_1208_fail
+    rx1203_cur."!mark_push"(0, rx1203_pos, $I10)
+  # rx literal  ","
+    add $I11, rx1203_pos, 1
+    gt $I11, rx1203_eos, rx1203_fail
+    sub $I11, rx1203_pos, rx1203_off
+    substr $S10, rx1203_tgt, $I11, 1
+    ne $S10, ",", rx1203_fail
+    add rx1203_pos, 1
+    set_addr $I10, rxcap_1208_fail
+    ($I12, $I11) = rx1203_cur."!mark_peek"($I10)
+    rx1203_cur."!cursor_pos"($I11)
+    ($P10) = rx1203_cur."!cursor_start"()
+    $P10."!cursor_pass"(rx1203_pos, "")
+    rx1203_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("sym")
-    goto rxcap_1206_done
-  rxcap_1206_fail:
-    goto rx1202_fail
-  rxcap_1206_done:
-  # rx charclass s
-    ge rx1202_pos, rx1202_eos, rx1202_fail
-    sub $I10, rx1202_pos, rx1202_off
-    is_cclass $I11, 32, rx1202_tgt, $I10
-    unless $I11, rx1202_fail
-    inc rx1202_pos
+    goto rxcap_1208_done
+  rxcap_1208_fail:
+    goto rx1203_fail
+  rxcap_1208_done:
   # rx subrule "O" subtype=capture negate=
-    rx1202_cur."!cursor_pos"(rx1202_pos)
-    $P10 = rx1202_cur."O"("%list_prefix")
-    unless $P10, rx1202_fail
-    rx1202_cur."!mark_push"(0, -1, 0, $P10)
+    rx1203_cur."!cursor_pos"(rx1203_pos)
+    $P10 = rx1203_cur."O"("%comma, :pasttype<list>")
+    unless $P10, rx1203_fail
+    rx1203_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("O")
-    rx1202_pos = $P10."pos"()
+    rx1203_pos = $P10."pos"()
   # rx pass
-    rx1202_cur."!cursor_pass"(rx1202_pos, "prefix:sym<make>")
-    rx1202_cur."!cursor_debug"("PASS  ", "prefix:sym<make>", " at pos=", rx1202_pos)
-    .return (rx1202_cur)
-  rx1202_fail:
-.annotate "line", 408
-    (rx1202_rep, rx1202_pos, $I10, $P10) = rx1202_cur."!mark_fail"(0)
-    lt rx1202_pos, -1, rx1202_done
-    eq rx1202_pos, -1, rx1202_fail
+    rx1203_cur."!cursor_pass"(rx1203_pos, "infix:sym<,>")
+    rx1203_cur."!cursor_debug"("PASS  ", "infix:sym<,>", " at pos=", rx1203_pos)
+    .return (rx1203_cur)
+  rx1203_fail:
+.annotate "line", 413
+    (rx1203_rep, rx1203_pos, $I10, $P10) = rx1203_cur."!mark_fail"(0)
+    lt rx1203_pos, -1, rx1203_done
+    eq rx1203_pos, -1, rx1203_fail
     jump $I10
-  rx1202_done:
-    rx1202_cur."!cursor_fail"()
-    rx1202_cur."!cursor_debug"("FAIL  ", "prefix:sym<make>")
-    .return (rx1202_cur)
+  rx1203_done:
+    rx1203_cur."!cursor_fail"()
+    rx1203_cur."!cursor_debug"("FAIL  ", "infix:sym<,>")
+    .return (rx1203_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__prefix:sym<make>"  :subid("312_1260829317.63188") :method
-.annotate "line", 408
-    new $P1204, "ResizablePMCArray"
-    push $P1204, "make"
-    .return ($P1204)
+.sub "!PREFIX__infix:sym<,>"  :subid("312_1261019367.36172") :method
+.annotate "line", 413
+    $P1205 = self."!PREFIX__!subrule"("O", ",")
+    new $P1206, "ResizablePMCArray"
+    push $P1206, $P1205
+    .return ($P1206)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "smartmatch"  :subid("313_1260829317.63188") :method :outer("11_1260829317.63188")
-    .param pmc param_1210
-.annotate "line", 516
-    new $P1209, 'ExceptionHandler'
-    set_addr $P1209, control_1208
-    $P1209."handle_types"(58)
-    push_eh $P1209
-    .lex "self", self
-    .lex "$/", param_1210
+.sub "prefix:sym<return>"  :subid("313_1261019367.36172") :method :outer("11_1261019367.36172")
+.annotate "line", 413
+    .local string rx1210_tgt
+    .local int rx1210_pos
+    .local int rx1210_off
+    .local int rx1210_eos
+    .local int rx1210_rep
+    .local pmc rx1210_cur
+    (rx1210_cur, rx1210_pos, rx1210_tgt) = self."!cursor_start"()
+    rx1210_cur."!cursor_debug"("START ", "prefix:sym<return>")
+    .lex unicode:"$\x{a2}", rx1210_cur
+    .local pmc match
+    .lex "$/", match
+    length rx1210_eos, rx1210_tgt
+    set rx1210_off, 0
+    lt rx1210_pos, 2, rx1210_start
+    sub rx1210_off, rx1210_pos, 1
+    substr rx1210_tgt, rx1210_tgt, rx1210_off
+  rx1210_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan1213_done
+    goto rxscan1213_scan
+  rxscan1213_loop:
+    ($P10) = rx1210_cur."from"()
+    inc $P10
+    set rx1210_pos, $P10
+    ge rx1210_pos, rx1210_eos, rxscan1213_done
+  rxscan1213_scan:
+    set_addr $I10, rxscan1213_loop
+    rx1210_cur."!mark_push"(0, rx1210_pos, $I10)
+  rxscan1213_done:
 .annotate "line", 518
-    new $P1211, "Undef"
-    .lex "$t", $P1211
-    find_lex $P1212, "$/"
-    unless_null $P1212, vivify_339
+  # rx subcapture "sym"
+    set_addr $I10, rxcap_1214_fail
+    rx1210_cur."!mark_push"(0, rx1210_pos, $I10)
+  # rx literal  "return"
+    add $I11, rx1210_pos, 6
+    gt $I11, rx1210_eos, rx1210_fail
+    sub $I11, rx1210_pos, rx1210_off
+    substr $S10, rx1210_tgt, $I11, 6
+    ne $S10, "return", rx1210_fail
+    add rx1210_pos, 6
+    set_addr $I10, rxcap_1214_fail
+    ($I12, $I11) = rx1210_cur."!mark_peek"($I10)
+    rx1210_cur."!cursor_pos"($I11)
+    ($P10) = rx1210_cur."!cursor_start"()
+    $P10."!cursor_pass"(rx1210_pos, "")
+    rx1210_cur."!mark_push"(0, -1, 0, $P10)
+    $P10."!cursor_names"("sym")
+    goto rxcap_1214_done
+  rxcap_1214_fail:
+    goto rx1210_fail
+  rxcap_1214_done:
+  # rx charclass s
+    ge rx1210_pos, rx1210_eos, rx1210_fail
+    sub $I10, rx1210_pos, rx1210_off
+    is_cclass $I11, 32, rx1210_tgt, $I10
+    unless $I11, rx1210_fail
+    inc rx1210_pos
+  # rx subrule "O" subtype=capture negate=
+    rx1210_cur."!cursor_pos"(rx1210_pos)
+    $P10 = rx1210_cur."O"("%list_prefix, :pasttype<return>")
+    unless $P10, rx1210_fail
+    rx1210_cur."!mark_push"(0, -1, 0, $P10)
+    $P10."!cursor_names"("O")
+    rx1210_pos = $P10."pos"()
+  # rx pass
+    rx1210_cur."!cursor_pass"(rx1210_pos, "prefix:sym<return>")
+    rx1210_cur."!cursor_debug"("PASS  ", "prefix:sym<return>", " at pos=", rx1210_pos)
+    .return (rx1210_cur)
+  rx1210_fail:
+.annotate "line", 413
+    (rx1210_rep, rx1210_pos, $I10, $P10) = rx1210_cur."!mark_fail"(0)
+    lt rx1210_pos, -1, rx1210_done
+    eq rx1210_pos, -1, rx1210_fail
+    jump $I10
+  rx1210_done:
+    rx1210_cur."!cursor_fail"()
+    rx1210_cur."!cursor_debug"("FAIL  ", "prefix:sym<return>")
+    .return (rx1210_cur)
+    .return ()
+.end
+
+
+.namespace ["NQP";"Grammar"]
+.sub "!PREFIX__prefix:sym<return>"  :subid("314_1261019367.36172") :method
+.annotate "line", 413
     new $P1212, "ResizablePMCArray"
-  vivify_339:
-    set $P1213, $P1212[0]
-    unless_null $P1213, vivify_340
-    new $P1213, "Undef"
-  vivify_340:
-    store_lex "$t", $P1213
-    find_lex $P1214, "$/"
-    unless_null $P1214, vivify_341
-    new $P1214, "ResizablePMCArray"
-  vivify_341:
-    set $P1215, $P1214[1]
-    unless_null $P1215, vivify_342
-    new $P1215, "Undef"
-  vivify_342:
-    find_lex $P1216, "$/"
-    unless_null $P1216, vivify_343
-    new $P1216, "ResizablePMCArray"
-    store_lex "$/", $P1216
-  vivify_343:
-    set $P1216[0], $P1215
-    find_lex $P1217, "$t"
-    find_lex $P1218, "$/"
-    unless_null $P1218, vivify_344
-    new $P1218, "ResizablePMCArray"
-    store_lex "$/", $P1218
-  vivify_344:
-    set $P1218[1], $P1217
-.annotate "line", 516
-    .return ($P1217)
-  control_1208:
-    .local pmc exception 
-    .get_results (exception) 
-    getattribute $P1219, exception, "payload"
-    .return ($P1219)
-.end
-
-
-.namespace ["NQP";"Regex"]
-.sub "_block1220"  :subid("314_1260829317.63188") :outer("11_1260829317.63188")
-.annotate "line", 522
-    .const 'Sub' $P1254 = "325_1260829317.63188" 
-    capture_lex $P1254
-    .const 'Sub' $P1241 = "322_1260829317.63188" 
-    capture_lex $P1241
-    .const 'Sub' $P1236 = "320_1260829317.63188" 
-    capture_lex $P1236
-    .const 'Sub' $P1231 = "318_1260829317.63188" 
-    capture_lex $P1231
-    .const 'Sub' $P1222 = "315_1260829317.63188" 
-    capture_lex $P1222
-    .const 'Sub' $P1254 = "325_1260829317.63188" 
-    capture_lex $P1254
-    .return ($P1254)
+    push $P1212, "return"
+    .return ($P1212)
 .end
 
 
-.namespace ["NQP";"Regex"]
-.sub "metachar:sym<:my>"  :subid("315_1260829317.63188") :method :outer("314_1260829317.63188")
-.annotate "line", 522
-    .const 'Sub' $P1228 = "317_1260829317.63188" 
-    capture_lex $P1228
-    .local string rx1223_tgt
-    .local int rx1223_pos
-    .local int rx1223_off
-    .local int rx1223_eos
-    .local int rx1223_rep
-    .local pmc rx1223_cur
-    (rx1223_cur, rx1223_pos, rx1223_tgt) = self."!cursor_start"()
-    rx1223_cur."!cursor_debug"("START ", "metachar:sym<:my>")
-    .lex unicode:"$\x{a2}", rx1223_cur
-    .local pmc match
-    .lex "$/", match
-    length rx1223_eos, rx1223_tgt
-    set rx1223_off, 0
-    lt rx1223_pos, 2, rx1223_start
-    sub rx1223_off, rx1223_pos, 1
-    substr rx1223_tgt, rx1223_tgt, rx1223_off
-  rx1223_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan1226_done
-    goto rxscan1226_scan
-  rxscan1226_loop:
-    ($P10) = rx1223_cur."from"()
-    inc $P10
-    set rx1223_pos, $P10
-    ge rx1223_pos, rx1223_eos, rxscan1226_done
-  rxscan1226_scan:
-    set_addr $I10, rxscan1226_loop
-    rx1223_cur."!mark_push"(0, rx1223_pos, $I10)
-  rxscan1226_done:
-.annotate "line", 524
-  # rx literal  ":"
-    add $I11, rx1223_pos, 1
-    gt $I11, rx1223_eos, rx1223_fail
-    sub $I11, rx1223_pos, rx1223_off
-    substr $S10, rx1223_tgt, $I11, 1
-    ne $S10, ":", rx1223_fail
-    add rx1223_pos, 1
-  # rx subrule "before" subtype=zerowidth negate=
-    rx1223_cur."!cursor_pos"(rx1223_pos)
-    .const 'Sub' $P1228 = "317_1260829317.63188" 
-    capture_lex $P1228
-    $P10 = rx1223_cur."before"($P1228)
-    unless $P10, rx1223_fail
-  # rx subrule "LANG" subtype=capture negate=
-    rx1223_cur."!cursor_pos"(rx1223_pos)
-    $P10 = rx1223_cur."LANG"("MAIN", "statement")
-    unless $P10, rx1223_fail
-    rx1223_cur."!mark_push"(0, -1, 0, $P10)
-    $P10."!cursor_names"("statement")
-    rx1223_pos = $P10."pos"()
-  # rx subrule "ws" subtype=method negate=
-    rx1223_cur."!cursor_pos"(rx1223_pos)
-    $P10 = rx1223_cur."ws"()
-    unless $P10, rx1223_fail
-    rx1223_pos = $P10."pos"()
-  # rx literal  ";"
-    add $I11, rx1223_pos, 1
-    gt $I11, rx1223_eos, rx1223_fail
-    sub $I11, rx1223_pos, rx1223_off
-    substr $S10, rx1223_tgt, $I11, 1
-    ne $S10, ";", rx1223_fail
-    add rx1223_pos, 1
-.annotate "line", 523
+.namespace ["NQP";"Grammar"]
+.sub "prefix:sym<make>"  :subid("315_1261019367.36172") :method :outer("11_1261019367.36172")
+.annotate "line", 413
+    .local string rx1216_tgt
+    .local int rx1216_pos
+    .local int rx1216_off
+    .local int rx1216_eos
+    .local int rx1216_rep
+    .local pmc rx1216_cur
+    (rx1216_cur, rx1216_pos, rx1216_tgt) = self."!cursor_start"()
+    rx1216_cur."!cursor_debug"("START ", "prefix:sym<make>")
+    .lex unicode:"$\x{a2}", rx1216_cur
+    .local pmc match
+    .lex "$/", match
+    length rx1216_eos, rx1216_tgt
+    set rx1216_off, 0
+    lt rx1216_pos, 2, rx1216_start
+    sub rx1216_off, rx1216_pos, 1
+    substr rx1216_tgt, rx1216_tgt, rx1216_off
+  rx1216_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan1219_done
+    goto rxscan1219_scan
+  rxscan1219_loop:
+    ($P10) = rx1216_cur."from"()
+    inc $P10
+    set rx1216_pos, $P10
+    ge rx1216_pos, rx1216_eos, rxscan1219_done
+  rxscan1219_scan:
+    set_addr $I10, rxscan1219_loop
+    rx1216_cur."!mark_push"(0, rx1216_pos, $I10)
+  rxscan1219_done:
+.annotate "line", 519
+  # rx subcapture "sym"
+    set_addr $I10, rxcap_1220_fail
+    rx1216_cur."!mark_push"(0, rx1216_pos, $I10)
+  # rx literal  "make"
+    add $I11, rx1216_pos, 4
+    gt $I11, rx1216_eos, rx1216_fail
+    sub $I11, rx1216_pos, rx1216_off
+    substr $S10, rx1216_tgt, $I11, 4
+    ne $S10, "make", rx1216_fail
+    add rx1216_pos, 4
+    set_addr $I10, rxcap_1220_fail
+    ($I12, $I11) = rx1216_cur."!mark_peek"($I10)
+    rx1216_cur."!cursor_pos"($I11)
+    ($P10) = rx1216_cur."!cursor_start"()
+    $P10."!cursor_pass"(rx1216_pos, "")
+    rx1216_cur."!mark_push"(0, -1, 0, $P10)
+    $P10."!cursor_names"("sym")
+    goto rxcap_1220_done
+  rxcap_1220_fail:
+    goto rx1216_fail
+  rxcap_1220_done:
+  # rx charclass s
+    ge rx1216_pos, rx1216_eos, rx1216_fail
+    sub $I10, rx1216_pos, rx1216_off
+    is_cclass $I11, 32, rx1216_tgt, $I10
+    unless $I11, rx1216_fail
+    inc rx1216_pos
+  # rx subrule "O" subtype=capture negate=
+    rx1216_cur."!cursor_pos"(rx1216_pos)
+    $P10 = rx1216_cur."O"("%list_prefix")
+    unless $P10, rx1216_fail
+    rx1216_cur."!mark_push"(0, -1, 0, $P10)
+    $P10."!cursor_names"("O")
+    rx1216_pos = $P10."pos"()
   # rx pass
-    rx1223_cur."!cursor_pass"(rx1223_pos, "metachar:sym<:my>")
-    rx1223_cur."!cursor_debug"("PASS  ", "metachar:sym<:my>", " at pos=", rx1223_pos)
-    .return (rx1223_cur)
-  rx1223_fail:
-.annotate "line", 522
-    (rx1223_rep, rx1223_pos, $I10, $P10) = rx1223_cur."!mark_fail"(0)
-    lt rx1223_pos, -1, rx1223_done
-    eq rx1223_pos, -1, rx1223_fail
-    jump $I10
-  rx1223_done:
-    rx1223_cur."!cursor_fail"()
-    rx1223_cur."!cursor_debug"("FAIL  ", "metachar:sym<:my>")
-    .return (rx1223_cur)
+    rx1216_cur."!cursor_pass"(rx1216_pos, "prefix:sym<make>")
+    rx1216_cur."!cursor_debug"("PASS  ", "prefix:sym<make>", " at pos=", rx1216_pos)
+    .return (rx1216_cur)
+  rx1216_fail:
+.annotate "line", 413
+    (rx1216_rep, rx1216_pos, $I10, $P10) = rx1216_cur."!mark_fail"(0)
+    lt rx1216_pos, -1, rx1216_done
+    eq rx1216_pos, -1, rx1216_fail
+    jump $I10
+  rx1216_done:
+    rx1216_cur."!cursor_fail"()
+    rx1216_cur."!cursor_debug"("FAIL  ", "prefix:sym<make>")
+    .return (rx1216_cur)
     .return ()
 .end
 
 
-.namespace ["NQP";"Regex"]
-.sub "!PREFIX__metachar:sym<:my>"  :subid("316_1260829317.63188") :method
-.annotate "line", 522
-    new $P1225, "ResizablePMCArray"
-    push $P1225, ":"
-    .return ($P1225)
+.namespace ["NQP";"Grammar"]
+.sub "!PREFIX__prefix:sym<make>"  :subid("316_1261019367.36172") :method
+.annotate "line", 413
+    new $P1218, "ResizablePMCArray"
+    push $P1218, "make"
+    .return ($P1218)
 .end
 
 
-.namespace ["NQP";"Regex"]
-.sub "_block1227"  :anon :subid("317_1260829317.63188") :method :outer("315_1260829317.63188")
-.annotate "line", 524
-    .local string rx1229_tgt
-    .local int rx1229_pos
-    .local int rx1229_off
-    .local int rx1229_eos
-    .local int rx1229_rep
-    .local pmc rx1229_cur
-    (rx1229_cur, rx1229_pos, rx1229_tgt) = self."!cursor_start"()
-    rx1229_cur."!cursor_debug"("START ", "")
-    .lex unicode:"$\x{a2}", rx1229_cur
-    .local pmc match
-    .lex "$/", match
-    length rx1229_eos, rx1229_tgt
-    set rx1229_off, 0
-    lt rx1229_pos, 2, rx1229_start
-    sub rx1229_off, rx1229_pos, 1
-    substr rx1229_tgt, rx1229_tgt, rx1229_off
-  rx1229_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan1230_done
-    goto rxscan1230_scan
-  rxscan1230_loop:
-    ($P10) = rx1229_cur."from"()
-    inc $P10
-    set rx1229_pos, $P10
-    ge rx1229_pos, rx1229_eos, rxscan1230_done
-  rxscan1230_scan:
-    set_addr $I10, rxscan1230_loop
-    rx1229_cur."!mark_push"(0, rx1229_pos, $I10)
-  rxscan1230_done:
-  # rx literal  "my"
-    add $I11, rx1229_pos, 2
-    gt $I11, rx1229_eos, rx1229_fail
-    sub $I11, rx1229_pos, rx1229_off
-    substr $S10, rx1229_tgt, $I11, 2
-    ne $S10, "my", rx1229_fail
-    add rx1229_pos, 2
-  # rx pass
-    rx1229_cur."!cursor_pass"(rx1229_pos, "")
-    rx1229_cur."!cursor_debug"("PASS  ", "", " at pos=", rx1229_pos)
-    .return (rx1229_cur)
-  rx1229_fail:
-    (rx1229_rep, rx1229_pos, $I10, $P10) = rx1229_cur."!mark_fail"(0)
-    lt rx1229_pos, -1, rx1229_done
-    eq rx1229_pos, -1, rx1229_fail
-    jump $I10
-  rx1229_done:
-    rx1229_cur."!cursor_fail"()
-    rx1229_cur."!cursor_debug"("FAIL  ", "")
-    .return (rx1229_cur)
-    .return ()
+.namespace ["NQP";"Grammar"]
+.sub "smartmatch"  :subid("317_1261019367.36172") :method :outer("11_1261019367.36172")
+    .param pmc param_1224
+.annotate "line", 521
+    new $P1223, 'ExceptionHandler'
+    set_addr $P1223, control_1222
+    $P1223."handle_types"(58)
+    push_eh $P1223
+    .lex "self", self
+    .lex "$/", param_1224
+.annotate "line", 523
+    new $P1225, "Undef"
+    .lex "$t", $P1225
+    find_lex $P1226, "$/"
+    unless_null $P1226, vivify_343
+    new $P1226, "ResizablePMCArray"
+  vivify_343:
+    set $P1227, $P1226[0]
+    unless_null $P1227, vivify_344
+    new $P1227, "Undef"
+  vivify_344:
+    store_lex "$t", $P1227
+    find_lex $P1228, "$/"
+    unless_null $P1228, vivify_345
+    new $P1228, "ResizablePMCArray"
+  vivify_345:
+    set $P1229, $P1228[1]
+    unless_null $P1229, vivify_346
+    new $P1229, "Undef"
+  vivify_346:
+    find_lex $P1230, "$/"
+    unless_null $P1230, vivify_347
+    new $P1230, "ResizablePMCArray"
+    store_lex "$/", $P1230
+  vivify_347:
+    set $P1230[0], $P1229
+    find_lex $P1231, "$t"
+    find_lex $P1232, "$/"
+    unless_null $P1232, vivify_348
+    new $P1232, "ResizablePMCArray"
+    store_lex "$/", $P1232
+  vivify_348:
+    set $P1232[1], $P1231
+.annotate "line", 521
+    .return ($P1231)
+  control_1222:
+    .local pmc exception 
+    .get_results (exception) 
+    getattribute $P1233, exception, "payload"
+    .return ($P1233)
 .end
 
 
 .namespace ["NQP";"Regex"]
-.sub "metachar:sym<{ }>"  :subid("318_1260829317.63188") :method :outer("314_1260829317.63188")
-.annotate "line", 522
-    .local string rx1232_tgt
-    .local int rx1232_pos
-    .local int rx1232_off
-    .local int rx1232_eos
-    .local int rx1232_rep
-    .local pmc rx1232_cur
-    (rx1232_cur, rx1232_pos, rx1232_tgt) = self."!cursor_start"()
-    rx1232_cur."!cursor_debug"("START ", "metachar:sym<{ }>")
-    .lex unicode:"$\x{a2}", rx1232_cur
-    .local pmc match
-    .lex "$/", match
-    length rx1232_eos, rx1232_tgt
-    set rx1232_off, 0
-    lt rx1232_pos, 2, rx1232_start
-    sub rx1232_off, rx1232_pos, 1
-    substr rx1232_tgt, rx1232_tgt, rx1232_off
-  rx1232_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan1235_done
-    goto rxscan1235_scan
-  rxscan1235_loop:
-    ($P10) = rx1232_cur."from"()
-    inc $P10
-    set rx1232_pos, $P10
-    ge rx1232_pos, rx1232_eos, rxscan1235_done
-  rxscan1235_scan:
-    set_addr $I10, rxscan1235_loop
-    rx1232_cur."!mark_push"(0, rx1232_pos, $I10)
-  rxscan1235_done:
-.annotate "line", 528
-  # rx enumcharlist negate=0 zerowidth
-    ge rx1232_pos, rx1232_eos, rx1232_fail
-    sub $I10, rx1232_pos, rx1232_off
-    substr $S10, rx1232_tgt, $I10, 1
-    index $I11, "{", $S10
-    lt $I11, 0, rx1232_fail
-  # rx subrule "codeblock" subtype=capture negate=
-    rx1232_cur."!cursor_pos"(rx1232_pos)
-    $P10 = rx1232_cur."codeblock"()
-    unless $P10, rx1232_fail
-    rx1232_cur."!mark_push"(0, -1, 0, $P10)
-    $P10."!cursor_names"("codeblock")
-    rx1232_pos = $P10."pos"()
+.sub "_block1234"  :subid("318_1261019367.36172") :outer("11_1261019367.36172")
 .annotate "line", 527
-  # rx pass
-    rx1232_cur."!cursor_pass"(rx1232_pos, "metachar:sym<{ }>")
-    rx1232_cur."!cursor_debug"("PASS  ", "metachar:sym<{ }>", " at pos=", rx1232_pos)
-    .return (rx1232_cur)
-  rx1232_fail:
-.annotate "line", 522
-    (rx1232_rep, rx1232_pos, $I10, $P10) = rx1232_cur."!mark_fail"(0)
-    lt rx1232_pos, -1, rx1232_done
-    eq rx1232_pos, -1, rx1232_fail
-    jump $I10
-  rx1232_done:
-    rx1232_cur."!cursor_fail"()
-    rx1232_cur."!cursor_debug"("FAIL  ", "metachar:sym<{ }>")
-    .return (rx1232_cur)
-    .return ()
-.end
-
-
-.namespace ["NQP";"Regex"]
-.sub "!PREFIX__metachar:sym<{ }>"  :subid("319_1260829317.63188") :method
-.annotate "line", 522
-    new $P1234, "ResizablePMCArray"
-    push $P1234, "{"
-    .return ($P1234)
+    .const 'Sub' $P1268 = "329_1261019367.36172" 
+    capture_lex $P1268
+    .const 'Sub' $P1255 = "326_1261019367.36172" 
+    capture_lex $P1255
+    .const 'Sub' $P1250 = "324_1261019367.36172" 
+    capture_lex $P1250
+    .const 'Sub' $P1245 = "322_1261019367.36172" 
+    capture_lex $P1245
+    .const 'Sub' $P1236 = "319_1261019367.36172" 
+    capture_lex $P1236
+    .const 'Sub' $P1268 = "329_1261019367.36172" 
+    capture_lex $P1268
+    .return ($P1268)
 .end
 
 
 .namespace ["NQP";"Regex"]
-.sub "assertion:sym<{ }>"  :subid("320_1260829317.63188") :method :outer("314_1260829317.63188")
-.annotate "line", 522
+.sub "metachar:sym<:my>"  :subid("319_1261019367.36172") :method :outer("318_1261019367.36172")
+.annotate "line", 527
+    .const 'Sub' $P1242 = "321_1261019367.36172" 
+    capture_lex $P1242
     .local string rx1237_tgt
     .local int rx1237_pos
     .local int rx1237_off
@@ -15169,7 +15121,7 @@
     .local int rx1237_rep
     .local pmc rx1237_cur
     (rx1237_cur, rx1237_pos, rx1237_tgt) = self."!cursor_start"()
-    rx1237_cur."!cursor_debug"("START ", "assertion:sym<{ }>")
+    rx1237_cur."!cursor_debug"("START ", "metachar:sym<:my>")
     .lex unicode:"$\x{a2}", rx1237_cur
     .local pmc match
     .lex "$/", match
@@ -15191,234 +15143,200 @@
     set_addr $I10, rxscan1240_loop
     rx1237_cur."!mark_push"(0, rx1237_pos, $I10)
   rxscan1240_done:
-.annotate "line", 532
-  # rx enumcharlist negate=0 zerowidth
-    ge rx1237_pos, rx1237_eos, rx1237_fail
-    sub $I10, rx1237_pos, rx1237_off
-    substr $S10, rx1237_tgt, $I10, 1
-    index $I11, "{", $S10
-    lt $I11, 0, rx1237_fail
-  # rx subrule "codeblock" subtype=capture negate=
+.annotate "line", 529
+  # rx literal  ":"
+    add $I11, rx1237_pos, 1
+    gt $I11, rx1237_eos, rx1237_fail
+    sub $I11, rx1237_pos, rx1237_off
+    substr $S10, rx1237_tgt, $I11, 1
+    ne $S10, ":", rx1237_fail
+    add rx1237_pos, 1
+  # rx subrule "before" subtype=zerowidth negate=
+    rx1237_cur."!cursor_pos"(rx1237_pos)
+    .const 'Sub' $P1242 = "321_1261019367.36172" 
+    capture_lex $P1242
+    $P10 = rx1237_cur."before"($P1242)
+    unless $P10, rx1237_fail
+  # rx subrule "LANG" subtype=capture negate=
     rx1237_cur."!cursor_pos"(rx1237_pos)
-    $P10 = rx1237_cur."codeblock"()
+    $P10 = rx1237_cur."LANG"("MAIN", "statement")
     unless $P10, rx1237_fail
     rx1237_cur."!mark_push"(0, -1, 0, $P10)
-    $P10."!cursor_names"("codeblock")
+    $P10."!cursor_names"("statement")
     rx1237_pos = $P10."pos"()
-.annotate "line", 531
+  # rx subrule "ws" subtype=method negate=
+    rx1237_cur."!cursor_pos"(rx1237_pos)
+    $P10 = rx1237_cur."ws"()
+    unless $P10, rx1237_fail
+    rx1237_pos = $P10."pos"()
+  # rx literal  ";"
+    add $I11, rx1237_pos, 1
+    gt $I11, rx1237_eos, rx1237_fail
+    sub $I11, rx1237_pos, rx1237_off
+    substr $S10, rx1237_tgt, $I11, 1
+    ne $S10, ";", rx1237_fail
+    add rx1237_pos, 1
+.annotate "line", 528
   # rx pass
-    rx1237_cur."!cursor_pass"(rx1237_pos, "assertion:sym<{ }>")
-    rx1237_cur."!cursor_debug"("PASS  ", "assertion:sym<{ }>", " at pos=", rx1237_pos)
+    rx1237_cur."!cursor_pass"(rx1237_pos, "metachar:sym<:my>")
+    rx1237_cur."!cursor_debug"("PASS  ", "metachar:sym<:my>", " at pos=", rx1237_pos)
     .return (rx1237_cur)
   rx1237_fail:
-.annotate "line", 522
+.annotate "line", 527
     (rx1237_rep, rx1237_pos, $I10, $P10) = rx1237_cur."!mark_fail"(0)
     lt rx1237_pos, -1, rx1237_done
     eq rx1237_pos, -1, rx1237_fail
     jump $I10
   rx1237_done:
     rx1237_cur."!cursor_fail"()
-    rx1237_cur."!cursor_debug"("FAIL  ", "assertion:sym<{ }>")
+    rx1237_cur."!cursor_debug"("FAIL  ", "metachar:sym<:my>")
     .return (rx1237_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Regex"]
-.sub "!PREFIX__assertion:sym<{ }>"  :subid("321_1260829317.63188") :method
-.annotate "line", 522
+.sub "!PREFIX__metachar:sym<:my>"  :subid("320_1261019367.36172") :method
+.annotate "line", 527
     new $P1239, "ResizablePMCArray"
-    push $P1239, "{"
+    push $P1239, ":"
     .return ($P1239)
 .end
 
 
 .namespace ["NQP";"Regex"]
-.sub "assertion:sym<name>"  :subid("322_1260829317.63188") :method :outer("314_1260829317.63188")
-.annotate "line", 522
-    .const 'Sub' $P1250 = "324_1260829317.63188" 
-    capture_lex $P1250
-    .local string rx1242_tgt
-    .local int rx1242_pos
-    .local int rx1242_off
-    .local int rx1242_eos
-    .local int rx1242_rep
-    .local pmc rx1242_cur
-    (rx1242_cur, rx1242_pos, rx1242_tgt) = self."!cursor_start"()
-    rx1242_cur."!cursor_debug"("START ", "assertion:sym<name>")
-    rx1242_cur."!cursor_caparray"("assertion", "nibbler", "arglist")
-    .lex unicode:"$\x{a2}", rx1242_cur
-    .local pmc match
-    .lex "$/", match
-    length rx1242_eos, rx1242_tgt
-    set rx1242_off, 0
-    lt rx1242_pos, 2, rx1242_start
-    sub rx1242_off, rx1242_pos, 1
-    substr rx1242_tgt, rx1242_tgt, rx1242_off
-  rx1242_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan1245_done
-    goto rxscan1245_scan
-  rxscan1245_loop:
-    ($P10) = rx1242_cur."from"()
-    inc $P10
-    set rx1242_pos, $P10
-    ge rx1242_pos, rx1242_eos, rxscan1245_done
-  rxscan1245_scan:
-    set_addr $I10, rxscan1245_loop
-    rx1242_cur."!mark_push"(0, rx1242_pos, $I10)
-  rxscan1245_done:
-.annotate "line", 536
-  # rx subcapture "longname"
-    set_addr $I10, rxcap_1246_fail
-    rx1242_cur."!mark_push"(0, rx1242_pos, $I10)
-  # rx charclass_q w r 1..-1
-    sub $I10, rx1242_pos, rx1242_off
-    find_not_cclass $I11, 8192, rx1242_tgt, $I10, rx1242_eos
-    add $I12, $I10, 1
-    lt $I11, $I12, rx1242_fail
-    add rx1242_pos, rx1242_off, $I11
-    set_addr $I10, rxcap_1246_fail
-    ($I12, $I11) = rx1242_cur."!mark_peek"($I10)
-    rx1242_cur."!cursor_pos"($I11)
-    ($P10) = rx1242_cur."!cursor_start"()
-    $P10."!cursor_pass"(rx1242_pos, "")
-    rx1242_cur."!mark_push"(0, -1, 0, $P10)
-    $P10."!cursor_names"("longname")
-    goto rxcap_1246_done
-  rxcap_1246_fail:
-    goto rx1242_fail
-  rxcap_1246_done:
-.annotate "line", 543
-  # rx rxquantr1247 ** 0..1
-    set_addr $I1253, rxquantr1247_done
-    rx1242_cur."!mark_push"(0, rx1242_pos, $I1253)
-  rxquantr1247_loop:
-  alt1248_0:
-.annotate "line", 537
-    set_addr $I10, alt1248_1
-    rx1242_cur."!mark_push"(0, rx1242_pos, $I10)
-.annotate "line", 538
-  # rx subrule "before" subtype=zerowidth negate=
-    rx1242_cur."!cursor_pos"(rx1242_pos)
-    .const 'Sub' $P1250 = "324_1260829317.63188" 
-    capture_lex $P1250
-    $P10 = rx1242_cur."before"($P1250)
-    unless $P10, rx1242_fail
-    goto alt1248_end
-  alt1248_1:
-    set_addr $I10, alt1248_2
-    rx1242_cur."!mark_push"(0, rx1242_pos, $I10)
-.annotate "line", 539
-  # rx literal  "="
-    add $I11, rx1242_pos, 1
-    gt $I11, rx1242_eos, rx1242_fail
-    sub $I11, rx1242_pos, rx1242_off
-    substr $S10, rx1242_tgt, $I11, 1
-    ne $S10, "=", rx1242_fail
-    add rx1242_pos, 1
-  # rx subrule "assertion" subtype=capture negate=
-    rx1242_cur."!cursor_pos"(rx1242_pos)
-    $P10 = rx1242_cur."assertion"()
-    unless $P10, rx1242_fail
-    rx1242_cur."!mark_push"(0, -1, 0, $P10)
-    $P10."!cursor_names"("assertion")
-    rx1242_pos = $P10."pos"()
-    goto alt1248_end
-  alt1248_2:
-    set_addr $I10, alt1248_3
-    rx1242_cur."!mark_push"(0, rx1242_pos, $I10)
-.annotate "line", 540
-  # rx literal  ":"
-    add $I11, rx1242_pos, 1
-    gt $I11, rx1242_eos, rx1242_fail
-    sub $I11, rx1242_pos, rx1242_off
-    substr $S10, rx1242_tgt, $I11, 1
-    ne $S10, ":", rx1242_fail
-    add rx1242_pos, 1
-  # rx subrule "arglist" subtype=capture negate=
-    rx1242_cur."!cursor_pos"(rx1242_pos)
-    $P10 = rx1242_cur."arglist"()
-    unless $P10, rx1242_fail
-    rx1242_cur."!mark_push"(0, -1, 0, $P10)
-    $P10."!cursor_names"("arglist")
-    rx1242_pos = $P10."pos"()
-    goto alt1248_end
-  alt1248_3:
-    set_addr $I10, alt1248_4
-    rx1242_cur."!mark_push"(0, rx1242_pos, $I10)
-.annotate "line", 541
-  # rx literal  "("
-    add $I11, rx1242_pos, 1
-    gt $I11, rx1242_eos, rx1242_fail
-    sub $I11, rx1242_pos, rx1242_off
-    substr $S10, rx1242_tgt, $I11, 1
-    ne $S10, "(", rx1242_fail
-    add rx1242_pos, 1
-  # rx subrule "LANG" subtype=capture negate=
-    rx1242_cur."!cursor_pos"(rx1242_pos)
-    $P10 = rx1242_cur."LANG"("MAIN", "arglist")
-    unless $P10, rx1242_fail
-    rx1242_cur."!mark_push"(0, -1, 0, $P10)
-    $P10."!cursor_names"("arglist")
-    rx1242_pos = $P10."pos"()
-  # rx literal  ")"
-    add $I11, rx1242_pos, 1
-    gt $I11, rx1242_eos, rx1242_fail
-    sub $I11, rx1242_pos, rx1242_off
-    substr $S10, rx1242_tgt, $I11, 1
-    ne $S10, ")", rx1242_fail
-    add rx1242_pos, 1
-    goto alt1248_end
-  alt1248_4:
-.annotate "line", 542
-  # rx subrule "normspace" subtype=method negate=
-    rx1242_cur."!cursor_pos"(rx1242_pos)
-    $P10 = rx1242_cur."normspace"()
-    unless $P10, rx1242_fail
-    rx1242_pos = $P10."pos"()
-  # rx subrule "nibbler" subtype=capture negate=
-    rx1242_cur."!cursor_pos"(rx1242_pos)
-    $P10 = rx1242_cur."nibbler"()
-    unless $P10, rx1242_fail
-    rx1242_cur."!mark_push"(0, -1, 0, $P10)
-    $P10."!cursor_names"("nibbler")
-    rx1242_pos = $P10."pos"()
-  alt1248_end:
-.annotate "line", 543
-    (rx1242_rep) = rx1242_cur."!mark_commit"($I1253)
-  rxquantr1247_done:
-.annotate "line", 535
-  # rx pass
-    rx1242_cur."!cursor_pass"(rx1242_pos, "assertion:sym<name>")
-    rx1242_cur."!cursor_debug"("PASS  ", "assertion:sym<name>", " at pos=", rx1242_pos)
-    .return (rx1242_cur)
-  rx1242_fail:
-.annotate "line", 522
-    (rx1242_rep, rx1242_pos, $I10, $P10) = rx1242_cur."!mark_fail"(0)
-    lt rx1242_pos, -1, rx1242_done
-    eq rx1242_pos, -1, rx1242_fail
-    jump $I10
-  rx1242_done:
-    rx1242_cur."!cursor_fail"()
-    rx1242_cur."!cursor_debug"("FAIL  ", "assertion:sym<name>")
-    .return (rx1242_cur)
+.sub "_block1241"  :anon :subid("321_1261019367.36172") :method :outer("319_1261019367.36172")
+.annotate "line", 529
+    .local string rx1243_tgt
+    .local int rx1243_pos
+    .local int rx1243_off
+    .local int rx1243_eos
+    .local int rx1243_rep
+    .local pmc rx1243_cur
+    (rx1243_cur, rx1243_pos, rx1243_tgt) = self."!cursor_start"()
+    rx1243_cur."!cursor_debug"("START ", "")
+    .lex unicode:"$\x{a2}", rx1243_cur
+    .local pmc match
+    .lex "$/", match
+    length rx1243_eos, rx1243_tgt
+    set rx1243_off, 0
+    lt rx1243_pos, 2, rx1243_start
+    sub rx1243_off, rx1243_pos, 1
+    substr rx1243_tgt, rx1243_tgt, rx1243_off
+  rx1243_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan1244_done
+    goto rxscan1244_scan
+  rxscan1244_loop:
+    ($P10) = rx1243_cur."from"()
+    inc $P10
+    set rx1243_pos, $P10
+    ge rx1243_pos, rx1243_eos, rxscan1244_done
+  rxscan1244_scan:
+    set_addr $I10, rxscan1244_loop
+    rx1243_cur."!mark_push"(0, rx1243_pos, $I10)
+  rxscan1244_done:
+  # rx literal  "my"
+    add $I11, rx1243_pos, 2
+    gt $I11, rx1243_eos, rx1243_fail
+    sub $I11, rx1243_pos, rx1243_off
+    substr $S10, rx1243_tgt, $I11, 2
+    ne $S10, "my", rx1243_fail
+    add rx1243_pos, 2
+  # rx pass
+    rx1243_cur."!cursor_pass"(rx1243_pos, "")
+    rx1243_cur."!cursor_debug"("PASS  ", "", " at pos=", rx1243_pos)
+    .return (rx1243_cur)
+  rx1243_fail:
+    (rx1243_rep, rx1243_pos, $I10, $P10) = rx1243_cur."!mark_fail"(0)
+    lt rx1243_pos, -1, rx1243_done
+    eq rx1243_pos, -1, rx1243_fail
+    jump $I10
+  rx1243_done:
+    rx1243_cur."!cursor_fail"()
+    rx1243_cur."!cursor_debug"("FAIL  ", "")
+    .return (rx1243_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Regex"]
-.sub "!PREFIX__assertion:sym<name>"  :subid("323_1260829317.63188") :method
-.annotate "line", 522
-    new $P1244, "ResizablePMCArray"
-    push $P1244, ""
-    .return ($P1244)
+.sub "metachar:sym<{ }>"  :subid("322_1261019367.36172") :method :outer("318_1261019367.36172")
+.annotate "line", 527
+    .local string rx1246_tgt
+    .local int rx1246_pos
+    .local int rx1246_off
+    .local int rx1246_eos
+    .local int rx1246_rep
+    .local pmc rx1246_cur
+    (rx1246_cur, rx1246_pos, rx1246_tgt) = self."!cursor_start"()
+    rx1246_cur."!cursor_debug"("START ", "metachar:sym<{ }>")
+    .lex unicode:"$\x{a2}", rx1246_cur
+    .local pmc match
+    .lex "$/", match
+    length rx1246_eos, rx1246_tgt
+    set rx1246_off, 0
+    lt rx1246_pos, 2, rx1246_start
+    sub rx1246_off, rx1246_pos, 1
+    substr rx1246_tgt, rx1246_tgt, rx1246_off
+  rx1246_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan1249_done
+    goto rxscan1249_scan
+  rxscan1249_loop:
+    ($P10) = rx1246_cur."from"()
+    inc $P10
+    set rx1246_pos, $P10
+    ge rx1246_pos, rx1246_eos, rxscan1249_done
+  rxscan1249_scan:
+    set_addr $I10, rxscan1249_loop
+    rx1246_cur."!mark_push"(0, rx1246_pos, $I10)
+  rxscan1249_done:
+.annotate "line", 533
+  # rx enumcharlist negate=0 zerowidth
+    ge rx1246_pos, rx1246_eos, rx1246_fail
+    sub $I10, rx1246_pos, rx1246_off
+    substr $S10, rx1246_tgt, $I10, 1
+    index $I11, "{", $S10
+    lt $I11, 0, rx1246_fail
+  # rx subrule "codeblock" subtype=capture negate=
+    rx1246_cur."!cursor_pos"(rx1246_pos)
+    $P10 = rx1246_cur."codeblock"()
+    unless $P10, rx1246_fail
+    rx1246_cur."!mark_push"(0, -1, 0, $P10)
+    $P10."!cursor_names"("codeblock")
+    rx1246_pos = $P10."pos"()
+.annotate "line", 532
+  # rx pass
+    rx1246_cur."!cursor_pass"(rx1246_pos, "metachar:sym<{ }>")
+    rx1246_cur."!cursor_debug"("PASS  ", "metachar:sym<{ }>", " at pos=", rx1246_pos)
+    .return (rx1246_cur)
+  rx1246_fail:
+.annotate "line", 527
+    (rx1246_rep, rx1246_pos, $I10, $P10) = rx1246_cur."!mark_fail"(0)
+    lt rx1246_pos, -1, rx1246_done
+    eq rx1246_pos, -1, rx1246_fail
+    jump $I10
+  rx1246_done:
+    rx1246_cur."!cursor_fail"()
+    rx1246_cur."!cursor_debug"("FAIL  ", "metachar:sym<{ }>")
+    .return (rx1246_cur)
+    .return ()
 .end
 
 
 .namespace ["NQP";"Regex"]
-.sub "_block1249"  :anon :subid("324_1260829317.63188") :method :outer("322_1260829317.63188")
-.annotate "line", 538
+.sub "!PREFIX__metachar:sym<{ }>"  :subid("323_1261019367.36172") :method
+.annotate "line", 527
+    new $P1248, "ResizablePMCArray"
+    push $P1248, "{"
+    .return ($P1248)
+.end
+
+
+.namespace ["NQP";"Regex"]
+.sub "assertion:sym<{ }>"  :subid("324_1261019367.36172") :method :outer("318_1261019367.36172")
+.annotate "line", 527
     .local string rx1251_tgt
     .local int rx1251_pos
     .local int rx1251_off
@@ -15426,7 +15344,7 @@
     .local int rx1251_rep
     .local pmc rx1251_cur
     (rx1251_cur, rx1251_pos, rx1251_tgt) = self."!cursor_start"()
-    rx1251_cur."!cursor_debug"("START ", "")
+    rx1251_cur."!cursor_debug"("START ", "assertion:sym<{ }>")
     .lex unicode:"$\x{a2}", rx1251_cur
     .local pmc match
     .lex "$/", match
@@ -15437,350 +15355,611 @@
     substr rx1251_tgt, rx1251_tgt, rx1251_off
   rx1251_start:
     $I10 = self.'from'()
-    ne $I10, -1, rxscan1252_done
-    goto rxscan1252_scan
-  rxscan1252_loop:
+    ne $I10, -1, rxscan1254_done
+    goto rxscan1254_scan
+  rxscan1254_loop:
     ($P10) = rx1251_cur."from"()
     inc $P10
     set rx1251_pos, $P10
-    ge rx1251_pos, rx1251_eos, rxscan1252_done
-  rxscan1252_scan:
-    set_addr $I10, rxscan1252_loop
+    ge rx1251_pos, rx1251_eos, rxscan1254_done
+  rxscan1254_scan:
+    set_addr $I10, rxscan1254_loop
     rx1251_cur."!mark_push"(0, rx1251_pos, $I10)
-  rxscan1252_done:
-  # rx literal  ">"
-    add $I11, rx1251_pos, 1
-    gt $I11, rx1251_eos, rx1251_fail
-    sub $I11, rx1251_pos, rx1251_off
-    substr $S10, rx1251_tgt, $I11, 1
-    ne $S10, ">", rx1251_fail
-    add rx1251_pos, 1
+  rxscan1254_done:
+.annotate "line", 537
+  # rx enumcharlist negate=0 zerowidth
+    ge rx1251_pos, rx1251_eos, rx1251_fail
+    sub $I10, rx1251_pos, rx1251_off
+    substr $S10, rx1251_tgt, $I10, 1
+    index $I11, "{", $S10
+    lt $I11, 0, rx1251_fail
+  # rx subrule "codeblock" subtype=capture negate=
+    rx1251_cur."!cursor_pos"(rx1251_pos)
+    $P10 = rx1251_cur."codeblock"()
+    unless $P10, rx1251_fail
+    rx1251_cur."!mark_push"(0, -1, 0, $P10)
+    $P10."!cursor_names"("codeblock")
+    rx1251_pos = $P10."pos"()
+.annotate "line", 536
   # rx pass
-    rx1251_cur."!cursor_pass"(rx1251_pos, "")
-    rx1251_cur."!cursor_debug"("PASS  ", "", " at pos=", rx1251_pos)
+    rx1251_cur."!cursor_pass"(rx1251_pos, "assertion:sym<{ }>")
+    rx1251_cur."!cursor_debug"("PASS  ", "assertion:sym<{ }>", " at pos=", rx1251_pos)
     .return (rx1251_cur)
   rx1251_fail:
+.annotate "line", 527
     (rx1251_rep, rx1251_pos, $I10, $P10) = rx1251_cur."!mark_fail"(0)
     lt rx1251_pos, -1, rx1251_done
     eq rx1251_pos, -1, rx1251_fail
     jump $I10
   rx1251_done:
     rx1251_cur."!cursor_fail"()
-    rx1251_cur."!cursor_debug"("FAIL  ", "")
+    rx1251_cur."!cursor_debug"("FAIL  ", "assertion:sym<{ }>")
     .return (rx1251_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Regex"]
-.sub "codeblock"  :subid("325_1260829317.63188") :method :outer("314_1260829317.63188")
-.annotate "line", 522
-    .local string rx1255_tgt
-    .local int rx1255_pos
-    .local int rx1255_off
-    .local int rx1255_eos
-    .local int rx1255_rep
-    .local pmc rx1255_cur
-    (rx1255_cur, rx1255_pos, rx1255_tgt) = self."!cursor_start"()
-    rx1255_cur."!cursor_debug"("START ", "codeblock")
-    .lex unicode:"$\x{a2}", rx1255_cur
-    .local pmc match
-    .lex "$/", match
-    length rx1255_eos, rx1255_tgt
-    set rx1255_off, 0
-    lt rx1255_pos, 2, rx1255_start
-    sub rx1255_off, rx1255_pos, 1
-    substr rx1255_tgt, rx1255_tgt, rx1255_off
-  rx1255_start:
+.sub "!PREFIX__assertion:sym<{ }>"  :subid("325_1261019367.36172") :method
+.annotate "line", 527
+    new $P1253, "ResizablePMCArray"
+    push $P1253, "{"
+    .return ($P1253)
+.end
+
+
+.namespace ["NQP";"Regex"]
+.sub "assertion:sym<name>"  :subid("326_1261019367.36172") :method :outer("318_1261019367.36172")
+.annotate "line", 527
+    .const 'Sub' $P1264 = "328_1261019367.36172" 
+    capture_lex $P1264
+    .local string rx1256_tgt
+    .local int rx1256_pos
+    .local int rx1256_off
+    .local int rx1256_eos
+    .local int rx1256_rep
+    .local pmc rx1256_cur
+    (rx1256_cur, rx1256_pos, rx1256_tgt) = self."!cursor_start"()
+    rx1256_cur."!cursor_debug"("START ", "assertion:sym<name>")
+    rx1256_cur."!cursor_caparray"("arglist", "nibbler", "assertion")
+    .lex unicode:"$\x{a2}", rx1256_cur
+    .local pmc match
+    .lex "$/", match
+    length rx1256_eos, rx1256_tgt
+    set rx1256_off, 0
+    lt rx1256_pos, 2, rx1256_start
+    sub rx1256_off, rx1256_pos, 1
+    substr rx1256_tgt, rx1256_tgt, rx1256_off
+  rx1256_start:
     $I10 = self.'from'()
     ne $I10, -1, rxscan1259_done
     goto rxscan1259_scan
   rxscan1259_loop:
-    ($P10) = rx1255_cur."from"()
+    ($P10) = rx1256_cur."from"()
     inc $P10
-    set rx1255_pos, $P10
-    ge rx1255_pos, rx1255_eos, rxscan1259_done
+    set rx1256_pos, $P10
+    ge rx1256_pos, rx1256_eos, rxscan1259_done
   rxscan1259_scan:
     set_addr $I10, rxscan1259_loop
-    rx1255_cur."!mark_push"(0, rx1255_pos, $I10)
+    rx1256_cur."!mark_push"(0, rx1256_pos, $I10)
   rxscan1259_done:
+.annotate "line", 541
+  # rx subcapture "longname"
+    set_addr $I10, rxcap_1260_fail
+    rx1256_cur."!mark_push"(0, rx1256_pos, $I10)
+  # rx charclass_q w r 1..-1
+    sub $I10, rx1256_pos, rx1256_off
+    find_not_cclass $I11, 8192, rx1256_tgt, $I10, rx1256_eos
+    add $I12, $I10, 1
+    lt $I11, $I12, rx1256_fail
+    add rx1256_pos, rx1256_off, $I11
+    set_addr $I10, rxcap_1260_fail
+    ($I12, $I11) = rx1256_cur."!mark_peek"($I10)
+    rx1256_cur."!cursor_pos"($I11)
+    ($P10) = rx1256_cur."!cursor_start"()
+    $P10."!cursor_pass"(rx1256_pos, "")
+    rx1256_cur."!mark_push"(0, -1, 0, $P10)
+    $P10."!cursor_names"("longname")
+    goto rxcap_1260_done
+  rxcap_1260_fail:
+    goto rx1256_fail
+  rxcap_1260_done:
 .annotate "line", 548
+  # rx rxquantr1261 ** 0..1
+    set_addr $I1267, rxquantr1261_done
+    rx1256_cur."!mark_push"(0, rx1256_pos, $I1267)
+  rxquantr1261_loop:
+  alt1262_0:
+.annotate "line", 542
+    set_addr $I10, alt1262_1
+    rx1256_cur."!mark_push"(0, rx1256_pos, $I10)
+.annotate "line", 543
+  # rx subrule "before" subtype=zerowidth negate=
+    rx1256_cur."!cursor_pos"(rx1256_pos)
+    .const 'Sub' $P1264 = "328_1261019367.36172" 
+    capture_lex $P1264
+    $P10 = rx1256_cur."before"($P1264)
+    unless $P10, rx1256_fail
+    goto alt1262_end
+  alt1262_1:
+    set_addr $I10, alt1262_2
+    rx1256_cur."!mark_push"(0, rx1256_pos, $I10)
+.annotate "line", 544
+  # rx literal  "="
+    add $I11, rx1256_pos, 1
+    gt $I11, rx1256_eos, rx1256_fail
+    sub $I11, rx1256_pos, rx1256_off
+    substr $S10, rx1256_tgt, $I11, 1
+    ne $S10, "=", rx1256_fail
+    add rx1256_pos, 1
+  # rx subrule "assertion" subtype=capture negate=
+    rx1256_cur."!cursor_pos"(rx1256_pos)
+    $P10 = rx1256_cur."assertion"()
+    unless $P10, rx1256_fail
+    rx1256_cur."!mark_push"(0, -1, 0, $P10)
+    $P10."!cursor_names"("assertion")
+    rx1256_pos = $P10."pos"()
+    goto alt1262_end
+  alt1262_2:
+    set_addr $I10, alt1262_3
+    rx1256_cur."!mark_push"(0, rx1256_pos, $I10)
+.annotate "line", 545
+  # rx literal  ":"
+    add $I11, rx1256_pos, 1
+    gt $I11, rx1256_eos, rx1256_fail
+    sub $I11, rx1256_pos, rx1256_off
+    substr $S10, rx1256_tgt, $I11, 1
+    ne $S10, ":", rx1256_fail
+    add rx1256_pos, 1
+  # rx subrule "arglist" subtype=capture negate=
+    rx1256_cur."!cursor_pos"(rx1256_pos)
+    $P10 = rx1256_cur."arglist"()
+    unless $P10, rx1256_fail
+    rx1256_cur."!mark_push"(0, -1, 0, $P10)
+    $P10."!cursor_names"("arglist")
+    rx1256_pos = $P10."pos"()
+    goto alt1262_end
+  alt1262_3:
+    set_addr $I10, alt1262_4
+    rx1256_cur."!mark_push"(0, rx1256_pos, $I10)
+.annotate "line", 546
+  # rx literal  "("
+    add $I11, rx1256_pos, 1
+    gt $I11, rx1256_eos, rx1256_fail
+    sub $I11, rx1256_pos, rx1256_off
+    substr $S10, rx1256_tgt, $I11, 1
+    ne $S10, "(", rx1256_fail
+    add rx1256_pos, 1
   # rx subrule "LANG" subtype=capture negate=
-    rx1255_cur."!cursor_pos"(rx1255_pos)
-    $P10 = rx1255_cur."LANG"("MAIN", "pblock")
-    unless $P10, rx1255_fail
-    rx1255_cur."!mark_push"(0, -1, 0, $P10)
-    $P10."!cursor_names"("block")
-    rx1255_pos = $P10."pos"()
+    rx1256_cur."!cursor_pos"(rx1256_pos)
+    $P10 = rx1256_cur."LANG"("MAIN", "arglist")
+    unless $P10, rx1256_fail
+    rx1256_cur."!mark_push"(0, -1, 0, $P10)
+    $P10."!cursor_names"("arglist")
+    rx1256_pos = $P10."pos"()
+  # rx literal  ")"
+    add $I11, rx1256_pos, 1
+    gt $I11, rx1256_eos, rx1256_fail
+    sub $I11, rx1256_pos, rx1256_off
+    substr $S10, rx1256_tgt, $I11, 1
+    ne $S10, ")", rx1256_fail
+    add rx1256_pos, 1
+    goto alt1262_end
+  alt1262_4:
 .annotate "line", 547
+  # rx subrule "normspace" subtype=method negate=
+    rx1256_cur."!cursor_pos"(rx1256_pos)
+    $P10 = rx1256_cur."normspace"()
+    unless $P10, rx1256_fail
+    rx1256_pos = $P10."pos"()
+  # rx subrule "nibbler" subtype=capture negate=
+    rx1256_cur."!cursor_pos"(rx1256_pos)
+    $P10 = rx1256_cur."nibbler"()
+    unless $P10, rx1256_fail
+    rx1256_cur."!mark_push"(0, -1, 0, $P10)
+    $P10."!cursor_names"("nibbler")
+    rx1256_pos = $P10."pos"()
+  alt1262_end:
+.annotate "line", 548
+    (rx1256_rep) = rx1256_cur."!mark_commit"($I1267)
+  rxquantr1261_done:
+.annotate "line", 540
   # rx pass
-    rx1255_cur."!cursor_pass"(rx1255_pos, "codeblock")
-    rx1255_cur."!cursor_debug"("PASS  ", "codeblock", " at pos=", rx1255_pos)
-    .return (rx1255_cur)
-  rx1255_fail:
-.annotate "line", 522
-    (rx1255_rep, rx1255_pos, $I10, $P10) = rx1255_cur."!mark_fail"(0)
-    lt rx1255_pos, -1, rx1255_done
-    eq rx1255_pos, -1, rx1255_fail
-    jump $I10
-  rx1255_done:
-    rx1255_cur."!cursor_fail"()
-    rx1255_cur."!cursor_debug"("FAIL  ", "codeblock")
-    .return (rx1255_cur)
+    rx1256_cur."!cursor_pass"(rx1256_pos, "assertion:sym<name>")
+    rx1256_cur."!cursor_debug"("PASS  ", "assertion:sym<name>", " at pos=", rx1256_pos)
+    .return (rx1256_cur)
+  rx1256_fail:
+.annotate "line", 527
+    (rx1256_rep, rx1256_pos, $I10, $P10) = rx1256_cur."!mark_fail"(0)
+    lt rx1256_pos, -1, rx1256_done
+    eq rx1256_pos, -1, rx1256_fail
+    jump $I10
+  rx1256_done:
+    rx1256_cur."!cursor_fail"()
+    rx1256_cur."!cursor_debug"("FAIL  ", "assertion:sym<name>")
+    .return (rx1256_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Regex"]
-.sub "!PREFIX__codeblock"  :subid("326_1260829317.63188") :method
-.annotate "line", 522
-    $P1257 = self."!PREFIX__!subrule"("block", "")
+.sub "!PREFIX__assertion:sym<name>"  :subid("327_1261019367.36172") :method
+.annotate "line", 527
     new $P1258, "ResizablePMCArray"
-    push $P1258, $P1257
+    push $P1258, ""
     .return ($P1258)
 .end
 
+
+.namespace ["NQP";"Regex"]
+.sub "_block1263"  :anon :subid("328_1261019367.36172") :method :outer("326_1261019367.36172")
+.annotate "line", 543
+    .local string rx1265_tgt
+    .local int rx1265_pos
+    .local int rx1265_off
+    .local int rx1265_eos
+    .local int rx1265_rep
+    .local pmc rx1265_cur
+    (rx1265_cur, rx1265_pos, rx1265_tgt) = self."!cursor_start"()
+    rx1265_cur."!cursor_debug"("START ", "")
+    .lex unicode:"$\x{a2}", rx1265_cur
+    .local pmc match
+    .lex "$/", match
+    length rx1265_eos, rx1265_tgt
+    set rx1265_off, 0
+    lt rx1265_pos, 2, rx1265_start
+    sub rx1265_off, rx1265_pos, 1
+    substr rx1265_tgt, rx1265_tgt, rx1265_off
+  rx1265_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan1266_done
+    goto rxscan1266_scan
+  rxscan1266_loop:
+    ($P10) = rx1265_cur."from"()
+    inc $P10
+    set rx1265_pos, $P10
+    ge rx1265_pos, rx1265_eos, rxscan1266_done
+  rxscan1266_scan:
+    set_addr $I10, rxscan1266_loop
+    rx1265_cur."!mark_push"(0, rx1265_pos, $I10)
+  rxscan1266_done:
+  # rx literal  ">"
+    add $I11, rx1265_pos, 1
+    gt $I11, rx1265_eos, rx1265_fail
+    sub $I11, rx1265_pos, rx1265_off
+    substr $S10, rx1265_tgt, $I11, 1
+    ne $S10, ">", rx1265_fail
+    add rx1265_pos, 1
+  # rx pass
+    rx1265_cur."!cursor_pass"(rx1265_pos, "")
+    rx1265_cur."!cursor_debug"("PASS  ", "", " at pos=", rx1265_pos)
+    .return (rx1265_cur)
+  rx1265_fail:
+    (rx1265_rep, rx1265_pos, $I10, $P10) = rx1265_cur."!mark_fail"(0)
+    lt rx1265_pos, -1, rx1265_done
+    eq rx1265_pos, -1, rx1265_fail
+    jump $I10
+  rx1265_done:
+    rx1265_cur."!cursor_fail"()
+    rx1265_cur."!cursor_debug"("FAIL  ", "")
+    .return (rx1265_cur)
+    .return ()
+.end
+
+
+.namespace ["NQP";"Regex"]
+.sub "codeblock"  :subid("329_1261019367.36172") :method :outer("318_1261019367.36172")
+.annotate "line", 527
+    .local string rx1269_tgt
+    .local int rx1269_pos
+    .local int rx1269_off
+    .local int rx1269_eos
+    .local int rx1269_rep
+    .local pmc rx1269_cur
+    (rx1269_cur, rx1269_pos, rx1269_tgt) = self."!cursor_start"()
+    rx1269_cur."!cursor_debug"("START ", "codeblock")
+    .lex unicode:"$\x{a2}", rx1269_cur
+    .local pmc match
+    .lex "$/", match
+    length rx1269_eos, rx1269_tgt
+    set rx1269_off, 0
+    lt rx1269_pos, 2, rx1269_start
+    sub rx1269_off, rx1269_pos, 1
+    substr rx1269_tgt, rx1269_tgt, rx1269_off
+  rx1269_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan1273_done
+    goto rxscan1273_scan
+  rxscan1273_loop:
+    ($P10) = rx1269_cur."from"()
+    inc $P10
+    set rx1269_pos, $P10
+    ge rx1269_pos, rx1269_eos, rxscan1273_done
+  rxscan1273_scan:
+    set_addr $I10, rxscan1273_loop
+    rx1269_cur."!mark_push"(0, rx1269_pos, $I10)
+  rxscan1273_done:
+.annotate "line", 553
+  # rx subrule "LANG" subtype=capture negate=
+    rx1269_cur."!cursor_pos"(rx1269_pos)
+    $P10 = rx1269_cur."LANG"("MAIN", "pblock")
+    unless $P10, rx1269_fail
+    rx1269_cur."!mark_push"(0, -1, 0, $P10)
+    $P10."!cursor_names"("block")
+    rx1269_pos = $P10."pos"()
+.annotate "line", 552
+  # rx pass
+    rx1269_cur."!cursor_pass"(rx1269_pos, "codeblock")
+    rx1269_cur."!cursor_debug"("PASS  ", "codeblock", " at pos=", rx1269_pos)
+    .return (rx1269_cur)
+  rx1269_fail:
+.annotate "line", 527
+    (rx1269_rep, rx1269_pos, $I10, $P10) = rx1269_cur."!mark_fail"(0)
+    lt rx1269_pos, -1, rx1269_done
+    eq rx1269_pos, -1, rx1269_fail
+    jump $I10
+  rx1269_done:
+    rx1269_cur."!cursor_fail"()
+    rx1269_cur."!cursor_debug"("FAIL  ", "codeblock")
+    .return (rx1269_cur)
+    .return ()
+.end
+
+
+.namespace ["NQP";"Regex"]
+.sub "!PREFIX__codeblock"  :subid("330_1261019367.36172") :method
+.annotate "line", 527
+    $P1271 = self."!PREFIX__!subrule"("block", "")
+    new $P1272, "ResizablePMCArray"
+    push $P1272, $P1271
+    .return ($P1272)
+.end
+
 ### .include 'gen/nqp-actions.pir'
 
 .namespace []
-.sub "_block11"  :anon :subid("10_1260829329.07487")
+.sub "_block11"  :anon :subid("10_1261019379.40749")
 .annotate "line", 0
     get_hll_global $P14, ["NQP";"Actions"], "_block13" 
     capture_lex $P14
 .annotate "line", 3
     get_hll_global $P14, ["NQP";"Actions"], "_block13" 
     capture_lex $P14
-    $P2139 = $P14()
+    $P2165 = $P14()
 .annotate "line", 1
-    .return ($P2139)
+    .return ($P2165)
 .end
 
 
 .namespace []
-.sub "" :load :init :subid("post124") :outer("10_1260829329.07487")
+.sub "" :load :init :subid("post126") :outer("10_1261019379.40749")
 .annotate "line", 0
-    .const 'Sub' $P12 = "10_1260829329.07487" 
+    .const 'Sub' $P12 = "10_1261019379.40749" 
     .local pmc block
     set block, $P12
-    $P2140 = get_root_global ["parrot"], "P6metaclass"
-    $P2140."new_class"("NQP::Actions", "HLL::Actions" :named("parent"))
+    $P2166 = get_root_global ["parrot"], "P6metaclass"
+    $P2166."new_class"("NQP::Actions", "HLL::Actions" :named("parent"))
 .end
 
 
 .namespace ["NQP";"Actions"]
-.sub "_block13"  :subid("11_1260829329.07487") :outer("10_1260829329.07487")
+.sub "_block13"  :subid("11_1261019379.40749") :outer("10_1261019379.40749")
 .annotate "line", 3
-    .const 'Sub' $P2135 = "123_1260829329.07487" 
-    capture_lex $P2135
-    get_hll_global $P2071, ["NQP";"RegexActions"], "_block2070" 
-    capture_lex $P2071
-    .const 'Sub' $P2060 = "117_1260829329.07487" 
-    capture_lex $P2060
-    .const 'Sub' $P2048 = "116_1260829329.07487" 
-    capture_lex $P2048
-    .const 'Sub' $P2038 = "115_1260829329.07487" 
-    capture_lex $P2038
-    .const 'Sub' $P2028 = "114_1260829329.07487" 
-    capture_lex $P2028
-    .const 'Sub' $P2018 = "113_1260829329.07487" 
-    capture_lex $P2018
-    .const 'Sub' $P2004 = "112_1260829329.07487" 
-    capture_lex $P2004
-    .const 'Sub' $P1994 = "111_1260829329.07487" 
-    capture_lex $P1994
-    .const 'Sub' $P1957 = "110_1260829329.07487" 
-    capture_lex $P1957
-    .const 'Sub' $P1943 = "109_1260829329.07487" 
-    capture_lex $P1943
-    .const 'Sub' $P1933 = "108_1260829329.07487" 
-    capture_lex $P1933
-    .const 'Sub' $P1923 = "107_1260829329.07487" 
-    capture_lex $P1923
-    .const 'Sub' $P1913 = "106_1260829329.07487" 
-    capture_lex $P1913
-    .const 'Sub' $P1903 = "105_1260829329.07487" 
-    capture_lex $P1903
-    .const 'Sub' $P1893 = "104_1260829329.07487" 
-    capture_lex $P1893
-    .const 'Sub' $P1865 = "103_1260829329.07487" 
-    capture_lex $P1865
-    .const 'Sub' $P1848 = "102_1260829329.07487" 
-    capture_lex $P1848
-    .const 'Sub' $P1838 = "101_1260829329.07487" 
-    capture_lex $P1838
-    .const 'Sub' $P1826 = "100_1260829329.07487" 
-    capture_lex $P1826
-    .const 'Sub' $P1814 = "99_1260829329.07487" 
-    capture_lex $P1814
-    .const 'Sub' $P1802 = "98_1260829329.07487" 
-    capture_lex $P1802
-    .const 'Sub' $P1792 = "97_1260829329.07487" 
-    capture_lex $P1792
-    .const 'Sub' $P1763 = "96_1260829329.07487" 
-    capture_lex $P1763
-    .const 'Sub' $P1741 = "95_1260829329.07487" 
-    capture_lex $P1741
-    .const 'Sub' $P1731 = "94_1260829329.07487" 
-    capture_lex $P1731
-    .const 'Sub' $P1721 = "93_1260829329.07487" 
-    capture_lex $P1721
-    .const 'Sub' $P1694 = "92_1260829329.07487" 
-    capture_lex $P1694
-    .const 'Sub' $P1676 = "91_1260829329.07487" 
-    capture_lex $P1676
-    .const 'Sub' $P1666 = "90_1260829329.07487" 
-    capture_lex $P1666
-    .const 'Sub' $P1582 = "87_1260829329.07487" 
-    capture_lex $P1582
-    .const 'Sub' $P1572 = "86_1260829329.07487" 
-    capture_lex $P1572
-    .const 'Sub' $P1543 = "85_1260829329.07487" 
-    capture_lex $P1543
-    .const 'Sub' $P1501 = "84_1260829329.07487" 
-    capture_lex $P1501
-    .const 'Sub' $P1485 = "83_1260829329.07487" 
-    capture_lex $P1485
-    .const 'Sub' $P1476 = "82_1260829329.07487" 
-    capture_lex $P1476
-    .const 'Sub' $P1444 = "81_1260829329.07487" 
-    capture_lex $P1444
-    .const 'Sub' $P1345 = "78_1260829329.07487" 
-    capture_lex $P1345
-    .const 'Sub' $P1328 = "77_1260829329.07487" 
-    capture_lex $P1328
-    .const 'Sub' $P1308 = "76_1260829329.07487" 
-    capture_lex $P1308
-    .const 'Sub' $P1224 = "75_1260829329.07487" 
-    capture_lex $P1224
-    .const 'Sub' $P1200 = "73_1260829329.07487" 
-    capture_lex $P1200
-    .const 'Sub' $P1166 = "71_1260829329.07487" 
-    capture_lex $P1166
-    .const 'Sub' $P1116 = "69_1260829329.07487" 
-    capture_lex $P1116
-    .const 'Sub' $P1106 = "68_1260829329.07487" 
-    capture_lex $P1106
-    .const 'Sub' $P1096 = "67_1260829329.07487" 
-    capture_lex $P1096
-    .const 'Sub' $P1025 = "65_1260829329.07487" 
-    capture_lex $P1025
-    .const 'Sub' $P1008 = "64_1260829329.07487" 
-    capture_lex $P1008
-    .const 'Sub' $P998 = "63_1260829329.07487" 
-    capture_lex $P998
-    .const 'Sub' $P988 = "62_1260829329.07487" 
-    capture_lex $P988
-    .const 'Sub' $P978 = "61_1260829329.07487" 
-    capture_lex $P978
-    .const 'Sub' $P954 = "60_1260829329.07487" 
-    capture_lex $P954
-    .const 'Sub' $P901 = "59_1260829329.07487" 
-    capture_lex $P901
-    .const 'Sub' $P891 = "58_1260829329.07487" 
-    capture_lex $P891
-    .const 'Sub' $P802 = "56_1260829329.07487" 
+    .const 'Sub' $P2161 = "125_1261019379.40749" 
+    capture_lex $P2161
+    get_hll_global $P2097, ["NQP";"RegexActions"], "_block2096" 
+    capture_lex $P2097
+    .const 'Sub' $P2086 = "119_1261019379.40749" 
+    capture_lex $P2086
+    .const 'Sub' $P2074 = "118_1261019379.40749" 
+    capture_lex $P2074
+    .const 'Sub' $P2064 = "117_1261019379.40749" 
+    capture_lex $P2064
+    .const 'Sub' $P2054 = "116_1261019379.40749" 
+    capture_lex $P2054
+    .const 'Sub' $P2044 = "115_1261019379.40749" 
+    capture_lex $P2044
+    .const 'Sub' $P2030 = "114_1261019379.40749" 
+    capture_lex $P2030
+    .const 'Sub' $P2020 = "113_1261019379.40749" 
+    capture_lex $P2020
+    .const 'Sub' $P1983 = "112_1261019379.40749" 
+    capture_lex $P1983
+    .const 'Sub' $P1969 = "111_1261019379.40749" 
+    capture_lex $P1969
+    .const 'Sub' $P1959 = "110_1261019379.40749" 
+    capture_lex $P1959
+    .const 'Sub' $P1949 = "109_1261019379.40749" 
+    capture_lex $P1949
+    .const 'Sub' $P1939 = "108_1261019379.40749" 
+    capture_lex $P1939
+    .const 'Sub' $P1929 = "107_1261019379.40749" 
+    capture_lex $P1929
+    .const 'Sub' $P1919 = "106_1261019379.40749" 
+    capture_lex $P1919
+    .const 'Sub' $P1891 = "105_1261019379.40749" 
+    capture_lex $P1891
+    .const 'Sub' $P1874 = "104_1261019379.40749" 
+    capture_lex $P1874
+    .const 'Sub' $P1864 = "103_1261019379.40749" 
+    capture_lex $P1864
+    .const 'Sub' $P1852 = "102_1261019379.40749" 
+    capture_lex $P1852
+    .const 'Sub' $P1840 = "101_1261019379.40749" 
+    capture_lex $P1840
+    .const 'Sub' $P1828 = "100_1261019379.40749" 
+    capture_lex $P1828
+    .const 'Sub' $P1818 = "99_1261019379.40749" 
+    capture_lex $P1818
+    .const 'Sub' $P1789 = "98_1261019379.40749" 
+    capture_lex $P1789
+    .const 'Sub' $P1767 = "97_1261019379.40749" 
+    capture_lex $P1767
+    .const 'Sub' $P1757 = "96_1261019379.40749" 
+    capture_lex $P1757
+    .const 'Sub' $P1747 = "95_1261019379.40749" 
+    capture_lex $P1747
+    .const 'Sub' $P1720 = "94_1261019379.40749" 
+    capture_lex $P1720
+    .const 'Sub' $P1702 = "93_1261019379.40749" 
+    capture_lex $P1702
+    .const 'Sub' $P1692 = "92_1261019379.40749" 
+    capture_lex $P1692
+    .const 'Sub' $P1608 = "89_1261019379.40749" 
+    capture_lex $P1608
+    .const 'Sub' $P1598 = "88_1261019379.40749" 
+    capture_lex $P1598
+    .const 'Sub' $P1569 = "87_1261019379.40749" 
+    capture_lex $P1569
+    .const 'Sub' $P1527 = "86_1261019379.40749" 
+    capture_lex $P1527
+    .const 'Sub' $P1511 = "85_1261019379.40749" 
+    capture_lex $P1511
+    .const 'Sub' $P1502 = "84_1261019379.40749" 
+    capture_lex $P1502
+    .const 'Sub' $P1470 = "83_1261019379.40749" 
+    capture_lex $P1470
+    .const 'Sub' $P1371 = "80_1261019379.40749" 
+    capture_lex $P1371
+    .const 'Sub' $P1354 = "79_1261019379.40749" 
+    capture_lex $P1354
+    .const 'Sub' $P1334 = "78_1261019379.40749" 
+    capture_lex $P1334
+    .const 'Sub' $P1250 = "77_1261019379.40749" 
+    capture_lex $P1250
+    .const 'Sub' $P1226 = "75_1261019379.40749" 
+    capture_lex $P1226
+    .const 'Sub' $P1192 = "73_1261019379.40749" 
+    capture_lex $P1192
+    .const 'Sub' $P1142 = "71_1261019379.40749" 
+    capture_lex $P1142
+    .const 'Sub' $P1132 = "70_1261019379.40749" 
+    capture_lex $P1132
+    .const 'Sub' $P1122 = "69_1261019379.40749" 
+    capture_lex $P1122
+    .const 'Sub' $P1051 = "67_1261019379.40749" 
+    capture_lex $P1051
+    .const 'Sub' $P1034 = "66_1261019379.40749" 
+    capture_lex $P1034
+    .const 'Sub' $P1024 = "65_1261019379.40749" 
+    capture_lex $P1024
+    .const 'Sub' $P1014 = "64_1261019379.40749" 
+    capture_lex $P1014
+    .const 'Sub' $P1004 = "63_1261019379.40749" 
+    capture_lex $P1004
+    .const 'Sub' $P980 = "62_1261019379.40749" 
+    capture_lex $P980
+    .const 'Sub' $P927 = "61_1261019379.40749" 
+    capture_lex $P927
+    .const 'Sub' $P917 = "60_1261019379.40749" 
+    capture_lex $P917
+    .const 'Sub' $P828 = "58_1261019379.40749" 
+    capture_lex $P828
+    .const 'Sub' $P802 = "57_1261019379.40749" 
     capture_lex $P802
-    .const 'Sub' $P776 = "55_1260829329.07487" 
+    .const 'Sub' $P786 = "56_1261019379.40749" 
+    capture_lex $P786
+    .const 'Sub' $P776 = "55_1261019379.40749" 
     capture_lex $P776
-    .const 'Sub' $P766 = "54_1260829329.07487" 
+    .const 'Sub' $P766 = "54_1261019379.40749" 
     capture_lex $P766
-    .const 'Sub' $P756 = "53_1260829329.07487" 
+    .const 'Sub' $P756 = "53_1261019379.40749" 
     capture_lex $P756
-    .const 'Sub' $P746 = "52_1260829329.07487" 
+    .const 'Sub' $P746 = "52_1261019379.40749" 
     capture_lex $P746
-    .const 'Sub' $P736 = "51_1260829329.07487" 
+    .const 'Sub' $P736 = "51_1261019379.40749" 
     capture_lex $P736
-    .const 'Sub' $P726 = "50_1260829329.07487" 
+    .const 'Sub' $P726 = "50_1261019379.40749" 
     capture_lex $P726
-    .const 'Sub' $P716 = "49_1260829329.07487" 
+    .const 'Sub' $P716 = "49_1261019379.40749" 
     capture_lex $P716
-    .const 'Sub' $P706 = "48_1260829329.07487" 
+    .const 'Sub' $P706 = "48_1261019379.40749" 
     capture_lex $P706
-    .const 'Sub' $P696 = "47_1260829329.07487" 
+    .const 'Sub' $P696 = "47_1261019379.40749" 
     capture_lex $P696
-    .const 'Sub' $P686 = "46_1260829329.07487" 
+    .const 'Sub' $P686 = "46_1261019379.40749" 
     capture_lex $P686
-    .const 'Sub' $P676 = "45_1260829329.07487" 
+    .const 'Sub' $P676 = "45_1261019379.40749" 
     capture_lex $P676
-    .const 'Sub' $P666 = "44_1260829329.07487" 
+    .const 'Sub' $P666 = "44_1261019379.40749" 
     capture_lex $P666
-    .const 'Sub' $P656 = "43_1260829329.07487" 
+    .const 'Sub' $P656 = "43_1261019379.40749" 
     capture_lex $P656
-    .const 'Sub' $P638 = "42_1260829329.07487" 
+    .const 'Sub' $P638 = "42_1261019379.40749" 
     capture_lex $P638
-    .const 'Sub' $P603 = "41_1260829329.07487" 
+    .const 'Sub' $P603 = "41_1261019379.40749" 
     capture_lex $P603
-    .const 'Sub' $P587 = "40_1260829329.07487" 
+    .const 'Sub' $P587 = "40_1261019379.40749" 
     capture_lex $P587
-    .const 'Sub' $P566 = "39_1260829329.07487" 
+    .const 'Sub' $P566 = "39_1261019379.40749" 
     capture_lex $P566
-    .const 'Sub' $P546 = "38_1260829329.07487" 
+    .const 'Sub' $P546 = "38_1261019379.40749" 
     capture_lex $P546
-    .const 'Sub' $P533 = "37_1260829329.07487" 
+    .const 'Sub' $P533 = "37_1261019379.40749" 
     capture_lex $P533
-    .const 'Sub' $P507 = "36_1260829329.07487" 
+    .const 'Sub' $P507 = "36_1261019379.40749" 
     capture_lex $P507
-    .const 'Sub' $P471 = "35_1260829329.07487" 
+    .const 'Sub' $P471 = "35_1261019379.40749" 
     capture_lex $P471
-    .const 'Sub' $P454 = "34_1260829329.07487" 
+    .const 'Sub' $P454 = "34_1261019379.40749" 
     capture_lex $P454
-    .const 'Sub' $P440 = "33_1260829329.07487" 
+    .const 'Sub' $P440 = "33_1261019379.40749" 
     capture_lex $P440
-    .const 'Sub' $P387 = "31_1260829329.07487" 
+    .const 'Sub' $P387 = "31_1261019379.40749" 
     capture_lex $P387
-    .const 'Sub' $P374 = "30_1260829329.07487" 
+    .const 'Sub' $P374 = "30_1261019379.40749" 
     capture_lex $P374
-    .const 'Sub' $P355 = "29_1260829329.07487" 
+    .const 'Sub' $P355 = "29_1261019379.40749" 
     capture_lex $P355
-    .const 'Sub' $P345 = "28_1260829329.07487" 
+    .const 'Sub' $P345 = "28_1261019379.40749" 
     capture_lex $P345
-    .const 'Sub' $P335 = "27_1260829329.07487" 
+    .const 'Sub' $P335 = "27_1261019379.40749" 
     capture_lex $P335
-    .const 'Sub' $P319 = "26_1260829329.07487" 
+    .const 'Sub' $P319 = "26_1261019379.40749" 
     capture_lex $P319
-    .const 'Sub' $P259 = "24_1260829329.07487" 
+    .const 'Sub' $P259 = "24_1261019379.40749" 
     capture_lex $P259
-    .const 'Sub' $P210 = "22_1260829329.07487" 
+    .const 'Sub' $P210 = "22_1261019379.40749" 
     capture_lex $P210
-    .const 'Sub' $P191 = "21_1260829329.07487" 
+    .const 'Sub' $P191 = "21_1261019379.40749" 
     capture_lex $P191
-    .const 'Sub' $P158 = "20_1260829329.07487" 
+    .const 'Sub' $P158 = "20_1261019379.40749" 
     capture_lex $P158
-    .const 'Sub' $P148 = "19_1260829329.07487" 
+    .const 'Sub' $P148 = "19_1261019379.40749" 
     capture_lex $P148
-    .const 'Sub' $P94 = "18_1260829329.07487" 
+    .const 'Sub' $P94 = "18_1261019379.40749" 
     capture_lex $P94
-    .const 'Sub' $P79 = "17_1260829329.07487" 
+    .const 'Sub' $P79 = "17_1261019379.40749" 
     capture_lex $P79
-    .const 'Sub' $P61 = "16_1260829329.07487" 
+    .const 'Sub' $P61 = "16_1261019379.40749" 
     capture_lex $P61
-    .const 'Sub' $P26 = "13_1260829329.07487" 
+    .const 'Sub' $P26 = "13_1261019379.40749" 
     capture_lex $P26
-    .const 'Sub' $P16 = "12_1260829329.07487" 
+    .const 'Sub' $P16 = "12_1261019379.40749" 
     capture_lex $P16
     get_global $P15, "@BLOCK"
-    unless_null $P15, vivify_127
+    unless_null $P15, vivify_129
     new $P15, "ResizablePMCArray"
     set_global "@BLOCK", $P15
-  vivify_127:
+  vivify_129:
 .annotate "line", 9
-    .const 'Sub' $P16 = "12_1260829329.07487" 
+    .const 'Sub' $P16 = "12_1261019379.40749" 
     capture_lex $P16
     .lex "xblock_immediate", $P16
 .annotate "line", 14
-    .const 'Sub' $P26 = "13_1260829329.07487" 
+    .const 'Sub' $P26 = "13_1261019379.40749" 
     capture_lex $P26
     .lex "block_immediate", $P26
 .annotate "line", 24
-    .const 'Sub' $P61 = "16_1260829329.07487" 
+    .const 'Sub' $P61 = "16_1261019379.40749" 
     capture_lex $P61
     .lex "sigiltype", $P61
 .annotate "line", 40
-    .const 'Sub' $P79 = "17_1260829329.07487" 
+    .const 'Sub' $P79 = "17_1261019379.40749" 
     capture_lex $P79
     .lex "colonpair_str", $P79
 .annotate "line", 187
-    .const 'Sub' $P94 = "18_1260829329.07487" 
+    .const 'Sub' $P94 = "18_1261019379.40749" 
     capture_lex $P94
     .lex "push_block_handler", $P94
 .annotate "line", 3
@@ -15793,47 +15972,47 @@
     find_lex $P190, "colonpair_str"
 .annotate "line", 180
     find_lex $P586, "push_block_handler"
-.annotate "line", 758
-    get_hll_global $P2071, ["NQP";"RegexActions"], "_block2070" 
-    capture_lex $P2071
-    $P2133 = $P2071()
+.annotate "line", 765
+    get_hll_global $P2097, ["NQP";"RegexActions"], "_block2096" 
+    capture_lex $P2097
+    $P2159 = $P2097()
 .annotate "line", 3
-    .return ($P2133)
+    .return ($P2159)
 .end
 
 
 .namespace ["NQP";"Actions"]
-.sub "" :load :init :subid("post125") :outer("11_1260829329.07487")
+.sub "" :load :init :subid("post127") :outer("11_1261019379.40749")
 .annotate "line", 3
     get_hll_global $P14, ["NQP";"Actions"], "_block13" 
     .local pmc block
     set block, $P14
 .annotate "line", 5
-    .const 'Sub' $P2135 = "123_1260829329.07487" 
-    capture_lex $P2135
-    $P2135()
-    $P2138 = get_root_global ["parrot"], "P6metaclass"
-    $P2138."new_class"("NQP::RegexActions", "Regex::P6Regex::Actions" :named("parent"))
+    .const 'Sub' $P2161 = "125_1261019379.40749" 
+    capture_lex $P2161
+    $P2161()
+    $P2164 = get_root_global ["parrot"], "P6metaclass"
+    $P2164."new_class"("NQP::RegexActions", "Regex::P6Regex::Actions" :named("parent"))
 .end
 
 
 .namespace ["NQP";"Actions"]
-.sub "_block2134"  :anon :subid("123_1260829329.07487") :outer("11_1260829329.07487")
+.sub "_block2160"  :anon :subid("125_1261019379.40749") :outer("11_1261019379.40749")
 .annotate "line", 6
-    get_global $P2136, "@BLOCK"
-    unless_null $P2136, vivify_126
-    new $P2136, "ResizablePMCArray"
-    set_global "@BLOCK", $P2136
-  vivify_126:
- $P2137 = new ['ResizablePMCArray'] 
-    set_global "@BLOCK", $P2137
+    get_global $P2162, "@BLOCK"
+    unless_null $P2162, vivify_128
+    new $P2162, "ResizablePMCArray"
+    set_global "@BLOCK", $P2162
+  vivify_128:
+ $P2163 = new ['ResizablePMCArray'] 
+    set_global "@BLOCK", $P2163
 .annotate "line", 5
-    .return ($P2137)
+    .return ($P2163)
 .end
 
 
 .namespace ["NQP";"Actions"]
-.sub "xblock_immediate"  :subid("12_1260829329.07487") :outer("11_1260829329.07487")
+.sub "xblock_immediate"  :subid("12_1261019379.40749") :outer("11_1261019379.40749")
     .param pmc param_19
 .annotate "line", 9
     new $P18, 'ExceptionHandler'
@@ -15843,19 +16022,19 @@
     .lex "$xblock", param_19
 .annotate "line", 10
     find_lex $P20, "$xblock"
-    unless_null $P20, vivify_128
+    unless_null $P20, vivify_130
     new $P20, "ResizablePMCArray"
-  vivify_128:
+  vivify_130:
     set $P21, $P20[1]
-    unless_null $P21, vivify_129
+    unless_null $P21, vivify_131
     new $P21, "Undef"
-  vivify_129:
+  vivify_131:
     $P22 = "block_immediate"($P21)
     find_lex $P23, "$xblock"
-    unless_null $P23, vivify_130
+    unless_null $P23, vivify_132
     new $P23, "ResizablePMCArray"
     store_lex "$xblock", $P23
-  vivify_130:
+  vivify_132:
     set $P23[1], $P22
     find_lex $P24, "$xblock"
 .annotate "line", 9
@@ -15869,10 +16048,10 @@
 
 
 .namespace ["NQP";"Actions"]
-.sub "block_immediate"  :subid("13_1260829329.07487") :outer("11_1260829329.07487")
+.sub "block_immediate"  :subid("13_1261019379.40749") :outer("11_1261019379.40749")
     .param pmc param_29
 .annotate "line", 14
-    .const 'Sub' $P39 = "14_1260829329.07487" 
+    .const 'Sub' $P39 = "14_1261019379.40749" 
     capture_lex $P39
     new $P28, 'ExceptionHandler'
     set_addr $P28, control_27
@@ -15894,7 +16073,7 @@
     set $P32, $P37
   unless_33_end:
     if $P32, unless_31_end
-    .const 'Sub' $P39 = "14_1260829329.07487" 
+    .const 'Sub' $P39 = "14_1261019379.40749" 
     capture_lex $P39
     $P39()
   unless_31_end:
@@ -15910,9 +16089,9 @@
 
 
 .namespace ["NQP";"Actions"]
-.sub "_block38"  :anon :subid("14_1260829329.07487") :outer("13_1260829329.07487")
+.sub "_block38"  :anon :subid("14_1261019379.40749") :outer("13_1261019379.40749")
 .annotate "line", 16
-    .const 'Sub' $P50 = "15_1260829329.07487" 
+    .const 'Sub' $P50 = "15_1261019379.40749" 
     capture_lex $P50
 .annotate "line", 17
     new $P40, "Undef"
@@ -15925,7 +16104,7 @@
     find_lex $P45, "$block"
     $P46 = $P45."list"()
     defined $I47, $P46
-    unless $I47, for_undef_131
+    unless $I47, for_undef_133
     iter $P44, $P46
     new $P56, 'ExceptionHandler'
     set_addr $P56, loop55_handler
@@ -15935,7 +16114,7 @@
     unless $P44, loop55_done
     shift $P48, $P44
   loop55_redo:
-    .const 'Sub' $P50 = "15_1260829329.07487" 
+    .const 'Sub' $P50 = "15_1261019379.40749" 
     capture_lex $P50
     $P50($P48)
   loop55_next:
@@ -15948,7 +16127,7 @@
     eq $P57, 67, loop55_redo
   loop55_done:
     pop_eh 
-  for_undef_131:
+  for_undef_133:
 .annotate "line", 19
     find_lex $P58, "$stmts"
     store_lex "$block", $P58
@@ -15958,7 +16137,7 @@
 
 
 .namespace ["NQP";"Actions"]
-.sub "_block49"  :anon :subid("15_1260829329.07487") :outer("14_1260829329.07487")
+.sub "_block49"  :anon :subid("15_1261019379.40749") :outer("14_1261019379.40749")
     .param pmc param_51
 .annotate "line", 18
     .lex "$_", param_51
@@ -15970,7 +16149,7 @@
 
 
 .namespace ["NQP";"Actions"]
-.sub "sigiltype"  :subid("16_1260829329.07487") :outer("11_1260829329.07487")
+.sub "sigiltype"  :subid("16_1261019379.40749") :outer("11_1261019379.40749")
     .param pmc param_64
 .annotate "line", 24
     new $P63, 'ExceptionHandler'
@@ -16016,7 +16195,7 @@
 
 
 .namespace ["NQP";"Actions"]
-.sub "colonpair_str"  :subid("17_1260829329.07487") :outer("11_1260829329.07487")
+.sub "colonpair_str"  :subid("17_1261019379.40749") :outer("11_1261019379.40749")
     .param pmc param_82
 .annotate "line", 40
     new $P81, 'ExceptionHandler'
@@ -16054,7 +16233,7 @@
 
 
 .namespace ["NQP";"Actions"]
-.sub "push_block_handler"  :subid("18_1260829329.07487") :outer("11_1260829329.07487")
+.sub "push_block_handler"  :subid("18_1261019379.40749") :outer("11_1261019379.40749")
     .param pmc param_97
     .param pmc param_98
 .annotate "line", 187
@@ -16066,24 +16245,24 @@
     .lex "$block", param_98
 .annotate "line", 188
     get_global $P100, "@BLOCK"
-    unless_null $P100, vivify_132
+    unless_null $P100, vivify_134
     new $P100, "ResizablePMCArray"
-  vivify_132:
+  vivify_134:
     set $P101, $P100[0]
-    unless_null $P101, vivify_133
+    unless_null $P101, vivify_135
     new $P101, "Undef"
-  vivify_133:
+  vivify_135:
     $P102 = $P101."handlers"()
     if $P102, unless_99_end
 .annotate "line", 189
     get_global $P103, "@BLOCK"
-    unless_null $P103, vivify_134
+    unless_null $P103, vivify_136
     new $P103, "ResizablePMCArray"
-  vivify_134:
+  vivify_136:
     set $P104, $P103[0]
-    unless_null $P104, vivify_135
+    unless_null $P104, vivify_137
     new $P104, "Undef"
-  vivify_135:
+  vivify_137:
     new $P105, "ResizablePMCArray"
     $P104."handlers"($P105)
   unless_99_end:
@@ -16124,13 +16303,13 @@
     $P122."blocktype"("declaration")
 .annotate "line", 204
     get_global $P123, "@BLOCK"
-    unless_null $P123, vivify_136
+    unless_null $P123, vivify_138
     new $P123, "ResizablePMCArray"
-  vivify_136:
+  vivify_138:
     set $P124, $P123[0]
-    unless_null $P124, vivify_137
+    unless_null $P124, vivify_139
     new $P124, "Undef"
-  vivify_137:
+  vivify_139:
     $P125 = $P124."handlers"()
 .annotate "line", 205
     get_hll_global $P126, ["PAST"], "Control"
@@ -16171,7 +16350,7 @@
 
 
 .namespace ["NQP";"Actions"]
-.sub "TOP"  :subid("19_1260829329.07487") :method :outer("11_1260829329.07487")
+.sub "TOP"  :subid("19_1261019379.40749") :method :outer("11_1261019379.40749")
     .param pmc param_151
 .annotate "line", 30
     new $P150, 'ExceptionHandler'
@@ -16182,13 +16361,13 @@
     .lex "$/", param_151
     find_lex $P152, "$/"
     find_lex $P153, "$/"
-    unless_null $P153, vivify_138
+    unless_null $P153, vivify_140
     new $P153, "Hash"
-  vivify_138:
+  vivify_140:
     set $P154, $P153["comp_unit"]
-    unless_null $P154, vivify_139
+    unless_null $P154, vivify_141
     new $P154, "Undef"
-  vivify_139:
+  vivify_141:
     $P155 = $P154."ast"()
     $P156 = $P152."!make"($P155)
     .return ($P156)
@@ -16201,7 +16380,7 @@
 
 
 .namespace ["NQP";"Actions"]
-.sub "deflongname"  :subid("20_1260829329.07487") :method :outer("11_1260829329.07487")
+.sub "deflongname"  :subid("20_1261019379.40749") :method :outer("11_1261019379.40749")
     .param pmc param_161
 .annotate "line", 32
     new $P160, 'ExceptionHandler'
@@ -16214,13 +16393,13 @@
     find_lex $P162, "$/"
 .annotate "line", 34
     find_lex $P165, "$/"
-    unless_null $P165, vivify_140
+    unless_null $P165, vivify_142
     new $P165, "Hash"
-  vivify_140:
+  vivify_142:
     set $P166, $P165["colonpair"]
-    unless_null $P166, vivify_141
+    unless_null $P166, vivify_143
     new $P166, "Undef"
-  vivify_141:
+  vivify_143:
     if $P166, if_164
 .annotate "line", 36
     find_lex $P186, "$/"
@@ -16231,46 +16410,46 @@
     goto if_164_end
   if_164:
     find_lex $P167, "$/"
-    unless_null $P167, vivify_142
+    unless_null $P167, vivify_144
     new $P167, "Hash"
-  vivify_142:
+  vivify_144:
     set $P168, $P167["identifier"]
-    unless_null $P168, vivify_143
+    unless_null $P168, vivify_145
     new $P168, "Undef"
-  vivify_143:
+  vivify_145:
     set $S169, $P168
     new $P170, 'String'
     set $P170, $S169
     concat $P171, $P170, ":"
     find_lex $P172, "$/"
-    unless_null $P172, vivify_144
+    unless_null $P172, vivify_146
     new $P172, "Hash"
-  vivify_144:
+  vivify_146:
     set $P173, $P172["colonpair"]
-    unless_null $P173, vivify_145
+    unless_null $P173, vivify_147
     new $P173, "ResizablePMCArray"
-  vivify_145:
+  vivify_147:
     set $P174, $P173[0]
-    unless_null $P174, vivify_146
+    unless_null $P174, vivify_148
     new $P174, "Undef"
-  vivify_146:
+  vivify_148:
     $P175 = $P174."ast"()
     $S176 = $P175."named"()
     concat $P177, $P171, $S176
     concat $P178, $P177, "<"
 .annotate "line", 35
     find_lex $P179, "$/"
-    unless_null $P179, vivify_147
+    unless_null $P179, vivify_149
     new $P179, "Hash"
-  vivify_147:
+  vivify_149:
     set $P180, $P179["colonpair"]
-    unless_null $P180, vivify_148
+    unless_null $P180, vivify_150
     new $P180, "ResizablePMCArray"
-  vivify_148:
+  vivify_150:
     set $P181, $P180[0]
-    unless_null $P181, vivify_149
+    unless_null $P181, vivify_151
     new $P181, "Undef"
-  vivify_149:
+  vivify_151:
     $P182 = $P181."ast"()
     $S183 = "colonpair_str"($P182)
     concat $P184, $P178, $S183
@@ -16290,7 +16469,7 @@
 
 
 .namespace ["NQP";"Actions"]
-.sub "comp_unit"  :subid("21_1260829329.07487") :method :outer("11_1260829329.07487")
+.sub "comp_unit"  :subid("21_1261019379.40749") :method :outer("11_1261019379.40749")
     .param pmc param_194
 .annotate "line", 46
     new $P193, 'ExceptionHandler'
@@ -16307,13 +16486,13 @@
     .lex "$BLOCK", $P196
 .annotate "line", 47
     find_lex $P197, "$/"
-    unless_null $P197, vivify_150
+    unless_null $P197, vivify_152
     new $P197, "Hash"
-  vivify_150:
+  vivify_152:
     set $P198, $P197["statementlist"]
-    unless_null $P198, vivify_151
+    unless_null $P198, vivify_153
     new $P198, "Undef"
-  vivify_151:
+  vivify_153:
     $P199 = $P198."ast"()
     store_lex "$past", $P199
 .annotate "line", 48
@@ -16343,10 +16522,10 @@
 
 
 .namespace ["NQP";"Actions"]
-.sub "statementlist"  :subid("22_1260829329.07487") :method :outer("11_1260829329.07487")
+.sub "statementlist"  :subid("22_1261019379.40749") :method :outer("11_1261019379.40749")
     .param pmc param_213
 .annotate "line", 54
-    .const 'Sub' $P227 = "23_1260829329.07487" 
+    .const 'Sub' $P227 = "23_1261019379.40749" 
     capture_lex $P227
     new $P212, 'ExceptionHandler'
     set_addr $P212, control_211
@@ -16363,25 +16542,25 @@
     store_lex "$past", $P217
 .annotate "line", 56
     find_lex $P219, "$/"
-    unless_null $P219, vivify_152
+    unless_null $P219, vivify_154
     new $P219, "Hash"
-  vivify_152:
+  vivify_154:
     set $P220, $P219["statement"]
-    unless_null $P220, vivify_153
+    unless_null $P220, vivify_155
     new $P220, "Undef"
-  vivify_153:
+  vivify_155:
     unless $P220, if_218_end
 .annotate "line", 57
     find_lex $P222, "$/"
-    unless_null $P222, vivify_154
+    unless_null $P222, vivify_156
     new $P222, "Hash"
-  vivify_154:
+  vivify_156:
     set $P223, $P222["statement"]
-    unless_null $P223, vivify_155
+    unless_null $P223, vivify_157
     new $P223, "Undef"
-  vivify_155:
+  vivify_157:
     defined $I224, $P223
-    unless $I224, for_undef_156
+    unless $I224, for_undef_158
     iter $P221, $P223
     new $P253, 'ExceptionHandler'
     set_addr $P253, loop252_handler
@@ -16391,7 +16570,7 @@
     unless $P221, loop252_done
     shift $P225, $P221
   loop252_redo:
-    .const 'Sub' $P227 = "23_1260829329.07487" 
+    .const 'Sub' $P227 = "23_1261019379.40749" 
     capture_lex $P227
     $P227($P225)
   loop252_next:
@@ -16404,7 +16583,7 @@
     eq $P254, 67, loop252_redo
   loop252_done:
     pop_eh 
-  for_undef_156:
+  for_undef_158:
   if_218_end:
 .annotate "line", 66
     find_lex $P255, "$/"
@@ -16421,7 +16600,7 @@
 
 
 .namespace ["NQP";"Actions"]
-.sub "_block226"  :anon :subid("23_1260829329.07487") :outer("22_1260829329.07487")
+.sub "_block226"  :anon :subid("23_1261019379.40749") :outer("22_1261019379.40749")
     .param pmc param_229
 .annotate "line", 58
     new $P228, "Undef"
@@ -16432,23 +16611,23 @@
     store_lex "$ast", $P231
 .annotate "line", 59
     find_lex $P233, "$ast"
-    unless_null $P233, vivify_157
+    unless_null $P233, vivify_159
     new $P233, "Hash"
-  vivify_157:
+  vivify_159:
     set $P234, $P233["sink"]
-    unless_null $P234, vivify_158
+    unless_null $P234, vivify_160
     new $P234, "Undef"
-  vivify_158:
+  vivify_160:
     defined $I235, $P234
     unless $I235, if_232_end
     find_lex $P236, "$ast"
-    unless_null $P236, vivify_159
+    unless_null $P236, vivify_161
     new $P236, "Hash"
-  vivify_159:
+  vivify_161:
     set $P237, $P236["sink"]
-    unless_null $P237, vivify_160
+    unless_null $P237, vivify_162
     new $P237, "Undef"
-  vivify_160:
+  vivify_162:
     store_lex "$ast", $P237
   if_232_end:
 .annotate "line", 60
@@ -16481,12 +16660,12 @@
 
 
 .namespace ["NQP";"Actions"]
-.sub "statement"  :subid("24_1260829329.07487") :method :outer("11_1260829329.07487")
+.sub "statement"  :subid("24_1261019379.40749") :method :outer("11_1261019379.40749")
     .param pmc param_262
     .param pmc param_263 :optional
     .param int has_param_263 :opt_flag
 .annotate "line", 69
-    .const 'Sub' $P271 = "25_1260829329.07487" 
+    .const 'Sub' $P271 = "25_1261019379.40749" 
     capture_lex $P271
     new $P261, 'ExceptionHandler'
     set_addr $P261, control_260
@@ -16494,10 +16673,10 @@
     push_eh $P261
     .lex "self", self
     .lex "$/", param_262
-    if has_param_263, optparam_161
+    if has_param_263, optparam_163
     new $P264, "Undef"
     set param_263, $P264
-  optparam_161:
+  optparam_163:
     .lex "$key", param_263
 .annotate "line", 70
     new $P265, "Undef"
@@ -16506,23 +16685,23 @@
     find_lex $P266, "$past"
 .annotate "line", 71
     find_lex $P268, "$/"
-    unless_null $P268, vivify_162
+    unless_null $P268, vivify_164
     new $P268, "Hash"
-  vivify_162:
+  vivify_164:
     set $P269, $P268["EXPR"]
-    unless_null $P269, vivify_163
+    unless_null $P269, vivify_165
     new $P269, "Undef"
-  vivify_163:
+  vivify_165:
     if $P269, if_267
 .annotate "line", 82
     find_lex $P309, "$/"
-    unless_null $P309, vivify_164
+    unless_null $P309, vivify_166
     new $P309, "Hash"
-  vivify_164:
+  vivify_166:
     set $P310, $P309["statement_control"]
-    unless_null $P310, vivify_165
+    unless_null $P310, vivify_167
     new $P310, "Undef"
-  vivify_165:
+  vivify_167:
     if $P310, if_308
 .annotate "line", 83
     new $P314, "Integer"
@@ -16532,20 +16711,20 @@
   if_308:
 .annotate "line", 82
     find_lex $P311, "$/"
-    unless_null $P311, vivify_166
+    unless_null $P311, vivify_168
     new $P311, "Hash"
-  vivify_166:
+  vivify_168:
     set $P312, $P311["statement_control"]
-    unless_null $P312, vivify_167
+    unless_null $P312, vivify_169
     new $P312, "Undef"
-  vivify_167:
+  vivify_169:
     $P313 = $P312."ast"()
     store_lex "$past", $P313
   if_308_end:
     goto if_267_end
   if_267:
 .annotate "line", 71
-    .const 'Sub' $P271 = "25_1260829329.07487" 
+    .const 'Sub' $P271 = "25_1261019379.40749" 
     capture_lex $P271
     $P271()
   if_267_end:
@@ -16564,7 +16743,7 @@
 
 
 .namespace ["NQP";"Actions"]
-.sub "_block270"  :anon :subid("25_1260829329.07487") :outer("24_1260829329.07487")
+.sub "_block270"  :anon :subid("25_1261019379.40749") :outer("24_1261019379.40749")
 .annotate "line", 72
     new $P272, "Undef"
     .lex "$mc", $P272
@@ -16573,41 +16752,41 @@
     .lex "$ml", $P273
 .annotate "line", 72
     find_lex $P274, "$/"
-    unless_null $P274, vivify_168
+    unless_null $P274, vivify_170
     new $P274, "Hash"
-  vivify_168:
+  vivify_170:
     set $P275, $P274["statement_mod_cond"]
-    unless_null $P275, vivify_169
+    unless_null $P275, vivify_171
     new $P275, "ResizablePMCArray"
-  vivify_169:
+  vivify_171:
     set $P276, $P275[0]
-    unless_null $P276, vivify_170
+    unless_null $P276, vivify_172
     new $P276, "Undef"
-  vivify_170:
+  vivify_172:
     store_lex "$mc", $P276
 .annotate "line", 73
     find_lex $P277, "$/"
-    unless_null $P277, vivify_171
+    unless_null $P277, vivify_173
     new $P277, "Hash"
-  vivify_171:
+  vivify_173:
     set $P278, $P277["statement_mod_loop"]
-    unless_null $P278, vivify_172
+    unless_null $P278, vivify_174
     new $P278, "ResizablePMCArray"
-  vivify_172:
+  vivify_174:
     set $P279, $P278[0]
-    unless_null $P279, vivify_173
+    unless_null $P279, vivify_175
     new $P279, "Undef"
-  vivify_173:
+  vivify_175:
     store_lex "$ml", $P279
 .annotate "line", 74
     find_lex $P280, "$/"
-    unless_null $P280, vivify_174
+    unless_null $P280, vivify_176
     new $P280, "Hash"
-  vivify_174:
+  vivify_176:
     set $P281, $P280["EXPR"]
-    unless_null $P281, vivify_175
+    unless_null $P281, vivify_177
     new $P281, "Undef"
-  vivify_175:
+  vivify_177:
     $P282 = $P281."ast"()
     store_lex "$past", $P282
 .annotate "line", 75
@@ -16616,23 +16795,23 @@
 .annotate "line", 76
     get_hll_global $P285, ["PAST"], "Op"
     find_lex $P286, "$mc"
-    unless_null $P286, vivify_176
+    unless_null $P286, vivify_178
     new $P286, "Hash"
-  vivify_176:
+  vivify_178:
     set $P287, $P286["cond"]
-    unless_null $P287, vivify_177
+    unless_null $P287, vivify_179
     new $P287, "Undef"
-  vivify_177:
+  vivify_179:
     $P288 = $P287."ast"()
     find_lex $P289, "$past"
     find_lex $P290, "$mc"
-    unless_null $P290, vivify_178
+    unless_null $P290, vivify_180
     new $P290, "Hash"
-  vivify_178:
+  vivify_180:
     set $P291, $P290["sym"]
-    unless_null $P291, vivify_179
+    unless_null $P291, vivify_181
     new $P291, "Undef"
-  vivify_179:
+  vivify_181:
     set $S292, $P291
     find_lex $P293, "$/"
     $P294 = $P285."new"($P288, $P289, $S292 :named("pasttype"), $P293 :named("node"))
@@ -16647,23 +16826,23 @@
 .annotate "line", 79
     get_hll_global $P298, ["PAST"], "Op"
     find_lex $P299, "$ml"
-    unless_null $P299, vivify_180
+    unless_null $P299, vivify_182
     new $P299, "Hash"
-  vivify_180:
+  vivify_182:
     set $P300, $P299["cond"]
-    unless_null $P300, vivify_181
+    unless_null $P300, vivify_183
     new $P300, "Undef"
-  vivify_181:
+  vivify_183:
     $P301 = $P300."ast"()
     find_lex $P302, "$past"
     find_lex $P303, "$ml"
-    unless_null $P303, vivify_182
+    unless_null $P303, vivify_184
     new $P303, "Hash"
-  vivify_182:
+  vivify_184:
     set $P304, $P303["sym"]
-    unless_null $P304, vivify_183
+    unless_null $P304, vivify_185
     new $P304, "Undef"
-  vivify_183:
+  vivify_185:
     set $S305, $P304
     find_lex $P306, "$/"
     $P307 = $P298."new"($P301, $P302, $S305 :named("pasttype"), $P306 :named("node"))
@@ -16677,7 +16856,7 @@
 
 
 .namespace ["NQP";"Actions"]
-.sub "xblock"  :subid("26_1260829329.07487") :method :outer("11_1260829329.07487")
+.sub "xblock"  :subid("26_1261019379.40749") :method :outer("11_1261019379.40749")
     .param pmc param_322
 .annotate "line", 87
     new $P321, 'ExceptionHandler'
@@ -16690,22 +16869,22 @@
     find_lex $P323, "$/"
     get_hll_global $P324, ["PAST"], "Op"
     find_lex $P325, "$/"
-    unless_null $P325, vivify_184
+    unless_null $P325, vivify_186
     new $P325, "Hash"
-  vivify_184:
+  vivify_186:
     set $P326, $P325["EXPR"]
-    unless_null $P326, vivify_185
+    unless_null $P326, vivify_187
     new $P326, "Undef"
-  vivify_185:
+  vivify_187:
     $P327 = $P326."ast"()
     find_lex $P328, "$/"
-    unless_null $P328, vivify_186
+    unless_null $P328, vivify_188
     new $P328, "Hash"
-  vivify_186:
+  vivify_188:
     set $P329, $P328["pblock"]
-    unless_null $P329, vivify_187
+    unless_null $P329, vivify_189
     new $P329, "Undef"
-  vivify_187:
+  vivify_189:
     $P330 = $P329."ast"()
     find_lex $P331, "$/"
     $P332 = $P324."new"($P327, $P330, "if" :named("pasttype"), $P331 :named("node"))
@@ -16721,7 +16900,7 @@
 
 
 .namespace ["NQP";"Actions"]
-.sub "pblock"  :subid("27_1260829329.07487") :method :outer("11_1260829329.07487")
+.sub "pblock"  :subid("27_1261019379.40749") :method :outer("11_1261019379.40749")
     .param pmc param_338
 .annotate "line", 91
     new $P337, 'ExceptionHandler'
@@ -16733,13 +16912,13 @@
 .annotate "line", 92
     find_lex $P339, "$/"
     find_lex $P340, "$/"
-    unless_null $P340, vivify_188
+    unless_null $P340, vivify_190
     new $P340, "Hash"
-  vivify_188:
+  vivify_190:
     set $P341, $P340["blockoid"]
-    unless_null $P341, vivify_189
+    unless_null $P341, vivify_191
     new $P341, "Undef"
-  vivify_189:
+  vivify_191:
     $P342 = $P341."ast"()
     $P343 = $P339."!make"($P342)
 .annotate "line", 91
@@ -16753,7 +16932,7 @@
 
 
 .namespace ["NQP";"Actions"]
-.sub "block"  :subid("28_1260829329.07487") :method :outer("11_1260829329.07487")
+.sub "block"  :subid("28_1261019379.40749") :method :outer("11_1261019379.40749")
     .param pmc param_348
 .annotate "line", 95
     new $P347, 'ExceptionHandler'
@@ -16765,13 +16944,13 @@
 .annotate "line", 96
     find_lex $P349, "$/"
     find_lex $P350, "$/"
-    unless_null $P350, vivify_190
+    unless_null $P350, vivify_192
     new $P350, "Hash"
-  vivify_190:
+  vivify_192:
     set $P351, $P350["blockoid"]
-    unless_null $P351, vivify_191
+    unless_null $P351, vivify_193
     new $P351, "Undef"
-  vivify_191:
+  vivify_193:
     $P352 = $P351."ast"()
     $P353 = $P349."!make"($P352)
 .annotate "line", 95
@@ -16785,7 +16964,7 @@
 
 
 .namespace ["NQP";"Actions"]
-.sub "blockoid"  :subid("29_1260829329.07487") :method :outer("11_1260829329.07487")
+.sub "blockoid"  :subid("29_1261019379.40749") :method :outer("11_1261019379.40749")
     .param pmc param_358
 .annotate "line", 99
     new $P357, 'ExceptionHandler'
@@ -16802,13 +16981,13 @@
     .lex "$BLOCK", $P360
 .annotate "line", 100
     find_lex $P361, "$/"
-    unless_null $P361, vivify_192
+    unless_null $P361, vivify_194
     new $P361, "Hash"
-  vivify_192:
+  vivify_194:
     set $P362, $P361["statementlist"]
-    unless_null $P362, vivify_193
+    unless_null $P362, vivify_195
     new $P362, "Undef"
-  vivify_193:
+  vivify_195:
     $P363 = $P362."ast"()
     store_lex "$past", $P363
 .annotate "line", 101
@@ -16838,7 +17017,7 @@
 
 
 .namespace ["NQP";"Actions"]
-.sub "newpad"  :subid("30_1260829329.07487") :method :outer("11_1260829329.07487")
+.sub "newpad"  :subid("30_1261019379.40749") :method :outer("11_1261019379.40749")
     .param pmc param_377
 .annotate "line", 107
     new $P376, 'ExceptionHandler'
@@ -16849,10 +17028,10 @@
     .lex "$/", param_377
 .annotate "line", 108
     get_global $P378, "@BLOCK"
-    unless_null $P378, vivify_194
+    unless_null $P378, vivify_196
     new $P378, "ResizablePMCArray"
     set_global "@BLOCK", $P378
-  vivify_194:
+  vivify_196:
 .annotate "line", 107
     get_global $P379, "@BLOCK"
 .annotate "line", 109
@@ -16873,10 +17052,10 @@
 
 
 .namespace ["NQP";"Actions"]
-.sub "statement_control:sym<if>"  :subid("31_1260829329.07487") :method :outer("11_1260829329.07487")
+.sub "statement_control:sym<if>"  :subid("31_1261019379.40749") :method :outer("11_1261019379.40749")
     .param pmc param_390
 .annotate "line", 114
-    .const 'Sub' $P418 = "32_1260829329.07487" 
+    .const 'Sub' $P418 = "32_1261019379.40749" 
     capture_lex $P418
     new $P389, 'ExceptionHandler'
     set_addr $P389, control_388
@@ -16892,13 +17071,13 @@
     .lex "$past", $P392
 .annotate "line", 115
     find_lex $P393, "$/"
-    unless_null $P393, vivify_195
+    unless_null $P393, vivify_197
     new $P393, "Hash"
-  vivify_195:
+  vivify_197:
     set $P394, $P393["xblock"]
-    unless_null $P394, vivify_196
+    unless_null $P394, vivify_198
     new $P394, "Undef"
-  vivify_196:
+  vivify_198:
     set $N395, $P394
     new $P396, 'Float'
     set $P396, $N395
@@ -16908,44 +17087,44 @@
     find_lex $P398, "$count"
     set $I399, $P398
     find_lex $P400, "$/"
-    unless_null $P400, vivify_197
+    unless_null $P400, vivify_199
     new $P400, "Hash"
-  vivify_197:
+  vivify_199:
     set $P401, $P400["xblock"]
-    unless_null $P401, vivify_198
+    unless_null $P401, vivify_200
     new $P401, "ResizablePMCArray"
-  vivify_198:
+  vivify_200:
     set $P402, $P401[$I399]
-    unless_null $P402, vivify_199
+    unless_null $P402, vivify_201
     new $P402, "Undef"
-  vivify_199:
+  vivify_201:
     $P403 = $P402."ast"()
     $P404 = "xblock_immediate"($P403)
     store_lex "$past", $P404
 .annotate "line", 117
     find_lex $P406, "$/"
-    unless_null $P406, vivify_200
+    unless_null $P406, vivify_202
     new $P406, "Hash"
-  vivify_200:
+  vivify_202:
     set $P407, $P406["else"]
-    unless_null $P407, vivify_201
+    unless_null $P407, vivify_203
     new $P407, "Undef"
-  vivify_201:
+  vivify_203:
     unless $P407, if_405_end
 .annotate "line", 118
     find_lex $P408, "$past"
     find_lex $P409, "$/"
-    unless_null $P409, vivify_202
+    unless_null $P409, vivify_204
     new $P409, "Hash"
-  vivify_202:
+  vivify_204:
     set $P410, $P409["else"]
-    unless_null $P410, vivify_203
+    unless_null $P410, vivify_205
     new $P410, "ResizablePMCArray"
-  vivify_203:
+  vivify_205:
     set $P411, $P410[0]
-    unless_null $P411, vivify_204
+    unless_null $P411, vivify_206
     new $P411, "Undef"
-  vivify_204:
+  vivify_206:
     $P412 = $P411."ast"()
     $P413 = "block_immediate"($P412)
     $P408."push"($P413)
@@ -16961,7 +17140,7 @@
     isgt $I416, $N415, 0.0
     unless $I416, loop433_done
   loop433_redo:
-    .const 'Sub' $P418 = "32_1260829329.07487" 
+    .const 'Sub' $P418 = "32_1261019379.40749" 
     capture_lex $P418
     $P418()
   loop433_next:
@@ -16989,7 +17168,7 @@
 
 
 .namespace ["NQP";"Actions"]
-.sub "_block417"  :anon :subid("32_1260829329.07487") :outer("31_1260829329.07487")
+.sub "_block417"  :anon :subid("32_1261019379.40749") :outer("31_1261019379.40749")
 .annotate "line", 123
     new $P419, "Undef"
     .lex "$else", $P419
@@ -17004,17 +17183,17 @@
     find_lex $P423, "$count"
     set $I424, $P423
     find_lex $P425, "$/"
-    unless_null $P425, vivify_205
+    unless_null $P425, vivify_207
     new $P425, "Hash"
-  vivify_205:
+  vivify_207:
     set $P426, $P425["xblock"]
-    unless_null $P426, vivify_206
+    unless_null $P426, vivify_208
     new $P426, "ResizablePMCArray"
-  vivify_206:
+  vivify_208:
     set $P427, $P426[$I424]
-    unless_null $P427, vivify_207
+    unless_null $P427, vivify_209
     new $P427, "Undef"
-  vivify_207:
+  vivify_209:
     $P428 = $P427."ast"()
     $P429 = "xblock_immediate"($P428)
     store_lex "$past", $P429
@@ -17028,7 +17207,7 @@
 
 
 .namespace ["NQP";"Actions"]
-.sub "statement_control:sym<unless>"  :subid("33_1260829329.07487") :method :outer("11_1260829329.07487")
+.sub "statement_control:sym<unless>"  :subid("33_1261019379.40749") :method :outer("11_1261019379.40749")
     .param pmc param_443
 .annotate "line", 130
     new $P442, 'ExceptionHandler'
@@ -17041,13 +17220,13 @@
     new $P444, "Undef"
     .lex "$past", $P444
     find_lex $P445, "$/"
-    unless_null $P445, vivify_208
+    unless_null $P445, vivify_210
     new $P445, "Hash"
-  vivify_208:
+  vivify_210:
     set $P446, $P445["xblock"]
-    unless_null $P446, vivify_209
+    unless_null $P446, vivify_211
     new $P446, "Undef"
-  vivify_209:
+  vivify_211:
     $P447 = $P446."ast"()
     $P448 = "xblock_immediate"($P447)
     store_lex "$past", $P448
@@ -17069,7 +17248,7 @@
 
 
 .namespace ["NQP";"Actions"]
-.sub "statement_control:sym<while>"  :subid("34_1260829329.07487") :method :outer("11_1260829329.07487")
+.sub "statement_control:sym<while>"  :subid("34_1261019379.40749") :method :outer("11_1261019379.40749")
     .param pmc param_457
 .annotate "line", 136
     new $P456, 'ExceptionHandler'
@@ -17082,26 +17261,26 @@
     new $P458, "Undef"
     .lex "$past", $P458
     find_lex $P459, "$/"
-    unless_null $P459, vivify_210
+    unless_null $P459, vivify_212
     new $P459, "Hash"
-  vivify_210:
+  vivify_212:
     set $P460, $P459["xblock"]
-    unless_null $P460, vivify_211
+    unless_null $P460, vivify_213
     new $P460, "Undef"
-  vivify_211:
+  vivify_213:
     $P461 = $P460."ast"()
     $P462 = "xblock_immediate"($P461)
     store_lex "$past", $P462
 .annotate "line", 138
     find_lex $P463, "$past"
     find_lex $P464, "$/"
-    unless_null $P464, vivify_212
+    unless_null $P464, vivify_214
     new $P464, "Hash"
-  vivify_212:
+  vivify_214:
     set $P465, $P464["sym"]
-    unless_null $P465, vivify_213
+    unless_null $P465, vivify_215
     new $P465, "Undef"
-  vivify_213:
+  vivify_215:
     set $S466, $P465
     $P463."pasttype"($S466)
 .annotate "line", 139
@@ -17119,7 +17298,7 @@
 
 
 .namespace ["NQP";"Actions"]
-.sub "statement_control:sym<repeat>"  :subid("35_1260829329.07487") :method :outer("11_1260829329.07487")
+.sub "statement_control:sym<repeat>"  :subid("35_1261019379.40749") :method :outer("11_1261019379.40749")
     .param pmc param_474
 .annotate "line", 142
     new $P473, 'ExceptionHandler'
@@ -17138,46 +17317,46 @@
     new $P477, "String"
     assign $P477, "repeat_"
     find_lex $P478, "$/"
-    unless_null $P478, vivify_214
+    unless_null $P478, vivify_216
     new $P478, "Hash"
-  vivify_214:
+  vivify_216:
     set $P479, $P478["wu"]
-    unless_null $P479, vivify_215
+    unless_null $P479, vivify_217
     new $P479, "Undef"
-  vivify_215:
+  vivify_217:
     set $S480, $P479
     concat $P481, $P477, $S480
     store_lex "$pasttype", $P481
     find_lex $P482, "$past"
 .annotate "line", 145
     find_lex $P484, "$/"
-    unless_null $P484, vivify_216
+    unless_null $P484, vivify_218
     new $P484, "Hash"
-  vivify_216:
+  vivify_218:
     set $P485, $P484["xblock"]
-    unless_null $P485, vivify_217
+    unless_null $P485, vivify_219
     new $P485, "Undef"
-  vivify_217:
+  vivify_219:
     if $P485, if_483
 .annotate "line", 150
     get_hll_global $P492, ["PAST"], "Op"
     find_lex $P493, "$/"
-    unless_null $P493, vivify_218
+    unless_null $P493, vivify_220
     new $P493, "Hash"
-  vivify_218:
+  vivify_220:
     set $P494, $P493["EXPR"]
-    unless_null $P494, vivify_219
+    unless_null $P494, vivify_221
     new $P494, "Undef"
-  vivify_219:
+  vivify_221:
     $P495 = $P494."ast"()
     find_lex $P496, "$/"
-    unless_null $P496, vivify_220
+    unless_null $P496, vivify_222
     new $P496, "Hash"
-  vivify_220:
+  vivify_222:
     set $P497, $P496["pblock"]
-    unless_null $P497, vivify_221
+    unless_null $P497, vivify_223
     new $P497, "Undef"
-  vivify_221:
+  vivify_223:
     $P498 = $P497."ast"()
     $P499 = "block_immediate"($P498)
     find_lex $P500, "$pasttype"
@@ -17189,13 +17368,13 @@
   if_483:
 .annotate "line", 146
     find_lex $P486, "$/"
-    unless_null $P486, vivify_222
+    unless_null $P486, vivify_224
     new $P486, "Hash"
-  vivify_222:
+  vivify_224:
     set $P487, $P486["xblock"]
-    unless_null $P487, vivify_223
+    unless_null $P487, vivify_225
     new $P487, "Undef"
-  vivify_223:
+  vivify_225:
     $P488 = $P487."ast"()
     $P489 = "xblock_immediate"($P488)
     store_lex "$past", $P489
@@ -17219,7 +17398,7 @@
 
 
 .namespace ["NQP";"Actions"]
-.sub "statement_control:sym<for>"  :subid("36_1260829329.07487") :method :outer("11_1260829329.07487")
+.sub "statement_control:sym<for>"  :subid("36_1261019379.40749") :method :outer("11_1261019379.40749")
     .param pmc param_510
 .annotate "line", 156
     new $P509, 'ExceptionHandler'
@@ -17236,13 +17415,13 @@
     .lex "$block", $P512
 .annotate "line", 157
     find_lex $P513, "$/"
-    unless_null $P513, vivify_224
+    unless_null $P513, vivify_226
     new $P513, "Hash"
-  vivify_224:
+  vivify_226:
     set $P514, $P513["xblock"]
-    unless_null $P514, vivify_225
+    unless_null $P514, vivify_227
     new $P514, "Undef"
-  vivify_225:
+  vivify_227:
     $P515 = $P514."ast"()
     store_lex "$past", $P515
 .annotate "line", 158
@@ -17250,13 +17429,13 @@
     $P516."pasttype"("for")
 .annotate "line", 159
     find_lex $P517, "$past"
-    unless_null $P517, vivify_226
+    unless_null $P517, vivify_228
     new $P517, "ResizablePMCArray"
-  vivify_226:
+  vivify_228:
     set $P518, $P517[1]
-    unless_null $P518, vivify_227
+    unless_null $P518, vivify_229
     new $P518, "Undef"
-  vivify_227:
+  vivify_229:
     store_lex "$block", $P518
 .annotate "line", 160
     find_lex $P520, "$block"
@@ -17264,13 +17443,13 @@
     if $P521, unless_519_end
 .annotate "line", 161
     find_lex $P522, "$block"
-    unless_null $P522, vivify_228
+    unless_null $P522, vivify_230
     new $P522, "ResizablePMCArray"
-  vivify_228:
+  vivify_230:
     set $P523, $P522[0]
-    unless_null $P523, vivify_229
+    unless_null $P523, vivify_231
     new $P523, "Undef"
-  vivify_229:
+  vivify_231:
     get_hll_global $P524, ["PAST"], "Var"
     $P525 = $P524."new"("$_" :named("name"), "parameter" :named("scope"))
     $P523."push"($P525)
@@ -17299,7 +17478,7 @@
 
 
 .namespace ["NQP";"Actions"]
-.sub "statement_control:sym<return>"  :subid("37_1260829329.07487") :method :outer("11_1260829329.07487")
+.sub "statement_control:sym<return>"  :subid("37_1261019379.40749") :method :outer("11_1261019379.40749")
     .param pmc param_536
 .annotate "line", 169
     new $P535, 'ExceptionHandler'
@@ -17312,13 +17491,13 @@
     find_lex $P537, "$/"
     get_hll_global $P538, ["PAST"], "Op"
     find_lex $P539, "$/"
-    unless_null $P539, vivify_230
+    unless_null $P539, vivify_232
     new $P539, "Hash"
-  vivify_230:
+  vivify_232:
     set $P540, $P539["EXPR"]
-    unless_null $P540, vivify_231
+    unless_null $P540, vivify_233
     new $P540, "Undef"
-  vivify_231:
+  vivify_233:
     $P541 = $P540."ast"()
     find_lex $P542, "$/"
     $P543 = $P538."new"($P541, "return" :named("pasttype"), $P542 :named("node"))
@@ -17334,7 +17513,7 @@
 
 
 .namespace ["NQP";"Actions"]
-.sub "statement_control:sym<CATCH>"  :subid("38_1260829329.07487") :method :outer("11_1260829329.07487")
+.sub "statement_control:sym<CATCH>"  :subid("38_1261019379.40749") :method :outer("11_1261019379.40749")
     .param pmc param_549
 .annotate "line", 173
     new $P548, 'ExceptionHandler'
@@ -17347,13 +17526,13 @@
     new $P550, "Undef"
     .lex "$block", $P550
     find_lex $P551, "$/"
-    unless_null $P551, vivify_232
+    unless_null $P551, vivify_234
     new $P551, "Hash"
-  vivify_232:
+  vivify_234:
     set $P552, $P551["block"]
-    unless_null $P552, vivify_233
+    unless_null $P552, vivify_235
     new $P552, "Undef"
-  vivify_233:
+  vivify_235:
     $P553 = $P552."ast"()
     store_lex "$block", $P553
 .annotate "line", 175
@@ -17362,18 +17541,18 @@
     "push_block_handler"($P554, $P555)
 .annotate "line", 176
     get_global $P556, "@BLOCK"
-    unless_null $P556, vivify_234
+    unless_null $P556, vivify_236
     new $P556, "ResizablePMCArray"
-  vivify_234:
+  vivify_236:
     set $P557, $P556[0]
-    unless_null $P557, vivify_235
+    unless_null $P557, vivify_237
     new $P557, "Undef"
-  vivify_235:
+  vivify_237:
     $P558 = $P557."handlers"()
     set $P559, $P558[0]
-    unless_null $P559, vivify_236
+    unless_null $P559, vivify_238
     new $P559, "Undef"
-  vivify_236:
+  vivify_238:
     $P559."handle_types_except"("CONTROL")
 .annotate "line", 177
     find_lex $P560, "$/"
@@ -17392,7 +17571,7 @@
 
 
 .namespace ["NQP";"Actions"]
-.sub "statement_control:sym<CONTROL>"  :subid("39_1260829329.07487") :method :outer("11_1260829329.07487")
+.sub "statement_control:sym<CONTROL>"  :subid("39_1261019379.40749") :method :outer("11_1261019379.40749")
     .param pmc param_569
 .annotate "line", 180
     new $P568, 'ExceptionHandler'
@@ -17405,13 +17584,13 @@
     new $P570, "Undef"
     .lex "$block", $P570
     find_lex $P571, "$/"
-    unless_null $P571, vivify_237
+    unless_null $P571, vivify_239
     new $P571, "Hash"
-  vivify_237:
+  vivify_239:
     set $P572, $P571["block"]
-    unless_null $P572, vivify_238
+    unless_null $P572, vivify_240
     new $P572, "Undef"
-  vivify_238:
+  vivify_240:
     $P573 = $P572."ast"()
     store_lex "$block", $P573
 .annotate "line", 182
@@ -17420,18 +17599,18 @@
     "push_block_handler"($P574, $P575)
 .annotate "line", 183
     get_global $P576, "@BLOCK"
-    unless_null $P576, vivify_239
+    unless_null $P576, vivify_241
     new $P576, "ResizablePMCArray"
-  vivify_239:
+  vivify_241:
     set $P577, $P576[0]
-    unless_null $P577, vivify_240
+    unless_null $P577, vivify_242
     new $P577, "Undef"
-  vivify_240:
+  vivify_242:
     $P578 = $P577."handlers"()
     set $P579, $P578[0]
-    unless_null $P579, vivify_241
+    unless_null $P579, vivify_243
     new $P579, "Undef"
-  vivify_241:
+  vivify_243:
     $P579."handle_types"("CONTROL")
 .annotate "line", 184
     find_lex $P580, "$/"
@@ -17450,7 +17629,7 @@
 
 
 .namespace ["NQP";"Actions"]
-.sub "statement_prefix:sym<INIT>"  :subid("40_1260829329.07487") :method :outer("11_1260829329.07487")
+.sub "statement_prefix:sym<INIT>"  :subid("40_1261019379.40749") :method :outer("11_1261019379.40749")
     .param pmc param_590
 .annotate "line", 224
     new $P589, 'ExceptionHandler'
@@ -17461,22 +17640,22 @@
     .lex "$/", param_590
 .annotate "line", 225
     get_global $P591, "@BLOCK"
-    unless_null $P591, vivify_242
+    unless_null $P591, vivify_244
     new $P591, "ResizablePMCArray"
-  vivify_242:
+  vivify_244:
     set $P592, $P591[0]
-    unless_null $P592, vivify_243
+    unless_null $P592, vivify_245
     new $P592, "Undef"
-  vivify_243:
+  vivify_245:
     $P593 = $P592."loadinit"()
     find_lex $P594, "$/"
-    unless_null $P594, vivify_244
+    unless_null $P594, vivify_246
     new $P594, "Hash"
-  vivify_244:
+  vivify_246:
     set $P595, $P594["blorst"]
-    unless_null $P595, vivify_245
+    unless_null $P595, vivify_247
     new $P595, "Undef"
-  vivify_245:
+  vivify_247:
     $P596 = $P595."ast"()
     $P593."push"($P596)
 .annotate "line", 226
@@ -17496,7 +17675,7 @@
 
 
 .namespace ["NQP";"Actions"]
-.sub "statement_prefix:sym<try>"  :subid("41_1260829329.07487") :method :outer("11_1260829329.07487")
+.sub "statement_prefix:sym<try>"  :subid("41_1261019379.40749") :method :outer("11_1261019379.40749")
     .param pmc param_606
 .annotate "line", 229
     new $P605, 'ExceptionHandler'
@@ -17509,13 +17688,13 @@
     new $P607, "Undef"
     .lex "$past", $P607
     find_lex $P608, "$/"
-    unless_null $P608, vivify_246
+    unless_null $P608, vivify_248
     new $P608, "Hash"
-  vivify_246:
+  vivify_248:
     set $P609, $P608["blorst"]
-    unless_null $P609, vivify_247
+    unless_null $P609, vivify_249
     new $P609, "Undef"
-  vivify_247:
+  vivify_249:
     $P610 = $P609."ast"()
     store_lex "$past", $P610
 .annotate "line", 231
@@ -17573,7 +17752,7 @@
 
 
 .namespace ["NQP";"Actions"]
-.sub "blorst"  :subid("42_1260829329.07487") :method :outer("11_1260829329.07487")
+.sub "blorst"  :subid("42_1261019379.40749") :method :outer("11_1261019379.40749")
     .param pmc param_641
 .annotate "line", 252
     new $P640, 'ExceptionHandler'
@@ -17586,36 +17765,36 @@
     find_lex $P642, "$/"
 .annotate "line", 254
     find_lex $P645, "$/"
-    unless_null $P645, vivify_248
+    unless_null $P645, vivify_250
     new $P645, "Hash"
-  vivify_248:
+  vivify_250:
     set $P646, $P645["block"]
-    unless_null $P646, vivify_249
+    unless_null $P646, vivify_251
     new $P646, "Undef"
-  vivify_249:
+  vivify_251:
     if $P646, if_644
 .annotate "line", 255
     find_lex $P651, "$/"
-    unless_null $P651, vivify_250
+    unless_null $P651, vivify_252
     new $P651, "Hash"
-  vivify_250:
+  vivify_252:
     set $P652, $P651["statement"]
-    unless_null $P652, vivify_251
+    unless_null $P652, vivify_253
     new $P652, "Undef"
-  vivify_251:
+  vivify_253:
     $P653 = $P652."ast"()
     set $P643, $P653
 .annotate "line", 254
     goto if_644_end
   if_644:
     find_lex $P647, "$/"
-    unless_null $P647, vivify_252
+    unless_null $P647, vivify_254
     new $P647, "Hash"
-  vivify_252:
+  vivify_254:
     set $P648, $P647["block"]
-    unless_null $P648, vivify_253
+    unless_null $P648, vivify_255
     new $P648, "Undef"
-  vivify_253:
+  vivify_255:
     $P649 = $P648."ast"()
     $P650 = "block_immediate"($P649)
     set $P643, $P650
@@ -17632,7 +17811,7 @@
 
 
 .namespace ["NQP";"Actions"]
-.sub "statement_mod_cond:sym<if>"  :subid("43_1260829329.07487") :method :outer("11_1260829329.07487")
+.sub "statement_mod_cond:sym<if>"  :subid("43_1261019379.40749") :method :outer("11_1261019379.40749")
     .param pmc param_659
 .annotate "line", 260
     new $P658, 'ExceptionHandler'
@@ -17643,13 +17822,13 @@
     .lex "$/", param_659
     find_lex $P660, "$/"
     find_lex $P661, "$/"
-    unless_null $P661, vivify_254
+    unless_null $P661, vivify_256
     new $P661, "Hash"
-  vivify_254:
+  vivify_256:
     set $P662, $P661["cond"]
-    unless_null $P662, vivify_255
+    unless_null $P662, vivify_257
     new $P662, "Undef"
-  vivify_255:
+  vivify_257:
     $P663 = $P662."ast"()
     $P664 = $P660."!make"($P663)
     .return ($P664)
@@ -17662,7 +17841,7 @@
 
 
 .namespace ["NQP";"Actions"]
-.sub "statement_mod_cond:sym<unless>"  :subid("44_1260829329.07487") :method :outer("11_1260829329.07487")
+.sub "statement_mod_cond:sym<unless>"  :subid("44_1261019379.40749") :method :outer("11_1261019379.40749")
     .param pmc param_669
 .annotate "line", 261
     new $P668, 'ExceptionHandler'
@@ -17673,13 +17852,13 @@
     .lex "$/", param_669
     find_lex $P670, "$/"
     find_lex $P671, "$/"
-    unless_null $P671, vivify_256
+    unless_null $P671, vivify_258
     new $P671, "Hash"
-  vivify_256:
+  vivify_258:
     set $P672, $P671["cond"]
-    unless_null $P672, vivify_257
+    unless_null $P672, vivify_259
     new $P672, "Undef"
-  vivify_257:
+  vivify_259:
     $P673 = $P672."ast"()
     $P674 = $P670."!make"($P673)
     .return ($P674)
@@ -17692,7 +17871,7 @@
 
 
 .namespace ["NQP";"Actions"]
-.sub "statement_mod_loop:sym<while>"  :subid("45_1260829329.07487") :method :outer("11_1260829329.07487")
+.sub "statement_mod_loop:sym<while>"  :subid("45_1261019379.40749") :method :outer("11_1261019379.40749")
     .param pmc param_679
 .annotate "line", 263
     new $P678, 'ExceptionHandler'
@@ -17703,13 +17882,13 @@
     .lex "$/", param_679
     find_lex $P680, "$/"
     find_lex $P681, "$/"
-    unless_null $P681, vivify_258
+    unless_null $P681, vivify_260
     new $P681, "Hash"
-  vivify_258:
+  vivify_260:
     set $P682, $P681["cond"]
-    unless_null $P682, vivify_259
+    unless_null $P682, vivify_261
     new $P682, "Undef"
-  vivify_259:
+  vivify_261:
     $P683 = $P682."ast"()
     $P684 = $P680."!make"($P683)
     .return ($P684)
@@ -17722,7 +17901,7 @@
 
 
 .namespace ["NQP";"Actions"]
-.sub "statement_mod_loop:sym<until>"  :subid("46_1260829329.07487") :method :outer("11_1260829329.07487")
+.sub "statement_mod_loop:sym<until>"  :subid("46_1261019379.40749") :method :outer("11_1261019379.40749")
     .param pmc param_689
 .annotate "line", 264
     new $P688, 'ExceptionHandler'
@@ -17733,13 +17912,13 @@
     .lex "$/", param_689
     find_lex $P690, "$/"
     find_lex $P691, "$/"
-    unless_null $P691, vivify_260
+    unless_null $P691, vivify_262
     new $P691, "Hash"
-  vivify_260:
+  vivify_262:
     set $P692, $P691["cond"]
-    unless_null $P692, vivify_261
+    unless_null $P692, vivify_263
     new $P692, "Undef"
-  vivify_261:
+  vivify_263:
     $P693 = $P692."ast"()
     $P694 = $P690."!make"($P693)
     .return ($P694)
@@ -17752,7 +17931,7 @@
 
 
 .namespace ["NQP";"Actions"]
-.sub "term:sym<colonpair>"  :subid("47_1260829329.07487") :method :outer("11_1260829329.07487")
+.sub "term:sym<fatarrow>"  :subid("47_1261019379.40749") :method :outer("11_1261019379.40749")
     .param pmc param_699
 .annotate "line", 268
     new $P698, 'ExceptionHandler'
@@ -17763,13 +17942,13 @@
     .lex "$/", param_699
     find_lex $P700, "$/"
     find_lex $P701, "$/"
-    unless_null $P701, vivify_262
+    unless_null $P701, vivify_264
     new $P701, "Hash"
-  vivify_262:
-    set $P702, $P701["colonpair"]
-    unless_null $P702, vivify_263
+  vivify_264:
+    set $P702, $P701["fatarrow"]
+    unless_null $P702, vivify_265
     new $P702, "Undef"
-  vivify_263:
+  vivify_265:
     $P703 = $P702."ast"()
     $P704 = $P700."!make"($P703)
     .return ($P704)
@@ -17782,7 +17961,7 @@
 
 
 .namespace ["NQP";"Actions"]
-.sub "term:sym<variable>"  :subid("48_1260829329.07487") :method :outer("11_1260829329.07487")
+.sub "term:sym<colonpair>"  :subid("48_1261019379.40749") :method :outer("11_1261019379.40749")
     .param pmc param_709
 .annotate "line", 269
     new $P708, 'ExceptionHandler'
@@ -17793,13 +17972,13 @@
     .lex "$/", param_709
     find_lex $P710, "$/"
     find_lex $P711, "$/"
-    unless_null $P711, vivify_264
+    unless_null $P711, vivify_266
     new $P711, "Hash"
-  vivify_264:
-    set $P712, $P711["variable"]
-    unless_null $P712, vivify_265
+  vivify_266:
+    set $P712, $P711["colonpair"]
+    unless_null $P712, vivify_267
     new $P712, "Undef"
-  vivify_265:
+  vivify_267:
     $P713 = $P712."ast"()
     $P714 = $P710."!make"($P713)
     .return ($P714)
@@ -17812,7 +17991,7 @@
 
 
 .namespace ["NQP";"Actions"]
-.sub "term:sym<package_declarator>"  :subid("49_1260829329.07487") :method :outer("11_1260829329.07487")
+.sub "term:sym<variable>"  :subid("49_1261019379.40749") :method :outer("11_1261019379.40749")
     .param pmc param_719
 .annotate "line", 270
     new $P718, 'ExceptionHandler'
@@ -17823,13 +18002,13 @@
     .lex "$/", param_719
     find_lex $P720, "$/"
     find_lex $P721, "$/"
-    unless_null $P721, vivify_266
+    unless_null $P721, vivify_268
     new $P721, "Hash"
-  vivify_266:
-    set $P722, $P721["package_declarator"]
-    unless_null $P722, vivify_267
+  vivify_268:
+    set $P722, $P721["variable"]
+    unless_null $P722, vivify_269
     new $P722, "Undef"
-  vivify_267:
+  vivify_269:
     $P723 = $P722."ast"()
     $P724 = $P720."!make"($P723)
     .return ($P724)
@@ -17842,7 +18021,7 @@
 
 
 .namespace ["NQP";"Actions"]
-.sub "term:sym<scope_declarator>"  :subid("50_1260829329.07487") :method :outer("11_1260829329.07487")
+.sub "term:sym<package_declarator>"  :subid("50_1261019379.40749") :method :outer("11_1261019379.40749")
     .param pmc param_729
 .annotate "line", 271
     new $P728, 'ExceptionHandler'
@@ -17853,13 +18032,13 @@
     .lex "$/", param_729
     find_lex $P730, "$/"
     find_lex $P731, "$/"
-    unless_null $P731, vivify_268
+    unless_null $P731, vivify_270
     new $P731, "Hash"
-  vivify_268:
-    set $P732, $P731["scope_declarator"]
-    unless_null $P732, vivify_269
+  vivify_270:
+    set $P732, $P731["package_declarator"]
+    unless_null $P732, vivify_271
     new $P732, "Undef"
-  vivify_269:
+  vivify_271:
     $P733 = $P732."ast"()
     $P734 = $P730."!make"($P733)
     .return ($P734)
@@ -17872,7 +18051,7 @@
 
 
 .namespace ["NQP";"Actions"]
-.sub "term:sym<routine_declarator>"  :subid("51_1260829329.07487") :method :outer("11_1260829329.07487")
+.sub "term:sym<scope_declarator>"  :subid("51_1261019379.40749") :method :outer("11_1261019379.40749")
     .param pmc param_739
 .annotate "line", 272
     new $P738, 'ExceptionHandler'
@@ -17883,13 +18062,13 @@
     .lex "$/", param_739
     find_lex $P740, "$/"
     find_lex $P741, "$/"
-    unless_null $P741, vivify_270
+    unless_null $P741, vivify_272
     new $P741, "Hash"
-  vivify_270:
-    set $P742, $P741["routine_declarator"]
-    unless_null $P742, vivify_271
+  vivify_272:
+    set $P742, $P741["scope_declarator"]
+    unless_null $P742, vivify_273
     new $P742, "Undef"
-  vivify_271:
+  vivify_273:
     $P743 = $P742."ast"()
     $P744 = $P740."!make"($P743)
     .return ($P744)
@@ -17902,7 +18081,7 @@
 
 
 .namespace ["NQP";"Actions"]
-.sub "term:sym<regex_declarator>"  :subid("52_1260829329.07487") :method :outer("11_1260829329.07487")
+.sub "term:sym<routine_declarator>"  :subid("52_1261019379.40749") :method :outer("11_1261019379.40749")
     .param pmc param_749
 .annotate "line", 273
     new $P748, 'ExceptionHandler'
@@ -17913,13 +18092,13 @@
     .lex "$/", param_749
     find_lex $P750, "$/"
     find_lex $P751, "$/"
-    unless_null $P751, vivify_272
+    unless_null $P751, vivify_274
     new $P751, "Hash"
-  vivify_272:
-    set $P752, $P751["regex_declarator"]
-    unless_null $P752, vivify_273
+  vivify_274:
+    set $P752, $P751["routine_declarator"]
+    unless_null $P752, vivify_275
     new $P752, "Undef"
-  vivify_273:
+  vivify_275:
     $P753 = $P752."ast"()
     $P754 = $P750."!make"($P753)
     .return ($P754)
@@ -17932,7 +18111,7 @@
 
 
 .namespace ["NQP";"Actions"]
-.sub "term:sym<statement_prefix>"  :subid("53_1260829329.07487") :method :outer("11_1260829329.07487")
+.sub "term:sym<regex_declarator>"  :subid("53_1261019379.40749") :method :outer("11_1261019379.40749")
     .param pmc param_759
 .annotate "line", 274
     new $P758, 'ExceptionHandler'
@@ -17943,13 +18122,13 @@
     .lex "$/", param_759
     find_lex $P760, "$/"
     find_lex $P761, "$/"
-    unless_null $P761, vivify_274
+    unless_null $P761, vivify_276
     new $P761, "Hash"
-  vivify_274:
-    set $P762, $P761["statement_prefix"]
-    unless_null $P762, vivify_275
+  vivify_276:
+    set $P762, $P761["regex_declarator"]
+    unless_null $P762, vivify_277
     new $P762, "Undef"
-  vivify_275:
+  vivify_277:
     $P763 = $P762."ast"()
     $P764 = $P760."!make"($P763)
     .return ($P764)
@@ -17962,7 +18141,7 @@
 
 
 .namespace ["NQP";"Actions"]
-.sub "term:sym<lambda>"  :subid("54_1260829329.07487") :method :outer("11_1260829329.07487")
+.sub "term:sym<statement_prefix>"  :subid("54_1261019379.40749") :method :outer("11_1261019379.40749")
     .param pmc param_769
 .annotate "line", 275
     new $P768, 'ExceptionHandler'
@@ -17973,13 +18152,13 @@
     .lex "$/", param_769
     find_lex $P770, "$/"
     find_lex $P771, "$/"
-    unless_null $P771, vivify_276
+    unless_null $P771, vivify_278
     new $P771, "Hash"
-  vivify_276:
-    set $P772, $P771["pblock"]
-    unless_null $P772, vivify_277
+  vivify_278:
+    set $P772, $P771["statement_prefix"]
+    unless_null $P772, vivify_279
     new $P772, "Undef"
-  vivify_277:
+  vivify_279:
     $P773 = $P772."ast"()
     $P774 = $P770."!make"($P773)
     .return ($P774)
@@ -17992,79 +18171,77 @@
 
 
 .namespace ["NQP";"Actions"]
-.sub "colonpair"  :subid("55_1260829329.07487") :method :outer("11_1260829329.07487")
+.sub "term:sym<lambda>"  :subid("55_1261019379.40749") :method :outer("11_1261019379.40749")
     .param pmc param_779
-.annotate "line", 277
+.annotate "line", 276
     new $P778, 'ExceptionHandler'
     set_addr $P778, control_777
     $P778."handle_types"(58)
     push_eh $P778
     .lex "self", self
     .lex "$/", param_779
-.annotate "line", 278
-    new $P780, "Undef"
-    .lex "$past", $P780
-.annotate "line", 279
-    find_lex $P783, "$/"
-    unless_null $P783, vivify_278
-    new $P783, "Hash"
-  vivify_278:
-    set $P784, $P783["circumfix"]
-    unless_null $P784, vivify_279
-    new $P784, "Undef"
-  vivify_279:
-    if $P784, if_782
-.annotate "line", 280
-    get_hll_global $P789, ["PAST"], "Val"
-    find_lex $P790, "$/"
-    unless_null $P790, vivify_280
-    new $P790, "Hash"
+    find_lex $P780, "$/"
+    find_lex $P781, "$/"
+    unless_null $P781, vivify_280
+    new $P781, "Hash"
   vivify_280:
-    set $P791, $P790["not"]
-    unless_null $P791, vivify_281
-    new $P791, "Undef"
+    set $P782, $P781["pblock"]
+    unless_null $P782, vivify_281
+    new $P782, "Undef"
   vivify_281:
-    isfalse $I792, $P791
-    $P793 = $P789."new"($I792 :named("value"))
-    set $P781, $P793
+    $P783 = $P782."ast"()
+    $P784 = $P780."!make"($P783)
+    .return ($P784)
+  control_777:
+    .local pmc exception 
+    .get_results (exception) 
+    getattribute $P785, exception, "payload"
+    .return ($P785)
+.end
+
+
+.namespace ["NQP";"Actions"]
+.sub "fatarrow"  :subid("56_1261019379.40749") :method :outer("11_1261019379.40749")
+    .param pmc param_789
+.annotate "line", 278
+    new $P788, 'ExceptionHandler'
+    set_addr $P788, control_787
+    $P788."handle_types"(58)
+    push_eh $P788
+    .lex "self", self
+    .lex "$/", param_789
 .annotate "line", 279
-    goto if_782_end
-  if_782:
-    find_lex $P785, "$/"
-    unless_null $P785, vivify_282
-    new $P785, "Hash"
+    new $P790, "Undef"
+    .lex "$past", $P790
+    find_lex $P791, "$/"
+    unless_null $P791, vivify_282
+    new $P791, "Hash"
   vivify_282:
-    set $P786, $P785["circumfix"]
-    unless_null $P786, vivify_283
-    new $P786, "ResizablePMCArray"
+    set $P792, $P791["val"]
+    unless_null $P792, vivify_283
+    new $P792, "Undef"
   vivify_283:
-    set $P787, $P786[0]
-    unless_null $P787, vivify_284
-    new $P787, "Undef"
-  vivify_284:
-    $P788 = $P787."ast"()
-    set $P781, $P788
-  if_782_end:
-    store_lex "$past", $P781
-.annotate "line", 281
+    $P793 = $P792."ast"()
+    store_lex "$past", $P793
+.annotate "line", 280
     find_lex $P794, "$past"
     find_lex $P795, "$/"
-    unless_null $P795, vivify_285
+    unless_null $P795, vivify_284
     new $P795, "Hash"
-  vivify_285:
-    set $P796, $P795["identifier"]
-    unless_null $P796, vivify_286
+  vivify_284:
+    set $P796, $P795["key"]
+    unless_null $P796, vivify_285
     new $P796, "Undef"
-  vivify_286:
-    set $S797, $P796
-    $P794."named"($S797)
-.annotate "line", 282
+  vivify_285:
+    $P797 = $P796."Str"()
+    $P794."named"($P797)
+.annotate "line", 281
     find_lex $P798, "$/"
     find_lex $P799, "$past"
     $P800 = $P798."!make"($P799)
-.annotate "line", 277
+.annotate "line", 278
     .return ($P800)
-  control_777:
+  control_787:
     .local pmc exception 
     .get_results (exception) 
     getattribute $P801, exception, "payload"
@@ -18073,3744 +18250,3741 @@
 
 
 .namespace ["NQP";"Actions"]
-.sub "variable"  :subid("56_1260829329.07487") :method :outer("11_1260829329.07487")
+.sub "colonpair"  :subid("57_1261019379.40749") :method :outer("11_1261019379.40749")
     .param pmc param_805
-.annotate "line", 285
-    .const 'Sub' $P818 = "57_1260829329.07487" 
-    capture_lex $P818
+.annotate "line", 284
     new $P804, 'ExceptionHandler'
     set_addr $P804, control_803
     $P804."handle_types"(58)
     push_eh $P804
     .lex "self", self
     .lex "$/", param_805
-.annotate "line", 286
+.annotate "line", 285
     new $P806, "Undef"
     .lex "$past", $P806
-.annotate "line", 285
-    find_lex $P807, "$past"
-.annotate "line", 287
+.annotate "line", 286
     find_lex $P809, "$/"
-    unless_null $P809, vivify_287
+    unless_null $P809, vivify_286
     new $P809, "Hash"
-  vivify_287:
-    set $P810, $P809["postcircumfix"]
-    unless_null $P810, vivify_288
+  vivify_286:
+    set $P810, $P809["circumfix"]
+    unless_null $P810, vivify_287
     new $P810, "Undef"
-  vivify_288:
+  vivify_287:
     if $P810, if_808
-.annotate "line", 291
-    .const 'Sub' $P818 = "57_1260829329.07487" 
-    capture_lex $P818
-    $P818()
+.annotate "line", 287
+    get_hll_global $P815, ["PAST"], "Val"
+    find_lex $P816, "$/"
+    unless_null $P816, vivify_288
+    new $P816, "Hash"
+  vivify_288:
+    set $P817, $P816["not"]
+    unless_null $P817, vivify_289
+    new $P817, "Undef"
+  vivify_289:
+    isfalse $I818, $P817
+    $P819 = $P815."new"($I818 :named("value"))
+    set $P807, $P819
+.annotate "line", 286
     goto if_808_end
   if_808:
-.annotate "line", 288
     find_lex $P811, "$/"
-    unless_null $P811, vivify_305
+    unless_null $P811, vivify_290
     new $P811, "Hash"
-  vivify_305:
-    set $P812, $P811["postcircumfix"]
-    unless_null $P812, vivify_306
-    new $P812, "Undef"
-  vivify_306:
-    $P813 = $P812."ast"()
-    store_lex "$past", $P813
-.annotate "line", 289
-    find_lex $P814, "$past"
-    get_hll_global $P815, ["PAST"], "Var"
-    $P816 = $P815."new"("$/" :named("name"))
-    $P814."unshift"($P816)
+  vivify_290:
+    set $P812, $P811["circumfix"]
+    unless_null $P812, vivify_291
+    new $P812, "ResizablePMCArray"
+  vivify_291:
+    set $P813, $P812[0]
+    unless_null $P813, vivify_292
+    new $P813, "Undef"
+  vivify_292:
+    $P814 = $P813."ast"()
+    set $P807, $P814
   if_808_end:
-.annotate "line", 320
-    find_lex $P887, "$/"
-    find_lex $P888, "$past"
-    $P889 = $P887."!make"($P888)
-.annotate "line", 285
-    .return ($P889)
+    store_lex "$past", $P807
+.annotate "line", 288
+    find_lex $P820, "$past"
+    find_lex $P821, "$/"
+    unless_null $P821, vivify_293
+    new $P821, "Hash"
+  vivify_293:
+    set $P822, $P821["identifier"]
+    unless_null $P822, vivify_294
+    new $P822, "Undef"
+  vivify_294:
+    set $S823, $P822
+    $P820."named"($S823)
+.annotate "line", 289
+    find_lex $P824, "$/"
+    find_lex $P825, "$past"
+    $P826 = $P824."!make"($P825)
+.annotate "line", 284
+    .return ($P826)
   control_803:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P890, exception, "payload"
-    .return ($P890)
+    getattribute $P827, exception, "payload"
+    .return ($P827)
 .end
 
 
 .namespace ["NQP";"Actions"]
-.sub "_block817"  :anon :subid("57_1260829329.07487") :outer("56_1260829329.07487")
+.sub "variable"  :subid("58_1261019379.40749") :method :outer("11_1261019379.40749")
+    .param pmc param_831
 .annotate "line", 292
-    new $P819, "ResizablePMCArray"
-    .lex "@name", $P819
-    get_hll_global $P820, ["NQP"], "Compiler"
-    find_lex $P821, "$/"
-    set $S822, $P821
-    $P823 = $P820."parse_name"($S822)
-    store_lex "@name", $P823
+    .const 'Sub' $P844 = "59_1261019379.40749" 
+    capture_lex $P844
+    new $P830, 'ExceptionHandler'
+    set_addr $P830, control_829
+    $P830."handle_types"(58)
+    push_eh $P830
+    .lex "self", self
+    .lex "$/", param_831
 .annotate "line", 293
-    get_hll_global $P824, ["PAST"], "Var"
-    find_lex $P825, "@name"
-    $P826 = $P825."pop"()
-    set $S827, $P826
-    $P828 = $P824."new"($S827 :named("name"))
-    store_lex "$past", $P828
+    new $P832, "Undef"
+    .lex "$past", $P832
+.annotate "line", 292
+    find_lex $P833, "$past"
 .annotate "line", 294
-    find_lex $P830, "@name"
-    unless $P830, if_829_end
+    find_lex $P835, "$/"
+    unless_null $P835, vivify_295
+    new $P835, "Hash"
+  vivify_295:
+    set $P836, $P835["postcircumfix"]
+    unless_null $P836, vivify_296
+    new $P836, "Undef"
+  vivify_296:
+    if $P836, if_834
+.annotate "line", 298
+    .const 'Sub' $P844 = "59_1261019379.40749" 
+    capture_lex $P844
+    $P844()
+    goto if_834_end
+  if_834:
 .annotate "line", 295
-    find_lex $P832, "@name"
-    unless_null $P832, vivify_289
-    new $P832, "ResizablePMCArray"
-  vivify_289:
-    set $P833, $P832[0]
-    unless_null $P833, vivify_290
-    new $P833, "Undef"
-  vivify_290:
-    set $S834, $P833
-    iseq $I835, $S834, "GLOBAL"
-    unless $I835, if_831_end
-    find_lex $P836, "@name"
-    $P836."shift"()
-  if_831_end:
+    find_lex $P837, "$/"
+    unless_null $P837, vivify_313
+    new $P837, "Hash"
+  vivify_313:
+    set $P838, $P837["postcircumfix"]
+    unless_null $P838, vivify_314
+    new $P838, "Undef"
+  vivify_314:
+    $P839 = $P838."ast"()
+    store_lex "$past", $P839
 .annotate "line", 296
-    find_lex $P837, "$past"
-    find_lex $P838, "@name"
-    $P837."namespace"($P838)
-.annotate "line", 297
-    find_lex $P839, "$past"
-    $P839."scope"("package")
-.annotate "line", 298
     find_lex $P840, "$past"
-    find_lex $P841, "$/"
-    unless_null $P841, vivify_291
-    new $P841, "Hash"
-  vivify_291:
-    set $P842, $P841["sigil"]
-    unless_null $P842, vivify_292
-    new $P842, "Undef"
-  vivify_292:
-    $P843 = "sigiltype"($P842)
-    $P840."viviself"($P843)
+    get_hll_global $P841, ["PAST"], "Var"
+    $P842 = $P841."new"("$/" :named("name"))
+    $P840."unshift"($P842)
+  if_834_end:
+.annotate "line", 327
+    find_lex $P913, "$/"
+    find_lex $P914, "$past"
+    $P915 = $P913."!make"($P914)
+.annotate "line", 292
+    .return ($P915)
+  control_829:
+    .local pmc exception 
+    .get_results (exception) 
+    getattribute $P916, exception, "payload"
+    .return ($P916)
+.end
+
+
+.namespace ["NQP";"Actions"]
+.sub "_block843"  :anon :subid("59_1261019379.40749") :outer("58_1261019379.40749")
 .annotate "line", 299
-    find_lex $P844, "$past"
-    $P844."lvalue"(1)
-  if_829_end:
-.annotate "line", 301
+    new $P845, "ResizablePMCArray"
+    .lex "@name", $P845
+    get_hll_global $P846, ["NQP"], "Compiler"
     find_lex $P847, "$/"
-    unless_null $P847, vivify_293
-    new $P847, "Hash"
-  vivify_293:
-    set $P848, $P847["twigil"]
-    unless_null $P848, vivify_294
-    new $P848, "ResizablePMCArray"
-  vivify_294:
-    set $P849, $P848[0]
-    unless_null $P849, vivify_295
-    new $P849, "Undef"
-  vivify_295:
-    set $S850, $P849
-    iseq $I851, $S850, "*"
-    if $I851, if_846
-.annotate "line", 314
-    find_lex $P873, "$/"
-    unless_null $P873, vivify_296
-    new $P873, "Hash"
-  vivify_296:
-    set $P874, $P873["twigil"]
-    unless_null $P874, vivify_297
-    new $P874, "ResizablePMCArray"
-  vivify_297:
-    set $P875, $P874[0]
-    unless_null $P875, vivify_298
-    new $P875, "Undef"
-  vivify_298:
-    set $S876, $P875
-    iseq $I877, $S876, "!"
-    if $I877, if_872
-    new $P871, 'Integer'
-    set $P871, $I877
-    goto if_872_end
-  if_872:
-.annotate "line", 315
-    find_lex $P878, "$past"
-    get_hll_global $P879, ["PAST"], "Var"
-    $P880 = $P879."new"("self" :named("name"))
-    $P878."push"($P880)
-.annotate "line", 316
-    find_lex $P881, "$past"
-    $P881."scope"("attribute")
-.annotate "line", 317
-    find_lex $P882, "$past"
-    find_lex $P883, "$/"
-    unless_null $P883, vivify_299
-    new $P883, "Hash"
-  vivify_299:
-    set $P884, $P883["sigil"]
-    unless_null $P884, vivify_300
-    new $P884, "Undef"
-  vivify_300:
-    $P885 = "sigiltype"($P884)
-    $P886 = $P882."viviself"($P885)
-.annotate "line", 314
-    set $P871, $P886
-  if_872_end:
-    set $P845, $P871
+    set $S848, $P847
+    $P849 = $P846."parse_name"($S848)
+    store_lex "@name", $P849
+.annotate "line", 300
+    get_hll_global $P850, ["PAST"], "Var"
+    find_lex $P851, "@name"
+    $P852 = $P851."pop"()
+    set $S853, $P852
+    $P854 = $P850."new"($S853 :named("name"))
+    store_lex "$past", $P854
 .annotate "line", 301
-    goto if_846_end
-  if_846:
+    find_lex $P856, "@name"
+    unless $P856, if_855_end
 .annotate "line", 302
-    find_lex $P852, "$past"
-    $P852."scope"("contextual")
+    find_lex $P858, "@name"
+    unless_null $P858, vivify_297
+    new $P858, "ResizablePMCArray"
+  vivify_297:
+    set $P859, $P858[0]
+    unless_null $P859, vivify_298
+    new $P859, "Undef"
+  vivify_298:
+    set $S860, $P859
+    iseq $I861, $S860, "GLOBAL"
+    unless $I861, if_857_end
+    find_lex $P862, "@name"
+    $P862."shift"()
+  if_857_end:
 .annotate "line", 303
-    find_lex $P853, "$past"
+    find_lex $P863, "$past"
+    find_lex $P864, "@name"
+    $P863."namespace"($P864)
 .annotate "line", 304
-    get_hll_global $P854, ["PAST"], "Var"
+    find_lex $P865, "$past"
+    $P865."scope"("package")
+.annotate "line", 305
+    find_lex $P866, "$past"
+    find_lex $P867, "$/"
+    unless_null $P867, vivify_299
+    new $P867, "Hash"
+  vivify_299:
+    set $P868, $P867["sigil"]
+    unless_null $P868, vivify_300
+    new $P868, "Undef"
+  vivify_300:
+    $P869 = "sigiltype"($P868)
+    $P866."viviself"($P869)
 .annotate "line", 306
-    find_lex $P855, "$/"
-    unless_null $P855, vivify_301
-    new $P855, "Hash"
+    find_lex $P870, "$past"
+    $P870."lvalue"(1)
+  if_855_end:
+.annotate "line", 308
+    find_lex $P873, "$/"
+    unless_null $P873, vivify_301
+    new $P873, "Hash"
   vivify_301:
-    set $P856, $P855["sigil"]
-    unless_null $P856, vivify_302
-    new $P856, "Undef"
+    set $P874, $P873["twigil"]
+    unless_null $P874, vivify_302
+    new $P874, "ResizablePMCArray"
   vivify_302:
-    set $S857, $P856
-    new $P858, 'String'
-    set $P858, $S857
-    find_lex $P859, "$/"
-    unless_null $P859, vivify_303
-    new $P859, "Hash"
+    set $P875, $P874[0]
+    unless_null $P875, vivify_303
+    new $P875, "Undef"
   vivify_303:
-    set $P860, $P859["desigilname"]
-    unless_null $P860, vivify_304
-    new $P860, "Undef"
+    set $S876, $P875
+    iseq $I877, $S876, "*"
+    if $I877, if_872
+.annotate "line", 321
+    find_lex $P899, "$/"
+    unless_null $P899, vivify_304
+    new $P899, "Hash"
   vivify_304:
-    concat $P861, $P858, $P860
-.annotate "line", 308
-    get_hll_global $P862, ["PAST"], "Op"
-    new $P863, "String"
-    assign $P863, "Contextual "
-    find_lex $P864, "$/"
-    set $S865, $P864
-    concat $P866, $P863, $S865
-    concat $P867, $P866, " not found"
-    $P868 = $P862."new"($P867, "die" :named("pirop"))
-    $P869 = $P854."new"("package" :named("scope"), "" :named("namespace"), $P861 :named("name"), $P868 :named("viviself"))
-.annotate "line", 304
-    $P870 = $P853."viviself"($P869)
-.annotate "line", 301
-    set $P845, $P870
-  if_846_end:
-.annotate "line", 291
-    .return ($P845)
-.end
-
-
-.namespace ["NQP";"Actions"]
-.sub "package_declarator:sym<module>"  :subid("58_1260829329.07487") :method :outer("11_1260829329.07487")
-    .param pmc param_894
+    set $P900, $P899["twigil"]
+    unless_null $P900, vivify_305
+    new $P900, "ResizablePMCArray"
+  vivify_305:
+    set $P901, $P900[0]
+    unless_null $P901, vivify_306
+    new $P901, "Undef"
+  vivify_306:
+    set $S902, $P901
+    iseq $I903, $S902, "!"
+    if $I903, if_898
+    new $P897, 'Integer'
+    set $P897, $I903
+    goto if_898_end
+  if_898:
+.annotate "line", 322
+    find_lex $P904, "$past"
+    get_hll_global $P905, ["PAST"], "Var"
+    $P906 = $P905."new"("self" :named("name"))
+    $P904."push"($P906)
 .annotate "line", 323
-    new $P893, 'ExceptionHandler'
-    set_addr $P893, control_892
-    $P893."handle_types"(58)
-    push_eh $P893
-    .lex "self", self
-    .lex "$/", param_894
-    find_lex $P895, "$/"
-    find_lex $P896, "$/"
-    unless_null $P896, vivify_307
-    new $P896, "Hash"
+    find_lex $P907, "$past"
+    $P907."scope"("attribute")
+.annotate "line", 324
+    find_lex $P908, "$past"
+    find_lex $P909, "$/"
+    unless_null $P909, vivify_307
+    new $P909, "Hash"
   vivify_307:
-    set $P897, $P896["package_def"]
-    unless_null $P897, vivify_308
-    new $P897, "Undef"
+    set $P910, $P909["sigil"]
+    unless_null $P910, vivify_308
+    new $P910, "Undef"
   vivify_308:
-    $P898 = $P897."ast"()
-    $P899 = $P895."!make"($P898)
-    .return ($P899)
-  control_892:
-    .local pmc exception 
-    .get_results (exception) 
-    getattribute $P900, exception, "payload"
-    .return ($P900)
+    $P911 = "sigiltype"($P910)
+    $P912 = $P908."viviself"($P911)
+.annotate "line", 321
+    set $P897, $P912
+  if_898_end:
+    set $P871, $P897
+.annotate "line", 308
+    goto if_872_end
+  if_872:
+.annotate "line", 309
+    find_lex $P878, "$past"
+    $P878."scope"("contextual")
+.annotate "line", 310
+    find_lex $P879, "$past"
+.annotate "line", 311
+    get_hll_global $P880, ["PAST"], "Var"
+.annotate "line", 313
+    find_lex $P881, "$/"
+    unless_null $P881, vivify_309
+    new $P881, "Hash"
+  vivify_309:
+    set $P882, $P881["sigil"]
+    unless_null $P882, vivify_310
+    new $P882, "Undef"
+  vivify_310:
+    set $S883, $P882
+    new $P884, 'String'
+    set $P884, $S883
+    find_lex $P885, "$/"
+    unless_null $P885, vivify_311
+    new $P885, "Hash"
+  vivify_311:
+    set $P886, $P885["desigilname"]
+    unless_null $P886, vivify_312
+    new $P886, "Undef"
+  vivify_312:
+    concat $P887, $P884, $P886
+.annotate "line", 315
+    get_hll_global $P888, ["PAST"], "Op"
+    new $P889, "String"
+    assign $P889, "Contextual "
+    find_lex $P890, "$/"
+    set $S891, $P890
+    concat $P892, $P889, $S891
+    concat $P893, $P892, " not found"
+    $P894 = $P888."new"($P893, "die" :named("pirop"))
+    $P895 = $P880."new"("package" :named("scope"), "" :named("namespace"), $P887 :named("name"), $P894 :named("viviself"))
+.annotate "line", 311
+    $P896 = $P879."viviself"($P895)
+.annotate "line", 308
+    set $P871, $P896
+  if_872_end:
+.annotate "line", 298
+    .return ($P871)
 .end
 
 
 .namespace ["NQP";"Actions"]
-.sub "package_declarator:sym<class>"  :subid("59_1260829329.07487") :method :outer("11_1260829329.07487")
-    .param pmc param_904
-.annotate "line", 324
-    new $P903, 'ExceptionHandler'
-    set_addr $P903, control_902
-    $P903."handle_types"(58)
-    push_eh $P903
+.sub "package_declarator:sym<module>"  :subid("60_1261019379.40749") :method :outer("11_1261019379.40749")
+    .param pmc param_920
+.annotate "line", 330
+    new $P919, 'ExceptionHandler'
+    set_addr $P919, control_918
+    $P919."handle_types"(58)
+    push_eh $P919
     .lex "self", self
-    .lex "$/", param_904
-.annotate "line", 325
-    new $P905, "Undef"
-    .lex "$past", $P905
-.annotate "line", 326
-    new $P906, "Undef"
-    .lex "$classinit", $P906
-.annotate "line", 335
-    new $P907, "Undef"
-    .lex "$parent", $P907
-.annotate "line", 325
-    find_lex $P908, "$/"
-    unless_null $P908, vivify_309
-    new $P908, "Hash"
-  vivify_309:
-    set $P909, $P908["package_def"]
-    unless_null $P909, vivify_310
-    new $P909, "Undef"
-  vivify_310:
-    $P910 = $P909."ast"()
-    store_lex "$past", $P910
-.annotate "line", 327
-    get_hll_global $P911, ["PAST"], "Op"
-.annotate "line", 328
-    get_hll_global $P912, ["PAST"], "Op"
-    $P913 = $P912."new"("    %r = get_root_global [\"parrot\"], \"P6metaclass\"" :named("inline"))
-.annotate "line", 331
-    find_lex $P914, "$/"
-    unless_null $P914, vivify_311
-    new $P914, "Hash"
-  vivify_311:
-    set $P915, $P914["package_def"]
-    unless_null $P915, vivify_312
-    new $P915, "Hash"
-  vivify_312:
-    set $P916, $P915["name"]
-    unless_null $P916, vivify_313
-    new $P916, "Undef"
-  vivify_313:
-    set $S917, $P916
-    $P918 = $P911."new"($P913, $S917, "new_class" :named("name"), "callmethod" :named("pasttype"))
-.annotate "line", 327
-    store_lex "$classinit", $P918
-.annotate "line", 335
+    .lex "$/", param_920
     find_lex $P921, "$/"
-    unless_null $P921, vivify_314
-    new $P921, "Hash"
-  vivify_314:
-    set $P922, $P921["package_def"]
+    find_lex $P922, "$/"
     unless_null $P922, vivify_315
     new $P922, "Hash"
   vivify_315:
-    set $P923, $P922["parent"]
+    set $P923, $P922["package_def"]
     unless_null $P923, vivify_316
-    new $P923, "ResizablePMCArray"
+    new $P923, "Undef"
   vivify_316:
-    set $P924, $P923[0]
-    unless_null $P924, vivify_317
-    new $P924, "Undef"
+    $P924 = $P923."ast"()
+    $P925 = $P921."!make"($P924)
+    .return ($P925)
+  control_918:
+    .local pmc exception 
+    .get_results (exception) 
+    getattribute $P926, exception, "payload"
+    .return ($P926)
+.end
+
+
+.namespace ["NQP";"Actions"]
+.sub "package_declarator:sym<class>"  :subid("61_1261019379.40749") :method :outer("11_1261019379.40749")
+    .param pmc param_930
+.annotate "line", 331
+    new $P929, 'ExceptionHandler'
+    set_addr $P929, control_928
+    $P929."handle_types"(58)
+    push_eh $P929
+    .lex "self", self
+    .lex "$/", param_930
+.annotate "line", 332
+    new $P931, "Undef"
+    .lex "$past", $P931
+.annotate "line", 333
+    new $P932, "Undef"
+    .lex "$classinit", $P932
+.annotate "line", 342
+    new $P933, "Undef"
+    .lex "$parent", $P933
+.annotate "line", 332
+    find_lex $P934, "$/"
+    unless_null $P934, vivify_317
+    new $P934, "Hash"
   vivify_317:
-    set $S925, $P924
-    unless $S925, unless_920
-    new $P919, 'String'
-    set $P919, $S925
-    goto unless_920_end
-  unless_920:
-.annotate "line", 336
-    find_lex $P928, "$/"
-    unless_null $P928, vivify_318
-    new $P928, "Hash"
+    set $P935, $P934["package_def"]
+    unless_null $P935, vivify_318
+    new $P935, "Undef"
   vivify_318:
-    set $P929, $P928["sym"]
-    unless_null $P929, vivify_319
-    new $P929, "Undef"
-  vivify_319:
-    set $S930, $P929
-    iseq $I931, $S930, "grammar"
-    if $I931, if_927
-    new $P933, "String"
-    assign $P933, ""
-    set $P926, $P933
-    goto if_927_end
-  if_927:
-    new $P932, "String"
-    assign $P932, "Regex::Cursor"
-    set $P926, $P932
-  if_927_end:
-    set $P919, $P926
-  unless_920_end:
-    store_lex "$parent", $P919
-.annotate "line", 337
-    find_lex $P935, "$parent"
-    unless $P935, if_934_end
+    $P936 = $P935."ast"()
+    store_lex "$past", $P936
+.annotate "line", 334
+    get_hll_global $P937, ["PAST"], "Op"
+.annotate "line", 335
+    get_hll_global $P938, ["PAST"], "Op"
+    $P939 = $P938."new"("    %r = get_root_global [\"parrot\"], \"P6metaclass\"" :named("inline"))
 .annotate "line", 338
-    find_lex $P936, "$classinit"
-    get_hll_global $P937, ["PAST"], "Val"
-    find_lex $P938, "$parent"
-    $P939 = $P937."new"($P938 :named("value"), "parent" :named("named"))
-    $P936."push"($P939)
-  if_934_end:
-.annotate "line", 340
-    find_lex $P941, "$past"
+    find_lex $P940, "$/"
+    unless_null $P940, vivify_319
+    new $P940, "Hash"
+  vivify_319:
+    set $P941, $P940["package_def"]
     unless_null $P941, vivify_320
     new $P941, "Hash"
   vivify_320:
-    set $P942, $P941["attributes"]
+    set $P942, $P941["name"]
     unless_null $P942, vivify_321
     new $P942, "Undef"
   vivify_321:
-    unless $P942, if_940_end
-.annotate "line", 341
-    find_lex $P943, "$classinit"
-    find_lex $P944, "$past"
-    unless_null $P944, vivify_322
-    new $P944, "Hash"
+    set $S943, $P942
+    $P944 = $P937."new"($P939, $S943, "new_class" :named("name"), "callmethod" :named("pasttype"))
+.annotate "line", 334
+    store_lex "$classinit", $P944
+.annotate "line", 342
+    find_lex $P947, "$/"
+    unless_null $P947, vivify_322
+    new $P947, "Hash"
   vivify_322:
-    set $P945, $P944["attributes"]
-    unless_null $P945, vivify_323
-    new $P945, "Undef"
+    set $P948, $P947["package_def"]
+    unless_null $P948, vivify_323
+    new $P948, "Hash"
   vivify_323:
-    $P943."push"($P945)
-  if_940_end:
-.annotate "line", 343
-    get_global $P946, "@BLOCK"
-    unless_null $P946, vivify_324
-    new $P946, "ResizablePMCArray"
+    set $P949, $P948["parent"]
+    unless_null $P949, vivify_324
+    new $P949, "ResizablePMCArray"
   vivify_324:
-    set $P947, $P946[0]
-    unless_null $P947, vivify_325
-    new $P947, "Undef"
+    set $P950, $P949[0]
+    unless_null $P950, vivify_325
+    new $P950, "Undef"
   vivify_325:
-    $P948 = $P947."loadinit"()
-    find_lex $P949, "$classinit"
-    $P948."push"($P949)
-.annotate "line", 344
-    find_lex $P950, "$/"
-    find_lex $P951, "$past"
-    $P952 = $P950."!make"($P951)
-.annotate "line", 324
-    .return ($P952)
-  control_902:
-    .local pmc exception 
-    .get_results (exception) 
-    getattribute $P953, exception, "payload"
-    .return ($P953)
-.end
-
-
-.namespace ["NQP";"Actions"]
-.sub "package_def"  :subid("60_1260829329.07487") :method :outer("11_1260829329.07487")
-    .param pmc param_957
-.annotate "line", 347
-    new $P956, 'ExceptionHandler'
-    set_addr $P956, control_955
-    $P956."handle_types"(58)
-    push_eh $P956
-    .lex "self", self
-    .lex "$/", param_957
-.annotate "line", 348
-    new $P958, "Undef"
-    .lex "$past", $P958
-    find_lex $P961, "$/"
-    unless_null $P961, vivify_326
-    new $P961, "Hash"
+    set $S951, $P950
+    unless $S951, unless_946
+    new $P945, 'String'
+    set $P945, $S951
+    goto unless_946_end
+  unless_946:
+.annotate "line", 343
+    find_lex $P954, "$/"
+    unless_null $P954, vivify_326
+    new $P954, "Hash"
   vivify_326:
-    set $P962, $P961["block"]
-    unless_null $P962, vivify_327
-    new $P962, "Undef"
+    set $P955, $P954["sym"]
+    unless_null $P955, vivify_327
+    new $P955, "Undef"
   vivify_327:
-    if $P962, if_960
-    find_lex $P966, "$/"
-    unless_null $P966, vivify_328
-    new $P966, "Hash"
+    set $S956, $P955
+    iseq $I957, $S956, "grammar"
+    if $I957, if_953
+    new $P959, "String"
+    assign $P959, ""
+    set $P952, $P959
+    goto if_953_end
+  if_953:
+    new $P958, "String"
+    assign $P958, "Regex::Cursor"
+    set $P952, $P958
+  if_953_end:
+    set $P945, $P952
+  unless_946_end:
+    store_lex "$parent", $P945
+.annotate "line", 344
+    find_lex $P961, "$parent"
+    unless $P961, if_960_end
+.annotate "line", 345
+    find_lex $P962, "$classinit"
+    get_hll_global $P963, ["PAST"], "Val"
+    find_lex $P964, "$parent"
+    $P965 = $P963."new"($P964 :named("value"), "parent" :named("named"))
+    $P962."push"($P965)
+  if_960_end:
+.annotate "line", 347
+    find_lex $P967, "$past"
+    unless_null $P967, vivify_328
+    new $P967, "Hash"
   vivify_328:
-    set $P967, $P966["comp_unit"]
-    unless_null $P967, vivify_329
-    new $P967, "Undef"
+    set $P968, $P967["attributes"]
+    unless_null $P968, vivify_329
+    new $P968, "Undef"
   vivify_329:
-    $P968 = $P967."ast"()
-    set $P959, $P968
-    goto if_960_end
-  if_960:
-    find_lex $P963, "$/"
-    unless_null $P963, vivify_330
-    new $P963, "Hash"
+    unless $P968, if_966_end
+.annotate "line", 348
+    find_lex $P969, "$classinit"
+    find_lex $P970, "$past"
+    unless_null $P970, vivify_330
+    new $P970, "Hash"
   vivify_330:
-    set $P964, $P963["block"]
-    unless_null $P964, vivify_331
-    new $P964, "Undef"
+    set $P971, $P970["attributes"]
+    unless_null $P971, vivify_331
+    new $P971, "Undef"
   vivify_331:
-    $P965 = $P964."ast"()
-    set $P959, $P965
-  if_960_end:
-    store_lex "$past", $P959
-.annotate "line", 349
-    find_lex $P969, "$past"
-    find_lex $P970, "$/"
-    unless_null $P970, vivify_332
-    new $P970, "Hash"
+    $P969."push"($P971)
+  if_966_end:
+.annotate "line", 350
+    get_global $P972, "@BLOCK"
+    unless_null $P972, vivify_332
+    new $P972, "ResizablePMCArray"
   vivify_332:
-    set $P971, $P970["name"]
-    unless_null $P971, vivify_333
-    new $P971, "Hash"
+    set $P973, $P972[0]
+    unless_null $P973, vivify_333
+    new $P973, "Undef"
   vivify_333:
-    set $P972, $P971["identifier"]
-    unless_null $P972, vivify_334
-    new $P972, "Undef"
-  vivify_334:
-    $P969."namespace"($P972)
-.annotate "line", 350
-    find_lex $P973, "$past"
-    $P973."blocktype"("immediate")
+    $P974 = $P973."loadinit"()
+    find_lex $P975, "$classinit"
+    $P974."push"($P975)
 .annotate "line", 351
-    find_lex $P974, "$/"
-    find_lex $P975, "$past"
-    $P976 = $P974."!make"($P975)
-.annotate "line", 347
-    .return ($P976)
-  control_955:
+    find_lex $P976, "$/"
+    find_lex $P977, "$past"
+    $P978 = $P976."!make"($P977)
+.annotate "line", 331
+    .return ($P978)
+  control_928:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P977, exception, "payload"
-    .return ($P977)
+    getattribute $P979, exception, "payload"
+    .return ($P979)
 .end
 
 
 .namespace ["NQP";"Actions"]
-.sub "scope_declarator:sym<my>"  :subid("61_1260829329.07487") :method :outer("11_1260829329.07487")
-    .param pmc param_981
+.sub "package_def"  :subid("62_1261019379.40749") :method :outer("11_1261019379.40749")
+    .param pmc param_983
 .annotate "line", 354
-    new $P980, 'ExceptionHandler'
-    set_addr $P980, control_979
-    $P980."handle_types"(58)
-    push_eh $P980
-    .lex "self", self
-    .lex "$/", param_981
-    find_lex $P982, "$/"
-    find_lex $P983, "$/"
-    unless_null $P983, vivify_335
-    new $P983, "Hash"
-  vivify_335:
-    set $P984, $P983["scoped"]
-    unless_null $P984, vivify_336
-    new $P984, "Undef"
-  vivify_336:
-    $P985 = $P984."ast"()
-    $P986 = $P982."!make"($P985)
-    .return ($P986)
-  control_979:
-    .local pmc exception 
-    .get_results (exception) 
-    getattribute $P987, exception, "payload"
-    .return ($P987)
-.end
-
-
-.namespace ["NQP";"Actions"]
-.sub "scope_declarator:sym<our>"  :subid("62_1260829329.07487") :method :outer("11_1260829329.07487")
-    .param pmc param_991
-.annotate "line", 355
-    new $P990, 'ExceptionHandler'
-    set_addr $P990, control_989
-    $P990."handle_types"(58)
-    push_eh $P990
+    new $P982, 'ExceptionHandler'
+    set_addr $P982, control_981
+    $P982."handle_types"(58)
+    push_eh $P982
     .lex "self", self
-    .lex "$/", param_991
+    .lex "$/", param_983
+.annotate "line", 355
+    new $P984, "Undef"
+    .lex "$past", $P984
+    find_lex $P987, "$/"
+    unless_null $P987, vivify_334
+    new $P987, "Hash"
+  vivify_334:
+    set $P988, $P987["block"]
+    unless_null $P988, vivify_335
+    new $P988, "Undef"
+  vivify_335:
+    if $P988, if_986
     find_lex $P992, "$/"
-    find_lex $P993, "$/"
+    unless_null $P992, vivify_336
+    new $P992, "Hash"
+  vivify_336:
+    set $P993, $P992["comp_unit"]
     unless_null $P993, vivify_337
-    new $P993, "Hash"
+    new $P993, "Undef"
   vivify_337:
-    set $P994, $P993["scoped"]
-    unless_null $P994, vivify_338
-    new $P994, "Undef"
+    $P994 = $P993."ast"()
+    set $P985, $P994
+    goto if_986_end
+  if_986:
+    find_lex $P989, "$/"
+    unless_null $P989, vivify_338
+    new $P989, "Hash"
   vivify_338:
-    $P995 = $P994."ast"()
-    $P996 = $P992."!make"($P995)
-    .return ($P996)
-  control_989:
+    set $P990, $P989["block"]
+    unless_null $P990, vivify_339
+    new $P990, "Undef"
+  vivify_339:
+    $P991 = $P990."ast"()
+    set $P985, $P991
+  if_986_end:
+    store_lex "$past", $P985
+.annotate "line", 356
+    find_lex $P995, "$past"
+    find_lex $P996, "$/"
+    unless_null $P996, vivify_340
+    new $P996, "Hash"
+  vivify_340:
+    set $P997, $P996["name"]
+    unless_null $P997, vivify_341
+    new $P997, "Hash"
+  vivify_341:
+    set $P998, $P997["identifier"]
+    unless_null $P998, vivify_342
+    new $P998, "Undef"
+  vivify_342:
+    $P995."namespace"($P998)
+.annotate "line", 357
+    find_lex $P999, "$past"
+    $P999."blocktype"("immediate")
+.annotate "line", 358
+    find_lex $P1000, "$/"
+    find_lex $P1001, "$past"
+    $P1002 = $P1000."!make"($P1001)
+.annotate "line", 354
+    .return ($P1002)
+  control_981:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P997, exception, "payload"
-    .return ($P997)
+    getattribute $P1003, exception, "payload"
+    .return ($P1003)
 .end
 
 
 .namespace ["NQP";"Actions"]
-.sub "scope_declarator:sym<has>"  :subid("63_1260829329.07487") :method :outer("11_1260829329.07487")
-    .param pmc param_1001
-.annotate "line", 356
-    new $P1000, 'ExceptionHandler'
-    set_addr $P1000, control_999
-    $P1000."handle_types"(58)
-    push_eh $P1000
-    .lex "self", self
-    .lex "$/", param_1001
-    find_lex $P1002, "$/"
-    find_lex $P1003, "$/"
-    unless_null $P1003, vivify_339
-    new $P1003, "Hash"
-  vivify_339:
-    set $P1004, $P1003["scoped"]
-    unless_null $P1004, vivify_340
-    new $P1004, "Undef"
-  vivify_340:
-    $P1005 = $P1004."ast"()
-    $P1006 = $P1002."!make"($P1005)
-    .return ($P1006)
-  control_999:
+.sub "scope_declarator:sym<my>"  :subid("63_1261019379.40749") :method :outer("11_1261019379.40749")
+    .param pmc param_1007
+.annotate "line", 361
+    new $P1006, 'ExceptionHandler'
+    set_addr $P1006, control_1005
+    $P1006."handle_types"(58)
+    push_eh $P1006
+    .lex "self", self
+    .lex "$/", param_1007
+    find_lex $P1008, "$/"
+    find_lex $P1009, "$/"
+    unless_null $P1009, vivify_343
+    new $P1009, "Hash"
+  vivify_343:
+    set $P1010, $P1009["scoped"]
+    unless_null $P1010, vivify_344
+    new $P1010, "Undef"
+  vivify_344:
+    $P1011 = $P1010."ast"()
+    $P1012 = $P1008."!make"($P1011)
+    .return ($P1012)
+  control_1005:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P1007, exception, "payload"
-    .return ($P1007)
+    getattribute $P1013, exception, "payload"
+    .return ($P1013)
 .end
 
 
 .namespace ["NQP";"Actions"]
-.sub "scoped"  :subid("64_1260829329.07487") :method :outer("11_1260829329.07487")
-    .param pmc param_1011
-.annotate "line", 358
-    new $P1010, 'ExceptionHandler'
-    set_addr $P1010, control_1009
-    $P1010."handle_types"(58)
-    push_eh $P1010
-    .lex "self", self
-    .lex "$/", param_1011
-.annotate "line", 359
-    find_lex $P1012, "$/"
-.annotate "line", 360
-    find_lex $P1015, "$/"
-    unless_null $P1015, vivify_341
-    new $P1015, "Hash"
-  vivify_341:
-    set $P1016, $P1015["routine_declarator"]
-    unless_null $P1016, vivify_342
-    new $P1016, "Undef"
-  vivify_342:
-    if $P1016, if_1014
-.annotate "line", 361
-    find_lex $P1020, "$/"
-    unless_null $P1020, vivify_343
-    new $P1020, "Hash"
-  vivify_343:
-    set $P1021, $P1020["variable_declarator"]
-    unless_null $P1021, vivify_344
-    new $P1021, "Undef"
-  vivify_344:
-    $P1022 = $P1021."ast"()
-    set $P1013, $P1022
-.annotate "line", 360
-    goto if_1014_end
-  if_1014:
-    find_lex $P1017, "$/"
-    unless_null $P1017, vivify_345
-    new $P1017, "Hash"
+.sub "scope_declarator:sym<our>"  :subid("64_1261019379.40749") :method :outer("11_1261019379.40749")
+    .param pmc param_1017
+.annotate "line", 362
+    new $P1016, 'ExceptionHandler'
+    set_addr $P1016, control_1015
+    $P1016."handle_types"(58)
+    push_eh $P1016
+    .lex "self", self
+    .lex "$/", param_1017
+    find_lex $P1018, "$/"
+    find_lex $P1019, "$/"
+    unless_null $P1019, vivify_345
+    new $P1019, "Hash"
   vivify_345:
-    set $P1018, $P1017["routine_declarator"]
-    unless_null $P1018, vivify_346
-    new $P1018, "Undef"
+    set $P1020, $P1019["scoped"]
+    unless_null $P1020, vivify_346
+    new $P1020, "Undef"
   vivify_346:
-    $P1019 = $P1018."ast"()
-    set $P1013, $P1019
-  if_1014_end:
-    $P1023 = $P1012."!make"($P1013)
-.annotate "line", 358
-    .return ($P1023)
-  control_1009:
+    $P1021 = $P1020."ast"()
+    $P1022 = $P1018."!make"($P1021)
+    .return ($P1022)
+  control_1015:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P1024, exception, "payload"
-    .return ($P1024)
+    getattribute $P1023, exception, "payload"
+    .return ($P1023)
 .end
 
 
 .namespace ["NQP";"Actions"]
-.sub "variable_declarator"  :subid("65_1260829329.07487") :method :outer("11_1260829329.07487")
-    .param pmc param_1028
-.annotate "line", 364
-    .const 'Sub' $P1068 = "66_1260829329.07487" 
-    capture_lex $P1068
-    new $P1027, 'ExceptionHandler'
-    set_addr $P1027, control_1026
-    $P1027."handle_types"(58)
-    push_eh $P1027
-    .lex "self", self
-    .lex "$/", param_1028
-.annotate "line", 365
-    new $P1029, "Undef"
-    .lex "$past", $P1029
-.annotate "line", 366
-    new $P1030, "Undef"
-    .lex "$sigil", $P1030
-.annotate "line", 367
-    new $P1031, "Undef"
-    .lex "$name", $P1031
-.annotate "line", 368
-    new $P1032, "Undef"
-    .lex "$BLOCK", $P1032
-.annotate "line", 365
-    find_lex $P1033, "$/"
-    unless_null $P1033, vivify_347
-    new $P1033, "Hash"
+.sub "scope_declarator:sym<has>"  :subid("65_1261019379.40749") :method :outer("11_1261019379.40749")
+    .param pmc param_1027
+.annotate "line", 363
+    new $P1026, 'ExceptionHandler'
+    set_addr $P1026, control_1025
+    $P1026."handle_types"(58)
+    push_eh $P1026
+    .lex "self", self
+    .lex "$/", param_1027
+    find_lex $P1028, "$/"
+    find_lex $P1029, "$/"
+    unless_null $P1029, vivify_347
+    new $P1029, "Hash"
   vivify_347:
-    set $P1034, $P1033["variable"]
-    unless_null $P1034, vivify_348
-    new $P1034, "Undef"
+    set $P1030, $P1029["scoped"]
+    unless_null $P1030, vivify_348
+    new $P1030, "Undef"
   vivify_348:
-    $P1035 = $P1034."ast"()
-    store_lex "$past", $P1035
+    $P1031 = $P1030."ast"()
+    $P1032 = $P1028."!make"($P1031)
+    .return ($P1032)
+  control_1025:
+    .local pmc exception 
+    .get_results (exception) 
+    getattribute $P1033, exception, "payload"
+    .return ($P1033)
+.end
+
+
+.namespace ["NQP";"Actions"]
+.sub "scoped"  :subid("66_1261019379.40749") :method :outer("11_1261019379.40749")
+    .param pmc param_1037
+.annotate "line", 365
+    new $P1036, 'ExceptionHandler'
+    set_addr $P1036, control_1035
+    $P1036."handle_types"(58)
+    push_eh $P1036
+    .lex "self", self
+    .lex "$/", param_1037
 .annotate "line", 366
-    find_lex $P1036, "$/"
-    unless_null $P1036, vivify_349
-    new $P1036, "Hash"
+    find_lex $P1038, "$/"
+.annotate "line", 367
+    find_lex $P1041, "$/"
+    unless_null $P1041, vivify_349
+    new $P1041, "Hash"
   vivify_349:
-    set $P1037, $P1036["variable"]
-    unless_null $P1037, vivify_350
-    new $P1037, "Hash"
+    set $P1042, $P1041["routine_declarator"]
+    unless_null $P1042, vivify_350
+    new $P1042, "Undef"
   vivify_350:
-    set $P1038, $P1037["sigil"]
-    unless_null $P1038, vivify_351
-    new $P1038, "Undef"
-  vivify_351:
-    store_lex "$sigil", $P1038
-.annotate "line", 367
-    find_lex $P1039, "$past"
-    $P1040 = $P1039."name"()
-    store_lex "$name", $P1040
+    if $P1042, if_1040
 .annotate "line", 368
-    get_global $P1041, "@BLOCK"
-    unless_null $P1041, vivify_352
-    new $P1041, "ResizablePMCArray"
+    find_lex $P1046, "$/"
+    unless_null $P1046, vivify_351
+    new $P1046, "Hash"
+  vivify_351:
+    set $P1047, $P1046["variable_declarator"]
+    unless_null $P1047, vivify_352
+    new $P1047, "Undef"
   vivify_352:
-    set $P1042, $P1041[0]
-    unless_null $P1042, vivify_353
-    new $P1042, "Undef"
+    $P1048 = $P1047."ast"()
+    set $P1039, $P1048
+.annotate "line", 367
+    goto if_1040_end
+  if_1040:
+    find_lex $P1043, "$/"
+    unless_null $P1043, vivify_353
+    new $P1043, "Hash"
   vivify_353:
-    store_lex "$BLOCK", $P1042
-.annotate "line", 369
-    find_lex $P1044, "$BLOCK"
-    find_lex $P1045, "$name"
-    $P1046 = $P1044."symbol"($P1045)
-    unless $P1046, if_1043_end
-.annotate "line", 370
-    find_lex $P1047, "$/"
-    $P1048 = $P1047."CURSOR"()
-    find_lex $P1049, "$name"
-    $P1048."panic"("Redeclaration of symbol ", $P1049)
-  if_1043_end:
+    set $P1044, $P1043["routine_declarator"]
+    unless_null $P1044, vivify_354
+    new $P1044, "Undef"
+  vivify_354:
+    $P1045 = $P1044."ast"()
+    set $P1039, $P1045
+  if_1040_end:
+    $P1049 = $P1038."!make"($P1039)
+.annotate "line", 365
+    .return ($P1049)
+  control_1035:
+    .local pmc exception 
+    .get_results (exception) 
+    getattribute $P1050, exception, "payload"
+    .return ($P1050)
+.end
+
+
+.namespace ["NQP";"Actions"]
+.sub "variable_declarator"  :subid("67_1261019379.40749") :method :outer("11_1261019379.40749")
+    .param pmc param_1054
+.annotate "line", 371
+    .const 'Sub' $P1094 = "68_1261019379.40749" 
+    capture_lex $P1094
+    new $P1053, 'ExceptionHandler'
+    set_addr $P1053, control_1052
+    $P1053."handle_types"(58)
+    push_eh $P1053
+    .lex "self", self
+    .lex "$/", param_1054
 .annotate "line", 372
-    find_dynamic_lex $P1051, "$*SCOPE"
-    unless_null $P1051, vivify_354
-    get_hll_global $P1051, "$SCOPE"
-    unless_null $P1051, vivify_355
-    die "Contextual $*SCOPE not found"
+    new $P1055, "Undef"
+    .lex "$past", $P1055
+.annotate "line", 373
+    new $P1056, "Undef"
+    .lex "$sigil", $P1056
+.annotate "line", 374
+    new $P1057, "Undef"
+    .lex "$name", $P1057
+.annotate "line", 375
+    new $P1058, "Undef"
+    .lex "$BLOCK", $P1058
+.annotate "line", 372
+    find_lex $P1059, "$/"
+    unless_null $P1059, vivify_355
+    new $P1059, "Hash"
   vivify_355:
-  vivify_354:
-    set $S1052, $P1051
-    iseq $I1053, $S1052, "has"
-    if $I1053, if_1050
-.annotate "line", 381
-    .const 'Sub' $P1068 = "66_1260829329.07487" 
-    capture_lex $P1068
-    $P1068()
-    goto if_1050_end
-  if_1050:
+    set $P1060, $P1059["variable"]
+    unless_null $P1060, vivify_356
+    new $P1060, "Undef"
+  vivify_356:
+    $P1061 = $P1060."ast"()
+    store_lex "$past", $P1061
 .annotate "line", 373
-    find_lex $P1054, "$BLOCK"
-    find_lex $P1055, "$name"
-    $P1054."symbol"($P1055, "attribute" :named("scope"))
+    find_lex $P1062, "$/"
+    unless_null $P1062, vivify_357
+    new $P1062, "Hash"
+  vivify_357:
+    set $P1063, $P1062["variable"]
+    unless_null $P1063, vivify_358
+    new $P1063, "Hash"
+  vivify_358:
+    set $P1064, $P1063["sigil"]
+    unless_null $P1064, vivify_359
+    new $P1064, "Undef"
+  vivify_359:
+    store_lex "$sigil", $P1064
 .annotate "line", 374
-    find_lex $P1057, "$BLOCK"
-    unless_null $P1057, vivify_360
-    new $P1057, "Hash"
+    find_lex $P1065, "$past"
+    $P1066 = $P1065."name"()
+    store_lex "$name", $P1066
+.annotate "line", 375
+    get_global $P1067, "@BLOCK"
+    unless_null $P1067, vivify_360
+    new $P1067, "ResizablePMCArray"
   vivify_360:
-    set $P1058, $P1057["attributes"]
-    unless_null $P1058, vivify_361
-    new $P1058, "Undef"
+    set $P1068, $P1067[0]
+    unless_null $P1068, vivify_361
+    new $P1068, "Undef"
   vivify_361:
-    if $P1058, unless_1056_end
+    store_lex "$BLOCK", $P1068
 .annotate "line", 376
-    get_hll_global $P1059, ["PAST"], "Op"
-    $P1060 = $P1059."new"("list" :named("pasttype"), "attr" :named("named"))
-    find_lex $P1061, "$BLOCK"
-    unless_null $P1061, vivify_362
-    new $P1061, "Hash"
-    store_lex "$BLOCK", $P1061
-  vivify_362:
-    set $P1061["attributes"], $P1060
-  unless_1056_end:
-.annotate "line", 378
-    find_lex $P1062, "$BLOCK"
-    unless_null $P1062, vivify_363
-    new $P1062, "Hash"
-  vivify_363:
-    set $P1063, $P1062["attributes"]
-    unless_null $P1063, vivify_364
-    new $P1063, "Undef"
-  vivify_364:
-    find_lex $P1064, "$name"
-    $P1063."push"($P1064)
+    find_lex $P1070, "$BLOCK"
+    find_lex $P1071, "$name"
+    $P1072 = $P1070."symbol"($P1071)
+    unless $P1072, if_1069_end
+.annotate "line", 377
+    find_lex $P1073, "$/"
+    $P1074 = $P1073."CURSOR"()
+    find_lex $P1075, "$name"
+    $P1074."panic"("Redeclaration of symbol ", $P1075)
+  if_1069_end:
 .annotate "line", 379
-    get_hll_global $P1065, ["PAST"], "Stmts"
-    $P1066 = $P1065."new"()
-    store_lex "$past", $P1066
-  if_1050_end:
-.annotate "line", 389
-    find_lex $P1092, "$/"
-    find_lex $P1093, "$past"
-    $P1094 = $P1092."!make"($P1093)
-.annotate "line", 364
-    .return ($P1094)
-  control_1026:
-    .local pmc exception 
-    .get_results (exception) 
-    getattribute $P1095, exception, "payload"
-    .return ($P1095)
-.end
-
-
-.namespace ["NQP";"Actions"]
-.sub "_block1067"  :anon :subid("66_1260829329.07487") :outer("65_1260829329.07487")
-.annotate "line", 382
-    new $P1069, "Undef"
-    .lex "$scope", $P1069
-.annotate "line", 383
-    new $P1070, "Undef"
-    .lex "$decl", $P1070
-.annotate "line", 382
-    find_dynamic_lex $P1073, "$*SCOPE"
-    unless_null $P1073, vivify_356
-    get_hll_global $P1073, "$SCOPE"
-    unless_null $P1073, vivify_357
+    find_dynamic_lex $P1077, "$*SCOPE"
+    unless_null $P1077, vivify_362
+    get_hll_global $P1077, "$SCOPE"
+    unless_null $P1077, vivify_363
     die "Contextual $*SCOPE not found"
-  vivify_357:
-  vivify_356:
-    set $S1074, $P1073
-    iseq $I1075, $S1074, "our"
-    if $I1075, if_1072
-    new $P1077, "String"
-    assign $P1077, "lexical"
-    set $P1071, $P1077
-    goto if_1072_end
-  if_1072:
-    new $P1076, "String"
-    assign $P1076, "package"
-    set $P1071, $P1076
-  if_1072_end:
-    store_lex "$scope", $P1071
-.annotate "line", 383
-    get_hll_global $P1078, ["PAST"], "Var"
-    find_lex $P1079, "$name"
-    find_lex $P1080, "$scope"
-.annotate "line", 384
-    find_lex $P1081, "$sigil"
-    $P1082 = "sigiltype"($P1081)
-    find_lex $P1083, "$/"
-    $P1084 = $P1078."new"($P1079 :named("name"), $P1080 :named("scope"), 1 :named("isdecl"), 1 :named("lvalue"), $P1082 :named("viviself"), $P1083 :named("node"))
+  vivify_363:
+  vivify_362:
+    set $S1078, $P1077
+    iseq $I1079, $S1078, "has"
+    if $I1079, if_1076
+.annotate "line", 388
+    .const 'Sub' $P1094 = "68_1261019379.40749" 
+    capture_lex $P1094
+    $P1094()
+    goto if_1076_end
+  if_1076:
+.annotate "line", 380
+    find_lex $P1080, "$BLOCK"
+    find_lex $P1081, "$name"
+    $P1080."symbol"($P1081, "attribute" :named("scope"))
+.annotate "line", 381
+    find_lex $P1083, "$BLOCK"
+    unless_null $P1083, vivify_368
+    new $P1083, "Hash"
+  vivify_368:
+    set $P1084, $P1083["attributes"]
+    unless_null $P1084, vivify_369
+    new $P1084, "Undef"
+  vivify_369:
+    if $P1084, unless_1082_end
 .annotate "line", 383
-    store_lex "$decl", $P1084
-.annotate "line", 386
-    find_lex $P1085, "$BLOCK"
-    find_lex $P1086, "$name"
-    find_lex $P1087, "$scope"
-    $P1085."symbol"($P1086, $P1087 :named("scope"))
-.annotate "line", 387
+    get_hll_global $P1085, ["PAST"], "Op"
+    $P1086 = $P1085."new"("list" :named("pasttype"), "attr" :named("named"))
+    find_lex $P1087, "$BLOCK"
+    unless_null $P1087, vivify_370
+    new $P1087, "Hash"
+    store_lex "$BLOCK", $P1087
+  vivify_370:
+    set $P1087["attributes"], $P1086
+  unless_1082_end:
+.annotate "line", 385
     find_lex $P1088, "$BLOCK"
-    unless_null $P1088, vivify_358
-    new $P1088, "ResizablePMCArray"
-  vivify_358:
-    set $P1089, $P1088[0]
-    unless_null $P1089, vivify_359
+    unless_null $P1088, vivify_371
+    new $P1088, "Hash"
+  vivify_371:
+    set $P1089, $P1088["attributes"]
+    unless_null $P1089, vivify_372
     new $P1089, "Undef"
-  vivify_359:
-    find_lex $P1090, "$decl"
-    $P1091 = $P1089."push"($P1090)
-.annotate "line", 381
-    .return ($P1091)
-.end
-
-
-.namespace ["NQP";"Actions"]
-.sub "routine_declarator:sym<sub>"  :subid("67_1260829329.07487") :method :outer("11_1260829329.07487")
-    .param pmc param_1099
-.annotate "line", 392
-    new $P1098, 'ExceptionHandler'
-    set_addr $P1098, control_1097
-    $P1098."handle_types"(58)
-    push_eh $P1098
-    .lex "self", self
-    .lex "$/", param_1099
-    find_lex $P1100, "$/"
-    find_lex $P1101, "$/"
-    unless_null $P1101, vivify_365
-    new $P1101, "Hash"
-  vivify_365:
-    set $P1102, $P1101["routine_def"]
-    unless_null $P1102, vivify_366
-    new $P1102, "Undef"
-  vivify_366:
-    $P1103 = $P1102."ast"()
-    $P1104 = $P1100."!make"($P1103)
-    .return ($P1104)
-  control_1097:
+  vivify_372:
+    find_lex $P1090, "$name"
+    $P1089."push"($P1090)
+.annotate "line", 386
+    get_hll_global $P1091, ["PAST"], "Stmts"
+    $P1092 = $P1091."new"()
+    store_lex "$past", $P1092
+  if_1076_end:
+.annotate "line", 396
+    find_lex $P1118, "$/"
+    find_lex $P1119, "$past"
+    $P1120 = $P1118."!make"($P1119)
+.annotate "line", 371
+    .return ($P1120)
+  control_1052:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P1105, exception, "payload"
-    .return ($P1105)
+    getattribute $P1121, exception, "payload"
+    .return ($P1121)
 .end
 
 
 .namespace ["NQP";"Actions"]
-.sub "routine_declarator:sym<method>"  :subid("68_1260829329.07487") :method :outer("11_1260829329.07487")
-    .param pmc param_1109
+.sub "_block1093"  :anon :subid("68_1261019379.40749") :outer("67_1261019379.40749")
+.annotate "line", 389
+    new $P1095, "Undef"
+    .lex "$scope", $P1095
+.annotate "line", 390
+    new $P1096, "Undef"
+    .lex "$decl", $P1096
+.annotate "line", 389
+    find_dynamic_lex $P1099, "$*SCOPE"
+    unless_null $P1099, vivify_364
+    get_hll_global $P1099, "$SCOPE"
+    unless_null $P1099, vivify_365
+    die "Contextual $*SCOPE not found"
+  vivify_365:
+  vivify_364:
+    set $S1100, $P1099
+    iseq $I1101, $S1100, "our"
+    if $I1101, if_1098
+    new $P1103, "String"
+    assign $P1103, "lexical"
+    set $P1097, $P1103
+    goto if_1098_end
+  if_1098:
+    new $P1102, "String"
+    assign $P1102, "package"
+    set $P1097, $P1102
+  if_1098_end:
+    store_lex "$scope", $P1097
+.annotate "line", 390
+    get_hll_global $P1104, ["PAST"], "Var"
+    find_lex $P1105, "$name"
+    find_lex $P1106, "$scope"
+.annotate "line", 391
+    find_lex $P1107, "$sigil"
+    $P1108 = "sigiltype"($P1107)
+    find_lex $P1109, "$/"
+    $P1110 = $P1104."new"($P1105 :named("name"), $P1106 :named("scope"), 1 :named("isdecl"), 1 :named("lvalue"), $P1108 :named("viviself"), $P1109 :named("node"))
+.annotate "line", 390
+    store_lex "$decl", $P1110
 .annotate "line", 393
-    new $P1108, 'ExceptionHandler'
-    set_addr $P1108, control_1107
-    $P1108."handle_types"(58)
-    push_eh $P1108
-    .lex "self", self
-    .lex "$/", param_1109
-    find_lex $P1110, "$/"
-    find_lex $P1111, "$/"
-    unless_null $P1111, vivify_367
-    new $P1111, "Hash"
+    find_lex $P1111, "$BLOCK"
+    find_lex $P1112, "$name"
+    find_lex $P1113, "$scope"
+    $P1111."symbol"($P1112, $P1113 :named("scope"))
+.annotate "line", 394
+    find_lex $P1114, "$BLOCK"
+    unless_null $P1114, vivify_366
+    new $P1114, "ResizablePMCArray"
+  vivify_366:
+    set $P1115, $P1114[0]
+    unless_null $P1115, vivify_367
+    new $P1115, "Undef"
   vivify_367:
-    set $P1112, $P1111["method_def"]
-    unless_null $P1112, vivify_368
-    new $P1112, "Undef"
-  vivify_368:
-    $P1113 = $P1112."ast"()
-    $P1114 = $P1110."!make"($P1113)
-    .return ($P1114)
-  control_1107:
-    .local pmc exception 
-    .get_results (exception) 
-    getattribute $P1115, exception, "payload"
-    .return ($P1115)
+    find_lex $P1116, "$decl"
+    $P1117 = $P1115."push"($P1116)
+.annotate "line", 388
+    .return ($P1117)
 .end
 
 
 .namespace ["NQP";"Actions"]
-.sub "routine_def"  :subid("69_1260829329.07487") :method :outer("11_1260829329.07487")
-    .param pmc param_1119
-.annotate "line", 395
-    .const 'Sub' $P1130 = "70_1260829329.07487" 
-    capture_lex $P1130
-    new $P1118, 'ExceptionHandler'
-    set_addr $P1118, control_1117
-    $P1118."handle_types"(58)
-    push_eh $P1118
-    .lex "self", self
-    .lex "$/", param_1119
-.annotate "line", 396
-    new $P1120, "Undef"
-    .lex "$past", $P1120
-    find_lex $P1121, "$/"
-    unless_null $P1121, vivify_369
-    new $P1121, "Hash"
-  vivify_369:
-    set $P1122, $P1121["blockoid"]
-    unless_null $P1122, vivify_370
-    new $P1122, "Undef"
-  vivify_370:
-    $P1123 = $P1122."ast"()
-    store_lex "$past", $P1123
-.annotate "line", 397
-    find_lex $P1124, "$past"
-    $P1124."blocktype"("declaration")
-.annotate "line", 398
-    find_lex $P1125, "$past"
-    $P1125."control"("return_pir")
+.sub "routine_declarator:sym<sub>"  :subid("69_1261019379.40749") :method :outer("11_1261019379.40749")
+    .param pmc param_1125
 .annotate "line", 399
+    new $P1124, 'ExceptionHandler'
+    set_addr $P1124, control_1123
+    $P1124."handle_types"(58)
+    push_eh $P1124
+    .lex "self", self
+    .lex "$/", param_1125
+    find_lex $P1126, "$/"
     find_lex $P1127, "$/"
-    unless_null $P1127, vivify_371
+    unless_null $P1127, vivify_373
     new $P1127, "Hash"
-  vivify_371:
-    set $P1128, $P1127["deflongname"]
-    unless_null $P1128, vivify_372
+  vivify_373:
+    set $P1128, $P1127["routine_def"]
+    unless_null $P1128, vivify_374
     new $P1128, "Undef"
-  vivify_372:
-    unless $P1128, if_1126_end
-    .const 'Sub' $P1130 = "70_1260829329.07487" 
-    capture_lex $P1130
-    $P1130()
-  if_1126_end:
-.annotate "line", 409
-    find_lex $P1162, "$/"
-    find_lex $P1163, "$past"
-    $P1164 = $P1162."!make"($P1163)
-.annotate "line", 395
-    .return ($P1164)
-  control_1117:
+  vivify_374:
+    $P1129 = $P1128."ast"()
+    $P1130 = $P1126."!make"($P1129)
+    .return ($P1130)
+  control_1123:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P1165, exception, "payload"
-    .return ($P1165)
+    getattribute $P1131, exception, "payload"
+    .return ($P1131)
 .end
 
 
 .namespace ["NQP";"Actions"]
-.sub "_block1129"  :anon :subid("70_1260829329.07487") :outer("69_1260829329.07487")
+.sub "routine_declarator:sym<method>"  :subid("70_1261019379.40749") :method :outer("11_1261019379.40749")
+    .param pmc param_1135
 .annotate "line", 400
-    new $P1131, "Undef"
-    .lex "$name", $P1131
-    find_lex $P1132, "$/"
-    unless_null $P1132, vivify_373
-    new $P1132, "Hash"
-  vivify_373:
-    set $P1133, $P1132["sigil"]
-    unless_null $P1133, vivify_374
-    new $P1133, "ResizablePMCArray"
-  vivify_374:
-    set $P1134, $P1133[0]
-    unless_null $P1134, vivify_375
-    new $P1134, "Undef"
-  vivify_375:
-    set $S1135, $P1134
-    new $P1136, 'String'
-    set $P1136, $S1135
+    new $P1134, 'ExceptionHandler'
+    set_addr $P1134, control_1133
+    $P1134."handle_types"(58)
+    push_eh $P1134
+    .lex "self", self
+    .lex "$/", param_1135
+    find_lex $P1136, "$/"
     find_lex $P1137, "$/"
-    unless_null $P1137, vivify_376
+    unless_null $P1137, vivify_375
     new $P1137, "Hash"
+  vivify_375:
+    set $P1138, $P1137["method_def"]
+    unless_null $P1138, vivify_376
+    new $P1138, "Undef"
   vivify_376:
-    set $P1138, $P1137["deflongname"]
-    unless_null $P1138, vivify_377
-    new $P1138, "ResizablePMCArray"
-  vivify_377:
-    set $P1139, $P1138[0]
-    unless_null $P1139, vivify_378
-    new $P1139, "Undef"
-  vivify_378:
-    $S1140 = $P1139."ast"()
-    concat $P1141, $P1136, $S1140
-    store_lex "$name", $P1141
-.annotate "line", 401
-    find_lex $P1142, "$past"
-    find_lex $P1143, "$name"
-    $P1142."name"($P1143)
+    $P1139 = $P1138."ast"()
+    $P1140 = $P1136."!make"($P1139)
+    .return ($P1140)
+  control_1133:
+    .local pmc exception 
+    .get_results (exception) 
+    getattribute $P1141, exception, "payload"
+    .return ($P1141)
+.end
+
+
+.namespace ["NQP";"Actions"]
+.sub "routine_def"  :subid("71_1261019379.40749") :method :outer("11_1261019379.40749")
+    .param pmc param_1145
 .annotate "line", 402
-    find_dynamic_lex $P1146, "$*SCOPE"
-    unless_null $P1146, vivify_379
-    get_hll_global $P1146, "$SCOPE"
-    unless_null $P1146, vivify_380
-    die "Contextual $*SCOPE not found"
-  vivify_380:
-  vivify_379:
-    set $S1147, $P1146
-    isne $I1148, $S1147, "our"
-    if $I1148, if_1145
-    new $P1144, 'Integer'
-    set $P1144, $I1148
-    goto if_1145_end
-  if_1145:
+    .const 'Sub' $P1156 = "72_1261019379.40749" 
+    capture_lex $P1156
+    new $P1144, 'ExceptionHandler'
+    set_addr $P1144, control_1143
+    $P1144."handle_types"(58)
+    push_eh $P1144
+    .lex "self", self
+    .lex "$/", param_1145
 .annotate "line", 403
-    get_global $P1149, "@BLOCK"
-    unless_null $P1149, vivify_381
-    new $P1149, "ResizablePMCArray"
-  vivify_381:
-    set $P1150, $P1149[0]
-    unless_null $P1150, vivify_382
-    new $P1150, "ResizablePMCArray"
-  vivify_382:
-    set $P1151, $P1150[0]
-    unless_null $P1151, vivify_383
-    new $P1151, "Undef"
-  vivify_383:
-    get_hll_global $P1152, ["PAST"], "Var"
-    find_lex $P1153, "$name"
-    find_lex $P1154, "$past"
-    $P1155 = $P1152."new"($P1153 :named("name"), 1 :named("isdecl"), $P1154 :named("viviself"), "lexical" :named("scope"))
-    $P1151."push"($P1155)
+    new $P1146, "Undef"
+    .lex "$past", $P1146
+    find_lex $P1147, "$/"
+    unless_null $P1147, vivify_377
+    new $P1147, "Hash"
+  vivify_377:
+    set $P1148, $P1147["blockoid"]
+    unless_null $P1148, vivify_378
+    new $P1148, "Undef"
+  vivify_378:
+    $P1149 = $P1148."ast"()
+    store_lex "$past", $P1149
+.annotate "line", 404
+    find_lex $P1150, "$past"
+    $P1150."blocktype"("declaration")
 .annotate "line", 405
-    get_global $P1156, "@BLOCK"
-    unless_null $P1156, vivify_384
-    new $P1156, "ResizablePMCArray"
-  vivify_384:
-    set $P1157, $P1156[0]
-    unless_null $P1157, vivify_385
-    new $P1157, "Undef"
-  vivify_385:
-    find_lex $P1158, "$name"
-    $P1157."symbol"($P1158, "lexical" :named("scope"))
+    find_lex $P1151, "$past"
+    $P1151."control"("return_pir")
 .annotate "line", 406
-    get_hll_global $P1159, ["PAST"], "Var"
-    find_lex $P1160, "$name"
-    $P1161 = $P1159."new"($P1160 :named("name"))
-    store_lex "$past", $P1161
+    find_lex $P1153, "$/"
+    unless_null $P1153, vivify_379
+    new $P1153, "Hash"
+  vivify_379:
+    set $P1154, $P1153["deflongname"]
+    unless_null $P1154, vivify_380
+    new $P1154, "Undef"
+  vivify_380:
+    unless $P1154, if_1152_end
+    .const 'Sub' $P1156 = "72_1261019379.40749" 
+    capture_lex $P1156
+    $P1156()
+  if_1152_end:
+.annotate "line", 416
+    find_lex $P1188, "$/"
+    find_lex $P1189, "$past"
+    $P1190 = $P1188."!make"($P1189)
 .annotate "line", 402
-    set $P1144, $P1161
-  if_1145_end:
-.annotate "line", 399
-    .return ($P1144)
+    .return ($P1190)
+  control_1143:
+    .local pmc exception 
+    .get_results (exception) 
+    getattribute $P1191, exception, "payload"
+    .return ($P1191)
 .end
 
 
 .namespace ["NQP";"Actions"]
-.sub "method_def"  :subid("71_1260829329.07487") :method :outer("11_1260829329.07487")
-    .param pmc param_1169
-.annotate "line", 413
-    .const 'Sub' $P1185 = "72_1260829329.07487" 
-    capture_lex $P1185
-    new $P1168, 'ExceptionHandler'
-    set_addr $P1168, control_1167
-    $P1168."handle_types"(58)
-    push_eh $P1168
-    .lex "self", self
-    .lex "$/", param_1169
-.annotate "line", 414
-    new $P1170, "Undef"
-    .lex "$past", $P1170
-    find_lex $P1171, "$/"
-    unless_null $P1171, vivify_386
-    new $P1171, "Hash"
+.sub "_block1155"  :anon :subid("72_1261019379.40749") :outer("71_1261019379.40749")
+.annotate "line", 407
+    new $P1157, "Undef"
+    .lex "$name", $P1157
+    find_lex $P1158, "$/"
+    unless_null $P1158, vivify_381
+    new $P1158, "Hash"
+  vivify_381:
+    set $P1159, $P1158["sigil"]
+    unless_null $P1159, vivify_382
+    new $P1159, "ResizablePMCArray"
+  vivify_382:
+    set $P1160, $P1159[0]
+    unless_null $P1160, vivify_383
+    new $P1160, "Undef"
+  vivify_383:
+    set $S1161, $P1160
+    new $P1162, 'String'
+    set $P1162, $S1161
+    find_lex $P1163, "$/"
+    unless_null $P1163, vivify_384
+    new $P1163, "Hash"
+  vivify_384:
+    set $P1164, $P1163["deflongname"]
+    unless_null $P1164, vivify_385
+    new $P1164, "ResizablePMCArray"
+  vivify_385:
+    set $P1165, $P1164[0]
+    unless_null $P1165, vivify_386
+    new $P1165, "Undef"
   vivify_386:
-    set $P1172, $P1171["blockoid"]
+    $S1166 = $P1165."ast"()
+    concat $P1167, $P1162, $S1166
+    store_lex "$name", $P1167
+.annotate "line", 408
+    find_lex $P1168, "$past"
+    find_lex $P1169, "$name"
+    $P1168."name"($P1169)
+.annotate "line", 409
+    find_dynamic_lex $P1172, "$*SCOPE"
     unless_null $P1172, vivify_387
-    new $P1172, "Undef"
+    get_hll_global $P1172, "$SCOPE"
+    unless_null $P1172, vivify_388
+    die "Contextual $*SCOPE not found"
+  vivify_388:
   vivify_387:
-    $P1173 = $P1172."ast"()
-    store_lex "$past", $P1173
-.annotate "line", 415
-    find_lex $P1174, "$past"
-    $P1174."blocktype"("method")
-.annotate "line", 416
-    find_lex $P1175, "$past"
-    $P1175."control"("return_pir")
-.annotate "line", 417
-    find_lex $P1176, "$past"
-    unless_null $P1176, vivify_388
+    set $S1173, $P1172
+    isne $I1174, $S1173, "our"
+    if $I1174, if_1171
+    new $P1170, 'Integer'
+    set $P1170, $I1174
+    goto if_1171_end
+  if_1171:
+.annotate "line", 410
+    get_global $P1175, "@BLOCK"
+    unless_null $P1175, vivify_389
+    new $P1175, "ResizablePMCArray"
+  vivify_389:
+    set $P1176, $P1175[0]
+    unless_null $P1176, vivify_390
     new $P1176, "ResizablePMCArray"
-  vivify_388:
+  vivify_390:
     set $P1177, $P1176[0]
-    unless_null $P1177, vivify_389
+    unless_null $P1177, vivify_391
     new $P1177, "Undef"
-  vivify_389:
-    get_hll_global $P1178, ["PAST"], "Op"
-    $P1179 = $P1178."new"("    .lex \"self\", self" :named("inline"))
-    $P1177."unshift"($P1179)
-.annotate "line", 418
+  vivify_391:
+    get_hll_global $P1178, ["PAST"], "Var"
+    find_lex $P1179, "$name"
     find_lex $P1180, "$past"
-    $P1180."symbol"("self", "lexical" :named("scope"))
-.annotate "line", 419
-    find_lex $P1182, "$/"
-    unless_null $P1182, vivify_390
-    new $P1182, "Hash"
-  vivify_390:
-    set $P1183, $P1182["deflongname"]
-    unless_null $P1183, vivify_391
+    $P1181 = $P1178."new"($P1179 :named("name"), 1 :named("isdecl"), $P1180 :named("viviself"), "lexical" :named("scope"))
+    $P1177."push"($P1181)
+.annotate "line", 412
+    get_global $P1182, "@BLOCK"
+    unless_null $P1182, vivify_392
+    new $P1182, "ResizablePMCArray"
+  vivify_392:
+    set $P1183, $P1182[0]
+    unless_null $P1183, vivify_393
     new $P1183, "Undef"
-  vivify_391:
-    unless $P1183, if_1181_end
-    .const 'Sub' $P1185 = "72_1260829329.07487" 
-    capture_lex $P1185
-    $P1185()
-  if_1181_end:
-.annotate "line", 423
-    find_lex $P1196, "$/"
-    find_lex $P1197, "$past"
-    $P1198 = $P1196."!make"($P1197)
+  vivify_393:
+    find_lex $P1184, "$name"
+    $P1183."symbol"($P1184, "lexical" :named("scope"))
 .annotate "line", 413
-    .return ($P1198)
-  control_1167:
-    .local pmc exception 
-    .get_results (exception) 
-    getattribute $P1199, exception, "payload"
-    .return ($P1199)
+    get_hll_global $P1185, ["PAST"], "Var"
+    find_lex $P1186, "$name"
+    $P1187 = $P1185."new"($P1186 :named("name"))
+    store_lex "$past", $P1187
+.annotate "line", 409
+    set $P1170, $P1187
+  if_1171_end:
+.annotate "line", 406
+    .return ($P1170)
 .end
 
 
 .namespace ["NQP";"Actions"]
-.sub "_block1184"  :anon :subid("72_1260829329.07487") :outer("71_1260829329.07487")
+.sub "method_def"  :subid("73_1261019379.40749") :method :outer("11_1261019379.40749")
+    .param pmc param_1195
 .annotate "line", 420
-    new $P1186, "Undef"
-    .lex "$name", $P1186
-    find_lex $P1187, "$/"
-    unless_null $P1187, vivify_392
-    new $P1187, "Hash"
-  vivify_392:
-    set $P1188, $P1187["deflongname"]
-    unless_null $P1188, vivify_393
-    new $P1188, "ResizablePMCArray"
-  vivify_393:
-    set $P1189, $P1188[0]
-    unless_null $P1189, vivify_394
-    new $P1189, "Undef"
-  vivify_394:
-    $P1190 = $P1189."ast"()
-    set $S1191, $P1190
-    new $P1192, 'String'
-    set $P1192, $S1191
-    store_lex "$name", $P1192
-.annotate "line", 421
-    find_lex $P1193, "$past"
-    find_lex $P1194, "$name"
-    $P1195 = $P1193."name"($P1194)
-.annotate "line", 419
-    .return ($P1195)
-.end
-
-
-.namespace ["NQP";"Actions"]
-.sub "signature"  :subid("73_1260829329.07487") :method :outer("11_1260829329.07487")
-    .param pmc param_1203
-.annotate "line", 427
-    .const 'Sub' $P1214 = "74_1260829329.07487" 
-    capture_lex $P1214
-    new $P1202, 'ExceptionHandler'
-    set_addr $P1202, control_1201
-    $P1202."handle_types"(58)
-    push_eh $P1202
+    .const 'Sub' $P1211 = "74_1261019379.40749" 
+    capture_lex $P1211
+    new $P1194, 'ExceptionHandler'
+    set_addr $P1194, control_1193
+    $P1194."handle_types"(58)
+    push_eh $P1194
     .lex "self", self
-    .lex "$/", param_1203
-.annotate "line", 428
-    new $P1204, "Undef"
-    .lex "$BLOCKINIT", $P1204
-    get_global $P1205, "@BLOCK"
-    unless_null $P1205, vivify_395
-    new $P1205, "ResizablePMCArray"
+    .lex "$/", param_1195
+.annotate "line", 421
+    new $P1196, "Undef"
+    .lex "$past", $P1196
+    find_lex $P1197, "$/"
+    unless_null $P1197, vivify_394
+    new $P1197, "Hash"
+  vivify_394:
+    set $P1198, $P1197["blockoid"]
+    unless_null $P1198, vivify_395
+    new $P1198, "Undef"
   vivify_395:
-    set $P1206, $P1205[0]
-    unless_null $P1206, vivify_396
-    new $P1206, "ResizablePMCArray"
+    $P1199 = $P1198."ast"()
+    store_lex "$past", $P1199
+.annotate "line", 422
+    find_lex $P1200, "$past"
+    $P1200."blocktype"("method")
+.annotate "line", 423
+    find_lex $P1201, "$past"
+    $P1201."control"("return_pir")
+.annotate "line", 424
+    find_lex $P1202, "$past"
+    unless_null $P1202, vivify_396
+    new $P1202, "ResizablePMCArray"
   vivify_396:
-    set $P1207, $P1206[0]
-    unless_null $P1207, vivify_397
-    new $P1207, "Undef"
+    set $P1203, $P1202[0]
+    unless_null $P1203, vivify_397
+    new $P1203, "Undef"
   vivify_397:
-    store_lex "$BLOCKINIT", $P1207
-.annotate "line", 429
-    find_lex $P1209, "$/"
-    unless_null $P1209, vivify_398
-    new $P1209, "Hash"
+    get_hll_global $P1204, ["PAST"], "Op"
+    $P1205 = $P1204."new"("    .lex \"self\", self" :named("inline"))
+    $P1203."unshift"($P1205)
+.annotate "line", 425
+    find_lex $P1206, "$past"
+    $P1206."symbol"("self", "lexical" :named("scope"))
+.annotate "line", 426
+    find_lex $P1208, "$/"
+    unless_null $P1208, vivify_398
+    new $P1208, "Hash"
   vivify_398:
-    set $P1210, $P1209["parameter"]
-    unless_null $P1210, vivify_399
-    new $P1210, "Undef"
+    set $P1209, $P1208["deflongname"]
+    unless_null $P1209, vivify_399
+    new $P1209, "Undef"
   vivify_399:
-    defined $I1211, $P1210
-    unless $I1211, for_undef_400
-    iter $P1208, $P1210
-    new $P1221, 'ExceptionHandler'
-    set_addr $P1221, loop1220_handler
-    $P1221."handle_types"(65, 67, 66)
-    push_eh $P1221
-  loop1220_test:
-    unless $P1208, loop1220_done
-    shift $P1212, $P1208
-  loop1220_redo:
-    .const 'Sub' $P1214 = "74_1260829329.07487" 
-    capture_lex $P1214
-    $P1214($P1212)
-  loop1220_next:
-    goto loop1220_test
-  loop1220_handler:
-    .local pmc exception 
-    .get_results (exception) 
-    getattribute $P1222, exception, 'type'
-    eq $P1222, 65, loop1220_next
-    eq $P1222, 67, loop1220_redo
-  loop1220_done:
-    pop_eh 
-  for_undef_400:
-.annotate "line", 427
-    .return ($P1208)
-  control_1201:
+    unless $P1209, if_1207_end
+    .const 'Sub' $P1211 = "74_1261019379.40749" 
+    capture_lex $P1211
+    $P1211()
+  if_1207_end:
+.annotate "line", 430
+    find_lex $P1222, "$/"
+    find_lex $P1223, "$past"
+    $P1224 = $P1222."!make"($P1223)
+.annotate "line", 420
+    .return ($P1224)
+  control_1193:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P1223, exception, "payload"
-    .return ($P1223)
+    getattribute $P1225, exception, "payload"
+    .return ($P1225)
 .end
 
 
 .namespace ["NQP";"Actions"]
-.sub "_block1213"  :anon :subid("74_1260829329.07487") :outer("73_1260829329.07487")
-    .param pmc param_1215
-.annotate "line", 429
-    .lex "$_", param_1215
-    find_lex $P1216, "$BLOCKINIT"
-    find_lex $P1217, "$_"
-    $P1218 = $P1217."ast"()
-    $P1219 = $P1216."push"($P1218)
-    .return ($P1219)
+.sub "_block1210"  :anon :subid("74_1261019379.40749") :outer("73_1261019379.40749")
+.annotate "line", 427
+    new $P1212, "Undef"
+    .lex "$name", $P1212
+    find_lex $P1213, "$/"
+    unless_null $P1213, vivify_400
+    new $P1213, "Hash"
+  vivify_400:
+    set $P1214, $P1213["deflongname"]
+    unless_null $P1214, vivify_401
+    new $P1214, "ResizablePMCArray"
+  vivify_401:
+    set $P1215, $P1214[0]
+    unless_null $P1215, vivify_402
+    new $P1215, "Undef"
+  vivify_402:
+    $P1216 = $P1215."ast"()
+    set $S1217, $P1216
+    new $P1218, 'String'
+    set $P1218, $S1217
+    store_lex "$name", $P1218
+.annotate "line", 428
+    find_lex $P1219, "$past"
+    find_lex $P1220, "$name"
+    $P1221 = $P1219."name"($P1220)
+.annotate "line", 426
+    .return ($P1221)
 .end
 
 
 .namespace ["NQP";"Actions"]
-.sub "parameter"  :subid("75_1260829329.07487") :method :outer("11_1260829329.07487")
-    .param pmc param_1227
-.annotate "line", 432
-    new $P1226, 'ExceptionHandler'
-    set_addr $P1226, control_1225
-    $P1226."handle_types"(58)
-    push_eh $P1226
-    .lex "self", self
-    .lex "$/", param_1227
-.annotate "line", 433
-    new $P1228, "Undef"
-    .lex "$quant", $P1228
+.sub "signature"  :subid("75_1261019379.40749") :method :outer("11_1261019379.40749")
+    .param pmc param_1229
 .annotate "line", 434
-    new $P1229, "Undef"
-    .lex "$past", $P1229
-.annotate "line", 433
-    find_lex $P1230, "$/"
-    unless_null $P1230, vivify_401
-    new $P1230, "Hash"
-  vivify_401:
-    set $P1231, $P1230["quant"]
-    unless_null $P1231, vivify_402
-    new $P1231, "Undef"
-  vivify_402:
-    store_lex "$quant", $P1231
-    find_lex $P1232, "$past"
+    .const 'Sub' $P1240 = "76_1261019379.40749" 
+    capture_lex $P1240
+    new $P1228, 'ExceptionHandler'
+    set_addr $P1228, control_1227
+    $P1228."handle_types"(58)
+    push_eh $P1228
+    .lex "self", self
+    .lex "$/", param_1229
 .annotate "line", 435
-    find_lex $P1234, "$/"
-    unless_null $P1234, vivify_403
-    new $P1234, "Hash"
+    new $P1230, "Undef"
+    .lex "$BLOCKINIT", $P1230
+    get_global $P1231, "@BLOCK"
+    unless_null $P1231, vivify_403
+    new $P1231, "ResizablePMCArray"
   vivify_403:
-    set $P1235, $P1234["named_param"]
-    unless_null $P1235, vivify_404
-    new $P1235, "Undef"
+    set $P1232, $P1231[0]
+    unless_null $P1232, vivify_404
+    new $P1232, "ResizablePMCArray"
   vivify_404:
-    if $P1235, if_1233
-.annotate "line", 442
-    find_lex $P1249, "$/"
-    unless_null $P1249, vivify_405
-    new $P1249, "Hash"
+    set $P1233, $P1232[0]
+    unless_null $P1233, vivify_405
+    new $P1233, "Undef"
   vivify_405:
-    set $P1250, $P1249["param_var"]
-    unless_null $P1250, vivify_406
-    new $P1250, "Undef"
+    store_lex "$BLOCKINIT", $P1233
+.annotate "line", 436
+    find_lex $P1235, "$/"
+    unless_null $P1235, vivify_406
+    new $P1235, "Hash"
   vivify_406:
-    $P1251 = $P1250."ast"()
-    store_lex "$past", $P1251
-.annotate "line", 443
-    find_lex $P1253, "$quant"
-    set $S1254, $P1253
-    iseq $I1255, $S1254, "*"
-    if $I1255, if_1252
-.annotate "line", 447
-    find_lex $P1264, "$quant"
-    set $S1265, $P1264
-    iseq $I1266, $S1265, "?"
-    unless $I1266, if_1263_end
-.annotate "line", 448
-    find_lex $P1267, "$past"
-    find_lex $P1268, "$/"
-    unless_null $P1268, vivify_407
-    new $P1268, "Hash"
+    set $P1236, $P1235["parameter"]
+    unless_null $P1236, vivify_407
+    new $P1236, "Undef"
   vivify_407:
-    set $P1269, $P1268["param_var"]
-    unless_null $P1269, vivify_408
-    new $P1269, "Hash"
-  vivify_408:
-    set $P1270, $P1269["sigil"]
-    unless_null $P1270, vivify_409
-    new $P1270, "Undef"
+    defined $I1237, $P1236
+    unless $I1237, for_undef_408
+    iter $P1234, $P1236
+    new $P1247, 'ExceptionHandler'
+    set_addr $P1247, loop1246_handler
+    $P1247."handle_types"(65, 67, 66)
+    push_eh $P1247
+  loop1246_test:
+    unless $P1234, loop1246_done
+    shift $P1238, $P1234
+  loop1246_redo:
+    .const 'Sub' $P1240 = "76_1261019379.40749" 
+    capture_lex $P1240
+    $P1240($P1238)
+  loop1246_next:
+    goto loop1246_test
+  loop1246_handler:
+    .local pmc exception 
+    .get_results (exception) 
+    getattribute $P1248, exception, 'type'
+    eq $P1248, 65, loop1246_next
+    eq $P1248, 67, loop1246_redo
+  loop1246_done:
+    pop_eh 
+  for_undef_408:
+.annotate "line", 434
+    .return ($P1234)
+  control_1227:
+    .local pmc exception 
+    .get_results (exception) 
+    getattribute $P1249, exception, "payload"
+    .return ($P1249)
+.end
+
+
+.namespace ["NQP";"Actions"]
+.sub "_block1239"  :anon :subid("76_1261019379.40749") :outer("75_1261019379.40749")
+    .param pmc param_1241
+.annotate "line", 436
+    .lex "$_", param_1241
+    find_lex $P1242, "$BLOCKINIT"
+    find_lex $P1243, "$_"
+    $P1244 = $P1243."ast"()
+    $P1245 = $P1242."push"($P1244)
+    .return ($P1245)
+.end
+
+
+.namespace ["NQP";"Actions"]
+.sub "parameter"  :subid("77_1261019379.40749") :method :outer("11_1261019379.40749")
+    .param pmc param_1253
+.annotate "line", 439
+    new $P1252, 'ExceptionHandler'
+    set_addr $P1252, control_1251
+    $P1252."handle_types"(58)
+    push_eh $P1252
+    .lex "self", self
+    .lex "$/", param_1253
+.annotate "line", 440
+    new $P1254, "Undef"
+    .lex "$quant", $P1254
+.annotate "line", 441
+    new $P1255, "Undef"
+    .lex "$past", $P1255
+.annotate "line", 440
+    find_lex $P1256, "$/"
+    unless_null $P1256, vivify_409
+    new $P1256, "Hash"
   vivify_409:
-    $P1271 = "sigiltype"($P1270)
-    $P1267."viviself"($P1271)
-  if_1263_end:
-.annotate "line", 447
-    goto if_1252_end
-  if_1252:
-.annotate "line", 444
-    find_lex $P1256, "$past"
-    $P1256."slurpy"(1)
-.annotate "line", 445
-    find_lex $P1257, "$past"
-    find_lex $P1258, "$/"
-    unless_null $P1258, vivify_410
-    new $P1258, "Hash"
+    set $P1257, $P1256["quant"]
+    unless_null $P1257, vivify_410
+    new $P1257, "Undef"
   vivify_410:
-    set $P1259, $P1258["param_var"]
-    unless_null $P1259, vivify_411
-    new $P1259, "Hash"
+    store_lex "$quant", $P1257
+    find_lex $P1258, "$past"
+.annotate "line", 442
+    find_lex $P1260, "$/"
+    unless_null $P1260, vivify_411
+    new $P1260, "Hash"
   vivify_411:
-    set $P1260, $P1259["sigil"]
-    unless_null $P1260, vivify_412
-    new $P1260, "Undef"
+    set $P1261, $P1260["named_param"]
+    unless_null $P1261, vivify_412
+    new $P1261, "Undef"
   vivify_412:
-    set $S1261, $P1260
-    iseq $I1262, $S1261, "%"
-    $P1257."named"($I1262)
-  if_1252_end:
-.annotate "line", 441
-    goto if_1233_end
-  if_1233:
-.annotate "line", 436
-    find_lex $P1236, "$/"
-    unless_null $P1236, vivify_413
-    new $P1236, "Hash"
+    if $P1261, if_1259
+.annotate "line", 449
+    find_lex $P1275, "$/"
+    unless_null $P1275, vivify_413
+    new $P1275, "Hash"
   vivify_413:
-    set $P1237, $P1236["named_param"]
-    unless_null $P1237, vivify_414
-    new $P1237, "Undef"
+    set $P1276, $P1275["param_var"]
+    unless_null $P1276, vivify_414
+    new $P1276, "Undef"
   vivify_414:
-    $P1238 = $P1237."ast"()
-    store_lex "$past", $P1238
-.annotate "line", 437
-    find_lex $P1240, "$quant"
-    set $S1241, $P1240
-    isne $I1242, $S1241, "!"
-    unless $I1242, if_1239_end
-.annotate "line", 438
-    find_lex $P1243, "$past"
-    find_lex $P1244, "$/"
-    unless_null $P1244, vivify_415
-    new $P1244, "Hash"
+    $P1277 = $P1276."ast"()
+    store_lex "$past", $P1277
+.annotate "line", 450
+    find_lex $P1279, "$quant"
+    set $S1280, $P1279
+    iseq $I1281, $S1280, "*"
+    if $I1281, if_1278
+.annotate "line", 454
+    find_lex $P1290, "$quant"
+    set $S1291, $P1290
+    iseq $I1292, $S1291, "?"
+    unless $I1292, if_1289_end
+.annotate "line", 455
+    find_lex $P1293, "$past"
+    find_lex $P1294, "$/"
+    unless_null $P1294, vivify_415
+    new $P1294, "Hash"
   vivify_415:
-    set $P1245, $P1244["named_param"]
-    unless_null $P1245, vivify_416
-    new $P1245, "Hash"
+    set $P1295, $P1294["param_var"]
+    unless_null $P1295, vivify_416
+    new $P1295, "Hash"
   vivify_416:
-    set $P1246, $P1245["param_var"]
-    unless_null $P1246, vivify_417
-    new $P1246, "Hash"
+    set $P1296, $P1295["sigil"]
+    unless_null $P1296, vivify_417
+    new $P1296, "Undef"
   vivify_417:
-    set $P1247, $P1246["sigil"]
-    unless_null $P1247, vivify_418
-    new $P1247, "Undef"
-  vivify_418:
-    $P1248 = "sigiltype"($P1247)
-    $P1243."viviself"($P1248)
-  if_1239_end:
-  if_1233_end:
+    $P1297 = "sigiltype"($P1296)
+    $P1293."viviself"($P1297)
+  if_1289_end:
+.annotate "line", 454
+    goto if_1278_end
+  if_1278:
 .annotate "line", 451
-    find_lex $P1273, "$/"
-    unless_null $P1273, vivify_419
-    new $P1273, "Hash"
+    find_lex $P1282, "$past"
+    $P1282."slurpy"(1)
+.annotate "line", 452
+    find_lex $P1283, "$past"
+    find_lex $P1284, "$/"
+    unless_null $P1284, vivify_418
+    new $P1284, "Hash"
+  vivify_418:
+    set $P1285, $P1284["param_var"]
+    unless_null $P1285, vivify_419
+    new $P1285, "Hash"
   vivify_419:
-    set $P1274, $P1273["default_value"]
-    unless_null $P1274, vivify_420
-    new $P1274, "Undef"
+    set $P1286, $P1285["sigil"]
+    unless_null $P1286, vivify_420
+    new $P1286, "Undef"
   vivify_420:
-    unless $P1274, if_1272_end
-.annotate "line", 452
-    find_lex $P1276, "$quant"
-    set $S1277, $P1276
-    iseq $I1278, $S1277, "*"
-    unless $I1278, if_1275_end
-.annotate "line", 453
-    find_lex $P1279, "$/"
-    $P1280 = $P1279."CURSOR"()
-    $P1280."panic"("Can't put default on slurpy parameter")
-  if_1275_end:
-.annotate "line", 455
-    find_lex $P1282, "$quant"
-    set $S1283, $P1282
-    iseq $I1284, $S1283, "!"
-    unless $I1284, if_1281_end
-.annotate "line", 456
-    find_lex $P1285, "$/"
-    $P1286 = $P1285."CURSOR"()
-    $P1286."panic"("Can't put default on required parameter")
-  if_1281_end:
-.annotate "line", 458
-    find_lex $P1287, "$past"
-    find_lex $P1288, "$/"
-    unless_null $P1288, vivify_421
-    new $P1288, "Hash"
+    set $S1287, $P1286
+    iseq $I1288, $S1287, "%"
+    $P1283."named"($I1288)
+  if_1278_end:
+.annotate "line", 448
+    goto if_1259_end
+  if_1259:
+.annotate "line", 443
+    find_lex $P1262, "$/"
+    unless_null $P1262, vivify_421
+    new $P1262, "Hash"
   vivify_421:
-    set $P1289, $P1288["default_value"]
-    unless_null $P1289, vivify_422
-    new $P1289, "ResizablePMCArray"
+    set $P1263, $P1262["named_param"]
+    unless_null $P1263, vivify_422
+    new $P1263, "Undef"
   vivify_422:
-    set $P1290, $P1289[0]
-    unless_null $P1290, vivify_423
-    new $P1290, "Hash"
+    $P1264 = $P1263."ast"()
+    store_lex "$past", $P1264
+.annotate "line", 444
+    find_lex $P1266, "$quant"
+    set $S1267, $P1266
+    isne $I1268, $S1267, "!"
+    unless $I1268, if_1265_end
+.annotate "line", 445
+    find_lex $P1269, "$past"
+    find_lex $P1270, "$/"
+    unless_null $P1270, vivify_423
+    new $P1270, "Hash"
   vivify_423:
-    set $P1291, $P1290["EXPR"]
-    unless_null $P1291, vivify_424
-    new $P1291, "Undef"
+    set $P1271, $P1270["named_param"]
+    unless_null $P1271, vivify_424
+    new $P1271, "Hash"
   vivify_424:
-    $P1292 = $P1291."ast"()
-    $P1287."viviself"($P1292)
-  if_1272_end:
-.annotate "line", 460
-    find_lex $P1294, "$past"
-    $P1295 = $P1294."viviself"()
-    if $P1295, unless_1293_end
-    get_global $P1296, "@BLOCK"
-    unless_null $P1296, vivify_425
-    new $P1296, "ResizablePMCArray"
+    set $P1272, $P1271["param_var"]
+    unless_null $P1272, vivify_425
+    new $P1272, "Hash"
   vivify_425:
-    set $P1297, $P1296[0]
-    unless_null $P1297, vivify_426
-    new $P1297, "Undef"
+    set $P1273, $P1272["sigil"]
+    unless_null $P1273, vivify_426
+    new $P1273, "Undef"
   vivify_426:
-    get_global $P1298, "@BLOCK"
-    unless_null $P1298, vivify_427
-    new $P1298, "ResizablePMCArray"
+    $P1274 = "sigiltype"($P1273)
+    $P1269."viviself"($P1274)
+  if_1265_end:
+  if_1259_end:
+.annotate "line", 458
+    find_lex $P1299, "$/"
+    unless_null $P1299, vivify_427
+    new $P1299, "Hash"
   vivify_427:
-    set $P1299, $P1298[0]
-    unless_null $P1299, vivify_428
-    new $P1299, "Undef"
+    set $P1300, $P1299["default_value"]
+    unless_null $P1300, vivify_428
+    new $P1300, "Undef"
   vivify_428:
-    $P1300 = $P1299."arity"()
-    set $N1301, $P1300
-    new $P1302, 'Float'
-    set $P1302, $N1301
-    add $P1303, $P1302, 1
-    $P1297."arity"($P1303)
-  unless_1293_end:
-.annotate "line", 461
-    find_lex $P1304, "$/"
-    find_lex $P1305, "$past"
-    $P1306 = $P1304."!make"($P1305)
-.annotate "line", 432
-    .return ($P1306)
-  control_1225:
-    .local pmc exception 
-    .get_results (exception) 
-    getattribute $P1307, exception, "payload"
-    .return ($P1307)
-.end
-
-
-.namespace ["NQP";"Actions"]
-.sub "param_var"  :subid("76_1260829329.07487") :method :outer("11_1260829329.07487")
-    .param pmc param_1311
-.annotate "line", 464
-    new $P1310, 'ExceptionHandler'
-    set_addr $P1310, control_1309
-    $P1310."handle_types"(58)
-    push_eh $P1310
-    .lex "self", self
-    .lex "$/", param_1311
-.annotate "line", 465
-    new $P1312, "Undef"
-    .lex "$name", $P1312
-.annotate "line", 466
-    new $P1313, "Undef"
-    .lex "$past", $P1313
+    unless $P1300, if_1298_end
+.annotate "line", 459
+    find_lex $P1302, "$quant"
+    set $S1303, $P1302
+    iseq $I1304, $S1303, "*"
+    unless $I1304, if_1301_end
+.annotate "line", 460
+    find_lex $P1305, "$/"
+    $P1306 = $P1305."CURSOR"()
+    $P1306."panic"("Can't put default on slurpy parameter")
+  if_1301_end:
+.annotate "line", 462
+    find_lex $P1308, "$quant"
+    set $S1309, $P1308
+    iseq $I1310, $S1309, "!"
+    unless $I1310, if_1307_end
+.annotate "line", 463
+    find_lex $P1311, "$/"
+    $P1312 = $P1311."CURSOR"()
+    $P1312."panic"("Can't put default on required parameter")
+  if_1307_end:
 .annotate "line", 465
+    find_lex $P1313, "$past"
     find_lex $P1314, "$/"
-    set $S1315, $P1314
-    new $P1316, 'String'
-    set $P1316, $S1315
-    store_lex "$name", $P1316
-.annotate "line", 466
-    get_hll_global $P1317, ["PAST"], "Var"
-    find_lex $P1318, "$name"
-    find_lex $P1319, "$/"
-    $P1320 = $P1317."new"($P1318 :named("name"), "parameter" :named("scope"), 1 :named("isdecl"), $P1319 :named("node"))
-    store_lex "$past", $P1320
-.annotate "line", 468
-    get_global $P1321, "@BLOCK"
-    unless_null $P1321, vivify_429
-    new $P1321, "ResizablePMCArray"
+    unless_null $P1314, vivify_429
+    new $P1314, "Hash"
   vivify_429:
-    set $P1322, $P1321[0]
-    unless_null $P1322, vivify_430
-    new $P1322, "Undef"
+    set $P1315, $P1314["default_value"]
+    unless_null $P1315, vivify_430
+    new $P1315, "ResizablePMCArray"
   vivify_430:
-    find_lex $P1323, "$name"
-    $P1322."symbol"($P1323, "lexical" :named("scope"))
-.annotate "line", 469
-    find_lex $P1324, "$/"
-    find_lex $P1325, "$past"
-    $P1326 = $P1324."!make"($P1325)
-.annotate "line", 464
-    .return ($P1326)
-  control_1309:
-    .local pmc exception 
-    .get_results (exception) 
-    getattribute $P1327, exception, "payload"
-    .return ($P1327)
-.end
-
-
-.namespace ["NQP";"Actions"]
-.sub "named_param"  :subid("77_1260829329.07487") :method :outer("11_1260829329.07487")
-    .param pmc param_1331
-.annotate "line", 472
-    new $P1330, 'ExceptionHandler'
-    set_addr $P1330, control_1329
-    $P1330."handle_types"(58)
-    push_eh $P1330
-    .lex "self", self
-    .lex "$/", param_1331
-.annotate "line", 473
-    new $P1332, "Undef"
-    .lex "$past", $P1332
-    find_lex $P1333, "$/"
-    unless_null $P1333, vivify_431
-    new $P1333, "Hash"
+    set $P1316, $P1315[0]
+    unless_null $P1316, vivify_431
+    new $P1316, "Hash"
   vivify_431:
-    set $P1334, $P1333["param_var"]
-    unless_null $P1334, vivify_432
-    new $P1334, "Undef"
+    set $P1317, $P1316["EXPR"]
+    unless_null $P1317, vivify_432
+    new $P1317, "Undef"
   vivify_432:
-    $P1335 = $P1334."ast"()
-    store_lex "$past", $P1335
-.annotate "line", 474
-    find_lex $P1336, "$past"
-    find_lex $P1337, "$/"
-    unless_null $P1337, vivify_433
-    new $P1337, "Hash"
+    $P1318 = $P1317."ast"()
+    $P1313."viviself"($P1318)
+  if_1298_end:
+.annotate "line", 467
+    find_lex $P1320, "$past"
+    $P1321 = $P1320."viviself"()
+    if $P1321, unless_1319_end
+    get_global $P1322, "@BLOCK"
+    unless_null $P1322, vivify_433
+    new $P1322, "ResizablePMCArray"
   vivify_433:
-    set $P1338, $P1337["param_var"]
-    unless_null $P1338, vivify_434
-    new $P1338, "Hash"
+    set $P1323, $P1322[0]
+    unless_null $P1323, vivify_434
+    new $P1323, "Undef"
   vivify_434:
-    set $P1339, $P1338["name"]
-    unless_null $P1339, vivify_435
-    new $P1339, "Undef"
+    get_global $P1324, "@BLOCK"
+    unless_null $P1324, vivify_435
+    new $P1324, "ResizablePMCArray"
   vivify_435:
-    set $S1340, $P1339
-    $P1336."named"($S1340)
-.annotate "line", 475
-    find_lex $P1341, "$/"
-    find_lex $P1342, "$past"
-    $P1343 = $P1341."!make"($P1342)
-.annotate "line", 472
-    .return ($P1343)
-  control_1329:
+    set $P1325, $P1324[0]
+    unless_null $P1325, vivify_436
+    new $P1325, "Undef"
+  vivify_436:
+    $P1326 = $P1325."arity"()
+    set $N1327, $P1326
+    new $P1328, 'Float'
+    set $P1328, $N1327
+    add $P1329, $P1328, 1
+    $P1323."arity"($P1329)
+  unless_1319_end:
+.annotate "line", 468
+    find_lex $P1330, "$/"
+    find_lex $P1331, "$past"
+    $P1332 = $P1330."!make"($P1331)
+.annotate "line", 439
+    .return ($P1332)
+  control_1251:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P1344, exception, "payload"
-    .return ($P1344)
+    getattribute $P1333, exception, "payload"
+    .return ($P1333)
 .end
 
 
 .namespace ["NQP";"Actions"]
-.sub "regex_declarator"  :subid("78_1260829329.07487") :method :outer("11_1260829329.07487")
-    .param pmc param_1348
-    .param pmc param_1349 :optional
-    .param int has_param_1349 :opt_flag
-.annotate "line", 478
-    .const 'Sub' $P1419 = "80_1260829329.07487" 
-    capture_lex $P1419
-    .const 'Sub' $P1391 = "79_1260829329.07487" 
-    capture_lex $P1391
-    new $P1347, 'ExceptionHandler'
-    set_addr $P1347, control_1346
-    $P1347."handle_types"(58)
-    push_eh $P1347
-    .lex "self", self
-    .lex "$/", param_1348
-    if has_param_1349, optparam_436
-    new $P1350, "Undef"
-    set param_1349, $P1350
-  optparam_436:
-    .lex "$key", param_1349
-.annotate "line", 479
-    new $P1351, "ResizablePMCArray"
-    .lex "@MODIFIERS", $P1351
-.annotate "line", 482
-    new $P1352, "Undef"
-    .lex "$name", $P1352
-.annotate "line", 483
-    new $P1353, "Undef"
-    .lex "$past", $P1353
-.annotate "line", 479
-
-        $P1354 = get_hll_global ['Regex';'P6Regex';'Actions'], '@MODIFIERS'
-    
-    store_lex "@MODIFIERS", $P1354
-.annotate "line", 482
-    find_lex $P1355, "$/"
-    unless_null $P1355, vivify_437
-    new $P1355, "Hash"
+.sub "param_var"  :subid("78_1261019379.40749") :method :outer("11_1261019379.40749")
+    .param pmc param_1337
+.annotate "line", 471
+    new $P1336, 'ExceptionHandler'
+    set_addr $P1336, control_1335
+    $P1336."handle_types"(58)
+    push_eh $P1336
+    .lex "self", self
+    .lex "$/", param_1337
+.annotate "line", 472
+    new $P1338, "Undef"
+    .lex "$name", $P1338
+.annotate "line", 473
+    new $P1339, "Undef"
+    .lex "$past", $P1339
+.annotate "line", 472
+    find_lex $P1340, "$/"
+    set $S1341, $P1340
+    new $P1342, 'String'
+    set $P1342, $S1341
+    store_lex "$name", $P1342
+.annotate "line", 473
+    get_hll_global $P1343, ["PAST"], "Var"
+    find_lex $P1344, "$name"
+    find_lex $P1345, "$/"
+    $P1346 = $P1343."new"($P1344 :named("name"), "parameter" :named("scope"), 1 :named("isdecl"), $P1345 :named("node"))
+    store_lex "$past", $P1346
+.annotate "line", 475
+    get_global $P1347, "@BLOCK"
+    unless_null $P1347, vivify_437
+    new $P1347, "ResizablePMCArray"
   vivify_437:
-    set $P1356, $P1355["deflongname"]
-    unless_null $P1356, vivify_438
-    new $P1356, "Undef"
+    set $P1348, $P1347[0]
+    unless_null $P1348, vivify_438
+    new $P1348, "Undef"
   vivify_438:
-    $P1357 = $P1356."ast"()
-    set $S1358, $P1357
-    new $P1359, 'String'
-    set $P1359, $S1358
-    store_lex "$name", $P1359
-    find_lex $P1360, "$past"
-.annotate "line", 484
-    find_lex $P1362, "$/"
-    unless_null $P1362, vivify_439
-    new $P1362, "Hash"
-  vivify_439:
-    set $P1363, $P1362["proto"]
-    unless_null $P1363, vivify_440
-    new $P1363, "Undef"
-  vivify_440:
-    if $P1363, if_1361
-.annotate "line", 511
-    find_lex $P1387, "$key"
-    set $S1388, $P1387
-    iseq $I1389, $S1388, "open"
-    if $I1389, if_1386
-.annotate "line", 524
-    .const 'Sub' $P1419 = "80_1260829329.07487" 
-    capture_lex $P1419
-    $P1419()
-    goto if_1386_end
-  if_1386:
-.annotate "line", 511
-    .const 'Sub' $P1391 = "79_1260829329.07487" 
-    capture_lex $P1391
-    $P1391()
-  if_1386_end:
-    goto if_1361_end
-  if_1361:
-.annotate "line", 486
-    get_hll_global $P1364, ["PAST"], "Stmts"
-.annotate "line", 487
-    get_hll_global $P1365, ["PAST"], "Block"
-    find_lex $P1366, "$name"
-.annotate "line", 488
-    get_hll_global $P1367, ["PAST"], "Op"
-.annotate "line", 489
-    get_hll_global $P1368, ["PAST"], "Var"
-    $P1369 = $P1368."new"("self" :named("name"), "register" :named("scope"))
-    find_lex $P1370, "$name"
-    $P1371 = $P1367."new"($P1369, $P1370, "!protoregex" :named("name"), "callmethod" :named("pasttype"))
-.annotate "line", 488
-    find_lex $P1372, "$/"
-    $P1373 = $P1365."new"($P1371, $P1366 :named("name"), "method" :named("blocktype"), 0 :named("lexical"), $P1372 :named("node"))
-.annotate "line", 498
-    get_hll_global $P1374, ["PAST"], "Block"
-    new $P1375, "String"
-    assign $P1375, "!PREFIX__"
-    find_lex $P1376, "$name"
-    concat $P1377, $P1375, $P1376
-.annotate "line", 499
-    get_hll_global $P1378, ["PAST"], "Op"
-.annotate "line", 500
-    get_hll_global $P1379, ["PAST"], "Var"
-    $P1380 = $P1379."new"("self" :named("name"), "register" :named("scope"))
-    find_lex $P1381, "$name"
-    $P1382 = $P1378."new"($P1380, $P1381, "!PREFIX__!protoregex" :named("name"), "callmethod" :named("pasttype"))
-.annotate "line", 499
-    find_lex $P1383, "$/"
-    $P1384 = $P1374."new"($P1382, $P1377 :named("name"), "method" :named("blocktype"), 0 :named("lexical"), $P1383 :named("node"))
-.annotate "line", 498
-    $P1385 = $P1364."new"($P1373, $P1384)
-.annotate "line", 486
-    store_lex "$past", $P1385
-  if_1361_end:
-.annotate "line", 538
-    find_lex $P1440, "$/"
-    find_lex $P1441, "$past"
-    $P1442 = $P1440."!make"($P1441)
-.annotate "line", 478
-    .return ($P1442)
-  control_1346:
+    find_lex $P1349, "$name"
+    $P1348."symbol"($P1349, "lexical" :named("scope"))
+.annotate "line", 476
+    find_lex $P1350, "$/"
+    find_lex $P1351, "$past"
+    $P1352 = $P1350."!make"($P1351)
+.annotate "line", 471
+    .return ($P1352)
+  control_1335:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P1443, exception, "payload"
-    .return ($P1443)
+    getattribute $P1353, exception, "payload"
+    .return ($P1353)
 .end
 
 
 .namespace ["NQP";"Actions"]
-.sub "_block1418"  :anon :subid("80_1260829329.07487") :outer("78_1260829329.07487")
-.annotate "line", 525
-    new $P1420, "Undef"
-    .lex "$regex", $P1420
-.annotate "line", 526
-    get_hll_global $P1421, ["Regex";"P6Regex";"Actions"], "buildsub"
-    find_lex $P1422, "$/"
-    unless_null $P1422, vivify_441
-    new $P1422, "Hash"
+.sub "named_param"  :subid("79_1261019379.40749") :method :outer("11_1261019379.40749")
+    .param pmc param_1357
+.annotate "line", 479
+    new $P1356, 'ExceptionHandler'
+    set_addr $P1356, control_1355
+    $P1356."handle_types"(58)
+    push_eh $P1356
+    .lex "self", self
+    .lex "$/", param_1357
+.annotate "line", 480
+    new $P1358, "Undef"
+    .lex "$past", $P1358
+    find_lex $P1359, "$/"
+    unless_null $P1359, vivify_439
+    new $P1359, "Hash"
+  vivify_439:
+    set $P1360, $P1359["param_var"]
+    unless_null $P1360, vivify_440
+    new $P1360, "Undef"
+  vivify_440:
+    $P1361 = $P1360."ast"()
+    store_lex "$past", $P1361
+.annotate "line", 481
+    find_lex $P1362, "$past"
+    find_lex $P1363, "$/"
+    unless_null $P1363, vivify_441
+    new $P1363, "Hash"
   vivify_441:
-    set $P1423, $P1422["p6regex"]
-    unless_null $P1423, vivify_442
-    new $P1423, "Undef"
+    set $P1364, $P1363["param_var"]
+    unless_null $P1364, vivify_442
+    new $P1364, "Hash"
   vivify_442:
-    $P1424 = $P1423."ast"()
-    get_global $P1425, "@BLOCK"
-    $P1426 = $P1425."shift"()
-    $P1427 = $P1421($P1424, $P1426)
-    store_lex "$regex", $P1427
-.annotate "line", 527
-    find_lex $P1428, "$regex"
-    find_lex $P1429, "$name"
-    $P1428."name"($P1429)
-.annotate "line", 529
-    get_hll_global $P1430, ["PAST"], "Op"
-.annotate "line", 531
-    get_hll_global $P1431, ["PAST"], "Var"
-    new $P1432, "ResizablePMCArray"
-    push $P1432, "Regex"
-    $P1433 = $P1431."new"("Method" :named("name"), $P1432 :named("namespace"), "package" :named("scope"))
-    find_lex $P1434, "$regex"
-    $P1435 = $P1430."new"($P1433, $P1434, "callmethod" :named("pasttype"), "new" :named("name"))
-.annotate "line", 529
-    store_lex "$past", $P1435
-.annotate "line", 535
-    find_lex $P1436, "$regex"
-    find_lex $P1437, "$past"
-    unless_null $P1437, vivify_443
-    new $P1437, "Hash"
-    store_lex "$past", $P1437
+    set $P1365, $P1364["name"]
+    unless_null $P1365, vivify_443
+    new $P1365, "Undef"
   vivify_443:
-    set $P1437["sink"], $P1436
-.annotate "line", 536
-    find_lex $P1438, "@MODIFIERS"
-    $P1439 = $P1438."shift"()
-.annotate "line", 524
-    .return ($P1439)
+    set $S1366, $P1365
+    $P1362."named"($S1366)
+.annotate "line", 482
+    find_lex $P1367, "$/"
+    find_lex $P1368, "$past"
+    $P1369 = $P1367."!make"($P1368)
+.annotate "line", 479
+    .return ($P1369)
+  control_1355:
+    .local pmc exception 
+    .get_results (exception) 
+    getattribute $P1370, exception, "payload"
+    .return ($P1370)
 .end
 
 
 .namespace ["NQP";"Actions"]
-.sub "_block1390"  :anon :subid("79_1260829329.07487") :outer("78_1260829329.07487")
-.annotate "line", 512
-    new $P1392, "Hash"
-    .lex "%h", $P1392
-.annotate "line", 511
-    find_lex $P1393, "%h"
-.annotate "line", 513
-    find_lex $P1395, "$/"
-    unless_null $P1395, vivify_444
-    new $P1395, "Hash"
-  vivify_444:
-    set $P1396, $P1395["sym"]
-    unless_null $P1396, vivify_445
-    new $P1396, "Undef"
+.sub "regex_declarator"  :subid("80_1261019379.40749") :method :outer("11_1261019379.40749")
+    .param pmc param_1374
+    .param pmc param_1375 :optional
+    .param int has_param_1375 :opt_flag
+.annotate "line", 485
+    .const 'Sub' $P1445 = "82_1261019379.40749" 
+    capture_lex $P1445
+    .const 'Sub' $P1417 = "81_1261019379.40749" 
+    capture_lex $P1417
+    new $P1373, 'ExceptionHandler'
+    set_addr $P1373, control_1372
+    $P1373."handle_types"(58)
+    push_eh $P1373
+    .lex "self", self
+    .lex "$/", param_1374
+    if has_param_1375, optparam_444
+    new $P1376, "Undef"
+    set param_1375, $P1376
+  optparam_444:
+    .lex "$key", param_1375
+.annotate "line", 486
+    new $P1377, "ResizablePMCArray"
+    .lex "@MODIFIERS", $P1377
+.annotate "line", 489
+    new $P1378, "Undef"
+    .lex "$name", $P1378
+.annotate "line", 490
+    new $P1379, "Undef"
+    .lex "$past", $P1379
+.annotate "line", 486
+
+        $P1380 = get_hll_global ['Regex';'P6Regex';'Actions'], '@MODIFIERS'
+    
+    store_lex "@MODIFIERS", $P1380
+.annotate "line", 489
+    find_lex $P1381, "$/"
+    unless_null $P1381, vivify_445
+    new $P1381, "Hash"
   vivify_445:
-    set $S1397, $P1396
-    iseq $I1398, $S1397, "token"
-    unless $I1398, if_1394_end
-    new $P1399, "Integer"
-    assign $P1399, 1
-    find_lex $P1400, "%h"
-    unless_null $P1400, vivify_446
-    new $P1400, "Hash"
-    store_lex "%h", $P1400
+    set $P1382, $P1381["deflongname"]
+    unless_null $P1382, vivify_446
+    new $P1382, "Undef"
   vivify_446:
-    set $P1400["r"], $P1399
-  if_1394_end:
-.annotate "line", 514
-    find_lex $P1402, "$/"
-    unless_null $P1402, vivify_447
-    new $P1402, "Hash"
+    $P1383 = $P1382."ast"()
+    set $S1384, $P1383
+    new $P1385, 'String'
+    set $P1385, $S1384
+    store_lex "$name", $P1385
+    find_lex $P1386, "$past"
+.annotate "line", 491
+    find_lex $P1388, "$/"
+    unless_null $P1388, vivify_447
+    new $P1388, "Hash"
   vivify_447:
-    set $P1403, $P1402["sym"]
-    unless_null $P1403, vivify_448
-    new $P1403, "Undef"
+    set $P1389, $P1388["proto"]
+    unless_null $P1389, vivify_448
+    new $P1389, "Undef"
   vivify_448:
-    set $S1404, $P1403
-    iseq $I1405, $S1404, "rule"
-    unless $I1405, if_1401_end
-    new $P1406, "Integer"
-    assign $P1406, 1
-    find_lex $P1407, "%h"
-    unless_null $P1407, vivify_449
-    new $P1407, "Hash"
-    store_lex "%h", $P1407
-  vivify_449:
-    set $P1407["r"], $P1406
-    new $P1408, "Integer"
-    assign $P1408, 1
-    find_lex $P1409, "%h"
-    unless_null $P1409, vivify_450
-    new $P1409, "Hash"
-    store_lex "%h", $P1409
-  vivify_450:
-    set $P1409["s"], $P1408
-  if_1401_end:
-.annotate "line", 515
-    find_lex $P1410, "@MODIFIERS"
-    find_lex $P1411, "%h"
-    $P1410."unshift"($P1411)
-.annotate "line", 516
-
-            $P0 = find_lex '$name'
-            set_hll_global ['Regex';'P6Regex';'Actions'], '$REGEXNAME', $P0
-        
-.annotate "line", 520
-    get_global $P1412, "@BLOCK"
-    unless_null $P1412, vivify_451
-    new $P1412, "ResizablePMCArray"
-  vivify_451:
-    set $P1413, $P1412[0]
-    unless_null $P1413, vivify_452
-    new $P1413, "Undef"
-  vivify_452:
-    $P1413."symbol"(unicode:"$\x{a2}", "lexical" :named("scope"))
-.annotate "line", 521
-    get_global $P1414, "@BLOCK"
-    unless_null $P1414, vivify_453
-    new $P1414, "ResizablePMCArray"
-  vivify_453:
-    set $P1415, $P1414[0]
-    unless_null $P1415, vivify_454
-    new $P1415, "Undef"
-  vivify_454:
-    $P1415."symbol"("$/", "lexical" :named("scope"))
-.annotate "line", 522
-    new $P1416, "Exception"
-    set $P1416['type'], 58
-    new $P1417, "Integer"
-    assign $P1417, 0
-    setattribute $P1416, 'payload', $P1417
-    throw $P1416
-.annotate "line", 511
-    .return ()
+    if $P1389, if_1387
+.annotate "line", 518
+    find_lex $P1413, "$key"
+    set $S1414, $P1413
+    iseq $I1415, $S1414, "open"
+    if $I1415, if_1412
+.annotate "line", 531
+    .const 'Sub' $P1445 = "82_1261019379.40749" 
+    capture_lex $P1445
+    $P1445()
+    goto if_1412_end
+  if_1412:
+.annotate "line", 518
+    .const 'Sub' $P1417 = "81_1261019379.40749" 
+    capture_lex $P1417
+    $P1417()
+  if_1412_end:
+    goto if_1387_end
+  if_1387:
+.annotate "line", 493
+    get_hll_global $P1390, ["PAST"], "Stmts"
+.annotate "line", 494
+    get_hll_global $P1391, ["PAST"], "Block"
+    find_lex $P1392, "$name"
+.annotate "line", 495
+    get_hll_global $P1393, ["PAST"], "Op"
+.annotate "line", 496
+    get_hll_global $P1394, ["PAST"], "Var"
+    $P1395 = $P1394."new"("self" :named("name"), "register" :named("scope"))
+    find_lex $P1396, "$name"
+    $P1397 = $P1393."new"($P1395, $P1396, "!protoregex" :named("name"), "callmethod" :named("pasttype"))
+.annotate "line", 495
+    find_lex $P1398, "$/"
+    $P1399 = $P1391."new"($P1397, $P1392 :named("name"), "method" :named("blocktype"), 0 :named("lexical"), $P1398 :named("node"))
+.annotate "line", 505
+    get_hll_global $P1400, ["PAST"], "Block"
+    new $P1401, "String"
+    assign $P1401, "!PREFIX__"
+    find_lex $P1402, "$name"
+    concat $P1403, $P1401, $P1402
+.annotate "line", 506
+    get_hll_global $P1404, ["PAST"], "Op"
+.annotate "line", 507
+    get_hll_global $P1405, ["PAST"], "Var"
+    $P1406 = $P1405."new"("self" :named("name"), "register" :named("scope"))
+    find_lex $P1407, "$name"
+    $P1408 = $P1404."new"($P1406, $P1407, "!PREFIX__!protoregex" :named("name"), "callmethod" :named("pasttype"))
+.annotate "line", 506
+    find_lex $P1409, "$/"
+    $P1410 = $P1400."new"($P1408, $P1403 :named("name"), "method" :named("blocktype"), 0 :named("lexical"), $P1409 :named("node"))
+.annotate "line", 505
+    $P1411 = $P1390."new"($P1399, $P1410)
+.annotate "line", 493
+    store_lex "$past", $P1411
+  if_1387_end:
+.annotate "line", 545
+    find_lex $P1466, "$/"
+    find_lex $P1467, "$past"
+    $P1468 = $P1466."!make"($P1467)
+.annotate "line", 485
+    .return ($P1468)
+  control_1372:
+    .local pmc exception 
+    .get_results (exception) 
+    getattribute $P1469, exception, "payload"
+    .return ($P1469)
 .end
 
 
 .namespace ["NQP";"Actions"]
-.sub "dotty"  :subid("81_1260829329.07487") :method :outer("11_1260829329.07487")
-    .param pmc param_1447
+.sub "_block1444"  :anon :subid("82_1261019379.40749") :outer("80_1261019379.40749")
+.annotate "line", 532
+    new $P1446, "Undef"
+    .lex "$regex", $P1446
+.annotate "line", 533
+    get_hll_global $P1447, ["Regex";"P6Regex";"Actions"], "buildsub"
+    find_lex $P1448, "$/"
+    unless_null $P1448, vivify_449
+    new $P1448, "Hash"
+  vivify_449:
+    set $P1449, $P1448["p6regex"]
+    unless_null $P1449, vivify_450
+    new $P1449, "Undef"
+  vivify_450:
+    $P1450 = $P1449."ast"()
+    get_global $P1451, "@BLOCK"
+    $P1452 = $P1451."shift"()
+    $P1453 = $P1447($P1450, $P1452)
+    store_lex "$regex", $P1453
+.annotate "line", 534
+    find_lex $P1454, "$regex"
+    find_lex $P1455, "$name"
+    $P1454."name"($P1455)
+.annotate "line", 536
+    get_hll_global $P1456, ["PAST"], "Op"
+.annotate "line", 538
+    get_hll_global $P1457, ["PAST"], "Var"
+    new $P1458, "ResizablePMCArray"
+    push $P1458, "Regex"
+    $P1459 = $P1457."new"("Method" :named("name"), $P1458 :named("namespace"), "package" :named("scope"))
+    find_lex $P1460, "$regex"
+    $P1461 = $P1456."new"($P1459, $P1460, "callmethod" :named("pasttype"), "new" :named("name"))
+.annotate "line", 536
+    store_lex "$past", $P1461
 .annotate "line", 542
-    new $P1446, 'ExceptionHandler'
-    set_addr $P1446, control_1445
-    $P1446."handle_types"(58)
-    push_eh $P1446
-    .lex "self", self
-    .lex "$/", param_1447
+    find_lex $P1462, "$regex"
+    find_lex $P1463, "$past"
+    unless_null $P1463, vivify_451
+    new $P1463, "Hash"
+    store_lex "$past", $P1463
+  vivify_451:
+    set $P1463["sink"], $P1462
 .annotate "line", 543
-    new $P1448, "Undef"
-    .lex "$past", $P1448
-    find_lex $P1451, "$/"
-    unless_null $P1451, vivify_455
-    new $P1451, "Hash"
+    find_lex $P1464, "@MODIFIERS"
+    $P1465 = $P1464."shift"()
+.annotate "line", 531
+    .return ($P1465)
+.end
+
+
+.namespace ["NQP";"Actions"]
+.sub "_block1416"  :anon :subid("81_1261019379.40749") :outer("80_1261019379.40749")
+.annotate "line", 519
+    new $P1418, "Hash"
+    .lex "%h", $P1418
+.annotate "line", 518
+    find_lex $P1419, "%h"
+.annotate "line", 520
+    find_lex $P1421, "$/"
+    unless_null $P1421, vivify_452
+    new $P1421, "Hash"
+  vivify_452:
+    set $P1422, $P1421["sym"]
+    unless_null $P1422, vivify_453
+    new $P1422, "Undef"
+  vivify_453:
+    set $S1423, $P1422
+    iseq $I1424, $S1423, "token"
+    unless $I1424, if_1420_end
+    new $P1425, "Integer"
+    assign $P1425, 1
+    find_lex $P1426, "%h"
+    unless_null $P1426, vivify_454
+    new $P1426, "Hash"
+    store_lex "%h", $P1426
+  vivify_454:
+    set $P1426["r"], $P1425
+  if_1420_end:
+.annotate "line", 521
+    find_lex $P1428, "$/"
+    unless_null $P1428, vivify_455
+    new $P1428, "Hash"
   vivify_455:
-    set $P1452, $P1451["args"]
-    unless_null $P1452, vivify_456
-    new $P1452, "Undef"
+    set $P1429, $P1428["sym"]
+    unless_null $P1429, vivify_456
+    new $P1429, "Undef"
   vivify_456:
-    if $P1452, if_1450
-    get_hll_global $P1457, ["PAST"], "Op"
-    find_lex $P1458, "$/"
-    $P1459 = $P1457."new"($P1458 :named("node"))
-    set $P1449, $P1459
-    goto if_1450_end
-  if_1450:
-    find_lex $P1453, "$/"
-    unless_null $P1453, vivify_457
-    new $P1453, "Hash"
+    set $S1430, $P1429
+    iseq $I1431, $S1430, "rule"
+    unless $I1431, if_1427_end
+    new $P1432, "Integer"
+    assign $P1432, 1
+    find_lex $P1433, "%h"
+    unless_null $P1433, vivify_457
+    new $P1433, "Hash"
+    store_lex "%h", $P1433
   vivify_457:
-    set $P1454, $P1453["args"]
-    unless_null $P1454, vivify_458
-    new $P1454, "ResizablePMCArray"
+    set $P1433["r"], $P1432
+    new $P1434, "Integer"
+    assign $P1434, 1
+    find_lex $P1435, "%h"
+    unless_null $P1435, vivify_458
+    new $P1435, "Hash"
+    store_lex "%h", $P1435
   vivify_458:
-    set $P1455, $P1454[0]
-    unless_null $P1455, vivify_459
-    new $P1455, "Undef"
+    set $P1435["s"], $P1434
+  if_1427_end:
+.annotate "line", 522
+    find_lex $P1436, "@MODIFIERS"
+    find_lex $P1437, "%h"
+    $P1436."unshift"($P1437)
+.annotate "line", 523
+
+            $P0 = find_lex '$name'
+            set_hll_global ['Regex';'P6Regex';'Actions'], '$REGEXNAME', $P0
+        
+.annotate "line", 527
+    get_global $P1438, "@BLOCK"
+    unless_null $P1438, vivify_459
+    new $P1438, "ResizablePMCArray"
   vivify_459:
-    $P1456 = $P1455."ast"()
-    set $P1449, $P1456
-  if_1450_end:
-    store_lex "$past", $P1449
-.annotate "line", 544
-    find_lex $P1460, "$past"
-    find_lex $P1463, "$/"
-    unless_null $P1463, vivify_460
-    new $P1463, "Hash"
+    set $P1439, $P1438[0]
+    unless_null $P1439, vivify_460
+    new $P1439, "Undef"
   vivify_460:
-    set $P1464, $P1463["quote"]
-    unless_null $P1464, vivify_461
-    new $P1464, "Undef"
+    $P1439."symbol"(unicode:"$\x{a2}", "lexical" :named("scope"))
+.annotate "line", 528
+    get_global $P1440, "@BLOCK"
+    unless_null $P1440, vivify_461
+    new $P1440, "ResizablePMCArray"
   vivify_461:
-    if $P1464, if_1462
-    find_lex $P1468, "$/"
-    unless_null $P1468, vivify_462
-    new $P1468, "Hash"
+    set $P1441, $P1440[0]
+    unless_null $P1441, vivify_462
+    new $P1441, "Undef"
   vivify_462:
-    set $P1469, $P1468["longname"]
-    unless_null $P1469, vivify_463
-    new $P1469, "Undef"
-  vivify_463:
-    set $S1470, $P1469
-    new $P1461, 'String'
-    set $P1461, $S1470
-    goto if_1462_end
-  if_1462:
-    find_lex $P1465, "$/"
-    unless_null $P1465, vivify_464
-    new $P1465, "Hash"
-  vivify_464:
-    set $P1466, $P1465["quote"]
-    unless_null $P1466, vivify_465
-    new $P1466, "Undef"
-  vivify_465:
-    $P1467 = $P1466."ast"()
-    set $P1461, $P1467
-  if_1462_end:
-    $P1460."name"($P1461)
-.annotate "line", 545
-    find_lex $P1471, "$past"
-    $P1471."pasttype"("callmethod")
-.annotate "line", 546
-    find_lex $P1472, "$/"
-    find_lex $P1473, "$past"
-    $P1474 = $P1472."!make"($P1473)
-.annotate "line", 542
-    .return ($P1474)
-  control_1445:
-    .local pmc exception 
-    .get_results (exception) 
-    getattribute $P1475, exception, "payload"
-    .return ($P1475)
+    $P1441."symbol"("$/", "lexical" :named("scope"))
+.annotate "line", 529
+    new $P1442, "Exception"
+    set $P1442['type'], 58
+    new $P1443, "Integer"
+    assign $P1443, 0
+    setattribute $P1442, 'payload', $P1443
+    throw $P1442
+.annotate "line", 518
+    .return ()
 .end
 
 
 .namespace ["NQP";"Actions"]
-.sub "term:sym<self>"  :subid("82_1260829329.07487") :method :outer("11_1260829329.07487")
-    .param pmc param_1479
+.sub "dotty"  :subid("83_1261019379.40749") :method :outer("11_1261019379.40749")
+    .param pmc param_1473
+.annotate "line", 549
+    new $P1472, 'ExceptionHandler'
+    set_addr $P1472, control_1471
+    $P1472."handle_types"(58)
+    push_eh $P1472
+    .lex "self", self
+    .lex "$/", param_1473
+.annotate "line", 550
+    new $P1474, "Undef"
+    .lex "$past", $P1474
+    find_lex $P1477, "$/"
+    unless_null $P1477, vivify_463
+    new $P1477, "Hash"
+  vivify_463:
+    set $P1478, $P1477["args"]
+    unless_null $P1478, vivify_464
+    new $P1478, "Undef"
+  vivify_464:
+    if $P1478, if_1476
+    get_hll_global $P1483, ["PAST"], "Op"
+    find_lex $P1484, "$/"
+    $P1485 = $P1483."new"($P1484 :named("node"))
+    set $P1475, $P1485
+    goto if_1476_end
+  if_1476:
+    find_lex $P1479, "$/"
+    unless_null $P1479, vivify_465
+    new $P1479, "Hash"
+  vivify_465:
+    set $P1480, $P1479["args"]
+    unless_null $P1480, vivify_466
+    new $P1480, "ResizablePMCArray"
+  vivify_466:
+    set $P1481, $P1480[0]
+    unless_null $P1481, vivify_467
+    new $P1481, "Undef"
+  vivify_467:
+    $P1482 = $P1481."ast"()
+    set $P1475, $P1482
+  if_1476_end:
+    store_lex "$past", $P1475
 .annotate "line", 551
-    new $P1478, 'ExceptionHandler'
-    set_addr $P1478, control_1477
-    $P1478."handle_types"(58)
-    push_eh $P1478
-    .lex "self", self
-    .lex "$/", param_1479
+    find_lex $P1486, "$past"
+    find_lex $P1489, "$/"
+    unless_null $P1489, vivify_468
+    new $P1489, "Hash"
+  vivify_468:
+    set $P1490, $P1489["quote"]
+    unless_null $P1490, vivify_469
+    new $P1490, "Undef"
+  vivify_469:
+    if $P1490, if_1488
+    find_lex $P1494, "$/"
+    unless_null $P1494, vivify_470
+    new $P1494, "Hash"
+  vivify_470:
+    set $P1495, $P1494["longname"]
+    unless_null $P1495, vivify_471
+    new $P1495, "Undef"
+  vivify_471:
+    set $S1496, $P1495
+    new $P1487, 'String'
+    set $P1487, $S1496
+    goto if_1488_end
+  if_1488:
+    find_lex $P1491, "$/"
+    unless_null $P1491, vivify_472
+    new $P1491, "Hash"
+  vivify_472:
+    set $P1492, $P1491["quote"]
+    unless_null $P1492, vivify_473
+    new $P1492, "Undef"
+  vivify_473:
+    $P1493 = $P1492."ast"()
+    set $P1487, $P1493
+  if_1488_end:
+    $P1486."name"($P1487)
 .annotate "line", 552
-    find_lex $P1480, "$/"
-    get_hll_global $P1481, ["PAST"], "Var"
-    $P1482 = $P1481."new"("self" :named("name"))
-    $P1483 = $P1480."!make"($P1482)
-.annotate "line", 551
-    .return ($P1483)
-  control_1477:
+    find_lex $P1497, "$past"
+    $P1497."pasttype"("callmethod")
+.annotate "line", 553
+    find_lex $P1498, "$/"
+    find_lex $P1499, "$past"
+    $P1500 = $P1498."!make"($P1499)
+.annotate "line", 549
+    .return ($P1500)
+  control_1471:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P1484, exception, "payload"
-    .return ($P1484)
+    getattribute $P1501, exception, "payload"
+    .return ($P1501)
 .end
 
 
 .namespace ["NQP";"Actions"]
-.sub "term:sym<identifier>"  :subid("83_1260829329.07487") :method :outer("11_1260829329.07487")
-    .param pmc param_1488
-.annotate "line", 555
-    new $P1487, 'ExceptionHandler'
-    set_addr $P1487, control_1486
-    $P1487."handle_types"(58)
-    push_eh $P1487
-    .lex "self", self
-    .lex "$/", param_1488
-.annotate "line", 556
-    new $P1489, "Undef"
-    .lex "$past", $P1489
-    find_lex $P1490, "$/"
-    unless_null $P1490, vivify_466
-    new $P1490, "Hash"
-  vivify_466:
-    set $P1491, $P1490["args"]
-    unless_null $P1491, vivify_467
-    new $P1491, "Undef"
-  vivify_467:
-    $P1492 = $P1491."ast"()
-    store_lex "$past", $P1492
-.annotate "line", 557
-    find_lex $P1493, "$past"
-    find_lex $P1494, "$/"
-    unless_null $P1494, vivify_468
-    new $P1494, "Hash"
-  vivify_468:
-    set $P1495, $P1494["identifier"]
-    unless_null $P1495, vivify_469
-    new $P1495, "Undef"
-  vivify_469:
-    set $S1496, $P1495
-    $P1493."name"($S1496)
+.sub "term:sym<self>"  :subid("84_1261019379.40749") :method :outer("11_1261019379.40749")
+    .param pmc param_1505
+.annotate "line", 558
+    new $P1504, 'ExceptionHandler'
+    set_addr $P1504, control_1503
+    $P1504."handle_types"(58)
+    push_eh $P1504
+    .lex "self", self
+    .lex "$/", param_1505
+.annotate "line", 559
+    find_lex $P1506, "$/"
+    get_hll_global $P1507, ["PAST"], "Var"
+    $P1508 = $P1507."new"("self" :named("name"))
+    $P1509 = $P1506."!make"($P1508)
 .annotate "line", 558
-    find_lex $P1497, "$/"
-    find_lex $P1498, "$past"
-    $P1499 = $P1497."!make"($P1498)
-.annotate "line", 555
-    .return ($P1499)
-  control_1486:
+    .return ($P1509)
+  control_1503:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P1500, exception, "payload"
-    .return ($P1500)
+    getattribute $P1510, exception, "payload"
+    .return ($P1510)
 .end
 
 
 .namespace ["NQP";"Actions"]
-.sub "term:sym<name>"  :subid("84_1260829329.07487") :method :outer("11_1260829329.07487")
-    .param pmc param_1504
-.annotate "line", 561
-    new $P1503, 'ExceptionHandler'
-    set_addr $P1503, control_1502
-    $P1503."handle_types"(58)
-    push_eh $P1503
-    .lex "self", self
-    .lex "$/", param_1504
-.annotate "line", 562
-    new $P1505, "ResizablePMCArray"
-    .lex "@ns", $P1505
-.annotate "line", 563
-    new $P1506, "Undef"
-    .lex "$name", $P1506
-.annotate "line", 565
-    new $P1507, "Undef"
-    .lex "$var", $P1507
-.annotate "line", 567
-    new $P1508, "Undef"
-    .lex "$past", $P1508
+.sub "term:sym<identifier>"  :subid("85_1261019379.40749") :method :outer("11_1261019379.40749")
+    .param pmc param_1514
 .annotate "line", 562
-    find_lex $P1509, "$/"
-    unless_null $P1509, vivify_470
-    new $P1509, "Hash"
-  vivify_470:
-    set $P1510, $P1509["name"]
-    unless_null $P1510, vivify_471
-    new $P1510, "Hash"
-  vivify_471:
-    set $P1511, $P1510["identifier"]
-    unless_null $P1511, vivify_472
-    new $P1511, "Undef"
-  vivify_472:
-    clone $P1512, $P1511
-    store_lex "@ns", $P1512
+    new $P1513, 'ExceptionHandler'
+    set_addr $P1513, control_1512
+    $P1513."handle_types"(58)
+    push_eh $P1513
+    .lex "self", self
+    .lex "$/", param_1514
 .annotate "line", 563
-    find_lex $P1513, "@ns"
-    $P1514 = $P1513."pop"()
-    store_lex "$name", $P1514
-.annotate "line", 564
-    find_lex $P1518, "@ns"
-    if $P1518, if_1517
-    set $P1516, $P1518
-    goto if_1517_end
-  if_1517:
-    find_lex $P1519, "@ns"
-    unless_null $P1519, vivify_473
-    new $P1519, "ResizablePMCArray"
-  vivify_473:
-    set $P1520, $P1519[0]
-    unless_null $P1520, vivify_474
-    new $P1520, "Undef"
+    new $P1515, "Undef"
+    .lex "$past", $P1515
+    find_lex $P1516, "$/"
+    unless_null $P1516, vivify_474
+    new $P1516, "Hash"
   vivify_474:
-    set $S1521, $P1520
-    iseq $I1522, $S1521, "GLOBAL"
-    new $P1516, 'Integer'
-    set $P1516, $I1522
-  if_1517_end:
-    unless $P1516, if_1515_end
-    find_lex $P1523, "@ns"
-    $P1523."shift"()
-  if_1515_end:
-.annotate "line", 566
-    get_hll_global $P1524, ["PAST"], "Var"
-    find_lex $P1525, "$name"
-    set $S1526, $P1525
-    find_lex $P1527, "@ns"
-    $P1528 = $P1524."new"($S1526 :named("name"), $P1527 :named("namespace"), "package" :named("scope"))
-    store_lex "$var", $P1528
-.annotate "line", 567
-    find_lex $P1529, "$var"
-    store_lex "$past", $P1529
-.annotate "line", 568
-    find_lex $P1531, "$/"
-    unless_null $P1531, vivify_475
-    new $P1531, "Hash"
+    set $P1517, $P1516["args"]
+    unless_null $P1517, vivify_475
+    new $P1517, "Undef"
   vivify_475:
-    set $P1532, $P1531["args"]
-    unless_null $P1532, vivify_476
-    new $P1532, "Undef"
+    $P1518 = $P1517."ast"()
+    store_lex "$past", $P1518
+.annotate "line", 564
+    find_lex $P1519, "$past"
+    find_lex $P1520, "$/"
+    unless_null $P1520, vivify_476
+    new $P1520, "Hash"
   vivify_476:
-    unless $P1532, if_1530_end
-.annotate "line", 569
-    find_lex $P1533, "$/"
-    unless_null $P1533, vivify_477
-    new $P1533, "Hash"
+    set $P1521, $P1520["identifier"]
+    unless_null $P1521, vivify_477
+    new $P1521, "Undef"
   vivify_477:
-    set $P1534, $P1533["args"]
-    unless_null $P1534, vivify_478
-    new $P1534, "ResizablePMCArray"
-  vivify_478:
-    set $P1535, $P1534[0]
-    unless_null $P1535, vivify_479
-    new $P1535, "Undef"
-  vivify_479:
-    $P1536 = $P1535."ast"()
-    store_lex "$past", $P1536
-.annotate "line", 570
-    find_lex $P1537, "$past"
-    find_lex $P1538, "$var"
-    $P1537."unshift"($P1538)
-  if_1530_end:
-.annotate "line", 572
-    find_lex $P1539, "$/"
-    find_lex $P1540, "$past"
-    $P1541 = $P1539."!make"($P1540)
-.annotate "line", 561
-    .return ($P1541)
-  control_1502:
+    set $S1522, $P1521
+    $P1519."name"($S1522)
+.annotate "line", 565
+    find_lex $P1523, "$/"
+    find_lex $P1524, "$past"
+    $P1525 = $P1523."!make"($P1524)
+.annotate "line", 562
+    .return ($P1525)
+  control_1512:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P1542, exception, "payload"
-    .return ($P1542)
+    getattribute $P1526, exception, "payload"
+    .return ($P1526)
 .end
 
 
 .namespace ["NQP";"Actions"]
-.sub "term:sym<pir::op>"  :subid("85_1260829329.07487") :method :outer("11_1260829329.07487")
-    .param pmc param_1546
-.annotate "line", 575
-    new $P1545, 'ExceptionHandler'
-    set_addr $P1545, control_1544
-    $P1545."handle_types"(58)
-    push_eh $P1545
+.sub "term:sym<name>"  :subid("86_1261019379.40749") :method :outer("11_1261019379.40749")
+    .param pmc param_1530
+.annotate "line", 568
+    new $P1529, 'ExceptionHandler'
+    set_addr $P1529, control_1528
+    $P1529."handle_types"(58)
+    push_eh $P1529
     .lex "self", self
-    .lex "$/", param_1546
-.annotate "line", 576
-    new $P1547, "Undef"
-    .lex "$past", $P1547
-.annotate "line", 577
-    new $P1548, "Undef"
-    .lex "$pirop", $P1548
-.annotate "line", 576
-    find_lex $P1551, "$/"
-    unless_null $P1551, vivify_480
-    new $P1551, "Hash"
+    .lex "$/", param_1530
+.annotate "line", 569
+    new $P1531, "ResizablePMCArray"
+    .lex "@ns", $P1531
+.annotate "line", 570
+    new $P1532, "Undef"
+    .lex "$name", $P1532
+.annotate "line", 572
+    new $P1533, "Undef"
+    .lex "$var", $P1533
+.annotate "line", 574
+    new $P1534, "Undef"
+    .lex "$past", $P1534
+.annotate "line", 569
+    find_lex $P1535, "$/"
+    unless_null $P1535, vivify_478
+    new $P1535, "Hash"
+  vivify_478:
+    set $P1536, $P1535["name"]
+    unless_null $P1536, vivify_479
+    new $P1536, "Hash"
+  vivify_479:
+    set $P1537, $P1536["identifier"]
+    unless_null $P1537, vivify_480
+    new $P1537, "Undef"
   vivify_480:
-    set $P1552, $P1551["args"]
-    unless_null $P1552, vivify_481
-    new $P1552, "Undef"
+    clone $P1538, $P1537
+    store_lex "@ns", $P1538
+.annotate "line", 570
+    find_lex $P1539, "@ns"
+    $P1540 = $P1539."pop"()
+    store_lex "$name", $P1540
+.annotate "line", 571
+    find_lex $P1544, "@ns"
+    if $P1544, if_1543
+    set $P1542, $P1544
+    goto if_1543_end
+  if_1543:
+    find_lex $P1545, "@ns"
+    unless_null $P1545, vivify_481
+    new $P1545, "ResizablePMCArray"
   vivify_481:
-    if $P1552, if_1550
-    get_hll_global $P1557, ["PAST"], "Op"
-    find_lex $P1558, "$/"
-    $P1559 = $P1557."new"($P1558 :named("node"))
-    set $P1549, $P1559
-    goto if_1550_end
-  if_1550:
-    find_lex $P1553, "$/"
-    unless_null $P1553, vivify_482
-    new $P1553, "Hash"
+    set $P1546, $P1545[0]
+    unless_null $P1546, vivify_482
+    new $P1546, "Undef"
   vivify_482:
-    set $P1554, $P1553["args"]
-    unless_null $P1554, vivify_483
-    new $P1554, "ResizablePMCArray"
+    set $S1547, $P1546
+    iseq $I1548, $S1547, "GLOBAL"
+    new $P1542, 'Integer'
+    set $P1542, $I1548
+  if_1543_end:
+    unless $P1542, if_1541_end
+    find_lex $P1549, "@ns"
+    $P1549."shift"()
+  if_1541_end:
+.annotate "line", 573
+    get_hll_global $P1550, ["PAST"], "Var"
+    find_lex $P1551, "$name"
+    set $S1552, $P1551
+    find_lex $P1553, "@ns"
+    $P1554 = $P1550."new"($S1552 :named("name"), $P1553 :named("namespace"), "package" :named("scope"))
+    store_lex "$var", $P1554
+.annotate "line", 574
+    find_lex $P1555, "$var"
+    store_lex "$past", $P1555
+.annotate "line", 575
+    find_lex $P1557, "$/"
+    unless_null $P1557, vivify_483
+    new $P1557, "Hash"
   vivify_483:
-    set $P1555, $P1554[0]
-    unless_null $P1555, vivify_484
-    new $P1555, "Undef"
+    set $P1558, $P1557["args"]
+    unless_null $P1558, vivify_484
+    new $P1558, "Undef"
   vivify_484:
-    $P1556 = $P1555."ast"()
-    set $P1549, $P1556
-  if_1550_end:
-    store_lex "$past", $P1549
-.annotate "line", 577
-    find_lex $P1560, "$/"
-    unless_null $P1560, vivify_485
-    new $P1560, "Hash"
+    unless $P1558, if_1556_end
+.annotate "line", 576
+    find_lex $P1559, "$/"
+    unless_null $P1559, vivify_485
+    new $P1559, "Hash"
   vivify_485:
-    set $P1561, $P1560["op"]
-    unless_null $P1561, vivify_486
-    new $P1561, "Undef"
+    set $P1560, $P1559["args"]
+    unless_null $P1560, vivify_486
+    new $P1560, "ResizablePMCArray"
   vivify_486:
-    set $S1562, $P1561
-    new $P1563, 'String'
-    set $P1563, $S1562
-    store_lex "$pirop", $P1563
-.annotate "line", 578
+    set $P1561, $P1560[0]
+    unless_null $P1561, vivify_487
+    new $P1561, "Undef"
+  vivify_487:
+    $P1562 = $P1561."ast"()
+    store_lex "$past", $P1562
+.annotate "line", 577
+    find_lex $P1563, "$past"
+    find_lex $P1564, "$var"
+    $P1563."unshift"($P1564)
+  if_1556_end:
+.annotate "line", 579
+    find_lex $P1565, "$/"
+    find_lex $P1566, "$past"
+    $P1567 = $P1565."!make"($P1566)
+.annotate "line", 568
+    .return ($P1567)
+  control_1528:
+    .local pmc exception 
+    .get_results (exception) 
+    getattribute $P1568, exception, "payload"
+    .return ($P1568)
+.end
+
+
+.namespace ["NQP";"Actions"]
+.sub "term:sym<pir::op>"  :subid("87_1261019379.40749") :method :outer("11_1261019379.40749")
+    .param pmc param_1572
+.annotate "line", 582
+    new $P1571, 'ExceptionHandler'
+    set_addr $P1571, control_1570
+    $P1571."handle_types"(58)
+    push_eh $P1571
+    .lex "self", self
+    .lex "$/", param_1572
+.annotate "line", 583
+    new $P1573, "Undef"
+    .lex "$past", $P1573
+.annotate "line", 584
+    new $P1574, "Undef"
+    .lex "$pirop", $P1574
+.annotate "line", 583
+    find_lex $P1577, "$/"
+    unless_null $P1577, vivify_488
+    new $P1577, "Hash"
+  vivify_488:
+    set $P1578, $P1577["args"]
+    unless_null $P1578, vivify_489
+    new $P1578, "Undef"
+  vivify_489:
+    if $P1578, if_1576
+    get_hll_global $P1583, ["PAST"], "Op"
+    find_lex $P1584, "$/"
+    $P1585 = $P1583."new"($P1584 :named("node"))
+    set $P1575, $P1585
+    goto if_1576_end
+  if_1576:
+    find_lex $P1579, "$/"
+    unless_null $P1579, vivify_490
+    new $P1579, "Hash"
+  vivify_490:
+    set $P1580, $P1579["args"]
+    unless_null $P1580, vivify_491
+    new $P1580, "ResizablePMCArray"
+  vivify_491:
+    set $P1581, $P1580[0]
+    unless_null $P1581, vivify_492
+    new $P1581, "Undef"
+  vivify_492:
+    $P1582 = $P1581."ast"()
+    set $P1575, $P1582
+  if_1576_end:
+    store_lex "$past", $P1575
+.annotate "line", 584
+    find_lex $P1586, "$/"
+    unless_null $P1586, vivify_493
+    new $P1586, "Hash"
+  vivify_493:
+    set $P1587, $P1586["op"]
+    unless_null $P1587, vivify_494
+    new $P1587, "Undef"
+  vivify_494:
+    set $S1588, $P1587
+    new $P1589, 'String'
+    set $P1589, $S1588
+    store_lex "$pirop", $P1589
+.annotate "line", 585
 
         $P0 = find_lex '$pirop'
         $S0 = $P0
         $P0 = split '__', $S0
         $S0 = join ' ', $P0
-        $P1564 = box $S0
+        $P1590 = box $S0
     
-    store_lex "$pirop", $P1564
-.annotate "line", 585
-    find_lex $P1565, "$past"
-    find_lex $P1566, "$pirop"
-    $P1565."pirop"($P1566)
-.annotate "line", 586
-    find_lex $P1567, "$past"
-    $P1567."pasttype"("pirop")
-.annotate "line", 587
-    find_lex $P1568, "$/"
-    find_lex $P1569, "$past"
-    $P1570 = $P1568."!make"($P1569)
-.annotate "line", 575
-    .return ($P1570)
-  control_1544:
+    store_lex "$pirop", $P1590
+.annotate "line", 592
+    find_lex $P1591, "$past"
+    find_lex $P1592, "$pirop"
+    $P1591."pirop"($P1592)
+.annotate "line", 593
+    find_lex $P1593, "$past"
+    $P1593."pasttype"("pirop")
+.annotate "line", 594
+    find_lex $P1594, "$/"
+    find_lex $P1595, "$past"
+    $P1596 = $P1594."!make"($P1595)
+.annotate "line", 582
+    .return ($P1596)
+  control_1570:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P1571, exception, "payload"
-    .return ($P1571)
+    getattribute $P1597, exception, "payload"
+    .return ($P1597)
 .end
 
 
 .namespace ["NQP";"Actions"]
-.sub "args"  :subid("86_1260829329.07487") :method :outer("11_1260829329.07487")
-    .param pmc param_1575
-.annotate "line", 590
-    new $P1574, 'ExceptionHandler'
-    set_addr $P1574, control_1573
-    $P1574."handle_types"(58)
-    push_eh $P1574
-    .lex "self", self
-    .lex "$/", param_1575
-    find_lex $P1576, "$/"
-    find_lex $P1577, "$/"
-    unless_null $P1577, vivify_487
-    new $P1577, "Hash"
-  vivify_487:
-    set $P1578, $P1577["arglist"]
-    unless_null $P1578, vivify_488
-    new $P1578, "Undef"
-  vivify_488:
-    $P1579 = $P1578."ast"()
-    $P1580 = $P1576."!make"($P1579)
-    .return ($P1580)
-  control_1573:
+.sub "args"  :subid("88_1261019379.40749") :method :outer("11_1261019379.40749")
+    .param pmc param_1601
+.annotate "line", 597
+    new $P1600, 'ExceptionHandler'
+    set_addr $P1600, control_1599
+    $P1600."handle_types"(58)
+    push_eh $P1600
+    .lex "self", self
+    .lex "$/", param_1601
+    find_lex $P1602, "$/"
+    find_lex $P1603, "$/"
+    unless_null $P1603, vivify_495
+    new $P1603, "Hash"
+  vivify_495:
+    set $P1604, $P1603["arglist"]
+    unless_null $P1604, vivify_496
+    new $P1604, "Undef"
+  vivify_496:
+    $P1605 = $P1604."ast"()
+    $P1606 = $P1602."!make"($P1605)
+    .return ($P1606)
+  control_1599:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P1581, exception, "payload"
-    .return ($P1581)
+    getattribute $P1607, exception, "payload"
+    .return ($P1607)
 .end
 
 
 .namespace ["NQP";"Actions"]
-.sub "arglist"  :subid("87_1260829329.07487") :method :outer("11_1260829329.07487")
-    .param pmc param_1585
-.annotate "line", 592
-    .const 'Sub' $P1596 = "88_1260829329.07487" 
-    capture_lex $P1596
-    new $P1584, 'ExceptionHandler'
-    set_addr $P1584, control_1583
-    $P1584."handle_types"(58)
-    push_eh $P1584
-    .lex "self", self
-    .lex "$/", param_1585
-.annotate "line", 593
-    new $P1586, "Undef"
-    .lex "$past", $P1586
-.annotate "line", 601
-    new $P1587, "Undef"
-    .lex "$i", $P1587
-.annotate "line", 602
-    new $P1588, "Undef"
-    .lex "$n", $P1588
-.annotate "line", 593
-    get_hll_global $P1589, ["PAST"], "Op"
-    find_lex $P1590, "$/"
-    $P1591 = $P1589."new"("call" :named("pasttype"), $P1590 :named("node"))
-    store_lex "$past", $P1591
-.annotate "line", 594
-    find_lex $P1593, "$/"
-    unless_null $P1593, vivify_489
-    new $P1593, "Hash"
-  vivify_489:
-    set $P1594, $P1593["EXPR"]
-    unless_null $P1594, vivify_490
-    new $P1594, "Undef"
-  vivify_490:
-    unless $P1594, if_1592_end
-    .const 'Sub' $P1596 = "88_1260829329.07487" 
-    capture_lex $P1596
-    $P1596()
-  if_1592_end:
+.sub "arglist"  :subid("89_1261019379.40749") :method :outer("11_1261019379.40749")
+    .param pmc param_1611
+.annotate "line", 599
+    .const 'Sub' $P1622 = "90_1261019379.40749" 
+    capture_lex $P1622
+    new $P1610, 'ExceptionHandler'
+    set_addr $P1610, control_1609
+    $P1610."handle_types"(58)
+    push_eh $P1610
+    .lex "self", self
+    .lex "$/", param_1611
+.annotate "line", 600
+    new $P1612, "Undef"
+    .lex "$past", $P1612
+.annotate "line", 608
+    new $P1613, "Undef"
+    .lex "$i", $P1613
+.annotate "line", 609
+    new $P1614, "Undef"
+    .lex "$n", $P1614
+.annotate "line", 600
+    get_hll_global $P1615, ["PAST"], "Op"
+    find_lex $P1616, "$/"
+    $P1617 = $P1615."new"("call" :named("pasttype"), $P1616 :named("node"))
+    store_lex "$past", $P1617
 .annotate "line", 601
-    new $P1628, "Integer"
-    assign $P1628, 0
-    store_lex "$i", $P1628
-.annotate "line", 602
-    find_lex $P1629, "$past"
-    $P1630 = $P1629."list"()
-    set $N1631, $P1630
-    new $P1632, 'Float'
-    set $P1632, $N1631
-    store_lex "$n", $P1632
-.annotate "line", 603
-    new $P1660, 'ExceptionHandler'
-    set_addr $P1660, loop1659_handler
-    $P1660."handle_types"(65, 67, 66)
-    push_eh $P1660
-  loop1659_test:
-    find_lex $P1633, "$i"
-    set $N1634, $P1633
-    find_lex $P1635, "$n"
-    set $N1636, $P1635
-    islt $I1637, $N1634, $N1636
-    unless $I1637, loop1659_done
-  loop1659_redo:
-.annotate "line", 604
-    find_lex $P1639, "$i"
-    set $I1640, $P1639
-    find_lex $P1641, "$past"
-    unless_null $P1641, vivify_494
-    new $P1641, "ResizablePMCArray"
-  vivify_494:
-    set $P1642, $P1641[$I1640]
-    unless_null $P1642, vivify_495
-    new $P1642, "Undef"
-  vivify_495:
-    $S1643 = $P1642."name"()
-    iseq $I1644, $S1643, "&prefix:<|>"
-    unless $I1644, if_1638_end
-.annotate "line", 605
-    find_lex $P1645, "$i"
-    set $I1646, $P1645
-    find_lex $P1647, "$past"
-    unless_null $P1647, vivify_496
-    new $P1647, "ResizablePMCArray"
-  vivify_496:
-    set $P1648, $P1647[$I1646]
-    unless_null $P1648, vivify_497
-    new $P1648, "ResizablePMCArray"
+    find_lex $P1619, "$/"
+    unless_null $P1619, vivify_497
+    new $P1619, "Hash"
   vivify_497:
-    set $P1649, $P1648[0]
-    unless_null $P1649, vivify_498
-    new $P1649, "Undef"
+    set $P1620, $P1619["EXPR"]
+    unless_null $P1620, vivify_498
+    new $P1620, "Undef"
   vivify_498:
-    find_lex $P1650, "$i"
-    set $I1651, $P1650
-    find_lex $P1652, "$past"
-    unless_null $P1652, vivify_499
-    new $P1652, "ResizablePMCArray"
-    store_lex "$past", $P1652
-  vivify_499:
-    set $P1652[$I1651], $P1649
-.annotate "line", 606
-    find_lex $P1653, "$i"
-    set $I1654, $P1653
+    unless $P1620, if_1618_end
+    .const 'Sub' $P1622 = "90_1261019379.40749" 
+    capture_lex $P1622
+    $P1622()
+  if_1618_end:
+.annotate "line", 608
+    new $P1654, "Integer"
+    assign $P1654, 0
+    store_lex "$i", $P1654
+.annotate "line", 609
     find_lex $P1655, "$past"
-    unless_null $P1655, vivify_500
-    new $P1655, "ResizablePMCArray"
-  vivify_500:
-    set $P1656, $P1655[$I1654]
-    unless_null $P1656, vivify_501
-    new $P1656, "Undef"
-  vivify_501:
-    $P1656."flat"(1)
-  if_1638_end:
-.annotate "line", 604
-    find_lex $P1657, "$i"
-    clone $P1658, $P1657
-    inc $P1657
-  loop1659_next:
-.annotate "line", 603
-    goto loop1659_test
-  loop1659_handler:
+    $P1656 = $P1655."list"()
+    set $N1657, $P1656
+    new $P1658, 'Float'
+    set $P1658, $N1657
+    store_lex "$n", $P1658
+.annotate "line", 610
+    new $P1686, 'ExceptionHandler'
+    set_addr $P1686, loop1685_handler
+    $P1686."handle_types"(65, 67, 66)
+    push_eh $P1686
+  loop1685_test:
+    find_lex $P1659, "$i"
+    set $N1660, $P1659
+    find_lex $P1661, "$n"
+    set $N1662, $P1661
+    islt $I1663, $N1660, $N1662
+    unless $I1663, loop1685_done
+  loop1685_redo:
+.annotate "line", 611
+    find_lex $P1665, "$i"
+    set $I1666, $P1665
+    find_lex $P1667, "$past"
+    unless_null $P1667, vivify_502
+    new $P1667, "ResizablePMCArray"
+  vivify_502:
+    set $P1668, $P1667[$I1666]
+    unless_null $P1668, vivify_503
+    new $P1668, "Undef"
+  vivify_503:
+    $S1669 = $P1668."name"()
+    iseq $I1670, $S1669, "&prefix:<|>"
+    unless $I1670, if_1664_end
+.annotate "line", 612
+    find_lex $P1671, "$i"
+    set $I1672, $P1671
+    find_lex $P1673, "$past"
+    unless_null $P1673, vivify_504
+    new $P1673, "ResizablePMCArray"
+  vivify_504:
+    set $P1674, $P1673[$I1672]
+    unless_null $P1674, vivify_505
+    new $P1674, "ResizablePMCArray"
+  vivify_505:
+    set $P1675, $P1674[0]
+    unless_null $P1675, vivify_506
+    new $P1675, "Undef"
+  vivify_506:
+    find_lex $P1676, "$i"
+    set $I1677, $P1676
+    find_lex $P1678, "$past"
+    unless_null $P1678, vivify_507
+    new $P1678, "ResizablePMCArray"
+    store_lex "$past", $P1678
+  vivify_507:
+    set $P1678[$I1677], $P1675
+.annotate "line", 613
+    find_lex $P1679, "$i"
+    set $I1680, $P1679
+    find_lex $P1681, "$past"
+    unless_null $P1681, vivify_508
+    new $P1681, "ResizablePMCArray"
+  vivify_508:
+    set $P1682, $P1681[$I1680]
+    unless_null $P1682, vivify_509
+    new $P1682, "Undef"
+  vivify_509:
+    $P1682."flat"(1)
+  if_1664_end:
+.annotate "line", 611
+    find_lex $P1683, "$i"
+    clone $P1684, $P1683
+    inc $P1683
+  loop1685_next:
+.annotate "line", 610
+    goto loop1685_test
+  loop1685_handler:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P1661, exception, 'type'
-    eq $P1661, 65, loop1659_next
-    eq $P1661, 67, loop1659_redo
-  loop1659_done:
+    getattribute $P1687, exception, 'type'
+    eq $P1687, 65, loop1685_next
+    eq $P1687, 67, loop1685_redo
+  loop1685_done:
     pop_eh 
-.annotate "line", 610
-    find_lex $P1662, "$/"
-    find_lex $P1663, "$past"
-    $P1664 = $P1662."!make"($P1663)
-.annotate "line", 592
-    .return ($P1664)
-  control_1583:
+.annotate "line", 617
+    find_lex $P1688, "$/"
+    find_lex $P1689, "$past"
+    $P1690 = $P1688."!make"($P1689)
+.annotate "line", 599
+    .return ($P1690)
+  control_1609:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P1665, exception, "payload"
-    .return ($P1665)
+    getattribute $P1691, exception, "payload"
+    .return ($P1691)
 .end
 
 
 .namespace ["NQP";"Actions"]
-.sub "_block1595"  :anon :subid("88_1260829329.07487") :outer("87_1260829329.07487")
-.annotate "line", 594
-    .const 'Sub' $P1617 = "89_1260829329.07487" 
-    capture_lex $P1617
-.annotate "line", 595
-    new $P1597, "Undef"
-    .lex "$expr", $P1597
-    find_lex $P1598, "$/"
-    unless_null $P1598, vivify_491
-    new $P1598, "Hash"
-  vivify_491:
-    set $P1599, $P1598["EXPR"]
-    unless_null $P1599, vivify_492
-    new $P1599, "Undef"
-  vivify_492:
-    $P1600 = $P1599."ast"()
-    store_lex "$expr", $P1600
-.annotate "line", 596
-    find_lex $P1605, "$expr"
-    $S1606 = $P1605."name"()
-    iseq $I1607, $S1606, "&infix:<,>"
-    if $I1607, if_1604
-    new $P1603, 'Integer'
-    set $P1603, $I1607
-    goto if_1604_end
-  if_1604:
-    find_lex $P1608, "$expr"
-    $P1609 = $P1608."named"()
-    isfalse $I1610, $P1609
-    new $P1603, 'Integer'
-    set $P1603, $I1610
-  if_1604_end:
-    if $P1603, if_1602
-.annotate "line", 599
-    find_lex $P1625, "$past"
-    find_lex $P1626, "$expr"
-    $P1627 = $P1625."push"($P1626)
-    set $P1601, $P1627
-.annotate "line", 596
-    goto if_1602_end
-  if_1602:
-.annotate "line", 597
-    find_lex $P1612, "$expr"
-    $P1613 = $P1612."list"()
-    defined $I1614, $P1613
-    unless $I1614, for_undef_493
-    iter $P1611, $P1613
-    new $P1623, 'ExceptionHandler'
-    set_addr $P1623, loop1622_handler
-    $P1623."handle_types"(65, 67, 66)
-    push_eh $P1623
-  loop1622_test:
-    unless $P1611, loop1622_done
-    shift $P1615, $P1611
-  loop1622_redo:
-    .const 'Sub' $P1617 = "89_1260829329.07487" 
-    capture_lex $P1617
-    $P1617($P1615)
-  loop1622_next:
-    goto loop1622_test
-  loop1622_handler:
-    .local pmc exception 
-    .get_results (exception) 
-    getattribute $P1624, exception, 'type'
-    eq $P1624, 65, loop1622_next
-    eq $P1624, 67, loop1622_redo
-  loop1622_done:
+.sub "_block1621"  :anon :subid("90_1261019379.40749") :outer("89_1261019379.40749")
+.annotate "line", 601
+    .const 'Sub' $P1643 = "91_1261019379.40749" 
+    capture_lex $P1643
+.annotate "line", 602
+    new $P1623, "Undef"
+    .lex "$expr", $P1623
+    find_lex $P1624, "$/"
+    unless_null $P1624, vivify_499
+    new $P1624, "Hash"
+  vivify_499:
+    set $P1625, $P1624["EXPR"]
+    unless_null $P1625, vivify_500
+    new $P1625, "Undef"
+  vivify_500:
+    $P1626 = $P1625."ast"()
+    store_lex "$expr", $P1626
+.annotate "line", 603
+    find_lex $P1631, "$expr"
+    $S1632 = $P1631."name"()
+    iseq $I1633, $S1632, "&infix:<,>"
+    if $I1633, if_1630
+    new $P1629, 'Integer'
+    set $P1629, $I1633
+    goto if_1630_end
+  if_1630:
+    find_lex $P1634, "$expr"
+    $P1635 = $P1634."named"()
+    isfalse $I1636, $P1635
+    new $P1629, 'Integer'
+    set $P1629, $I1636
+  if_1630_end:
+    if $P1629, if_1628
+.annotate "line", 606
+    find_lex $P1651, "$past"
+    find_lex $P1652, "$expr"
+    $P1653 = $P1651."push"($P1652)
+    set $P1627, $P1653
+.annotate "line", 603
+    goto if_1628_end
+  if_1628:
+.annotate "line", 604
+    find_lex $P1638, "$expr"
+    $P1639 = $P1638."list"()
+    defined $I1640, $P1639
+    unless $I1640, for_undef_501
+    iter $P1637, $P1639
+    new $P1649, 'ExceptionHandler'
+    set_addr $P1649, loop1648_handler
+    $P1649."handle_types"(65, 67, 66)
+    push_eh $P1649
+  loop1648_test:
+    unless $P1637, loop1648_done
+    shift $P1641, $P1637
+  loop1648_redo:
+    .const 'Sub' $P1643 = "91_1261019379.40749" 
+    capture_lex $P1643
+    $P1643($P1641)
+  loop1648_next:
+    goto loop1648_test
+  loop1648_handler:
+    .local pmc exception 
+    .get_results (exception) 
+    getattribute $P1650, exception, 'type'
+    eq $P1650, 65, loop1648_next
+    eq $P1650, 67, loop1648_redo
+  loop1648_done:
     pop_eh 
-  for_undef_493:
-.annotate "line", 596
-    set $P1601, $P1611
-  if_1602_end:
-.annotate "line", 594
-    .return ($P1601)
-.end
-
-
-.namespace ["NQP";"Actions"]
-.sub "_block1616"  :anon :subid("89_1260829329.07487") :outer("88_1260829329.07487")
-    .param pmc param_1618
-.annotate "line", 597
-    .lex "$_", param_1618
-    find_lex $P1619, "$past"
-    find_lex $P1620, "$_"
-    $P1621 = $P1619."push"($P1620)
-    .return ($P1621)
+  for_undef_501:
+.annotate "line", 603
+    set $P1627, $P1637
+  if_1628_end:
+.annotate "line", 601
+    .return ($P1627)
 .end
 
 
 .namespace ["NQP";"Actions"]
-.sub "term:sym<value>"  :subid("90_1260829329.07487") :method :outer("11_1260829329.07487")
-    .param pmc param_1669
-.annotate "line", 614
-    new $P1668, 'ExceptionHandler'
-    set_addr $P1668, control_1667
-    $P1668."handle_types"(58)
-    push_eh $P1668
-    .lex "self", self
-    .lex "$/", param_1669
-    find_lex $P1670, "$/"
-    find_lex $P1671, "$/"
-    unless_null $P1671, vivify_502
-    new $P1671, "Hash"
-  vivify_502:
-    set $P1672, $P1671["value"]
-    unless_null $P1672, vivify_503
-    new $P1672, "Undef"
-  vivify_503:
-    $P1673 = $P1672."ast"()
-    $P1674 = $P1670."!make"($P1673)
-    .return ($P1674)
-  control_1667:
-    .local pmc exception 
-    .get_results (exception) 
-    getattribute $P1675, exception, "payload"
-    .return ($P1675)
+.sub "_block1642"  :anon :subid("91_1261019379.40749") :outer("90_1261019379.40749")
+    .param pmc param_1644
+.annotate "line", 604
+    .lex "$_", param_1644
+    find_lex $P1645, "$past"
+    find_lex $P1646, "$_"
+    $P1647 = $P1645."push"($P1646)
+    .return ($P1647)
 .end
 
 
 .namespace ["NQP";"Actions"]
-.sub "circumfix:sym<( )>"  :subid("91_1260829329.07487") :method :outer("11_1260829329.07487")
-    .param pmc param_1679
-.annotate "line", 616
-    new $P1678, 'ExceptionHandler'
-    set_addr $P1678, control_1677
-    $P1678."handle_types"(58)
-    push_eh $P1678
-    .lex "self", self
-    .lex "$/", param_1679
-.annotate "line", 617
-    find_lex $P1680, "$/"
-.annotate "line", 618
-    find_lex $P1683, "$/"
-    unless_null $P1683, vivify_504
-    new $P1683, "Hash"
-  vivify_504:
-    set $P1684, $P1683["EXPR"]
-    unless_null $P1684, vivify_505
-    new $P1684, "Undef"
-  vivify_505:
-    if $P1684, if_1682
-.annotate "line", 619
-    get_hll_global $P1689, ["PAST"], "Op"
-    find_lex $P1690, "$/"
-    $P1691 = $P1689."new"("list" :named("pasttype"), $P1690 :named("node"))
-    set $P1681, $P1691
-.annotate "line", 618
-    goto if_1682_end
-  if_1682:
-    find_lex $P1685, "$/"
-    unless_null $P1685, vivify_506
-    new $P1685, "Hash"
-  vivify_506:
-    set $P1686, $P1685["EXPR"]
-    unless_null $P1686, vivify_507
-    new $P1686, "ResizablePMCArray"
-  vivify_507:
-    set $P1687, $P1686[0]
-    unless_null $P1687, vivify_508
-    new $P1687, "Undef"
-  vivify_508:
-    $P1688 = $P1687."ast"()
-    set $P1681, $P1688
-  if_1682_end:
-    $P1692 = $P1680."!make"($P1681)
-.annotate "line", 616
-    .return ($P1692)
-  control_1677:
+.sub "term:sym<value>"  :subid("92_1261019379.40749") :method :outer("11_1261019379.40749")
+    .param pmc param_1695
+.annotate "line", 621
+    new $P1694, 'ExceptionHandler'
+    set_addr $P1694, control_1693
+    $P1694."handle_types"(58)
+    push_eh $P1694
+    .lex "self", self
+    .lex "$/", param_1695
+    find_lex $P1696, "$/"
+    find_lex $P1697, "$/"
+    unless_null $P1697, vivify_510
+    new $P1697, "Hash"
+  vivify_510:
+    set $P1698, $P1697["value"]
+    unless_null $P1698, vivify_511
+    new $P1698, "Undef"
+  vivify_511:
+    $P1699 = $P1698."ast"()
+    $P1700 = $P1696."!make"($P1699)
+    .return ($P1700)
+  control_1693:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P1693, exception, "payload"
-    .return ($P1693)
+    getattribute $P1701, exception, "payload"
+    .return ($P1701)
 .end
 
 
 .namespace ["NQP";"Actions"]
-.sub "circumfix:sym<[ ]>"  :subid("92_1260829329.07487") :method :outer("11_1260829329.07487")
-    .param pmc param_1697
-.annotate "line", 622
-    new $P1696, 'ExceptionHandler'
-    set_addr $P1696, control_1695
-    $P1696."handle_types"(58)
-    push_eh $P1696
-    .lex "self", self
-    .lex "$/", param_1697
+.sub "circumfix:sym<( )>"  :subid("93_1261019379.40749") :method :outer("11_1261019379.40749")
+    .param pmc param_1705
 .annotate "line", 623
-    new $P1698, "Undef"
-    .lex "$past", $P1698
-.annotate "line", 622
-    find_lex $P1699, "$past"
+    new $P1704, 'ExceptionHandler'
+    set_addr $P1704, control_1703
+    $P1704."handle_types"(58)
+    push_eh $P1704
+    .lex "self", self
+    .lex "$/", param_1705
 .annotate "line", 624
-    find_lex $P1701, "$/"
-    unless_null $P1701, vivify_509
-    new $P1701, "Hash"
-  vivify_509:
-    set $P1702, $P1701["EXPR"]
-    unless_null $P1702, vivify_510
-    new $P1702, "Undef"
-  vivify_510:
-    if $P1702, if_1700
-.annotate "line", 631
-    get_hll_global $P1714, ["PAST"], "Op"
-    $P1715 = $P1714."new"("list" :named("pasttype"))
-    store_lex "$past", $P1715
-.annotate "line", 630
-    goto if_1700_end
-  if_1700:
+    find_lex $P1706, "$/"
 .annotate "line", 625
-    find_lex $P1703, "$/"
-    unless_null $P1703, vivify_511
-    new $P1703, "Hash"
-  vivify_511:
-    set $P1704, $P1703["EXPR"]
-    unless_null $P1704, vivify_512
-    new $P1704, "ResizablePMCArray"
+    find_lex $P1709, "$/"
+    unless_null $P1709, vivify_512
+    new $P1709, "Hash"
   vivify_512:
-    set $P1705, $P1704[0]
-    unless_null $P1705, vivify_513
-    new $P1705, "Undef"
+    set $P1710, $P1709["EXPR"]
+    unless_null $P1710, vivify_513
+    new $P1710, "Undef"
   vivify_513:
-    $P1706 = $P1705."ast"()
-    store_lex "$past", $P1706
+    if $P1710, if_1708
 .annotate "line", 626
-    find_lex $P1708, "$past"
-    $S1709 = $P1708."name"()
-    isne $I1710, $S1709, "&infix:<,>"
-    unless $I1710, if_1707_end
-.annotate "line", 627
-    get_hll_global $P1711, ["PAST"], "Op"
-    find_lex $P1712, "$past"
-    $P1713 = $P1711."new"($P1712, "list" :named("pasttype"))
-    store_lex "$past", $P1713
-  if_1707_end:
-  if_1700_end:
-.annotate "line", 633
-    find_lex $P1716, "$past"
-    $P1716."name"("&circumfix:<[ ]>")
-.annotate "line", 634
-    find_lex $P1717, "$/"
-    find_lex $P1718, "$past"
-    $P1719 = $P1717."!make"($P1718)
-.annotate "line", 622
-    .return ($P1719)
-  control_1695:
-    .local pmc exception 
-    .get_results (exception) 
-    getattribute $P1720, exception, "payload"
-    .return ($P1720)
-.end
-
-
-.namespace ["NQP";"Actions"]
-.sub "circumfix:sym<ang>"  :subid("93_1260829329.07487") :method :outer("11_1260829329.07487")
-    .param pmc param_1724
-.annotate "line", 637
-    new $P1723, 'ExceptionHandler'
-    set_addr $P1723, control_1722
-    $P1723."handle_types"(58)
-    push_eh $P1723
-    .lex "self", self
-    .lex "$/", param_1724
-    find_lex $P1725, "$/"
-    find_lex $P1726, "$/"
-    unless_null $P1726, vivify_514
-    new $P1726, "Hash"
+    get_hll_global $P1715, ["PAST"], "Op"
+    find_lex $P1716, "$/"
+    $P1717 = $P1715."new"("list" :named("pasttype"), $P1716 :named("node"))
+    set $P1707, $P1717
+.annotate "line", 625
+    goto if_1708_end
+  if_1708:
+    find_lex $P1711, "$/"
+    unless_null $P1711, vivify_514
+    new $P1711, "Hash"
   vivify_514:
-    set $P1727, $P1726["quote_EXPR"]
-    unless_null $P1727, vivify_515
-    new $P1727, "Undef"
+    set $P1712, $P1711["EXPR"]
+    unless_null $P1712, vivify_515
+    new $P1712, "ResizablePMCArray"
   vivify_515:
-    $P1728 = $P1727."ast"()
-    $P1729 = $P1725."!make"($P1728)
-    .return ($P1729)
-  control_1722:
+    set $P1713, $P1712[0]
+    unless_null $P1713, vivify_516
+    new $P1713, "Undef"
+  vivify_516:
+    $P1714 = $P1713."ast"()
+    set $P1707, $P1714
+  if_1708_end:
+    $P1718 = $P1706."!make"($P1707)
+.annotate "line", 623
+    .return ($P1718)
+  control_1703:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P1730, exception, "payload"
-    .return ($P1730)
+    getattribute $P1719, exception, "payload"
+    .return ($P1719)
 .end
 
 
 .namespace ["NQP";"Actions"]
-.sub unicode:"circumfix:sym<\x{ab} \x{bb}>"  :subid("94_1260829329.07487") :method :outer("11_1260829329.07487")
-    .param pmc param_1734
-.annotate "line", 638
-    new $P1733, 'ExceptionHandler'
-    set_addr $P1733, control_1732
-    $P1733."handle_types"(58)
-    push_eh $P1733
-    .lex "self", self
-    .lex "$/", param_1734
-    find_lex $P1735, "$/"
-    find_lex $P1736, "$/"
-    unless_null $P1736, vivify_516
-    new $P1736, "Hash"
-  vivify_516:
-    set $P1737, $P1736["quote_EXPR"]
-    unless_null $P1737, vivify_517
-    new $P1737, "Undef"
+.sub "circumfix:sym<[ ]>"  :subid("94_1261019379.40749") :method :outer("11_1261019379.40749")
+    .param pmc param_1723
+.annotate "line", 629
+    new $P1722, 'ExceptionHandler'
+    set_addr $P1722, control_1721
+    $P1722."handle_types"(58)
+    push_eh $P1722
+    .lex "self", self
+    .lex "$/", param_1723
+.annotate "line", 630
+    new $P1724, "Undef"
+    .lex "$past", $P1724
+.annotate "line", 629
+    find_lex $P1725, "$past"
+.annotate "line", 631
+    find_lex $P1727, "$/"
+    unless_null $P1727, vivify_517
+    new $P1727, "Hash"
   vivify_517:
-    $P1738 = $P1737."ast"()
-    $P1739 = $P1735."!make"($P1738)
-    .return ($P1739)
-  control_1732:
+    set $P1728, $P1727["EXPR"]
+    unless_null $P1728, vivify_518
+    new $P1728, "Undef"
+  vivify_518:
+    if $P1728, if_1726
+.annotate "line", 638
+    get_hll_global $P1740, ["PAST"], "Op"
+    $P1741 = $P1740."new"("list" :named("pasttype"))
+    store_lex "$past", $P1741
+.annotate "line", 637
+    goto if_1726_end
+  if_1726:
+.annotate "line", 632
+    find_lex $P1729, "$/"
+    unless_null $P1729, vivify_519
+    new $P1729, "Hash"
+  vivify_519:
+    set $P1730, $P1729["EXPR"]
+    unless_null $P1730, vivify_520
+    new $P1730, "ResizablePMCArray"
+  vivify_520:
+    set $P1731, $P1730[0]
+    unless_null $P1731, vivify_521
+    new $P1731, "Undef"
+  vivify_521:
+    $P1732 = $P1731."ast"()
+    store_lex "$past", $P1732
+.annotate "line", 633
+    find_lex $P1734, "$past"
+    $S1735 = $P1734."name"()
+    isne $I1736, $S1735, "&infix:<,>"
+    unless $I1736, if_1733_end
+.annotate "line", 634
+    get_hll_global $P1737, ["PAST"], "Op"
+    find_lex $P1738, "$past"
+    $P1739 = $P1737."new"($P1738, "list" :named("pasttype"))
+    store_lex "$past", $P1739
+  if_1733_end:
+  if_1726_end:
+.annotate "line", 640
+    find_lex $P1742, "$past"
+    $P1742."name"("&circumfix:<[ ]>")
+.annotate "line", 641
+    find_lex $P1743, "$/"
+    find_lex $P1744, "$past"
+    $P1745 = $P1743."!make"($P1744)
+.annotate "line", 629
+    .return ($P1745)
+  control_1721:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P1740, exception, "payload"
-    .return ($P1740)
+    getattribute $P1746, exception, "payload"
+    .return ($P1746)
 .end
 
 
 .namespace ["NQP";"Actions"]
-.sub "circumfix:sym<{ }>"  :subid("95_1260829329.07487") :method :outer("11_1260829329.07487")
-    .param pmc param_1744
-.annotate "line", 640
-    new $P1743, 'ExceptionHandler'
-    set_addr $P1743, control_1742
-    $P1743."handle_types"(58)
-    push_eh $P1743
+.sub "circumfix:sym<ang>"  :subid("95_1261019379.40749") :method :outer("11_1261019379.40749")
+    .param pmc param_1750
+.annotate "line", 644
+    new $P1749, 'ExceptionHandler'
+    set_addr $P1749, control_1748
+    $P1749."handle_types"(58)
+    push_eh $P1749
     .lex "self", self
-    .lex "$/", param_1744
-.annotate "line", 641
-    find_lex $P1745, "$/"
-    find_lex $P1748, "$/"
-    unless_null $P1748, vivify_518
-    new $P1748, "Hash"
-  vivify_518:
-    set $P1749, $P1748["pblock"]
-    unless_null $P1749, vivify_519
-    new $P1749, "Hash"
-  vivify_519:
-    set $P1750, $P1749["blockoid"]
-    unless_null $P1750, vivify_520
-    new $P1750, "Hash"
-  vivify_520:
-    set $P1751, $P1750["statementlist"]
-    unless_null $P1751, vivify_521
-    new $P1751, "Hash"
-  vivify_521:
-    set $P1752, $P1751["statement"]
+    .lex "$/", param_1750
+    find_lex $P1751, "$/"
+    find_lex $P1752, "$/"
     unless_null $P1752, vivify_522
-    new $P1752, "Undef"
+    new $P1752, "Hash"
   vivify_522:
-    set $N1753, $P1752
-    isgt $I1754, $N1753, 0.0
-    if $I1754, if_1747
-.annotate "line", 643
-    get_hll_global $P1758, ["PAST"], "Op"
-    find_lex $P1759, "$/"
-    $P1760 = $P1758."new"("    %r = new [\"Hash\"]" :named("inline"), $P1759 :named("node"))
-    set $P1746, $P1760
-.annotate "line", 641
-    goto if_1747_end
-  if_1747:
-.annotate "line", 642
-    find_lex $P1755, "$/"
-    unless_null $P1755, vivify_523
-    new $P1755, "Hash"
+    set $P1753, $P1752["quote_EXPR"]
+    unless_null $P1753, vivify_523
+    new $P1753, "Undef"
   vivify_523:
-    set $P1756, $P1755["pblock"]
-    unless_null $P1756, vivify_524
-    new $P1756, "Undef"
-  vivify_524:
-    $P1757 = $P1756."ast"()
-    set $P1746, $P1757
-  if_1747_end:
-    $P1761 = $P1745."!make"($P1746)
-.annotate "line", 640
-    .return ($P1761)
-  control_1742:
+    $P1754 = $P1753."ast"()
+    $P1755 = $P1751."!make"($P1754)
+    .return ($P1755)
+  control_1748:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P1762, exception, "payload"
-    .return ($P1762)
+    getattribute $P1756, exception, "payload"
+    .return ($P1756)
 .end
 
 
 .namespace ["NQP";"Actions"]
-.sub "circumfix:sym<sigil>"  :subid("96_1260829329.07487") :method :outer("11_1260829329.07487")
-    .param pmc param_1766
-.annotate "line", 646
-    new $P1765, 'ExceptionHandler'
-    set_addr $P1765, control_1764
-    $P1765."handle_types"(58)
-    push_eh $P1765
+.sub unicode:"circumfix:sym<\x{ab} \x{bb}>"  :subid("96_1261019379.40749") :method :outer("11_1261019379.40749")
+    .param pmc param_1760
+.annotate "line", 645
+    new $P1759, 'ExceptionHandler'
+    set_addr $P1759, control_1758
+    $P1759."handle_types"(58)
+    push_eh $P1759
     .lex "self", self
-    .lex "$/", param_1766
-.annotate "line", 647
-    new $P1767, "Undef"
-    .lex "$name", $P1767
-    find_lex $P1770, "$/"
-    unless_null $P1770, vivify_525
-    new $P1770, "Hash"
+    .lex "$/", param_1760
+    find_lex $P1761, "$/"
+    find_lex $P1762, "$/"
+    unless_null $P1762, vivify_524
+    new $P1762, "Hash"
+  vivify_524:
+    set $P1763, $P1762["quote_EXPR"]
+    unless_null $P1763, vivify_525
+    new $P1763, "Undef"
   vivify_525:
-    set $P1771, $P1770["sigil"]
-    unless_null $P1771, vivify_526
-    new $P1771, "Undef"
-  vivify_526:
-    set $S1772, $P1771
-    iseq $I1773, $S1772, "@"
-    if $I1773, if_1769
-.annotate "line", 648
-    find_lex $P1777, "$/"
-    unless_null $P1777, vivify_527
-    new $P1777, "Hash"
-  vivify_527:
-    set $P1778, $P1777["sigil"]
-    unless_null $P1778, vivify_528
-    new $P1778, "Undef"
-  vivify_528:
-    set $S1779, $P1778
-    iseq $I1780, $S1779, "%"
-    if $I1780, if_1776
-    new $P1782, "String"
-    assign $P1782, "item"
-    set $P1775, $P1782
-    goto if_1776_end
-  if_1776:
-    new $P1781, "String"
-    assign $P1781, "hash"
-    set $P1775, $P1781
-  if_1776_end:
-    set $P1768, $P1775
-.annotate "line", 647
-    goto if_1769_end
-  if_1769:
-    new $P1774, "String"
-    assign $P1774, "list"
-    set $P1768, $P1774
-  if_1769_end:
-    store_lex "$name", $P1768
-.annotate "line", 650
-    find_lex $P1783, "$/"
-    get_hll_global $P1784, ["PAST"], "Op"
-    find_lex $P1785, "$name"
-    find_lex $P1786, "$/"
-    unless_null $P1786, vivify_529
-    new $P1786, "Hash"
-  vivify_529:
-    set $P1787, $P1786["semilist"]
-    unless_null $P1787, vivify_530
-    new $P1787, "Undef"
-  vivify_530:
-    $P1788 = $P1787."ast"()
-    $P1789 = $P1784."new"($P1788, "callmethod" :named("pasttype"), $P1785 :named("name"))
-    $P1790 = $P1783."!make"($P1789)
-.annotate "line", 646
-    .return ($P1790)
-  control_1764:
+    $P1764 = $P1763."ast"()
+    $P1765 = $P1761."!make"($P1764)
+    .return ($P1765)
+  control_1758:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P1791, exception, "payload"
-    .return ($P1791)
+    getattribute $P1766, exception, "payload"
+    .return ($P1766)
 .end
 
 
 .namespace ["NQP";"Actions"]
-.sub "semilist"  :subid("97_1260829329.07487") :method :outer("11_1260829329.07487")
-    .param pmc param_1795
-.annotate "line", 653
-    new $P1794, 'ExceptionHandler'
-    set_addr $P1794, control_1793
-    $P1794."handle_types"(58)
-    push_eh $P1794
+.sub "circumfix:sym<{ }>"  :subid("97_1261019379.40749") :method :outer("11_1261019379.40749")
+    .param pmc param_1770
+.annotate "line", 647
+    new $P1769, 'ExceptionHandler'
+    set_addr $P1769, control_1768
+    $P1769."handle_types"(58)
+    push_eh $P1769
     .lex "self", self
-    .lex "$/", param_1795
-    find_lex $P1796, "$/"
-    find_lex $P1797, "$/"
-    unless_null $P1797, vivify_531
-    new $P1797, "Hash"
+    .lex "$/", param_1770
+.annotate "line", 648
+    find_lex $P1771, "$/"
+    find_lex $P1774, "$/"
+    unless_null $P1774, vivify_526
+    new $P1774, "Hash"
+  vivify_526:
+    set $P1775, $P1774["pblock"]
+    unless_null $P1775, vivify_527
+    new $P1775, "Hash"
+  vivify_527:
+    set $P1776, $P1775["blockoid"]
+    unless_null $P1776, vivify_528
+    new $P1776, "Hash"
+  vivify_528:
+    set $P1777, $P1776["statementlist"]
+    unless_null $P1777, vivify_529
+    new $P1777, "Hash"
+  vivify_529:
+    set $P1778, $P1777["statement"]
+    unless_null $P1778, vivify_530
+    new $P1778, "Undef"
+  vivify_530:
+    set $N1779, $P1778
+    isgt $I1780, $N1779, 0.0
+    if $I1780, if_1773
+.annotate "line", 650
+    get_hll_global $P1784, ["PAST"], "Op"
+    find_lex $P1785, "$/"
+    $P1786 = $P1784."new"("    %r = new [\"Hash\"]" :named("inline"), $P1785 :named("node"))
+    set $P1772, $P1786
+.annotate "line", 648
+    goto if_1773_end
+  if_1773:
+.annotate "line", 649
+    find_lex $P1781, "$/"
+    unless_null $P1781, vivify_531
+    new $P1781, "Hash"
   vivify_531:
-    set $P1798, $P1797["statement"]
-    unless_null $P1798, vivify_532
-    new $P1798, "Undef"
+    set $P1782, $P1781["pblock"]
+    unless_null $P1782, vivify_532
+    new $P1782, "Undef"
   vivify_532:
-    $P1799 = $P1798."ast"()
-    $P1800 = $P1796."!make"($P1799)
-    .return ($P1800)
-  control_1793:
+    $P1783 = $P1782."ast"()
+    set $P1772, $P1783
+  if_1773_end:
+    $P1787 = $P1771."!make"($P1772)
+.annotate "line", 647
+    .return ($P1787)
+  control_1768:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P1801, exception, "payload"
-    .return ($P1801)
+    getattribute $P1788, exception, "payload"
+    .return ($P1788)
 .end
 
 
 .namespace ["NQP";"Actions"]
-.sub "postcircumfix:sym<[ ]>"  :subid("98_1260829329.07487") :method :outer("11_1260829329.07487")
-    .param pmc param_1805
-.annotate "line", 655
-    new $P1804, 'ExceptionHandler'
-    set_addr $P1804, control_1803
-    $P1804."handle_types"(58)
-    push_eh $P1804
-    .lex "self", self
-    .lex "$/", param_1805
-.annotate "line", 656
-    find_lex $P1806, "$/"
-    get_hll_global $P1807, ["PAST"], "Var"
-    find_lex $P1808, "$/"
-    unless_null $P1808, vivify_533
-    new $P1808, "Hash"
+.sub "circumfix:sym<sigil>"  :subid("98_1261019379.40749") :method :outer("11_1261019379.40749")
+    .param pmc param_1792
+.annotate "line", 653
+    new $P1791, 'ExceptionHandler'
+    set_addr $P1791, control_1790
+    $P1791."handle_types"(58)
+    push_eh $P1791
+    .lex "self", self
+    .lex "$/", param_1792
+.annotate "line", 654
+    new $P1793, "Undef"
+    .lex "$name", $P1793
+    find_lex $P1796, "$/"
+    unless_null $P1796, vivify_533
+    new $P1796, "Hash"
   vivify_533:
-    set $P1809, $P1808["EXPR"]
-    unless_null $P1809, vivify_534
-    new $P1809, "Undef"
+    set $P1797, $P1796["sigil"]
+    unless_null $P1797, vivify_534
+    new $P1797, "Undef"
   vivify_534:
-    $P1810 = $P1809."ast"()
-    $P1811 = $P1807."new"($P1810, "keyed_int" :named("scope"), "Undef" :named("viviself"), "ResizablePMCArray" :named("vivibase"))
-    $P1812 = $P1806."!make"($P1811)
+    set $S1798, $P1797
+    iseq $I1799, $S1798, "@"
+    if $I1799, if_1795
 .annotate "line", 655
-    .return ($P1812)
-  control_1803:
+    find_lex $P1803, "$/"
+    unless_null $P1803, vivify_535
+    new $P1803, "Hash"
+  vivify_535:
+    set $P1804, $P1803["sigil"]
+    unless_null $P1804, vivify_536
+    new $P1804, "Undef"
+  vivify_536:
+    set $S1805, $P1804
+    iseq $I1806, $S1805, "%"
+    if $I1806, if_1802
+    new $P1808, "String"
+    assign $P1808, "item"
+    set $P1801, $P1808
+    goto if_1802_end
+  if_1802:
+    new $P1807, "String"
+    assign $P1807, "hash"
+    set $P1801, $P1807
+  if_1802_end:
+    set $P1794, $P1801
+.annotate "line", 654
+    goto if_1795_end
+  if_1795:
+    new $P1800, "String"
+    assign $P1800, "list"
+    set $P1794, $P1800
+  if_1795_end:
+    store_lex "$name", $P1794
+.annotate "line", 657
+    find_lex $P1809, "$/"
+    get_hll_global $P1810, ["PAST"], "Op"
+    find_lex $P1811, "$name"
+    find_lex $P1812, "$/"
+    unless_null $P1812, vivify_537
+    new $P1812, "Hash"
+  vivify_537:
+    set $P1813, $P1812["semilist"]
+    unless_null $P1813, vivify_538
+    new $P1813, "Undef"
+  vivify_538:
+    $P1814 = $P1813."ast"()
+    $P1815 = $P1810."new"($P1814, "callmethod" :named("pasttype"), $P1811 :named("name"))
+    $P1816 = $P1809."!make"($P1815)
+.annotate "line", 653
+    .return ($P1816)
+  control_1790:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P1813, exception, "payload"
-    .return ($P1813)
+    getattribute $P1817, exception, "payload"
+    .return ($P1817)
 .end
 
 
 .namespace ["NQP";"Actions"]
-.sub "postcircumfix:sym<{ }>"  :subid("99_1260829329.07487") :method :outer("11_1260829329.07487")
-    .param pmc param_1817
-.annotate "line", 661
-    new $P1816, 'ExceptionHandler'
-    set_addr $P1816, control_1815
-    $P1816."handle_types"(58)
-    push_eh $P1816
+.sub "semilist"  :subid("99_1261019379.40749") :method :outer("11_1261019379.40749")
+    .param pmc param_1821
+.annotate "line", 660
+    new $P1820, 'ExceptionHandler'
+    set_addr $P1820, control_1819
+    $P1820."handle_types"(58)
+    push_eh $P1820
     .lex "self", self
-    .lex "$/", param_1817
-.annotate "line", 662
-    find_lex $P1818, "$/"
-    get_hll_global $P1819, ["PAST"], "Var"
-    find_lex $P1820, "$/"
-    unless_null $P1820, vivify_535
-    new $P1820, "Hash"
-  vivify_535:
-    set $P1821, $P1820["EXPR"]
-    unless_null $P1821, vivify_536
-    new $P1821, "Undef"
-  vivify_536:
-    $P1822 = $P1821."ast"()
-    $P1823 = $P1819."new"($P1822, "keyed" :named("scope"), "Undef" :named("viviself"), "Hash" :named("vivibase"))
-    $P1824 = $P1818."!make"($P1823)
-.annotate "line", 661
-    .return ($P1824)
-  control_1815:
+    .lex "$/", param_1821
+    find_lex $P1822, "$/"
+    find_lex $P1823, "$/"
+    unless_null $P1823, vivify_539
+    new $P1823, "Hash"
+  vivify_539:
+    set $P1824, $P1823["statement"]
+    unless_null $P1824, vivify_540
+    new $P1824, "Undef"
+  vivify_540:
+    $P1825 = $P1824."ast"()
+    $P1826 = $P1822."!make"($P1825)
+    .return ($P1826)
+  control_1819:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P1825, exception, "payload"
-    .return ($P1825)
+    getattribute $P1827, exception, "payload"
+    .return ($P1827)
 .end
 
 
 .namespace ["NQP";"Actions"]
-.sub "postcircumfix:sym<ang>"  :subid("100_1260829329.07487") :method :outer("11_1260829329.07487")
-    .param pmc param_1829
-.annotate "line", 667
-    new $P1828, 'ExceptionHandler'
-    set_addr $P1828, control_1827
-    $P1828."handle_types"(58)
-    push_eh $P1828
+.sub "postcircumfix:sym<[ ]>"  :subid("100_1261019379.40749") :method :outer("11_1261019379.40749")
+    .param pmc param_1831
+.annotate "line", 662
+    new $P1830, 'ExceptionHandler'
+    set_addr $P1830, control_1829
+    $P1830."handle_types"(58)
+    push_eh $P1830
     .lex "self", self
-    .lex "$/", param_1829
-.annotate "line", 668
-    find_lex $P1830, "$/"
-    get_hll_global $P1831, ["PAST"], "Var"
+    .lex "$/", param_1831
+.annotate "line", 663
     find_lex $P1832, "$/"
-    unless_null $P1832, vivify_537
-    new $P1832, "Hash"
-  vivify_537:
-    set $P1833, $P1832["quote_EXPR"]
-    unless_null $P1833, vivify_538
-    new $P1833, "Undef"
-  vivify_538:
-    $P1834 = $P1833."ast"()
-    $P1835 = $P1831."new"($P1834, "keyed" :named("scope"), "Undef" :named("viviself"), "Hash" :named("vivibase"))
-    $P1836 = $P1830."!make"($P1835)
-.annotate "line", 667
-    .return ($P1836)
-  control_1827:
+    get_hll_global $P1833, ["PAST"], "Var"
+    find_lex $P1834, "$/"
+    unless_null $P1834, vivify_541
+    new $P1834, "Hash"
+  vivify_541:
+    set $P1835, $P1834["EXPR"]
+    unless_null $P1835, vivify_542
+    new $P1835, "Undef"
+  vivify_542:
+    $P1836 = $P1835."ast"()
+    $P1837 = $P1833."new"($P1836, "keyed_int" :named("scope"), "Undef" :named("viviself"), "ResizablePMCArray" :named("vivibase"))
+    $P1838 = $P1832."!make"($P1837)
+.annotate "line", 662
+    .return ($P1838)
+  control_1829:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P1837, exception, "payload"
-    .return ($P1837)
+    getattribute $P1839, exception, "payload"
+    .return ($P1839)
 .end
 
 
 .namespace ["NQP";"Actions"]
-.sub "postcircumfix:sym<( )>"  :subid("101_1260829329.07487") :method :outer("11_1260829329.07487")
-    .param pmc param_1841
-.annotate "line", 673
-    new $P1840, 'ExceptionHandler'
-    set_addr $P1840, control_1839
-    $P1840."handle_types"(58)
-    push_eh $P1840
-    .lex "self", self
-    .lex "$/", param_1841
-.annotate "line", 674
-    find_lex $P1842, "$/"
-    find_lex $P1843, "$/"
-    unless_null $P1843, vivify_539
-    new $P1843, "Hash"
-  vivify_539:
-    set $P1844, $P1843["arglist"]
-    unless_null $P1844, vivify_540
-    new $P1844, "Undef"
-  vivify_540:
-    $P1845 = $P1844."ast"()
-    $P1846 = $P1842."!make"($P1845)
-.annotate "line", 673
-    .return ($P1846)
-  control_1839:
+.sub "postcircumfix:sym<{ }>"  :subid("101_1261019379.40749") :method :outer("11_1261019379.40749")
+    .param pmc param_1843
+.annotate "line", 668
+    new $P1842, 'ExceptionHandler'
+    set_addr $P1842, control_1841
+    $P1842."handle_types"(58)
+    push_eh $P1842
+    .lex "self", self
+    .lex "$/", param_1843
+.annotate "line", 669
+    find_lex $P1844, "$/"
+    get_hll_global $P1845, ["PAST"], "Var"
+    find_lex $P1846, "$/"
+    unless_null $P1846, vivify_543
+    new $P1846, "Hash"
+  vivify_543:
+    set $P1847, $P1846["EXPR"]
+    unless_null $P1847, vivify_544
+    new $P1847, "Undef"
+  vivify_544:
+    $P1848 = $P1847."ast"()
+    $P1849 = $P1845."new"($P1848, "keyed" :named("scope"), "Undef" :named("viviself"), "Hash" :named("vivibase"))
+    $P1850 = $P1844."!make"($P1849)
+.annotate "line", 668
+    .return ($P1850)
+  control_1841:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P1847, exception, "payload"
-    .return ($P1847)
+    getattribute $P1851, exception, "payload"
+    .return ($P1851)
 .end
 
 
 .namespace ["NQP";"Actions"]
-.sub "value"  :subid("102_1260829329.07487") :method :outer("11_1260829329.07487")
-    .param pmc param_1851
-.annotate "line", 677
-    new $P1850, 'ExceptionHandler'
-    set_addr $P1850, control_1849
-    $P1850."handle_types"(58)
-    push_eh $P1850
-    .lex "self", self
-    .lex "$/", param_1851
-.annotate "line", 678
-    find_lex $P1852, "$/"
-    find_lex $P1855, "$/"
-    unless_null $P1855, vivify_541
-    new $P1855, "Hash"
-  vivify_541:
-    set $P1856, $P1855["quote"]
-    unless_null $P1856, vivify_542
-    new $P1856, "Undef"
-  vivify_542:
-    if $P1856, if_1854
-    find_lex $P1860, "$/"
-    unless_null $P1860, vivify_543
-    new $P1860, "Hash"
-  vivify_543:
-    set $P1861, $P1860["number"]
-    unless_null $P1861, vivify_544
-    new $P1861, "Undef"
-  vivify_544:
-    $P1862 = $P1861."ast"()
-    set $P1853, $P1862
-    goto if_1854_end
-  if_1854:
-    find_lex $P1857, "$/"
-    unless_null $P1857, vivify_545
-    new $P1857, "Hash"
+.sub "postcircumfix:sym<ang>"  :subid("102_1261019379.40749") :method :outer("11_1261019379.40749")
+    .param pmc param_1855
+.annotate "line", 674
+    new $P1854, 'ExceptionHandler'
+    set_addr $P1854, control_1853
+    $P1854."handle_types"(58)
+    push_eh $P1854
+    .lex "self", self
+    .lex "$/", param_1855
+.annotate "line", 675
+    find_lex $P1856, "$/"
+    get_hll_global $P1857, ["PAST"], "Var"
+    find_lex $P1858, "$/"
+    unless_null $P1858, vivify_545
+    new $P1858, "Hash"
   vivify_545:
-    set $P1858, $P1857["quote"]
-    unless_null $P1858, vivify_546
-    new $P1858, "Undef"
+    set $P1859, $P1858["quote_EXPR"]
+    unless_null $P1859, vivify_546
+    new $P1859, "Undef"
   vivify_546:
-    $P1859 = $P1858."ast"()
-    set $P1853, $P1859
-  if_1854_end:
-    $P1863 = $P1852."!make"($P1853)
-.annotate "line", 677
-    .return ($P1863)
-  control_1849:
+    $P1860 = $P1859."ast"()
+    $P1861 = $P1857."new"($P1860, "keyed" :named("scope"), "Undef" :named("viviself"), "Hash" :named("vivibase"))
+    $P1862 = $P1856."!make"($P1861)
+.annotate "line", 674
+    .return ($P1862)
+  control_1853:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P1864, exception, "payload"
-    .return ($P1864)
+    getattribute $P1863, exception, "payload"
+    .return ($P1863)
 .end
 
 
 .namespace ["NQP";"Actions"]
-.sub "number"  :subid("103_1260829329.07487") :method :outer("11_1260829329.07487")
-    .param pmc param_1868
+.sub "postcircumfix:sym<( )>"  :subid("103_1261019379.40749") :method :outer("11_1261019379.40749")
+    .param pmc param_1867
+.annotate "line", 680
+    new $P1866, 'ExceptionHandler'
+    set_addr $P1866, control_1865
+    $P1866."handle_types"(58)
+    push_eh $P1866
+    .lex "self", self
+    .lex "$/", param_1867
 .annotate "line", 681
-    new $P1867, 'ExceptionHandler'
-    set_addr $P1867, control_1866
-    $P1867."handle_types"(58)
-    push_eh $P1867
-    .lex "self", self
-    .lex "$/", param_1868
-.annotate "line", 682
-    new $P1869, "Undef"
-    .lex "$value", $P1869
-    find_lex $P1872, "$/"
-    unless_null $P1872, vivify_547
-    new $P1872, "Hash"
+    find_lex $P1868, "$/"
+    find_lex $P1869, "$/"
+    unless_null $P1869, vivify_547
+    new $P1869, "Hash"
   vivify_547:
-    set $P1873, $P1872["dec_number"]
-    unless_null $P1873, vivify_548
-    new $P1873, "Undef"
+    set $P1870, $P1869["arglist"]
+    unless_null $P1870, vivify_548
+    new $P1870, "Undef"
   vivify_548:
-    if $P1873, if_1871
-    find_lex $P1877, "$/"
-    unless_null $P1877, vivify_549
-    new $P1877, "Hash"
+    $P1871 = $P1870."ast"()
+    $P1872 = $P1868."!make"($P1871)
+.annotate "line", 680
+    .return ($P1872)
+  control_1865:
+    .local pmc exception 
+    .get_results (exception) 
+    getattribute $P1873, exception, "payload"
+    .return ($P1873)
+.end
+
+
+.namespace ["NQP";"Actions"]
+.sub "value"  :subid("104_1261019379.40749") :method :outer("11_1261019379.40749")
+    .param pmc param_1877
+.annotate "line", 684
+    new $P1876, 'ExceptionHandler'
+    set_addr $P1876, control_1875
+    $P1876."handle_types"(58)
+    push_eh $P1876
+    .lex "self", self
+    .lex "$/", param_1877
+.annotate "line", 685
+    find_lex $P1878, "$/"
+    find_lex $P1881, "$/"
+    unless_null $P1881, vivify_549
+    new $P1881, "Hash"
   vivify_549:
-    set $P1878, $P1877["integer"]
-    unless_null $P1878, vivify_550
-    new $P1878, "Undef"
+    set $P1882, $P1881["quote"]
+    unless_null $P1882, vivify_550
+    new $P1882, "Undef"
   vivify_550:
-    $P1879 = $P1878."ast"()
-    set $P1870, $P1879
-    goto if_1871_end
-  if_1871:
-    find_lex $P1874, "$/"
-    unless_null $P1874, vivify_551
-    new $P1874, "Hash"
+    if $P1882, if_1880
+    find_lex $P1886, "$/"
+    unless_null $P1886, vivify_551
+    new $P1886, "Hash"
   vivify_551:
-    set $P1875, $P1874["dec_number"]
-    unless_null $P1875, vivify_552
-    new $P1875, "Undef"
+    set $P1887, $P1886["number"]
+    unless_null $P1887, vivify_552
+    new $P1887, "Undef"
   vivify_552:
-    $P1876 = $P1875."ast"()
-    set $P1870, $P1876
-  if_1871_end:
-    store_lex "$value", $P1870
-.annotate "line", 683
-    find_lex $P1881, "$/"
-    unless_null $P1881, vivify_553
-    new $P1881, "Hash"
+    $P1888 = $P1887."ast"()
+    set $P1879, $P1888
+    goto if_1880_end
+  if_1880:
+    find_lex $P1883, "$/"
+    unless_null $P1883, vivify_553
+    new $P1883, "Hash"
   vivify_553:
-    set $P1882, $P1881["sign"]
-    unless_null $P1882, vivify_554
-    new $P1882, "Undef"
+    set $P1884, $P1883["quote"]
+    unless_null $P1884, vivify_554
+    new $P1884, "Undef"
   vivify_554:
-    set $S1883, $P1882
-    iseq $I1884, $S1883, "-"
-    unless $I1884, if_1880_end
-    find_lex $P1885, "$value"
-    neg $P1886, $P1885
-    store_lex "$value", $P1886
+    $P1885 = $P1884."ast"()
+    set $P1879, $P1885
   if_1880_end:
+    $P1889 = $P1878."!make"($P1879)
 .annotate "line", 684
-    find_lex $P1887, "$/"
-    get_hll_global $P1888, ["PAST"], "Val"
-    find_lex $P1889, "$value"
-    $P1890 = $P1888."new"($P1889 :named("value"))
-    $P1891 = $P1887."!make"($P1890)
-.annotate "line", 681
-    .return ($P1891)
-  control_1866:
+    .return ($P1889)
+  control_1875:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P1892, exception, "payload"
-    .return ($P1892)
+    getattribute $P1890, exception, "payload"
+    .return ($P1890)
 .end
 
 
 .namespace ["NQP";"Actions"]
-.sub "quote:sym<apos>"  :subid("104_1260829329.07487") :method :outer("11_1260829329.07487")
-    .param pmc param_1896
-.annotate "line", 687
-    new $P1895, 'ExceptionHandler'
-    set_addr $P1895, control_1894
-    $P1895."handle_types"(58)
-    push_eh $P1895
+.sub "number"  :subid("105_1261019379.40749") :method :outer("11_1261019379.40749")
+    .param pmc param_1894
+.annotate "line", 688
+    new $P1893, 'ExceptionHandler'
+    set_addr $P1893, control_1892
+    $P1893."handle_types"(58)
+    push_eh $P1893
     .lex "self", self
-    .lex "$/", param_1896
-    find_lex $P1897, "$/"
+    .lex "$/", param_1894
+.annotate "line", 689
+    new $P1895, "Undef"
+    .lex "$value", $P1895
     find_lex $P1898, "$/"
     unless_null $P1898, vivify_555
     new $P1898, "Hash"
   vivify_555:
-    set $P1899, $P1898["quote_EXPR"]
+    set $P1899, $P1898["dec_number"]
     unless_null $P1899, vivify_556
     new $P1899, "Undef"
   vivify_556:
-    $P1900 = $P1899."ast"()
-    $P1901 = $P1897."!make"($P1900)
-    .return ($P1901)
-  control_1894:
+    if $P1899, if_1897
+    find_lex $P1903, "$/"
+    unless_null $P1903, vivify_557
+    new $P1903, "Hash"
+  vivify_557:
+    set $P1904, $P1903["integer"]
+    unless_null $P1904, vivify_558
+    new $P1904, "Undef"
+  vivify_558:
+    $P1905 = $P1904."ast"()
+    set $P1896, $P1905
+    goto if_1897_end
+  if_1897:
+    find_lex $P1900, "$/"
+    unless_null $P1900, vivify_559
+    new $P1900, "Hash"
+  vivify_559:
+    set $P1901, $P1900["dec_number"]
+    unless_null $P1901, vivify_560
+    new $P1901, "Undef"
+  vivify_560:
+    $P1902 = $P1901."ast"()
+    set $P1896, $P1902
+  if_1897_end:
+    store_lex "$value", $P1896
+.annotate "line", 690
+    find_lex $P1907, "$/"
+    unless_null $P1907, vivify_561
+    new $P1907, "Hash"
+  vivify_561:
+    set $P1908, $P1907["sign"]
+    unless_null $P1908, vivify_562
+    new $P1908, "Undef"
+  vivify_562:
+    set $S1909, $P1908
+    iseq $I1910, $S1909, "-"
+    unless $I1910, if_1906_end
+    find_lex $P1911, "$value"
+    neg $P1912, $P1911
+    store_lex "$value", $P1912
+  if_1906_end:
+.annotate "line", 691
+    find_lex $P1913, "$/"
+    get_hll_global $P1914, ["PAST"], "Val"
+    find_lex $P1915, "$value"
+    $P1916 = $P1914."new"($P1915 :named("value"))
+    $P1917 = $P1913."!make"($P1916)
+.annotate "line", 688
+    .return ($P1917)
+  control_1892:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P1902, exception, "payload"
-    .return ($P1902)
+    getattribute $P1918, exception, "payload"
+    .return ($P1918)
 .end
 
 
 .namespace ["NQP";"Actions"]
-.sub "quote:sym<dblq>"  :subid("105_1260829329.07487") :method :outer("11_1260829329.07487")
-    .param pmc param_1906
-.annotate "line", 688
-    new $P1905, 'ExceptionHandler'
-    set_addr $P1905, control_1904
-    $P1905."handle_types"(58)
-    push_eh $P1905
+.sub "quote:sym<apos>"  :subid("106_1261019379.40749") :method :outer("11_1261019379.40749")
+    .param pmc param_1922
+.annotate "line", 694
+    new $P1921, 'ExceptionHandler'
+    set_addr $P1921, control_1920
+    $P1921."handle_types"(58)
+    push_eh $P1921
     .lex "self", self
-    .lex "$/", param_1906
-    find_lex $P1907, "$/"
-    find_lex $P1908, "$/"
-    unless_null $P1908, vivify_557
-    new $P1908, "Hash"
-  vivify_557:
-    set $P1909, $P1908["quote_EXPR"]
-    unless_null $P1909, vivify_558
-    new $P1909, "Undef"
-  vivify_558:
-    $P1910 = $P1909."ast"()
-    $P1911 = $P1907."!make"($P1910)
-    .return ($P1911)
-  control_1904:
+    .lex "$/", param_1922
+    find_lex $P1923, "$/"
+    find_lex $P1924, "$/"
+    unless_null $P1924, vivify_563
+    new $P1924, "Hash"
+  vivify_563:
+    set $P1925, $P1924["quote_EXPR"]
+    unless_null $P1925, vivify_564
+    new $P1925, "Undef"
+  vivify_564:
+    $P1926 = $P1925."ast"()
+    $P1927 = $P1923."!make"($P1926)
+    .return ($P1927)
+  control_1920:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P1912, exception, "payload"
-    .return ($P1912)
+    getattribute $P1928, exception, "payload"
+    .return ($P1928)
 .end
 
 
 .namespace ["NQP";"Actions"]
-.sub "quote:sym<qq>"  :subid("106_1260829329.07487") :method :outer("11_1260829329.07487")
-    .param pmc param_1916
-.annotate "line", 689
-    new $P1915, 'ExceptionHandler'
-    set_addr $P1915, control_1914
-    $P1915."handle_types"(58)
-    push_eh $P1915
-    .lex "self", self
-    .lex "$/", param_1916
-    find_lex $P1917, "$/"
-    find_lex $P1918, "$/"
-    unless_null $P1918, vivify_559
-    new $P1918, "Hash"
-  vivify_559:
-    set $P1919, $P1918["quote_EXPR"]
-    unless_null $P1919, vivify_560
-    new $P1919, "Undef"
-  vivify_560:
-    $P1920 = $P1919."ast"()
-    $P1921 = $P1917."!make"($P1920)
-    .return ($P1921)
-  control_1914:
-    .local pmc exception 
-    .get_results (exception) 
-    getattribute $P1922, exception, "payload"
-    .return ($P1922)
+.sub "quote:sym<dblq>"  :subid("107_1261019379.40749") :method :outer("11_1261019379.40749")
+    .param pmc param_1932
+.annotate "line", 695
+    new $P1931, 'ExceptionHandler'
+    set_addr $P1931, control_1930
+    $P1931."handle_types"(58)
+    push_eh $P1931
+    .lex "self", self
+    .lex "$/", param_1932
+    find_lex $P1933, "$/"
+    find_lex $P1934, "$/"
+    unless_null $P1934, vivify_565
+    new $P1934, "Hash"
+  vivify_565:
+    set $P1935, $P1934["quote_EXPR"]
+    unless_null $P1935, vivify_566
+    new $P1935, "Undef"
+  vivify_566:
+    $P1936 = $P1935."ast"()
+    $P1937 = $P1933."!make"($P1936)
+    .return ($P1937)
+  control_1930:
+    .local pmc exception 
+    .get_results (exception) 
+    getattribute $P1938, exception, "payload"
+    .return ($P1938)
 .end
 
 
 .namespace ["NQP";"Actions"]
-.sub "quote:sym<q>"  :subid("107_1260829329.07487") :method :outer("11_1260829329.07487")
-    .param pmc param_1926
-.annotate "line", 690
-    new $P1925, 'ExceptionHandler'
-    set_addr $P1925, control_1924
-    $P1925."handle_types"(58)
-    push_eh $P1925
-    .lex "self", self
-    .lex "$/", param_1926
-    find_lex $P1927, "$/"
-    find_lex $P1928, "$/"
-    unless_null $P1928, vivify_561
-    new $P1928, "Hash"
-  vivify_561:
-    set $P1929, $P1928["quote_EXPR"]
-    unless_null $P1929, vivify_562
-    new $P1929, "Undef"
-  vivify_562:
-    $P1930 = $P1929."ast"()
-    $P1931 = $P1927."!make"($P1930)
-    .return ($P1931)
-  control_1924:
+.sub "quote:sym<qq>"  :subid("108_1261019379.40749") :method :outer("11_1261019379.40749")
+    .param pmc param_1942
+.annotate "line", 696
+    new $P1941, 'ExceptionHandler'
+    set_addr $P1941, control_1940
+    $P1941."handle_types"(58)
+    push_eh $P1941
+    .lex "self", self
+    .lex "$/", param_1942
+    find_lex $P1943, "$/"
+    find_lex $P1944, "$/"
+    unless_null $P1944, vivify_567
+    new $P1944, "Hash"
+  vivify_567:
+    set $P1945, $P1944["quote_EXPR"]
+    unless_null $P1945, vivify_568
+    new $P1945, "Undef"
+  vivify_568:
+    $P1946 = $P1945."ast"()
+    $P1947 = $P1943."!make"($P1946)
+    .return ($P1947)
+  control_1940:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P1932, exception, "payload"
-    .return ($P1932)
+    getattribute $P1948, exception, "payload"
+    .return ($P1948)
 .end
 
 
 .namespace ["NQP";"Actions"]
-.sub "quote:sym<Q>"  :subid("108_1260829329.07487") :method :outer("11_1260829329.07487")
-    .param pmc param_1936
-.annotate "line", 691
-    new $P1935, 'ExceptionHandler'
-    set_addr $P1935, control_1934
-    $P1935."handle_types"(58)
-    push_eh $P1935
-    .lex "self", self
-    .lex "$/", param_1936
-    find_lex $P1937, "$/"
-    find_lex $P1938, "$/"
-    unless_null $P1938, vivify_563
-    new $P1938, "Hash"
-  vivify_563:
-    set $P1939, $P1938["quote_EXPR"]
-    unless_null $P1939, vivify_564
-    new $P1939, "Undef"
-  vivify_564:
-    $P1940 = $P1939."ast"()
-    $P1941 = $P1937."!make"($P1940)
-    .return ($P1941)
-  control_1934:
+.sub "quote:sym<q>"  :subid("109_1261019379.40749") :method :outer("11_1261019379.40749")
+    .param pmc param_1952
+.annotate "line", 697
+    new $P1951, 'ExceptionHandler'
+    set_addr $P1951, control_1950
+    $P1951."handle_types"(58)
+    push_eh $P1951
+    .lex "self", self
+    .lex "$/", param_1952
+    find_lex $P1953, "$/"
+    find_lex $P1954, "$/"
+    unless_null $P1954, vivify_569
+    new $P1954, "Hash"
+  vivify_569:
+    set $P1955, $P1954["quote_EXPR"]
+    unless_null $P1955, vivify_570
+    new $P1955, "Undef"
+  vivify_570:
+    $P1956 = $P1955."ast"()
+    $P1957 = $P1953."!make"($P1956)
+    .return ($P1957)
+  control_1950:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P1942, exception, "payload"
-    .return ($P1942)
+    getattribute $P1958, exception, "payload"
+    .return ($P1958)
 .end
 
 
 .namespace ["NQP";"Actions"]
-.sub "quote:sym<Q:PIR>"  :subid("109_1260829329.07487") :method :outer("11_1260829329.07487")
-    .param pmc param_1946
-.annotate "line", 692
-    new $P1945, 'ExceptionHandler'
-    set_addr $P1945, control_1944
-    $P1945."handle_types"(58)
-    push_eh $P1945
-    .lex "self", self
-    .lex "$/", param_1946
-.annotate "line", 693
-    find_lex $P1947, "$/"
-    get_hll_global $P1948, ["PAST"], "Op"
-    find_lex $P1949, "$/"
-    unless_null $P1949, vivify_565
-    new $P1949, "Hash"
-  vivify_565:
-    set $P1950, $P1949["quote_EXPR"]
-    unless_null $P1950, vivify_566
-    new $P1950, "Undef"
-  vivify_566:
-    $P1951 = $P1950."ast"()
-    $P1952 = $P1951."value"()
-    find_lex $P1953, "$/"
-    $P1954 = $P1948."new"($P1952 :named("inline"), "inline" :named("pasttype"), $P1953 :named("node"))
-    $P1955 = $P1947."!make"($P1954)
-.annotate "line", 692
-    .return ($P1955)
-  control_1944:
+.sub "quote:sym<Q>"  :subid("110_1261019379.40749") :method :outer("11_1261019379.40749")
+    .param pmc param_1962
+.annotate "line", 698
+    new $P1961, 'ExceptionHandler'
+    set_addr $P1961, control_1960
+    $P1961."handle_types"(58)
+    push_eh $P1961
+    .lex "self", self
+    .lex "$/", param_1962
+    find_lex $P1963, "$/"
+    find_lex $P1964, "$/"
+    unless_null $P1964, vivify_571
+    new $P1964, "Hash"
+  vivify_571:
+    set $P1965, $P1964["quote_EXPR"]
+    unless_null $P1965, vivify_572
+    new $P1965, "Undef"
+  vivify_572:
+    $P1966 = $P1965."ast"()
+    $P1967 = $P1963."!make"($P1966)
+    .return ($P1967)
+  control_1960:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P1956, exception, "payload"
-    .return ($P1956)
+    getattribute $P1968, exception, "payload"
+    .return ($P1968)
 .end
 
 
 .namespace ["NQP";"Actions"]
-.sub "quote:sym</ />"  :subid("110_1260829329.07487") :method :outer("11_1260829329.07487")
-    .param pmc param_1960
-    .param pmc param_1961 :optional
-    .param int has_param_1961 :opt_flag
-.annotate "line", 698
-    new $P1959, 'ExceptionHandler'
-    set_addr $P1959, control_1958
-    $P1959."handle_types"(58)
-    push_eh $P1959
-    .lex "self", self
-    .lex "$/", param_1960
-    if has_param_1961, optparam_567
-    new $P1962, "Undef"
-    set param_1961, $P1962
-  optparam_567:
-    .lex "$key", param_1961
-.annotate "line", 708
-    new $P1963, "Undef"
-    .lex "$regex", $P1963
-.annotate "line", 710
-    new $P1964, "Undef"
-    .lex "$past", $P1964
+.sub "quote:sym<Q:PIR>"  :subid("111_1261019379.40749") :method :outer("11_1261019379.40749")
+    .param pmc param_1972
 .annotate "line", 699
-    find_lex $P1966, "$key"
-    set $S1967, $P1966
-    iseq $I1968, $S1967, "open"
-    unless $I1968, if_1965_end
+    new $P1971, 'ExceptionHandler'
+    set_addr $P1971, control_1970
+    $P1971."handle_types"(58)
+    push_eh $P1971
+    .lex "self", self
+    .lex "$/", param_1972
 .annotate "line", 700
-
-            null $P0
-            set_hll_global ['Regex';'P6Regex';'Actions'], '$REGEXNAME', $P0
-        
-.annotate "line", 704
-    get_global $P1969, "@BLOCK"
-    unless_null $P1969, vivify_568
-    new $P1969, "ResizablePMCArray"
-  vivify_568:
-    set $P1970, $P1969[0]
-    unless_null $P1970, vivify_569
-    new $P1970, "Undef"
-  vivify_569:
-    $P1970."symbol"(unicode:"$\x{a2}", "lexical" :named("scope"))
-.annotate "line", 705
-    get_global $P1971, "@BLOCK"
-    unless_null $P1971, vivify_570
-    new $P1971, "ResizablePMCArray"
-  vivify_570:
-    set $P1972, $P1971[0]
-    unless_null $P1972, vivify_571
-    new $P1972, "Undef"
-  vivify_571:
-    $P1972."symbol"("$/", "lexical" :named("scope"))
-.annotate "line", 706
-    new $P1973, "Exception"
-    set $P1973['type'], 58
-    new $P1974, "Integer"
-    assign $P1974, 0
-    setattribute $P1973, 'payload', $P1974
-    throw $P1973
-  if_1965_end:
-.annotate "line", 709
-    get_hll_global $P1975, ["Regex";"P6Regex";"Actions"], "buildsub"
-    find_lex $P1976, "$/"
-    unless_null $P1976, vivify_572
-    new $P1976, "Hash"
-  vivify_572:
-    set $P1977, $P1976["p6regex"]
-    unless_null $P1977, vivify_573
-    new $P1977, "Undef"
+    find_lex $P1973, "$/"
+    get_hll_global $P1974, ["PAST"], "Op"
+    find_lex $P1975, "$/"
+    unless_null $P1975, vivify_573
+    new $P1975, "Hash"
   vivify_573:
-    $P1978 = $P1977."ast"()
-    get_global $P1979, "@BLOCK"
-    $P1980 = $P1979."shift"()
-    $P1981 = $P1975($P1978, $P1980)
-    store_lex "$regex", $P1981
-.annotate "line", 711
-    get_hll_global $P1982, ["PAST"], "Op"
-.annotate "line", 713
-    get_hll_global $P1983, ["PAST"], "Var"
-    new $P1984, "ResizablePMCArray"
-    push $P1984, "Regex"
-    $P1985 = $P1983."new"("Regex" :named("name"), $P1984 :named("namespace"), "package" :named("scope"))
-    find_lex $P1986, "$regex"
-    $P1987 = $P1982."new"($P1985, $P1986, "callmethod" :named("pasttype"), "new" :named("name"))
-.annotate "line", 711
-    store_lex "$past", $P1987
-.annotate "line", 717
-    find_lex $P1988, "$regex"
-    find_lex $P1989, "$past"
-    unless_null $P1989, vivify_574
-    new $P1989, "Hash"
-    store_lex "$past", $P1989
+    set $P1976, $P1975["quote_EXPR"]
+    unless_null $P1976, vivify_574
+    new $P1976, "Undef"
   vivify_574:
-    set $P1989["sink"], $P1988
-.annotate "line", 718
-    find_lex $P1990, "$/"
-    find_lex $P1991, "$past"
-    $P1992 = $P1990."!make"($P1991)
-.annotate "line", 698
-    .return ($P1992)
-  control_1958:
+    $P1977 = $P1976."ast"()
+    $P1978 = $P1977."value"()
+    find_lex $P1979, "$/"
+    $P1980 = $P1974."new"($P1978 :named("inline"), "inline" :named("pasttype"), $P1979 :named("node"))
+    $P1981 = $P1973."!make"($P1980)
+.annotate "line", 699
+    .return ($P1981)
+  control_1970:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P1993, exception, "payload"
-    .return ($P1993)
+    getattribute $P1982, exception, "payload"
+    .return ($P1982)
 .end
 
 
 .namespace ["NQP";"Actions"]
-.sub "quote_escape:sym<$>"  :subid("111_1260829329.07487") :method :outer("11_1260829329.07487")
-    .param pmc param_1997
-.annotate "line", 721
-    new $P1996, 'ExceptionHandler'
-    set_addr $P1996, control_1995
-    $P1996."handle_types"(58)
-    push_eh $P1996
-    .lex "self", self
-    .lex "$/", param_1997
-    find_lex $P1998, "$/"
-    find_lex $P1999, "$/"
-    unless_null $P1999, vivify_575
-    new $P1999, "Hash"
-  vivify_575:
-    set $P2000, $P1999["variable"]
-    unless_null $P2000, vivify_576
-    new $P2000, "Undef"
+.sub "quote:sym</ />"  :subid("112_1261019379.40749") :method :outer("11_1261019379.40749")
+    .param pmc param_1986
+    .param pmc param_1987 :optional
+    .param int has_param_1987 :opt_flag
+.annotate "line", 705
+    new $P1985, 'ExceptionHandler'
+    set_addr $P1985, control_1984
+    $P1985."handle_types"(58)
+    push_eh $P1985
+    .lex "self", self
+    .lex "$/", param_1986
+    if has_param_1987, optparam_575
+    new $P1988, "Undef"
+    set param_1987, $P1988
+  optparam_575:
+    .lex "$key", param_1987
+.annotate "line", 715
+    new $P1989, "Undef"
+    .lex "$regex", $P1989
+.annotate "line", 717
+    new $P1990, "Undef"
+    .lex "$past", $P1990
+.annotate "line", 706
+    find_lex $P1992, "$key"
+    set $S1993, $P1992
+    iseq $I1994, $S1993, "open"
+    unless $I1994, if_1991_end
+.annotate "line", 707
+
+            null $P0
+            set_hll_global ['Regex';'P6Regex';'Actions'], '$REGEXNAME', $P0
+        
+.annotate "line", 711
+    get_global $P1995, "@BLOCK"
+    unless_null $P1995, vivify_576
+    new $P1995, "ResizablePMCArray"
   vivify_576:
-    $P2001 = $P2000."ast"()
-    $P2002 = $P1998."!make"($P2001)
-    .return ($P2002)
-  control_1995:
+    set $P1996, $P1995[0]
+    unless_null $P1996, vivify_577
+    new $P1996, "Undef"
+  vivify_577:
+    $P1996."symbol"(unicode:"$\x{a2}", "lexical" :named("scope"))
+.annotate "line", 712
+    get_global $P1997, "@BLOCK"
+    unless_null $P1997, vivify_578
+    new $P1997, "ResizablePMCArray"
+  vivify_578:
+    set $P1998, $P1997[0]
+    unless_null $P1998, vivify_579
+    new $P1998, "Undef"
+  vivify_579:
+    $P1998."symbol"("$/", "lexical" :named("scope"))
+.annotate "line", 713
+    new $P1999, "Exception"
+    set $P1999['type'], 58
+    new $P2000, "Integer"
+    assign $P2000, 0
+    setattribute $P1999, 'payload', $P2000
+    throw $P1999
+  if_1991_end:
+.annotate "line", 716
+    get_hll_global $P2001, ["Regex";"P6Regex";"Actions"], "buildsub"
+    find_lex $P2002, "$/"
+    unless_null $P2002, vivify_580
+    new $P2002, "Hash"
+  vivify_580:
+    set $P2003, $P2002["p6regex"]
+    unless_null $P2003, vivify_581
+    new $P2003, "Undef"
+  vivify_581:
+    $P2004 = $P2003."ast"()
+    get_global $P2005, "@BLOCK"
+    $P2006 = $P2005."shift"()
+    $P2007 = $P2001($P2004, $P2006)
+    store_lex "$regex", $P2007
+.annotate "line", 718
+    get_hll_global $P2008, ["PAST"], "Op"
+.annotate "line", 720
+    get_hll_global $P2009, ["PAST"], "Var"
+    new $P2010, "ResizablePMCArray"
+    push $P2010, "Regex"
+    $P2011 = $P2009."new"("Regex" :named("name"), $P2010 :named("namespace"), "package" :named("scope"))
+    find_lex $P2012, "$regex"
+    $P2013 = $P2008."new"($P2011, $P2012, "callmethod" :named("pasttype"), "new" :named("name"))
+.annotate "line", 718
+    store_lex "$past", $P2013
+.annotate "line", 724
+    find_lex $P2014, "$regex"
+    find_lex $P2015, "$past"
+    unless_null $P2015, vivify_582
+    new $P2015, "Hash"
+    store_lex "$past", $P2015
+  vivify_582:
+    set $P2015["sink"], $P2014
+.annotate "line", 725
+    find_lex $P2016, "$/"
+    find_lex $P2017, "$past"
+    $P2018 = $P2016."!make"($P2017)
+.annotate "line", 705
+    .return ($P2018)
+  control_1984:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P2003, exception, "payload"
-    .return ($P2003)
+    getattribute $P2019, exception, "payload"
+    .return ($P2019)
 .end
 
 
 .namespace ["NQP";"Actions"]
-.sub "quote_escape:sym<{ }>"  :subid("112_1260829329.07487") :method :outer("11_1260829329.07487")
-    .param pmc param_2007
-.annotate "line", 722
-    new $P2006, 'ExceptionHandler'
-    set_addr $P2006, control_2005
-    $P2006."handle_types"(58)
-    push_eh $P2006
+.sub "quote_escape:sym<$>"  :subid("113_1261019379.40749") :method :outer("11_1261019379.40749")
+    .param pmc param_2023
+.annotate "line", 728
+    new $P2022, 'ExceptionHandler'
+    set_addr $P2022, control_2021
+    $P2022."handle_types"(58)
+    push_eh $P2022
     .lex "self", self
-    .lex "$/", param_2007
-.annotate "line", 723
-    find_lex $P2008, "$/"
-    get_hll_global $P2009, ["PAST"], "Op"
-.annotate "line", 724
-    find_lex $P2010, "$/"
-    unless_null $P2010, vivify_577
-    new $P2010, "Hash"
-  vivify_577:
-    set $P2011, $P2010["block"]
-    unless_null $P2011, vivify_578
-    new $P2011, "Undef"
-  vivify_578:
-    $P2012 = $P2011."ast"()
-    $P2013 = "block_immediate"($P2012)
-    find_lex $P2014, "$/"
-    $P2015 = $P2009."new"($P2013, "set S*" :named("pirop"), $P2014 :named("node"))
-.annotate "line", 723
-    $P2016 = $P2008."!make"($P2015)
-.annotate "line", 722
-    .return ($P2016)
-  control_2005:
+    .lex "$/", param_2023
+    find_lex $P2024, "$/"
+    find_lex $P2025, "$/"
+    unless_null $P2025, vivify_583
+    new $P2025, "Hash"
+  vivify_583:
+    set $P2026, $P2025["variable"]
+    unless_null $P2026, vivify_584
+    new $P2026, "Undef"
+  vivify_584:
+    $P2027 = $P2026."ast"()
+    $P2028 = $P2024."!make"($P2027)
+    .return ($P2028)
+  control_2021:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P2017, exception, "payload"
-    .return ($P2017)
+    getattribute $P2029, exception, "payload"
+    .return ($P2029)
 .end
 
 
 .namespace ["NQP";"Actions"]
-.sub "postfix:sym<.>"  :subid("113_1260829329.07487") :method :outer("11_1260829329.07487")
-    .param pmc param_2021
+.sub "quote_escape:sym<{ }>"  :subid("114_1261019379.40749") :method :outer("11_1261019379.40749")
+    .param pmc param_2033
+.annotate "line", 729
+    new $P2032, 'ExceptionHandler'
+    set_addr $P2032, control_2031
+    $P2032."handle_types"(58)
+    push_eh $P2032
+    .lex "self", self
+    .lex "$/", param_2033
 .annotate "line", 730
-    new $P2020, 'ExceptionHandler'
-    set_addr $P2020, control_2019
-    $P2020."handle_types"(58)
-    push_eh $P2020
-    .lex "self", self
-    .lex "$/", param_2021
-    find_lex $P2022, "$/"
-    find_lex $P2023, "$/"
-    unless_null $P2023, vivify_579
-    new $P2023, "Hash"
-  vivify_579:
-    set $P2024, $P2023["dotty"]
-    unless_null $P2024, vivify_580
-    new $P2024, "Undef"
-  vivify_580:
-    $P2025 = $P2024."ast"()
-    $P2026 = $P2022."!make"($P2025)
-    .return ($P2026)
-  control_2019:
+    find_lex $P2034, "$/"
+    get_hll_global $P2035, ["PAST"], "Op"
+.annotate "line", 731
+    find_lex $P2036, "$/"
+    unless_null $P2036, vivify_585
+    new $P2036, "Hash"
+  vivify_585:
+    set $P2037, $P2036["block"]
+    unless_null $P2037, vivify_586
+    new $P2037, "Undef"
+  vivify_586:
+    $P2038 = $P2037."ast"()
+    $P2039 = "block_immediate"($P2038)
+    find_lex $P2040, "$/"
+    $P2041 = $P2035."new"($P2039, "set S*" :named("pirop"), $P2040 :named("node"))
+.annotate "line", 730
+    $P2042 = $P2034."!make"($P2041)
+.annotate "line", 729
+    .return ($P2042)
+  control_2031:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P2027, exception, "payload"
-    .return ($P2027)
+    getattribute $P2043, exception, "payload"
+    .return ($P2043)
 .end
 
 
 .namespace ["NQP";"Actions"]
-.sub "postfix:sym<++>"  :subid("114_1260829329.07487") :method :outer("11_1260829329.07487")
-    .param pmc param_2031
-.annotate "line", 732
-    new $P2030, 'ExceptionHandler'
-    set_addr $P2030, control_2029
-    $P2030."handle_types"(58)
-    push_eh $P2030
+.sub "postfix:sym<.>"  :subid("115_1261019379.40749") :method :outer("11_1261019379.40749")
+    .param pmc param_2047
+.annotate "line", 737
+    new $P2046, 'ExceptionHandler'
+    set_addr $P2046, control_2045
+    $P2046."handle_types"(58)
+    push_eh $P2046
     .lex "self", self
-    .lex "$/", param_2031
-.annotate "line", 733
-    find_lex $P2032, "$/"
-    get_hll_global $P2033, ["PAST"], "Op"
-.annotate "line", 734
-    new $P2034, "ResizablePMCArray"
-    push $P2034, "    clone %r, %0"
-    push $P2034, "    inc %0"
-    $P2035 = $P2033."new"("postfix:<++>" :named("name"), $P2034 :named("inline"), "inline" :named("pasttype"))
-.annotate "line", 733
-    $P2036 = $P2032."!make"($P2035)
-.annotate "line", 732
-    .return ($P2036)
-  control_2029:
+    .lex "$/", param_2047
+    find_lex $P2048, "$/"
+    find_lex $P2049, "$/"
+    unless_null $P2049, vivify_587
+    new $P2049, "Hash"
+  vivify_587:
+    set $P2050, $P2049["dotty"]
+    unless_null $P2050, vivify_588
+    new $P2050, "Undef"
+  vivify_588:
+    $P2051 = $P2050."ast"()
+    $P2052 = $P2048."!make"($P2051)
+    .return ($P2052)
+  control_2045:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P2037, exception, "payload"
-    .return ($P2037)
+    getattribute $P2053, exception, "payload"
+    .return ($P2053)
 .end
 
 
 .namespace ["NQP";"Actions"]
-.sub "postfix:sym<-->"  :subid("115_1260829329.07487") :method :outer("11_1260829329.07487")
-    .param pmc param_2041
-.annotate "line", 738
-    new $P2040, 'ExceptionHandler'
-    set_addr $P2040, control_2039
-    $P2040."handle_types"(58)
-    push_eh $P2040
-    .lex "self", self
-    .lex "$/", param_2041
+.sub "postfix:sym<++>"  :subid("116_1261019379.40749") :method :outer("11_1261019379.40749")
+    .param pmc param_2057
 .annotate "line", 739
-    find_lex $P2042, "$/"
-    get_hll_global $P2043, ["PAST"], "Op"
+    new $P2056, 'ExceptionHandler'
+    set_addr $P2056, control_2055
+    $P2056."handle_types"(58)
+    push_eh $P2056
+    .lex "self", self
+    .lex "$/", param_2057
+.annotate "line", 740
+    find_lex $P2058, "$/"
+    get_hll_global $P2059, ["PAST"], "Op"
+.annotate "line", 741
+    new $P2060, "ResizablePMCArray"
+    push $P2060, "    clone %r, %0"
+    push $P2060, "    inc %0"
+    $P2061 = $P2059."new"("postfix:<++>" :named("name"), $P2060 :named("inline"), "inline" :named("pasttype"))
 .annotate "line", 740
-    new $P2044, "ResizablePMCArray"
-    push $P2044, "    clone %r, %0"
-    push $P2044, "    dec %0"
-    $P2045 = $P2043."new"("postfix:<-->" :named("name"), $P2044 :named("inline"), "inline" :named("pasttype"))
+    $P2062 = $P2058."!make"($P2061)
 .annotate "line", 739
-    $P2046 = $P2042."!make"($P2045)
-.annotate "line", 738
-    .return ($P2046)
-  control_2039:
+    .return ($P2062)
+  control_2055:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P2047, exception, "payload"
-    .return ($P2047)
+    getattribute $P2063, exception, "payload"
+    .return ($P2063)
 .end
 
 
 .namespace ["NQP";"Actions"]
-.sub "prefix:sym<make>"  :subid("116_1260829329.07487") :method :outer("11_1260829329.07487")
-    .param pmc param_2051
-.annotate "line", 744
-    new $P2050, 'ExceptionHandler'
-    set_addr $P2050, control_2049
-    $P2050."handle_types"(58)
-    push_eh $P2050
-    .lex "self", self
-    .lex "$/", param_2051
+.sub "postfix:sym<-->"  :subid("117_1261019379.40749") :method :outer("11_1261019379.40749")
+    .param pmc param_2067
 .annotate "line", 745
-    find_lex $P2052, "$/"
-    get_hll_global $P2053, ["PAST"], "Op"
+    new $P2066, 'ExceptionHandler'
+    set_addr $P2066, control_2065
+    $P2066."handle_types"(58)
+    push_eh $P2066
+    .lex "self", self
+    .lex "$/", param_2067
 .annotate "line", 746
-    get_hll_global $P2054, ["PAST"], "Var"
-    $P2055 = $P2054."new"("$/" :named("name"), "contextual" :named("scope"))
-    find_lex $P2056, "$/"
-    $P2057 = $P2053."new"($P2055, "callmethod" :named("pasttype"), "!make" :named("name"), $P2056 :named("node"))
+    find_lex $P2068, "$/"
+    get_hll_global $P2069, ["PAST"], "Op"
+.annotate "line", 747
+    new $P2070, "ResizablePMCArray"
+    push $P2070, "    clone %r, %0"
+    push $P2070, "    dec %0"
+    $P2071 = $P2069."new"("postfix:<-->" :named("name"), $P2070 :named("inline"), "inline" :named("pasttype"))
+.annotate "line", 746
+    $P2072 = $P2068."!make"($P2071)
 .annotate "line", 745
-    $P2058 = $P2052."!make"($P2057)
-.annotate "line", 744
-    .return ($P2058)
-  control_2049:
+    .return ($P2072)
+  control_2065:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P2059, exception, "payload"
-    .return ($P2059)
+    getattribute $P2073, exception, "payload"
+    .return ($P2073)
 .end
 
 
 .namespace ["NQP";"Actions"]
-.sub "infix:sym<~~>"  :subid("117_1260829329.07487") :method :outer("11_1260829329.07487")
-    .param pmc param_2063
-.annotate "line", 753
-    new $P2062, 'ExceptionHandler'
-    set_addr $P2062, control_2061
-    $P2062."handle_types"(58)
-    push_eh $P2062
-    .lex "self", self
-    .lex "$/", param_2063
-.annotate "line", 754
-    find_lex $P2064, "$/"
-    get_hll_global $P2065, ["PAST"], "Op"
-    find_lex $P2066, "$/"
-    $P2067 = $P2065."new"("callmethod" :named("pasttype"), "ACCEPTS" :named("name"), $P2066 :named("node"))
-    $P2068 = $P2064."!make"($P2067)
-.annotate "line", 753
-    .return ($P2068)
-  control_2061:
-    .local pmc exception 
-    .get_results (exception) 
-    getattribute $P2069, exception, "payload"
-    .return ($P2069)
-.end
-
-
-.namespace ["NQP";"RegexActions"]
-.sub "_block2070"  :subid("118_1260829329.07487") :outer("11_1260829329.07487")
-.annotate "line", 758
-    .const 'Sub' $P2106 = "122_1260829329.07487" 
-    capture_lex $P2106
-    .const 'Sub' $P2096 = "121_1260829329.07487" 
-    capture_lex $P2096
-    .const 'Sub' $P2086 = "120_1260829329.07487" 
-    capture_lex $P2086
-    .const 'Sub' $P2072 = "119_1260829329.07487" 
-    capture_lex $P2072
-.annotate "line", 769
-    .const 'Sub' $P2106 = "122_1260829329.07487" 
-    capture_lex $P2106
-.annotate "line", 758
-    .return ($P2106)
-.end
-
-
-.namespace ["NQP";"RegexActions"]
-.sub "metachar:sym<:my>"  :subid("119_1260829329.07487") :method :outer("118_1260829329.07487")
-    .param pmc param_2075
-.annotate "line", 760
-    new $P2074, 'ExceptionHandler'
-    set_addr $P2074, control_2073
-    $P2074."handle_types"(58)
-    push_eh $P2074
+.sub "prefix:sym<make>"  :subid("118_1261019379.40749") :method :outer("11_1261019379.40749")
+    .param pmc param_2077
+.annotate "line", 751
+    new $P2076, 'ExceptionHandler'
+    set_addr $P2076, control_2075
+    $P2076."handle_types"(58)
+    push_eh $P2076
     .lex "self", self
-    .lex "$/", param_2075
-.annotate "line", 761
-    new $P2076, "Undef"
-    .lex "$past", $P2076
-    find_lex $P2077, "$/"
-    unless_null $P2077, vivify_581
-    new $P2077, "Hash"
-  vivify_581:
-    set $P2078, $P2077["statement"]
-    unless_null $P2078, vivify_582
-    new $P2078, "Undef"
-  vivify_582:
-    $P2079 = $P2078."ast"()
-    store_lex "$past", $P2079
-.annotate "line", 762
-    find_lex $P2080, "$/"
-    get_hll_global $P2081, ["PAST"], "Regex"
-    find_lex $P2082, "$past"
-    $P2083 = $P2081."new"($P2082, "pastnode" :named("pasttype"))
-    $P2084 = $P2080."!make"($P2083)
-.annotate "line", 760
+    .lex "$/", param_2077
+.annotate "line", 752
+    find_lex $P2078, "$/"
+    get_hll_global $P2079, ["PAST"], "Op"
+.annotate "line", 753
+    get_hll_global $P2080, ["PAST"], "Var"
+    $P2081 = $P2080."new"("$/" :named("name"), "contextual" :named("scope"))
+    find_lex $P2082, "$/"
+    $P2083 = $P2079."new"($P2081, "callmethod" :named("pasttype"), "!make" :named("name"), $P2082 :named("node"))
+.annotate "line", 752
+    $P2084 = $P2078."!make"($P2083)
+.annotate "line", 751
     .return ($P2084)
-  control_2073:
+  control_2075:
     .local pmc exception 
     .get_results (exception) 
     getattribute $P2085, exception, "payload"
@@ -21818,27 +21992,23 @@
 .end
 
 
-.namespace ["NQP";"RegexActions"]
-.sub "metachar:sym<{ }>"  :subid("120_1260829329.07487") :method :outer("118_1260829329.07487")
+.namespace ["NQP";"Actions"]
+.sub "infix:sym<~~>"  :subid("119_1261019379.40749") :method :outer("11_1261019379.40749")
     .param pmc param_2089
-.annotate "line", 765
+.annotate "line", 760
     new $P2088, 'ExceptionHandler'
     set_addr $P2088, control_2087
     $P2088."handle_types"(58)
     push_eh $P2088
     .lex "self", self
     .lex "$/", param_2089
+.annotate "line", 761
     find_lex $P2090, "$/"
-    find_lex $P2091, "$/"
-    unless_null $P2091, vivify_583
-    new $P2091, "Hash"
-  vivify_583:
-    set $P2092, $P2091["codeblock"]
-    unless_null $P2092, vivify_584
-    new $P2092, "Undef"
-  vivify_584:
-    $P2093 = $P2092."ast"()
+    get_hll_global $P2091, ["PAST"], "Op"
+    find_lex $P2092, "$/"
+    $P2093 = $P2091."new"("callmethod" :named("pasttype"), "ACCEPTS" :named("name"), $P2092 :named("node"))
     $P2094 = $P2090."!make"($P2093)
+.annotate "line", 760
     .return ($P2094)
   control_2087:
     .local pmc exception 
@@ -21849,100 +22019,188 @@
 
 
 .namespace ["NQP";"RegexActions"]
-.sub "assertion:sym<{ }>"  :subid("121_1260829329.07487") :method :outer("118_1260829329.07487")
-    .param pmc param_2099
+.sub "_block2096"  :subid("120_1261019379.40749") :outer("11_1261019379.40749")
+.annotate "line", 765
+    .const 'Sub' $P2132 = "124_1261019379.40749" 
+    capture_lex $P2132
+    .const 'Sub' $P2122 = "123_1261019379.40749" 
+    capture_lex $P2122
+    .const 'Sub' $P2112 = "122_1261019379.40749" 
+    capture_lex $P2112
+    .const 'Sub' $P2098 = "121_1261019379.40749" 
+    capture_lex $P2098
+.annotate "line", 776
+    .const 'Sub' $P2132 = "124_1261019379.40749" 
+    capture_lex $P2132
+.annotate "line", 765
+    .return ($P2132)
+.end
+
+
+.namespace ["NQP";"RegexActions"]
+.sub "metachar:sym<:my>"  :subid("121_1261019379.40749") :method :outer("120_1261019379.40749")
+    .param pmc param_2101
 .annotate "line", 767
-    new $P2098, 'ExceptionHandler'
-    set_addr $P2098, control_2097
-    $P2098."handle_types"(58)
-    push_eh $P2098
-    .lex "self", self
-    .lex "$/", param_2099
-    find_lex $P2100, "$/"
-    find_lex $P2101, "$/"
-    unless_null $P2101, vivify_585
-    new $P2101, "Hash"
-  vivify_585:
-    set $P2102, $P2101["codeblock"]
-    unless_null $P2102, vivify_586
+    new $P2100, 'ExceptionHandler'
+    set_addr $P2100, control_2099
+    $P2100."handle_types"(58)
+    push_eh $P2100
+    .lex "self", self
+    .lex "$/", param_2101
+.annotate "line", 768
     new $P2102, "Undef"
-  vivify_586:
-    $P2103 = $P2102."ast"()
-    $P2104 = $P2100."!make"($P2103)
-    .return ($P2104)
-  control_2097:
+    .lex "$past", $P2102
+    find_lex $P2103, "$/"
+    unless_null $P2103, vivify_589
+    new $P2103, "Hash"
+  vivify_589:
+    set $P2104, $P2103["statement"]
+    unless_null $P2104, vivify_590
+    new $P2104, "Undef"
+  vivify_590:
+    $P2105 = $P2104."ast"()
+    store_lex "$past", $P2105
+.annotate "line", 769
+    find_lex $P2106, "$/"
+    get_hll_global $P2107, ["PAST"], "Regex"
+    find_lex $P2108, "$past"
+    $P2109 = $P2107."new"($P2108, "pastnode" :named("pasttype"))
+    $P2110 = $P2106."!make"($P2109)
+.annotate "line", 767
+    .return ($P2110)
+  control_2099:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P2105, exception, "payload"
-    .return ($P2105)
+    getattribute $P2111, exception, "payload"
+    .return ($P2111)
 .end
 
 
 .namespace ["NQP";"RegexActions"]
-.sub "codeblock"  :subid("122_1260829329.07487") :method :outer("118_1260829329.07487")
-    .param pmc param_2109
-.annotate "line", 769
-    new $P2108, 'ExceptionHandler'
-    set_addr $P2108, control_2107
-    $P2108."handle_types"(58)
-    push_eh $P2108
-    .lex "self", self
-    .lex "$/", param_2109
-.annotate "line", 770
-    new $P2110, "Undef"
-    .lex "$block", $P2110
+.sub "metachar:sym<{ }>"  :subid("122_1261019379.40749") :method :outer("120_1261019379.40749")
+    .param pmc param_2115
 .annotate "line", 772
-    new $P2111, "Undef"
-    .lex "$past", $P2111
-.annotate "line", 770
-    find_lex $P2112, "$/"
-    unless_null $P2112, vivify_587
-    new $P2112, "Hash"
-  vivify_587:
-    set $P2113, $P2112["block"]
-    unless_null $P2113, vivify_588
-    new $P2113, "Undef"
-  vivify_588:
-    $P2114 = $P2113."ast"()
-    store_lex "$block", $P2114
-.annotate "line", 771
-    find_lex $P2115, "$block"
-    $P2115."blocktype"("immediate")
-.annotate "line", 773
-    get_hll_global $P2116, ["PAST"], "Regex"
+    new $P2114, 'ExceptionHandler'
+    set_addr $P2114, control_2113
+    $P2114."handle_types"(58)
+    push_eh $P2114
+    .lex "self", self
+    .lex "$/", param_2115
+    find_lex $P2116, "$/"
+    find_lex $P2117, "$/"
+    unless_null $P2117, vivify_591
+    new $P2117, "Hash"
+  vivify_591:
+    set $P2118, $P2117["codeblock"]
+    unless_null $P2118, vivify_592
+    new $P2118, "Undef"
+  vivify_592:
+    $P2119 = $P2118."ast"()
+    $P2120 = $P2116."!make"($P2119)
+    .return ($P2120)
+  control_2113:
+    .local pmc exception 
+    .get_results (exception) 
+    getattribute $P2121, exception, "payload"
+    .return ($P2121)
+.end
+
+
+.namespace ["NQP";"RegexActions"]
+.sub "assertion:sym<{ }>"  :subid("123_1261019379.40749") :method :outer("120_1261019379.40749")
+    .param pmc param_2125
 .annotate "line", 774
-    get_hll_global $P2117, ["PAST"], "Stmts"
-.annotate "line", 775
-    get_hll_global $P2118, ["PAST"], "Op"
+    new $P2124, 'ExceptionHandler'
+    set_addr $P2124, control_2123
+    $P2124."handle_types"(58)
+    push_eh $P2124
+    .lex "self", self
+    .lex "$/", param_2125
+    find_lex $P2126, "$/"
+    find_lex $P2127, "$/"
+    unless_null $P2127, vivify_593
+    new $P2127, "Hash"
+  vivify_593:
+    set $P2128, $P2127["codeblock"]
+    unless_null $P2128, vivify_594
+    new $P2128, "Undef"
+  vivify_594:
+    $P2129 = $P2128."ast"()
+    $P2130 = $P2126."!make"($P2129)
+    .return ($P2130)
+  control_2123:
+    .local pmc exception 
+    .get_results (exception) 
+    getattribute $P2131, exception, "payload"
+    .return ($P2131)
+.end
+
+
+.namespace ["NQP";"RegexActions"]
+.sub "codeblock"  :subid("124_1261019379.40749") :method :outer("120_1261019379.40749")
+    .param pmc param_2135
 .annotate "line", 776
-    get_hll_global $P2119, ["PAST"], "Var"
-    $P2120 = $P2119."new"("$/" :named("name"))
+    new $P2134, 'ExceptionHandler'
+    set_addr $P2134, control_2133
+    $P2134."handle_types"(58)
+    push_eh $P2134
+    .lex "self", self
+    .lex "$/", param_2135
 .annotate "line", 777
-    get_hll_global $P2121, ["PAST"], "Op"
-.annotate "line", 778
-    get_hll_global $P2122, ["PAST"], "Var"
-    $P2123 = $P2122."new"(unicode:"$\x{a2}" :named("name"))
-    $P2124 = $P2121."new"($P2123, "MATCH" :named("name"), "callmethod" :named("pasttype"))
+    new $P2136, "Undef"
+    .lex "$block", $P2136
+.annotate "line", 779
+    new $P2137, "Undef"
+    .lex "$past", $P2137
 .annotate "line", 777
-    $P2125 = $P2118."new"($P2120, $P2124, "bind" :named("pasttype"))
-.annotate "line", 775
-    find_lex $P2126, "$block"
-    $P2127 = $P2117."new"($P2125, $P2126)
-.annotate "line", 774
-    $P2128 = $P2116."new"($P2127, "pastnode" :named("pasttype"))
-.annotate "line", 773
-    store_lex "$past", $P2128
-.annotate "line", 788
-    find_lex $P2129, "$/"
-    find_lex $P2130, "$past"
-    $P2131 = $P2129."!make"($P2130)
-.annotate "line", 769
-    .return ($P2131)
-  control_2107:
+    find_lex $P2138, "$/"
+    unless_null $P2138, vivify_595
+    new $P2138, "Hash"
+  vivify_595:
+    set $P2139, $P2138["block"]
+    unless_null $P2139, vivify_596
+    new $P2139, "Undef"
+  vivify_596:
+    $P2140 = $P2139."ast"()
+    store_lex "$block", $P2140
+.annotate "line", 778
+    find_lex $P2141, "$block"
+    $P2141."blocktype"("immediate")
+.annotate "line", 780
+    get_hll_global $P2142, ["PAST"], "Regex"
+.annotate "line", 781
+    get_hll_global $P2143, ["PAST"], "Stmts"
+.annotate "line", 782
+    get_hll_global $P2144, ["PAST"], "Op"
+.annotate "line", 783
+    get_hll_global $P2145, ["PAST"], "Var"
+    $P2146 = $P2145."new"("$/" :named("name"))
+.annotate "line", 784
+    get_hll_global $P2147, ["PAST"], "Op"
+.annotate "line", 785
+    get_hll_global $P2148, ["PAST"], "Var"
+    $P2149 = $P2148."new"(unicode:"$\x{a2}" :named("name"))
+    $P2150 = $P2147."new"($P2149, "MATCH" :named("name"), "callmethod" :named("pasttype"))
+.annotate "line", 784
+    $P2151 = $P2144."new"($P2146, $P2150, "bind" :named("pasttype"))
+.annotate "line", 782
+    find_lex $P2152, "$block"
+    $P2153 = $P2143."new"($P2151, $P2152)
+.annotate "line", 781
+    $P2154 = $P2142."new"($P2153, "pastnode" :named("pasttype"))
+.annotate "line", 780
+    store_lex "$past", $P2154
+.annotate "line", 795
+    find_lex $P2155, "$/"
+    find_lex $P2156, "$past"
+    $P2157 = $P2155."!make"($P2156)
+.annotate "line", 776
+    .return ($P2157)
+  control_2133:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P2132, exception, "payload"
-    .return ($P2132)
+    getattribute $P2158, exception, "payload"
+    .return ($P2158)
 .end
 
 ### .include 'src/cheats/nqp-builtins.pir'

Modified: trunk/ext/nqp-rx/src/stage0/P6Regex-s0.pir
==============================================================================
--- trunk/ext/nqp-rx/src/stage0/P6Regex-s0.pir	Wed Dec 16 21:25:32 2009	(r43115)
+++ trunk/ext/nqp-rx/src/stage0/P6Regex-s0.pir	Thu Dec 17 03:23:56 2009	(r43116)
@@ -16,7 +16,7 @@
 ### .include 'gen/p6regex-grammar.pir'
 
 .namespace []
-.sub "_block11"  :anon :subid("10_1260829305.03358")
+.sub "_block11"  :anon :subid("10_1261019354.40264")
 .annotate "line", 0
     get_hll_global $P14, ["Regex";"P6Regex";"Grammar"], "_block13" 
     capture_lex $P14
@@ -30,9 +30,9 @@
 
 
 .namespace []
-.sub "" :load :init :subid("post158") :outer("10_1260829305.03358")
+.sub "" :load :init :subid("post158") :outer("10_1261019354.40264")
 .annotate "line", 0
-    .const 'Sub' $P12 = "10_1260829305.03358" 
+    .const 'Sub' $P12 = "10_1261019354.40264" 
     .local pmc block
     set block, $P12
     $P580 = get_root_global ["parrot"], "P6metaclass"
@@ -41,140 +41,140 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "_block13"  :subid("11_1260829305.03358") :outer("10_1260829305.03358")
+.sub "_block13"  :subid("11_1261019354.40264") :outer("10_1261019354.40264")
 .annotate "line", 3
-    .const 'Sub' $P571 = "156_1260829305.03358" 
+    .const 'Sub' $P571 = "156_1261019354.40264" 
     capture_lex $P571
-    .const 'Sub' $P563 = "154_1260829305.03358" 
+    .const 'Sub' $P563 = "154_1261019354.40264" 
     capture_lex $P563
-    .const 'Sub' $P555 = "152_1260829305.03358" 
+    .const 'Sub' $P555 = "152_1261019354.40264" 
     capture_lex $P555
-    .const 'Sub' $P534 = "147_1260829305.03358" 
+    .const 'Sub' $P534 = "147_1261019354.40264" 
     capture_lex $P534
-    .const 'Sub' $P499 = "141_1260829305.03358" 
+    .const 'Sub' $P499 = "141_1261019354.40264" 
     capture_lex $P499
-    .const 'Sub' $P487 = "138_1260829305.03358" 
+    .const 'Sub' $P487 = "138_1261019354.40264" 
     capture_lex $P487
-    .const 'Sub' $P474 = "135_1260829305.03358" 
+    .const 'Sub' $P474 = "135_1261019354.40264" 
     capture_lex $P474
-    .const 'Sub' $P468 = "133_1260829305.03358" 
+    .const 'Sub' $P468 = "133_1261019354.40264" 
     capture_lex $P468
-    .const 'Sub' $P457 = "130_1260829305.03358" 
+    .const 'Sub' $P457 = "130_1261019354.40264" 
     capture_lex $P457
-    .const 'Sub' $P446 = "127_1260829305.03358" 
+    .const 'Sub' $P446 = "127_1261019354.40264" 
     capture_lex $P446
-    .const 'Sub' $P437 = "123_1260829305.03358" 
+    .const 'Sub' $P437 = "123_1261019354.40264" 
     capture_lex $P437
-    .const 'Sub' $P431 = "121_1260829305.03358" 
+    .const 'Sub' $P431 = "121_1261019354.40264" 
     capture_lex $P431
-    .const 'Sub' $P425 = "119_1260829305.03358" 
+    .const 'Sub' $P425 = "119_1261019354.40264" 
     capture_lex $P425
-    .const 'Sub' $P419 = "117_1260829305.03358" 
+    .const 'Sub' $P419 = "117_1261019354.40264" 
     capture_lex $P419
-    .const 'Sub' $P413 = "115_1260829305.03358" 
+    .const 'Sub' $P413 = "115_1261019354.40264" 
     capture_lex $P413
-    .const 'Sub' $P402 = "113_1260829305.03358" 
+    .const 'Sub' $P402 = "113_1261019354.40264" 
     capture_lex $P402
-    .const 'Sub' $P391 = "111_1260829305.03358" 
+    .const 'Sub' $P391 = "111_1261019354.40264" 
     capture_lex $P391
-    .const 'Sub' $P383 = "109_1260829305.03358" 
+    .const 'Sub' $P383 = "109_1261019354.40264" 
     capture_lex $P383
-    .const 'Sub' $P377 = "107_1260829305.03358" 
+    .const 'Sub' $P377 = "107_1261019354.40264" 
     capture_lex $P377
-    .const 'Sub' $P371 = "105_1260829305.03358" 
+    .const 'Sub' $P371 = "105_1261019354.40264" 
     capture_lex $P371
-    .const 'Sub' $P365 = "103_1260829305.03358" 
+    .const 'Sub' $P365 = "103_1261019354.40264" 
     capture_lex $P365
-    .const 'Sub' $P359 = "101_1260829305.03358" 
+    .const 'Sub' $P359 = "101_1261019354.40264" 
     capture_lex $P359
-    .const 'Sub' $P353 = "99_1260829305.03358" 
+    .const 'Sub' $P353 = "99_1261019354.40264" 
     capture_lex $P353
-    .const 'Sub' $P347 = "97_1260829305.03358" 
+    .const 'Sub' $P347 = "97_1261019354.40264" 
     capture_lex $P347
-    .const 'Sub' $P341 = "95_1260829305.03358" 
+    .const 'Sub' $P341 = "95_1261019354.40264" 
     capture_lex $P341
-    .const 'Sub' $P335 = "93_1260829305.03358" 
+    .const 'Sub' $P335 = "93_1261019354.40264" 
     capture_lex $P335
-    .const 'Sub' $P323 = "89_1260829305.03358" 
+    .const 'Sub' $P323 = "89_1261019354.40264" 
     capture_lex $P323
-    .const 'Sub' $P311 = "87_1260829305.03358" 
+    .const 'Sub' $P311 = "87_1261019354.40264" 
     capture_lex $P311
-    .const 'Sub' $P304 = "85_1260829305.03358" 
+    .const 'Sub' $P304 = "85_1261019354.40264" 
     capture_lex $P304
-    .const 'Sub' $P287 = "83_1260829305.03358" 
+    .const 'Sub' $P287 = "83_1261019354.40264" 
     capture_lex $P287
-    .const 'Sub' $P280 = "81_1260829305.03358" 
+    .const 'Sub' $P280 = "81_1261019354.40264" 
     capture_lex $P280
-    .const 'Sub' $P274 = "79_1260829305.03358" 
+    .const 'Sub' $P274 = "79_1261019354.40264" 
     capture_lex $P274
-    .const 'Sub' $P268 = "77_1260829305.03358" 
+    .const 'Sub' $P268 = "77_1261019354.40264" 
     capture_lex $P268
-    .const 'Sub' $P261 = "75_1260829305.03358" 
+    .const 'Sub' $P261 = "75_1261019354.40264" 
     capture_lex $P261
-    .const 'Sub' $P254 = "73_1260829305.03358" 
+    .const 'Sub' $P254 = "73_1261019354.40264" 
     capture_lex $P254
-    .const 'Sub' $P247 = "71_1260829305.03358" 
+    .const 'Sub' $P247 = "71_1261019354.40264" 
     capture_lex $P247
-    .const 'Sub' $P240 = "69_1260829305.03358" 
+    .const 'Sub' $P240 = "69_1261019354.40264" 
     capture_lex $P240
-    .const 'Sub' $P234 = "67_1260829305.03358" 
+    .const 'Sub' $P234 = "67_1261019354.40264" 
     capture_lex $P234
-    .const 'Sub' $P228 = "65_1260829305.03358" 
+    .const 'Sub' $P228 = "65_1261019354.40264" 
     capture_lex $P228
-    .const 'Sub' $P222 = "63_1260829305.03358" 
+    .const 'Sub' $P222 = "63_1261019354.40264" 
     capture_lex $P222
-    .const 'Sub' $P216 = "61_1260829305.03358" 
+    .const 'Sub' $P216 = "61_1261019354.40264" 
     capture_lex $P216
-    .const 'Sub' $P210 = "59_1260829305.03358" 
+    .const 'Sub' $P210 = "59_1261019354.40264" 
     capture_lex $P210
-    .const 'Sub' $P205 = "57_1260829305.03358" 
+    .const 'Sub' $P205 = "57_1261019354.40264" 
     capture_lex $P205
-    .const 'Sub' $P200 = "55_1260829305.03358" 
+    .const 'Sub' $P200 = "55_1261019354.40264" 
     capture_lex $P200
-    .const 'Sub' $P194 = "53_1260829305.03358" 
+    .const 'Sub' $P194 = "53_1261019354.40264" 
     capture_lex $P194
-    .const 'Sub' $P188 = "51_1260829305.03358" 
+    .const 'Sub' $P188 = "51_1261019354.40264" 
     capture_lex $P188
-    .const 'Sub' $P182 = "49_1260829305.03358" 
+    .const 'Sub' $P182 = "49_1261019354.40264" 
     capture_lex $P182
-    .const 'Sub' $P166 = "44_1260829305.03358" 
+    .const 'Sub' $P166 = "44_1261019354.40264" 
     capture_lex $P166
-    .const 'Sub' $P154 = "42_1260829305.03358" 
+    .const 'Sub' $P154 = "42_1261019354.40264" 
     capture_lex $P154
-    .const 'Sub' $P147 = "40_1260829305.03358" 
+    .const 'Sub' $P147 = "40_1261019354.40264" 
     capture_lex $P147
-    .const 'Sub' $P140 = "38_1260829305.03358" 
+    .const 'Sub' $P140 = "38_1261019354.40264" 
     capture_lex $P140
-    .const 'Sub' $P133 = "36_1260829305.03358" 
+    .const 'Sub' $P133 = "36_1261019354.40264" 
     capture_lex $P133
-    .const 'Sub' $P114 = "31_1260829305.03358" 
+    .const 'Sub' $P114 = "31_1261019354.40264" 
     capture_lex $P114
-    .const 'Sub' $P101 = "28_1260829305.03358" 
+    .const 'Sub' $P101 = "28_1261019354.40264" 
     capture_lex $P101
-    .const 'Sub' $P94 = "26_1260829305.03358" 
+    .const 'Sub' $P94 = "26_1261019354.40264" 
     capture_lex $P94
-    .const 'Sub' $P82 = "24_1260829305.03358" 
+    .const 'Sub' $P82 = "24_1261019354.40264" 
     capture_lex $P82
-    .const 'Sub' $P75 = "22_1260829305.03358" 
+    .const 'Sub' $P75 = "22_1261019354.40264" 
     capture_lex $P75
-    .const 'Sub' $P63 = "20_1260829305.03358" 
+    .const 'Sub' $P63 = "20_1261019354.40264" 
     capture_lex $P63
-    .const 'Sub' $P56 = "18_1260829305.03358" 
+    .const 'Sub' $P56 = "18_1261019354.40264" 
     capture_lex $P56
-    .const 'Sub' $P46 = "15_1260829305.03358" 
+    .const 'Sub' $P46 = "15_1261019354.40264" 
     capture_lex $P46
-    .const 'Sub' $P38 = "13_1260829305.03358" 
+    .const 'Sub' $P38 = "13_1261019354.40264" 
     capture_lex $P38
-    .const 'Sub' $P15 = "12_1260829305.03358" 
+    .const 'Sub' $P15 = "12_1261019354.40264" 
     capture_lex $P15
-    .const 'Sub' $P571 = "156_1260829305.03358" 
+    .const 'Sub' $P571 = "156_1261019354.40264" 
     capture_lex $P571
     .return ($P571)
 .end
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "obs"  :subid("12_1260829305.03358") :method :outer("11_1260829305.03358")
+.sub "obs"  :subid("12_1261019354.40264") :method :outer("11_1261019354.40264")
     .param pmc param_18
     .param pmc param_19
     .param pmc param_20 :optional
@@ -222,7 +222,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "ws"  :subid("13_1260829305.03358") :method :outer("11_1260829305.03358")
+.sub "ws"  :subid("13_1261019354.40264") :method :outer("11_1261019354.40264")
 .annotate "line", 3
     .local string rx39_tgt
     .local int rx39_pos
@@ -304,7 +304,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__ws"  :subid("14_1260829305.03358") :method
+.sub "!PREFIX__ws"  :subid("14_1261019354.40264") :method
 .annotate "line", 3
     new $P41, "ResizablePMCArray"
     push $P41, ""
@@ -313,9 +313,9 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "normspace"  :subid("15_1260829305.03358") :method :outer("11_1260829305.03358")
+.sub "normspace"  :subid("15_1261019354.40264") :method :outer("11_1261019354.40264")
 .annotate "line", 3
-    .const 'Sub' $P52 = "17_1260829305.03358" 
+    .const 'Sub' $P52 = "17_1261019354.40264" 
     capture_lex $P52
     .local string rx47_tgt
     .local int rx47_pos
@@ -349,7 +349,7 @@
 .annotate "line", 10
   # rx subrule "before" subtype=zerowidth negate=
     rx47_cur."!cursor_pos"(rx47_pos)
-    .const 'Sub' $P52 = "17_1260829305.03358" 
+    .const 'Sub' $P52 = "17_1261019354.40264" 
     capture_lex $P52
     $P10 = rx47_cur."before"($P52)
     unless $P10, rx47_fail
@@ -377,7 +377,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__normspace"  :subid("16_1260829305.03358") :method
+.sub "!PREFIX__normspace"  :subid("16_1261019354.40264") :method
 .annotate "line", 3
     new $P49, "ResizablePMCArray"
     push $P49, ""
@@ -386,7 +386,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "_block51"  :anon :subid("17_1260829305.03358") :method :outer("15_1260829305.03358")
+.sub "_block51"  :anon :subid("17_1261019354.40264") :method :outer("15_1261019354.40264")
 .annotate "line", 10
     .local string rx53_tgt
     .local int rx53_pos
@@ -454,7 +454,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "arg"  :subid("18_1260829305.03358") :method :outer("11_1260829305.03358")
+.sub "arg"  :subid("18_1261019354.40264") :method :outer("11_1261019354.40264")
 .annotate "line", 3
     .local string rx57_tgt
     .local int rx57_pos
@@ -565,7 +565,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__arg"  :subid("19_1260829305.03358") :method
+.sub "!PREFIX__arg"  :subid("19_1261019354.40264") :method
 .annotate "line", 3
     new $P59, "ResizablePMCArray"
     push $P59, ""
@@ -576,7 +576,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "arglist"  :subid("20_1260829305.03358") :method :outer("11_1260829305.03358")
+.sub "arglist"  :subid("20_1261019354.40264") :method :outer("11_1261019354.40264")
 .annotate "line", 3
     .local string rx64_tgt
     .local int rx64_pos
@@ -682,7 +682,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__arglist"  :subid("21_1260829305.03358") :method
+.sub "!PREFIX__arglist"  :subid("21_1261019354.40264") :method
 .annotate "line", 3
     new $P66, "ResizablePMCArray"
     push $P66, ""
@@ -691,7 +691,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "TOP"  :subid("22_1260829305.03358") :method :outer("11_1260829305.03358")
+.sub "TOP"  :subid("22_1261019354.40264") :method :outer("11_1261019354.40264")
 .annotate "line", 3
     .local string rx76_tgt
     .local int rx76_pos
@@ -764,7 +764,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__TOP"  :subid("23_1260829305.03358") :method
+.sub "!PREFIX__TOP"  :subid("23_1261019354.40264") :method
 .annotate "line", 3
     $P78 = self."!PREFIX__!subrule"("nibbler", "")
     new $P79, "ResizablePMCArray"
@@ -774,7 +774,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "nibbler"  :subid("24_1260829305.03358") :method :outer("11_1260829305.03358")
+.sub "nibbler"  :subid("24_1261019354.40264") :method :outer("11_1261019354.40264")
 .annotate "line", 3
     .local string rx83_tgt
     .local int rx83_pos
@@ -942,7 +942,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__nibbler"  :subid("25_1260829305.03358") :method
+.sub "!PREFIX__nibbler"  :subid("25_1261019354.40264") :method
 .annotate "line", 3
     new $P85, "ResizablePMCArray"
     push $P85, ""
@@ -951,7 +951,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "termish"  :subid("26_1260829305.03358") :method :outer("11_1260829305.03358")
+.sub "termish"  :subid("26_1261019354.40264") :method :outer("11_1261019354.40264")
 .annotate "line", 3
     .local string rx95_tgt
     .local int rx95_pos
@@ -1019,7 +1019,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__termish"  :subid("27_1260829305.03358") :method
+.sub "!PREFIX__termish"  :subid("27_1261019354.40264") :method
 .annotate "line", 3
     new $P97, "ResizablePMCArray"
     push $P97, ""
@@ -1028,9 +1028,9 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "quantified_atom"  :subid("28_1260829305.03358") :method :outer("11_1260829305.03358")
+.sub "quantified_atom"  :subid("28_1261019354.40264") :method :outer("11_1261019354.40264")
 .annotate "line", 3
-    .const 'Sub' $P110 = "30_1260829305.03358" 
+    .const 'Sub' $P110 = "30_1261019354.40264" 
     capture_lex $P110
     .local string rx102_tgt
     .local int rx102_pos
@@ -1040,7 +1040,7 @@
     .local pmc rx102_cur
     (rx102_cur, rx102_pos, rx102_tgt) = self."!cursor_start"()
     rx102_cur."!cursor_debug"("START ", "quantified_atom")
-    rx102_cur."!cursor_caparray"("backmod", "quantifier")
+    rx102_cur."!cursor_caparray"("quantifier", "backmod")
     .lex unicode:"$\x{a2}", rx102_cur
     .local pmc match
     .lex "$/", match
@@ -1093,7 +1093,7 @@
   alt108_1:
   # rx subrule "before" subtype=zerowidth negate=
     rx102_cur."!cursor_pos"(rx102_pos)
-    .const 'Sub' $P110 = "30_1260829305.03358" 
+    .const 'Sub' $P110 = "30_1261019354.40264" 
     capture_lex $P110
     $P10 = rx102_cur."before"($P110)
     unless $P10, rx102_fail
@@ -1131,7 +1131,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__quantified_atom"  :subid("29_1260829305.03358") :method
+.sub "!PREFIX__quantified_atom"  :subid("29_1261019354.40264") :method
 .annotate "line", 3
     $P104 = self."!PREFIX__!subrule"("atom", "")
     new $P105, "ResizablePMCArray"
@@ -1141,7 +1141,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "_block109"  :anon :subid("30_1260829305.03358") :method :outer("28_1260829305.03358")
+.sub "_block109"  :anon :subid("30_1261019354.40264") :method :outer("28_1261019354.40264")
 .annotate "line", 41
     .local string rx111_tgt
     .local int rx111_pos
@@ -1197,9 +1197,9 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "atom"  :subid("31_1260829305.03358") :method :outer("11_1260829305.03358")
+.sub "atom"  :subid("31_1261019354.40264") :method :outer("11_1261019354.40264")
 .annotate "line", 3
-    .const 'Sub' $P125 = "33_1260829305.03358" 
+    .const 'Sub' $P125 = "33_1261019354.40264" 
     capture_lex $P125
     .local string rx115_tgt
     .local int rx115_pos
@@ -1259,7 +1259,7 @@
   rxquantg122_done:
   # rx subrule "before" subtype=zerowidth negate=
     rx115_cur."!cursor_pos"(rx115_pos)
-    .const 'Sub' $P125 = "33_1260829305.03358" 
+    .const 'Sub' $P125 = "33_1261019354.40264" 
     capture_lex $P125
     $P10 = rx115_cur."before"($P125)
     unless $P10, rx115_fail
@@ -1296,7 +1296,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__atom"  :subid("32_1260829305.03358") :method
+.sub "!PREFIX__atom"  :subid("32_1261019354.40264") :method
 .annotate "line", 3
     $P117 = self."!PREFIX__!subrule"("metachar", "")
     new $P118, "ResizablePMCArray"
@@ -1307,7 +1307,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "_block124"  :anon :subid("33_1260829305.03358") :method :outer("31_1260829305.03358")
+.sub "_block124"  :anon :subid("33_1261019354.40264") :method :outer("31_1261019354.40264")
 .annotate "line", 47
     .local string rx126_tgt
     .local int rx126_pos
@@ -1362,7 +1362,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "quantifier"  :subid("34_1260829305.03358") :method
+.sub "quantifier"  :subid("34_1261019354.40264") :method
 .annotate "line", 52
     $P130 = self."!protoregex"("quantifier")
     .return ($P130)
@@ -1370,7 +1370,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__quantifier"  :subid("35_1260829305.03358") :method
+.sub "!PREFIX__quantifier"  :subid("35_1261019354.40264") :method
 .annotate "line", 52
     $P132 = self."!PREFIX__!protoregex"("quantifier")
     .return ($P132)
@@ -1378,7 +1378,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "quantifier:sym<*>"  :subid("36_1260829305.03358") :method :outer("11_1260829305.03358")
+.sub "quantifier:sym<*>"  :subid("36_1261019354.40264") :method :outer("11_1261019354.40264")
 .annotate "line", 3
     .local string rx134_tgt
     .local int rx134_pos
@@ -1457,7 +1457,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__quantifier:sym<*>"  :subid("37_1260829305.03358") :method
+.sub "!PREFIX__quantifier:sym<*>"  :subid("37_1261019354.40264") :method
 .annotate "line", 3
     $P136 = self."!PREFIX__!subrule"("backmod", "*")
     new $P137, "ResizablePMCArray"
@@ -1467,7 +1467,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "quantifier:sym<+>"  :subid("38_1260829305.03358") :method :outer("11_1260829305.03358")
+.sub "quantifier:sym<+>"  :subid("38_1261019354.40264") :method :outer("11_1261019354.40264")
 .annotate "line", 3
     .local string rx141_tgt
     .local int rx141_pos
@@ -1546,7 +1546,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__quantifier:sym<+>"  :subid("39_1260829305.03358") :method
+.sub "!PREFIX__quantifier:sym<+>"  :subid("39_1261019354.40264") :method
 .annotate "line", 3
     $P143 = self."!PREFIX__!subrule"("backmod", "+")
     new $P144, "ResizablePMCArray"
@@ -1556,7 +1556,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "quantifier:sym<?>"  :subid("40_1260829305.03358") :method :outer("11_1260829305.03358")
+.sub "quantifier:sym<?>"  :subid("40_1261019354.40264") :method :outer("11_1261019354.40264")
 .annotate "line", 3
     .local string rx148_tgt
     .local int rx148_pos
@@ -1635,7 +1635,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__quantifier:sym<?>"  :subid("41_1260829305.03358") :method
+.sub "!PREFIX__quantifier:sym<?>"  :subid("41_1261019354.40264") :method
 .annotate "line", 3
     $P150 = self."!PREFIX__!subrule"("backmod", "?")
     new $P151, "ResizablePMCArray"
@@ -1645,7 +1645,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "quantifier:sym<**>"  :subid("42_1260829305.03358") :method :outer("11_1260829305.03358")
+.sub "quantifier:sym<**>"  :subid("42_1261019354.40264") :method :outer("11_1261019354.40264")
 .annotate "line", 3
     .local string rx155_tgt
     .local int rx155_pos
@@ -1834,7 +1834,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__quantifier:sym<**>"  :subid("43_1260829305.03358") :method
+.sub "!PREFIX__quantifier:sym<**>"  :subid("43_1261019354.40264") :method
 .annotate "line", 3
     new $P157, "ResizablePMCArray"
     push $P157, "**"
@@ -1843,9 +1843,9 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "backmod"  :subid("44_1260829305.03358") :method :outer("11_1260829305.03358")
+.sub "backmod"  :subid("44_1261019354.40264") :method :outer("11_1261019354.40264")
 .annotate "line", 3
-    .const 'Sub' $P175 = "46_1260829305.03358" 
+    .const 'Sub' $P175 = "46_1261019354.40264" 
     capture_lex $P175
     .local string rx167_tgt
     .local int rx167_pos
@@ -1915,7 +1915,7 @@
   alt173_2:
   # rx subrule "before" subtype=zerowidth negate=1
     rx167_cur."!cursor_pos"(rx167_pos)
-    .const 'Sub' $P175 = "46_1260829305.03358" 
+    .const 'Sub' $P175 = "46_1261019354.40264" 
     capture_lex $P175
     $P10 = rx167_cur."before"($P175)
     if $P10, rx167_fail
@@ -1939,7 +1939,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__backmod"  :subid("45_1260829305.03358") :method
+.sub "!PREFIX__backmod"  :subid("45_1261019354.40264") :method
 .annotate "line", 3
     new $P169, "ResizablePMCArray"
     push $P169, ""
@@ -1948,7 +1948,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "_block174"  :anon :subid("46_1260829305.03358") :method :outer("44_1260829305.03358")
+.sub "_block174"  :anon :subid("46_1261019354.40264") :method :outer("44_1261019354.40264")
 .annotate "line", 71
     .local string rx176_tgt
     .local int rx176_pos
@@ -2004,7 +2004,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "metachar"  :subid("47_1260829305.03358") :method
+.sub "metachar"  :subid("47_1261019354.40264") :method
 .annotate "line", 73
     $P179 = self."!protoregex"("metachar")
     .return ($P179)
@@ -2012,7 +2012,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__metachar"  :subid("48_1260829305.03358") :method
+.sub "!PREFIX__metachar"  :subid("48_1261019354.40264") :method
 .annotate "line", 73
     $P181 = self."!PREFIX__!protoregex"("metachar")
     .return ($P181)
@@ -2020,7 +2020,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "metachar:sym<ws>"  :subid("49_1260829305.03358") :method :outer("11_1260829305.03358")
+.sub "metachar:sym<ws>"  :subid("49_1261019354.40264") :method :outer("11_1261019354.40264")
 .annotate "line", 3
     .local string rx183_tgt
     .local int rx183_pos
@@ -2076,7 +2076,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__metachar:sym<ws>"  :subid("50_1260829305.03358") :method
+.sub "!PREFIX__metachar:sym<ws>"  :subid("50_1261019354.40264") :method
 .annotate "line", 3
     $P185 = self."!PREFIX__!subrule"("", "")
     new $P186, "ResizablePMCArray"
@@ -2086,7 +2086,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "metachar:sym<[ ]>"  :subid("51_1260829305.03358") :method :outer("11_1260829305.03358")
+.sub "metachar:sym<[ ]>"  :subid("51_1261019354.40264") :method :outer("11_1261019354.40264")
 .annotate "line", 3
     .local string rx189_tgt
     .local int rx189_pos
@@ -2158,7 +2158,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__metachar:sym<[ ]>"  :subid("52_1260829305.03358") :method
+.sub "!PREFIX__metachar:sym<[ ]>"  :subid("52_1261019354.40264") :method
 .annotate "line", 3
     $P191 = self."!PREFIX__!subrule"("nibbler", "[")
     new $P192, "ResizablePMCArray"
@@ -2168,7 +2168,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "metachar:sym<( )>"  :subid("53_1260829305.03358") :method :outer("11_1260829305.03358")
+.sub "metachar:sym<( )>"  :subid("53_1261019354.40264") :method :outer("11_1261019354.40264")
 .annotate "line", 3
     .local string rx195_tgt
     .local int rx195_pos
@@ -2240,7 +2240,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__metachar:sym<( )>"  :subid("54_1260829305.03358") :method
+.sub "!PREFIX__metachar:sym<( )>"  :subid("54_1261019354.40264") :method
 .annotate "line", 3
     $P197 = self."!PREFIX__!subrule"("nibbler", "(")
     new $P198, "ResizablePMCArray"
@@ -2250,7 +2250,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "metachar:sym<'>"  :subid("55_1260829305.03358") :method :outer("11_1260829305.03358")
+.sub "metachar:sym<'>"  :subid("55_1261019354.40264") :method :outer("11_1261019354.40264")
 .annotate "line", 3
     .local string rx201_tgt
     .local int rx201_pos
@@ -2314,7 +2314,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__metachar:sym<'>"  :subid("56_1260829305.03358") :method
+.sub "!PREFIX__metachar:sym<'>"  :subid("56_1261019354.40264") :method
 .annotate "line", 3
     new $P203, "ResizablePMCArray"
     push $P203, "'"
@@ -2323,7 +2323,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "metachar:sym<\">"  :subid("57_1260829305.03358") :method :outer("11_1260829305.03358")
+.sub "metachar:sym<\">"  :subid("57_1261019354.40264") :method :outer("11_1261019354.40264")
 .annotate "line", 3
     .local string rx206_tgt
     .local int rx206_pos
@@ -2387,7 +2387,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__metachar:sym<\">"  :subid("58_1260829305.03358") :method
+.sub "!PREFIX__metachar:sym<\">"  :subid("58_1261019354.40264") :method
 .annotate "line", 3
     new $P208, "ResizablePMCArray"
     push $P208, "\""
@@ -2396,7 +2396,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "metachar:sym<.>"  :subid("59_1260829305.03358") :method :outer("11_1260829305.03358")
+.sub "metachar:sym<.>"  :subid("59_1261019354.40264") :method :outer("11_1261019354.40264")
 .annotate "line", 3
     .local string rx211_tgt
     .local int rx211_pos
@@ -2468,7 +2468,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__metachar:sym<.>"  :subid("60_1260829305.03358") :method
+.sub "!PREFIX__metachar:sym<.>"  :subid("60_1261019354.40264") :method
 .annotate "line", 3
     new $P213, "ResizablePMCArray"
     push $P213, "."
@@ -2477,7 +2477,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "metachar:sym<^>"  :subid("61_1260829305.03358") :method :outer("11_1260829305.03358")
+.sub "metachar:sym<^>"  :subid("61_1261019354.40264") :method :outer("11_1261019354.40264")
 .annotate "line", 3
     .local string rx217_tgt
     .local int rx217_pos
@@ -2549,7 +2549,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__metachar:sym<^>"  :subid("62_1260829305.03358") :method
+.sub "!PREFIX__metachar:sym<^>"  :subid("62_1261019354.40264") :method
 .annotate "line", 3
     new $P219, "ResizablePMCArray"
     push $P219, "^"
@@ -2558,7 +2558,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "metachar:sym<^^>"  :subid("63_1260829305.03358") :method :outer("11_1260829305.03358")
+.sub "metachar:sym<^^>"  :subid("63_1261019354.40264") :method :outer("11_1261019354.40264")
 .annotate "line", 3
     .local string rx223_tgt
     .local int rx223_pos
@@ -2630,7 +2630,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__metachar:sym<^^>"  :subid("64_1260829305.03358") :method
+.sub "!PREFIX__metachar:sym<^^>"  :subid("64_1261019354.40264") :method
 .annotate "line", 3
     new $P225, "ResizablePMCArray"
     push $P225, "^^"
@@ -2639,7 +2639,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "metachar:sym<$>"  :subid("65_1260829305.03358") :method :outer("11_1260829305.03358")
+.sub "metachar:sym<$>"  :subid("65_1261019354.40264") :method :outer("11_1261019354.40264")
 .annotate "line", 3
     .local string rx229_tgt
     .local int rx229_pos
@@ -2711,7 +2711,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__metachar:sym<$>"  :subid("66_1260829305.03358") :method
+.sub "!PREFIX__metachar:sym<$>"  :subid("66_1261019354.40264") :method
 .annotate "line", 3
     new $P231, "ResizablePMCArray"
     push $P231, "$"
@@ -2720,7 +2720,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "metachar:sym<$$>"  :subid("67_1260829305.03358") :method :outer("11_1260829305.03358")
+.sub "metachar:sym<$$>"  :subid("67_1261019354.40264") :method :outer("11_1261019354.40264")
 .annotate "line", 3
     .local string rx235_tgt
     .local int rx235_pos
@@ -2792,7 +2792,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__metachar:sym<$$>"  :subid("68_1260829305.03358") :method
+.sub "!PREFIX__metachar:sym<$$>"  :subid("68_1261019354.40264") :method
 .annotate "line", 3
     new $P237, "ResizablePMCArray"
     push $P237, "$$"
@@ -2801,7 +2801,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "metachar:sym<:::>"  :subid("69_1260829305.03358") :method :outer("11_1260829305.03358")
+.sub "metachar:sym<:::>"  :subid("69_1261019354.40264") :method :outer("11_1261019354.40264")
 .annotate "line", 3
     .local string rx241_tgt
     .local int rx241_pos
@@ -2878,7 +2878,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__metachar:sym<:::>"  :subid("70_1260829305.03358") :method
+.sub "!PREFIX__metachar:sym<:::>"  :subid("70_1261019354.40264") :method
 .annotate "line", 3
     $P243 = self."!PREFIX__!subrule"("", ":::")
     new $P244, "ResizablePMCArray"
@@ -2888,7 +2888,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "metachar:sym<::>"  :subid("71_1260829305.03358") :method :outer("11_1260829305.03358")
+.sub "metachar:sym<::>"  :subid("71_1261019354.40264") :method :outer("11_1261019354.40264")
 .annotate "line", 3
     .local string rx248_tgt
     .local int rx248_pos
@@ -2965,7 +2965,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__metachar:sym<::>"  :subid("72_1260829305.03358") :method
+.sub "!PREFIX__metachar:sym<::>"  :subid("72_1261019354.40264") :method
 .annotate "line", 3
     $P250 = self."!PREFIX__!subrule"("", "::")
     new $P251, "ResizablePMCArray"
@@ -2975,7 +2975,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "metachar:sym<lwb>"  :subid("73_1260829305.03358") :method :outer("11_1260829305.03358")
+.sub "metachar:sym<lwb>"  :subid("73_1261019354.40264") :method :outer("11_1261019354.40264")
 .annotate "line", 3
     .local string rx255_tgt
     .local int rx255_pos
@@ -3060,7 +3060,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__metachar:sym<lwb>"  :subid("74_1260829305.03358") :method
+.sub "!PREFIX__metachar:sym<lwb>"  :subid("74_1261019354.40264") :method
 .annotate "line", 3
     new $P257, "ResizablePMCArray"
     push $P257, unicode:"\x{ab}"
@@ -3070,7 +3070,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "metachar:sym<rwb>"  :subid("75_1260829305.03358") :method :outer("11_1260829305.03358")
+.sub "metachar:sym<rwb>"  :subid("75_1261019354.40264") :method :outer("11_1261019354.40264")
 .annotate "line", 3
     .local string rx262_tgt
     .local int rx262_pos
@@ -3155,7 +3155,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__metachar:sym<rwb>"  :subid("76_1260829305.03358") :method
+.sub "!PREFIX__metachar:sym<rwb>"  :subid("76_1261019354.40264") :method
 .annotate "line", 3
     new $P264, "ResizablePMCArray"
     push $P264, unicode:"\x{bb}"
@@ -3165,7 +3165,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "metachar:sym<bs>"  :subid("77_1260829305.03358") :method :outer("11_1260829305.03358")
+.sub "metachar:sym<bs>"  :subid("77_1261019354.40264") :method :outer("11_1261019354.40264")
 .annotate "line", 3
     .local string rx269_tgt
     .local int rx269_pos
@@ -3230,7 +3230,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__metachar:sym<bs>"  :subid("78_1260829305.03358") :method
+.sub "!PREFIX__metachar:sym<bs>"  :subid("78_1261019354.40264") :method
 .annotate "line", 3
     $P271 = self."!PREFIX__!subrule"("backslash", "\\")
     new $P272, "ResizablePMCArray"
@@ -3240,7 +3240,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "metachar:sym<mod>"  :subid("79_1260829305.03358") :method :outer("11_1260829305.03358")
+.sub "metachar:sym<mod>"  :subid("79_1261019354.40264") :method :outer("11_1261019354.40264")
 .annotate "line", 3
     .local string rx275_tgt
     .local int rx275_pos
@@ -3298,7 +3298,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__metachar:sym<mod>"  :subid("80_1260829305.03358") :method
+.sub "!PREFIX__metachar:sym<mod>"  :subid("80_1261019354.40264") :method
 .annotate "line", 3
     $P277 = self."!PREFIX__!subrule"("mod_internal", "")
     new $P278, "ResizablePMCArray"
@@ -3308,7 +3308,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "metachar:sym<~>"  :subid("81_1260829305.03358") :method :outer("11_1260829305.03358")
+.sub "metachar:sym<~>"  :subid("81_1261019354.40264") :method :outer("11_1261019354.40264")
 .annotate "line", 3
     .local string rx281_tgt
     .local int rx281_pos
@@ -3407,7 +3407,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__metachar:sym<~>"  :subid("82_1260829305.03358") :method
+.sub "!PREFIX__metachar:sym<~>"  :subid("82_1261019354.40264") :method
 .annotate "line", 3
     $P283 = self."!PREFIX__!subrule"("", "~")
     new $P284, "ResizablePMCArray"
@@ -3417,7 +3417,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "metachar:sym<{*}>"  :subid("83_1260829305.03358") :method :outer("11_1260829305.03358")
+.sub "metachar:sym<{*}>"  :subid("83_1261019354.40264") :method :outer("11_1261019354.40264")
 .annotate "line", 3
     .local string rx288_tgt
     .local int rx288_pos
@@ -3584,7 +3584,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__metachar:sym<{*}>"  :subid("84_1260829305.03358") :method
+.sub "!PREFIX__metachar:sym<{*}>"  :subid("84_1261019354.40264") :method
 .annotate "line", 3
     new $P290, "ResizablePMCArray"
     push $P290, "{*}"
@@ -3593,7 +3593,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "metachar:sym<assert>"  :subid("85_1260829305.03358") :method :outer("11_1260829305.03358")
+.sub "metachar:sym<assert>"  :subid("85_1261019354.40264") :method :outer("11_1261019354.40264")
 .annotate "line", 3
     .local string rx305_tgt
     .local int rx305_pos
@@ -3678,7 +3678,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__metachar:sym<assert>"  :subid("86_1260829305.03358") :method
+.sub "!PREFIX__metachar:sym<assert>"  :subid("86_1261019354.40264") :method
 .annotate "line", 3
     $P307 = self."!PREFIX__!subrule"("assertion", "<")
     new $P308, "ResizablePMCArray"
@@ -3688,7 +3688,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "metachar:sym<var>"  :subid("87_1260829305.03358") :method :outer("11_1260829305.03358")
+.sub "metachar:sym<var>"  :subid("87_1261019354.40264") :method :outer("11_1261019354.40264")
 .annotate "line", 3
     .local string rx312_tgt
     .local int rx312_pos
@@ -3850,7 +3850,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__metachar:sym<var>"  :subid("88_1260829305.03358") :method
+.sub "!PREFIX__metachar:sym<var>"  :subid("88_1261019354.40264") :method
 .annotate "line", 3
     new $P314, "ResizablePMCArray"
     push $P314, "$"
@@ -3860,7 +3860,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "metachar:sym<PIR>"  :subid("89_1260829305.03358") :method :outer("11_1260829305.03358")
+.sub "metachar:sym<PIR>"  :subid("89_1261019354.40264") :method :outer("11_1261019354.40264")
 .annotate "line", 3
     .local string rx324_tgt
     .local int rx324_pos
@@ -3951,7 +3951,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__metachar:sym<PIR>"  :subid("90_1260829305.03358") :method
+.sub "!PREFIX__metachar:sym<PIR>"  :subid("90_1261019354.40264") :method
 .annotate "line", 3
     new $P326, "ResizablePMCArray"
     push $P326, ":PIR{{"
@@ -3960,7 +3960,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "backslash"  :subid("91_1260829305.03358") :method
+.sub "backslash"  :subid("91_1261019354.40264") :method
 .annotate "line", 120
     $P332 = self."!protoregex"("backslash")
     .return ($P332)
@@ -3968,7 +3968,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__backslash"  :subid("92_1260829305.03358") :method
+.sub "!PREFIX__backslash"  :subid("92_1261019354.40264") :method
 .annotate "line", 120
     $P334 = self."!PREFIX__!protoregex"("backslash")
     .return ($P334)
@@ -3976,7 +3976,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "backslash:sym<w>"  :subid("93_1260829305.03358") :method :outer("11_1260829305.03358")
+.sub "backslash:sym<w>"  :subid("93_1261019354.40264") :method :outer("11_1261019354.40264")
 .annotate "line", 3
     .local string rx336_tgt
     .local int rx336_pos
@@ -4048,7 +4048,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__backslash:sym<w>"  :subid("94_1260829305.03358") :method
+.sub "!PREFIX__backslash:sym<w>"  :subid("94_1261019354.40264") :method
 .annotate "line", 3
     new $P338, "ResizablePMCArray"
     push $P338, "N"
@@ -4064,7 +4064,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "backslash:sym<b>"  :subid("95_1260829305.03358") :method :outer("11_1260829305.03358")
+.sub "backslash:sym<b>"  :subid("95_1261019354.40264") :method :outer("11_1261019354.40264")
 .annotate "line", 3
     .local string rx342_tgt
     .local int rx342_pos
@@ -4136,7 +4136,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__backslash:sym<b>"  :subid("96_1260829305.03358") :method
+.sub "!PREFIX__backslash:sym<b>"  :subid("96_1261019354.40264") :method
 .annotate "line", 3
     new $P344, "ResizablePMCArray"
     push $P344, "B"
@@ -4146,7 +4146,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "backslash:sym<e>"  :subid("97_1260829305.03358") :method :outer("11_1260829305.03358")
+.sub "backslash:sym<e>"  :subid("97_1261019354.40264") :method :outer("11_1261019354.40264")
 .annotate "line", 3
     .local string rx348_tgt
     .local int rx348_pos
@@ -4218,7 +4218,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__backslash:sym<e>"  :subid("98_1260829305.03358") :method
+.sub "!PREFIX__backslash:sym<e>"  :subid("98_1261019354.40264") :method
 .annotate "line", 3
     new $P350, "ResizablePMCArray"
     push $P350, "E"
@@ -4228,7 +4228,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "backslash:sym<f>"  :subid("99_1260829305.03358") :method :outer("11_1260829305.03358")
+.sub "backslash:sym<f>"  :subid("99_1261019354.40264") :method :outer("11_1261019354.40264")
 .annotate "line", 3
     .local string rx354_tgt
     .local int rx354_pos
@@ -4300,7 +4300,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__backslash:sym<f>"  :subid("100_1260829305.03358") :method
+.sub "!PREFIX__backslash:sym<f>"  :subid("100_1261019354.40264") :method
 .annotate "line", 3
     new $P356, "ResizablePMCArray"
     push $P356, "F"
@@ -4310,7 +4310,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "backslash:sym<h>"  :subid("101_1260829305.03358") :method :outer("11_1260829305.03358")
+.sub "backslash:sym<h>"  :subid("101_1261019354.40264") :method :outer("11_1261019354.40264")
 .annotate "line", 3
     .local string rx360_tgt
     .local int rx360_pos
@@ -4382,7 +4382,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__backslash:sym<h>"  :subid("102_1260829305.03358") :method
+.sub "!PREFIX__backslash:sym<h>"  :subid("102_1261019354.40264") :method
 .annotate "line", 3
     new $P362, "ResizablePMCArray"
     push $P362, "H"
@@ -4392,7 +4392,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "backslash:sym<r>"  :subid("103_1260829305.03358") :method :outer("11_1260829305.03358")
+.sub "backslash:sym<r>"  :subid("103_1261019354.40264") :method :outer("11_1261019354.40264")
 .annotate "line", 3
     .local string rx366_tgt
     .local int rx366_pos
@@ -4464,7 +4464,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__backslash:sym<r>"  :subid("104_1260829305.03358") :method
+.sub "!PREFIX__backslash:sym<r>"  :subid("104_1261019354.40264") :method
 .annotate "line", 3
     new $P368, "ResizablePMCArray"
     push $P368, "R"
@@ -4474,7 +4474,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "backslash:sym<t>"  :subid("105_1260829305.03358") :method :outer("11_1260829305.03358")
+.sub "backslash:sym<t>"  :subid("105_1261019354.40264") :method :outer("11_1261019354.40264")
 .annotate "line", 3
     .local string rx372_tgt
     .local int rx372_pos
@@ -4546,7 +4546,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__backslash:sym<t>"  :subid("106_1260829305.03358") :method
+.sub "!PREFIX__backslash:sym<t>"  :subid("106_1261019354.40264") :method
 .annotate "line", 3
     new $P374, "ResizablePMCArray"
     push $P374, "T"
@@ -4556,7 +4556,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "backslash:sym<v>"  :subid("107_1260829305.03358") :method :outer("11_1260829305.03358")
+.sub "backslash:sym<v>"  :subid("107_1261019354.40264") :method :outer("11_1261019354.40264")
 .annotate "line", 3
     .local string rx378_tgt
     .local int rx378_pos
@@ -4628,7 +4628,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__backslash:sym<v>"  :subid("108_1260829305.03358") :method
+.sub "!PREFIX__backslash:sym<v>"  :subid("108_1261019354.40264") :method
 .annotate "line", 3
     new $P380, "ResizablePMCArray"
     push $P380, "V"
@@ -4638,7 +4638,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "backslash:sym<c>"  :subid("109_1260829305.03358") :method :outer("11_1260829305.03358")
+.sub "backslash:sym<c>"  :subid("109_1261019354.40264") :method :outer("11_1261019354.40264")
 .annotate "line", 3
     .local string rx384_tgt
     .local int rx384_pos
@@ -4717,7 +4717,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__backslash:sym<c>"  :subid("110_1260829305.03358") :method
+.sub "!PREFIX__backslash:sym<c>"  :subid("110_1261019354.40264") :method
 .annotate "line", 3
     $P386 = self."!PREFIX__!subrule"("charspec", "C")
     $P387 = self."!PREFIX__!subrule"("charspec", "c")
@@ -4729,7 +4729,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "backslash:sym<o>"  :subid("111_1260829305.03358") :method :outer("11_1260829305.03358")
+.sub "backslash:sym<o>"  :subid("111_1261019354.40264") :method :outer("11_1261019354.40264")
 .annotate "line", 3
     .local string rx392_tgt
     .local int rx392_pos
@@ -4835,7 +4835,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__backslash:sym<o>"  :subid("112_1260829305.03358") :method
+.sub "!PREFIX__backslash:sym<o>"  :subid("112_1261019354.40264") :method
 .annotate "line", 3
     $P394 = self."!PREFIX__!subrule"("octints", "O[")
     $P395 = self."!PREFIX__!subrule"("octint", "O")
@@ -4851,7 +4851,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "backslash:sym<x>"  :subid("113_1260829305.03358") :method :outer("11_1260829305.03358")
+.sub "backslash:sym<x>"  :subid("113_1261019354.40264") :method :outer("11_1261019354.40264")
 .annotate "line", 3
     .local string rx403_tgt
     .local int rx403_pos
@@ -4957,7 +4957,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__backslash:sym<x>"  :subid("114_1260829305.03358") :method
+.sub "!PREFIX__backslash:sym<x>"  :subid("114_1261019354.40264") :method
 .annotate "line", 3
     $P405 = self."!PREFIX__!subrule"("hexints", "X[")
     $P406 = self."!PREFIX__!subrule"("hexint", "X")
@@ -4973,7 +4973,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "backslash:sym<A>"  :subid("115_1260829305.03358") :method :outer("11_1260829305.03358")
+.sub "backslash:sym<A>"  :subid("115_1261019354.40264") :method :outer("11_1261019354.40264")
 .annotate "line", 3
     .local string rx414_tgt
     .local int rx414_pos
@@ -5036,7 +5036,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__backslash:sym<A>"  :subid("116_1260829305.03358") :method
+.sub "!PREFIX__backslash:sym<A>"  :subid("116_1261019354.40264") :method
 .annotate "line", 3
     $P416 = self."!PREFIX__!subrule"("", "A")
     new $P417, "ResizablePMCArray"
@@ -5046,7 +5046,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "backslash:sym<z>"  :subid("117_1260829305.03358") :method :outer("11_1260829305.03358")
+.sub "backslash:sym<z>"  :subid("117_1261019354.40264") :method :outer("11_1261019354.40264")
 .annotate "line", 3
     .local string rx420_tgt
     .local int rx420_pos
@@ -5109,7 +5109,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__backslash:sym<z>"  :subid("118_1260829305.03358") :method
+.sub "!PREFIX__backslash:sym<z>"  :subid("118_1261019354.40264") :method
 .annotate "line", 3
     $P422 = self."!PREFIX__!subrule"("", "z")
     new $P423, "ResizablePMCArray"
@@ -5119,7 +5119,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "backslash:sym<Z>"  :subid("119_1260829305.03358") :method :outer("11_1260829305.03358")
+.sub "backslash:sym<Z>"  :subid("119_1261019354.40264") :method :outer("11_1261019354.40264")
 .annotate "line", 3
     .local string rx426_tgt
     .local int rx426_pos
@@ -5182,7 +5182,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__backslash:sym<Z>"  :subid("120_1260829305.03358") :method
+.sub "!PREFIX__backslash:sym<Z>"  :subid("120_1261019354.40264") :method
 .annotate "line", 3
     $P428 = self."!PREFIX__!subrule"("", "Z")
     new $P429, "ResizablePMCArray"
@@ -5192,7 +5192,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "backslash:sym<Q>"  :subid("121_1260829305.03358") :method :outer("11_1260829305.03358")
+.sub "backslash:sym<Q>"  :subid("121_1261019354.40264") :method :outer("11_1261019354.40264")
 .annotate "line", 3
     .local string rx432_tgt
     .local int rx432_pos
@@ -5255,7 +5255,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__backslash:sym<Q>"  :subid("122_1260829305.03358") :method
+.sub "!PREFIX__backslash:sym<Q>"  :subid("122_1261019354.40264") :method
 .annotate "line", 3
     $P434 = self."!PREFIX__!subrule"("", "Q")
     new $P435, "ResizablePMCArray"
@@ -5265,7 +5265,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "backslash:sym<misc>"  :subid("123_1260829305.03358") :method :outer("11_1260829305.03358")
+.sub "backslash:sym<misc>"  :subid("123_1261019354.40264") :method :outer("11_1261019354.40264")
 .annotate "line", 3
     .local string rx438_tgt
     .local int rx438_pos
@@ -5322,7 +5322,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__backslash:sym<misc>"  :subid("124_1260829305.03358") :method
+.sub "!PREFIX__backslash:sym<misc>"  :subid("124_1261019354.40264") :method
 .annotate "line", 3
     new $P440, "ResizablePMCArray"
     push $P440, ""
@@ -5331,7 +5331,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "assertion"  :subid("125_1260829305.03358") :method
+.sub "assertion"  :subid("125_1261019354.40264") :method
 .annotate "line", 138
     $P443 = self."!protoregex"("assertion")
     .return ($P443)
@@ -5339,7 +5339,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__assertion"  :subid("126_1260829305.03358") :method
+.sub "!PREFIX__assertion"  :subid("126_1261019354.40264") :method
 .annotate "line", 138
     $P445 = self."!PREFIX__!protoregex"("assertion")
     .return ($P445)
@@ -5347,9 +5347,9 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "assertion:sym<?>"  :subid("127_1260829305.03358") :method :outer("11_1260829305.03358")
+.sub "assertion:sym<?>"  :subid("127_1261019354.40264") :method :outer("11_1261019354.40264")
 .annotate "line", 3
-    .const 'Sub' $P454 = "129_1260829305.03358" 
+    .const 'Sub' $P454 = "129_1261019354.40264" 
     capture_lex $P454
     .local string rx447_tgt
     .local int rx447_pos
@@ -5393,7 +5393,7 @@
     rx447_cur."!mark_push"(0, rx447_pos, $I10)
   # rx subrule "before" subtype=zerowidth negate=
     rx447_cur."!cursor_pos"(rx447_pos)
-    .const 'Sub' $P454 = "129_1260829305.03358" 
+    .const 'Sub' $P454 = "129_1261019354.40264" 
     capture_lex $P454
     $P10 = rx447_cur."before"($P454)
     unless $P10, rx447_fail
@@ -5426,7 +5426,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__assertion:sym<?>"  :subid("128_1260829305.03358") :method
+.sub "!PREFIX__assertion:sym<?>"  :subid("128_1261019354.40264") :method
 .annotate "line", 3
     $P449 = self."!PREFIX__!subrule"("assertion", "?")
     new $P450, "ResizablePMCArray"
@@ -5437,7 +5437,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "_block453"  :anon :subid("129_1260829305.03358") :method :outer("127_1260829305.03358")
+.sub "_block453"  :anon :subid("129_1261019354.40264") :method :outer("127_1261019354.40264")
 .annotate "line", 140
     .local string rx455_tgt
     .local int rx455_pos
@@ -5493,9 +5493,9 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "assertion:sym<!>"  :subid("130_1260829305.03358") :method :outer("11_1260829305.03358")
+.sub "assertion:sym<!>"  :subid("130_1261019354.40264") :method :outer("11_1261019354.40264")
 .annotate "line", 3
-    .const 'Sub' $P465 = "132_1260829305.03358" 
+    .const 'Sub' $P465 = "132_1261019354.40264" 
     capture_lex $P465
     .local string rx458_tgt
     .local int rx458_pos
@@ -5539,7 +5539,7 @@
     rx458_cur."!mark_push"(0, rx458_pos, $I10)
   # rx subrule "before" subtype=zerowidth negate=
     rx458_cur."!cursor_pos"(rx458_pos)
-    .const 'Sub' $P465 = "132_1260829305.03358" 
+    .const 'Sub' $P465 = "132_1261019354.40264" 
     capture_lex $P465
     $P10 = rx458_cur."before"($P465)
     unless $P10, rx458_fail
@@ -5572,7 +5572,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__assertion:sym<!>"  :subid("131_1260829305.03358") :method
+.sub "!PREFIX__assertion:sym<!>"  :subid("131_1261019354.40264") :method
 .annotate "line", 3
     $P460 = self."!PREFIX__!subrule"("assertion", "!")
     new $P461, "ResizablePMCArray"
@@ -5583,7 +5583,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "_block464"  :anon :subid("132_1260829305.03358") :method :outer("130_1260829305.03358")
+.sub "_block464"  :anon :subid("132_1261019354.40264") :method :outer("130_1261019354.40264")
 .annotate "line", 141
     .local string rx466_tgt
     .local int rx466_pos
@@ -5639,7 +5639,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "assertion:sym<method>"  :subid("133_1260829305.03358") :method :outer("11_1260829305.03358")
+.sub "assertion:sym<method>"  :subid("133_1261019354.40264") :method :outer("11_1261019354.40264")
 .annotate "line", 3
     .local string rx469_tgt
     .local int rx469_pos
@@ -5705,7 +5705,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__assertion:sym<method>"  :subid("134_1260829305.03358") :method
+.sub "!PREFIX__assertion:sym<method>"  :subid("134_1261019354.40264") :method
 .annotate "line", 3
     $P471 = self."!PREFIX__!subrule"("assertion", ".")
     new $P472, "ResizablePMCArray"
@@ -5715,9 +5715,9 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "assertion:sym<name>"  :subid("135_1260829305.03358") :method :outer("11_1260829305.03358")
+.sub "assertion:sym<name>"  :subid("135_1261019354.40264") :method :outer("11_1261019354.40264")
 .annotate "line", 3
-    .const 'Sub' $P483 = "137_1260829305.03358" 
+    .const 'Sub' $P483 = "137_1261019354.40264" 
     capture_lex $P483
     .local string rx475_tgt
     .local int rx475_pos
@@ -5727,7 +5727,7 @@
     .local pmc rx475_cur
     (rx475_cur, rx475_pos, rx475_tgt) = self."!cursor_start"()
     rx475_cur."!cursor_debug"("START ", "assertion:sym<name>")
-    rx475_cur."!cursor_caparray"("arglist", "nibbler", "assertion")
+    rx475_cur."!cursor_caparray"("nibbler", "arglist", "assertion")
     .lex unicode:"$\x{a2}", rx475_cur
     .local pmc match
     .lex "$/", match
@@ -5782,7 +5782,7 @@
 .annotate "line", 150
   # rx subrule "before" subtype=zerowidth negate=
     rx475_cur."!cursor_pos"(rx475_pos)
-    .const 'Sub' $P483 = "137_1260829305.03358" 
+    .const 'Sub' $P483 = "137_1261019354.40264" 
     capture_lex $P483
     $P10 = rx475_cur."before"($P483)
     unless $P10, rx475_fail
@@ -5889,7 +5889,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__assertion:sym<name>"  :subid("136_1260829305.03358") :method
+.sub "!PREFIX__assertion:sym<name>"  :subid("136_1261019354.40264") :method
 .annotate "line", 3
     new $P477, "ResizablePMCArray"
     push $P477, ""
@@ -5898,7 +5898,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "_block482"  :anon :subid("137_1260829305.03358") :method :outer("135_1260829305.03358")
+.sub "_block482"  :anon :subid("137_1261019354.40264") :method :outer("135_1261019354.40264")
 .annotate "line", 150
     .local string rx484_tgt
     .local int rx484_pos
@@ -5954,9 +5954,9 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "assertion:sym<[>"  :subid("138_1260829305.03358") :method :outer("11_1260829305.03358")
+.sub "assertion:sym<[>"  :subid("138_1261019354.40264") :method :outer("11_1261019354.40264")
 .annotate "line", 3
-    .const 'Sub' $P493 = "140_1260829305.03358" 
+    .const 'Sub' $P493 = "140_1261019354.40264" 
     capture_lex $P493
     .local string rx488_tgt
     .local int rx488_pos
@@ -5991,7 +5991,7 @@
 .annotate "line", 158
   # rx subrule "before" subtype=zerowidth negate=
     rx488_cur."!cursor_pos"(rx488_pos)
-    .const 'Sub' $P493 = "140_1260829305.03358" 
+    .const 'Sub' $P493 = "140_1261019354.40264" 
     capture_lex $P493
     $P10 = rx488_cur."before"($P493)
     unless $P10, rx488_fail
@@ -6029,7 +6029,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__assertion:sym<[>"  :subid("139_1260829305.03358") :method
+.sub "!PREFIX__assertion:sym<[>"  :subid("139_1261019354.40264") :method
 .annotate "line", 3
     new $P490, "ResizablePMCArray"
     push $P490, ""
@@ -6038,7 +6038,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "_block492"  :anon :subid("140_1260829305.03358") :method :outer("138_1260829305.03358")
+.sub "_block492"  :anon :subid("140_1261019354.40264") :method :outer("138_1261019354.40264")
 .annotate "line", 158
     .local string rx494_tgt
     .local int rx494_pos
@@ -6118,9 +6118,9 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "cclass_elem"  :subid("141_1260829305.03358") :method :outer("11_1260829305.03358")
+.sub "cclass_elem"  :subid("141_1261019354.40264") :method :outer("11_1261019354.40264")
 .annotate "line", 3
-    .const 'Sub' $P511 = "143_1260829305.03358" 
+    .const 'Sub' $P511 = "143_1261019354.40264" 
     capture_lex $P511
     .local string rx500_tgt
     .local int rx500_pos
@@ -6223,7 +6223,7 @@
 .annotate "line", 164
   # rx subrule $P511 subtype=capture negate=
     rx500_cur."!cursor_pos"(rx500_pos)
-    .const 'Sub' $P511 = "143_1260829305.03358" 
+    .const 'Sub' $P511 = "143_1261019354.40264" 
     capture_lex $P511
     $P10 = rx500_cur.$P511()
     unless $P10, rx500_fail
@@ -6304,7 +6304,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__cclass_elem"  :subid("142_1260829305.03358") :method
+.sub "!PREFIX__cclass_elem"  :subid("142_1261019354.40264") :method
 .annotate "line", 3
     new $P502, "ResizablePMCArray"
     push $P502, ""
@@ -6315,13 +6315,13 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "_block510"  :anon :subid("143_1260829305.03358") :method :outer("141_1260829305.03358")
+.sub "_block510"  :anon :subid("143_1261019354.40264") :method :outer("141_1261019354.40264")
 .annotate "line", 164
-    .const 'Sub' $P526 = "146_1260829305.03358" 
+    .const 'Sub' $P526 = "146_1261019354.40264" 
     capture_lex $P526
-    .const 'Sub' $P521 = "145_1260829305.03358" 
+    .const 'Sub' $P521 = "145_1261019354.40264" 
     capture_lex $P521
-    .const 'Sub' $P517 = "144_1260829305.03358" 
+    .const 'Sub' $P517 = "144_1261019354.40264" 
     capture_lex $P517
     .local string rx512_tgt
     .local int rx512_pos
@@ -6392,7 +6392,7 @@
     add rx512_pos, 1
   # rx subrule $P517 subtype=capture negate=
     rx512_cur."!cursor_pos"(rx512_pos)
-    .const 'Sub' $P517 = "144_1260829305.03358" 
+    .const 'Sub' $P517 = "144_1261019354.40264" 
     capture_lex $P517
     $P10 = rx512_cur.$P517()
     unless $P10, rx512_fail
@@ -6403,7 +6403,7 @@
   alt515_1:
   # rx subrule $P521 subtype=capture negate=
     rx512_cur."!cursor_pos"(rx512_pos)
-    .const 'Sub' $P521 = "145_1260829305.03358" 
+    .const 'Sub' $P521 = "145_1261019354.40264" 
     capture_lex $P521
     $P10 = rx512_cur.$P521()
     unless $P10, rx512_fail
@@ -6432,7 +6432,7 @@
     add rx512_pos, rx512_off, $I11
   # rx subrule $P526 subtype=capture negate=
     rx512_cur."!cursor_pos"(rx512_pos)
-    .const 'Sub' $P526 = "146_1260829305.03358" 
+    .const 'Sub' $P526 = "146_1261019354.40264" 
     capture_lex $P526
     $P10 = rx512_cur.$P526()
     unless $P10, rx512_fail
@@ -6461,7 +6461,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "_block516"  :anon :subid("144_1260829305.03358") :method :outer("143_1260829305.03358")
+.sub "_block516"  :anon :subid("144_1261019354.40264") :method :outer("143_1261019354.40264")
 .annotate "line", 166
     .local string rx518_tgt
     .local int rx518_pos
@@ -6513,7 +6513,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "_block520"  :anon :subid("145_1260829305.03358") :method :outer("143_1260829305.03358")
+.sub "_block520"  :anon :subid("145_1261019354.40264") :method :outer("143_1261019354.40264")
 .annotate "line", 166
     .local string rx522_tgt
     .local int rx522_pos
@@ -6569,7 +6569,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "_block525"  :anon :subid("146_1260829305.03358") :method :outer("143_1260829305.03358")
+.sub "_block525"  :anon :subid("146_1261019354.40264") :method :outer("143_1261019354.40264")
 .annotate "line", 166
     .local string rx527_tgt
     .local int rx527_pos
@@ -6621,9 +6621,9 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "mod_internal"  :subid("147_1260829305.03358") :method :outer("11_1260829305.03358")
+.sub "mod_internal"  :subid("147_1261019354.40264") :method :outer("11_1261019354.40264")
 .annotate "line", 3
-    .const 'Sub' $P543 = "149_1260829305.03358" 
+    .const 'Sub' $P543 = "149_1261019354.40264" 
     capture_lex $P543
     .local string rx535_tgt
     .local int rx535_pos
@@ -6673,7 +6673,7 @@
   rxquantr541_loop:
   # rx subrule $P543 subtype=capture negate=
     rx535_cur."!cursor_pos"(rx535_pos)
-    .const 'Sub' $P543 = "149_1260829305.03358" 
+    .const 'Sub' $P543 = "149_1261019354.40264" 
     capture_lex $P543
     $P10 = rx535_cur.$P543()
     unless $P10, rx535_fail
@@ -6775,7 +6775,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__mod_internal"  :subid("148_1260829305.03358") :method
+.sub "!PREFIX__mod_internal"  :subid("148_1261019354.40264") :method
 .annotate "line", 3
     $P537 = self."!PREFIX__!subrule"("mod_ident", ":")
     new $P538, "ResizablePMCArray"
@@ -6786,7 +6786,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "_block542"  :anon :subid("149_1260829305.03358") :method :outer("147_1260829305.03358")
+.sub "_block542"  :anon :subid("149_1261019354.40264") :method :outer("147_1261019354.40264")
 .annotate "line", 176
     .local string rx544_tgt
     .local int rx544_pos
@@ -6854,7 +6854,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "mod_ident"  :subid("150_1260829305.03358") :method
+.sub "mod_ident"  :subid("150_1261019354.40264") :method
 .annotate "line", 181
     $P552 = self."!protoregex"("mod_ident")
     .return ($P552)
@@ -6862,7 +6862,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__mod_ident"  :subid("151_1260829305.03358") :method
+.sub "!PREFIX__mod_ident"  :subid("151_1261019354.40264") :method
 .annotate "line", 181
     $P554 = self."!PREFIX__!protoregex"("mod_ident")
     .return ($P554)
@@ -6870,7 +6870,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "mod_ident:sym<ignorecase>"  :subid("152_1260829305.03358") :method :outer("11_1260829305.03358")
+.sub "mod_ident:sym<ignorecase>"  :subid("152_1261019354.40264") :method :outer("11_1261019354.40264")
 .annotate "line", 3
     .local string rx556_tgt
     .local int rx556_pos
@@ -6955,7 +6955,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__mod_ident:sym<ignorecase>"  :subid("153_1260829305.03358") :method
+.sub "!PREFIX__mod_ident:sym<ignorecase>"  :subid("153_1261019354.40264") :method
 .annotate "line", 3
     new $P558, "ResizablePMCArray"
     push $P558, "i"
@@ -6964,7 +6964,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "mod_ident:sym<ratchet>"  :subid("154_1260829305.03358") :method :outer("11_1260829305.03358")
+.sub "mod_ident:sym<ratchet>"  :subid("154_1261019354.40264") :method :outer("11_1261019354.40264")
 .annotate "line", 3
     .local string rx564_tgt
     .local int rx564_pos
@@ -7049,7 +7049,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__mod_ident:sym<ratchet>"  :subid("155_1260829305.03358") :method
+.sub "!PREFIX__mod_ident:sym<ratchet>"  :subid("155_1261019354.40264") :method
 .annotate "line", 3
     new $P566, "ResizablePMCArray"
     push $P566, "r"
@@ -7058,7 +7058,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "mod_ident:sym<sigspace>"  :subid("156_1260829305.03358") :method :outer("11_1260829305.03358")
+.sub "mod_ident:sym<sigspace>"  :subid("156_1261019354.40264") :method :outer("11_1261019354.40264")
 .annotate "line", 3
     .local string rx572_tgt
     .local int rx572_pos
@@ -7143,7 +7143,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__mod_ident:sym<sigspace>"  :subid("157_1260829305.03358") :method
+.sub "!PREFIX__mod_ident:sym<sigspace>"  :subid("157_1261019354.40264") :method
 .annotate "line", 3
     new $P574, "ResizablePMCArray"
     push $P574, "s"
@@ -7153,7 +7153,7 @@
 ### .include 'gen/p6regex-actions.pir'
 
 .namespace []
-.sub "_block11"  :anon :subid("10_1260829311.30911")
+.sub "_block11"  :anon :subid("10_1261019360.92342")
 .annotate "line", 0
     get_hll_global $P14, ["Regex";"P6Regex";"Actions"], "_block13" 
     capture_lex $P14
@@ -7167,9 +7167,9 @@
 
 
 .namespace []
-.sub "" :load :init :subid("post89") :outer("10_1260829311.30911")
+.sub "" :load :init :subid("post89") :outer("10_1261019360.92342")
 .annotate "line", 0
-    .const 'Sub' $P12 = "10_1260829311.30911" 
+    .const 'Sub' $P12 = "10_1261019360.92342" 
     .local pmc block
     set block, $P12
     $P1557 = get_root_global ["parrot"], "P6metaclass"
@@ -7178,115 +7178,115 @@
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "_block13"  :subid("11_1260829311.30911") :outer("10_1260829311.30911")
+.sub "_block13"  :subid("11_1261019360.92342") :outer("10_1261019360.92342")
 .annotate "line", 4
-    .const 'Sub' $P1523 = "88_1260829311.30911" 
+    .const 'Sub' $P1523 = "88_1261019360.92342" 
     capture_lex $P1523
-    .const 'Sub' $P1454 = "84_1260829311.30911" 
+    .const 'Sub' $P1454 = "84_1261019360.92342" 
     capture_lex $P1454
-    .const 'Sub' $P1386 = "82_1260829311.30911" 
+    .const 'Sub' $P1386 = "82_1261019360.92342" 
     capture_lex $P1386
-    .const 'Sub' $P1313 = "79_1260829311.30911" 
+    .const 'Sub' $P1313 = "79_1261019360.92342" 
     capture_lex $P1313
-    .const 'Sub' $P1299 = "78_1260829311.30911" 
+    .const 'Sub' $P1299 = "78_1261019360.92342" 
     capture_lex $P1299
-    .const 'Sub' $P1275 = "77_1260829311.30911" 
+    .const 'Sub' $P1275 = "77_1261019360.92342" 
     capture_lex $P1275
-    .const 'Sub' $P1257 = "76_1260829311.30911" 
+    .const 'Sub' $P1257 = "76_1261019360.92342" 
     capture_lex $P1257
-    .const 'Sub' $P1243 = "75_1260829311.30911" 
+    .const 'Sub' $P1243 = "75_1261019360.92342" 
     capture_lex $P1243
-    .const 'Sub' $P1212 = "74_1260829311.30911" 
+    .const 'Sub' $P1212 = "74_1261019360.92342" 
     capture_lex $P1212
-    .const 'Sub' $P1181 = "73_1260829311.30911" 
+    .const 'Sub' $P1181 = "73_1261019360.92342" 
     capture_lex $P1181
-    .const 'Sub' $P1165 = "72_1260829311.30911" 
+    .const 'Sub' $P1165 = "72_1261019360.92342" 
     capture_lex $P1165
-    .const 'Sub' $P1149 = "71_1260829311.30911" 
+    .const 'Sub' $P1149 = "71_1261019360.92342" 
     capture_lex $P1149
-    .const 'Sub' $P1133 = "70_1260829311.30911" 
+    .const 'Sub' $P1133 = "70_1261019360.92342" 
     capture_lex $P1133
-    .const 'Sub' $P1117 = "69_1260829311.30911" 
+    .const 'Sub' $P1117 = "69_1261019360.92342" 
     capture_lex $P1117
-    .const 'Sub' $P1101 = "68_1260829311.30911" 
+    .const 'Sub' $P1101 = "68_1261019360.92342" 
     capture_lex $P1101
-    .const 'Sub' $P1085 = "67_1260829311.30911" 
+    .const 'Sub' $P1085 = "67_1261019360.92342" 
     capture_lex $P1085
-    .const 'Sub' $P1069 = "66_1260829311.30911" 
+    .const 'Sub' $P1069 = "66_1261019360.92342" 
     capture_lex $P1069
-    .const 'Sub' $P1045 = "65_1260829311.30911" 
+    .const 'Sub' $P1045 = "65_1261019360.92342" 
     capture_lex $P1045
-    .const 'Sub' $P1030 = "64_1260829311.30911" 
+    .const 'Sub' $P1030 = "64_1261019360.92342" 
     capture_lex $P1030
-    .const 'Sub' $P974 = "63_1260829311.30911" 
+    .const 'Sub' $P974 = "63_1261019360.92342" 
     capture_lex $P974
-    .const 'Sub' $P953 = "62_1260829311.30911" 
+    .const 'Sub' $P953 = "62_1261019360.92342" 
     capture_lex $P953
-    .const 'Sub' $P931 = "61_1260829311.30911" 
+    .const 'Sub' $P931 = "61_1261019360.92342" 
     capture_lex $P931
-    .const 'Sub' $P921 = "60_1260829311.30911" 
+    .const 'Sub' $P921 = "60_1261019360.92342" 
     capture_lex $P921
-    .const 'Sub' $P911 = "59_1260829311.30911" 
+    .const 'Sub' $P911 = "59_1261019360.92342" 
     capture_lex $P911
-    .const 'Sub' $P901 = "58_1260829311.30911" 
+    .const 'Sub' $P901 = "58_1261019360.92342" 
     capture_lex $P901
-    .const 'Sub' $P889 = "57_1260829311.30911" 
+    .const 'Sub' $P889 = "57_1261019360.92342" 
     capture_lex $P889
-    .const 'Sub' $P877 = "56_1260829311.30911" 
+    .const 'Sub' $P877 = "56_1261019360.92342" 
     capture_lex $P877
-    .const 'Sub' $P865 = "55_1260829311.30911" 
+    .const 'Sub' $P865 = "55_1261019360.92342" 
     capture_lex $P865
-    .const 'Sub' $P853 = "54_1260829311.30911" 
+    .const 'Sub' $P853 = "54_1261019360.92342" 
     capture_lex $P853
-    .const 'Sub' $P841 = "53_1260829311.30911" 
+    .const 'Sub' $P841 = "53_1261019360.92342" 
     capture_lex $P841
-    .const 'Sub' $P829 = "52_1260829311.30911" 
+    .const 'Sub' $P829 = "52_1261019360.92342" 
     capture_lex $P829
-    .const 'Sub' $P817 = "51_1260829311.30911" 
+    .const 'Sub' $P817 = "51_1261019360.92342" 
     capture_lex $P817
-    .const 'Sub' $P805 = "50_1260829311.30911" 
+    .const 'Sub' $P805 = "50_1261019360.92342" 
     capture_lex $P805
-    .const 'Sub' $P782 = "49_1260829311.30911" 
+    .const 'Sub' $P782 = "49_1261019360.92342" 
     capture_lex $P782
-    .const 'Sub' $P759 = "48_1260829311.30911" 
+    .const 'Sub' $P759 = "48_1261019360.92342" 
     capture_lex $P759
-    .const 'Sub' $P741 = "47_1260829311.30911" 
+    .const 'Sub' $P741 = "47_1261019360.92342" 
     capture_lex $P741
-    .const 'Sub' $P731 = "46_1260829311.30911" 
+    .const 'Sub' $P731 = "46_1261019360.92342" 
     capture_lex $P731
-    .const 'Sub' $P713 = "45_1260829311.30911" 
+    .const 'Sub' $P713 = "45_1261019360.92342" 
     capture_lex $P713
-    .const 'Sub' $P666 = "44_1260829311.30911" 
+    .const 'Sub' $P666 = "44_1261019360.92342" 
     capture_lex $P666
-    .const 'Sub' $P649 = "43_1260829311.30911" 
+    .const 'Sub' $P649 = "43_1261019360.92342" 
     capture_lex $P649
-    .const 'Sub' $P634 = "42_1260829311.30911" 
+    .const 'Sub' $P634 = "42_1261019360.92342" 
     capture_lex $P634
-    .const 'Sub' $P619 = "41_1260829311.30911" 
+    .const 'Sub' $P619 = "41_1261019360.92342" 
     capture_lex $P619
-    .const 'Sub' $P593 = "40_1260829311.30911" 
+    .const 'Sub' $P593 = "40_1261019360.92342" 
     capture_lex $P593
-    .const 'Sub' $P543 = "38_1260829311.30911" 
+    .const 'Sub' $P543 = "38_1261019360.92342" 
     capture_lex $P543
-    .const 'Sub' $P475 = "36_1260829311.30911" 
+    .const 'Sub' $P475 = "36_1261019360.92342" 
     capture_lex $P475
-    .const 'Sub' $P420 = "33_1260829311.30911" 
+    .const 'Sub' $P420 = "33_1261019360.92342" 
     capture_lex $P420
-    .const 'Sub' $P405 = "32_1260829311.30911" 
+    .const 'Sub' $P405 = "32_1261019360.92342" 
     capture_lex $P405
-    .const 'Sub' $P379 = "30_1260829311.30911" 
+    .const 'Sub' $P379 = "30_1261019360.92342" 
     capture_lex $P379
-    .const 'Sub' $P362 = "29_1260829311.30911" 
+    .const 'Sub' $P362 = "29_1261019360.92342" 
     capture_lex $P362
-    .const 'Sub' $P340 = "28_1260829311.30911" 
+    .const 'Sub' $P340 = "28_1261019360.92342" 
     capture_lex $P340
-    .const 'Sub' $P308 = "27_1260829311.30911" 
+    .const 'Sub' $P308 = "27_1261019360.92342" 
     capture_lex $P308
-    .const 'Sub' $P54 = "14_1260829311.30911" 
+    .const 'Sub' $P54 = "14_1261019360.92342" 
     capture_lex $P54
-    .const 'Sub' $P21 = "13_1260829311.30911" 
+    .const 'Sub' $P21 = "13_1261019360.92342" 
     capture_lex $P21
-    .const 'Sub' $P16 = "12_1260829311.30911" 
+    .const 'Sub' $P16 = "12_1261019360.92342" 
     capture_lex $P16
     get_global $P15, "@MODIFIERS"
     unless_null $P15, vivify_90
@@ -7294,23 +7294,23 @@
     set_global "@MODIFIERS", $P15
   vivify_90:
 .annotate "line", 6
-    .const 'Sub' $P16 = "12_1260829311.30911" 
+    .const 'Sub' $P16 = "12_1261019360.92342" 
     capture_lex $P16
     .lex "INIT", $P16
 .annotate "line", 475
-    .const 'Sub' $P21 = "13_1260829311.30911" 
+    .const 'Sub' $P21 = "13_1261019360.92342" 
     capture_lex $P21
     .lex "buildsub", $P21
 .annotate "line", 492
-    .const 'Sub' $P54 = "14_1260829311.30911" 
+    .const 'Sub' $P54 = "14_1261019360.92342" 
     capture_lex $P54
     .lex "capnames", $P54
 .annotate "line", 558
-    .const 'Sub' $P308 = "27_1260829311.30911" 
+    .const 'Sub' $P308 = "27_1261019360.92342" 
     capture_lex $P308
     .lex "backmod", $P308
 .annotate "line", 565
-    .const 'Sub' $P340 = "28_1260829311.30911" 
+    .const 'Sub' $P340 = "28_1261019360.92342" 
     capture_lex $P340
     .lex "subrule_alias", $P340
 .annotate "line", 4
@@ -7327,7 +7327,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "INIT"  :subid("12_1260829311.30911") :outer("11_1260829311.30911")
+.sub "INIT"  :subid("12_1261019360.92342") :outer("11_1261019360.92342")
 .annotate "line", 6
     new $P18, 'ExceptionHandler'
     set_addr $P18, control_17
@@ -7351,7 +7351,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "buildsub"  :subid("13_1260829311.30911") :outer("11_1260829311.30911")
+.sub "buildsub"  :subid("13_1261019360.92342") :outer("11_1261019360.92342")
     .param pmc param_24
     .param pmc param_25 :optional
     .param int has_param_25 :opt_flag
@@ -7428,19 +7428,19 @@
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "capnames"  :subid("14_1260829311.30911") :outer("11_1260829311.30911")
+.sub "capnames"  :subid("14_1261019360.92342") :outer("11_1261019360.92342")
     .param pmc param_57
     .param pmc param_58
 .annotate "line", 492
-    .const 'Sub' $P283 = "25_1260829311.30911" 
+    .const 'Sub' $P283 = "25_1261019360.92342" 
     capture_lex $P283
-    .const 'Sub' $P220 = "22_1260829311.30911" 
+    .const 'Sub' $P220 = "22_1261019360.92342" 
     capture_lex $P220
-    .const 'Sub' $P178 = "20_1260829311.30911" 
+    .const 'Sub' $P178 = "20_1261019360.92342" 
     capture_lex $P178
-    .const 'Sub' $P136 = "18_1260829311.30911" 
+    .const 'Sub' $P136 = "18_1261019360.92342" 
     capture_lex $P136
-    .const 'Sub' $P69 = "15_1260829311.30911" 
+    .const 'Sub' $P69 = "15_1261019360.92342" 
     capture_lex $P69
     new $P56, 'ExceptionHandler'
     set_addr $P56, control_55
@@ -7496,21 +7496,21 @@
     set $S280, $P279
     iseq $I281, $S280, "quant"
     unless $I281, if_278_end
-    .const 'Sub' $P283 = "25_1260829311.30911" 
+    .const 'Sub' $P283 = "25_1261019360.92342" 
     capture_lex $P283
     $P283()
   if_278_end:
     goto if_215_end
   if_215:
 .annotate "line", 530
-    .const 'Sub' $P220 = "22_1260829311.30911" 
+    .const 'Sub' $P220 = "22_1261019360.92342" 
     capture_lex $P220
     $P220()
   if_215_end:
     goto if_168_end
   if_168:
 .annotate "line", 517
-    .const 'Sub' $P178 = "20_1260829311.30911" 
+    .const 'Sub' $P178 = "20_1261019360.92342" 
     capture_lex $P178
     $P178()
   if_168_end:
@@ -7530,7 +7530,7 @@
     unless $P130, loop165_done
     shift $P134, $P130
   loop165_redo:
-    .const 'Sub' $P136 = "18_1260829311.30911" 
+    .const 'Sub' $P136 = "18_1261019360.92342" 
     capture_lex $P136
     $P136($P134)
   loop165_next:
@@ -7549,7 +7549,7 @@
     goto if_64_end
   if_64:
 .annotate "line", 495
-    .const 'Sub' $P69 = "15_1260829311.30911" 
+    .const 'Sub' $P69 = "15_1261019360.92342" 
     capture_lex $P69
     $P69()
   if_64_end:
@@ -7573,9 +7573,9 @@
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "_block282"  :anon :subid("25_1260829311.30911") :outer("14_1260829311.30911")
+.sub "_block282"  :anon :subid("25_1261019360.92342") :outer("14_1261019360.92342")
 .annotate "line", 547
-    .const 'Sub' $P294 = "26_1260829311.30911" 
+    .const 'Sub' $P294 = "26_1261019360.92342" 
     capture_lex $P294
 .annotate "line", 548
     new $P284, "Hash"
@@ -7604,7 +7604,7 @@
     unless $P289, loop299_done
     shift $P292, $P289
   loop299_redo:
-    .const 'Sub' $P294 = "26_1260829311.30911" 
+    .const 'Sub' $P294 = "26_1261019360.92342" 
     capture_lex $P294
     $P294($P292)
   loop299_next:
@@ -7634,7 +7634,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "_block293"  :anon :subid("26_1260829311.30911") :outer("25_1260829311.30911")
+.sub "_block293"  :anon :subid("26_1261019360.92342") :outer("25_1261019360.92342")
     .param pmc param_295
 .annotate "line", 549
     .lex "$_", param_295
@@ -7654,11 +7654,11 @@
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "_block219"  :anon :subid("22_1260829311.30911") :outer("14_1260829311.30911")
+.sub "_block219"  :anon :subid("22_1261019360.92342") :outer("14_1261019360.92342")
 .annotate "line", 530
-    .const 'Sub' $P260 = "24_1260829311.30911" 
+    .const 'Sub' $P260 = "24_1261019360.92342" 
     capture_lex $P260
-    .const 'Sub' $P232 = "23_1260829311.30911" 
+    .const 'Sub' $P232 = "23_1261019360.92342" 
     capture_lex $P232
 .annotate "line", 531
     new $P221, "Undef"
@@ -7693,7 +7693,7 @@
     unless $P227, loop248_done
     shift $P230, $P227
   loop248_redo:
-    .const 'Sub' $P232 = "23_1260829311.30911" 
+    .const 'Sub' $P232 = "23_1261019360.92342" 
     capture_lex $P232
     $P232($P230)
   loop248_next:
@@ -7732,7 +7732,7 @@
     unless $P255, loop273_done
     shift $P258, $P255
   loop273_redo:
-    .const 'Sub' $P260 = "24_1260829311.30911" 
+    .const 'Sub' $P260 = "24_1261019360.92342" 
     capture_lex $P260
     $P260($P258)
   loop273_next:
@@ -7762,7 +7762,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "_block231"  :anon :subid("23_1260829311.30911") :outer("22_1260829311.30911")
+.sub "_block231"  :anon :subid("23_1261019360.92342") :outer("22_1261019360.92342")
     .param pmc param_233
 .annotate "line", 537
     .lex "$_", param_233
@@ -7802,7 +7802,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "_block259"  :anon :subid("24_1260829311.30911") :outer("22_1260829311.30911")
+.sub "_block259"  :anon :subid("24_1261019360.92342") :outer("22_1261019360.92342")
     .param pmc param_261
 .annotate "line", 542
     .lex "$_", param_261
@@ -7842,9 +7842,9 @@
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "_block177"  :anon :subid("20_1260829311.30911") :outer("14_1260829311.30911")
+.sub "_block177"  :anon :subid("20_1261019360.92342") :outer("14_1261019360.92342")
 .annotate "line", 517
-    .const 'Sub' $P196 = "21_1260829311.30911" 
+    .const 'Sub' $P196 = "21_1261019360.92342" 
     capture_lex $P196
 .annotate "line", 518
     new $P179, "Undef"
@@ -7887,7 +7887,7 @@
     unless $P191, loop212_done
     shift $P194, $P191
   loop212_redo:
-    .const 'Sub' $P196 = "21_1260829311.30911" 
+    .const 'Sub' $P196 = "21_1261019360.92342" 
     capture_lex $P196
     $P196($P194)
   loop212_next:
@@ -7907,7 +7907,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "_block195"  :anon :subid("21_1260829311.30911") :outer("20_1260829311.30911")
+.sub "_block195"  :anon :subid("21_1261019360.92342") :outer("20_1261019360.92342")
     .param pmc param_197
 .annotate "line", 525
     .lex "$_", param_197
@@ -7947,10 +7947,10 @@
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "_block135"  :anon :subid("18_1260829311.30911") :outer("14_1260829311.30911")
+.sub "_block135"  :anon :subid("18_1261019360.92342") :outer("14_1261019360.92342")
     .param pmc param_138
 .annotate "line", 509
-    .const 'Sub' $P147 = "19_1260829311.30911" 
+    .const 'Sub' $P147 = "19_1261019360.92342" 
     capture_lex $P147
 .annotate "line", 510
     new $P137, "Hash"
@@ -7973,7 +7973,7 @@
     unless $P142, loop160_done
     shift $P145, $P142
   loop160_redo:
-    .const 'Sub' $P147 = "19_1260829311.30911" 
+    .const 'Sub' $P147 = "19_1261019360.92342" 
     capture_lex $P147
     $P147($P145)
   loop160_next:
@@ -8003,7 +8003,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "_block146"  :anon :subid("19_1260829311.30911") :outer("18_1260829311.30911")
+.sub "_block146"  :anon :subid("19_1261019360.92342") :outer("18_1261019360.92342")
     .param pmc param_148
 .annotate "line", 511
     .lex "$_", param_148
@@ -8043,9 +8043,9 @@
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "_block68"  :anon :subid("15_1260829311.30911") :outer("14_1260829311.30911")
+.sub "_block68"  :anon :subid("15_1261019360.92342") :outer("14_1261019360.92342")
 .annotate "line", 495
-    .const 'Sub' $P78 = "16_1260829311.30911" 
+    .const 'Sub' $P78 = "16_1261019360.92342" 
     capture_lex $P78
 .annotate "line", 496
     new $P70, "Undef"
@@ -8066,7 +8066,7 @@
     unless $P72, loop122_done
     shift $P76, $P72
   loop122_redo:
-    .const 'Sub' $P78 = "16_1260829311.30911" 
+    .const 'Sub' $P78 = "16_1261019360.92342" 
     capture_lex $P78
     $P78($P76)
   loop122_next:
@@ -8089,10 +8089,10 @@
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "_block77"  :anon :subid("16_1260829311.30911") :outer("15_1260829311.30911")
+.sub "_block77"  :anon :subid("16_1261019360.92342") :outer("15_1261019360.92342")
     .param pmc param_80
 .annotate "line", 497
-    .const 'Sub' $P89 = "17_1260829311.30911" 
+    .const 'Sub' $P89 = "17_1261019360.92342" 
     capture_lex $P89
 .annotate "line", 498
     new $P79, "Hash"
@@ -8115,7 +8115,7 @@
     unless $P84, loop109_done
     shift $P87, $P84
   loop109_redo:
-    .const 'Sub' $P89 = "17_1260829311.30911" 
+    .const 'Sub' $P89 = "17_1261019360.92342" 
     capture_lex $P89
     $P89($P87)
   loop109_next:
@@ -8164,7 +8164,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "_block88"  :anon :subid("17_1260829311.30911") :outer("16_1260829311.30911")
+.sub "_block88"  :anon :subid("17_1261019360.92342") :outer("16_1261019360.92342")
     .param pmc param_90
 .annotate "line", 499
     .lex "$_", param_90
@@ -8223,7 +8223,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "backmod"  :subid("27_1260829311.30911") :outer("11_1260829311.30911")
+.sub "backmod"  :subid("27_1261019360.92342") :outer("11_1261019360.92342")
     .param pmc param_311
     .param pmc param_312
 .annotate "line", 558
@@ -8297,7 +8297,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "subrule_alias"  :subid("28_1260829311.30911") :outer("11_1260829311.30911")
+.sub "subrule_alias"  :subid("28_1261019360.92342") :outer("11_1261019360.92342")
     .param pmc param_343
     .param pmc param_344
 .annotate "line", 565
@@ -8341,7 +8341,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "arg"  :subid("29_1260829311.30911") :method :outer("11_1260829311.30911")
+.sub "arg"  :subid("29_1261019360.92342") :method :outer("11_1261019360.92342")
     .param pmc param_365
 .annotate "line", 14
     new $P364, 'ExceptionHandler'
@@ -8397,10 +8397,10 @@
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "arglist"  :subid("30_1260829311.30911") :method :outer("11_1260829311.30911")
+.sub "arglist"  :subid("30_1261019360.92342") :method :outer("11_1261019360.92342")
     .param pmc param_382
 .annotate "line", 18
-    .const 'Sub' $P392 = "31_1260829311.30911" 
+    .const 'Sub' $P392 = "31_1261019360.92342" 
     capture_lex $P392
     new $P381, 'ExceptionHandler'
     set_addr $P381, control_380
@@ -8434,7 +8434,7 @@
     unless $P386, loop398_done
     shift $P390, $P386
   loop398_redo:
-    .const 'Sub' $P392 = "31_1260829311.30911" 
+    .const 'Sub' $P392 = "31_1261019360.92342" 
     capture_lex $P392
     $P392($P390)
   loop398_next:
@@ -8463,7 +8463,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "_block391"  :anon :subid("31_1260829311.30911") :outer("30_1260829311.30911")
+.sub "_block391"  :anon :subid("31_1261019360.92342") :outer("30_1261019360.92342")
     .param pmc param_393
 .annotate "line", 20
     .lex "$_", param_393
@@ -8476,7 +8476,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "TOP"  :subid("32_1260829311.30911") :method :outer("11_1260829311.30911")
+.sub "TOP"  :subid("32_1261019360.92342") :method :outer("11_1261019360.92342")
     .param pmc param_408
 .annotate "line", 24
     new $P407, 'ExceptionHandler'
@@ -8518,14 +8518,14 @@
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "nibbler"  :subid("33_1260829311.30911") :method :outer("11_1260829311.30911")
+.sub "nibbler"  :subid("33_1261019360.92342") :method :outer("11_1261019360.92342")
     .param pmc param_423
     .param pmc param_424 :optional
     .param int has_param_424 :opt_flag
 .annotate "line", 30
-    .const 'Sub' $P458 = "35_1260829311.30911" 
+    .const 'Sub' $P458 = "35_1261019360.92342" 
     capture_lex $P458
-    .const 'Sub' $P432 = "34_1260829311.30911" 
+    .const 'Sub' $P432 = "34_1261019360.92342" 
     capture_lex $P432
     new $P422, 'ExceptionHandler'
     set_addr $P422, control_421
@@ -8546,7 +8546,7 @@
     set $S429, $P428
     iseq $I430, $S429, "open"
     unless $I430, if_427_end
-    .const 'Sub' $P432 = "34_1260829311.30911" 
+    .const 'Sub' $P432 = "34_1261019360.92342" 
     capture_lex $P432
     $P432()
   if_427_end:
@@ -8609,7 +8609,7 @@
     unless $P452, loop464_done
     shift $P456, $P452
   loop464_redo:
-    .const 'Sub' $P458 = "35_1260829311.30911" 
+    .const 'Sub' $P458 = "35_1261019360.92342" 
     capture_lex $P458
     $P458($P456)
   loop464_next:
@@ -8639,7 +8639,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "_block431"  :anon :subid("34_1260829311.30911") :outer("33_1260829311.30911")
+.sub "_block431"  :anon :subid("34_1261019360.92342") :outer("33_1261019360.92342")
 .annotate "line", 32
     new $P433, "Hash"
     .lex "%old", $P433
@@ -8679,7 +8679,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "_block457"  :anon :subid("35_1260829311.30911") :outer("33_1260829311.30911")
+.sub "_block457"  :anon :subid("35_1261019360.92342") :outer("33_1261019360.92342")
     .param pmc param_459
 .annotate "line", 45
     .lex "$_", param_459
@@ -8694,10 +8694,10 @@
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "termish"  :subid("36_1260829311.30911") :method :outer("11_1260829311.30911")
+.sub "termish"  :subid("36_1261019360.92342") :method :outer("11_1261019360.92342")
     .param pmc param_478
 .annotate "line", 55
-    .const 'Sub' $P491 = "37_1260829311.30911" 
+    .const 'Sub' $P491 = "37_1261019360.92342" 
     capture_lex $P491
     new $P477, 'ExceptionHandler'
     set_addr $P477, control_476
@@ -8740,7 +8740,7 @@
     unless $P485, loop536_done
     shift $P489, $P485
   loop536_redo:
-    .const 'Sub' $P491 = "37_1260829311.30911" 
+    .const 'Sub' $P491 = "37_1261019360.92342" 
     capture_lex $P491
     $P491($P489)
   loop536_next:
@@ -8769,7 +8769,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "_block490"  :anon :subid("37_1260829311.30911") :outer("36_1260829311.30911")
+.sub "_block490"  :anon :subid("37_1261019360.92342") :outer("36_1261019360.92342")
     .param pmc param_493
 .annotate "line", 59
     new $P492, "Undef"
@@ -8896,10 +8896,10 @@
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "quantified_atom"  :subid("38_1260829311.30911") :method :outer("11_1260829311.30911")
+.sub "quantified_atom"  :subid("38_1261019360.92342") :method :outer("11_1261019360.92342")
     .param pmc param_546
 .annotate "line", 76
-    .const 'Sub' $P555 = "39_1260829311.30911" 
+    .const 'Sub' $P555 = "39_1261019360.92342" 
     capture_lex $P555
     new $P545, 'ExceptionHandler'
     set_addr $P545, control_544
@@ -8962,7 +8962,7 @@
     goto if_551_end
   if_551:
 .annotate "line", 78
-    .const 'Sub' $P555 = "39_1260829311.30911" 
+    .const 'Sub' $P555 = "39_1261019360.92342" 
     capture_lex $P555
     $P555()
   if_551_end:
@@ -9016,7 +9016,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "_block554"  :anon :subid("39_1260829311.30911") :outer("38_1260829311.30911")
+.sub "_block554"  :anon :subid("39_1261019360.92342") :outer("38_1261019360.92342")
 .annotate "line", 80
     new $P556, "Undef"
     .lex "$qast", $P556
@@ -9055,7 +9055,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "atom"  :subid("40_1260829311.30911") :method :outer("11_1260829311.30911")
+.sub "atom"  :subid("40_1261019360.92342") :method :outer("11_1261019360.92342")
     .param pmc param_596
 .annotate "line", 91
     new $P595, 'ExceptionHandler'
@@ -9133,7 +9133,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "quantifier:sym<*>"  :subid("41_1260829311.30911") :method :outer("11_1260829311.30911")
+.sub "quantifier:sym<*>"  :subid("41_1261019360.92342") :method :outer("11_1261019360.92342")
     .param pmc param_622
 .annotate "line", 101
     new $P621, 'ExceptionHandler'
@@ -9173,7 +9173,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "quantifier:sym<+>"  :subid("42_1260829311.30911") :method :outer("11_1260829311.30911")
+.sub "quantifier:sym<+>"  :subid("42_1261019360.92342") :method :outer("11_1261019360.92342")
     .param pmc param_637
 .annotate "line", 106
     new $P636, 'ExceptionHandler'
@@ -9213,7 +9213,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "quantifier:sym<?>"  :subid("43_1260829311.30911") :method :outer("11_1260829311.30911")
+.sub "quantifier:sym<?>"  :subid("43_1261019360.92342") :method :outer("11_1261019360.92342")
     .param pmc param_652
 .annotate "line", 111
     new $P651, 'ExceptionHandler'
@@ -9257,7 +9257,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "quantifier:sym<**>"  :subid("44_1260829311.30911") :method :outer("11_1260829311.30911")
+.sub "quantifier:sym<**>"  :subid("44_1261019360.92342") :method :outer("11_1261019360.92342")
     .param pmc param_669
 .annotate "line", 117
     new $P668, 'ExceptionHandler'
@@ -9397,7 +9397,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "metachar:sym<ws>"  :subid("45_1260829311.30911") :method :outer("11_1260829311.30911")
+.sub "metachar:sym<ws>"  :subid("45_1261019360.92342") :method :outer("11_1261019360.92342")
     .param pmc param_716
 .annotate "line", 131
     new $P715, 'ExceptionHandler'
@@ -9449,7 +9449,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "metachar:sym<[ ]>"  :subid("46_1260829311.30911") :method :outer("11_1260829311.30911")
+.sub "metachar:sym<[ ]>"  :subid("46_1261019360.92342") :method :outer("11_1261019360.92342")
     .param pmc param_734
 .annotate "line", 140
     new $P733, 'ExceptionHandler'
@@ -9481,7 +9481,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "metachar:sym<( )>"  :subid("47_1260829311.30911") :method :outer("11_1260829311.30911")
+.sub "metachar:sym<( )>"  :subid("47_1261019360.92342") :method :outer("11_1261019360.92342")
     .param pmc param_744
 .annotate "line", 144
     new $P743, 'ExceptionHandler'
@@ -9529,7 +9529,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "metachar:sym<'>"  :subid("48_1260829311.30911") :method :outer("11_1260829311.30911")
+.sub "metachar:sym<'>"  :subid("48_1261019360.92342") :method :outer("11_1261019360.92342")
     .param pmc param_762
 .annotate "line", 151
     new $P761, 'ExceptionHandler'
@@ -9585,7 +9585,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "metachar:sym<\">"  :subid("49_1260829311.30911") :method :outer("11_1260829311.30911")
+.sub "metachar:sym<\">"  :subid("49_1261019360.92342") :method :outer("11_1261019360.92342")
     .param pmc param_785
 .annotate "line", 158
     new $P784, 'ExceptionHandler'
@@ -9641,7 +9641,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "metachar:sym<.>"  :subid("50_1260829311.30911") :method :outer("11_1260829311.30911")
+.sub "metachar:sym<.>"  :subid("50_1261019360.92342") :method :outer("11_1261019360.92342")
     .param pmc param_808
 .annotate "line", 165
     new $P807, 'ExceptionHandler'
@@ -9672,7 +9672,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "metachar:sym<^>"  :subid("51_1260829311.30911") :method :outer("11_1260829311.30911")
+.sub "metachar:sym<^>"  :subid("51_1261019360.92342") :method :outer("11_1261019360.92342")
     .param pmc param_820
 .annotate "line", 170
     new $P819, 'ExceptionHandler'
@@ -9703,7 +9703,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "metachar:sym<^^>"  :subid("52_1260829311.30911") :method :outer("11_1260829311.30911")
+.sub "metachar:sym<^^>"  :subid("52_1261019360.92342") :method :outer("11_1261019360.92342")
     .param pmc param_832
 .annotate "line", 175
     new $P831, 'ExceptionHandler'
@@ -9734,7 +9734,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "metachar:sym<$>"  :subid("53_1260829311.30911") :method :outer("11_1260829311.30911")
+.sub "metachar:sym<$>"  :subid("53_1261019360.92342") :method :outer("11_1261019360.92342")
     .param pmc param_844
 .annotate "line", 180
     new $P843, 'ExceptionHandler'
@@ -9765,7 +9765,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "metachar:sym<$$>"  :subid("54_1260829311.30911") :method :outer("11_1260829311.30911")
+.sub "metachar:sym<$$>"  :subid("54_1261019360.92342") :method :outer("11_1261019360.92342")
     .param pmc param_856
 .annotate "line", 185
     new $P855, 'ExceptionHandler'
@@ -9796,7 +9796,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "metachar:sym<:::>"  :subid("55_1260829311.30911") :method :outer("11_1260829311.30911")
+.sub "metachar:sym<:::>"  :subid("55_1261019360.92342") :method :outer("11_1261019360.92342")
     .param pmc param_868
 .annotate "line", 190
     new $P867, 'ExceptionHandler'
@@ -9827,7 +9827,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "metachar:sym<lwb>"  :subid("56_1260829311.30911") :method :outer("11_1260829311.30911")
+.sub "metachar:sym<lwb>"  :subid("56_1261019360.92342") :method :outer("11_1261019360.92342")
     .param pmc param_880
 .annotate "line", 195
     new $P879, 'ExceptionHandler'
@@ -9858,7 +9858,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "metachar:sym<rwb>"  :subid("57_1260829311.30911") :method :outer("11_1260829311.30911")
+.sub "metachar:sym<rwb>"  :subid("57_1261019360.92342") :method :outer("11_1261019360.92342")
     .param pmc param_892
 .annotate "line", 200
     new $P891, 'ExceptionHandler'
@@ -9889,7 +9889,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "metachar:sym<bs>"  :subid("58_1260829311.30911") :method :outer("11_1260829311.30911")
+.sub "metachar:sym<bs>"  :subid("58_1261019360.92342") :method :outer("11_1261019360.92342")
     .param pmc param_904
 .annotate "line", 205
     new $P903, 'ExceptionHandler'
@@ -9921,7 +9921,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "metachar:sym<mod>"  :subid("59_1260829311.30911") :method :outer("11_1260829311.30911")
+.sub "metachar:sym<mod>"  :subid("59_1261019360.92342") :method :outer("11_1261019360.92342")
     .param pmc param_914
 .annotate "line", 209
     new $P913, 'ExceptionHandler'
@@ -9953,7 +9953,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "metachar:sym<assert>"  :subid("60_1260829311.30911") :method :outer("11_1260829311.30911")
+.sub "metachar:sym<assert>"  :subid("60_1261019360.92342") :method :outer("11_1261019360.92342")
     .param pmc param_924
 .annotate "line", 213
     new $P923, 'ExceptionHandler'
@@ -9985,7 +9985,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "metachar:sym<~>"  :subid("61_1260829311.30911") :method :outer("11_1260829311.30911")
+.sub "metachar:sym<~>"  :subid("61_1261019360.92342") :method :outer("11_1261019360.92342")
     .param pmc param_934
 .annotate "line", 217
     new $P933, 'ExceptionHandler'
@@ -10047,7 +10047,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "metachar:sym<{*}>"  :subid("62_1260829311.30911") :method :outer("11_1260829311.30911")
+.sub "metachar:sym<{*}>"  :subid("62_1261019360.92342") :method :outer("11_1261019360.92342")
     .param pmc param_956
 .annotate "line", 230
     new $P955, 'ExceptionHandler'
@@ -10108,7 +10108,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "metachar:sym<var>"  :subid("63_1260829311.30911") :method :outer("11_1260829311.30911")
+.sub "metachar:sym<var>"  :subid("63_1261019360.92342") :method :outer("11_1261019360.92342")
     .param pmc param_977
 .annotate "line", 237
     new $P976, 'ExceptionHandler'
@@ -10268,7 +10268,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "metachar:sym<PIR>"  :subid("64_1260829311.30911") :method :outer("11_1260829311.30911")
+.sub "metachar:sym<PIR>"  :subid("64_1261019360.92342") :method :outer("11_1261019360.92342")
     .param pmc param_1033
 .annotate "line", 257
     new $P1032, 'ExceptionHandler'
@@ -10307,7 +10307,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "backslash:sym<w>"  :subid("65_1260829311.30911") :method :outer("11_1260829311.30911")
+.sub "backslash:sym<w>"  :subid("65_1261019360.92342") :method :outer("11_1261019360.92342")
     .param pmc param_1048
 .annotate "line", 265
     new $P1047, 'ExceptionHandler'
@@ -10373,7 +10373,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "backslash:sym<b>"  :subid("66_1260829311.30911") :method :outer("11_1260829311.30911")
+.sub "backslash:sym<b>"  :subid("66_1261019360.92342") :method :outer("11_1261019360.92342")
     .param pmc param_1072
 .annotate "line", 271
     new $P1071, 'ExceptionHandler'
@@ -10416,7 +10416,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "backslash:sym<e>"  :subid("67_1260829311.30911") :method :outer("11_1260829311.30911")
+.sub "backslash:sym<e>"  :subid("67_1261019360.92342") :method :outer("11_1261019360.92342")
     .param pmc param_1088
 .annotate "line", 277
     new $P1087, 'ExceptionHandler'
@@ -10459,7 +10459,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "backslash:sym<f>"  :subid("68_1260829311.30911") :method :outer("11_1260829311.30911")
+.sub "backslash:sym<f>"  :subid("68_1261019360.92342") :method :outer("11_1261019360.92342")
     .param pmc param_1104
 .annotate "line", 283
     new $P1103, 'ExceptionHandler'
@@ -10502,7 +10502,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "backslash:sym<h>"  :subid("69_1260829311.30911") :method :outer("11_1260829311.30911")
+.sub "backslash:sym<h>"  :subid("69_1261019360.92342") :method :outer("11_1261019360.92342")
     .param pmc param_1120
 .annotate "line", 289
     new $P1119, 'ExceptionHandler'
@@ -10545,7 +10545,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "backslash:sym<r>"  :subid("70_1260829311.30911") :method :outer("11_1260829311.30911")
+.sub "backslash:sym<r>"  :subid("70_1261019360.92342") :method :outer("11_1261019360.92342")
     .param pmc param_1136
 .annotate "line", 295
     new $P1135, 'ExceptionHandler'
@@ -10588,7 +10588,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "backslash:sym<t>"  :subid("71_1260829311.30911") :method :outer("11_1260829311.30911")
+.sub "backslash:sym<t>"  :subid("71_1261019360.92342") :method :outer("11_1261019360.92342")
     .param pmc param_1152
 .annotate "line", 301
     new $P1151, 'ExceptionHandler'
@@ -10631,7 +10631,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "backslash:sym<v>"  :subid("72_1260829311.30911") :method :outer("11_1260829311.30911")
+.sub "backslash:sym<v>"  :subid("72_1261019360.92342") :method :outer("11_1261019360.92342")
     .param pmc param_1168
 .annotate "line", 307
     new $P1167, 'ExceptionHandler'
@@ -10674,7 +10674,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "backslash:sym<o>"  :subid("73_1260829311.30911") :method :outer("11_1260829311.30911")
+.sub "backslash:sym<o>"  :subid("73_1261019360.92342") :method :outer("11_1261019360.92342")
     .param pmc param_1184
 .annotate "line", 314
     new $P1183, 'ExceptionHandler'
@@ -10757,7 +10757,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "backslash:sym<x>"  :subid("74_1260829311.30911") :method :outer("11_1260829311.30911")
+.sub "backslash:sym<x>"  :subid("74_1261019360.92342") :method :outer("11_1261019360.92342")
     .param pmc param_1215
 .annotate "line", 323
     new $P1214, 'ExceptionHandler'
@@ -10840,7 +10840,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "backslash:sym<misc>"  :subid("75_1260829311.30911") :method :outer("11_1260829311.30911")
+.sub "backslash:sym<misc>"  :subid("75_1261019360.92342") :method :outer("11_1261019360.92342")
     .param pmc param_1246
 .annotate "line", 332
     new $P1245, 'ExceptionHandler'
@@ -10873,7 +10873,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "assertion:sym<?>"  :subid("76_1260829311.30911") :method :outer("11_1260829311.30911")
+.sub "assertion:sym<?>"  :subid("76_1261019360.92342") :method :outer("11_1261019360.92342")
     .param pmc param_1260
 .annotate "line", 338
     new $P1259, 'ExceptionHandler'
@@ -10933,7 +10933,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "assertion:sym<!>"  :subid("77_1260829311.30911") :method :outer("11_1260829311.30911")
+.sub "assertion:sym<!>"  :subid("77_1261019360.92342") :method :outer("11_1261019360.92342")
     .param pmc param_1278
 .annotate "line", 348
     new $P1277, 'ExceptionHandler'
@@ -11001,7 +11001,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "assertion:sym<method>"  :subid("78_1260829311.30911") :method :outer("11_1260829311.30911")
+.sub "assertion:sym<method>"  :subid("78_1261019360.92342") :method :outer("11_1261019360.92342")
     .param pmc param_1302
 .annotate "line", 361
     new $P1301, 'ExceptionHandler'
@@ -11044,12 +11044,12 @@
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "assertion:sym<name>"  :subid("79_1260829311.30911") :method :outer("11_1260829311.30911")
+.sub "assertion:sym<name>"  :subid("79_1261019360.92342") :method :outer("11_1261019360.92342")
     .param pmc param_1316
 .annotate "line", 368
-    .const 'Sub' $P1374 = "81_1260829311.30911" 
+    .const 'Sub' $P1374 = "81_1261019360.92342" 
     capture_lex $P1374
-    .const 'Sub' $P1338 = "80_1260829311.30911" 
+    .const 'Sub' $P1338 = "80_1261019360.92342" 
     capture_lex $P1338
     new $P1315, 'ExceptionHandler'
     set_addr $P1315, control_1314
@@ -11145,7 +11145,7 @@
     unless $P1365, loop1379_done
     shift $P1372, $P1365
   loop1379_redo:
-    .const 'Sub' $P1374 = "81_1260829311.30911" 
+    .const 'Sub' $P1374 = "81_1261019360.92342" 
     capture_lex $P1374
     $P1374($P1372)
   loop1379_next:
@@ -11185,7 +11185,7 @@
     goto if_1333_end
   if_1333:
 .annotate "line", 375
-    .const 'Sub' $P1338 = "80_1260829311.30911" 
+    .const 'Sub' $P1338 = "80_1261019360.92342" 
     capture_lex $P1338
     $P1338()
   if_1333_end:
@@ -11226,7 +11226,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "_block1373"  :anon :subid("81_1260829311.30911") :outer("79_1260829311.30911")
+.sub "_block1373"  :anon :subid("81_1261019360.92342") :outer("79_1261019360.92342")
     .param pmc param_1375
 .annotate "line", 397
     .lex "$_", param_1375
@@ -11238,7 +11238,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "_block1337"  :anon :subid("80_1260829311.30911") :outer("79_1260829311.30911")
+.sub "_block1337"  :anon :subid("80_1261019360.92342") :outer("79_1261019360.92342")
 .annotate "line", 376
     new $P1339, "Undef"
     .lex "$regexsym", $P1339
@@ -11269,10 +11269,10 @@
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "assertion:sym<[>"  :subid("82_1260829311.30911") :method :outer("11_1260829311.30911")
+.sub "assertion:sym<[>"  :subid("82_1261019360.92342") :method :outer("11_1261019360.92342")
     .param pmc param_1389
 .annotate "line", 403
-    .const 'Sub' $P1424 = "83_1260829311.30911" 
+    .const 'Sub' $P1424 = "83_1261019360.92342" 
     capture_lex $P1424
     new $P1388, 'ExceptionHandler'
     set_addr $P1388, control_1387
@@ -11364,7 +11364,7 @@
     islt $I1422, $N1419, $N1421
     unless $I1422, loop1447_done
   loop1447_redo:
-    .const 'Sub' $P1424 = "83_1260829311.30911" 
+    .const 'Sub' $P1424 = "83_1261019360.92342" 
     capture_lex $P1424
     $P1424()
   loop1447_next:
@@ -11392,7 +11392,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "_block1423"  :anon :subid("83_1260829311.30911") :outer("82_1260829311.30911")
+.sub "_block1423"  :anon :subid("83_1261019360.92342") :outer("82_1261019360.92342")
 .annotate "line", 417
     new $P1425, "Undef"
     .lex "$ast", $P1425
@@ -11443,12 +11443,12 @@
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "cclass_elem"  :subid("84_1260829311.30911") :method :outer("11_1260829311.30911")
+.sub "cclass_elem"  :subid("84_1261019360.92342") :method :outer("11_1261019360.92342")
     .param pmc param_1457
 .annotate "line", 430
-    .const 'Sub' $P1482 = "86_1260829311.30911" 
+    .const 'Sub' $P1482 = "86_1261019360.92342" 
     capture_lex $P1482
-    .const 'Sub' $P1466 = "85_1260829311.30911" 
+    .const 'Sub' $P1466 = "85_1261019360.92342" 
     capture_lex $P1466
     new $P1456, 'ExceptionHandler'
     set_addr $P1456, control_1455
@@ -11497,7 +11497,7 @@
     unless $P1476, loop1507_done
     shift $P1480, $P1476
   loop1507_redo:
-    .const 'Sub' $P1482 = "86_1260829311.30911" 
+    .const 'Sub' $P1482 = "86_1261019360.92342" 
     capture_lex $P1482
     $P1482($P1480)
   loop1507_next:
@@ -11521,7 +11521,7 @@
     goto if_1462_end
   if_1462:
 .annotate "line", 433
-    .const 'Sub' $P1466 = "85_1260829311.30911" 
+    .const 'Sub' $P1466 = "85_1261019360.92342" 
     capture_lex $P1466
     $P1466()
   if_1462_end:
@@ -11553,10 +11553,10 @@
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "_block1481"  :anon :subid("86_1260829311.30911") :outer("84_1260829311.30911")
+.sub "_block1481"  :anon :subid("86_1261019360.92342") :outer("84_1261019360.92342")
     .param pmc param_1483
 .annotate "line", 437
-    .const 'Sub' $P1489 = "87_1260829311.30911" 
+    .const 'Sub' $P1489 = "87_1261019360.92342" 
     capture_lex $P1489
     .lex "$_", param_1483
 .annotate "line", 438
@@ -11585,7 +11585,7 @@
 .annotate "line", 438
     goto if_1485_end
   if_1485:
-    .const 'Sub' $P1489 = "87_1260829311.30911" 
+    .const 'Sub' $P1489 = "87_1261019360.92342" 
     capture_lex $P1489
     $P1502 = $P1489()
     set $P1484, $P1502
@@ -11596,7 +11596,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "_block1488"  :anon :subid("87_1260829311.30911") :outer("86_1260829311.30911")
+.sub "_block1488"  :anon :subid("87_1261019360.92342") :outer("86_1261019360.92342")
 .annotate "line", 439
     new $P1490, "Undef"
     .lex "$a", $P1490
@@ -11660,7 +11660,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "_block1465"  :anon :subid("85_1260829311.30911") :outer("84_1260829311.30911")
+.sub "_block1465"  :anon :subid("85_1261019360.92342") :outer("84_1261019360.92342")
 .annotate "line", 434
     new $P1467, "Undef"
     .lex "$name", $P1467
@@ -11688,7 +11688,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "mod_internal"  :subid("88_1260829311.30911") :method :outer("11_1260829311.30911")
+.sub "mod_internal"  :subid("88_1261019360.92342") :method :outer("11_1261019360.92342")
     .param pmc param_1526
 .annotate "line", 468
     new $P1525, 'ExceptionHandler'

Modified: trunk/ext/nqp-rx/src/stage0/Regex-s0.pir
==============================================================================
--- trunk/ext/nqp-rx/src/stage0/Regex-s0.pir	Wed Dec 16 21:25:32 2009	(r43115)
+++ trunk/ext/nqp-rx/src/stage0/Regex-s0.pir	Thu Dec 17 03:23:56 2009	(r43116)
@@ -1014,8 +1014,8 @@
     if $I0 goto rx_array
     .local int rxaddr
     rxaddr = get_addr rx
-    result = mcalled[rxaddr]
-    unless null result goto token_next
+    $P0 = mcalled[rxaddr]
+    unless null $P0 goto token_next
     result = self.rx()
     mcalled[rxaddr] = mcalled
     if result goto done
@@ -1027,8 +1027,8 @@
     unless rx_it goto cand_done
     rx = shift rx_it
     rxaddr = get_addr rx
-    result = mcalled[rxaddr]
-    unless null result goto token_next
+    $P0 = mcalled[rxaddr]
+    unless null $P0 goto token_next
     result = self.rx()
     mcalled[rxaddr] = mcalled
     if result goto done
@@ -1046,7 +1046,11 @@
 
   fail:
     self.'!cursor_debug'('FAIL  ', name)
-    .return (0)
+    unless null result goto fail_1
+    result = self.'!cursor_start'()
+    result.'!cursor_fail'()
+  fail_1:
+    .return (result)
 .end
 
 


More information about the parrot-commits mailing list