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

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


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

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

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

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

Modified: trunk/ext/nqp-rx/src/stage0/NQP-s0.pir
==============================================================================
--- trunk/ext/nqp-rx/src/stage0/NQP-s0.pir	Wed Nov 25 15:55:29 2009	(r42805)
+++ trunk/ext/nqp-rx/src/stage0/NQP-s0.pir	Wed Nov 25 20:09:43 2009	(r42806)
@@ -15,371 +15,375 @@
 ### .include 'gen/nqp-grammar.pir'
 
 .namespace []
-.sub "_block11"  :anon :subid("10_1259103982.97329")
+.sub "_block11"  :anon :subid("10_1259177761.22934")
 .annotate "line", 0
     get_hll_global $P14, ["NQP";"Grammar"], "_block13" 
     capture_lex $P14
 .annotate "line", 4
     get_hll_global $P14, ["NQP";"Grammar"], "_block13" 
     capture_lex $P14
-    $P1231 = $P14()
+    $P1253 = $P14()
 .annotate "line", 1
-    .return ($P1231)
+    .return ($P1253)
 .end
 
 
 .namespace []
-.sub "" :load :init :subid("post316") :outer("10_1259103982.97329")
+.sub "" :load :init :subid("post320") :outer("10_1259177761.22934")
 .annotate "line", 0
-    .const 'Sub' $P12 = "10_1259103982.97329" 
+    .const 'Sub' $P12 = "10_1259177761.22934" 
     .local pmc block
     set block, $P12
-    $P1232 = get_root_global ["parrot"], "P6metaclass"
-    $P1232."new_class"("NQP::Grammar", "HLL::Grammar" :named("parent"))
+    $P1254 = get_root_global ["parrot"], "P6metaclass"
+    $P1254."new_class"("NQP::Grammar", "HLL::Grammar" :named("parent"))
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "_block13"  :subid("11_1259103982.97329") :outer("10_1259103982.97329")
+.sub "_block13"  :subid("11_1259177761.22934") :outer("10_1259177761.22934")
 .annotate "line", 4
-    get_hll_global $P1175, ["NQP";"Regex"], "_block1174" 
+    get_hll_global $P1195, ["NQP";"Regex"], "_block1194" 
+    capture_lex $P1195
+    .const 'Sub' $P1188 = "305_1259177761.22934" 
+    capture_lex $P1188
+    .const 'Sub' $P1182 = "303_1259177761.22934" 
+    capture_lex $P1182
+    .const 'Sub' $P1175 = "301_1259177761.22934" 
     capture_lex $P1175
-    .const 'Sub' $P1168 = "301_1259103982.97329" 
+    .const 'Sub' $P1168 = "299_1259177761.22934" 
     capture_lex $P1168
-    .const 'Sub' $P1162 = "299_1259103982.97329" 
-    capture_lex $P1162
-    .const 'Sub' $P1155 = "297_1259103982.97329" 
-    capture_lex $P1155
-    .const 'Sub' $P1148 = "295_1259103982.97329" 
+    .const 'Sub' $P1161 = "297_1259177761.22934" 
+    capture_lex $P1161
+    .const 'Sub' $P1154 = "295_1259177761.22934" 
+    capture_lex $P1154
+    .const 'Sub' $P1148 = "293_1259177761.22934" 
     capture_lex $P1148
-    .const 'Sub' $P1141 = "293_1259103982.97329" 
+    .const 'Sub' $P1141 = "291_1259177761.22934" 
     capture_lex $P1141
-    .const 'Sub' $P1134 = "291_1259103982.97329" 
+    .const 'Sub' $P1134 = "289_1259177761.22934" 
     capture_lex $P1134
-    .const 'Sub' $P1128 = "289_1259103982.97329" 
-    capture_lex $P1128
-    .const 'Sub' $P1121 = "287_1259103982.97329" 
-    capture_lex $P1121
-    .const 'Sub' $P1114 = "285_1259103982.97329" 
-    capture_lex $P1114
-    .const 'Sub' $P1107 = "283_1259103982.97329" 
-    capture_lex $P1107
-    .const 'Sub' $P1100 = "281_1259103982.97329" 
-    capture_lex $P1100
-    .const 'Sub' $P1093 = "279_1259103982.97329" 
-    capture_lex $P1093
-    .const 'Sub' $P1086 = "277_1259103982.97329" 
-    capture_lex $P1086
-    .const 'Sub' $P1079 = "275_1259103982.97329" 
-    capture_lex $P1079
-    .const 'Sub' $P1072 = "273_1259103982.97329" 
-    capture_lex $P1072
-    .const 'Sub' $P1065 = "271_1259103982.97329" 
-    capture_lex $P1065
-    .const 'Sub' $P1058 = "269_1259103982.97329" 
-    capture_lex $P1058
-    .const 'Sub' $P1051 = "267_1259103982.97329" 
-    capture_lex $P1051
-    .const 'Sub' $P1044 = "265_1259103982.97329" 
-    capture_lex $P1044
-    .const 'Sub' $P1037 = "263_1259103982.97329" 
-    capture_lex $P1037
-    .const 'Sub' $P1030 = "261_1259103982.97329" 
-    capture_lex $P1030
-    .const 'Sub' $P1023 = "259_1259103982.97329" 
-    capture_lex $P1023
-    .const 'Sub' $P1016 = "257_1259103982.97329" 
-    capture_lex $P1016
-    .const 'Sub' $P1009 = "255_1259103982.97329" 
-    capture_lex $P1009
-    .const 'Sub' $P1002 = "253_1259103982.97329" 
-    capture_lex $P1002
-    .const 'Sub' $P995 = "251_1259103982.97329" 
-    capture_lex $P995
-    .const 'Sub' $P988 = "249_1259103982.97329" 
-    capture_lex $P988
-    .const 'Sub' $P981 = "247_1259103982.97329" 
-    capture_lex $P981
-    .const 'Sub' $P974 = "245_1259103982.97329" 
-    capture_lex $P974
-    .const 'Sub' $P967 = "243_1259103982.97329" 
+    .const 'Sub' $P1127 = "287_1259177761.22934" 
+    capture_lex $P1127
+    .const 'Sub' $P1120 = "285_1259177761.22934" 
+    capture_lex $P1120
+    .const 'Sub' $P1113 = "283_1259177761.22934" 
+    capture_lex $P1113
+    .const 'Sub' $P1106 = "281_1259177761.22934" 
+    capture_lex $P1106
+    .const 'Sub' $P1099 = "279_1259177761.22934" 
+    capture_lex $P1099
+    .const 'Sub' $P1092 = "277_1259177761.22934" 
+    capture_lex $P1092
+    .const 'Sub' $P1085 = "275_1259177761.22934" 
+    capture_lex $P1085
+    .const 'Sub' $P1078 = "273_1259177761.22934" 
+    capture_lex $P1078
+    .const 'Sub' $P1071 = "271_1259177761.22934" 
+    capture_lex $P1071
+    .const 'Sub' $P1064 = "269_1259177761.22934" 
+    capture_lex $P1064
+    .const 'Sub' $P1057 = "267_1259177761.22934" 
+    capture_lex $P1057
+    .const 'Sub' $P1050 = "265_1259177761.22934" 
+    capture_lex $P1050
+    .const 'Sub' $P1043 = "263_1259177761.22934" 
+    capture_lex $P1043
+    .const 'Sub' $P1036 = "261_1259177761.22934" 
+    capture_lex $P1036
+    .const 'Sub' $P1029 = "259_1259177761.22934" 
+    capture_lex $P1029
+    .const 'Sub' $P1022 = "257_1259177761.22934" 
+    capture_lex $P1022
+    .const 'Sub' $P1015 = "255_1259177761.22934" 
+    capture_lex $P1015
+    .const 'Sub' $P1008 = "253_1259177761.22934" 
+    capture_lex $P1008
+    .const 'Sub' $P1001 = "251_1259177761.22934" 
+    capture_lex $P1001
+    .const 'Sub' $P994 = "249_1259177761.22934" 
+    capture_lex $P994
+    .const 'Sub' $P987 = "247_1259177761.22934" 
+    capture_lex $P987
+    .const 'Sub' $P980 = "245_1259177761.22934" 
+    capture_lex $P980
+    .const 'Sub' $P973 = "243_1259177761.22934" 
+    capture_lex $P973
+    .const 'Sub' $P967 = "241_1259177761.22934" 
     capture_lex $P967
-    .const 'Sub' $P960 = "241_1259103982.97329" 
+    .const 'Sub' $P960 = "239_1259177761.22934" 
     capture_lex $P960
-    .const 'Sub' $P953 = "239_1259103982.97329" 
+    .const 'Sub' $P953 = "237_1259177761.22934" 
     capture_lex $P953
-    .const 'Sub' $P947 = "237_1259103982.97329" 
-    capture_lex $P947
-    .const 'Sub' $P940 = "235_1259103982.97329" 
-    capture_lex $P940
-    .const 'Sub' $P933 = "233_1259103982.97329" 
-    capture_lex $P933
-    .const 'Sub' $P926 = "231_1259103982.97329" 
-    capture_lex $P926
-    .const 'Sub' $P919 = "229_1259103982.97329" 
-    capture_lex $P919
-    .const 'Sub' $P912 = "227_1259103982.97329" 
+    .const 'Sub' $P946 = "235_1259177761.22934" 
+    capture_lex $P946
+    .const 'Sub' $P939 = "233_1259177761.22934" 
+    capture_lex $P939
+    .const 'Sub' $P932 = "231_1259177761.22934" 
+    capture_lex $P932
+    .const 'Sub' $P925 = "229_1259177761.22934" 
+    capture_lex $P925
+    .const 'Sub' $P918 = "227_1259177761.22934" 
+    capture_lex $P918
+    .const 'Sub' $P912 = "225_1259177761.22934" 
     capture_lex $P912
-    .const 'Sub' $P905 = "225_1259103982.97329" 
-    capture_lex $P905
-    .const 'Sub' $P898 = "223_1259103982.97329" 
-    capture_lex $P898
-    .const 'Sub' $P892 = "221_1259103982.97329" 
-    capture_lex $P892
-    .const 'Sub' $P886 = "219_1259103982.97329" 
-    capture_lex $P886
-    .const 'Sub' $P881 = "217_1259103982.97329" 
-    capture_lex $P881
-    .const 'Sub' $P875 = "215_1259103982.97329" 
-    capture_lex $P875
-    .const 'Sub' $P869 = "213_1259103982.97329" 
-    capture_lex $P869
-    .const 'Sub' $P864 = "211_1259103982.97329" 
+    .const 'Sub' $P906 = "223_1259177761.22934" 
+    capture_lex $P906
+    .const 'Sub' $P901 = "221_1259177761.22934" 
+    capture_lex $P901
+    .const 'Sub' $P895 = "219_1259177761.22934" 
+    capture_lex $P895
+    .const 'Sub' $P889 = "217_1259177761.22934" 
+    capture_lex $P889
+    .const 'Sub' $P884 = "215_1259177761.22934" 
+    capture_lex $P884
+    .const 'Sub' $P879 = "213_1259177761.22934" 
+    capture_lex $P879
+    .const 'Sub' $P872 = "211_1259177761.22934" 
+    capture_lex $P872
+    .const 'Sub' $P864 = "209_1259177761.22934" 
     capture_lex $P864
-    .const 'Sub' $P859 = "209_1259103982.97329" 
+    .const 'Sub' $P859 = "207_1259177761.22934" 
     capture_lex $P859
-    .const 'Sub' $P852 = "207_1259103982.97329" 
-    capture_lex $P852
-    .const 'Sub' $P844 = "205_1259103982.97329" 
-    capture_lex $P844
-    .const 'Sub' $P839 = "203_1259103982.97329" 
-    capture_lex $P839
-    .const 'Sub' $P834 = "201_1259103982.97329" 
-    capture_lex $P834
-    .const 'Sub' $P826 = "199_1259103982.97329" 
-    capture_lex $P826
-    .const 'Sub' $P818 = "197_1259103982.97329" 
-    capture_lex $P818
-    .const 'Sub' $P813 = "195_1259103982.97329" 
-    capture_lex $P813
-    .const 'Sub' $P808 = "193_1259103982.97329" 
-    capture_lex $P808
-    .const 'Sub' $P802 = "191_1259103982.97329" 
-    capture_lex $P802
-    .const 'Sub' $P796 = "189_1259103982.97329" 
-    capture_lex $P796
-    .const 'Sub' $P790 = "187_1259103982.97329" 
-    capture_lex $P790
-    .const 'Sub' $P784 = "185_1259103982.97329" 
-    capture_lex $P784
-    .const 'Sub' $P779 = "183_1259103982.97329" 
-    capture_lex $P779
-    .const 'Sub' $P774 = "181_1259103982.97329" 
-    capture_lex $P774
-    .const 'Sub' $P761 = "177_1259103982.97329" 
-    capture_lex $P761
-    .const 'Sub' $P753 = "175_1259103982.97329" 
-    capture_lex $P753
-    .const 'Sub' $P747 = "173_1259103982.97329" 
-    capture_lex $P747
-    .const 'Sub' $P740 = "171_1259103982.97329" 
-    capture_lex $P740
-    .const 'Sub' $P734 = "169_1259103982.97329" 
-    capture_lex $P734
-    .const 'Sub' $P726 = "167_1259103982.97329" 
+    .const 'Sub' $P854 = "205_1259177761.22934" 
+    capture_lex $P854
+    .const 'Sub' $P846 = "203_1259177761.22934" 
+    capture_lex $P846
+    .const 'Sub' $P838 = "201_1259177761.22934" 
+    capture_lex $P838
+    .const 'Sub' $P833 = "199_1259177761.22934" 
+    capture_lex $P833
+    .const 'Sub' $P828 = "197_1259177761.22934" 
+    capture_lex $P828
+    .const 'Sub' $P822 = "195_1259177761.22934" 
+    capture_lex $P822
+    .const 'Sub' $P816 = "193_1259177761.22934" 
+    capture_lex $P816
+    .const 'Sub' $P810 = "191_1259177761.22934" 
+    capture_lex $P810
+    .const 'Sub' $P804 = "189_1259177761.22934" 
+    capture_lex $P804
+    .const 'Sub' $P799 = "187_1259177761.22934" 
+    capture_lex $P799
+    .const 'Sub' $P794 = "185_1259177761.22934" 
+    capture_lex $P794
+    .const 'Sub' $P781 = "181_1259177761.22934" 
+    capture_lex $P781
+    .const 'Sub' $P773 = "179_1259177761.22934" 
+    capture_lex $P773
+    .const 'Sub' $P767 = "177_1259177761.22934" 
+    capture_lex $P767
+    .const 'Sub' $P760 = "175_1259177761.22934" 
+    capture_lex $P760
+    .const 'Sub' $P754 = "173_1259177761.22934" 
+    capture_lex $P754
+    .const 'Sub' $P746 = "171_1259177761.22934" 
+    capture_lex $P746
+    .const 'Sub' $P738 = "169_1259177761.22934" 
+    capture_lex $P738
+    .const 'Sub' $P732 = "167_1259177761.22934" 
+    capture_lex $P732
+    .const 'Sub' $P726 = "165_1259177761.22934" 
     capture_lex $P726
-    .const 'Sub' $P718 = "165_1259103982.97329" 
-    capture_lex $P718
-    .const 'Sub' $P712 = "163_1259103982.97329" 
-    capture_lex $P712
-    .const 'Sub' $P706 = "161_1259103982.97329" 
-    capture_lex $P706
-    .const 'Sub' $P691 = "157_1259103982.97329" 
-    capture_lex $P691
-    .const 'Sub' $P659 = "155_1259103982.97329" 
-    capture_lex $P659
-    .const 'Sub' $P651 = "153_1259103982.97329" 
-    capture_lex $P651
-    .const 'Sub' $P645 = "151_1259103982.97329" 
-    capture_lex $P645
-    .const 'Sub' $P635 = "149_1259103982.97329" 
-    capture_lex $P635
-    .const 'Sub' $P620 = "147_1259103982.97329" 
-    capture_lex $P620
-    .const 'Sub' $P611 = "145_1259103982.97329" 
-    capture_lex $P611
-    .const 'Sub' $P592 = "143_1259103982.97329" 
-    capture_lex $P592
-    .const 'Sub' $P573 = "141_1259103982.97329" 
-    capture_lex $P573
-    .const 'Sub' $P566 = "139_1259103982.97329" 
-    capture_lex $P566
-    .const 'Sub' $P559 = "137_1259103982.97329" 
-    capture_lex $P559
-    .const 'Sub' $P549 = "133_1259103982.97329" 
-    capture_lex $P549
-    .const 'Sub' $P538 = "131_1259103982.97329" 
-    capture_lex $P538
-    .const 'Sub' $P531 = "129_1259103982.97329" 
-    capture_lex $P531
-    .const 'Sub' $P524 = "127_1259103982.97329" 
-    capture_lex $P524
-    .const 'Sub' $P517 = "125_1259103982.97329" 
-    capture_lex $P517
-    .const 'Sub' $P490 = "121_1259103982.97329" 
-    capture_lex $P490
-    .const 'Sub' $P481 = "119_1259103982.97329" 
-    capture_lex $P481
-    .const 'Sub' $P474 = "117_1259103982.97329" 
-    capture_lex $P474
-    .const 'Sub' $P465 = "113_1259103982.97329" 
-    capture_lex $P465
-    .const 'Sub' $P460 = "111_1259103982.97329" 
-    capture_lex $P460
-    .const 'Sub' $P448 = "109_1259103982.97329" 
-    capture_lex $P448
-    .const 'Sub' $P437 = "107_1259103982.97329" 
-    capture_lex $P437
-    .const 'Sub' $P432 = "105_1259103982.97329" 
-    capture_lex $P432
-    .const 'Sub' $P426 = "103_1259103982.97329" 
-    capture_lex $P426
-    .const 'Sub' $P420 = "101_1259103982.97329" 
-    capture_lex $P420
-    .const 'Sub' $P414 = "99_1259103982.97329" 
-    capture_lex $P414
-    .const 'Sub' $P408 = "97_1259103982.97329" 
-    capture_lex $P408
-    .const 'Sub' $P402 = "95_1259103982.97329" 
+    .const 'Sub' $P711 = "161_1259177761.22934" 
+    capture_lex $P711
+    .const 'Sub' $P679 = "159_1259177761.22934" 
+    capture_lex $P679
+    .const 'Sub' $P671 = "157_1259177761.22934" 
+    capture_lex $P671
+    .const 'Sub' $P665 = "155_1259177761.22934" 
+    capture_lex $P665
+    .const 'Sub' $P655 = "153_1259177761.22934" 
+    capture_lex $P655
+    .const 'Sub' $P640 = "151_1259177761.22934" 
+    capture_lex $P640
+    .const 'Sub' $P631 = "149_1259177761.22934" 
+    capture_lex $P631
+    .const 'Sub' $P612 = "147_1259177761.22934" 
+    capture_lex $P612
+    .const 'Sub' $P593 = "145_1259177761.22934" 
+    capture_lex $P593
+    .const 'Sub' $P586 = "143_1259177761.22934" 
+    capture_lex $P586
+    .const 'Sub' $P579 = "141_1259177761.22934" 
+    capture_lex $P579
+    .const 'Sub' $P569 = "137_1259177761.22934" 
+    capture_lex $P569
+    .const 'Sub' $P558 = "135_1259177761.22934" 
+    capture_lex $P558
+    .const 'Sub' $P551 = "133_1259177761.22934" 
+    capture_lex $P551
+    .const 'Sub' $P544 = "131_1259177761.22934" 
+    capture_lex $P544
+    .const 'Sub' $P537 = "129_1259177761.22934" 
+    capture_lex $P537
+    .const 'Sub' $P510 = "125_1259177761.22934" 
+    capture_lex $P510
+    .const 'Sub' $P501 = "123_1259177761.22934" 
+    capture_lex $P501
+    .const 'Sub' $P494 = "121_1259177761.22934" 
+    capture_lex $P494
+    .const 'Sub' $P485 = "117_1259177761.22934" 
+    capture_lex $P485
+    .const 'Sub' $P480 = "115_1259177761.22934" 
+    capture_lex $P480
+    .const 'Sub' $P468 = "113_1259177761.22934" 
+    capture_lex $P468
+    .const 'Sub' $P457 = "111_1259177761.22934" 
+    capture_lex $P457
+    .const 'Sub' $P452 = "109_1259177761.22934" 
+    capture_lex $P452
+    .const 'Sub' $P446 = "107_1259177761.22934" 
+    capture_lex $P446
+    .const 'Sub' $P440 = "105_1259177761.22934" 
+    capture_lex $P440
+    .const 'Sub' $P434 = "103_1259177761.22934" 
+    capture_lex $P434
+    .const 'Sub' $P428 = "101_1259177761.22934" 
+    capture_lex $P428
+    .const 'Sub' $P422 = "99_1259177761.22934" 
+    capture_lex $P422
+    .const 'Sub' $P416 = "97_1259177761.22934" 
+    capture_lex $P416
+    .const 'Sub' $P410 = "95_1259177761.22934" 
+    capture_lex $P410
+    .const 'Sub' $P402 = "93_1259177761.22934" 
     capture_lex $P402
-    .const 'Sub' $P396 = "93_1259103982.97329" 
-    capture_lex $P396
-    .const 'Sub' $P390 = "91_1259103982.97329" 
-    capture_lex $P390
-    .const 'Sub' $P382 = "89_1259103982.97329" 
+    .const 'Sub' $P394 = "91_1259177761.22934" 
+    capture_lex $P394
+    .const 'Sub' $P382 = "87_1259177761.22934" 
     capture_lex $P382
-    .const 'Sub' $P374 = "87_1259103982.97329" 
+    .const 'Sub' $P374 = "85_1259177761.22934" 
     capture_lex $P374
-    .const 'Sub' $P362 = "83_1259103982.97329" 
-    capture_lex $P362
-    .const 'Sub' $P354 = "81_1259103982.97329" 
-    capture_lex $P354
-    .const 'Sub' $P344 = "77_1259103982.97329" 
-    capture_lex $P344
-    .const 'Sub' $P337 = "75_1259103982.97329" 
-    capture_lex $P337
-    .const 'Sub' $P330 = "73_1259103982.97329" 
+    .const 'Sub' $P364 = "81_1259177761.22934" 
+    capture_lex $P364
+    .const 'Sub' $P357 = "79_1259177761.22934" 
+    capture_lex $P357
+    .const 'Sub' $P350 = "77_1259177761.22934" 
+    capture_lex $P350
+    .const 'Sub' $P338 = "73_1259177761.22934" 
+    capture_lex $P338
+    .const 'Sub' $P330 = "71_1259177761.22934" 
     capture_lex $P330
-    .const 'Sub' $P318 = "69_1259103982.97329" 
-    capture_lex $P318
-    .const 'Sub' $P298 = "67_1259103982.97329" 
-    capture_lex $P298
-    .const 'Sub' $P289 = "65_1259103982.97329" 
-    capture_lex $P289
-    .const 'Sub' $P271 = "62_1259103982.97329" 
-    capture_lex $P271
-    .const 'Sub' $P251 = "60_1259103982.97329" 
-    capture_lex $P251
-    .const 'Sub' $P242 = "56_1259103982.97329" 
-    capture_lex $P242
-    .const 'Sub' $P237 = "54_1259103982.97329" 
-    capture_lex $P237
-    .const 'Sub' $P228 = "50_1259103982.97329" 
-    capture_lex $P228
-    .const 'Sub' $P223 = "48_1259103982.97329" 
-    capture_lex $P223
-    .const 'Sub' $P215 = "46_1259103982.97329" 
-    capture_lex $P215
-    .const 'Sub' $P208 = "44_1259103982.97329" 
-    capture_lex $P208
-    .const 'Sub' $P202 = "42_1259103982.97329" 
-    capture_lex $P202
-    .const 'Sub' $P194 = "40_1259103982.97329" 
-    capture_lex $P194
-    .const 'Sub' $P188 = "38_1259103982.97329" 
-    capture_lex $P188
-    .const 'Sub' $P182 = "36_1259103982.97329" 
-    capture_lex $P182
-    .const 'Sub' $P166 = "33_1259103982.97329" 
-    capture_lex $P166
-    .const 'Sub' $P153 = "31_1259103982.97329" 
-    capture_lex $P153
-    .const 'Sub' $P146 = "29_1259103982.97329" 
-    capture_lex $P146
-    .const 'Sub' $P103 = "26_1259103982.97329" 
-    capture_lex $P103
-    .const 'Sub' $P85 = "23_1259103982.97329" 
+    .const 'Sub' $P322 = "69_1259177761.22934" 
+    capture_lex $P322
+    .const 'Sub' $P302 = "67_1259177761.22934" 
+    capture_lex $P302
+    .const 'Sub' $P293 = "65_1259177761.22934" 
+    capture_lex $P293
+    .const 'Sub' $P274 = "62_1259177761.22934" 
+    capture_lex $P274
+    .const 'Sub' $P254 = "60_1259177761.22934" 
+    capture_lex $P254
+    .const 'Sub' $P245 = "56_1259177761.22934" 
+    capture_lex $P245
+    .const 'Sub' $P240 = "54_1259177761.22934" 
+    capture_lex $P240
+    .const 'Sub' $P231 = "50_1259177761.22934" 
+    capture_lex $P231
+    .const 'Sub' $P226 = "48_1259177761.22934" 
+    capture_lex $P226
+    .const 'Sub' $P218 = "46_1259177761.22934" 
+    capture_lex $P218
+    .const 'Sub' $P211 = "44_1259177761.22934" 
+    capture_lex $P211
+    .const 'Sub' $P205 = "42_1259177761.22934" 
+    capture_lex $P205
+    .const 'Sub' $P197 = "40_1259177761.22934" 
+    capture_lex $P197
+    .const 'Sub' $P191 = "38_1259177761.22934" 
+    capture_lex $P191
+    .const 'Sub' $P185 = "36_1259177761.22934" 
+    capture_lex $P185
+    .const 'Sub' $P168 = "33_1259177761.22934" 
+    capture_lex $P168
+    .const 'Sub' $P155 = "31_1259177761.22934" 
+    capture_lex $P155
+    .const 'Sub' $P148 = "29_1259177761.22934" 
+    capture_lex $P148
+    .const 'Sub' $P104 = "26_1259177761.22934" 
+    capture_lex $P104
+    .const 'Sub' $P85 = "23_1259177761.22934" 
     capture_lex $P85
-    .const 'Sub' $P75 = "21_1259103982.97329" 
+    .const 'Sub' $P75 = "21_1259177761.22934" 
     capture_lex $P75
-    .const 'Sub' $P61 = "19_1259103982.97329" 
+    .const 'Sub' $P61 = "19_1259177761.22934" 
     capture_lex $P61
-    .const 'Sub' $P46 = "17_1259103982.97329" 
+    .const 'Sub' $P46 = "17_1259177761.22934" 
     capture_lex $P46
-    .const 'Sub' $P39 = "15_1259103982.97329" 
+    .const 'Sub' $P39 = "15_1259177761.22934" 
     capture_lex $P39
-    .const 'Sub' $P33 = "13_1259103982.97329" 
+    .const 'Sub' $P33 = "13_1259177761.22934" 
     capture_lex $P33
-    .const 'Sub' $P15 = "12_1259103982.97329" 
+    .const 'Sub' $P15 = "12_1259177761.22934" 
     capture_lex $P15
-.annotate "line", 498
-    get_hll_global $P1175, ["NQP";"Regex"], "_block1174" 
-    capture_lex $P1175
-    $P1214 = $P1175()
+.annotate "line", 508
+    get_hll_global $P1195, ["NQP";"Regex"], "_block1194" 
+    capture_lex $P1195
+    $P1236 = $P1195()
 .annotate "line", 4
-    .return ($P1214)
+    .return ($P1236)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "" :load :init :subid("post317") :outer("11_1259103982.97329")
+.sub "" :load :init :subid("post321") :outer("11_1259177761.22934")
 .annotate "line", 4
     get_hll_global $P14, ["NQP";"Grammar"], "_block13" 
     .local pmc block
     set block, $P14
-.annotate "line", 391
-    get_hll_global $P1215, ["NQP"], "Grammar"
-    $P1215."O"(":prec<y=>, :assoc<unary>", "%methodop")
-.annotate "line", 392
-    get_hll_global $P1216, ["NQP"], "Grammar"
-    $P1216."O"(":prec<x=>, :assoc<unary>", "%autoincrement")
-.annotate "line", 393
-    get_hll_global $P1217, ["NQP"], "Grammar"
-    $P1217."O"(":prec<w=>, :assoc<left>", "%exponentiation")
-.annotate "line", 394
-    get_hll_global $P1218, ["NQP"], "Grammar"
-    $P1218."O"(":prec<v=>, :assoc<unary>", "%symbolic_unary")
-.annotate "line", 395
-    get_hll_global $P1219, ["NQP"], "Grammar"
-    $P1219."O"(":prec<u=>, :assoc<left>", "%multiplicative")
-.annotate "line", 396
-    get_hll_global $P1220, ["NQP"], "Grammar"
-    $P1220."O"(":prec<t=>, :assoc<left>", "%additive")
-.annotate "line", 397
-    get_hll_global $P1221, ["NQP"], "Grammar"
-    $P1221."O"(":prec<r=>, :assoc<left>", "%concatenation")
-.annotate "line", 398
-    get_hll_global $P1222, ["NQP"], "Grammar"
-    $P1222."O"(":prec<m=>, :assoc<left>", "%relational")
-.annotate "line", 399
-    get_hll_global $P1223, ["NQP"], "Grammar"
-    $P1223."O"(":prec<l=>, :assoc<left>", "%tight_and")
-.annotate "line", 400
-    get_hll_global $P1224, ["NQP"], "Grammar"
-    $P1224."O"(":prec<k=>, :assoc<left>", "%tight_or")
 .annotate "line", 401
-    get_hll_global $P1225, ["NQP"], "Grammar"
-    $P1225."O"(":prec<j=>, :assoc<right>", "%conditional")
+    get_hll_global $P1237, ["NQP"], "Grammar"
+    $P1237."O"(":prec<y=>, :assoc<unary>", "%methodop")
 .annotate "line", 402
-    get_hll_global $P1226, ["NQP"], "Grammar"
-    $P1226."O"(":prec<i=>, :assoc<right>", "%assignment")
+    get_hll_global $P1238, ["NQP"], "Grammar"
+    $P1238."O"(":prec<x=>, :assoc<unary>", "%autoincrement")
 .annotate "line", 403
-    get_hll_global $P1227, ["NQP"], "Grammar"
-    $P1227."O"(":prec<g=>, :assoc<list>, :nextterm<nulltermish>", "%comma")
+    get_hll_global $P1239, ["NQP"], "Grammar"
+    $P1239."O"(":prec<w=>, :assoc<left>", "%exponentiation")
 .annotate "line", 404
-    get_hll_global $P1228, ["NQP"], "Grammar"
-    $P1228."O"(":prec<f=>, :assoc<list>", "%list_infix")
+    get_hll_global $P1240, ["NQP"], "Grammar"
+    $P1240."O"(":prec<v=>, :assoc<unary>", "%symbolic_unary")
 .annotate "line", 405
-    get_hll_global $P1229, ["NQP"], "Grammar"
-    $P1229."O"(":prec<e=>, :assoc<unary>", "%list_prefix")
-.annotate "line", 390
-    $P1230 = get_root_global ["parrot"], "P6metaclass"
-    $P1230."new_class"("NQP::Regex", "Regex::P6Regex::Grammar" :named("parent"))
+    get_hll_global $P1241, ["NQP"], "Grammar"
+    $P1241."O"(":prec<u=>, :assoc<left>", "%multiplicative")
+.annotate "line", 406
+    get_hll_global $P1242, ["NQP"], "Grammar"
+    $P1242."O"(":prec<t=>, :assoc<left>", "%additive")
+.annotate "line", 407
+    get_hll_global $P1243, ["NQP"], "Grammar"
+    $P1243."O"(":prec<r=>, :assoc<left>", "%concatenation")
+.annotate "line", 408
+    get_hll_global $P1244, ["NQP"], "Grammar"
+    $P1244."O"(":prec<m=>, :assoc<left>", "%relational")
+.annotate "line", 409
+    get_hll_global $P1245, ["NQP"], "Grammar"
+    $P1245."O"(":prec<l=>, :assoc<left>", "%tight_and")
+.annotate "line", 410
+    get_hll_global $P1246, ["NQP"], "Grammar"
+    $P1246."O"(":prec<k=>, :assoc<left>", "%tight_or")
+.annotate "line", 411
+    get_hll_global $P1247, ["NQP"], "Grammar"
+    $P1247."O"(":prec<j=>, :assoc<right>", "%conditional")
+.annotate "line", 412
+    get_hll_global $P1248, ["NQP"], "Grammar"
+    $P1248."O"(":prec<i=>, :assoc<right>", "%assignment")
+.annotate "line", 413
+    get_hll_global $P1249, ["NQP"], "Grammar"
+    $P1249."O"(":prec<g=>, :assoc<list>, :nextterm<nulltermish>", "%comma")
+.annotate "line", 414
+    get_hll_global $P1250, ["NQP"], "Grammar"
+    $P1250."O"(":prec<f=>, :assoc<list>", "%list_infix")
+.annotate "line", 415
+    get_hll_global $P1251, ["NQP"], "Grammar"
+    $P1251."O"(":prec<e=>, :assoc<unary>", "%list_prefix")
+.annotate "line", 400
+    $P1252 = get_root_global ["parrot"], "P6metaclass"
+    $P1252."new_class"("NQP::Regex", "Regex::P6Regex::Grammar" :named("parent"))
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "TOP"  :subid("12_1259103982.97329") :method :outer("11_1259103982.97329")
+.sub "TOP"  :subid("12_1259177761.22934") :method :outer("11_1259177761.22934")
 .annotate "line", 4
     new $P17, 'ExceptionHandler'
     set_addr $P17, control_16
@@ -394,55 +398,55 @@
     .lex "$*SCOPE", $P19
 .annotate "line", 4
     find_lex $P20, "%*LANG"
-    unless_null $P20, vivify_318
+    unless_null $P20, vivify_322
     get_hll_global $P20, "%LANG"
-    unless_null $P20, vivify_319
+    unless_null $P20, vivify_323
     die "Contextual %*LANG not found"
-  vivify_319:
-  vivify_318:
+  vivify_323:
+  vivify_322:
 .annotate "line", 6
     get_hll_global $P21, ["NQP"], "Regex"
     find_lex $P22, "%*LANG"
-    unless_null $P22, vivify_320
+    unless_null $P22, vivify_324
     get_hll_global $P22, "%LANG"
-    unless_null $P22, vivify_321
+    unless_null $P22, vivify_325
     die "Contextual %*LANG not found"
-  vivify_321:
+  vivify_325:
     store_lex "%*LANG", $P22
-  vivify_320:
+  vivify_324:
     set $P22["Regex"], $P21
 .annotate "line", 7
     get_hll_global $P23, ["NQP"], "RegexActions"
     find_lex $P24, "%*LANG"
-    unless_null $P24, vivify_322
+    unless_null $P24, vivify_326
     get_hll_global $P24, "%LANG"
-    unless_null $P24, vivify_323
+    unless_null $P24, vivify_327
     die "Contextual %*LANG not found"
-  vivify_323:
+  vivify_327:
     store_lex "%*LANG", $P24
-  vivify_322:
+  vivify_326:
     set $P24["Regex-actions"], $P23
 .annotate "line", 8
     get_hll_global $P25, ["NQP"], "Grammar"
     find_lex $P26, "%*LANG"
-    unless_null $P26, vivify_324
+    unless_null $P26, vivify_328
     get_hll_global $P26, "%LANG"
-    unless_null $P26, vivify_325
+    unless_null $P26, vivify_329
     die "Contextual %*LANG not found"
-  vivify_325:
+  vivify_329:
     store_lex "%*LANG", $P26
-  vivify_324:
+  vivify_328:
     set $P26["MAIN"], $P25
 .annotate "line", 9
     get_hll_global $P27, ["NQP"], "Actions"
     find_lex $P28, "%*LANG"
-    unless_null $P28, vivify_326
+    unless_null $P28, vivify_330
     get_hll_global $P28, "%LANG"
-    unless_null $P28, vivify_327
+    unless_null $P28, vivify_331
     die "Contextual %*LANG not found"
-  vivify_327:
+  vivify_331:
     store_lex "%*LANG", $P28
-  vivify_326:
+  vivify_330:
     set $P28["MAIN-actions"], $P27
 .annotate "line", 10
     new $P29, "String"
@@ -462,7 +466,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "identifier"  :subid("13_1259103982.97329") :method :outer("11_1259103982.97329")
+.sub "identifier"  :subid("13_1259177761.22934") :method :outer("11_1259177761.22934")
 .annotate "line", 4
     .local string rx34_tgt
     .local int rx34_pos
@@ -520,7 +524,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__identifier"  :subid("14_1259103982.97329") :method
+.sub "!PREFIX__identifier"  :subid("14_1259177761.22934") :method
 .annotate "line", 4
     $P36 = self."!PREFIX__!subrule"("ident", "")
     new $P37, "ResizablePMCArray"
@@ -530,7 +534,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "name"  :subid("15_1259103982.97329") :method :outer("11_1259103982.97329")
+.sub "name"  :subid("15_1259177761.22934") :method :outer("11_1259177761.22934")
 .annotate "line", 4
     .local string rx40_tgt
     .local int rx40_pos
@@ -604,7 +608,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__name"  :subid("16_1259103982.97329") :method
+.sub "!PREFIX__name"  :subid("16_1259177761.22934") :method
 .annotate "line", 4
     new $P42, "ResizablePMCArray"
     push $P42, ""
@@ -613,7 +617,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "deflongname"  :subid("17_1259103982.97329") :method :outer("11_1259103982.97329")
+.sub "deflongname"  :subid("17_1259177761.22934") :method :outer("11_1259177761.22934")
 .annotate "line", 4
     .local string rx47_tgt
     .local int rx47_pos
@@ -772,7 +776,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__deflongname"  :subid("18_1259103982.97329") :method
+.sub "!PREFIX__deflongname"  :subid("18_1259177761.22934") :method
 .annotate "line", 4
     $P49 = self."!PREFIX__!subrule"("identifier", "")
     new $P50, "ResizablePMCArray"
@@ -782,7 +786,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "ENDSTMT"  :subid("19_1259103982.97329") :method :outer("11_1259103982.97329")
+.sub "ENDSTMT"  :subid("19_1259177761.22934") :method :outer("11_1259177761.22934")
 .annotate "line", 4
     .local string rx62_tgt
     .local int rx62_pos
@@ -914,7 +918,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__ENDSTMT"  :subid("20_1259103982.97329") :method
+.sub "!PREFIX__ENDSTMT"  :subid("20_1259177761.22934") :method
 .annotate "line", 4
     new $P64, "ResizablePMCArray"
     push $P64, ""
@@ -923,7 +927,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "ws"  :subid("21_1259103982.97329") :method :outer("11_1259103982.97329")
+.sub "ws"  :subid("21_1259177761.22934") :method :outer("11_1259177761.22934")
 .annotate "line", 4
     .local string rx76_tgt
     .local int rx76_pos
@@ -1049,7 +1053,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__ws"  :subid("22_1259103982.97329") :method
+.sub "!PREFIX__ws"  :subid("22_1259177761.22934") :method
 .annotate "line", 4
     new $P78, "ResizablePMCArray"
     push $P78, ""
@@ -1059,9 +1063,9 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "unv"  :subid("23_1259103982.97329") :method :outer("11_1259103982.97329")
+.sub "unv"  :subid("23_1259177761.22934") :method :outer("11_1259177761.22934")
 .annotate "line", 4
-    .const 'Sub' $P93 = "25_1259103982.97329" 
+    .const 'Sub' $P93 = "25_1259177761.22934" 
     capture_lex $P93
     .local string rx86_tgt
     .local int rx86_pos
@@ -1107,7 +1111,7 @@
   rxanchor91_done:
   # rx subrule "before" subtype=zerowidth negate=
     rx86_cur."!cursor_pos"(rx86_pos)
-    .const 'Sub' $P93 = "25_1259103982.97329" 
+    .const 'Sub' $P93 = "25_1259177761.22934" 
     capture_lex $P93
     $P10 = rx86_cur."before"($P93)
     unless $P10, rx86_fail
@@ -1121,10 +1125,10 @@
     set_addr $I10, alt90_2
     rx86_cur."!mark_push"(0, rx86_pos, $I10)
 .annotate "line", 46
-  # rx rxquantr99 ** 0..*
-    set_addr $I100, rxquantr99_done
-    rx86_cur."!mark_push"(0, rx86_pos, $I100)
-  rxquantr99_loop:
+  # rx rxquantr100 ** 0..*
+    set_addr $I101, rxquantr100_done
+    rx86_cur."!mark_push"(0, rx86_pos, $I101)
+  rxquantr100_loop:
   # rx enumcharlist negate=0 
     ge rx86_pos, rx86_eos, rx86_fail
     sub $I10, rx86_pos, rx86_off
@@ -1132,10 +1136,10 @@
     index $I11, unicode:"\t \x{a0}\u1680\u180e\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200a\u202f\u205f\u3000", $S10
     lt $I11, 0, rx86_fail
     inc rx86_pos
-    (rx86_rep) = rx86_cur."!mark_commit"($I100)
-    rx86_cur."!mark_push"(rx86_rep, rx86_pos, $I100)
-    goto rxquantr99_loop
-  rxquantr99_done:
+    (rx86_rep) = rx86_cur."!mark_commit"($I101)
+    rx86_cur."!mark_push"(rx86_rep, rx86_pos, $I101)
+    goto rxquantr100_loop
+  rxquantr100_done:
   # rx literal  "#"
     add $I11, rx86_pos, 1
     gt $I11, rx86_eos, rx86_fail
@@ -1150,10 +1154,10 @@
     goto alt90_end
   alt90_2:
 .annotate "line", 47
-  # rx rxquantr101 ** 1..*
-    set_addr $I102, rxquantr101_done
-    rx86_cur."!mark_push"(0, -1, $I102)
-  rxquantr101_loop:
+  # rx rxquantr102 ** 1..*
+    set_addr $I103, rxquantr102_done
+    rx86_cur."!mark_push"(0, -1, $I103)
+  rxquantr102_loop:
   # rx enumcharlist negate=0 
     ge rx86_pos, rx86_eos, rx86_fail
     sub $I10, rx86_pos, rx86_off
@@ -1161,10 +1165,10 @@
     index $I11, unicode:"\t \x{a0}\u1680\u180e\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200a\u202f\u205f\u3000", $S10
     lt $I11, 0, rx86_fail
     inc rx86_pos
-    (rx86_rep) = rx86_cur."!mark_commit"($I102)
-    rx86_cur."!mark_push"(rx86_rep, rx86_pos, $I102)
-    goto rxquantr101_loop
-  rxquantr101_done:
+    (rx86_rep) = rx86_cur."!mark_commit"($I103)
+    rx86_cur."!mark_push"(rx86_rep, rx86_pos, $I103)
+    goto rxquantr102_loop
+  rxquantr102_done:
   alt90_end:
 .annotate "line", 42
   # rx pass
@@ -1186,7 +1190,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__unv"  :subid("24_1259103982.97329") :method
+.sub "!PREFIX__unv"  :subid("24_1259177761.22934") :method
 .annotate "line", 4
     new $P88, "ResizablePMCArray"
     push $P88, ""
@@ -1197,2875 +1201,2863 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "_block92"  :anon :subid("25_1259103982.97329") :method :outer("23_1259103982.97329")
+.sub "_block92"  :anon :subid("25_1259177761.22934") :method :outer("23_1259177761.22934")
 .annotate "line", 45
-    .local string rx94_tgt
-    .local int rx94_pos
-    .local int rx94_off
-    .local int rx94_eos
-    .local int rx94_rep
-    .local pmc rx94_cur
-    (rx94_cur, rx94_pos, rx94_tgt) = self."!cursor_start"()
-    rx94_cur."!cursor_debug"("START ", "")
-    .lex unicode:"$\x{a2}", rx94_cur
-    .local pmc match
-    .lex "$/", match
-    length rx94_eos, rx94_tgt
-    set rx94_off, 0
-    lt rx94_pos, 2, rx94_start
-    sub rx94_off, rx94_pos, 1
-    substr rx94_tgt, rx94_tgt, rx94_off
-  rx94_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan95_done
-    goto rxscan95_scan
-  rxscan95_loop:
-    ($P10) = rx94_cur."from"()
-    inc $P10
-    set rx94_pos, $P10
-    ge rx94_pos, rx94_eos, rxscan95_done
-  rxscan95_scan:
-    set_addr $I10, rxscan95_loop
-    rx94_cur."!mark_push"(0, rx94_pos, $I10)
-  rxscan95_done:
-  # rx rxquantr96 ** 0..*
-    set_addr $I97, rxquantr96_done
-    rx94_cur."!mark_push"(0, rx94_pos, $I97)
-  rxquantr96_loop:
+    .lex unicode:"$\x{a2}", $P94
+    .local string rx95_tgt
+    .local int rx95_pos
+    .local int rx95_off
+    .local int rx95_eos
+    .local int rx95_rep
+    .local pmc rx95_cur
+    (rx95_cur, rx95_pos, rx95_tgt) = self."!cursor_start"()
+    rx95_cur."!cursor_debug"("START ", "")
+    .lex unicode:"$\x{a2}", rx95_cur
+    .local pmc match
+    .lex "$/", match
+    length rx95_eos, rx95_tgt
+    set rx95_off, 0
+    lt rx95_pos, 2, rx95_start
+    sub rx95_off, rx95_pos, 1
+    substr rx95_tgt, rx95_tgt, rx95_off
+  rx95_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan96_done
+    goto rxscan96_scan
+  rxscan96_loop:
+    ($P10) = rx95_cur."from"()
+    inc $P10
+    set rx95_pos, $P10
+    ge rx95_pos, rx95_eos, rxscan96_done
+  rxscan96_scan:
+    set_addr $I10, rxscan96_loop
+    rx95_cur."!mark_push"(0, rx95_pos, $I10)
+  rxscan96_done:
+  # rx rxquantr97 ** 0..*
+    set_addr $I98, rxquantr97_done
+    rx95_cur."!mark_push"(0, rx95_pos, $I98)
+  rxquantr97_loop:
   # rx enumcharlist negate=0 
-    ge rx94_pos, rx94_eos, rx94_fail
-    sub $I10, rx94_pos, rx94_off
-    substr $S10, rx94_tgt, $I10, 1
+    ge rx95_pos, rx95_eos, rx95_fail
+    sub $I10, rx95_pos, rx95_off
+    substr $S10, rx95_tgt, $I10, 1
     index $I11, unicode:"\t \x{a0}\u1680\u180e\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200a\u202f\u205f\u3000", $S10
-    lt $I11, 0, rx94_fail
-    inc rx94_pos
-    (rx94_rep) = rx94_cur."!mark_commit"($I97)
-    rx94_cur."!mark_push"(rx94_rep, rx94_pos, $I97)
-    goto rxquantr96_loop
-  rxquantr96_done:
+    lt $I11, 0, rx95_fail
+    inc rx95_pos
+    (rx95_rep) = rx95_cur."!mark_commit"($I98)
+    rx95_cur."!mark_push"(rx95_rep, rx95_pos, $I98)
+    goto rxquantr97_loop
+  rxquantr97_done:
   # rx literal  "="
-    add $I11, rx94_pos, 1
-    gt $I11, rx94_eos, rx94_fail
-    sub $I11, rx94_pos, rx94_off
-    substr $S10, rx94_tgt, $I11, 1
-    ne $S10, "=", rx94_fail
-    add rx94_pos, 1
-  alt98_0:
-    set_addr $I10, alt98_1
-    rx94_cur."!mark_push"(0, rx94_pos, $I10)
+    add $I11, rx95_pos, 1
+    gt $I11, rx95_eos, rx95_fail
+    sub $I11, rx95_pos, rx95_off
+    substr $S10, rx95_tgt, $I11, 1
+    ne $S10, "=", rx95_fail
+    add rx95_pos, 1
+  alt99_0:
+    set_addr $I10, alt99_1
+    rx95_cur."!mark_push"(0, rx95_pos, $I10)
   # rx charclass w
-    ge rx94_pos, rx94_eos, rx94_fail
-    sub $I10, rx94_pos, rx94_off
-    is_cclass $I11, 8192, rx94_tgt, $I10
-    unless $I11, rx94_fail
-    inc rx94_pos
-    goto alt98_end
-  alt98_1:
+    ge rx95_pos, rx95_eos, rx95_fail
+    sub $I10, rx95_pos, rx95_off
+    is_cclass $I11, 8192, rx95_tgt, $I10
+    unless $I11, rx95_fail
+    inc rx95_pos
+    goto alt99_end
+  alt99_1:
   # rx literal  "\\"
-    add $I11, rx94_pos, 1
-    gt $I11, rx94_eos, rx94_fail
-    sub $I11, rx94_pos, rx94_off
-    substr $S10, rx94_tgt, $I11, 1
-    ne $S10, "\\", rx94_fail
-    add rx94_pos, 1
-  alt98_end:
-  # rx pass
-    rx94_cur."!cursor_pass"(rx94_pos, "")
-    rx94_cur."!cursor_debug"("PASS  ", "", " at pos=", rx94_pos)
-    .return (rx94_cur)
-  rx94_fail:
-    (rx94_rep, rx94_pos, $I10, $P10) = rx94_cur."!mark_fail"(0)
-    lt rx94_pos, -1, rx94_done
-    eq rx94_pos, -1, rx94_fail
-    jump $I10
-  rx94_done:
-    rx94_cur."!cursor_fail"()
-    rx94_cur."!cursor_debug"("FAIL  ", "")
-    .return (rx94_cur)
+    add $I11, rx95_pos, 1
+    gt $I11, rx95_eos, rx95_fail
+    sub $I11, rx95_pos, rx95_off
+    substr $S10, rx95_tgt, $I11, 1
+    ne $S10, "\\", rx95_fail
+    add rx95_pos, 1
+  alt99_end:
+  # rx pass
+    rx95_cur."!cursor_pass"(rx95_pos, "")
+    rx95_cur."!cursor_debug"("PASS  ", "", " at pos=", rx95_pos)
+    .return (rx95_cur)
+  rx95_fail:
+    (rx95_rep, rx95_pos, $I10, $P10) = rx95_cur."!mark_fail"(0)
+    lt rx95_pos, -1, rx95_done
+    eq rx95_pos, -1, rx95_fail
+    jump $I10
+  rx95_done:
+    rx95_cur."!cursor_fail"()
+    rx95_cur."!cursor_debug"("FAIL  ", "")
+    .return (rx95_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "pod_comment"  :subid("26_1259103982.97329") :method :outer("11_1259103982.97329")
-.annotate "line", 4
-    .const 'Sub' $P138 = "28_1259103982.97329" 
-    capture_lex $P138
-    .local string rx104_tgt
-    .local int rx104_pos
-    .local int rx104_off
-    .local int rx104_eos
-    .local int rx104_rep
-    .local pmc rx104_cur
-    (rx104_cur, rx104_pos, rx104_tgt) = self."!cursor_start"()
-    rx104_cur."!cursor_debug"("START ", "pod_comment")
-    .lex unicode:"$\x{a2}", rx104_cur
-    .local pmc match
-    .lex "$/", match
-    length rx104_eos, rx104_tgt
-    set rx104_off, 0
-    lt rx104_pos, 2, rx104_start
-    sub rx104_off, rx104_pos, 1
-    substr rx104_tgt, rx104_tgt, rx104_off
-  rx104_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan107_done
-    goto rxscan107_scan
-  rxscan107_loop:
-    ($P10) = rx104_cur."from"()
-    inc $P10
-    set rx104_pos, $P10
-    ge rx104_pos, rx104_eos, rxscan107_done
-  rxscan107_scan:
-    set_addr $I10, rxscan107_loop
-    rx104_cur."!mark_push"(0, rx104_pos, $I10)
-  rxscan107_done:
+.sub "pod_comment"  :subid("26_1259177761.22934") :method :outer("11_1259177761.22934")
+.annotate "line", 4
+    .const 'Sub' $P139 = "28_1259177761.22934" 
+    capture_lex $P139
+    .local string rx105_tgt
+    .local int rx105_pos
+    .local int rx105_off
+    .local int rx105_eos
+    .local int rx105_rep
+    .local pmc rx105_cur
+    (rx105_cur, rx105_pos, rx105_tgt) = self."!cursor_start"()
+    rx105_cur."!cursor_debug"("START ", "pod_comment")
+    .lex unicode:"$\x{a2}", rx105_cur
+    .local pmc match
+    .lex "$/", match
+    length rx105_eos, rx105_tgt
+    set rx105_off, 0
+    lt rx105_pos, 2, rx105_start
+    sub rx105_off, rx105_pos, 1
+    substr rx105_tgt, rx105_tgt, rx105_off
+  rx105_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan108_done
+    goto rxscan108_scan
+  rxscan108_loop:
+    ($P10) = rx105_cur."from"()
+    inc $P10
+    set rx105_pos, $P10
+    ge rx105_pos, rx105_eos, rxscan108_done
+  rxscan108_scan:
+    set_addr $I10, rxscan108_loop
+    rx105_cur."!mark_push"(0, rx105_pos, $I10)
+  rxscan108_done:
 .annotate "line", 52
   # rxanchor bol
-    eq rx104_pos, 0, rxanchor108_done
-    ge rx104_pos, rx104_eos, rx104_fail
-    sub $I10, rx104_pos, rx104_off
+    eq rx105_pos, 0, rxanchor109_done
+    ge rx105_pos, rx105_eos, rx105_fail
+    sub $I10, rx105_pos, rx105_off
     dec $I10
-    is_cclass $I11, 4096, rx104_tgt, $I10
-    unless $I11, rx104_fail
-  rxanchor108_done:
-  # rx rxquantr109 ** 0..*
-    set_addr $I110, rxquantr109_done
-    rx104_cur."!mark_push"(0, rx104_pos, $I110)
-  rxquantr109_loop:
+    is_cclass $I11, 4096, rx105_tgt, $I10
+    unless $I11, rx105_fail
+  rxanchor109_done:
+  # rx rxquantr110 ** 0..*
+    set_addr $I111, rxquantr110_done
+    rx105_cur."!mark_push"(0, rx105_pos, $I111)
+  rxquantr110_loop:
   # rx enumcharlist negate=0 
-    ge rx104_pos, rx104_eos, rx104_fail
-    sub $I10, rx104_pos, rx104_off
-    substr $S10, rx104_tgt, $I10, 1
+    ge rx105_pos, rx105_eos, rx105_fail
+    sub $I10, rx105_pos, rx105_off
+    substr $S10, rx105_tgt, $I10, 1
     index $I11, unicode:"\t \x{a0}\u1680\u180e\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200a\u202f\u205f\u3000", $S10
-    lt $I11, 0, rx104_fail
-    inc rx104_pos
-    (rx104_rep) = rx104_cur."!mark_commit"($I110)
-    rx104_cur."!mark_push"(rx104_rep, rx104_pos, $I110)
-    goto rxquantr109_loop
-  rxquantr109_done:
+    lt $I11, 0, rx105_fail
+    inc rx105_pos
+    (rx105_rep) = rx105_cur."!mark_commit"($I111)
+    rx105_cur."!mark_push"(rx105_rep, rx105_pos, $I111)
+    goto rxquantr110_loop
+  rxquantr110_done:
   # rx literal  "="
-    add $I11, rx104_pos, 1
-    gt $I11, rx104_eos, rx104_fail
-    sub $I11, rx104_pos, rx104_off
-    substr $S10, rx104_tgt, $I11, 1
-    ne $S10, "=", rx104_fail
-    add rx104_pos, 1
-  alt111_0:
+    add $I11, rx105_pos, 1
+    gt $I11, rx105_eos, rx105_fail
+    sub $I11, rx105_pos, rx105_off
+    substr $S10, rx105_tgt, $I11, 1
+    ne $S10, "=", rx105_fail
+    add rx105_pos, 1
+  alt112_0:
 .annotate "line", 53
-    set_addr $I10, alt111_1
-    rx104_cur."!mark_push"(0, rx104_pos, $I10)
+    set_addr $I10, alt112_1
+    rx105_cur."!mark_push"(0, rx105_pos, $I10)
 .annotate "line", 54
   # rx literal  "begin"
-    add $I11, rx104_pos, 5
-    gt $I11, rx104_eos, rx104_fail
-    sub $I11, rx104_pos, rx104_off
-    substr $S10, rx104_tgt, $I11, 5
-    ne $S10, "begin", rx104_fail
-    add rx104_pos, 5
-  # rx rxquantr112 ** 1..*
-    set_addr $I113, rxquantr112_done
-    rx104_cur."!mark_push"(0, -1, $I113)
-  rxquantr112_loop:
+    add $I11, rx105_pos, 5
+    gt $I11, rx105_eos, rx105_fail
+    sub $I11, rx105_pos, rx105_off
+    substr $S10, rx105_tgt, $I11, 5
+    ne $S10, "begin", rx105_fail
+    add rx105_pos, 5
+  # rx rxquantr113 ** 1..*
+    set_addr $I114, rxquantr113_done
+    rx105_cur."!mark_push"(0, -1, $I114)
+  rxquantr113_loop:
   # rx enumcharlist negate=0 
-    ge rx104_pos, rx104_eos, rx104_fail
-    sub $I10, rx104_pos, rx104_off
-    substr $S10, rx104_tgt, $I10, 1
+    ge rx105_pos, rx105_eos, rx105_fail
+    sub $I10, rx105_pos, rx105_off
+    substr $S10, rx105_tgt, $I10, 1
     index $I11, unicode:"\t \x{a0}\u1680\u180e\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200a\u202f\u205f\u3000", $S10
-    lt $I11, 0, rx104_fail
-    inc rx104_pos
-    (rx104_rep) = rx104_cur."!mark_commit"($I113)
-    rx104_cur."!mark_push"(rx104_rep, rx104_pos, $I113)
-    goto rxquantr112_loop
-  rxquantr112_done:
+    lt $I11, 0, rx105_fail
+    inc rx105_pos
+    (rx105_rep) = rx105_cur."!mark_commit"($I114)
+    rx105_cur."!mark_push"(rx105_rep, rx105_pos, $I114)
+    goto rxquantr113_loop
+  rxquantr113_done:
   # rx literal  "END"
-    add $I11, rx104_pos, 3
-    gt $I11, rx104_eos, rx104_fail
-    sub $I11, rx104_pos, rx104_off
-    substr $S10, rx104_tgt, $I11, 3
-    ne $S10, "END", rx104_fail
-    add rx104_pos, 3
+    add $I11, rx105_pos, 3
+    gt $I11, rx105_eos, rx105_fail
+    sub $I11, rx105_pos, rx105_off
+    substr $S10, rx105_tgt, $I11, 3
+    ne $S10, "END", rx105_fail
+    add rx105_pos, 3
   # rxanchor rwb
-    le rx104_pos, 0, rx104_fail
-    sub $I10, rx104_pos, rx104_off
-    is_cclass $I11, 8192, rx104_tgt, $I10
-    if $I11, rx104_fail
+    le rx105_pos, 0, rx105_fail
+    sub $I10, rx105_pos, rx105_off
+    is_cclass $I11, 8192, rx105_tgt, $I10
+    if $I11, rx105_fail
     dec $I10
-    is_cclass $I11, 8192, rx104_tgt, $I10
-    unless $I11, rx104_fail
-  alt114_0:
+    is_cclass $I11, 8192, rx105_tgt, $I10
+    unless $I11, rx105_fail
+  alt115_0:
 .annotate "line", 55
-    set_addr $I10, alt114_1
-    rx104_cur."!mark_push"(0, rx104_pos, $I10)
-  # rx rxquantf115 ** 0..*
-    set_addr $I10, rxquantf115_loop
-    rx104_cur."!mark_push"(0, rx104_pos, $I10)
-    goto rxquantf115_done
-  rxquantf115_loop:
+    set_addr $I10, alt115_1
+    rx105_cur."!mark_push"(0, rx105_pos, $I10)
+  # rx rxquantf116 ** 0..*
+    set_addr $I10, rxquantf116_loop
+    rx105_cur."!mark_push"(0, rx105_pos, $I10)
+    goto rxquantf116_done
+  rxquantf116_loop:
   # rx charclass .
-    ge rx104_pos, rx104_eos, rx104_fail
-    inc rx104_pos
-    set_addr $I10, rxquantf115_loop
-    rx104_cur."!mark_push"($I116, rx104_pos, $I10)
-  rxquantf115_done:
+    ge rx105_pos, rx105_eos, rx105_fail
+    inc rx105_pos
+    set_addr $I10, rxquantf116_loop
+    rx105_cur."!mark_push"($I117, rx105_pos, $I10)
+  rxquantf116_done:
   # rx charclass nl
-    ge rx104_pos, rx104_eos, rx104_fail
-    sub $I10, rx104_pos, rx104_off
-    is_cclass $I11, 4096, rx104_tgt, $I10
-    unless $I11, rx104_fail
-    substr $S10, rx104_tgt, $I10, 2
+    ge rx105_pos, rx105_eos, rx105_fail
+    sub $I10, rx105_pos, rx105_off
+    is_cclass $I11, 4096, rx105_tgt, $I10
+    unless $I11, rx105_fail
+    substr $S10, rx105_tgt, $I10, 2
     iseq $I11, $S10, "\r\n"
-    add rx104_pos, $I11
-    inc rx104_pos
+    add rx105_pos, $I11
+    inc rx105_pos
   # rx literal  "=end"
-    add $I11, rx104_pos, 4
-    gt $I11, rx104_eos, rx104_fail
-    sub $I11, rx104_pos, rx104_off
-    substr $S10, rx104_tgt, $I11, 4
-    ne $S10, "=end", rx104_fail
-    add rx104_pos, 4
-  # rx rxquantr117 ** 1..*
-    set_addr $I118, rxquantr117_done
-    rx104_cur."!mark_push"(0, -1, $I118)
-  rxquantr117_loop:
+    add $I11, rx105_pos, 4
+    gt $I11, rx105_eos, rx105_fail
+    sub $I11, rx105_pos, rx105_off
+    substr $S10, rx105_tgt, $I11, 4
+    ne $S10, "=end", rx105_fail
+    add rx105_pos, 4
+  # rx rxquantr118 ** 1..*
+    set_addr $I119, rxquantr118_done
+    rx105_cur."!mark_push"(0, -1, $I119)
+  rxquantr118_loop:
   # rx enumcharlist negate=0 
-    ge rx104_pos, rx104_eos, rx104_fail
-    sub $I10, rx104_pos, rx104_off
-    substr $S10, rx104_tgt, $I10, 1
+    ge rx105_pos, rx105_eos, rx105_fail
+    sub $I10, rx105_pos, rx105_off
+    substr $S10, rx105_tgt, $I10, 1
     index $I11, unicode:"\t \x{a0}\u1680\u180e\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200a\u202f\u205f\u3000", $S10
-    lt $I11, 0, rx104_fail
-    inc rx104_pos
-    (rx104_rep) = rx104_cur."!mark_commit"($I118)
-    rx104_cur."!mark_push"(rx104_rep, rx104_pos, $I118)
-    goto rxquantr117_loop
-  rxquantr117_done:
+    lt $I11, 0, rx105_fail
+    inc rx105_pos
+    (rx105_rep) = rx105_cur."!mark_commit"($I119)
+    rx105_cur."!mark_push"(rx105_rep, rx105_pos, $I119)
+    goto rxquantr118_loop
+  rxquantr118_done:
   # rx literal  "END"
-    add $I11, rx104_pos, 3
-    gt $I11, rx104_eos, rx104_fail
-    sub $I11, rx104_pos, rx104_off
-    substr $S10, rx104_tgt, $I11, 3
-    ne $S10, "END", rx104_fail
-    add rx104_pos, 3
+    add $I11, rx105_pos, 3
+    gt $I11, rx105_eos, rx105_fail
+    sub $I11, rx105_pos, rx105_off
+    substr $S10, rx105_tgt, $I11, 3
+    ne $S10, "END", rx105_fail
+    add rx105_pos, 3
   # rxanchor rwb
-    le rx104_pos, 0, rx104_fail
-    sub $I10, rx104_pos, rx104_off
-    is_cclass $I11, 8192, rx104_tgt, $I10
-    if $I11, rx104_fail
+    le rx105_pos, 0, rx105_fail
+    sub $I10, rx105_pos, rx105_off
+    is_cclass $I11, 8192, rx105_tgt, $I10
+    if $I11, rx105_fail
     dec $I10
-    is_cclass $I11, 8192, rx104_tgt, $I10
-    unless $I11, rx104_fail
+    is_cclass $I11, 8192, rx105_tgt, $I10
+    unless $I11, rx105_fail
   # rx charclass_q N r 0..-1
-    sub $I10, rx104_pos, rx104_off
-    find_cclass $I11, 4096, rx104_tgt, $I10, rx104_eos
-    add rx104_pos, rx104_off, $I11
-    goto alt114_end
-  alt114_1:
+    sub $I10, rx105_pos, rx105_off
+    find_cclass $I11, 4096, rx105_tgt, $I10, rx105_eos
+    add rx105_pos, rx105_off, $I11
+    goto alt115_end
+  alt115_1:
   # rx charclass_q . r 0..-1
-    sub $I10, rx104_pos, rx104_off
-    find_not_cclass $I11, 65535, rx104_tgt, $I10, rx104_eos
-    add rx104_pos, rx104_off, $I11
-  alt114_end:
+    sub $I10, rx105_pos, rx105_off
+    find_not_cclass $I11, 65535, rx105_tgt, $I10, rx105_eos
+    add rx105_pos, rx105_off, $I11
+  alt115_end:
 .annotate "line", 54
-    goto alt111_end
-  alt111_1:
-    set_addr $I10, alt111_2
-    rx104_cur."!mark_push"(0, rx104_pos, $I10)
+    goto alt112_end
+  alt112_1:
+    set_addr $I10, alt112_2
+    rx105_cur."!mark_push"(0, rx105_pos, $I10)
 .annotate "line", 56
   # rx literal  "begin"
-    add $I11, rx104_pos, 5
-    gt $I11, rx104_eos, rx104_fail
-    sub $I11, rx104_pos, rx104_off
-    substr $S10, rx104_tgt, $I11, 5
-    ne $S10, "begin", rx104_fail
-    add rx104_pos, 5
-  # rx rxquantr119 ** 1..*
-    set_addr $I120, rxquantr119_done
-    rx104_cur."!mark_push"(0, -1, $I120)
-  rxquantr119_loop:
+    add $I11, rx105_pos, 5
+    gt $I11, rx105_eos, rx105_fail
+    sub $I11, rx105_pos, rx105_off
+    substr $S10, rx105_tgt, $I11, 5
+    ne $S10, "begin", rx105_fail
+    add rx105_pos, 5
+  # rx rxquantr120 ** 1..*
+    set_addr $I121, rxquantr120_done
+    rx105_cur."!mark_push"(0, -1, $I121)
+  rxquantr120_loop:
   # rx enumcharlist negate=0 
-    ge rx104_pos, rx104_eos, rx104_fail
-    sub $I10, rx104_pos, rx104_off
-    substr $S10, rx104_tgt, $I10, 1
+    ge rx105_pos, rx105_eos, rx105_fail
+    sub $I10, rx105_pos, rx105_off
+    substr $S10, rx105_tgt, $I10, 1
     index $I11, unicode:"\t \x{a0}\u1680\u180e\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200a\u202f\u205f\u3000", $S10
-    lt $I11, 0, rx104_fail
-    inc rx104_pos
-    (rx104_rep) = rx104_cur."!mark_commit"($I120)
-    rx104_cur."!mark_push"(rx104_rep, rx104_pos, $I120)
-    goto rxquantr119_loop
-  rxquantr119_done:
+    lt $I11, 0, rx105_fail
+    inc rx105_pos
+    (rx105_rep) = rx105_cur."!mark_commit"($I121)
+    rx105_cur."!mark_push"(rx105_rep, rx105_pos, $I121)
+    goto rxquantr120_loop
+  rxquantr120_done:
   # rx subrule "identifier" subtype=capture negate=
-    rx104_cur."!cursor_pos"(rx104_pos)
-    $P10 = rx104_cur."identifier"()
-    unless $P10, rx104_fail
-    rx104_cur."!mark_push"(0, -1, 0, $P10)
+    rx105_cur."!cursor_pos"(rx105_pos)
+    $P10 = rx105_cur."identifier"()
+    unless $P10, rx105_fail
+    rx105_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("identifier")
-    rx104_pos = $P10."pos"()
-  alt121_0:
+    rx105_pos = $P10."pos"()
+  alt122_0:
 .annotate "line", 57
-    set_addr $I10, alt121_1
-    rx104_cur."!mark_push"(0, rx104_pos, $I10)
+    set_addr $I10, alt122_1
+    rx105_cur."!mark_push"(0, rx105_pos, $I10)
 .annotate "line", 58
-  # rx rxquantf122 ** 0..*
-    set_addr $I10, rxquantf122_loop
-    rx104_cur."!mark_push"(0, rx104_pos, $I10)
-    goto rxquantf122_done
-  rxquantf122_loop:
+  # rx rxquantf123 ** 0..*
+    set_addr $I10, rxquantf123_loop
+    rx105_cur."!mark_push"(0, rx105_pos, $I10)
+    goto rxquantf123_done
+  rxquantf123_loop:
   # rx charclass .
-    ge rx104_pos, rx104_eos, rx104_fail
-    inc rx104_pos
-    set_addr $I10, rxquantf122_loop
-    rx104_cur."!mark_push"($I123, rx104_pos, $I10)
-  rxquantf122_done:
+    ge rx105_pos, rx105_eos, rx105_fail
+    inc rx105_pos
+    set_addr $I10, rxquantf123_loop
+    rx105_cur."!mark_push"($I124, rx105_pos, $I10)
+  rxquantf123_done:
   # rx charclass nl
-    ge rx104_pos, rx104_eos, rx104_fail
-    sub $I10, rx104_pos, rx104_off
-    is_cclass $I11, 4096, rx104_tgt, $I10
-    unless $I11, rx104_fail
-    substr $S10, rx104_tgt, $I10, 2
+    ge rx105_pos, rx105_eos, rx105_fail
+    sub $I10, rx105_pos, rx105_off
+    is_cclass $I11, 4096, rx105_tgt, $I10
+    unless $I11, rx105_fail
+    substr $S10, rx105_tgt, $I10, 2
     iseq $I11, $S10, "\r\n"
-    add rx104_pos, $I11
-    inc rx104_pos
+    add rx105_pos, $I11
+    inc rx105_pos
   # rx literal  "=end"
-    add $I11, rx104_pos, 4
-    gt $I11, rx104_eos, rx104_fail
-    sub $I11, rx104_pos, rx104_off
-    substr $S10, rx104_tgt, $I11, 4
-    ne $S10, "=end", rx104_fail
-    add rx104_pos, 4
-  # rx rxquantr124 ** 1..*
-    set_addr $I125, rxquantr124_done
-    rx104_cur."!mark_push"(0, -1, $I125)
-  rxquantr124_loop:
+    add $I11, rx105_pos, 4
+    gt $I11, rx105_eos, rx105_fail
+    sub $I11, rx105_pos, rx105_off
+    substr $S10, rx105_tgt, $I11, 4
+    ne $S10, "=end", rx105_fail
+    add rx105_pos, 4
+  # rx rxquantr125 ** 1..*
+    set_addr $I126, rxquantr125_done
+    rx105_cur."!mark_push"(0, -1, $I126)
+  rxquantr125_loop:
   # rx enumcharlist negate=0 
-    ge rx104_pos, rx104_eos, rx104_fail
-    sub $I10, rx104_pos, rx104_off
-    substr $S10, rx104_tgt, $I10, 1
+    ge rx105_pos, rx105_eos, rx105_fail
+    sub $I10, rx105_pos, rx105_off
+    substr $S10, rx105_tgt, $I10, 1
     index $I11, unicode:"\t \x{a0}\u1680\u180e\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200a\u202f\u205f\u3000", $S10
-    lt $I11, 0, rx104_fail
-    inc rx104_pos
-    (rx104_rep) = rx104_cur."!mark_commit"($I125)
-    rx104_cur."!mark_push"(rx104_rep, rx104_pos, $I125)
-    goto rxquantr124_loop
-  rxquantr124_done:
+    lt $I11, 0, rx105_fail
+    inc rx105_pos
+    (rx105_rep) = rx105_cur."!mark_commit"($I126)
+    rx105_cur."!mark_push"(rx105_rep, rx105_pos, $I126)
+    goto rxquantr125_loop
+  rxquantr125_done:
   # rx subrule "!BACKREF" subtype=method negate=
-    rx104_cur."!cursor_pos"(rx104_pos)
-    $P10 = rx104_cur."!BACKREF"("identifier")
-    unless $P10, rx104_fail
-    rx104_pos = $P10."pos"()
+    rx105_cur."!cursor_pos"(rx105_pos)
+    $P10 = rx105_cur."!BACKREF"("identifier")
+    unless $P10, rx105_fail
+    rx105_pos = $P10."pos"()
   # rxanchor rwb
-    le rx104_pos, 0, rx104_fail
-    sub $I10, rx104_pos, rx104_off
-    is_cclass $I11, 8192, rx104_tgt, $I10
-    if $I11, rx104_fail
+    le rx105_pos, 0, rx105_fail
+    sub $I10, rx105_pos, rx105_off
+    is_cclass $I11, 8192, rx105_tgt, $I10
+    if $I11, rx105_fail
     dec $I10
-    is_cclass $I11, 8192, rx104_tgt, $I10
-    unless $I11, rx104_fail
+    is_cclass $I11, 8192, rx105_tgt, $I10
+    unless $I11, rx105_fail
   # rx charclass_q N r 0..-1
-    sub $I10, rx104_pos, rx104_off
-    find_cclass $I11, 4096, rx104_tgt, $I10, rx104_eos
-    add rx104_pos, rx104_off, $I11
-    goto alt121_end
-  alt121_1:
+    sub $I10, rx105_pos, rx105_off
+    find_cclass $I11, 4096, rx105_tgt, $I10, rx105_eos
+    add rx105_pos, rx105_off, $I11
+    goto alt122_end
+  alt122_1:
 .annotate "line", 59
   # rx subrule "panic" subtype=method negate=
-    rx104_cur."!cursor_pos"(rx104_pos)
-    $P10 = rx104_cur."panic"("=begin without matching =end")
-    unless $P10, rx104_fail
-    rx104_pos = $P10."pos"()
-  alt121_end:
+    rx105_cur."!cursor_pos"(rx105_pos)
+    $P10 = rx105_cur."panic"("=begin without matching =end")
+    unless $P10, rx105_fail
+    rx105_pos = $P10."pos"()
+  alt122_end:
 .annotate "line", 56
-    goto alt111_end
-  alt111_2:
-    set_addr $I10, alt111_3
-    rx104_cur."!mark_push"(0, rx104_pos, $I10)
+    goto alt112_end
+  alt112_2:
+    set_addr $I10, alt112_3
+    rx105_cur."!mark_push"(0, rx105_pos, $I10)
 .annotate "line", 61
   # rx literal  "begin"
-    add $I11, rx104_pos, 5
-    gt $I11, rx104_eos, rx104_fail
-    sub $I11, rx104_pos, rx104_off
-    substr $S10, rx104_tgt, $I11, 5
-    ne $S10, "begin", rx104_fail
-    add rx104_pos, 5
+    add $I11, rx105_pos, 5
+    gt $I11, rx105_eos, rx105_fail
+    sub $I11, rx105_pos, rx105_off
+    substr $S10, rx105_tgt, $I11, 5
+    ne $S10, "begin", rx105_fail
+    add rx105_pos, 5
   # rxanchor rwb
-    le rx104_pos, 0, rx104_fail
-    sub $I10, rx104_pos, rx104_off
-    is_cclass $I11, 8192, rx104_tgt, $I10
-    if $I11, rx104_fail
+    le rx105_pos, 0, rx105_fail
+    sub $I10, rx105_pos, rx105_off
+    is_cclass $I11, 8192, rx105_tgt, $I10
+    if $I11, rx105_fail
     dec $I10
-    is_cclass $I11, 8192, rx104_tgt, $I10
-    unless $I11, rx104_fail
-  # rx rxquantr127 ** 0..*
-    set_addr $I128, rxquantr127_done
-    rx104_cur."!mark_push"(0, rx104_pos, $I128)
-  rxquantr127_loop:
+    is_cclass $I11, 8192, rx105_tgt, $I10
+    unless $I11, rx105_fail
+  # rx rxquantr128 ** 0..*
+    set_addr $I129, rxquantr128_done
+    rx105_cur."!mark_push"(0, rx105_pos, $I129)
+  rxquantr128_loop:
   # rx enumcharlist negate=0 
-    ge rx104_pos, rx104_eos, rx104_fail
-    sub $I10, rx104_pos, rx104_off
-    substr $S10, rx104_tgt, $I10, 1
+    ge rx105_pos, rx105_eos, rx105_fail
+    sub $I10, rx105_pos, rx105_off
+    substr $S10, rx105_tgt, $I10, 1
     index $I11, unicode:"\t \x{a0}\u1680\u180e\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200a\u202f\u205f\u3000", $S10
-    lt $I11, 0, rx104_fail
-    inc rx104_pos
-    (rx104_rep) = rx104_cur."!mark_commit"($I128)
-    rx104_cur."!mark_push"(rx104_rep, rx104_pos, $I128)
-    goto rxquantr127_loop
-  rxquantr127_done:
-  alt129_0:
+    lt $I11, 0, rx105_fail
+    inc rx105_pos
+    (rx105_rep) = rx105_cur."!mark_commit"($I129)
+    rx105_cur."!mark_push"(rx105_rep, rx105_pos, $I129)
+    goto rxquantr128_loop
+  rxquantr128_done:
+  alt130_0:
 .annotate "line", 62
-    set_addr $I10, alt129_1
-    rx104_cur."!mark_push"(0, rx104_pos, $I10)
+    set_addr $I10, alt130_1
+    rx105_cur."!mark_push"(0, rx105_pos, $I10)
   # rxanchor eol
-    sub $I10, rx104_pos, rx104_off
-    is_cclass $I11, 4096, rx104_tgt, $I10
-    if $I11, rxanchor130_done
-    ne rx104_pos, rx104_eos, rx104_fail
-    eq rx104_pos, 0, rxanchor130_done
+    sub $I10, rx105_pos, rx105_off
+    is_cclass $I11, 4096, rx105_tgt, $I10
+    if $I11, rxanchor131_done
+    ne rx105_pos, rx105_eos, rx105_fail
+    eq rx105_pos, 0, rxanchor131_done
     dec $I10
-    is_cclass $I11, 4096, rx104_tgt, $I10
-    if $I11, rx104_fail
-  rxanchor130_done:
-    goto alt129_end
-  alt129_1:
-    set_addr $I10, alt129_2
-    rx104_cur."!mark_push"(0, rx104_pos, $I10)
+    is_cclass $I11, 4096, rx105_tgt, $I10
+    if $I11, rx105_fail
+  rxanchor131_done:
+    goto alt130_end
+  alt130_1:
+    set_addr $I10, alt130_2
+    rx105_cur."!mark_push"(0, rx105_pos, $I10)
   # rx literal  "#"
-    add $I11, rx104_pos, 1
-    gt $I11, rx104_eos, rx104_fail
-    sub $I11, rx104_pos, rx104_off
-    substr $S10, rx104_tgt, $I11, 1
-    ne $S10, "#", rx104_fail
-    add rx104_pos, 1
-    goto alt129_end
-  alt129_2:
+    add $I11, rx105_pos, 1
+    gt $I11, rx105_eos, rx105_fail
+    sub $I11, rx105_pos, rx105_off
+    substr $S10, rx105_tgt, $I11, 1
+    ne $S10, "#", rx105_fail
+    add rx105_pos, 1
+    goto alt130_end
+  alt130_2:
   # rx subrule "panic" subtype=method negate=
-    rx104_cur."!cursor_pos"(rx104_pos)
-    $P10 = rx104_cur."panic"("Unrecognized token after =begin")
-    unless $P10, rx104_fail
-    rx104_pos = $P10."pos"()
-  alt129_end:
-  alt131_0:
+    rx105_cur."!cursor_pos"(rx105_pos)
+    $P10 = rx105_cur."panic"("Unrecognized token after =begin")
+    unless $P10, rx105_fail
+    rx105_pos = $P10."pos"()
+  alt130_end:
+  alt132_0:
 .annotate "line", 63
-    set_addr $I10, alt131_1
-    rx104_cur."!mark_push"(0, rx104_pos, $I10)
+    set_addr $I10, alt132_1
+    rx105_cur."!mark_push"(0, rx105_pos, $I10)
 .annotate "line", 64
-  # rx rxquantf132 ** 0..*
-    set_addr $I10, rxquantf132_loop
-    rx104_cur."!mark_push"(0, rx104_pos, $I10)
-    goto rxquantf132_done
-  rxquantf132_loop:
+  # rx rxquantf133 ** 0..*
+    set_addr $I10, rxquantf133_loop
+    rx105_cur."!mark_push"(0, rx105_pos, $I10)
+    goto rxquantf133_done
+  rxquantf133_loop:
   # rx charclass .
-    ge rx104_pos, rx104_eos, rx104_fail
-    inc rx104_pos
-    set_addr $I10, rxquantf132_loop
-    rx104_cur."!mark_push"($I133, rx104_pos, $I10)
-  rxquantf132_done:
+    ge rx105_pos, rx105_eos, rx105_fail
+    inc rx105_pos
+    set_addr $I10, rxquantf133_loop
+    rx105_cur."!mark_push"($I134, rx105_pos, $I10)
+  rxquantf133_done:
   # rx charclass nl
-    ge rx104_pos, rx104_eos, rx104_fail
-    sub $I10, rx104_pos, rx104_off
-    is_cclass $I11, 4096, rx104_tgt, $I10
-    unless $I11, rx104_fail
-    substr $S10, rx104_tgt, $I10, 2
+    ge rx105_pos, rx105_eos, rx105_fail
+    sub $I10, rx105_pos, rx105_off
+    is_cclass $I11, 4096, rx105_tgt, $I10
+    unless $I11, rx105_fail
+    substr $S10, rx105_tgt, $I10, 2
     iseq $I11, $S10, "\r\n"
-    add rx104_pos, $I11
-    inc rx104_pos
-  # rx rxquantr134 ** 0..*
-    set_addr $I135, rxquantr134_done
-    rx104_cur."!mark_push"(0, rx104_pos, $I135)
-  rxquantr134_loop:
+    add rx105_pos, $I11
+    inc rx105_pos
+  # rx rxquantr135 ** 0..*
+    set_addr $I136, rxquantr135_done
+    rx105_cur."!mark_push"(0, rx105_pos, $I136)
+  rxquantr135_loop:
   # rx enumcharlist negate=0 
-    ge rx104_pos, rx104_eos, rx104_fail
-    sub $I10, rx104_pos, rx104_off
-    substr $S10, rx104_tgt, $I10, 1
+    ge rx105_pos, rx105_eos, rx105_fail
+    sub $I10, rx105_pos, rx105_off
+    substr $S10, rx105_tgt, $I10, 1
     index $I11, unicode:"\t \x{a0}\u1680\u180e\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200a\u202f\u205f\u3000", $S10
-    lt $I11, 0, rx104_fail
-    inc rx104_pos
-    (rx104_rep) = rx104_cur."!mark_commit"($I135)
-    rx104_cur."!mark_push"(rx104_rep, rx104_pos, $I135)
-    goto rxquantr134_loop
-  rxquantr134_done:
+    lt $I11, 0, rx105_fail
+    inc rx105_pos
+    (rx105_rep) = rx105_cur."!mark_commit"($I136)
+    rx105_cur."!mark_push"(rx105_rep, rx105_pos, $I136)
+    goto rxquantr135_loop
+  rxquantr135_done:
   # rx literal  "=end"
-    add $I11, rx104_pos, 4
-    gt $I11, rx104_eos, rx104_fail
-    sub $I11, rx104_pos, rx104_off
-    substr $S10, rx104_tgt, $I11, 4
-    ne $S10, "=end", rx104_fail
-    add rx104_pos, 4
+    add $I11, rx105_pos, 4
+    gt $I11, rx105_eos, rx105_fail
+    sub $I11, rx105_pos, rx105_off
+    substr $S10, rx105_tgt, $I11, 4
+    ne $S10, "=end", rx105_fail
+    add rx105_pos, 4
   # rxanchor rwb
-    le rx104_pos, 0, rx104_fail
-    sub $I10, rx104_pos, rx104_off
-    is_cclass $I11, 8192, rx104_tgt, $I10
-    if $I11, rx104_fail
+    le rx105_pos, 0, rx105_fail
+    sub $I10, rx105_pos, rx105_off
+    is_cclass $I11, 8192, rx105_tgt, $I10
+    if $I11, rx105_fail
     dec $I10
-    is_cclass $I11, 8192, rx104_tgt, $I10
-    unless $I11, rx104_fail
+    is_cclass $I11, 8192, rx105_tgt, $I10
+    unless $I11, rx105_fail
   # rx charclass_q N r 0..-1
-    sub $I10, rx104_pos, rx104_off
-    find_cclass $I11, 4096, rx104_tgt, $I10, rx104_eos
-    add rx104_pos, rx104_off, $I11
-    goto alt131_end
-  alt131_1:
+    sub $I10, rx105_pos, rx105_off
+    find_cclass $I11, 4096, rx105_tgt, $I10, rx105_eos
+    add rx105_pos, rx105_off, $I11
+    goto alt132_end
+  alt132_1:
 .annotate "line", 65
   # rx subrule "panic" subtype=method negate=
-    rx104_cur."!cursor_pos"(rx104_pos)
-    $P10 = rx104_cur."panic"("=begin without matching =end")
-    unless $P10, rx104_fail
-    rx104_pos = $P10."pos"()
-  alt131_end:
+    rx105_cur."!cursor_pos"(rx105_pos)
+    $P10 = rx105_cur."panic"("=begin without matching =end")
+    unless $P10, rx105_fail
+    rx105_pos = $P10."pos"()
+  alt132_end:
 .annotate "line", 61
-    goto alt111_end
-  alt111_3:
+    goto alt112_end
+  alt112_3:
 .annotate "line", 69
-  # rx rxquantr136 ** 0..1
-    set_addr $I144, rxquantr136_done
-    rx104_cur."!mark_push"(0, rx104_pos, $I144)
-  rxquantr136_loop:
+  # rx rxquantr137 ** 0..1
+    set_addr $I146, rxquantr137_done
+    rx105_cur."!mark_push"(0, rx105_pos, $I146)
+  rxquantr137_loop:
 .annotate "line", 68
   # rx subrule "before" subtype=zerowidth negate=
-    rx104_cur."!cursor_pos"(rx104_pos)
-    .const 'Sub' $P138 = "28_1259103982.97329" 
-    capture_lex $P138
-    $P10 = rx104_cur."before"($P138)
-    unless $P10, rx104_fail
+    rx105_cur."!cursor_pos"(rx105_pos)
+    .const 'Sub' $P139 = "28_1259177761.22934" 
+    capture_lex $P139
+    $P10 = rx105_cur."before"($P139)
+    unless $P10, rx105_fail
 .annotate "line", 69
   # rx subrule "panic" subtype=method negate=
-    rx104_cur."!cursor_pos"(rx104_pos)
-    $P10 = rx104_cur."panic"("Obsolete pod format, please use =begin/=end instead")
-    unless $P10, rx104_fail
-    rx104_pos = $P10."pos"()
-    (rx104_rep) = rx104_cur."!mark_commit"($I144)
-  rxquantr136_done:
-  alt145_0:
+    rx105_cur."!cursor_pos"(rx105_pos)
+    $P10 = rx105_cur."panic"("Obsolete pod format, please use =begin/=end instead")
+    unless $P10, rx105_fail
+    rx105_pos = $P10."pos"()
+    (rx105_rep) = rx105_cur."!mark_commit"($I146)
+  rxquantr137_done:
+  alt147_0:
 .annotate "line", 70
-    set_addr $I10, alt145_1
-    rx104_cur."!mark_push"(0, rx104_pos, $I10)
+    set_addr $I10, alt147_1
+    rx105_cur."!mark_push"(0, rx105_pos, $I10)
   # rx subrule "alpha" subtype=capture negate=
-    rx104_cur."!cursor_pos"(rx104_pos)
-    $P10 = rx104_cur."alpha"()
-    unless $P10, rx104_fail
-    rx104_cur."!mark_push"(0, -1, 0, $P10)
+    rx105_cur."!cursor_pos"(rx105_pos)
+    $P10 = rx105_cur."alpha"()
+    unless $P10, rx105_fail
+    rx105_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("alpha")
-    rx104_pos = $P10."pos"()
-    goto alt145_end
-  alt145_1:
-    set_addr $I10, alt145_2
-    rx104_cur."!mark_push"(0, rx104_pos, $I10)
+    rx105_pos = $P10."pos"()
+    goto alt147_end
+  alt147_1:
+    set_addr $I10, alt147_2
+    rx105_cur."!mark_push"(0, rx105_pos, $I10)
   # rx charclass s
-    ge rx104_pos, rx104_eos, rx104_fail
-    sub $I10, rx104_pos, rx104_off
-    is_cclass $I11, 32, rx104_tgt, $I10
-    unless $I11, rx104_fail
-    inc rx104_pos
-    goto alt145_end
-  alt145_2:
+    ge rx105_pos, rx105_eos, rx105_fail
+    sub $I10, rx105_pos, rx105_off
+    is_cclass $I11, 32, rx105_tgt, $I10
+    unless $I11, rx105_fail
+    inc rx105_pos
+    goto alt147_end
+  alt147_2:
   # rx subrule "panic" subtype=method negate=
-    rx104_cur."!cursor_pos"(rx104_pos)
-    $P10 = rx104_cur."panic"("Illegal pod directive")
-    unless $P10, rx104_fail
-    rx104_pos = $P10."pos"()
-  alt145_end:
+    rx105_cur."!cursor_pos"(rx105_pos)
+    $P10 = rx105_cur."panic"("Illegal pod directive")
+    unless $P10, rx105_fail
+    rx105_pos = $P10."pos"()
+  alt147_end:
 .annotate "line", 71
   # rx charclass_q N r 0..-1
-    sub $I10, rx104_pos, rx104_off
-    find_cclass $I11, 4096, rx104_tgt, $I10, rx104_eos
-    add rx104_pos, rx104_off, $I11
-  alt111_end:
+    sub $I10, rx105_pos, rx105_off
+    find_cclass $I11, 4096, rx105_tgt, $I10, rx105_eos
+    add rx105_pos, rx105_off, $I11
+  alt112_end:
 .annotate "line", 51
   # rx pass
-    rx104_cur."!cursor_pass"(rx104_pos, "pod_comment")
-    rx104_cur."!cursor_debug"("PASS  ", "pod_comment", " at pos=", rx104_pos)
-    .return (rx104_cur)
-  rx104_fail:
+    rx105_cur."!cursor_pass"(rx105_pos, "pod_comment")
+    rx105_cur."!cursor_debug"("PASS  ", "pod_comment", " at pos=", rx105_pos)
+    .return (rx105_cur)
+  rx105_fail:
 .annotate "line", 4
-    (rx104_rep, rx104_pos, $I10, $P10) = rx104_cur."!mark_fail"(0)
-    lt rx104_pos, -1, rx104_done
-    eq rx104_pos, -1, rx104_fail
+    (rx105_rep, rx105_pos, $I10, $P10) = rx105_cur."!mark_fail"(0)
+    lt rx105_pos, -1, rx105_done
+    eq rx105_pos, -1, rx105_fail
     jump $I10
-  rx104_done:
-    rx104_cur."!cursor_fail"()
-    rx104_cur."!cursor_debug"("FAIL  ", "pod_comment")
-    .return (rx104_cur)
+  rx105_done:
+    rx105_cur."!cursor_fail"()
+    rx105_cur."!cursor_debug"("FAIL  ", "pod_comment")
+    .return (rx105_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__pod_comment"  :subid("27_1259103982.97329") :method
+.sub "!PREFIX__pod_comment"  :subid("27_1259177761.22934") :method
 .annotate "line", 4
-    new $P106, "ResizablePMCArray"
-    push $P106, ""
-    .return ($P106)
+    new $P107, "ResizablePMCArray"
+    push $P107, ""
+    .return ($P107)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "_block137"  :anon :subid("28_1259103982.97329") :method :outer("26_1259103982.97329")
+.sub "_block138"  :anon :subid("28_1259177761.22934") :method :outer("26_1259177761.22934")
 .annotate "line", 68
-    .local string rx139_tgt
-    .local int rx139_pos
-    .local int rx139_off
-    .local int rx139_eos
-    .local int rx139_rep
-    .local pmc rx139_cur
-    (rx139_cur, rx139_pos, rx139_tgt) = self."!cursor_start"()
-    rx139_cur."!cursor_debug"("START ", "")
-    .lex unicode:"$\x{a2}", rx139_cur
-    .local pmc match
-    .lex "$/", match
-    length rx139_eos, rx139_tgt
-    set rx139_off, 0
-    lt rx139_pos, 2, rx139_start
-    sub rx139_off, rx139_pos, 1
-    substr rx139_tgt, rx139_tgt, rx139_off
-  rx139_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan140_done
-    goto rxscan140_scan
-  rxscan140_loop:
-    ($P10) = rx139_cur."from"()
-    inc $P10
-    set rx139_pos, $P10
-    ge rx139_pos, rx139_eos, rxscan140_done
-  rxscan140_scan:
-    set_addr $I10, rxscan140_loop
-    rx139_cur."!mark_push"(0, rx139_pos, $I10)
-  rxscan140_done:
-  # rx rxquantf141 ** 0..*
-    set_addr $I10, rxquantf141_loop
-    rx139_cur."!mark_push"(0, rx139_pos, $I10)
-    goto rxquantf141_done
-  rxquantf141_loop:
+    .lex unicode:"$\x{a2}", $P140
+    .local string rx141_tgt
+    .local int rx141_pos
+    .local int rx141_off
+    .local int rx141_eos
+    .local int rx141_rep
+    .local pmc rx141_cur
+    (rx141_cur, rx141_pos, rx141_tgt) = self."!cursor_start"()
+    rx141_cur."!cursor_debug"("START ", "")
+    .lex unicode:"$\x{a2}", rx141_cur
+    .local pmc match
+    .lex "$/", match
+    length rx141_eos, rx141_tgt
+    set rx141_off, 0
+    lt rx141_pos, 2, rx141_start
+    sub rx141_off, rx141_pos, 1
+    substr rx141_tgt, rx141_tgt, rx141_off
+  rx141_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan142_done
+    goto rxscan142_scan
+  rxscan142_loop:
+    ($P10) = rx141_cur."from"()
+    inc $P10
+    set rx141_pos, $P10
+    ge rx141_pos, rx141_eos, rxscan142_done
+  rxscan142_scan:
+    set_addr $I10, rxscan142_loop
+    rx141_cur."!mark_push"(0, rx141_pos, $I10)
+  rxscan142_done:
+  # rx rxquantf143 ** 0..*
+    set_addr $I10, rxquantf143_loop
+    rx141_cur."!mark_push"(0, rx141_pos, $I10)
+    goto rxquantf143_done
+  rxquantf143_loop:
   # rx charclass .
-    ge rx139_pos, rx139_eos, rx139_fail
-    inc rx139_pos
-    set_addr $I10, rxquantf141_loop
-    rx139_cur."!mark_push"($I142, rx139_pos, $I10)
-  rxquantf141_done:
+    ge rx141_pos, rx141_eos, rx141_fail
+    inc rx141_pos
+    set_addr $I10, rxquantf143_loop
+    rx141_cur."!mark_push"($I144, rx141_pos, $I10)
+  rxquantf143_done:
   # rxanchor bol
-    eq rx139_pos, 0, rxanchor143_done
-    ge rx139_pos, rx139_eos, rx139_fail
-    sub $I10, rx139_pos, rx139_off
+    eq rx141_pos, 0, rxanchor145_done
+    ge rx141_pos, rx141_eos, rx141_fail
+    sub $I10, rx141_pos, rx141_off
     dec $I10
-    is_cclass $I11, 4096, rx139_tgt, $I10
-    unless $I11, rx139_fail
-  rxanchor143_done:
+    is_cclass $I11, 4096, rx141_tgt, $I10
+    unless $I11, rx141_fail
+  rxanchor145_done:
   # rx literal  "=cut"
-    add $I11, rx139_pos, 4
-    gt $I11, rx139_eos, rx139_fail
-    sub $I11, rx139_pos, rx139_off
-    substr $S10, rx139_tgt, $I11, 4
-    ne $S10, "=cut", rx139_fail
-    add rx139_pos, 4
+    add $I11, rx141_pos, 4
+    gt $I11, rx141_eos, rx141_fail
+    sub $I11, rx141_pos, rx141_off
+    substr $S10, rx141_tgt, $I11, 4
+    ne $S10, "=cut", rx141_fail
+    add rx141_pos, 4
   # rxanchor rwb
-    le rx139_pos, 0, rx139_fail
-    sub $I10, rx139_pos, rx139_off
-    is_cclass $I11, 8192, rx139_tgt, $I10
-    if $I11, rx139_fail
+    le rx141_pos, 0, rx141_fail
+    sub $I10, rx141_pos, rx141_off
+    is_cclass $I11, 8192, rx141_tgt, $I10
+    if $I11, rx141_fail
     dec $I10
-    is_cclass $I11, 8192, rx139_tgt, $I10
-    unless $I11, rx139_fail
+    is_cclass $I11, 8192, rx141_tgt, $I10
+    unless $I11, rx141_fail
   # rx pass
-    rx139_cur."!cursor_pass"(rx139_pos, "")
-    rx139_cur."!cursor_debug"("PASS  ", "", " at pos=", rx139_pos)
-    .return (rx139_cur)
-  rx139_fail:
-    (rx139_rep, rx139_pos, $I10, $P10) = rx139_cur."!mark_fail"(0)
-    lt rx139_pos, -1, rx139_done
-    eq rx139_pos, -1, rx139_fail
-    jump $I10
-  rx139_done:
-    rx139_cur."!cursor_fail"()
-    rx139_cur."!cursor_debug"("FAIL  ", "")
-    .return (rx139_cur)
+    rx141_cur."!cursor_pass"(rx141_pos, "")
+    rx141_cur."!cursor_debug"("PASS  ", "", " at pos=", rx141_pos)
+    .return (rx141_cur)
+  rx141_fail:
+    (rx141_rep, rx141_pos, $I10, $P10) = rx141_cur."!mark_fail"(0)
+    lt rx141_pos, -1, rx141_done
+    eq rx141_pos, -1, rx141_fail
+    jump $I10
+  rx141_done:
+    rx141_cur."!cursor_fail"()
+    rx141_cur."!cursor_debug"("FAIL  ", "")
+    .return (rx141_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "comp_unit"  :subid("29_1259103982.97329") :method :outer("11_1259103982.97329")
-.annotate "line", 4
-    .local string rx147_tgt
-    .local int rx147_pos
-    .local int rx147_off
-    .local int rx147_eos
-    .local int rx147_rep
-    .local pmc rx147_cur
-    (rx147_cur, rx147_pos, rx147_tgt) = self."!cursor_start"()
-    rx147_cur."!cursor_debug"("START ", "comp_unit")
-    .lex unicode:"$\x{a2}", rx147_cur
-    .local pmc match
-    .lex "$/", match
-    length rx147_eos, rx147_tgt
-    set rx147_off, 0
-    lt rx147_pos, 2, rx147_start
-    sub rx147_off, rx147_pos, 1
-    substr rx147_tgt, rx147_tgt, rx147_off
-  rx147_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan151_done
-    goto rxscan151_scan
-  rxscan151_loop:
-    ($P10) = rx147_cur."from"()
-    inc $P10
-    set rx147_pos, $P10
-    ge rx147_pos, rx147_eos, rxscan151_done
-  rxscan151_scan:
-    set_addr $I10, rxscan151_loop
-    rx147_cur."!mark_push"(0, rx147_pos, $I10)
-  rxscan151_done:
+.sub "comp_unit"  :subid("29_1259177761.22934") :method :outer("11_1259177761.22934")
+.annotate "line", 4
+    .local string rx149_tgt
+    .local int rx149_pos
+    .local int rx149_off
+    .local int rx149_eos
+    .local int rx149_rep
+    .local pmc rx149_cur
+    (rx149_cur, rx149_pos, rx149_tgt) = self."!cursor_start"()
+    rx149_cur."!cursor_debug"("START ", "comp_unit")
+    .lex unicode:"$\x{a2}", rx149_cur
+    .local pmc match
+    .lex "$/", match
+    length rx149_eos, rx149_tgt
+    set rx149_off, 0
+    lt rx149_pos, 2, rx149_start
+    sub rx149_off, rx149_pos, 1
+    substr rx149_tgt, rx149_tgt, rx149_off
+  rx149_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan153_done
+    goto rxscan153_scan
+  rxscan153_loop:
+    ($P10) = rx149_cur."from"()
+    inc $P10
+    set rx149_pos, $P10
+    ge rx149_pos, rx149_eos, rxscan153_done
+  rxscan153_scan:
+    set_addr $I10, rxscan153_loop
+    rx149_cur."!mark_push"(0, rx149_pos, $I10)
+  rxscan153_done:
 .annotate "line", 79
   # rx subrule "newpad" subtype=method negate=
-    rx147_cur."!cursor_pos"(rx147_pos)
-    $P10 = rx147_cur."newpad"()
-    unless $P10, rx147_fail
-    rx147_pos = $P10."pos"()
+    rx149_cur."!cursor_pos"(rx149_pos)
+    $P10 = rx149_cur."newpad"()
+    unless $P10, rx149_fail
+    rx149_pos = $P10."pos"()
 .annotate "line", 80
   # rx subrule "statementlist" subtype=capture negate=
-    rx147_cur."!cursor_pos"(rx147_pos)
-    $P10 = rx147_cur."statementlist"()
-    unless $P10, rx147_fail
-    rx147_cur."!mark_push"(0, -1, 0, $P10)
+    rx149_cur."!cursor_pos"(rx149_pos)
+    $P10 = rx149_cur."statementlist"()
+    unless $P10, rx149_fail
+    rx149_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("statementlist")
-    rx147_pos = $P10."pos"()
-  alt152_0:
+    rx149_pos = $P10."pos"()
+  alt154_0:
 .annotate "line", 81
-    set_addr $I10, alt152_1
-    rx147_cur."!mark_push"(0, rx147_pos, $I10)
+    set_addr $I10, alt154_1
+    rx149_cur."!mark_push"(0, rx149_pos, $I10)
   # rxanchor eos
-    ne rx147_pos, rx147_eos, rx147_fail
-    goto alt152_end
-  alt152_1:
+    ne rx149_pos, rx149_eos, rx149_fail
+    goto alt154_end
+  alt154_1:
   # rx subrule "panic" subtype=method negate=
-    rx147_cur."!cursor_pos"(rx147_pos)
-    $P10 = rx147_cur."panic"("Confused")
-    unless $P10, rx147_fail
-    rx147_pos = $P10."pos"()
-  alt152_end:
+    rx149_cur."!cursor_pos"(rx149_pos)
+    $P10 = rx149_cur."panic"("Confused")
+    unless $P10, rx149_fail
+    rx149_pos = $P10."pos"()
+  alt154_end:
 .annotate "line", 78
   # rx pass
-    rx147_cur."!cursor_pass"(rx147_pos, "comp_unit")
-    rx147_cur."!cursor_debug"("PASS  ", "comp_unit", " at pos=", rx147_pos)
-    .return (rx147_cur)
-  rx147_fail:
+    rx149_cur."!cursor_pass"(rx149_pos, "comp_unit")
+    rx149_cur."!cursor_debug"("PASS  ", "comp_unit", " at pos=", rx149_pos)
+    .return (rx149_cur)
+  rx149_fail:
 .annotate "line", 4
-    (rx147_rep, rx147_pos, $I10, $P10) = rx147_cur."!mark_fail"(0)
-    lt rx147_pos, -1, rx147_done
-    eq rx147_pos, -1, rx147_fail
+    (rx149_rep, rx149_pos, $I10, $P10) = rx149_cur."!mark_fail"(0)
+    lt rx149_pos, -1, rx149_done
+    eq rx149_pos, -1, rx149_fail
     jump $I10
-  rx147_done:
-    rx147_cur."!cursor_fail"()
-    rx147_cur."!cursor_debug"("FAIL  ", "comp_unit")
-    .return (rx147_cur)
+  rx149_done:
+    rx149_cur."!cursor_fail"()
+    rx149_cur."!cursor_debug"("FAIL  ", "comp_unit")
+    .return (rx149_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__comp_unit"  :subid("30_1259103982.97329") :method
+.sub "!PREFIX__comp_unit"  :subid("30_1259177761.22934") :method
 .annotate "line", 4
-    $P149 = self."!PREFIX__!subrule"("", "")
-    new $P150, "ResizablePMCArray"
-    push $P150, $P149
-    .return ($P150)
+    $P151 = self."!PREFIX__!subrule"("", "")
+    new $P152, "ResizablePMCArray"
+    push $P152, $P151
+    .return ($P152)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "statementlist"  :subid("31_1259103982.97329") :method :outer("11_1259103982.97329")
+.sub "statementlist"  :subid("31_1259177761.22934") :method :outer("11_1259177761.22934")
 .annotate "line", 4
-    .local string rx154_tgt
-    .local int rx154_pos
-    .local int rx154_off
-    .local int rx154_eos
-    .local int rx154_rep
-    .local pmc rx154_cur
-    (rx154_cur, rx154_pos, rx154_tgt) = self."!cursor_start"()
-    rx154_cur."!cursor_debug"("START ", "statementlist")
-    rx154_cur."!cursor_caparray"("statement")
-    .lex unicode:"$\x{a2}", rx154_cur
+    .local string rx156_tgt
+    .local int rx156_pos
+    .local int rx156_off
+    .local int rx156_eos
+    .local int rx156_rep
+    .local pmc rx156_cur
+    (rx156_cur, rx156_pos, rx156_tgt) = self."!cursor_start"()
+    rx156_cur."!cursor_debug"("START ", "statementlist")
+    rx156_cur."!cursor_caparray"("statement")
+    .lex unicode:"$\x{a2}", rx156_cur
     .local pmc match
     .lex "$/", match
-    length rx154_eos, rx154_tgt
-    set rx154_off, 0
-    lt rx154_pos, 2, rx154_start
-    sub rx154_off, rx154_pos, 1
-    substr rx154_tgt, rx154_tgt, rx154_off
-  rx154_start:
+    length rx156_eos, rx156_tgt
+    set rx156_off, 0
+    lt rx156_pos, 2, rx156_start
+    sub rx156_off, rx156_pos, 1
+    substr rx156_tgt, rx156_tgt, rx156_off
+  rx156_start:
     $I10 = self.'from'()
-    ne $I10, -1, rxscan157_done
-    goto rxscan157_scan
-  rxscan157_loop:
-    ($P10) = rx154_cur."from"()
+    ne $I10, -1, rxscan159_done
+    goto rxscan159_scan
+  rxscan159_loop:
+    ($P10) = rx156_cur."from"()
     inc $P10
-    set rx154_pos, $P10
-    ge rx154_pos, rx154_eos, rxscan157_done
-  rxscan157_scan:
-    set_addr $I10, rxscan157_loop
-    rx154_cur."!mark_push"(0, rx154_pos, $I10)
-  rxscan157_done:
-  alt158_0:
+    set rx156_pos, $P10
+    ge rx156_pos, rx156_eos, rxscan159_done
+  rxscan159_scan:
+    set_addr $I10, rxscan159_loop
+    rx156_cur."!mark_push"(0, rx156_pos, $I10)
+  rxscan159_done:
+  alt160_0:
 .annotate "line", 84
-    set_addr $I10, alt158_1
-    rx154_cur."!mark_push"(0, rx154_pos, $I10)
+    set_addr $I10, alt160_1
+    rx156_cur."!mark_push"(0, rx156_pos, $I10)
 .annotate "line", 85
   # rx subrule "ws" subtype=method negate=
-    rx154_cur."!cursor_pos"(rx154_pos)
-    $P10 = rx154_cur."ws"()
-    unless $P10, rx154_fail
-    rx154_pos = $P10."pos"()
+    rx156_cur."!cursor_pos"(rx156_pos)
+    $P10 = rx156_cur."ws"()
+    unless $P10, rx156_fail
+    rx156_pos = $P10."pos"()
   # rxanchor eos
-    ne rx154_pos, rx154_eos, rx154_fail
+    ne rx156_pos, rx156_eos, rx156_fail
   # rx subrule "ws" subtype=method negate=
-    rx154_cur."!cursor_pos"(rx154_pos)
-    $P10 = rx154_cur."ws"()
-    unless $P10, rx154_fail
-    rx154_pos = $P10."pos"()
-    goto alt158_end
-  alt158_1:
+    rx156_cur."!cursor_pos"(rx156_pos)
+    $P10 = rx156_cur."ws"()
+    unless $P10, rx156_fail
+    rx156_pos = $P10."pos"()
+    goto alt160_end
+  alt160_1:
 .annotate "line", 86
   # rx subrule "ws" subtype=method negate=
-    rx154_cur."!cursor_pos"(rx154_pos)
-    $P10 = rx154_cur."ws"()
-    unless $P10, rx154_fail
-    rx154_pos = $P10."pos"()
-  # rx rxquantr162 ** 0..*
-    set_addr $I164, rxquantr162_done
-    rx154_cur."!mark_push"(0, rx154_pos, $I164)
-  rxquantr162_loop:
+    rx156_cur."!cursor_pos"(rx156_pos)
+    $P10 = rx156_cur."ws"()
+    unless $P10, rx156_fail
+    rx156_pos = $P10."pos"()
+  # rx rxquantr164 ** 0..*
+    set_addr $I166, rxquantr164_done
+    rx156_cur."!mark_push"(0, rx156_pos, $I166)
+  rxquantr164_loop:
   # rx subrule "statement" subtype=capture negate=
-    rx154_cur."!cursor_pos"(rx154_pos)
-    $P10 = rx154_cur."statement"()
-    unless $P10, rx154_fail
-    rx154_cur."!mark_push"(0, -1, 0, $P10)
+    rx156_cur."!cursor_pos"(rx156_pos)
+    $P10 = rx156_cur."statement"()
+    unless $P10, rx156_fail
+    rx156_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("statement")
-    rx154_pos = $P10."pos"()
+    rx156_pos = $P10."pos"()
   # rx subrule "eat_terminator" subtype=method negate=
-    rx154_cur."!cursor_pos"(rx154_pos)
-    $P10 = rx154_cur."eat_terminator"()
-    unless $P10, rx154_fail
-    rx154_pos = $P10."pos"()
-  # rx subrule "ws" subtype=method negate=
-    rx154_cur."!cursor_pos"(rx154_pos)
-    $P10 = rx154_cur."ws"()
-    unless $P10, rx154_fail
-    rx154_pos = $P10."pos"()
-    (rx154_rep) = rx154_cur."!mark_commit"($I164)
-    rx154_cur."!mark_push"(rx154_rep, rx154_pos, $I164)
-    goto rxquantr162_loop
-  rxquantr162_done:
-  # rx subrule "ws" subtype=method negate=
-    rx154_cur."!cursor_pos"(rx154_pos)
-    $P10 = rx154_cur."ws"()
-    unless $P10, rx154_fail
-    rx154_pos = $P10."pos"()
-  alt158_end:
+    rx156_cur."!cursor_pos"(rx156_pos)
+    $P10 = rx156_cur."eat_terminator"()
+    unless $P10, rx156_fail
+    rx156_pos = $P10."pos"()
+  # rx subrule "ws" subtype=method negate=
+    rx156_cur."!cursor_pos"(rx156_pos)
+    $P10 = rx156_cur."ws"()
+    unless $P10, rx156_fail
+    rx156_pos = $P10."pos"()
+    (rx156_rep) = rx156_cur."!mark_commit"($I166)
+    rx156_cur."!mark_push"(rx156_rep, rx156_pos, $I166)
+    goto rxquantr164_loop
+  rxquantr164_done:
+  # rx subrule "ws" subtype=method negate=
+    rx156_cur."!cursor_pos"(rx156_pos)
+    $P10 = rx156_cur."ws"()
+    unless $P10, rx156_fail
+    rx156_pos = $P10."pos"()
+  alt160_end:
 .annotate "line", 84
   # rx pass
-    rx154_cur."!cursor_pass"(rx154_pos, "statementlist")
-    rx154_cur."!cursor_debug"("PASS  ", "statementlist", " at pos=", rx154_pos)
-    .return (rx154_cur)
-  rx154_fail:
+    rx156_cur."!cursor_pass"(rx156_pos, "statementlist")
+    rx156_cur."!cursor_debug"("PASS  ", "statementlist", " at pos=", rx156_pos)
+    .return (rx156_cur)
+  rx156_fail:
 .annotate "line", 4
-    (rx154_rep, rx154_pos, $I10, $P10) = rx154_cur."!mark_fail"(0)
-    lt rx154_pos, -1, rx154_done
-    eq rx154_pos, -1, rx154_fail
+    (rx156_rep, rx156_pos, $I10, $P10) = rx156_cur."!mark_fail"(0)
+    lt rx156_pos, -1, rx156_done
+    eq rx156_pos, -1, rx156_fail
     jump $I10
-  rx154_done:
-    rx154_cur."!cursor_fail"()
-    rx154_cur."!cursor_debug"("FAIL  ", "statementlist")
-    .return (rx154_cur)
+  rx156_done:
+    rx156_cur."!cursor_fail"()
+    rx156_cur."!cursor_debug"("FAIL  ", "statementlist")
+    .return (rx156_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__statementlist"  :subid("32_1259103982.97329") :method
+.sub "!PREFIX__statementlist"  :subid("32_1259177761.22934") :method
 .annotate "line", 4
-    new $P156, "ResizablePMCArray"
-    push $P156, ""
-    push $P156, ""
-    .return ($P156)
+    new $P158, "ResizablePMCArray"
+    push $P158, ""
+    push $P158, ""
+    .return ($P158)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "statement"  :subid("33_1259103982.97329") :method :outer("11_1259103982.97329")
+.sub "statement"  :subid("33_1259177761.22934") :method :outer("11_1259177761.22934")
 .annotate "line", 4
-    .const 'Sub' $P172 = "35_1259103982.97329" 
-    capture_lex $P172
-    .local string rx167_tgt
-    .local int rx167_pos
-    .local int rx167_off
-    .local int rx167_eos
-    .local int rx167_rep
-    .local pmc rx167_cur
-    (rx167_cur, rx167_pos, rx167_tgt) = self."!cursor_start"()
-    rx167_cur."!cursor_debug"("START ", "statement")
-    rx167_cur."!cursor_caparray"("statement_mod_loop", "statement_mod_cond")
-    .lex unicode:"$\x{a2}", rx167_cur
+    .const 'Sub' $P174 = "35_1259177761.22934" 
+    capture_lex $P174
+    .local string rx169_tgt
+    .local int rx169_pos
+    .local int rx169_off
+    .local int rx169_eos
+    .local int rx169_rep
+    .local pmc rx169_cur
+    (rx169_cur, rx169_pos, rx169_tgt) = self."!cursor_start"()
+    rx169_cur."!cursor_debug"("START ", "statement")
+    rx169_cur."!cursor_caparray"("statement_mod_loop", "statement_mod_cond")
+    .lex unicode:"$\x{a2}", rx169_cur
     .local pmc match
     .lex "$/", match
-    length rx167_eos, rx167_tgt
-    set rx167_off, 0
-    lt rx167_pos, 2, rx167_start
-    sub rx167_off, rx167_pos, 1
-    substr rx167_tgt, rx167_tgt, rx167_off
-  rx167_start:
+    length rx169_eos, rx169_tgt
+    set rx169_off, 0
+    lt rx169_pos, 2, rx169_start
+    sub rx169_off, rx169_pos, 1
+    substr rx169_tgt, rx169_tgt, rx169_off
+  rx169_start:
     $I10 = self.'from'()
-    ne $I10, -1, rxscan170_done
-    goto rxscan170_scan
-  rxscan170_loop:
-    ($P10) = rx167_cur."from"()
+    ne $I10, -1, rxscan172_done
+    goto rxscan172_scan
+  rxscan172_loop:
+    ($P10) = rx169_cur."from"()
     inc $P10
-    set rx167_pos, $P10
-    ge rx167_pos, rx167_eos, rxscan170_done
-  rxscan170_scan:
-    set_addr $I10, rxscan170_loop
-    rx167_cur."!mark_push"(0, rx167_pos, $I10)
-  rxscan170_done:
+    set rx169_pos, $P10
+    ge rx169_pos, rx169_eos, rxscan172_done
+  rxscan172_scan:
+    set_addr $I10, rxscan172_loop
+    rx169_cur."!mark_push"(0, rx169_pos, $I10)
+  rxscan172_done:
 .annotate "line", 90
   # rx subrule "before" subtype=zerowidth negate=1
-    rx167_cur."!cursor_pos"(rx167_pos)
-    .const 'Sub' $P172 = "35_1259103982.97329" 
-    capture_lex $P172
-    $P10 = rx167_cur."before"($P172)
-    if $P10, rx167_fail
-  alt176_0:
+    rx169_cur."!cursor_pos"(rx169_pos)
+    .const 'Sub' $P174 = "35_1259177761.22934" 
+    capture_lex $P174
+    $P10 = rx169_cur."before"($P174)
+    if $P10, rx169_fail
+  alt179_0:
 .annotate "line", 91
-    set_addr $I10, alt176_1
-    rx167_cur."!mark_push"(0, rx167_pos, $I10)
+    set_addr $I10, alt179_1
+    rx169_cur."!mark_push"(0, rx169_pos, $I10)
 .annotate "line", 92
   # rx subrule "statement_control" subtype=capture negate=
-    rx167_cur."!cursor_pos"(rx167_pos)
-    $P10 = rx167_cur."statement_control"()
-    unless $P10, rx167_fail
-    rx167_cur."!mark_push"(0, -1, 0, $P10)
+    rx169_cur."!cursor_pos"(rx169_pos)
+    $P10 = rx169_cur."statement_control"()
+    unless $P10, rx169_fail
+    rx169_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("statement_control")
-    rx167_pos = $P10."pos"()
-    goto alt176_end
-  alt176_1:
+    rx169_pos = $P10."pos"()
+    goto alt179_end
+  alt179_1:
 .annotate "line", 93
   # rx subrule "EXPR" subtype=capture negate=
-    rx167_cur."!cursor_pos"(rx167_pos)
-    $P10 = rx167_cur."EXPR"()
-    unless $P10, rx167_fail
-    rx167_cur."!mark_push"(0, -1, 0, $P10)
+    rx169_cur."!cursor_pos"(rx169_pos)
+    $P10 = rx169_cur."EXPR"()
+    unless $P10, rx169_fail
+    rx169_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("EXPR")
-    rx167_pos = $P10."pos"()
+    rx169_pos = $P10."pos"()
   # rx subrule "ws" subtype=method negate=
-    rx167_cur."!cursor_pos"(rx167_pos)
-    $P10 = rx167_cur."ws"()
-    unless $P10, rx167_fail
-    rx167_pos = $P10."pos"()
+    rx169_cur."!cursor_pos"(rx169_pos)
+    $P10 = rx169_cur."ws"()
+    unless $P10, rx169_fail
+    rx169_pos = $P10."pos"()
 .annotate "line", 97
-  # rx rxquantr177 ** 0..1
-    set_addr $I181, rxquantr177_done
-    rx167_cur."!mark_push"(0, rx167_pos, $I181)
-  rxquantr177_loop:
-  alt178_0:
+  # rx rxquantr180 ** 0..1
+    set_addr $I184, rxquantr180_done
+    rx169_cur."!mark_push"(0, rx169_pos, $I184)
+  rxquantr180_loop:
+  alt181_0:
 .annotate "line", 94
-    set_addr $I10, alt178_1
-    rx167_cur."!mark_push"(0, rx167_pos, $I10)
+    set_addr $I10, alt181_1
+    rx169_cur."!mark_push"(0, rx169_pos, $I10)
 .annotate "line", 95
   # rx subrule "statement_mod_cond" subtype=capture negate=
-    rx167_cur."!cursor_pos"(rx167_pos)
-    $P10 = rx167_cur."statement_mod_cond"()
-    unless $P10, rx167_fail
-    rx167_cur."!mark_push"(0, -1, 0, $P10)
+    rx169_cur."!cursor_pos"(rx169_pos)
+    $P10 = rx169_cur."statement_mod_cond"()
+    unless $P10, rx169_fail
+    rx169_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("statement_mod_cond")
-    rx167_pos = $P10."pos"()
-  # rx rxquantr179 ** 0..1
-    set_addr $I180, rxquantr179_done
-    rx167_cur."!mark_push"(0, rx167_pos, $I180)
-  rxquantr179_loop:
+    rx169_pos = $P10."pos"()
+  # rx rxquantr182 ** 0..1
+    set_addr $I183, rxquantr182_done
+    rx169_cur."!mark_push"(0, rx169_pos, $I183)
+  rxquantr182_loop:
   # rx subrule "statement_mod_loop" subtype=capture negate=
-    rx167_cur."!cursor_pos"(rx167_pos)
-    $P10 = rx167_cur."statement_mod_loop"()
-    unless $P10, rx167_fail
-    rx167_cur."!mark_push"(0, -1, 0, $P10)
+    rx169_cur."!cursor_pos"(rx169_pos)
+    $P10 = rx169_cur."statement_mod_loop"()
+    unless $P10, rx169_fail
+    rx169_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("statement_mod_loop")
-    rx167_pos = $P10."pos"()
-    (rx167_rep) = rx167_cur."!mark_commit"($I180)
-  rxquantr179_done:
-    goto alt178_end
-  alt178_1:
+    rx169_pos = $P10."pos"()
+    (rx169_rep) = rx169_cur."!mark_commit"($I183)
+  rxquantr182_done:
+    goto alt181_end
+  alt181_1:
 .annotate "line", 96
   # rx subrule "statement_mod_loop" subtype=capture negate=
-    rx167_cur."!cursor_pos"(rx167_pos)
-    $P10 = rx167_cur."statement_mod_loop"()
-    unless $P10, rx167_fail
-    rx167_cur."!mark_push"(0, -1, 0, $P10)
+    rx169_cur."!cursor_pos"(rx169_pos)
+    $P10 = rx169_cur."statement_mod_loop"()
+    unless $P10, rx169_fail
+    rx169_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("statement_mod_loop")
-    rx167_pos = $P10."pos"()
-  alt178_end:
+    rx169_pos = $P10."pos"()
+  alt181_end:
 .annotate "line", 97
-    (rx167_rep) = rx167_cur."!mark_commit"($I181)
-  rxquantr177_done:
-  alt176_end:
+    (rx169_rep) = rx169_cur."!mark_commit"($I184)
+  rxquantr180_done:
+  alt179_end:
 .annotate "line", 89
   # rx pass
-    rx167_cur."!cursor_pass"(rx167_pos, "statement")
-    rx167_cur."!cursor_debug"("PASS  ", "statement", " at pos=", rx167_pos)
-    .return (rx167_cur)
-  rx167_fail:
+    rx169_cur."!cursor_pass"(rx169_pos, "statement")
+    rx169_cur."!cursor_debug"("PASS  ", "statement", " at pos=", rx169_pos)
+    .return (rx169_cur)
+  rx169_fail:
 .annotate "line", 4
-    (rx167_rep, rx167_pos, $I10, $P10) = rx167_cur."!mark_fail"(0)
-    lt rx167_pos, -1, rx167_done
-    eq rx167_pos, -1, rx167_fail
+    (rx169_rep, rx169_pos, $I10, $P10) = rx169_cur."!mark_fail"(0)
+    lt rx169_pos, -1, rx169_done
+    eq rx169_pos, -1, rx169_fail
     jump $I10
-  rx167_done:
-    rx167_cur."!cursor_fail"()
-    rx167_cur."!cursor_debug"("FAIL  ", "statement")
-    .return (rx167_cur)
+  rx169_done:
+    rx169_cur."!cursor_fail"()
+    rx169_cur."!cursor_debug"("FAIL  ", "statement")
+    .return (rx169_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__statement"  :subid("34_1259103982.97329") :method
+.sub "!PREFIX__statement"  :subid("34_1259177761.22934") :method
 .annotate "line", 4
-    new $P169, "ResizablePMCArray"
-    push $P169, ""
-    .return ($P169)
+    new $P171, "ResizablePMCArray"
+    push $P171, ""
+    .return ($P171)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "_block171"  :anon :subid("35_1259103982.97329") :method :outer("33_1259103982.97329")
+.sub "_block173"  :anon :subid("35_1259177761.22934") :method :outer("33_1259177761.22934")
 .annotate "line", 90
-    .local string rx173_tgt
-    .local int rx173_pos
-    .local int rx173_off
-    .local int rx173_eos
-    .local int rx173_rep
-    .local pmc rx173_cur
-    (rx173_cur, rx173_pos, rx173_tgt) = self."!cursor_start"()
-    rx173_cur."!cursor_debug"("START ", "")
-    .lex unicode:"$\x{a2}", rx173_cur
-    .local pmc match
-    .lex "$/", match
-    length rx173_eos, rx173_tgt
-    set rx173_off, 0
-    lt rx173_pos, 2, rx173_start
-    sub rx173_off, rx173_pos, 1
-    substr rx173_tgt, rx173_tgt, rx173_off
-  rx173_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan174_done
-    goto rxscan174_scan
-  rxscan174_loop:
-    ($P10) = rx173_cur."from"()
-    inc $P10
-    set rx173_pos, $P10
-    ge rx173_pos, rx173_eos, rxscan174_done
-  rxscan174_scan:
-    set_addr $I10, rxscan174_loop
-    rx173_cur."!mark_push"(0, rx173_pos, $I10)
-  rxscan174_done:
-  alt175_0:
-    set_addr $I10, alt175_1
-    rx173_cur."!mark_push"(0, rx173_pos, $I10)
+    .lex unicode:"$\x{a2}", $P175
+    .local string rx176_tgt
+    .local int rx176_pos
+    .local int rx176_off
+    .local int rx176_eos
+    .local int rx176_rep
+    .local pmc rx176_cur
+    (rx176_cur, rx176_pos, rx176_tgt) = self."!cursor_start"()
+    rx176_cur."!cursor_debug"("START ", "")
+    .lex unicode:"$\x{a2}", rx176_cur
+    .local pmc match
+    .lex "$/", match
+    length rx176_eos, rx176_tgt
+    set rx176_off, 0
+    lt rx176_pos, 2, rx176_start
+    sub rx176_off, rx176_pos, 1
+    substr rx176_tgt, rx176_tgt, rx176_off
+  rx176_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan177_done
+    goto rxscan177_scan
+  rxscan177_loop:
+    ($P10) = rx176_cur."from"()
+    inc $P10
+    set rx176_pos, $P10
+    ge rx176_pos, rx176_eos, rxscan177_done
+  rxscan177_scan:
+    set_addr $I10, rxscan177_loop
+    rx176_cur."!mark_push"(0, rx176_pos, $I10)
+  rxscan177_done:
+  alt178_0:
+    set_addr $I10, alt178_1
+    rx176_cur."!mark_push"(0, rx176_pos, $I10)
   # rx enumcharlist negate=0 
-    ge rx173_pos, rx173_eos, rx173_fail
-    sub $I10, rx173_pos, rx173_off
-    substr $S10, rx173_tgt, $I10, 1
+    ge rx176_pos, rx176_eos, rx176_fail
+    sub $I10, rx176_pos, rx176_off
+    substr $S10, rx176_tgt, $I10, 1
     index $I11, "])}", $S10
-    lt $I11, 0, rx173_fail
-    inc rx173_pos
-    goto alt175_end
-  alt175_1:
+    lt $I11, 0, rx176_fail
+    inc rx176_pos
+    goto alt178_end
+  alt178_1:
   # rxanchor eos
-    ne rx173_pos, rx173_eos, rx173_fail
-  alt175_end:
+    ne rx176_pos, rx176_eos, rx176_fail
+  alt178_end:
   # rx pass
-    rx173_cur."!cursor_pass"(rx173_pos, "")
-    rx173_cur."!cursor_debug"("PASS  ", "", " at pos=", rx173_pos)
-    .return (rx173_cur)
-  rx173_fail:
-    (rx173_rep, rx173_pos, $I10, $P10) = rx173_cur."!mark_fail"(0)
-    lt rx173_pos, -1, rx173_done
-    eq rx173_pos, -1, rx173_fail
-    jump $I10
-  rx173_done:
-    rx173_cur."!cursor_fail"()
-    rx173_cur."!cursor_debug"("FAIL  ", "")
-    .return (rx173_cur)
+    rx176_cur."!cursor_pass"(rx176_pos, "")
+    rx176_cur."!cursor_debug"("PASS  ", "", " at pos=", rx176_pos)
+    .return (rx176_cur)
+  rx176_fail:
+    (rx176_rep, rx176_pos, $I10, $P10) = rx176_cur."!mark_fail"(0)
+    lt rx176_pos, -1, rx176_done
+    eq rx176_pos, -1, rx176_fail
+    jump $I10
+  rx176_done:
+    rx176_cur."!cursor_fail"()
+    rx176_cur."!cursor_debug"("FAIL  ", "")
+    .return (rx176_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "eat_terminator"  :subid("36_1259103982.97329") :method :outer("11_1259103982.97329")
-.annotate "line", 4
-    .local string rx183_tgt
-    .local int rx183_pos
-    .local int rx183_off
-    .local int rx183_eos
-    .local int rx183_rep
-    .local pmc rx183_cur
-    (rx183_cur, rx183_pos, rx183_tgt) = self."!cursor_start"()
-    rx183_cur."!cursor_debug"("START ", "eat_terminator")
-    .lex unicode:"$\x{a2}", rx183_cur
-    .local pmc match
-    .lex "$/", match
-    length rx183_eos, rx183_tgt
-    set rx183_off, 0
-    lt rx183_pos, 2, rx183_start
-    sub rx183_off, rx183_pos, 1
-    substr rx183_tgt, rx183_tgt, rx183_off
-  rx183_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan186_done
-    goto rxscan186_scan
-  rxscan186_loop:
-    ($P10) = rx183_cur."from"()
-    inc $P10
-    set rx183_pos, $P10
-    ge rx183_pos, rx183_eos, rxscan186_done
-  rxscan186_scan:
-    set_addr $I10, rxscan186_loop
-    rx183_cur."!mark_push"(0, rx183_pos, $I10)
-  rxscan186_done:
-  alt187_0:
+.sub "eat_terminator"  :subid("36_1259177761.22934") :method :outer("11_1259177761.22934")
+.annotate "line", 4
+    .local string rx186_tgt
+    .local int rx186_pos
+    .local int rx186_off
+    .local int rx186_eos
+    .local int rx186_rep
+    .local pmc rx186_cur
+    (rx186_cur, rx186_pos, rx186_tgt) = self."!cursor_start"()
+    rx186_cur."!cursor_debug"("START ", "eat_terminator")
+    .lex unicode:"$\x{a2}", rx186_cur
+    .local pmc match
+    .lex "$/", match
+    length rx186_eos, rx186_tgt
+    set rx186_off, 0
+    lt rx186_pos, 2, rx186_start
+    sub rx186_off, rx186_pos, 1
+    substr rx186_tgt, rx186_tgt, rx186_off
+  rx186_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan189_done
+    goto rxscan189_scan
+  rxscan189_loop:
+    ($P10) = rx186_cur."from"()
+    inc $P10
+    set rx186_pos, $P10
+    ge rx186_pos, rx186_eos, rxscan189_done
+  rxscan189_scan:
+    set_addr $I10, rxscan189_loop
+    rx186_cur."!mark_push"(0, rx186_pos, $I10)
+  rxscan189_done:
+  alt190_0:
 .annotate "line", 101
-    set_addr $I10, alt187_1
-    rx183_cur."!mark_push"(0, rx183_pos, $I10)
+    set_addr $I10, alt190_1
+    rx186_cur."!mark_push"(0, rx186_pos, $I10)
 .annotate "line", 102
   # rx literal  ";"
-    add $I11, rx183_pos, 1
-    gt $I11, rx183_eos, rx183_fail
-    sub $I11, rx183_pos, rx183_off
-    substr $S10, rx183_tgt, $I11, 1
-    ne $S10, ";", rx183_fail
-    add rx183_pos, 1
-    goto alt187_end
-  alt187_1:
-    set_addr $I10, alt187_2
-    rx183_cur."!mark_push"(0, rx183_pos, $I10)
+    add $I11, rx186_pos, 1
+    gt $I11, rx186_eos, rx186_fail
+    sub $I11, rx186_pos, rx186_off
+    substr $S10, rx186_tgt, $I11, 1
+    ne $S10, ";", rx186_fail
+    add rx186_pos, 1
+    goto alt190_end
+  alt190_1:
+    set_addr $I10, alt190_2
+    rx186_cur."!mark_push"(0, rx186_pos, $I10)
 .annotate "line", 103
   # rx subrule "MARKED" subtype=zerowidth negate=
-    rx183_cur."!cursor_pos"(rx183_pos)
-    $P10 = rx183_cur."MARKED"("endstmt")
-    unless $P10, rx183_fail
-    goto alt187_end
-  alt187_2:
-    set_addr $I10, alt187_3
-    rx183_cur."!mark_push"(0, rx183_pos, $I10)
+    rx186_cur."!cursor_pos"(rx186_pos)
+    $P10 = rx186_cur."MARKED"("endstmt")
+    unless $P10, rx186_fail
+    goto alt190_end
+  alt190_2:
+    set_addr $I10, alt190_3
+    rx186_cur."!mark_push"(0, rx186_pos, $I10)
 .annotate "line", 104
   # rx subrule "terminator" subtype=zerowidth negate=
-    rx183_cur."!cursor_pos"(rx183_pos)
-    $P10 = rx183_cur."terminator"()
-    unless $P10, rx183_fail
-    goto alt187_end
-  alt187_3:
+    rx186_cur."!cursor_pos"(rx186_pos)
+    $P10 = rx186_cur."terminator"()
+    unless $P10, rx186_fail
+    goto alt190_end
+  alt190_3:
 .annotate "line", 105
   # rxanchor eos
-    ne rx183_pos, rx183_eos, rx183_fail
-  alt187_end:
+    ne rx186_pos, rx186_eos, rx186_fail
+  alt190_end:
 .annotate "line", 101
   # rx pass
-    rx183_cur."!cursor_pass"(rx183_pos, "eat_terminator")
-    rx183_cur."!cursor_debug"("PASS  ", "eat_terminator", " at pos=", rx183_pos)
-    .return (rx183_cur)
-  rx183_fail:
+    rx186_cur."!cursor_pass"(rx186_pos, "eat_terminator")
+    rx186_cur."!cursor_debug"("PASS  ", "eat_terminator", " at pos=", rx186_pos)
+    .return (rx186_cur)
+  rx186_fail:
 .annotate "line", 4
-    (rx183_rep, rx183_pos, $I10, $P10) = rx183_cur."!mark_fail"(0)
-    lt rx183_pos, -1, rx183_done
-    eq rx183_pos, -1, rx183_fail
+    (rx186_rep, rx186_pos, $I10, $P10) = rx186_cur."!mark_fail"(0)
+    lt rx186_pos, -1, rx186_done
+    eq rx186_pos, -1, rx186_fail
     jump $I10
-  rx183_done:
-    rx183_cur."!cursor_fail"()
-    rx183_cur."!cursor_debug"("FAIL  ", "eat_terminator")
-    .return (rx183_cur)
+  rx186_done:
+    rx186_cur."!cursor_fail"()
+    rx186_cur."!cursor_debug"("FAIL  ", "eat_terminator")
+    .return (rx186_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__eat_terminator"  :subid("37_1259103982.97329") :method
+.sub "!PREFIX__eat_terminator"  :subid("37_1259177761.22934") :method
 .annotate "line", 4
-    new $P185, "ResizablePMCArray"
-    push $P185, ""
-    push $P185, ""
-    push $P185, ""
-    push $P185, ";"
-    .return ($P185)
+    new $P188, "ResizablePMCArray"
+    push $P188, ""
+    push $P188, ""
+    push $P188, ""
+    push $P188, ";"
+    .return ($P188)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "xblock"  :subid("38_1259103982.97329") :method :outer("11_1259103982.97329")
+.sub "xblock"  :subid("38_1259177761.22934") :method :outer("11_1259177761.22934")
 .annotate "line", 4
-    .local string rx189_tgt
-    .local int rx189_pos
-    .local int rx189_off
-    .local int rx189_eos
-    .local int rx189_rep
-    .local pmc rx189_cur
-    (rx189_cur, rx189_pos, rx189_tgt) = self."!cursor_start"()
-    rx189_cur."!cursor_debug"("START ", "xblock")
-    .lex unicode:"$\x{a2}", rx189_cur
+    .local string rx192_tgt
+    .local int rx192_pos
+    .local int rx192_off
+    .local int rx192_eos
+    .local int rx192_rep
+    .local pmc rx192_cur
+    (rx192_cur, rx192_pos, rx192_tgt) = self."!cursor_start"()
+    rx192_cur."!cursor_debug"("START ", "xblock")
+    .lex unicode:"$\x{a2}", rx192_cur
     .local pmc match
     .lex "$/", match
-    length rx189_eos, rx189_tgt
-    set rx189_off, 0
-    lt rx189_pos, 2, rx189_start
-    sub rx189_off, rx189_pos, 1
-    substr rx189_tgt, rx189_tgt, rx189_off
-  rx189_start:
+    length rx192_eos, rx192_tgt
+    set rx192_off, 0
+    lt rx192_pos, 2, rx192_start
+    sub rx192_off, rx192_pos, 1
+    substr rx192_tgt, rx192_tgt, rx192_off
+  rx192_start:
     $I10 = self.'from'()
-    ne $I10, -1, rxscan193_done
-    goto rxscan193_scan
-  rxscan193_loop:
-    ($P10) = rx189_cur."from"()
+    ne $I10, -1, rxscan196_done
+    goto rxscan196_scan
+  rxscan196_loop:
+    ($P10) = rx192_cur."from"()
     inc $P10
-    set rx189_pos, $P10
-    ge rx189_pos, rx189_eos, rxscan193_done
-  rxscan193_scan:
-    set_addr $I10, rxscan193_loop
-    rx189_cur."!mark_push"(0, rx189_pos, $I10)
-  rxscan193_done:
+    set rx192_pos, $P10
+    ge rx192_pos, rx192_eos, rxscan196_done
+  rxscan196_scan:
+    set_addr $I10, rxscan196_loop
+    rx192_cur."!mark_push"(0, rx192_pos, $I10)
+  rxscan196_done:
 .annotate "line", 109
   # rx subrule "EXPR" subtype=capture negate=
-    rx189_cur."!cursor_pos"(rx189_pos)
-    $P10 = rx189_cur."EXPR"()
-    unless $P10, rx189_fail
-    rx189_cur."!mark_push"(0, -1, 0, $P10)
+    rx192_cur."!cursor_pos"(rx192_pos)
+    $P10 = rx192_cur."EXPR"()
+    unless $P10, rx192_fail
+    rx192_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("EXPR")
-    rx189_pos = $P10."pos"()
+    rx192_pos = $P10."pos"()
   # rx subrule "ws" subtype=method negate=
-    rx189_cur."!cursor_pos"(rx189_pos)
-    $P10 = rx189_cur."ws"()
-    unless $P10, rx189_fail
-    rx189_pos = $P10."pos"()
+    rx192_cur."!cursor_pos"(rx192_pos)
+    $P10 = rx192_cur."ws"()
+    unless $P10, rx192_fail
+    rx192_pos = $P10."pos"()
   # rx subrule "pblock" subtype=capture negate=
-    rx189_cur."!cursor_pos"(rx189_pos)
-    $P10 = rx189_cur."pblock"()
-    unless $P10, rx189_fail
-    rx189_cur."!mark_push"(0, -1, 0, $P10)
+    rx192_cur."!cursor_pos"(rx192_pos)
+    $P10 = rx192_cur."pblock"()
+    unless $P10, rx192_fail
+    rx192_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("pblock")
-    rx189_pos = $P10."pos"()
+    rx192_pos = $P10."pos"()
 .annotate "line", 108
   # rx pass
-    rx189_cur."!cursor_pass"(rx189_pos, "xblock")
-    rx189_cur."!cursor_debug"("PASS  ", "xblock", " at pos=", rx189_pos)
-    .return (rx189_cur)
-  rx189_fail:
+    rx192_cur."!cursor_pass"(rx192_pos, "xblock")
+    rx192_cur."!cursor_debug"("PASS  ", "xblock", " at pos=", rx192_pos)
+    .return (rx192_cur)
+  rx192_fail:
 .annotate "line", 4
-    (rx189_rep, rx189_pos, $I10, $P10) = rx189_cur."!mark_fail"(0)
-    lt rx189_pos, -1, rx189_done
-    eq rx189_pos, -1, rx189_fail
+    (rx192_rep, rx192_pos, $I10, $P10) = rx192_cur."!mark_fail"(0)
+    lt rx192_pos, -1, rx192_done
+    eq rx192_pos, -1, rx192_fail
     jump $I10
-  rx189_done:
-    rx189_cur."!cursor_fail"()
-    rx189_cur."!cursor_debug"("FAIL  ", "xblock")
-    .return (rx189_cur)
+  rx192_done:
+    rx192_cur."!cursor_fail"()
+    rx192_cur."!cursor_debug"("FAIL  ", "xblock")
+    .return (rx192_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__xblock"  :subid("39_1259103982.97329") :method
+.sub "!PREFIX__xblock"  :subid("39_1259177761.22934") :method
 .annotate "line", 4
-    $P191 = self."!PREFIX__!subrule"("EXPR", "")
-    new $P192, "ResizablePMCArray"
-    push $P192, $P191
-    .return ($P192)
+    $P194 = self."!PREFIX__!subrule"("EXPR", "")
+    new $P195, "ResizablePMCArray"
+    push $P195, $P194
+    .return ($P195)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "pblock"  :subid("40_1259103982.97329") :method :outer("11_1259103982.97329")
+.sub "pblock"  :subid("40_1259177761.22934") :method :outer("11_1259177761.22934")
 .annotate "line", 4
-    .local string rx195_tgt
-    .local int rx195_pos
-    .local int rx195_off
-    .local int rx195_eos
-    .local int rx195_rep
-    .local pmc rx195_cur
-    (rx195_cur, rx195_pos, rx195_tgt) = self."!cursor_start"()
-    rx195_cur."!cursor_debug"("START ", "pblock")
-    .lex unicode:"$\x{a2}", rx195_cur
+    .local string rx198_tgt
+    .local int rx198_pos
+    .local int rx198_off
+    .local int rx198_eos
+    .local int rx198_rep
+    .local pmc rx198_cur
+    (rx198_cur, rx198_pos, rx198_tgt) = self."!cursor_start"()
+    rx198_cur."!cursor_debug"("START ", "pblock")
+    .lex unicode:"$\x{a2}", rx198_cur
     .local pmc match
     .lex "$/", match
-    length rx195_eos, rx195_tgt
-    set rx195_off, 0
-    lt rx195_pos, 2, rx195_start
-    sub rx195_off, rx195_pos, 1
-    substr rx195_tgt, rx195_tgt, rx195_off
-  rx195_start:
+    length rx198_eos, rx198_tgt
+    set rx198_off, 0
+    lt rx198_pos, 2, rx198_start
+    sub rx198_off, rx198_pos, 1
+    substr rx198_tgt, rx198_tgt, rx198_off
+  rx198_start:
     $I10 = self.'from'()
-    ne $I10, -1, rxscan200_done
-    goto rxscan200_scan
-  rxscan200_loop:
-    ($P10) = rx195_cur."from"()
+    ne $I10, -1, rxscan203_done
+    goto rxscan203_scan
+  rxscan203_loop:
+    ($P10) = rx198_cur."from"()
     inc $P10
-    set rx195_pos, $P10
-    ge rx195_pos, rx195_eos, rxscan200_done
-  rxscan200_scan:
-    set_addr $I10, rxscan200_loop
-    rx195_cur."!mark_push"(0, rx195_pos, $I10)
-  rxscan200_done:
-  alt201_0:
+    set rx198_pos, $P10
+    ge rx198_pos, rx198_eos, rxscan203_done
+  rxscan203_scan:
+    set_addr $I10, rxscan203_loop
+    rx198_cur."!mark_push"(0, rx198_pos, $I10)
+  rxscan203_done:
+  alt204_0:
 .annotate "line", 112
-    set_addr $I10, alt201_1
-    rx195_cur."!mark_push"(0, rx195_pos, $I10)
+    set_addr $I10, alt204_1
+    rx198_cur."!mark_push"(0, rx198_pos, $I10)
 .annotate "line", 113
   # rx subrule "lambda" subtype=method negate=
-    rx195_cur."!cursor_pos"(rx195_pos)
-    $P10 = rx195_cur."lambda"()
-    unless $P10, rx195_fail
-    rx195_pos = $P10."pos"()
+    rx198_cur."!cursor_pos"(rx198_pos)
+    $P10 = rx198_cur."lambda"()
+    unless $P10, rx198_fail
+    rx198_pos = $P10."pos"()
 .annotate "line", 114
   # rx subrule "newpad" subtype=method negate=
-    rx195_cur."!cursor_pos"(rx195_pos)
-    $P10 = rx195_cur."newpad"()
-    unless $P10, rx195_fail
-    rx195_pos = $P10."pos"()
+    rx198_cur."!cursor_pos"(rx198_pos)
+    $P10 = rx198_cur."newpad"()
+    unless $P10, rx198_fail
+    rx198_pos = $P10."pos"()
 .annotate "line", 115
   # rx subrule "signature" subtype=capture negate=
-    rx195_cur."!cursor_pos"(rx195_pos)
-    $P10 = rx195_cur."signature"()
-    unless $P10, rx195_fail
-    rx195_cur."!mark_push"(0, -1, 0, $P10)
+    rx198_cur."!cursor_pos"(rx198_pos)
+    $P10 = rx198_cur."signature"()
+    unless $P10, rx198_fail
+    rx198_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("signature")
-    rx195_pos = $P10."pos"()
+    rx198_pos = $P10."pos"()
 .annotate "line", 116
   # rx subrule "blockoid" subtype=capture negate=
-    rx195_cur."!cursor_pos"(rx195_pos)
-    $P10 = rx195_cur."blockoid"()
-    unless $P10, rx195_fail
-    rx195_cur."!mark_push"(0, -1, 0, $P10)
+    rx198_cur."!cursor_pos"(rx198_pos)
+    $P10 = rx198_cur."blockoid"()
+    unless $P10, rx198_fail
+    rx198_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("blockoid")
-    rx195_pos = $P10."pos"()
+    rx198_pos = $P10."pos"()
 .annotate "line", 113
-    goto alt201_end
-  alt201_1:
-    set_addr $I10, alt201_2
-    rx195_cur."!mark_push"(0, rx195_pos, $I10)
+    goto alt204_end
+  alt204_1:
+    set_addr $I10, alt204_2
+    rx198_cur."!mark_push"(0, rx198_pos, $I10)
 .annotate "line", 117
   # rx enumcharlist negate=0 zerowidth
-    ge rx195_pos, rx195_eos, rx195_fail
-    sub $I10, rx195_pos, rx195_off
-    substr $S10, rx195_tgt, $I10, 1
+    ge rx198_pos, rx198_eos, rx198_fail
+    sub $I10, rx198_pos, rx198_off
+    substr $S10, rx198_tgt, $I10, 1
     index $I11, "{", $S10
-    lt $I11, 0, rx195_fail
+    lt $I11, 0, rx198_fail
 .annotate "line", 118
   # rx subrule "newpad" subtype=method negate=
-    rx195_cur."!cursor_pos"(rx195_pos)
-    $P10 = rx195_cur."newpad"()
-    unless $P10, rx195_fail
-    rx195_pos = $P10."pos"()
+    rx198_cur."!cursor_pos"(rx198_pos)
+    $P10 = rx198_cur."newpad"()
+    unless $P10, rx198_fail
+    rx198_pos = $P10."pos"()
 .annotate "line", 119
   # rx subrule "blockoid" subtype=capture negate=
-    rx195_cur."!cursor_pos"(rx195_pos)
-    $P10 = rx195_cur."blockoid"()
-    unless $P10, rx195_fail
-    rx195_cur."!mark_push"(0, -1, 0, $P10)
+    rx198_cur."!cursor_pos"(rx198_pos)
+    $P10 = rx198_cur."blockoid"()
+    unless $P10, rx198_fail
+    rx198_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("blockoid")
-    rx195_pos = $P10."pos"()
+    rx198_pos = $P10."pos"()
 .annotate "line", 117
-    goto alt201_end
-  alt201_2:
+    goto alt204_end
+  alt204_2:
 .annotate "line", 120
   # rx subrule "panic" subtype=method negate=
-    rx195_cur."!cursor_pos"(rx195_pos)
-    $P10 = rx195_cur."panic"("Missing block")
-    unless $P10, rx195_fail
-    rx195_pos = $P10."pos"()
-  alt201_end:
+    rx198_cur."!cursor_pos"(rx198_pos)
+    $P10 = rx198_cur."panic"("Missing block")
+    unless $P10, rx198_fail
+    rx198_pos = $P10."pos"()
+  alt204_end:
 .annotate "line", 112
   # rx pass
-    rx195_cur."!cursor_pass"(rx195_pos, "pblock")
-    rx195_cur."!cursor_debug"("PASS  ", "pblock", " at pos=", rx195_pos)
-    .return (rx195_cur)
-  rx195_fail:
+    rx198_cur."!cursor_pass"(rx198_pos, "pblock")
+    rx198_cur."!cursor_debug"("PASS  ", "pblock", " at pos=", rx198_pos)
+    .return (rx198_cur)
+  rx198_fail:
 .annotate "line", 4
-    (rx195_rep, rx195_pos, $I10, $P10) = rx195_cur."!mark_fail"(0)
-    lt rx195_pos, -1, rx195_done
-    eq rx195_pos, -1, rx195_fail
+    (rx198_rep, rx198_pos, $I10, $P10) = rx198_cur."!mark_fail"(0)
+    lt rx198_pos, -1, rx198_done
+    eq rx198_pos, -1, rx198_fail
     jump $I10
-  rx195_done:
-    rx195_cur."!cursor_fail"()
-    rx195_cur."!cursor_debug"("FAIL  ", "pblock")
-    .return (rx195_cur)
+  rx198_done:
+    rx198_cur."!cursor_fail"()
+    rx198_cur."!cursor_debug"("FAIL  ", "pblock")
+    .return (rx198_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__pblock"  :subid("41_1259103982.97329") :method
+.sub "!PREFIX__pblock"  :subid("41_1259177761.22934") :method
 .annotate "line", 4
-    $P197 = self."!PREFIX__!subrule"("", "")
-    $P198 = self."!PREFIX__!subrule"("", "")
-    new $P199, "ResizablePMCArray"
-    push $P199, $P197
-    push $P199, "{"
-    push $P199, $P198
-    .return ($P199)
+    $P200 = self."!PREFIX__!subrule"("", "")
+    $P201 = self."!PREFIX__!subrule"("", "")
+    new $P202, "ResizablePMCArray"
+    push $P202, $P200
+    push $P202, "{"
+    push $P202, $P201
+    .return ($P202)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "lambda"  :subid("42_1259103982.97329") :method :outer("11_1259103982.97329")
+.sub "lambda"  :subid("42_1259177761.22934") :method :outer("11_1259177761.22934")
 .annotate "line", 4
-    .local string rx203_tgt
-    .local int rx203_pos
-    .local int rx203_off
-    .local int rx203_eos
-    .local int rx203_rep
-    .local pmc rx203_cur
-    (rx203_cur, rx203_pos, rx203_tgt) = self."!cursor_start"()
-    rx203_cur."!cursor_debug"("START ", "lambda")
-    .lex unicode:"$\x{a2}", rx203_cur
+    .local string rx206_tgt
+    .local int rx206_pos
+    .local int rx206_off
+    .local int rx206_eos
+    .local int rx206_rep
+    .local pmc rx206_cur
+    (rx206_cur, rx206_pos, rx206_tgt) = self."!cursor_start"()
+    rx206_cur."!cursor_debug"("START ", "lambda")
+    .lex unicode:"$\x{a2}", rx206_cur
     .local pmc match
     .lex "$/", match
-    length rx203_eos, rx203_tgt
-    set rx203_off, 0
-    lt rx203_pos, 2, rx203_start
-    sub rx203_off, rx203_pos, 1
-    substr rx203_tgt, rx203_tgt, rx203_off
-  rx203_start:
+    length rx206_eos, rx206_tgt
+    set rx206_off, 0
+    lt rx206_pos, 2, rx206_start
+    sub rx206_off, rx206_pos, 1
+    substr rx206_tgt, rx206_tgt, rx206_off
+  rx206_start:
     $I10 = self.'from'()
-    ne $I10, -1, rxscan206_done
-    goto rxscan206_scan
-  rxscan206_loop:
-    ($P10) = rx203_cur."from"()
+    ne $I10, -1, rxscan209_done
+    goto rxscan209_scan
+  rxscan209_loop:
+    ($P10) = rx206_cur."from"()
     inc $P10
-    set rx203_pos, $P10
-    ge rx203_pos, rx203_eos, rxscan206_done
-  rxscan206_scan:
-    set_addr $I10, rxscan206_loop
-    rx203_cur."!mark_push"(0, rx203_pos, $I10)
-  rxscan206_done:
-  alt207_0:
+    set rx206_pos, $P10
+    ge rx206_pos, rx206_eos, rxscan209_done
+  rxscan209_scan:
+    set_addr $I10, rxscan209_loop
+    rx206_cur."!mark_push"(0, rx206_pos, $I10)
+  rxscan209_done:
+  alt210_0:
 .annotate "line", 123
-    set_addr $I10, alt207_1
-    rx203_cur."!mark_push"(0, rx203_pos, $I10)
+    set_addr $I10, alt210_1
+    rx206_cur."!mark_push"(0, rx206_pos, $I10)
   # rx literal  "->"
-    add $I11, rx203_pos, 2
-    gt $I11, rx203_eos, rx203_fail
-    sub $I11, rx203_pos, rx203_off
-    substr $S10, rx203_tgt, $I11, 2
-    ne $S10, "->", rx203_fail
-    add rx203_pos, 2
-    goto alt207_end
-  alt207_1:
+    add $I11, rx206_pos, 2
+    gt $I11, rx206_eos, rx206_fail
+    sub $I11, rx206_pos, rx206_off
+    substr $S10, rx206_tgt, $I11, 2
+    ne $S10, "->", rx206_fail
+    add rx206_pos, 2
+    goto alt210_end
+  alt210_1:
   # rx literal  "<->"
-    add $I11, rx203_pos, 3
-    gt $I11, rx203_eos, rx203_fail
-    sub $I11, rx203_pos, rx203_off
-    substr $S10, rx203_tgt, $I11, 3
-    ne $S10, "<->", rx203_fail
-    add rx203_pos, 3
-  alt207_end:
+    add $I11, rx206_pos, 3
+    gt $I11, rx206_eos, rx206_fail
+    sub $I11, rx206_pos, rx206_off
+    substr $S10, rx206_tgt, $I11, 3
+    ne $S10, "<->", rx206_fail
+    add rx206_pos, 3
+  alt210_end:
   # rx pass
-    rx203_cur."!cursor_pass"(rx203_pos, "lambda")
-    rx203_cur."!cursor_debug"("PASS  ", "lambda", " at pos=", rx203_pos)
-    .return (rx203_cur)
-  rx203_fail:
+    rx206_cur."!cursor_pass"(rx206_pos, "lambda")
+    rx206_cur."!cursor_debug"("PASS  ", "lambda", " at pos=", rx206_pos)
+    .return (rx206_cur)
+  rx206_fail:
 .annotate "line", 4
-    (rx203_rep, rx203_pos, $I10, $P10) = rx203_cur."!mark_fail"(0)
-    lt rx203_pos, -1, rx203_done
-    eq rx203_pos, -1, rx203_fail
+    (rx206_rep, rx206_pos, $I10, $P10) = rx206_cur."!mark_fail"(0)
+    lt rx206_pos, -1, rx206_done
+    eq rx206_pos, -1, rx206_fail
     jump $I10
-  rx203_done:
-    rx203_cur."!cursor_fail"()
-    rx203_cur."!cursor_debug"("FAIL  ", "lambda")
-    .return (rx203_cur)
+  rx206_done:
+    rx206_cur."!cursor_fail"()
+    rx206_cur."!cursor_debug"("FAIL  ", "lambda")
+    .return (rx206_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__lambda"  :subid("43_1259103982.97329") :method
+.sub "!PREFIX__lambda"  :subid("43_1259177761.22934") :method
 .annotate "line", 4
-    new $P205, "ResizablePMCArray"
-    push $P205, "<->"
-    push $P205, "->"
-    .return ($P205)
+    new $P208, "ResizablePMCArray"
+    push $P208, "<->"
+    push $P208, "->"
+    .return ($P208)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "block"  :subid("44_1259103982.97329") :method :outer("11_1259103982.97329")
+.sub "block"  :subid("44_1259177761.22934") :method :outer("11_1259177761.22934")
 .annotate "line", 4
-    .local string rx209_tgt
-    .local int rx209_pos
-    .local int rx209_off
-    .local int rx209_eos
-    .local int rx209_rep
-    .local pmc rx209_cur
-    (rx209_cur, rx209_pos, rx209_tgt) = self."!cursor_start"()
-    rx209_cur."!cursor_debug"("START ", "block")
-    .lex unicode:"$\x{a2}", rx209_cur
+    .local string rx212_tgt
+    .local int rx212_pos
+    .local int rx212_off
+    .local int rx212_eos
+    .local int rx212_rep
+    .local pmc rx212_cur
+    (rx212_cur, rx212_pos, rx212_tgt) = self."!cursor_start"()
+    rx212_cur."!cursor_debug"("START ", "block")
+    .lex unicode:"$\x{a2}", rx212_cur
     .local pmc match
     .lex "$/", match
-    length rx209_eos, rx209_tgt
-    set rx209_off, 0
-    lt rx209_pos, 2, rx209_start
-    sub rx209_off, rx209_pos, 1
-    substr rx209_tgt, rx209_tgt, rx209_off
-  rx209_start:
+    length rx212_eos, rx212_tgt
+    set rx212_off, 0
+    lt rx212_pos, 2, rx212_start
+    sub rx212_off, rx212_pos, 1
+    substr rx212_tgt, rx212_tgt, rx212_off
+  rx212_start:
     $I10 = self.'from'()
-    ne $I10, -1, rxscan213_done
-    goto rxscan213_scan
-  rxscan213_loop:
-    ($P10) = rx209_cur."from"()
+    ne $I10, -1, rxscan216_done
+    goto rxscan216_scan
+  rxscan216_loop:
+    ($P10) = rx212_cur."from"()
     inc $P10
-    set rx209_pos, $P10
-    ge rx209_pos, rx209_eos, rxscan213_done
-  rxscan213_scan:
-    set_addr $I10, rxscan213_loop
-    rx209_cur."!mark_push"(0, rx209_pos, $I10)
-  rxscan213_done:
-  alt214_0:
+    set rx212_pos, $P10
+    ge rx212_pos, rx212_eos, rxscan216_done
+  rxscan216_scan:
+    set_addr $I10, rxscan216_loop
+    rx212_cur."!mark_push"(0, rx212_pos, $I10)
+  rxscan216_done:
+  alt217_0:
 .annotate "line", 126
-    set_addr $I10, alt214_1
-    rx209_cur."!mark_push"(0, rx209_pos, $I10)
+    set_addr $I10, alt217_1
+    rx212_cur."!mark_push"(0, rx212_pos, $I10)
   # rx enumcharlist negate=0 zerowidth
-    ge rx209_pos, rx209_eos, rx209_fail
-    sub $I10, rx209_pos, rx209_off
-    substr $S10, rx209_tgt, $I10, 1
+    ge rx212_pos, rx212_eos, rx212_fail
+    sub $I10, rx212_pos, rx212_off
+    substr $S10, rx212_tgt, $I10, 1
     index $I11, "{", $S10
-    lt $I11, 0, rx209_fail
-    goto alt214_end
-  alt214_1:
+    lt $I11, 0, rx212_fail
+    goto alt217_end
+  alt217_1:
   # rx subrule "panic" subtype=method negate=
-    rx209_cur."!cursor_pos"(rx209_pos)
-    $P10 = rx209_cur."panic"("Missing block")
-    unless $P10, rx209_fail
-    rx209_pos = $P10."pos"()
-  alt214_end:
+    rx212_cur."!cursor_pos"(rx212_pos)
+    $P10 = rx212_cur."panic"("Missing block")
+    unless $P10, rx212_fail
+    rx212_pos = $P10."pos"()
+  alt217_end:
 .annotate "line", 127
   # rx subrule "newpad" subtype=method negate=
-    rx209_cur."!cursor_pos"(rx209_pos)
-    $P10 = rx209_cur."newpad"()
-    unless $P10, rx209_fail
-    rx209_pos = $P10."pos"()
+    rx212_cur."!cursor_pos"(rx212_pos)
+    $P10 = rx212_cur."newpad"()
+    unless $P10, rx212_fail
+    rx212_pos = $P10."pos"()
 .annotate "line", 128
   # rx subrule "blockoid" subtype=capture negate=
-    rx209_cur."!cursor_pos"(rx209_pos)
-    $P10 = rx209_cur."blockoid"()
-    unless $P10, rx209_fail
-    rx209_cur."!mark_push"(0, -1, 0, $P10)
+    rx212_cur."!cursor_pos"(rx212_pos)
+    $P10 = rx212_cur."blockoid"()
+    unless $P10, rx212_fail
+    rx212_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("blockoid")
-    rx209_pos = $P10."pos"()
+    rx212_pos = $P10."pos"()
 .annotate "line", 125
   # rx pass
-    rx209_cur."!cursor_pass"(rx209_pos, "block")
-    rx209_cur."!cursor_debug"("PASS  ", "block", " at pos=", rx209_pos)
-    .return (rx209_cur)
-  rx209_fail:
+    rx212_cur."!cursor_pass"(rx212_pos, "block")
+    rx212_cur."!cursor_debug"("PASS  ", "block", " at pos=", rx212_pos)
+    .return (rx212_cur)
+  rx212_fail:
 .annotate "line", 4
-    (rx209_rep, rx209_pos, $I10, $P10) = rx209_cur."!mark_fail"(0)
-    lt rx209_pos, -1, rx209_done
-    eq rx209_pos, -1, rx209_fail
+    (rx212_rep, rx212_pos, $I10, $P10) = rx212_cur."!mark_fail"(0)
+    lt rx212_pos, -1, rx212_done
+    eq rx212_pos, -1, rx212_fail
     jump $I10
-  rx209_done:
-    rx209_cur."!cursor_fail"()
-    rx209_cur."!cursor_debug"("FAIL  ", "block")
-    .return (rx209_cur)
+  rx212_done:
+    rx212_cur."!cursor_fail"()
+    rx212_cur."!cursor_debug"("FAIL  ", "block")
+    .return (rx212_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__block"  :subid("45_1259103982.97329") :method
+.sub "!PREFIX__block"  :subid("45_1259177761.22934") :method
 .annotate "line", 4
-    $P211 = self."!PREFIX__!subrule"("", "")
-    new $P212, "ResizablePMCArray"
-    push $P212, $P211
-    push $P212, "{"
-    .return ($P212)
+    $P214 = self."!PREFIX__!subrule"("", "")
+    new $P215, "ResizablePMCArray"
+    push $P215, $P214
+    push $P215, "{"
+    .return ($P215)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "blockoid"  :subid("46_1259103982.97329") :method :outer("11_1259103982.97329")
+.sub "blockoid"  :subid("46_1259177761.22934") :method :outer("11_1259177761.22934")
 .annotate "line", 4
-    .local string rx216_tgt
-    .local int rx216_pos
-    .local int rx216_off
-    .local int rx216_eos
-    .local int rx216_rep
-    .local pmc rx216_cur
-    (rx216_cur, rx216_pos, rx216_tgt) = self."!cursor_start"()
-    rx216_cur."!cursor_debug"("START ", "blockoid")
-    .lex unicode:"$\x{a2}", rx216_cur
+    .local string rx219_tgt
+    .local int rx219_pos
+    .local int rx219_off
+    .local int rx219_eos
+    .local int rx219_rep
+    .local pmc rx219_cur
+    (rx219_cur, rx219_pos, rx219_tgt) = self."!cursor_start"()
+    rx219_cur."!cursor_debug"("START ", "blockoid")
+    .lex unicode:"$\x{a2}", rx219_cur
     .local pmc match
     .lex "$/", match
-    length rx216_eos, rx216_tgt
-    set rx216_off, 0
-    lt rx216_pos, 2, rx216_start
-    sub rx216_off, rx216_pos, 1
-    substr rx216_tgt, rx216_tgt, rx216_off
-  rx216_start:
+    length rx219_eos, rx219_tgt
+    set rx219_off, 0
+    lt rx219_pos, 2, rx219_start
+    sub rx219_off, rx219_pos, 1
+    substr rx219_tgt, rx219_tgt, rx219_off
+  rx219_start:
     $I10 = self.'from'()
-    ne $I10, -1, rxscan220_done
-    goto rxscan220_scan
-  rxscan220_loop:
-    ($P10) = rx216_cur."from"()
+    ne $I10, -1, rxscan223_done
+    goto rxscan223_scan
+  rxscan223_loop:
+    ($P10) = rx219_cur."from"()
     inc $P10
-    set rx216_pos, $P10
-    ge rx216_pos, rx216_eos, rxscan220_done
-  rxscan220_scan:
-    set_addr $I10, rxscan220_loop
-    rx216_cur."!mark_push"(0, rx216_pos, $I10)
-  rxscan220_done:
+    set rx219_pos, $P10
+    ge rx219_pos, rx219_eos, rxscan223_done
+  rxscan223_scan:
+    set_addr $I10, rxscan223_loop
+    rx219_cur."!mark_push"(0, rx219_pos, $I10)
+  rxscan223_done:
 .annotate "line", 132
   # rx subrule "finishpad" subtype=method negate=
-    rx216_cur."!cursor_pos"(rx216_pos)
-    $P10 = rx216_cur."finishpad"()
-    unless $P10, rx216_fail
-    rx216_pos = $P10."pos"()
+    rx219_cur."!cursor_pos"(rx219_pos)
+    $P10 = rx219_cur."finishpad"()
+    unless $P10, rx219_fail
+    rx219_pos = $P10."pos"()
 .annotate "line", 133
   # rx literal  "{"
-    add $I11, rx216_pos, 1
-    gt $I11, rx216_eos, rx216_fail
-    sub $I11, rx216_pos, rx216_off
-    substr $S10, rx216_tgt, $I11, 1
-    ne $S10, "{", rx216_fail
-    add rx216_pos, 1
+    add $I11, rx219_pos, 1
+    gt $I11, rx219_eos, rx219_fail
+    sub $I11, rx219_pos, rx219_off
+    substr $S10, rx219_tgt, $I11, 1
+    ne $S10, "{", rx219_fail
+    add rx219_pos, 1
   # rx subrule "statementlist" subtype=capture negate=
-    rx216_cur."!cursor_pos"(rx216_pos)
-    $P10 = rx216_cur."statementlist"()
-    unless $P10, rx216_fail
-    rx216_cur."!mark_push"(0, -1, 0, $P10)
+    rx219_cur."!cursor_pos"(rx219_pos)
+    $P10 = rx219_cur."statementlist"()
+    unless $P10, rx219_fail
+    rx219_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("statementlist")
-    rx216_pos = $P10."pos"()
-  alt221_0:
-    set_addr $I10, alt221_1
-    rx216_cur."!mark_push"(0, rx216_pos, $I10)
+    rx219_pos = $P10."pos"()
+  alt224_0:
+    set_addr $I10, alt224_1
+    rx219_cur."!mark_push"(0, rx219_pos, $I10)
   # rx literal  "}"
-    add $I11, rx216_pos, 1
-    gt $I11, rx216_eos, rx216_fail
-    sub $I11, rx216_pos, rx216_off
-    substr $S10, rx216_tgt, $I11, 1
-    ne $S10, "}", rx216_fail
-    add rx216_pos, 1
-    goto alt221_end
-  alt221_1:
+    add $I11, rx219_pos, 1
+    gt $I11, rx219_eos, rx219_fail
+    sub $I11, rx219_pos, rx219_off
+    substr $S10, rx219_tgt, $I11, 1
+    ne $S10, "}", rx219_fail
+    add rx219_pos, 1
+    goto alt224_end
+  alt224_1:
   # rx subrule "FAILGOAL" subtype=method negate=
-    rx216_cur."!cursor_pos"(rx216_pos)
-    $P10 = rx216_cur."FAILGOAL"("'}'")
-    unless $P10, rx216_fail
-    rx216_pos = $P10."pos"()
-  alt221_end:
+    rx219_cur."!cursor_pos"(rx219_pos)
+    $P10 = rx219_cur."FAILGOAL"("'}'")
+    unless $P10, rx219_fail
+    rx219_pos = $P10."pos"()
+  alt224_end:
 .annotate "line", 134
   # rx subrule "ENDSTMT" subtype=zerowidth negate=
-    rx216_cur."!cursor_pos"(rx216_pos)
-    $P10 = rx216_cur."ENDSTMT"()
-    unless $P10, rx216_fail
+    rx219_cur."!cursor_pos"(rx219_pos)
+    $P10 = rx219_cur."ENDSTMT"()
+    unless $P10, rx219_fail
 .annotate "line", 131
   # rx pass
-    rx216_cur."!cursor_pass"(rx216_pos, "blockoid")
-    rx216_cur."!cursor_debug"("PASS  ", "blockoid", " at pos=", rx216_pos)
-    .return (rx216_cur)
-  rx216_fail:
+    rx219_cur."!cursor_pass"(rx219_pos, "blockoid")
+    rx219_cur."!cursor_debug"("PASS  ", "blockoid", " at pos=", rx219_pos)
+    .return (rx219_cur)
+  rx219_fail:
 .annotate "line", 4
-    (rx216_rep, rx216_pos, $I10, $P10) = rx216_cur."!mark_fail"(0)
-    lt rx216_pos, -1, rx216_done
-    eq rx216_pos, -1, rx216_fail
+    (rx219_rep, rx219_pos, $I10, $P10) = rx219_cur."!mark_fail"(0)
+    lt rx219_pos, -1, rx219_done
+    eq rx219_pos, -1, rx219_fail
     jump $I10
-  rx216_done:
-    rx216_cur."!cursor_fail"()
-    rx216_cur."!cursor_debug"("FAIL  ", "blockoid")
-    .return (rx216_cur)
+  rx219_done:
+    rx219_cur."!cursor_fail"()
+    rx219_cur."!cursor_debug"("FAIL  ", "blockoid")
+    .return (rx219_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__blockoid"  :subid("47_1259103982.97329") :method
+.sub "!PREFIX__blockoid"  :subid("47_1259177761.22934") :method
 .annotate "line", 4
-    $P218 = self."!PREFIX__!subrule"("", "")
-    new $P219, "ResizablePMCArray"
-    push $P219, $P218
-    .return ($P219)
+    $P221 = self."!PREFIX__!subrule"("", "")
+    new $P222, "ResizablePMCArray"
+    push $P222, $P221
+    .return ($P222)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "newpad"  :subid("48_1259103982.97329") :method :outer("11_1259103982.97329")
+.sub "newpad"  :subid("48_1259177761.22934") :method :outer("11_1259177761.22934")
 .annotate "line", 4
-    .local string rx224_tgt
-    .local int rx224_pos
-    .local int rx224_off
-    .local int rx224_eos
-    .local int rx224_rep
-    .local pmc rx224_cur
-    (rx224_cur, rx224_pos, rx224_tgt) = self."!cursor_start"()
-    rx224_cur."!cursor_debug"("START ", "newpad")
-    .lex unicode:"$\x{a2}", rx224_cur
-    .local pmc match
-    .lex "$/", match
-    length rx224_eos, rx224_tgt
-    set rx224_off, 0
-    lt rx224_pos, 2, rx224_start
-    sub rx224_off, rx224_pos, 1
-    substr rx224_tgt, rx224_tgt, rx224_off
-  rx224_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan227_done
-    goto rxscan227_scan
-  rxscan227_loop:
-    ($P10) = rx224_cur."from"()
-    inc $P10
-    set rx224_pos, $P10
-    ge rx224_pos, rx224_eos, rxscan227_done
-  rxscan227_scan:
-    set_addr $I10, rxscan227_loop
-    rx224_cur."!mark_push"(0, rx224_pos, $I10)
-  rxscan227_done:
+    .local string rx227_tgt
+    .local int rx227_pos
+    .local int rx227_off
+    .local int rx227_eos
+    .local int rx227_rep
+    .local pmc rx227_cur
+    (rx227_cur, rx227_pos, rx227_tgt) = self."!cursor_start"()
+    rx227_cur."!cursor_debug"("START ", "newpad")
+    .lex unicode:"$\x{a2}", rx227_cur
+    .local pmc match
+    .lex "$/", match
+    length rx227_eos, rx227_tgt
+    set rx227_off, 0
+    lt rx227_pos, 2, rx227_start
+    sub rx227_off, rx227_pos, 1
+    substr rx227_tgt, rx227_tgt, rx227_off
+  rx227_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan230_done
+    goto rxscan230_scan
+  rxscan230_loop:
+    ($P10) = rx227_cur."from"()
+    inc $P10
+    set rx227_pos, $P10
+    ge rx227_pos, rx227_eos, rxscan230_done
+  rxscan230_scan:
+    set_addr $I10, rxscan230_loop
+    rx227_cur."!mark_push"(0, rx227_pos, $I10)
+  rxscan230_done:
 .annotate "line", 137
   # rx pass
-    rx224_cur."!cursor_pass"(rx224_pos, "newpad")
-    rx224_cur."!cursor_debug"("PASS  ", "newpad", " at pos=", rx224_pos)
-    .return (rx224_cur)
-  rx224_fail:
+    rx227_cur."!cursor_pass"(rx227_pos, "newpad")
+    rx227_cur."!cursor_debug"("PASS  ", "newpad", " at pos=", rx227_pos)
+    .return (rx227_cur)
+  rx227_fail:
 .annotate "line", 4
-    (rx224_rep, rx224_pos, $I10, $P10) = rx224_cur."!mark_fail"(0)
-    lt rx224_pos, -1, rx224_done
-    eq rx224_pos, -1, rx224_fail
+    (rx227_rep, rx227_pos, $I10, $P10) = rx227_cur."!mark_fail"(0)
+    lt rx227_pos, -1, rx227_done
+    eq rx227_pos, -1, rx227_fail
     jump $I10
-  rx224_done:
-    rx224_cur."!cursor_fail"()
-    rx224_cur."!cursor_debug"("FAIL  ", "newpad")
-    .return (rx224_cur)
+  rx227_done:
+    rx227_cur."!cursor_fail"()
+    rx227_cur."!cursor_debug"("FAIL  ", "newpad")
+    .return (rx227_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__newpad"  :subid("49_1259103982.97329") :method
+.sub "!PREFIX__newpad"  :subid("49_1259177761.22934") :method
 .annotate "line", 4
-    new $P226, "ResizablePMCArray"
-    push $P226, ""
-    .return ($P226)
+    new $P229, "ResizablePMCArray"
+    push $P229, ""
+    .return ($P229)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "finishpad"  :subid("50_1259103982.97329") :method :outer("11_1259103982.97329")
+.sub "finishpad"  :subid("50_1259177761.22934") :method :outer("11_1259177761.22934")
 .annotate "line", 4
-    .local string rx229_tgt
-    .local int rx229_pos
-    .local int rx229_off
-    .local int rx229_eos
-    .local int rx229_rep
-    .local pmc rx229_cur
-    (rx229_cur, rx229_pos, rx229_tgt) = self."!cursor_start"()
-    rx229_cur."!cursor_debug"("START ", "finishpad")
-    .lex unicode:"$\x{a2}", rx229_cur
-    .local pmc match
-    .lex "$/", match
-    length rx229_eos, rx229_tgt
-    set rx229_off, 0
-    lt rx229_pos, 2, rx229_start
-    sub rx229_off, rx229_pos, 1
-    substr rx229_tgt, rx229_tgt, rx229_off
-  rx229_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan232_done
-    goto rxscan232_scan
-  rxscan232_loop:
-    ($P10) = rx229_cur."from"()
-    inc $P10
-    set rx229_pos, $P10
-    ge rx229_pos, rx229_eos, rxscan232_done
-  rxscan232_scan:
-    set_addr $I10, rxscan232_loop
-    rx229_cur."!mark_push"(0, rx229_pos, $I10)
-  rxscan232_done:
+    .local string rx232_tgt
+    .local int rx232_pos
+    .local int rx232_off
+    .local int rx232_eos
+    .local int rx232_rep
+    .local pmc rx232_cur
+    (rx232_cur, rx232_pos, rx232_tgt) = self."!cursor_start"()
+    rx232_cur."!cursor_debug"("START ", "finishpad")
+    .lex unicode:"$\x{a2}", rx232_cur
+    .local pmc match
+    .lex "$/", match
+    length rx232_eos, rx232_tgt
+    set rx232_off, 0
+    lt rx232_pos, 2, rx232_start
+    sub rx232_off, rx232_pos, 1
+    substr rx232_tgt, rx232_tgt, rx232_off
+  rx232_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan235_done
+    goto rxscan235_scan
+  rxscan235_loop:
+    ($P10) = rx232_cur."from"()
+    inc $P10
+    set rx232_pos, $P10
+    ge rx232_pos, rx232_eos, rxscan235_done
+  rxscan235_scan:
+    set_addr $I10, rxscan235_loop
+    rx232_cur."!mark_push"(0, rx232_pos, $I10)
+  rxscan235_done:
 .annotate "line", 138
   # rx pass
-    rx229_cur."!cursor_pass"(rx229_pos, "finishpad")
-    rx229_cur."!cursor_debug"("PASS  ", "finishpad", " at pos=", rx229_pos)
-    .return (rx229_cur)
-  rx229_fail:
+    rx232_cur."!cursor_pass"(rx232_pos, "finishpad")
+    rx232_cur."!cursor_debug"("PASS  ", "finishpad", " at pos=", rx232_pos)
+    .return (rx232_cur)
+  rx232_fail:
 .annotate "line", 4
-    (rx229_rep, rx229_pos, $I10, $P10) = rx229_cur."!mark_fail"(0)
-    lt rx229_pos, -1, rx229_done
-    eq rx229_pos, -1, rx229_fail
+    (rx232_rep, rx232_pos, $I10, $P10) = rx232_cur."!mark_fail"(0)
+    lt rx232_pos, -1, rx232_done
+    eq rx232_pos, -1, rx232_fail
     jump $I10
-  rx229_done:
-    rx229_cur."!cursor_fail"()
-    rx229_cur."!cursor_debug"("FAIL  ", "finishpad")
-    .return (rx229_cur)
+  rx232_done:
+    rx232_cur."!cursor_fail"()
+    rx232_cur."!cursor_debug"("FAIL  ", "finishpad")
+    .return (rx232_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__finishpad"  :subid("51_1259103982.97329") :method
+.sub "!PREFIX__finishpad"  :subid("51_1259177761.22934") :method
 .annotate "line", 4
-    new $P231, "ResizablePMCArray"
-    push $P231, ""
-    .return ($P231)
+    new $P234, "ResizablePMCArray"
+    push $P234, ""
+    .return ($P234)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "terminator"  :subid("52_1259103982.97329") :method
+.sub "terminator"  :subid("52_1259177761.22934") :method
 .annotate "line", 140
-    $P234 = self."!protoregex"("terminator")
-    .return ($P234)
+    $P237 = self."!protoregex"("terminator")
+    .return ($P237)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__terminator"  :subid("53_1259103982.97329") :method
+.sub "!PREFIX__terminator"  :subid("53_1259177761.22934") :method
 .annotate "line", 140
-    $P236 = self."!PREFIX__!protoregex"("terminator")
-    .return ($P236)
+    $P239 = self."!PREFIX__!protoregex"("terminator")
+    .return ($P239)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "terminator:sym<;>"  :subid("54_1259103982.97329") :method :outer("11_1259103982.97329")
+.sub "terminator:sym<;>"  :subid("54_1259177761.22934") :method :outer("11_1259177761.22934")
 .annotate "line", 4
-    .local string rx238_tgt
-    .local int rx238_pos
-    .local int rx238_off
-    .local int rx238_eos
-    .local int rx238_rep
-    .local pmc rx238_cur
-    (rx238_cur, rx238_pos, rx238_tgt) = self."!cursor_start"()
-    rx238_cur."!cursor_debug"("START ", "terminator:sym<;>")
-    .lex unicode:"$\x{a2}", rx238_cur
-    .local pmc match
-    .lex "$/", match
-    length rx238_eos, rx238_tgt
-    set rx238_off, 0
-    lt rx238_pos, 2, rx238_start
-    sub rx238_off, rx238_pos, 1
-    substr rx238_tgt, rx238_tgt, rx238_off
-  rx238_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan241_done
-    goto rxscan241_scan
-  rxscan241_loop:
-    ($P10) = rx238_cur."from"()
-    inc $P10
-    set rx238_pos, $P10
-    ge rx238_pos, rx238_eos, rxscan241_done
-  rxscan241_scan:
-    set_addr $I10, rxscan241_loop
-    rx238_cur."!mark_push"(0, rx238_pos, $I10)
-  rxscan241_done:
+    .local string rx241_tgt
+    .local int rx241_pos
+    .local int rx241_off
+    .local int rx241_eos
+    .local int rx241_rep
+    .local pmc rx241_cur
+    (rx241_cur, rx241_pos, rx241_tgt) = self."!cursor_start"()
+    rx241_cur."!cursor_debug"("START ", "terminator:sym<;>")
+    .lex unicode:"$\x{a2}", rx241_cur
+    .local pmc match
+    .lex "$/", match
+    length rx241_eos, rx241_tgt
+    set rx241_off, 0
+    lt rx241_pos, 2, rx241_start
+    sub rx241_off, rx241_pos, 1
+    substr rx241_tgt, rx241_tgt, rx241_off
+  rx241_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan244_done
+    goto rxscan244_scan
+  rxscan244_loop:
+    ($P10) = rx241_cur."from"()
+    inc $P10
+    set rx241_pos, $P10
+    ge rx241_pos, rx241_eos, rxscan244_done
+  rxscan244_scan:
+    set_addr $I10, rxscan244_loop
+    rx241_cur."!mark_push"(0, rx241_pos, $I10)
+  rxscan244_done:
 .annotate "line", 142
   # rx enumcharlist negate=0 zerowidth
-    ge rx238_pos, rx238_eos, rx238_fail
-    sub $I10, rx238_pos, rx238_off
-    substr $S10, rx238_tgt, $I10, 1
+    ge rx241_pos, rx241_eos, rx241_fail
+    sub $I10, rx241_pos, rx241_off
+    substr $S10, rx241_tgt, $I10, 1
     index $I11, ";", $S10
-    lt $I11, 0, rx238_fail
+    lt $I11, 0, rx241_fail
   # rx pass
-    rx238_cur."!cursor_pass"(rx238_pos, "terminator:sym<;>")
-    rx238_cur."!cursor_debug"("PASS  ", "terminator:sym<;>", " at pos=", rx238_pos)
-    .return (rx238_cur)
-  rx238_fail:
+    rx241_cur."!cursor_pass"(rx241_pos, "terminator:sym<;>")
+    rx241_cur."!cursor_debug"("PASS  ", "terminator:sym<;>", " at pos=", rx241_pos)
+    .return (rx241_cur)
+  rx241_fail:
 .annotate "line", 4
-    (rx238_rep, rx238_pos, $I10, $P10) = rx238_cur."!mark_fail"(0)
-    lt rx238_pos, -1, rx238_done
-    eq rx238_pos, -1, rx238_fail
+    (rx241_rep, rx241_pos, $I10, $P10) = rx241_cur."!mark_fail"(0)
+    lt rx241_pos, -1, rx241_done
+    eq rx241_pos, -1, rx241_fail
     jump $I10
-  rx238_done:
-    rx238_cur."!cursor_fail"()
-    rx238_cur."!cursor_debug"("FAIL  ", "terminator:sym<;>")
-    .return (rx238_cur)
+  rx241_done:
+    rx241_cur."!cursor_fail"()
+    rx241_cur."!cursor_debug"("FAIL  ", "terminator:sym<;>")
+    .return (rx241_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__terminator:sym<;>"  :subid("55_1259103982.97329") :method
+.sub "!PREFIX__terminator:sym<;>"  :subid("55_1259177761.22934") :method
 .annotate "line", 4
-    new $P240, "ResizablePMCArray"
-    push $P240, ";"
-    .return ($P240)
+    new $P243, "ResizablePMCArray"
+    push $P243, ";"
+    .return ($P243)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "terminator:sym<}>"  :subid("56_1259103982.97329") :method :outer("11_1259103982.97329")
+.sub "terminator:sym<}>"  :subid("56_1259177761.22934") :method :outer("11_1259177761.22934")
 .annotate "line", 4
-    .local string rx243_tgt
-    .local int rx243_pos
-    .local int rx243_off
-    .local int rx243_eos
-    .local int rx243_rep
-    .local pmc rx243_cur
-    (rx243_cur, rx243_pos, rx243_tgt) = self."!cursor_start"()
-    rx243_cur."!cursor_debug"("START ", "terminator:sym<}>")
-    .lex unicode:"$\x{a2}", rx243_cur
+    .local string rx246_tgt
+    .local int rx246_pos
+    .local int rx246_off
+    .local int rx246_eos
+    .local int rx246_rep
+    .local pmc rx246_cur
+    (rx246_cur, rx246_pos, rx246_tgt) = self."!cursor_start"()
+    rx246_cur."!cursor_debug"("START ", "terminator:sym<}>")
+    .lex unicode:"$\x{a2}", rx246_cur
     .local pmc match
     .lex "$/", match
-    length rx243_eos, rx243_tgt
-    set rx243_off, 0
-    lt rx243_pos, 2, rx243_start
-    sub rx243_off, rx243_pos, 1
-    substr rx243_tgt, rx243_tgt, rx243_off
-  rx243_start:
+    length rx246_eos, rx246_tgt
+    set rx246_off, 0
+    lt rx246_pos, 2, rx246_start
+    sub rx246_off, rx246_pos, 1
+    substr rx246_tgt, rx246_tgt, rx246_off
+  rx246_start:
     $I10 = self.'from'()
-    ne $I10, -1, rxscan246_done
-    goto rxscan246_scan
-  rxscan246_loop:
-    ($P10) = rx243_cur."from"()
+    ne $I10, -1, rxscan249_done
+    goto rxscan249_scan
+  rxscan249_loop:
+    ($P10) = rx246_cur."from"()
     inc $P10
-    set rx243_pos, $P10
-    ge rx243_pos, rx243_eos, rxscan246_done
-  rxscan246_scan:
-    set_addr $I10, rxscan246_loop
-    rx243_cur."!mark_push"(0, rx243_pos, $I10)
-  rxscan246_done:
+    set rx246_pos, $P10
+    ge rx246_pos, rx246_eos, rxscan249_done
+  rxscan249_scan:
+    set_addr $I10, rxscan249_loop
+    rx246_cur."!mark_push"(0, rx246_pos, $I10)
+  rxscan249_done:
 .annotate "line", 143
   # rx enumcharlist negate=0 zerowidth
-    ge rx243_pos, rx243_eos, rx243_fail
-    sub $I10, rx243_pos, rx243_off
-    substr $S10, rx243_tgt, $I10, 1
+    ge rx246_pos, rx246_eos, rx246_fail
+    sub $I10, rx246_pos, rx246_off
+    substr $S10, rx246_tgt, $I10, 1
     index $I11, "}", $S10
-    lt $I11, 0, rx243_fail
+    lt $I11, 0, rx246_fail
   # rx pass
-    rx243_cur."!cursor_pass"(rx243_pos, "terminator:sym<}>")
-    rx243_cur."!cursor_debug"("PASS  ", "terminator:sym<}>", " at pos=", rx243_pos)
-    .return (rx243_cur)
-  rx243_fail:
+    rx246_cur."!cursor_pass"(rx246_pos, "terminator:sym<}>")
+    rx246_cur."!cursor_debug"("PASS  ", "terminator:sym<}>", " at pos=", rx246_pos)
+    .return (rx246_cur)
+  rx246_fail:
 .annotate "line", 4
-    (rx243_rep, rx243_pos, $I10, $P10) = rx243_cur."!mark_fail"(0)
-    lt rx243_pos, -1, rx243_done
-    eq rx243_pos, -1, rx243_fail
+    (rx246_rep, rx246_pos, $I10, $P10) = rx246_cur."!mark_fail"(0)
+    lt rx246_pos, -1, rx246_done
+    eq rx246_pos, -1, rx246_fail
     jump $I10
-  rx243_done:
-    rx243_cur."!cursor_fail"()
-    rx243_cur."!cursor_debug"("FAIL  ", "terminator:sym<}>")
-    .return (rx243_cur)
+  rx246_done:
+    rx246_cur."!cursor_fail"()
+    rx246_cur."!cursor_debug"("FAIL  ", "terminator:sym<}>")
+    .return (rx246_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__terminator:sym<}>"  :subid("57_1259103982.97329") :method
+.sub "!PREFIX__terminator:sym<}>"  :subid("57_1259177761.22934") :method
 .annotate "line", 4
-    new $P245, "ResizablePMCArray"
-    push $P245, "}"
-    .return ($P245)
+    new $P248, "ResizablePMCArray"
+    push $P248, "}"
+    .return ($P248)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "statement_control"  :subid("58_1259103982.97329") :method
+.sub "statement_control"  :subid("58_1259177761.22934") :method
 .annotate "line", 147
-    $P248 = self."!protoregex"("statement_control")
-    .return ($P248)
+    $P251 = self."!protoregex"("statement_control")
+    .return ($P251)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__statement_control"  :subid("59_1259103982.97329") :method
+.sub "!PREFIX__statement_control"  :subid("59_1259177761.22934") :method
 .annotate "line", 147
-    $P250 = self."!PREFIX__!protoregex"("statement_control")
-    .return ($P250)
+    $P253 = self."!PREFIX__!protoregex"("statement_control")
+    .return ($P253)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "statement_control:sym<if>"  :subid("60_1259103982.97329") :method :outer("11_1259103982.97329")
+.sub "statement_control:sym<if>"  :subid("60_1259177761.22934") :method :outer("11_1259177761.22934")
 .annotate "line", 4
-    .local string rx252_tgt
-    .local int rx252_pos
-    .local int rx252_off
-    .local int rx252_eos
-    .local int rx252_rep
-    .local pmc rx252_cur
-    (rx252_cur, rx252_pos, rx252_tgt) = self."!cursor_start"()
-    rx252_cur."!cursor_debug"("START ", "statement_control:sym<if>")
-    rx252_cur."!cursor_caparray"("else", "xblock")
-    .lex unicode:"$\x{a2}", rx252_cur
-    .local pmc match
-    .lex "$/", match
-    length rx252_eos, rx252_tgt
-    set rx252_off, 0
-    lt rx252_pos, 2, rx252_start
-    sub rx252_off, rx252_pos, 1
-    substr rx252_tgt, rx252_tgt, rx252_off
-  rx252_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan255_done
-    goto rxscan255_scan
-  rxscan255_loop:
-    ($P10) = rx252_cur."from"()
-    inc $P10
-    set rx252_pos, $P10
-    ge rx252_pos, rx252_eos, rxscan255_done
-  rxscan255_scan:
-    set_addr $I10, rxscan255_loop
-    rx252_cur."!mark_push"(0, rx252_pos, $I10)
-  rxscan255_done:
+    .local string rx255_tgt
+    .local int rx255_pos
+    .local int rx255_off
+    .local int rx255_eos
+    .local int rx255_rep
+    .local pmc rx255_cur
+    (rx255_cur, rx255_pos, rx255_tgt) = self."!cursor_start"()
+    rx255_cur."!cursor_debug"("START ", "statement_control:sym<if>")
+    rx255_cur."!cursor_caparray"("else", "xblock")
+    .lex unicode:"$\x{a2}", rx255_cur
+    .local pmc match
+    .lex "$/", match
+    length rx255_eos, rx255_tgt
+    set rx255_off, 0
+    lt rx255_pos, 2, rx255_start
+    sub rx255_off, rx255_pos, 1
+    substr rx255_tgt, rx255_tgt, rx255_off
+  rx255_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan258_done
+    goto rxscan258_scan
+  rxscan258_loop:
+    ($P10) = rx255_cur."from"()
+    inc $P10
+    set rx255_pos, $P10
+    ge rx255_pos, rx255_eos, rxscan258_done
+  rxscan258_scan:
+    set_addr $I10, rxscan258_loop
+    rx255_cur."!mark_push"(0, rx255_pos, $I10)
+  rxscan258_done:
 .annotate "line", 150
   # rx subcapture "sym"
-    set_addr $I10, rxcap_256_fail
-    rx252_cur."!mark_push"(0, rx252_pos, $I10)
+    set_addr $I10, rxcap_259_fail
+    rx255_cur."!mark_push"(0, rx255_pos, $I10)
   # rx literal  "if"
-    add $I11, rx252_pos, 2
-    gt $I11, rx252_eos, rx252_fail
-    sub $I11, rx252_pos, rx252_off
-    substr $S10, rx252_tgt, $I11, 2
-    ne $S10, "if", rx252_fail
-    add rx252_pos, 2
-    set_addr $I10, rxcap_256_fail
-    ($I12, $I11) = rx252_cur."!mark_peek"($I10)
-    rx252_cur."!cursor_pos"($I11)
-    ($P10) = rx252_cur."!cursor_start"()
-    $P10."!cursor_pass"(rx252_pos, "")
-    rx252_cur."!mark_push"(0, -1, 0, $P10)
+    add $I11, rx255_pos, 2
+    gt $I11, rx255_eos, rx255_fail
+    sub $I11, rx255_pos, rx255_off
+    substr $S10, rx255_tgt, $I11, 2
+    ne $S10, "if", rx255_fail
+    add rx255_pos, 2
+    set_addr $I10, rxcap_259_fail
+    ($I12, $I11) = rx255_cur."!mark_peek"($I10)
+    rx255_cur."!cursor_pos"($I11)
+    ($P10) = rx255_cur."!cursor_start"()
+    $P10."!cursor_pass"(rx255_pos, "")
+    rx255_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("sym")
-    goto rxcap_256_done
-  rxcap_256_fail:
-    goto rx252_fail
-  rxcap_256_done:
+    goto rxcap_259_done
+  rxcap_259_fail:
+    goto rx255_fail
+  rxcap_259_done:
   # rx charclass s
-    ge rx252_pos, rx252_eos, rx252_fail
-    sub $I10, rx252_pos, rx252_off
-    is_cclass $I11, 32, rx252_tgt, $I10
-    unless $I11, rx252_fail
-    inc rx252_pos
-  # rx subrule "ws" subtype=method negate=
-    rx252_cur."!cursor_pos"(rx252_pos)
-    $P10 = rx252_cur."ws"()
-    unless $P10, rx252_fail
-    rx252_pos = $P10."pos"()
+    ge rx255_pos, rx255_eos, rx255_fail
+    sub $I10, rx255_pos, rx255_off
+    is_cclass $I11, 32, rx255_tgt, $I10
+    unless $I11, rx255_fail
+    inc rx255_pos
+  # rx subrule "ws" subtype=method negate=
+    rx255_cur."!cursor_pos"(rx255_pos)
+    $P10 = rx255_cur."ws"()
+    unless $P10, rx255_fail
+    rx255_pos = $P10."pos"()
 .annotate "line", 151
   # rx subrule "xblock" subtype=capture negate=
-    rx252_cur."!cursor_pos"(rx252_pos)
-    $P10 = rx252_cur."xblock"()
-    unless $P10, rx252_fail
-    rx252_cur."!mark_push"(0, -1, 0, $P10)
+    rx255_cur."!cursor_pos"(rx255_pos)
+    $P10 = rx255_cur."xblock"()
+    unless $P10, rx255_fail
+    rx255_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("xblock")
-    rx252_pos = $P10."pos"()
+    rx255_pos = $P10."pos"()
   # rx subrule "ws" subtype=method negate=
-    rx252_cur."!cursor_pos"(rx252_pos)
-    $P10 = rx252_cur."ws"()
-    unless $P10, rx252_fail
-    rx252_pos = $P10."pos"()
+    rx255_cur."!cursor_pos"(rx255_pos)
+    $P10 = rx255_cur."ws"()
+    unless $P10, rx255_fail
+    rx255_pos = $P10."pos"()
 .annotate "line", 152
-  # rx rxquantr259 ** 0..*
-    set_addr $I263, rxquantr259_done
-    rx252_cur."!mark_push"(0, rx252_pos, $I263)
-  rxquantr259_loop:
-  # rx subrule "ws" subtype=method negate=
-    rx252_cur."!cursor_pos"(rx252_pos)
-    $P10 = rx252_cur."ws"()
-    unless $P10, rx252_fail
-    rx252_pos = $P10."pos"()
+  # rx rxquantr262 ** 0..*
+    set_addr $I266, rxquantr262_done
+    rx255_cur."!mark_push"(0, rx255_pos, $I266)
+  rxquantr262_loop:
+  # rx subrule "ws" subtype=method negate=
+    rx255_cur."!cursor_pos"(rx255_pos)
+    $P10 = rx255_cur."ws"()
+    unless $P10, rx255_fail
+    rx255_pos = $P10."pos"()
   # rx literal  "elsif"
-    add $I11, rx252_pos, 5
-    gt $I11, rx252_eos, rx252_fail
-    sub $I11, rx252_pos, rx252_off
-    substr $S10, rx252_tgt, $I11, 5
-    ne $S10, "elsif", rx252_fail
-    add rx252_pos, 5
+    add $I11, rx255_pos, 5
+    gt $I11, rx255_eos, rx255_fail
+    sub $I11, rx255_pos, rx255_off
+    substr $S10, rx255_tgt, $I11, 5
+    ne $S10, "elsif", rx255_fail
+    add rx255_pos, 5
   # rx charclass s
-    ge rx252_pos, rx252_eos, rx252_fail
-    sub $I10, rx252_pos, rx252_off
-    is_cclass $I11, 32, rx252_tgt, $I10
-    unless $I11, rx252_fail
-    inc rx252_pos
-  # rx subrule "ws" subtype=method negate=
-    rx252_cur."!cursor_pos"(rx252_pos)
-    $P10 = rx252_cur."ws"()
-    unless $P10, rx252_fail
-    rx252_pos = $P10."pos"()
+    ge rx255_pos, rx255_eos, rx255_fail
+    sub $I10, rx255_pos, rx255_off
+    is_cclass $I11, 32, rx255_tgt, $I10
+    unless $I11, rx255_fail
+    inc rx255_pos
+  # rx subrule "ws" subtype=method negate=
+    rx255_cur."!cursor_pos"(rx255_pos)
+    $P10 = rx255_cur."ws"()
+    unless $P10, rx255_fail
+    rx255_pos = $P10."pos"()
   # rx subrule "xblock" subtype=capture negate=
-    rx252_cur."!cursor_pos"(rx252_pos)
-    $P10 = rx252_cur."xblock"()
-    unless $P10, rx252_fail
-    rx252_cur."!mark_push"(0, -1, 0, $P10)
+    rx255_cur."!cursor_pos"(rx255_pos)
+    $P10 = rx255_cur."xblock"()
+    unless $P10, rx255_fail
+    rx255_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("xblock")
-    rx252_pos = $P10."pos"()
+    rx255_pos = $P10."pos"()
   # rx subrule "ws" subtype=method negate=
-    rx252_cur."!cursor_pos"(rx252_pos)
-    $P10 = rx252_cur."ws"()
-    unless $P10, rx252_fail
-    rx252_pos = $P10."pos"()
-    (rx252_rep) = rx252_cur."!mark_commit"($I263)
-    rx252_cur."!mark_push"(rx252_rep, rx252_pos, $I263)
-    goto rxquantr259_loop
-  rxquantr259_done:
-  # rx subrule "ws" subtype=method negate=
-    rx252_cur."!cursor_pos"(rx252_pos)
-    $P10 = rx252_cur."ws"()
-    unless $P10, rx252_fail
-    rx252_pos = $P10."pos"()
+    rx255_cur."!cursor_pos"(rx255_pos)
+    $P10 = rx255_cur."ws"()
+    unless $P10, rx255_fail
+    rx255_pos = $P10."pos"()
+    (rx255_rep) = rx255_cur."!mark_commit"($I266)
+    rx255_cur."!mark_push"(rx255_rep, rx255_pos, $I266)
+    goto rxquantr262_loop
+  rxquantr262_done:
+  # rx subrule "ws" subtype=method negate=
+    rx255_cur."!cursor_pos"(rx255_pos)
+    $P10 = rx255_cur."ws"()
+    unless $P10, rx255_fail
+    rx255_pos = $P10."pos"()
 .annotate "line", 153
-  # rx rxquantr265 ** 0..1
-    set_addr $I269, rxquantr265_done
-    rx252_cur."!mark_push"(0, rx252_pos, $I269)
-  rxquantr265_loop:
-  # rx subrule "ws" subtype=method negate=
-    rx252_cur."!cursor_pos"(rx252_pos)
-    $P10 = rx252_cur."ws"()
-    unless $P10, rx252_fail
-    rx252_pos = $P10."pos"()
+  # rx rxquantr268 ** 0..1
+    set_addr $I272, rxquantr268_done
+    rx255_cur."!mark_push"(0, rx255_pos, $I272)
+  rxquantr268_loop:
+  # rx subrule "ws" subtype=method negate=
+    rx255_cur."!cursor_pos"(rx255_pos)
+    $P10 = rx255_cur."ws"()
+    unless $P10, rx255_fail
+    rx255_pos = $P10."pos"()
   # rx literal  "else"
-    add $I11, rx252_pos, 4
-    gt $I11, rx252_eos, rx252_fail
-    sub $I11, rx252_pos, rx252_off
-    substr $S10, rx252_tgt, $I11, 4
-    ne $S10, "else", rx252_fail
-    add rx252_pos, 4
+    add $I11, rx255_pos, 4
+    gt $I11, rx255_eos, rx255_fail
+    sub $I11, rx255_pos, rx255_off
+    substr $S10, rx255_tgt, $I11, 4
+    ne $S10, "else", rx255_fail
+    add rx255_pos, 4
   # rx charclass s
-    ge rx252_pos, rx252_eos, rx252_fail
-    sub $I10, rx252_pos, rx252_off
-    is_cclass $I11, 32, rx252_tgt, $I10
-    unless $I11, rx252_fail
-    inc rx252_pos
-  # rx subrule "ws" subtype=method negate=
-    rx252_cur."!cursor_pos"(rx252_pos)
-    $P10 = rx252_cur."ws"()
-    unless $P10, rx252_fail
-    rx252_pos = $P10."pos"()
+    ge rx255_pos, rx255_eos, rx255_fail
+    sub $I10, rx255_pos, rx255_off
+    is_cclass $I11, 32, rx255_tgt, $I10
+    unless $I11, rx255_fail
+    inc rx255_pos
+  # rx subrule "ws" subtype=method negate=
+    rx255_cur."!cursor_pos"(rx255_pos)
+    $P10 = rx255_cur."ws"()
+    unless $P10, rx255_fail
+    rx255_pos = $P10."pos"()
   # rx subrule "pblock" subtype=capture negate=
-    rx252_cur."!cursor_pos"(rx252_pos)
-    $P10 = rx252_cur."pblock"()
-    unless $P10, rx252_fail
-    rx252_cur."!mark_push"(0, -1, 0, $P10)
+    rx255_cur."!cursor_pos"(rx255_pos)
+    $P10 = rx255_cur."pblock"()
+    unless $P10, rx255_fail
+    rx255_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("else")
-    rx252_pos = $P10."pos"()
+    rx255_pos = $P10."pos"()
   # rx subrule "ws" subtype=method negate=
-    rx252_cur."!cursor_pos"(rx252_pos)
-    $P10 = rx252_cur."ws"()
-    unless $P10, rx252_fail
-    rx252_pos = $P10."pos"()
-    (rx252_rep) = rx252_cur."!mark_commit"($I269)
-  rxquantr265_done:
-  # rx subrule "ws" subtype=method negate=
-    rx252_cur."!cursor_pos"(rx252_pos)
-    $P10 = rx252_cur."ws"()
-    unless $P10, rx252_fail
-    rx252_pos = $P10."pos"()
+    rx255_cur."!cursor_pos"(rx255_pos)
+    $P10 = rx255_cur."ws"()
+    unless $P10, rx255_fail
+    rx255_pos = $P10."pos"()
+    (rx255_rep) = rx255_cur."!mark_commit"($I272)
+  rxquantr268_done:
+  # rx subrule "ws" subtype=method negate=
+    rx255_cur."!cursor_pos"(rx255_pos)
+    $P10 = rx255_cur."ws"()
+    unless $P10, rx255_fail
+    rx255_pos = $P10."pos"()
 .annotate "line", 149
   # rx pass
-    rx252_cur."!cursor_pass"(rx252_pos, "statement_control:sym<if>")
-    rx252_cur."!cursor_debug"("PASS  ", "statement_control:sym<if>", " at pos=", rx252_pos)
-    .return (rx252_cur)
-  rx252_fail:
+    rx255_cur."!cursor_pass"(rx255_pos, "statement_control:sym<if>")
+    rx255_cur."!cursor_debug"("PASS  ", "statement_control:sym<if>", " at pos=", rx255_pos)
+    .return (rx255_cur)
+  rx255_fail:
 .annotate "line", 4
-    (rx252_rep, rx252_pos, $I10, $P10) = rx252_cur."!mark_fail"(0)
-    lt rx252_pos, -1, rx252_done
-    eq rx252_pos, -1, rx252_fail
+    (rx255_rep, rx255_pos, $I10, $P10) = rx255_cur."!mark_fail"(0)
+    lt rx255_pos, -1, rx255_done
+    eq rx255_pos, -1, rx255_fail
     jump $I10
-  rx252_done:
-    rx252_cur."!cursor_fail"()
-    rx252_cur."!cursor_debug"("FAIL  ", "statement_control:sym<if>")
-    .return (rx252_cur)
+  rx255_done:
+    rx255_cur."!cursor_fail"()
+    rx255_cur."!cursor_debug"("FAIL  ", "statement_control:sym<if>")
+    .return (rx255_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__statement_control:sym<if>"  :subid("61_1259103982.97329") :method
+.sub "!PREFIX__statement_control:sym<if>"  :subid("61_1259177761.22934") :method
 .annotate "line", 4
-    new $P254, "ResizablePMCArray"
-    push $P254, "if"
-    .return ($P254)
+    new $P257, "ResizablePMCArray"
+    push $P257, "if"
+    .return ($P257)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "statement_control:sym<unless>"  :subid("62_1259103982.97329") :method :outer("11_1259103982.97329")
+.sub "statement_control:sym<unless>"  :subid("62_1259177761.22934") :method :outer("11_1259177761.22934")
 .annotate "line", 4
-    .const 'Sub' $P282 = "64_1259103982.97329" 
-    capture_lex $P282
-    .local string rx272_tgt
-    .local int rx272_pos
-    .local int rx272_off
-    .local int rx272_eos
-    .local int rx272_rep
-    .local pmc rx272_cur
-    (rx272_cur, rx272_pos, rx272_tgt) = self."!cursor_start"()
-    rx272_cur."!cursor_debug"("START ", "statement_control:sym<unless>")
-    .lex unicode:"$\x{a2}", rx272_cur
+    .const 'Sub' $P285 = "64_1259177761.22934" 
+    capture_lex $P285
+    .local string rx275_tgt
+    .local int rx275_pos
+    .local int rx275_off
+    .local int rx275_eos
+    .local int rx275_rep
+    .local pmc rx275_cur
+    (rx275_cur, rx275_pos, rx275_tgt) = self."!cursor_start"()
+    rx275_cur."!cursor_debug"("START ", "statement_control:sym<unless>")
+    .lex unicode:"$\x{a2}", rx275_cur
     .local pmc match
     .lex "$/", match
-    length rx272_eos, rx272_tgt
-    set rx272_off, 0
-    lt rx272_pos, 2, rx272_start
-    sub rx272_off, rx272_pos, 1
-    substr rx272_tgt, rx272_tgt, rx272_off
-  rx272_start:
+    length rx275_eos, rx275_tgt
+    set rx275_off, 0
+    lt rx275_pos, 2, rx275_start
+    sub rx275_off, rx275_pos, 1
+    substr rx275_tgt, rx275_tgt, rx275_off
+  rx275_start:
     $I10 = self.'from'()
-    ne $I10, -1, rxscan275_done
-    goto rxscan275_scan
-  rxscan275_loop:
-    ($P10) = rx272_cur."from"()
+    ne $I10, -1, rxscan278_done
+    goto rxscan278_scan
+  rxscan278_loop:
+    ($P10) = rx275_cur."from"()
     inc $P10
-    set rx272_pos, $P10
-    ge rx272_pos, rx272_eos, rxscan275_done
-  rxscan275_scan:
-    set_addr $I10, rxscan275_loop
-    rx272_cur."!mark_push"(0, rx272_pos, $I10)
-  rxscan275_done:
+    set rx275_pos, $P10
+    ge rx275_pos, rx275_eos, rxscan278_done
+  rxscan278_scan:
+    set_addr $I10, rxscan278_loop
+    rx275_cur."!mark_push"(0, rx275_pos, $I10)
+  rxscan278_done:
 .annotate "line", 157
   # rx subcapture "sym"
-    set_addr $I10, rxcap_276_fail
-    rx272_cur."!mark_push"(0, rx272_pos, $I10)
+    set_addr $I10, rxcap_279_fail
+    rx275_cur."!mark_push"(0, rx275_pos, $I10)
   # rx literal  "unless"
-    add $I11, rx272_pos, 6
-    gt $I11, rx272_eos, rx272_fail
-    sub $I11, rx272_pos, rx272_off
-    substr $S10, rx272_tgt, $I11, 6
-    ne $S10, "unless", rx272_fail
-    add rx272_pos, 6
-    set_addr $I10, rxcap_276_fail
-    ($I12, $I11) = rx272_cur."!mark_peek"($I10)
-    rx272_cur."!cursor_pos"($I11)
-    ($P10) = rx272_cur."!cursor_start"()
-    $P10."!cursor_pass"(rx272_pos, "")
-    rx272_cur."!mark_push"(0, -1, 0, $P10)
+    add $I11, rx275_pos, 6
+    gt $I11, rx275_eos, rx275_fail
+    sub $I11, rx275_pos, rx275_off
+    substr $S10, rx275_tgt, $I11, 6
+    ne $S10, "unless", rx275_fail
+    add rx275_pos, 6
+    set_addr $I10, rxcap_279_fail
+    ($I12, $I11) = rx275_cur."!mark_peek"($I10)
+    rx275_cur."!cursor_pos"($I11)
+    ($P10) = rx275_cur."!cursor_start"()
+    $P10."!cursor_pass"(rx275_pos, "")
+    rx275_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("sym")
-    goto rxcap_276_done
-  rxcap_276_fail:
-    goto rx272_fail
-  rxcap_276_done:
+    goto rxcap_279_done
+  rxcap_279_fail:
+    goto rx275_fail
+  rxcap_279_done:
   # rx charclass s
-    ge rx272_pos, rx272_eos, rx272_fail
-    sub $I10, rx272_pos, rx272_off
-    is_cclass $I11, 32, rx272_tgt, $I10
-    unless $I11, rx272_fail
-    inc rx272_pos
-  # rx subrule "ws" subtype=method negate=
-    rx272_cur."!cursor_pos"(rx272_pos)
-    $P10 = rx272_cur."ws"()
-    unless $P10, rx272_fail
-    rx272_pos = $P10."pos"()
+    ge rx275_pos, rx275_eos, rx275_fail
+    sub $I10, rx275_pos, rx275_off
+    is_cclass $I11, 32, rx275_tgt, $I10
+    unless $I11, rx275_fail
+    inc rx275_pos
+  # rx subrule "ws" subtype=method negate=
+    rx275_cur."!cursor_pos"(rx275_pos)
+    $P10 = rx275_cur."ws"()
+    unless $P10, rx275_fail
+    rx275_pos = $P10."pos"()
 .annotate "line", 158
   # rx subrule "xblock" subtype=capture negate=
-    rx272_cur."!cursor_pos"(rx272_pos)
-    $P10 = rx272_cur."xblock"()
-    unless $P10, rx272_fail
-    rx272_cur."!mark_push"(0, -1, 0, $P10)
+    rx275_cur."!cursor_pos"(rx275_pos)
+    $P10 = rx275_cur."xblock"()
+    unless $P10, rx275_fail
+    rx275_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("xblock")
-    rx272_pos = $P10."pos"()
+    rx275_pos = $P10."pos"()
   # rx subrule "ws" subtype=method negate=
-    rx272_cur."!cursor_pos"(rx272_pos)
-    $P10 = rx272_cur."ws"()
-    unless $P10, rx272_fail
-    rx272_pos = $P10."pos"()
-  alt279_0:
+    rx275_cur."!cursor_pos"(rx275_pos)
+    $P10 = rx275_cur."ws"()
+    unless $P10, rx275_fail
+    rx275_pos = $P10."pos"()
+  alt282_0:
 .annotate "line", 159
-    set_addr $I10, alt279_1
-    rx272_cur."!mark_push"(0, rx272_pos, $I10)
+    set_addr $I10, alt282_1
+    rx275_cur."!mark_push"(0, rx275_pos, $I10)
   # rx subrule "ws" subtype=method negate=
-    rx272_cur."!cursor_pos"(rx272_pos)
-    $P10 = rx272_cur."ws"()
-    unless $P10, rx272_fail
-    rx272_pos = $P10."pos"()
+    rx275_cur."!cursor_pos"(rx275_pos)
+    $P10 = rx275_cur."ws"()
+    unless $P10, rx275_fail
+    rx275_pos = $P10."pos"()
   # rx subrule "before" subtype=zerowidth negate=1
-    rx272_cur."!cursor_pos"(rx272_pos)
-    .const 'Sub' $P282 = "64_1259103982.97329" 
-    capture_lex $P282
-    $P10 = rx272_cur."before"($P282)
-    if $P10, rx272_fail
-  # rx subrule "ws" subtype=method negate=
-    rx272_cur."!cursor_pos"(rx272_pos)
-    $P10 = rx272_cur."ws"()
-    unless $P10, rx272_fail
-    rx272_pos = $P10."pos"()
-    goto alt279_end
-  alt279_1:
-  # rx subrule "ws" subtype=method negate=
-    rx272_cur."!cursor_pos"(rx272_pos)
-    $P10 = rx272_cur."ws"()
-    unless $P10, rx272_fail
-    rx272_pos = $P10."pos"()
+    rx275_cur."!cursor_pos"(rx275_pos)
+    .const 'Sub' $P285 = "64_1259177761.22934" 
+    capture_lex $P285
+    $P10 = rx275_cur."before"($P285)
+    if $P10, rx275_fail
+  # rx subrule "ws" subtype=method negate=
+    rx275_cur."!cursor_pos"(rx275_pos)
+    $P10 = rx275_cur."ws"()
+    unless $P10, rx275_fail
+    rx275_pos = $P10."pos"()
+    goto alt282_end
+  alt282_1:
+  # rx subrule "ws" subtype=method negate=
+    rx275_cur."!cursor_pos"(rx275_pos)
+    $P10 = rx275_cur."ws"()
+    unless $P10, rx275_fail
+    rx275_pos = $P10."pos"()
   # rx subrule "panic" subtype=method negate=
-    rx272_cur."!cursor_pos"(rx272_pos)
-    $P10 = rx272_cur."panic"("unless does not take \"else\", please rewrite using \"if\"")
-    unless $P10, rx272_fail
-    rx272_pos = $P10."pos"()
-  # rx subrule "ws" subtype=method negate=
-    rx272_cur."!cursor_pos"(rx272_pos)
-    $P10 = rx272_cur."ws"()
-    unless $P10, rx272_fail
-    rx272_pos = $P10."pos"()
-  alt279_end:
-  # rx subrule "ws" subtype=method negate=
-    rx272_cur."!cursor_pos"(rx272_pos)
-    $P10 = rx272_cur."ws"()
-    unless $P10, rx272_fail
-    rx272_pos = $P10."pos"()
+    rx275_cur."!cursor_pos"(rx275_pos)
+    $P10 = rx275_cur."panic"("unless does not take \"else\", please rewrite using \"if\"")
+    unless $P10, rx275_fail
+    rx275_pos = $P10."pos"()
+  # rx subrule "ws" subtype=method negate=
+    rx275_cur."!cursor_pos"(rx275_pos)
+    $P10 = rx275_cur."ws"()
+    unless $P10, rx275_fail
+    rx275_pos = $P10."pos"()
+  alt282_end:
+  # rx subrule "ws" subtype=method negate=
+    rx275_cur."!cursor_pos"(rx275_pos)
+    $P10 = rx275_cur."ws"()
+    unless $P10, rx275_fail
+    rx275_pos = $P10."pos"()
 .annotate "line", 156
   # rx pass
-    rx272_cur."!cursor_pass"(rx272_pos, "statement_control:sym<unless>")
-    rx272_cur."!cursor_debug"("PASS  ", "statement_control:sym<unless>", " at pos=", rx272_pos)
-    .return (rx272_cur)
-  rx272_fail:
+    rx275_cur."!cursor_pass"(rx275_pos, "statement_control:sym<unless>")
+    rx275_cur."!cursor_debug"("PASS  ", "statement_control:sym<unless>", " at pos=", rx275_pos)
+    .return (rx275_cur)
+  rx275_fail:
 .annotate "line", 4
-    (rx272_rep, rx272_pos, $I10, $P10) = rx272_cur."!mark_fail"(0)
-    lt rx272_pos, -1, rx272_done
-    eq rx272_pos, -1, rx272_fail
+    (rx275_rep, rx275_pos, $I10, $P10) = rx275_cur."!mark_fail"(0)
+    lt rx275_pos, -1, rx275_done
+    eq rx275_pos, -1, rx275_fail
     jump $I10
-  rx272_done:
-    rx272_cur."!cursor_fail"()
-    rx272_cur."!cursor_debug"("FAIL  ", "statement_control:sym<unless>")
-    .return (rx272_cur)
+  rx275_done:
+    rx275_cur."!cursor_fail"()
+    rx275_cur."!cursor_debug"("FAIL  ", "statement_control:sym<unless>")
+    .return (rx275_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__statement_control:sym<unless>"  :subid("63_1259103982.97329") :method
+.sub "!PREFIX__statement_control:sym<unless>"  :subid("63_1259177761.22934") :method
 .annotate "line", 4
-    new $P274, "ResizablePMCArray"
-    push $P274, "unless"
-    .return ($P274)
+    new $P277, "ResizablePMCArray"
+    push $P277, "unless"
+    .return ($P277)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "_block281"  :anon :subid("64_1259103982.97329") :method :outer("62_1259103982.97329")
+.sub "_block284"  :anon :subid("64_1259177761.22934") :method :outer("62_1259177761.22934")
 .annotate "line", 159
-    .local string rx283_tgt
-    .local int rx283_pos
-    .local int rx283_off
-    .local int rx283_eos
-    .local int rx283_rep
-    .local pmc rx283_cur
-    (rx283_cur, rx283_pos, rx283_tgt) = self."!cursor_start"()
-    rx283_cur."!cursor_debug"("START ", "")
-    .lex unicode:"$\x{a2}", rx283_cur
-    .local pmc match
-    .lex "$/", match
-    length rx283_eos, rx283_tgt
-    set rx283_off, 0
-    lt rx283_pos, 2, rx283_start
-    sub rx283_off, rx283_pos, 1
-    substr rx283_tgt, rx283_tgt, rx283_off
-  rx283_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan284_done
-    goto rxscan284_scan
-  rxscan284_loop:
-    ($P10) = rx283_cur."from"()
-    inc $P10
-    set rx283_pos, $P10
-    ge rx283_pos, rx283_eos, rxscan284_done
-  rxscan284_scan:
-    set_addr $I10, rxscan284_loop
-    rx283_cur."!mark_push"(0, rx283_pos, $I10)
-  rxscan284_done:
+    .lex unicode:"$\x{a2}", $P286
+    .local string rx287_tgt
+    .local int rx287_pos
+    .local int rx287_off
+    .local int rx287_eos
+    .local int rx287_rep
+    .local pmc rx287_cur
+    (rx287_cur, rx287_pos, rx287_tgt) = self."!cursor_start"()
+    rx287_cur."!cursor_debug"("START ", "")
+    .lex unicode:"$\x{a2}", rx287_cur
+    .local pmc match
+    .lex "$/", match
+    length rx287_eos, rx287_tgt
+    set rx287_off, 0
+    lt rx287_pos, 2, rx287_start
+    sub rx287_off, rx287_pos, 1
+    substr rx287_tgt, rx287_tgt, rx287_off
+  rx287_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan288_done
+    goto rxscan288_scan
+  rxscan288_loop:
+    ($P10) = rx287_cur."from"()
+    inc $P10
+    set rx287_pos, $P10
+    ge rx287_pos, rx287_eos, rxscan288_done
+  rxscan288_scan:
+    set_addr $I10, rxscan288_loop
+    rx287_cur."!mark_push"(0, rx287_pos, $I10)
+  rxscan288_done:
   # rx literal  "else"
-    add $I11, rx283_pos, 4
-    gt $I11, rx283_eos, rx283_fail
-    sub $I11, rx283_pos, rx283_off
-    substr $S10, rx283_tgt, $I11, 4
-    ne $S10, "else", rx283_fail
-    add rx283_pos, 4
-  # rx pass
-    rx283_cur."!cursor_pass"(rx283_pos, "")
-    rx283_cur."!cursor_debug"("PASS  ", "", " at pos=", rx283_pos)
-    .return (rx283_cur)
-  rx283_fail:
-    (rx283_rep, rx283_pos, $I10, $P10) = rx283_cur."!mark_fail"(0)
-    lt rx283_pos, -1, rx283_done
-    eq rx283_pos, -1, rx283_fail
-    jump $I10
-  rx283_done:
-    rx283_cur."!cursor_fail"()
-    rx283_cur."!cursor_debug"("FAIL  ", "")
-    .return (rx283_cur)
+    add $I11, rx287_pos, 4
+    gt $I11, rx287_eos, rx287_fail
+    sub $I11, rx287_pos, rx287_off
+    substr $S10, rx287_tgt, $I11, 4
+    ne $S10, "else", rx287_fail
+    add rx287_pos, 4
+  # rx pass
+    rx287_cur."!cursor_pass"(rx287_pos, "")
+    rx287_cur."!cursor_debug"("PASS  ", "", " at pos=", rx287_pos)
+    .return (rx287_cur)
+  rx287_fail:
+    (rx287_rep, rx287_pos, $I10, $P10) = rx287_cur."!mark_fail"(0)
+    lt rx287_pos, -1, rx287_done
+    eq rx287_pos, -1, rx287_fail
+    jump $I10
+  rx287_done:
+    rx287_cur."!cursor_fail"()
+    rx287_cur."!cursor_debug"("FAIL  ", "")
+    .return (rx287_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "statement_control:sym<while>"  :subid("65_1259103982.97329") :method :outer("11_1259103982.97329")
-.annotate "line", 4
-    .local string rx290_tgt
-    .local int rx290_pos
-    .local int rx290_off
-    .local int rx290_eos
-    .local int rx290_rep
-    .local pmc rx290_cur
-    (rx290_cur, rx290_pos, rx290_tgt) = self."!cursor_start"()
-    rx290_cur."!cursor_debug"("START ", "statement_control:sym<while>")
-    .lex unicode:"$\x{a2}", rx290_cur
-    .local pmc match
-    .lex "$/", match
-    length rx290_eos, rx290_tgt
-    set rx290_off, 0
-    lt rx290_pos, 2, rx290_start
-    sub rx290_off, rx290_pos, 1
-    substr rx290_tgt, rx290_tgt, rx290_off
-  rx290_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan293_done
-    goto rxscan293_scan
-  rxscan293_loop:
-    ($P10) = rx290_cur."from"()
-    inc $P10
-    set rx290_pos, $P10
-    ge rx290_pos, rx290_eos, rxscan293_done
-  rxscan293_scan:
-    set_addr $I10, rxscan293_loop
-    rx290_cur."!mark_push"(0, rx290_pos, $I10)
-  rxscan293_done:
+.sub "statement_control:sym<while>"  :subid("65_1259177761.22934") :method :outer("11_1259177761.22934")
+.annotate "line", 4
+    .local string rx294_tgt
+    .local int rx294_pos
+    .local int rx294_off
+    .local int rx294_eos
+    .local int rx294_rep
+    .local pmc rx294_cur
+    (rx294_cur, rx294_pos, rx294_tgt) = self."!cursor_start"()
+    rx294_cur."!cursor_debug"("START ", "statement_control:sym<while>")
+    .lex unicode:"$\x{a2}", rx294_cur
+    .local pmc match
+    .lex "$/", match
+    length rx294_eos, rx294_tgt
+    set rx294_off, 0
+    lt rx294_pos, 2, rx294_start
+    sub rx294_off, rx294_pos, 1
+    substr rx294_tgt, rx294_tgt, rx294_off
+  rx294_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan297_done
+    goto rxscan297_scan
+  rxscan297_loop:
+    ($P10) = rx294_cur."from"()
+    inc $P10
+    set rx294_pos, $P10
+    ge rx294_pos, rx294_eos, rxscan297_done
+  rxscan297_scan:
+    set_addr $I10, rxscan297_loop
+    rx294_cur."!mark_push"(0, rx294_pos, $I10)
+  rxscan297_done:
 .annotate "line", 163
   # rx subcapture "sym"
-    set_addr $I10, rxcap_295_fail
-    rx290_cur."!mark_push"(0, rx290_pos, $I10)
-  alt294_0:
-    set_addr $I10, alt294_1
-    rx290_cur."!mark_push"(0, rx290_pos, $I10)
+    set_addr $I10, rxcap_299_fail
+    rx294_cur."!mark_push"(0, rx294_pos, $I10)
+  alt298_0:
+    set_addr $I10, alt298_1
+    rx294_cur."!mark_push"(0, rx294_pos, $I10)
   # rx literal  "while"
-    add $I11, rx290_pos, 5
-    gt $I11, rx290_eos, rx290_fail
-    sub $I11, rx290_pos, rx290_off
-    substr $S10, rx290_tgt, $I11, 5
-    ne $S10, "while", rx290_fail
-    add rx290_pos, 5
-    goto alt294_end
-  alt294_1:
+    add $I11, rx294_pos, 5
+    gt $I11, rx294_eos, rx294_fail
+    sub $I11, rx294_pos, rx294_off
+    substr $S10, rx294_tgt, $I11, 5
+    ne $S10, "while", rx294_fail
+    add rx294_pos, 5
+    goto alt298_end
+  alt298_1:
   # rx literal  "until"
-    add $I11, rx290_pos, 5
-    gt $I11, rx290_eos, rx290_fail
-    sub $I11, rx290_pos, rx290_off
-    substr $S10, rx290_tgt, $I11, 5
-    ne $S10, "until", rx290_fail
-    add rx290_pos, 5
-  alt294_end:
-    set_addr $I10, rxcap_295_fail
-    ($I12, $I11) = rx290_cur."!mark_peek"($I10)
-    rx290_cur."!cursor_pos"($I11)
-    ($P10) = rx290_cur."!cursor_start"()
-    $P10."!cursor_pass"(rx290_pos, "")
-    rx290_cur."!mark_push"(0, -1, 0, $P10)
+    add $I11, rx294_pos, 5
+    gt $I11, rx294_eos, rx294_fail
+    sub $I11, rx294_pos, rx294_off
+    substr $S10, rx294_tgt, $I11, 5
+    ne $S10, "until", rx294_fail
+    add rx294_pos, 5
+  alt298_end:
+    set_addr $I10, rxcap_299_fail
+    ($I12, $I11) = rx294_cur."!mark_peek"($I10)
+    rx294_cur."!cursor_pos"($I11)
+    ($P10) = rx294_cur."!cursor_start"()
+    $P10."!cursor_pass"(rx294_pos, "")
+    rx294_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("sym")
-    goto rxcap_295_done
-  rxcap_295_fail:
-    goto rx290_fail
-  rxcap_295_done:
+    goto rxcap_299_done
+  rxcap_299_fail:
+    goto rx294_fail
+  rxcap_299_done:
   # rx charclass s
-    ge rx290_pos, rx290_eos, rx290_fail
-    sub $I10, rx290_pos, rx290_off
-    is_cclass $I11, 32, rx290_tgt, $I10
-    unless $I11, rx290_fail
-    inc rx290_pos
-  # rx subrule "ws" subtype=method negate=
-    rx290_cur."!cursor_pos"(rx290_pos)
-    $P10 = rx290_cur."ws"()
-    unless $P10, rx290_fail
-    rx290_pos = $P10."pos"()
+    ge rx294_pos, rx294_eos, rx294_fail
+    sub $I10, rx294_pos, rx294_off
+    is_cclass $I11, 32, rx294_tgt, $I10
+    unless $I11, rx294_fail
+    inc rx294_pos
+  # rx subrule "ws" subtype=method negate=
+    rx294_cur."!cursor_pos"(rx294_pos)
+    $P10 = rx294_cur."ws"()
+    unless $P10, rx294_fail
+    rx294_pos = $P10."pos"()
 .annotate "line", 164
   # rx subrule "xblock" subtype=capture negate=
-    rx290_cur."!cursor_pos"(rx290_pos)
-    $P10 = rx290_cur."xblock"()
-    unless $P10, rx290_fail
-    rx290_cur."!mark_push"(0, -1, 0, $P10)
+    rx294_cur."!cursor_pos"(rx294_pos)
+    $P10 = rx294_cur."xblock"()
+    unless $P10, rx294_fail
+    rx294_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("xblock")
-    rx290_pos = $P10."pos"()
+    rx294_pos = $P10."pos"()
   # rx subrule "ws" subtype=method negate=
-    rx290_cur."!cursor_pos"(rx290_pos)
-    $P10 = rx290_cur."ws"()
-    unless $P10, rx290_fail
-    rx290_pos = $P10."pos"()
+    rx294_cur."!cursor_pos"(rx294_pos)
+    $P10 = rx294_cur."ws"()
+    unless $P10, rx294_fail
+    rx294_pos = $P10."pos"()
 .annotate "line", 162
   # rx pass
-    rx290_cur."!cursor_pass"(rx290_pos, "statement_control:sym<while>")
-    rx290_cur."!cursor_debug"("PASS  ", "statement_control:sym<while>", " at pos=", rx290_pos)
-    .return (rx290_cur)
-  rx290_fail:
+    rx294_cur."!cursor_pass"(rx294_pos, "statement_control:sym<while>")
+    rx294_cur."!cursor_debug"("PASS  ", "statement_control:sym<while>", " at pos=", rx294_pos)
+    .return (rx294_cur)
+  rx294_fail:
 .annotate "line", 4
-    (rx290_rep, rx290_pos, $I10, $P10) = rx290_cur."!mark_fail"(0)
-    lt rx290_pos, -1, rx290_done
-    eq rx290_pos, -1, rx290_fail
+    (rx294_rep, rx294_pos, $I10, $P10) = rx294_cur."!mark_fail"(0)
+    lt rx294_pos, -1, rx294_done
+    eq rx294_pos, -1, rx294_fail
     jump $I10
-  rx290_done:
-    rx290_cur."!cursor_fail"()
-    rx290_cur."!cursor_debug"("FAIL  ", "statement_control:sym<while>")
-    .return (rx290_cur)
+  rx294_done:
+    rx294_cur."!cursor_fail"()
+    rx294_cur."!cursor_debug"("FAIL  ", "statement_control:sym<while>")
+    .return (rx294_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__statement_control:sym<while>"  :subid("66_1259103982.97329") :method
+.sub "!PREFIX__statement_control:sym<while>"  :subid("66_1259177761.22934") :method
 .annotate "line", 4
-    new $P292, "ResizablePMCArray"
-    push $P292, "until"
-    push $P292, "while"
-    .return ($P292)
+    new $P296, "ResizablePMCArray"
+    push $P296, "until"
+    push $P296, "while"
+    .return ($P296)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "statement_control:sym<repeat>"  :subid("67_1259103982.97329") :method :outer("11_1259103982.97329")
+.sub "statement_control:sym<repeat>"  :subid("67_1259177761.22934") :method :outer("11_1259177761.22934")
 .annotate "line", 4
-    .local string rx299_tgt
-    .local int rx299_pos
-    .local int rx299_off
-    .local int rx299_eos
-    .local int rx299_rep
-    .local pmc rx299_cur
-    (rx299_cur, rx299_pos, rx299_tgt) = self."!cursor_start"()
-    rx299_cur."!cursor_debug"("START ", "statement_control:sym<repeat>")
-    .lex unicode:"$\x{a2}", rx299_cur
+    .local string rx303_tgt
+    .local int rx303_pos
+    .local int rx303_off
+    .local int rx303_eos
+    .local int rx303_rep
+    .local pmc rx303_cur
+    (rx303_cur, rx303_pos, rx303_tgt) = self."!cursor_start"()
+    rx303_cur."!cursor_debug"("START ", "statement_control:sym<repeat>")
+    .lex unicode:"$\x{a2}", rx303_cur
     .local pmc match
     .lex "$/", match
-    length rx299_eos, rx299_tgt
-    set rx299_off, 0
-    lt rx299_pos, 2, rx299_start
-    sub rx299_off, rx299_pos, 1
-    substr rx299_tgt, rx299_tgt, rx299_off
-  rx299_start:
+    length rx303_eos, rx303_tgt
+    set rx303_off, 0
+    lt rx303_pos, 2, rx303_start
+    sub rx303_off, rx303_pos, 1
+    substr rx303_tgt, rx303_tgt, rx303_off
+  rx303_start:
     $I10 = self.'from'()
-    ne $I10, -1, rxscan302_done
-    goto rxscan302_scan
-  rxscan302_loop:
-    ($P10) = rx299_cur."from"()
+    ne $I10, -1, rxscan306_done
+    goto rxscan306_scan
+  rxscan306_loop:
+    ($P10) = rx303_cur."from"()
     inc $P10
-    set rx299_pos, $P10
-    ge rx299_pos, rx299_eos, rxscan302_done
-  rxscan302_scan:
-    set_addr $I10, rxscan302_loop
-    rx299_cur."!mark_push"(0, rx299_pos, $I10)
-  rxscan302_done:
+    set rx303_pos, $P10
+    ge rx303_pos, rx303_eos, rxscan306_done
+  rxscan306_scan:
+    set_addr $I10, rxscan306_loop
+    rx303_cur."!mark_push"(0, rx303_pos, $I10)
+  rxscan306_done:
 .annotate "line", 168
   # rx subcapture "sym"
-    set_addr $I10, rxcap_303_fail
-    rx299_cur."!mark_push"(0, rx299_pos, $I10)
+    set_addr $I10, rxcap_307_fail
+    rx303_cur."!mark_push"(0, rx303_pos, $I10)
   # rx literal  "repeat"
-    add $I11, rx299_pos, 6
-    gt $I11, rx299_eos, rx299_fail
-    sub $I11, rx299_pos, rx299_off
-    substr $S10, rx299_tgt, $I11, 6
-    ne $S10, "repeat", rx299_fail
-    add rx299_pos, 6
-    set_addr $I10, rxcap_303_fail
-    ($I12, $I11) = rx299_cur."!mark_peek"($I10)
-    rx299_cur."!cursor_pos"($I11)
-    ($P10) = rx299_cur."!cursor_start"()
-    $P10."!cursor_pass"(rx299_pos, "")
-    rx299_cur."!mark_push"(0, -1, 0, $P10)
+    add $I11, rx303_pos, 6
+    gt $I11, rx303_eos, rx303_fail
+    sub $I11, rx303_pos, rx303_off
+    substr $S10, rx303_tgt, $I11, 6
+    ne $S10, "repeat", rx303_fail
+    add rx303_pos, 6
+    set_addr $I10, rxcap_307_fail
+    ($I12, $I11) = rx303_cur."!mark_peek"($I10)
+    rx303_cur."!cursor_pos"($I11)
+    ($P10) = rx303_cur."!cursor_start"()
+    $P10."!cursor_pass"(rx303_pos, "")
+    rx303_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("sym")
-    goto rxcap_303_done
-  rxcap_303_fail:
-    goto rx299_fail
-  rxcap_303_done:
+    goto rxcap_307_done
+  rxcap_307_fail:
+    goto rx303_fail
+  rxcap_307_done:
   # rx charclass s
-    ge rx299_pos, rx299_eos, rx299_fail
-    sub $I10, rx299_pos, rx299_off
-    is_cclass $I11, 32, rx299_tgt, $I10
-    unless $I11, rx299_fail
-    inc rx299_pos
-  # rx subrule "ws" subtype=method negate=
-    rx299_cur."!cursor_pos"(rx299_pos)
-    $P10 = rx299_cur."ws"()
-    unless $P10, rx299_fail
-    rx299_pos = $P10."pos"()
-  alt305_0:
+    ge rx303_pos, rx303_eos, rx303_fail
+    sub $I10, rx303_pos, rx303_off
+    is_cclass $I11, 32, rx303_tgt, $I10
+    unless $I11, rx303_fail
+    inc rx303_pos
+  # rx subrule "ws" subtype=method negate=
+    rx303_cur."!cursor_pos"(rx303_pos)
+    $P10 = rx303_cur."ws"()
+    unless $P10, rx303_fail
+    rx303_pos = $P10."pos"()
+  alt309_0:
 .annotate "line", 169
-    set_addr $I10, alt305_1
-    rx299_cur."!mark_push"(0, rx299_pos, $I10)
+    set_addr $I10, alt309_1
+    rx303_cur."!mark_push"(0, rx303_pos, $I10)
 .annotate "line", 170
   # rx subrule "ws" subtype=method negate=
-    rx299_cur."!cursor_pos"(rx299_pos)
-    $P10 = rx299_cur."ws"()
-    unless $P10, rx299_fail
-    rx299_pos = $P10."pos"()
+    rx303_cur."!cursor_pos"(rx303_pos)
+    $P10 = rx303_cur."ws"()
+    unless $P10, rx303_fail
+    rx303_pos = $P10."pos"()
   # rx subcapture "wu"
-    set_addr $I10, rxcap_308_fail
-    rx299_cur."!mark_push"(0, rx299_pos, $I10)
-  alt307_0:
-    set_addr $I10, alt307_1
-    rx299_cur."!mark_push"(0, rx299_pos, $I10)
+    set_addr $I10, rxcap_312_fail
+    rx303_cur."!mark_push"(0, rx303_pos, $I10)
+  alt311_0:
+    set_addr $I10, alt311_1
+    rx303_cur."!mark_push"(0, rx303_pos, $I10)
   # rx literal  "while"
-    add $I11, rx299_pos, 5
-    gt $I11, rx299_eos, rx299_fail
-    sub $I11, rx299_pos, rx299_off
-    substr $S10, rx299_tgt, $I11, 5
-    ne $S10, "while", rx299_fail
-    add rx299_pos, 5
-    goto alt307_end
-  alt307_1:
+    add $I11, rx303_pos, 5
+    gt $I11, rx303_eos, rx303_fail
+    sub $I11, rx303_pos, rx303_off
+    substr $S10, rx303_tgt, $I11, 5
+    ne $S10, "while", rx303_fail
+    add rx303_pos, 5
+    goto alt311_end
+  alt311_1:
   # rx literal  "until"
-    add $I11, rx299_pos, 5
-    gt $I11, rx299_eos, rx299_fail
-    sub $I11, rx299_pos, rx299_off
-    substr $S10, rx299_tgt, $I11, 5
-    ne $S10, "until", rx299_fail
-    add rx299_pos, 5
-  alt307_end:
-    set_addr $I10, rxcap_308_fail
-    ($I12, $I11) = rx299_cur."!mark_peek"($I10)
-    rx299_cur."!cursor_pos"($I11)
-    ($P10) = rx299_cur."!cursor_start"()
-    $P10."!cursor_pass"(rx299_pos, "")
-    rx299_cur."!mark_push"(0, -1, 0, $P10)
+    add $I11, rx303_pos, 5
+    gt $I11, rx303_eos, rx303_fail
+    sub $I11, rx303_pos, rx303_off
+    substr $S10, rx303_tgt, $I11, 5
+    ne $S10, "until", rx303_fail
+    add rx303_pos, 5
+  alt311_end:
+    set_addr $I10, rxcap_312_fail
+    ($I12, $I11) = rx303_cur."!mark_peek"($I10)
+    rx303_cur."!cursor_pos"($I11)
+    ($P10) = rx303_cur."!cursor_start"()
+    $P10."!cursor_pass"(rx303_pos, "")
+    rx303_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("wu")
-    goto rxcap_308_done
-  rxcap_308_fail:
-    goto rx299_fail
-  rxcap_308_done:
+    goto rxcap_312_done
+  rxcap_312_fail:
+    goto rx303_fail
+  rxcap_312_done:
   # rx charclass s
-    ge rx299_pos, rx299_eos, rx299_fail
-    sub $I10, rx299_pos, rx299_off
-    is_cclass $I11, 32, rx299_tgt, $I10
-    unless $I11, rx299_fail
-    inc rx299_pos
-  # rx subrule "ws" subtype=method negate=
-    rx299_cur."!cursor_pos"(rx299_pos)
-    $P10 = rx299_cur."ws"()
-    unless $P10, rx299_fail
-    rx299_pos = $P10."pos"()
+    ge rx303_pos, rx303_eos, rx303_fail
+    sub $I10, rx303_pos, rx303_off
+    is_cclass $I11, 32, rx303_tgt, $I10
+    unless $I11, rx303_fail
+    inc rx303_pos
+  # rx subrule "ws" subtype=method negate=
+    rx303_cur."!cursor_pos"(rx303_pos)
+    $P10 = rx303_cur."ws"()
+    unless $P10, rx303_fail
+    rx303_pos = $P10."pos"()
   # rx subrule "xblock" subtype=capture negate=
-    rx299_cur."!cursor_pos"(rx299_pos)
-    $P10 = rx299_cur."xblock"()
-    unless $P10, rx299_fail
-    rx299_cur."!mark_push"(0, -1, 0, $P10)
+    rx303_cur."!cursor_pos"(rx303_pos)
+    $P10 = rx303_cur."xblock"()
+    unless $P10, rx303_fail
+    rx303_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("xblock")
-    rx299_pos = $P10."pos"()
+    rx303_pos = $P10."pos"()
   # rx subrule "ws" subtype=method negate=
-    rx299_cur."!cursor_pos"(rx299_pos)
-    $P10 = rx299_cur."ws"()
-    unless $P10, rx299_fail
-    rx299_pos = $P10."pos"()
-    goto alt305_end
-  alt305_1:
+    rx303_cur."!cursor_pos"(rx303_pos)
+    $P10 = rx303_cur."ws"()
+    unless $P10, rx303_fail
+    rx303_pos = $P10."pos"()
+    goto alt309_end
+  alt309_1:
 .annotate "line", 171
   # rx subrule "ws" subtype=method negate=
-    rx299_cur."!cursor_pos"(rx299_pos)
-    $P10 = rx299_cur."ws"()
-    unless $P10, rx299_fail
-    rx299_pos = $P10."pos"()
+    rx303_cur."!cursor_pos"(rx303_pos)
+    $P10 = rx303_cur."ws"()
+    unless $P10, rx303_fail
+    rx303_pos = $P10."pos"()
   # rx subrule "pblock" subtype=capture negate=
-    rx299_cur."!cursor_pos"(rx299_pos)
-    $P10 = rx299_cur."pblock"()
-    unless $P10, rx299_fail
-    rx299_cur."!mark_push"(0, -1, 0, $P10)
+    rx303_cur."!cursor_pos"(rx303_pos)
+    $P10 = rx303_cur."pblock"()
+    unless $P10, rx303_fail
+    rx303_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("pblock")
-    rx299_pos = $P10."pos"()
+    rx303_pos = $P10."pos"()
   # rx subrule "ws" subtype=method negate=
-    rx299_cur."!cursor_pos"(rx299_pos)
-    $P10 = rx299_cur."ws"()
-    unless $P10, rx299_fail
-    rx299_pos = $P10."pos"()
+    rx303_cur."!cursor_pos"(rx303_pos)
+    $P10 = rx303_cur."ws"()
+    unless $P10, rx303_fail
+    rx303_pos = $P10."pos"()
   # rx subcapture "wu"
-    set_addr $I10, rxcap_314_fail
-    rx299_cur."!mark_push"(0, rx299_pos, $I10)
-  alt313_0:
-    set_addr $I10, alt313_1
-    rx299_cur."!mark_push"(0, rx299_pos, $I10)
+    set_addr $I10, rxcap_318_fail
+    rx303_cur."!mark_push"(0, rx303_pos, $I10)
+  alt317_0:
+    set_addr $I10, alt317_1
+    rx303_cur."!mark_push"(0, rx303_pos, $I10)
   # rx literal  "while"
-    add $I11, rx299_pos, 5
-    gt $I11, rx299_eos, rx299_fail
-    sub $I11, rx299_pos, rx299_off
-    substr $S10, rx299_tgt, $I11, 5
-    ne $S10, "while", rx299_fail
-    add rx299_pos, 5
-    goto alt313_end
-  alt313_1:
+    add $I11, rx303_pos, 5
+    gt $I11, rx303_eos, rx303_fail
+    sub $I11, rx303_pos, rx303_off
+    substr $S10, rx303_tgt, $I11, 5
+    ne $S10, "while", rx303_fail
+    add rx303_pos, 5
+    goto alt317_end
+  alt317_1:
   # rx literal  "until"
-    add $I11, rx299_pos, 5
-    gt $I11, rx299_eos, rx299_fail
-    sub $I11, rx299_pos, rx299_off
-    substr $S10, rx299_tgt, $I11, 5
-    ne $S10, "until", rx299_fail
-    add rx299_pos, 5
-  alt313_end:
-    set_addr $I10, rxcap_314_fail
-    ($I12, $I11) = rx299_cur."!mark_peek"($I10)
-    rx299_cur."!cursor_pos"($I11)
-    ($P10) = rx299_cur."!cursor_start"()
-    $P10."!cursor_pass"(rx299_pos, "")
-    rx299_cur."!mark_push"(0, -1, 0, $P10)
+    add $I11, rx303_pos, 5
+    gt $I11, rx303_eos, rx303_fail
+    sub $I11, rx303_pos, rx303_off
+    substr $S10, rx303_tgt, $I11, 5
+    ne $S10, "until", rx303_fail
+    add rx303_pos, 5
+  alt317_end:
+    set_addr $I10, rxcap_318_fail
+    ($I12, $I11) = rx303_cur."!mark_peek"($I10)
+    rx303_cur."!cursor_pos"($I11)
+    ($P10) = rx303_cur."!cursor_start"()
+    $P10."!cursor_pass"(rx303_pos, "")
+    rx303_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("wu")
-    goto rxcap_314_done
-  rxcap_314_fail:
-    goto rx299_fail
-  rxcap_314_done:
+    goto rxcap_318_done
+  rxcap_318_fail:
+    goto rx303_fail
+  rxcap_318_done:
   # rx charclass s
-    ge rx299_pos, rx299_eos, rx299_fail
-    sub $I10, rx299_pos, rx299_off
-    is_cclass $I11, 32, rx299_tgt, $I10
-    unless $I11, rx299_fail
-    inc rx299_pos
-  # rx subrule "ws" subtype=method negate=
-    rx299_cur."!cursor_pos"(rx299_pos)
-    $P10 = rx299_cur."ws"()
-    unless $P10, rx299_fail
-    rx299_pos = $P10."pos"()
+    ge rx303_pos, rx303_eos, rx303_fail
+    sub $I10, rx303_pos, rx303_off
+    is_cclass $I11, 32, rx303_tgt, $I10
+    unless $I11, rx303_fail
+    inc rx303_pos
+  # rx subrule "ws" subtype=method negate=
+    rx303_cur."!cursor_pos"(rx303_pos)
+    $P10 = rx303_cur."ws"()
+    unless $P10, rx303_fail
+    rx303_pos = $P10."pos"()
   # rx subrule "EXPR" subtype=capture negate=
-    rx299_cur."!cursor_pos"(rx299_pos)
-    $P10 = rx299_cur."EXPR"()
-    unless $P10, rx299_fail
-    rx299_cur."!mark_push"(0, -1, 0, $P10)
+    rx303_cur."!cursor_pos"(rx303_pos)
+    $P10 = rx303_cur."EXPR"()
+    unless $P10, rx303_fail
+    rx303_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("EXPR")
-    rx299_pos = $P10."pos"()
+    rx303_pos = $P10."pos"()
   # rx subrule "ws" subtype=method negate=
-    rx299_cur."!cursor_pos"(rx299_pos)
-    $P10 = rx299_cur."ws"()
-    unless $P10, rx299_fail
-    rx299_pos = $P10."pos"()
-  alt305_end:
+    rx303_cur."!cursor_pos"(rx303_pos)
+    $P10 = rx303_cur."ws"()
+    unless $P10, rx303_fail
+    rx303_pos = $P10."pos"()
+  alt309_end:
 .annotate "line", 172
   # rx subrule "ws" subtype=method negate=
-    rx299_cur."!cursor_pos"(rx299_pos)
-    $P10 = rx299_cur."ws"()
-    unless $P10, rx299_fail
-    rx299_pos = $P10."pos"()
+    rx303_cur."!cursor_pos"(rx303_pos)
+    $P10 = rx303_cur."ws"()
+    unless $P10, rx303_fail
+    rx303_pos = $P10."pos"()
 .annotate "line", 167
   # rx pass
-    rx299_cur."!cursor_pass"(rx299_pos, "statement_control:sym<repeat>")
-    rx299_cur."!cursor_debug"("PASS  ", "statement_control:sym<repeat>", " at pos=", rx299_pos)
-    .return (rx299_cur)
-  rx299_fail:
+    rx303_cur."!cursor_pass"(rx303_pos, "statement_control:sym<repeat>")
+    rx303_cur."!cursor_debug"("PASS  ", "statement_control:sym<repeat>", " at pos=", rx303_pos)
+    .return (rx303_cur)
+  rx303_fail:
 .annotate "line", 4
-    (rx299_rep, rx299_pos, $I10, $P10) = rx299_cur."!mark_fail"(0)
-    lt rx299_pos, -1, rx299_done
-    eq rx299_pos, -1, rx299_fail
+    (rx303_rep, rx303_pos, $I10, $P10) = rx303_cur."!mark_fail"(0)
+    lt rx303_pos, -1, rx303_done
+    eq rx303_pos, -1, rx303_fail
     jump $I10
-  rx299_done:
-    rx299_cur."!cursor_fail"()
-    rx299_cur."!cursor_debug"("FAIL  ", "statement_control:sym<repeat>")
-    .return (rx299_cur)
+  rx303_done:
+    rx303_cur."!cursor_fail"()
+    rx303_cur."!cursor_debug"("FAIL  ", "statement_control:sym<repeat>")
+    .return (rx303_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__statement_control:sym<repeat>"  :subid("68_1259103982.97329") :method
+.sub "!PREFIX__statement_control:sym<repeat>"  :subid("68_1259177761.22934") :method
 .annotate "line", 4
-    new $P301, "ResizablePMCArray"
-    push $P301, "repeat"
-    .return ($P301)
+    new $P305, "ResizablePMCArray"
+    push $P305, "repeat"
+    .return ($P305)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "statement_control:sym<for>"  :subid("69_1259103982.97329") :method :outer("11_1259103982.97329")
+.sub "statement_control:sym<for>"  :subid("69_1259177761.22934") :method :outer("11_1259177761.22934")
 .annotate "line", 4
-    .local string rx319_tgt
-    .local int rx319_pos
-    .local int rx319_off
-    .local int rx319_eos
-    .local int rx319_rep
-    .local pmc rx319_cur
-    (rx319_cur, rx319_pos, rx319_tgt) = self."!cursor_start"()
-    rx319_cur."!cursor_debug"("START ", "statement_control:sym<for>")
-    .lex unicode:"$\x{a2}", rx319_cur
+    .local string rx323_tgt
+    .local int rx323_pos
+    .local int rx323_off
+    .local int rx323_eos
+    .local int rx323_rep
+    .local pmc rx323_cur
+    (rx323_cur, rx323_pos, rx323_tgt) = self."!cursor_start"()
+    rx323_cur."!cursor_debug"("START ", "statement_control:sym<for>")
+    .lex unicode:"$\x{a2}", rx323_cur
     .local pmc match
     .lex "$/", match
-    length rx319_eos, rx319_tgt
-    set rx319_off, 0
-    lt rx319_pos, 2, rx319_start
-    sub rx319_off, rx319_pos, 1
-    substr rx319_tgt, rx319_tgt, rx319_off
-  rx319_start:
+    length rx323_eos, rx323_tgt
+    set rx323_off, 0
+    lt rx323_pos, 2, rx323_start
+    sub rx323_off, rx323_pos, 1
+    substr rx323_tgt, rx323_tgt, rx323_off
+  rx323_start:
     $I10 = self.'from'()
-    ne $I10, -1, rxscan322_done
-    goto rxscan322_scan
-  rxscan322_loop:
-    ($P10) = rx319_cur."from"()
+    ne $I10, -1, rxscan326_done
+    goto rxscan326_scan
+  rxscan326_loop:
+    ($P10) = rx323_cur."from"()
     inc $P10
-    set rx319_pos, $P10
-    ge rx319_pos, rx319_eos, rxscan322_done
-  rxscan322_scan:
-    set_addr $I10, rxscan322_loop
-    rx319_cur."!mark_push"(0, rx319_pos, $I10)
-  rxscan322_done:
+    set rx323_pos, $P10
+    ge rx323_pos, rx323_eos, rxscan326_done
+  rxscan326_scan:
+    set_addr $I10, rxscan326_loop
+    rx323_cur."!mark_push"(0, rx323_pos, $I10)
+  rxscan326_done:
 .annotate "line", 176
   # rx subcapture "sym"
-    set_addr $I10, rxcap_323_fail
-    rx319_cur."!mark_push"(0, rx319_pos, $I10)
+    set_addr $I10, rxcap_327_fail
+    rx323_cur."!mark_push"(0, rx323_pos, $I10)
   # rx literal  "for"
-    add $I11, rx319_pos, 3
-    gt $I11, rx319_eos, rx319_fail
-    sub $I11, rx319_pos, rx319_off
-    substr $S10, rx319_tgt, $I11, 3
-    ne $S10, "for", rx319_fail
-    add rx319_pos, 3
-    set_addr $I10, rxcap_323_fail
-    ($I12, $I11) = rx319_cur."!mark_peek"($I10)
-    rx319_cur."!cursor_pos"($I11)
-    ($P10) = rx319_cur."!cursor_start"()
-    $P10."!cursor_pass"(rx319_pos, "")
-    rx319_cur."!mark_push"(0, -1, 0, $P10)
+    add $I11, rx323_pos, 3
+    gt $I11, rx323_eos, rx323_fail
+    sub $I11, rx323_pos, rx323_off
+    substr $S10, rx323_tgt, $I11, 3
+    ne $S10, "for", rx323_fail
+    add rx323_pos, 3
+    set_addr $I10, rxcap_327_fail
+    ($I12, $I11) = rx323_cur."!mark_peek"($I10)
+    rx323_cur."!cursor_pos"($I11)
+    ($P10) = rx323_cur."!cursor_start"()
+    $P10."!cursor_pass"(rx323_pos, "")
+    rx323_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("sym")
-    goto rxcap_323_done
-  rxcap_323_fail:
-    goto rx319_fail
-  rxcap_323_done:
+    goto rxcap_327_done
+  rxcap_327_fail:
+    goto rx323_fail
+  rxcap_327_done:
   # rx charclass s
-    ge rx319_pos, rx319_eos, rx319_fail
-    sub $I10, rx319_pos, rx319_off
-    is_cclass $I11, 32, rx319_tgt, $I10
-    unless $I11, rx319_fail
-    inc rx319_pos
-  # rx subrule "ws" subtype=method negate=
-    rx319_cur."!cursor_pos"(rx319_pos)
-    $P10 = rx319_cur."ws"()
-    unless $P10, rx319_fail
-    rx319_pos = $P10."pos"()
+    ge rx323_pos, rx323_eos, rx323_fail
+    sub $I10, rx323_pos, rx323_off
+    is_cclass $I11, 32, rx323_tgt, $I10
+    unless $I11, rx323_fail
+    inc rx323_pos
+  # rx subrule "ws" subtype=method negate=
+    rx323_cur."!cursor_pos"(rx323_pos)
+    $P10 = rx323_cur."ws"()
+    unless $P10, rx323_fail
+    rx323_pos = $P10."pos"()
 .annotate "line", 177
   # rx subrule "xblock" subtype=capture negate=
-    rx319_cur."!cursor_pos"(rx319_pos)
-    $P10 = rx319_cur."xblock"()
-    unless $P10, rx319_fail
-    rx319_cur."!mark_push"(0, -1, 0, $P10)
+    rx323_cur."!cursor_pos"(rx323_pos)
+    $P10 = rx323_cur."xblock"()
+    unless $P10, rx323_fail
+    rx323_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("xblock")
-    rx319_pos = $P10."pos"()
+    rx323_pos = $P10."pos"()
   # rx subrule "ws" subtype=method negate=
-    rx319_cur."!cursor_pos"(rx319_pos)
-    $P10 = rx319_cur."ws"()
-    unless $P10, rx319_fail
-    rx319_pos = $P10."pos"()
+    rx323_cur."!cursor_pos"(rx323_pos)
+    $P10 = rx323_cur."ws"()
+    unless $P10, rx323_fail
+    rx323_pos = $P10."pos"()
 .annotate "line", 175
   # rx pass
-    rx319_cur."!cursor_pass"(rx319_pos, "statement_control:sym<for>")
-    rx319_cur."!cursor_debug"("PASS  ", "statement_control:sym<for>", " at pos=", rx319_pos)
-    .return (rx319_cur)
-  rx319_fail:
+    rx323_cur."!cursor_pass"(rx323_pos, "statement_control:sym<for>")
+    rx323_cur."!cursor_debug"("PASS  ", "statement_control:sym<for>", " at pos=", rx323_pos)
+    .return (rx323_cur)
+  rx323_fail:
 .annotate "line", 4
-    (rx319_rep, rx319_pos, $I10, $P10) = rx319_cur."!mark_fail"(0)
-    lt rx319_pos, -1, rx319_done
-    eq rx319_pos, -1, rx319_fail
+    (rx323_rep, rx323_pos, $I10, $P10) = rx323_cur."!mark_fail"(0)
+    lt rx323_pos, -1, rx323_done
+    eq rx323_pos, -1, rx323_fail
     jump $I10
-  rx319_done:
-    rx319_cur."!cursor_fail"()
-    rx319_cur."!cursor_debug"("FAIL  ", "statement_control:sym<for>")
-    .return (rx319_cur)
+  rx323_done:
+    rx323_cur."!cursor_fail"()
+    rx323_cur."!cursor_debug"("FAIL  ", "statement_control:sym<for>")
+    .return (rx323_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__statement_control:sym<for>"  :subid("70_1259103982.97329") :method
+.sub "!PREFIX__statement_control:sym<for>"  :subid("70_1259177761.22934") :method
 .annotate "line", 4
-    new $P321, "ResizablePMCArray"
-    push $P321, "for"
-    .return ($P321)
-.end
-
-
-.namespace ["NQP";"Grammar"]
-.sub "statement_prefix"  :subid("71_1259103982.97329") :method
-.annotate "line", 180
-    $P327 = self."!protoregex"("statement_prefix")
-    .return ($P327)
+    new $P325, "ResizablePMCArray"
+    push $P325, "for"
+    .return ($P325)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__statement_prefix"  :subid("72_1259103982.97329") :method
-.annotate "line", 180
-    $P329 = self."!PREFIX__!protoregex"("statement_prefix")
-    .return ($P329)
-.end
-
-
-.namespace ["NQP";"Grammar"]
-.sub "statement_prefix:sym<INIT>"  :subid("73_1259103982.97329") :method :outer("11_1259103982.97329")
+.sub "statement_control:sym<CATCH>"  :subid("71_1259177761.22934") :method :outer("11_1259177761.22934")
 .annotate "line", 4
     .local string rx331_tgt
     .local int rx331_pos
@@ -4074,7 +4066,7 @@
     .local int rx331_rep
     .local pmc rx331_cur
     (rx331_cur, rx331_pos, rx331_tgt) = self."!cursor_start"()
-    rx331_cur."!cursor_debug"("START ", "statement_prefix:sym<INIT>")
+    rx331_cur."!cursor_debug"("START ", "statement_control:sym<CATCH>")
     .lex unicode:"$\x{a2}", rx331_cur
     .local pmc match
     .lex "$/", match
@@ -4085,49 +4077,67 @@
     substr rx331_tgt, rx331_tgt, rx331_off
   rx331_start:
     $I10 = self.'from'()
-    ne $I10, -1, rxscan335_done
-    goto rxscan335_scan
-  rxscan335_loop:
+    ne $I10, -1, rxscan334_done
+    goto rxscan334_scan
+  rxscan334_loop:
     ($P10) = rx331_cur."from"()
     inc $P10
     set rx331_pos, $P10
-    ge rx331_pos, rx331_eos, rxscan335_done
-  rxscan335_scan:
-    set_addr $I10, rxscan335_loop
+    ge rx331_pos, rx331_eos, rxscan334_done
+  rxscan334_scan:
+    set_addr $I10, rxscan334_loop
     rx331_cur."!mark_push"(0, rx331_pos, $I10)
-  rxscan335_done:
+  rxscan334_done:
 .annotate "line", 181
   # rx subcapture "sym"
-    set_addr $I10, rxcap_336_fail
+    set_addr $I10, rxcap_335_fail
     rx331_cur."!mark_push"(0, rx331_pos, $I10)
-  # rx literal  "INIT"
-    add $I11, rx331_pos, 4
+  # rx literal  "CATCH"
+    add $I11, rx331_pos, 5
     gt $I11, rx331_eos, rx331_fail
     sub $I11, rx331_pos, rx331_off
-    substr $S10, rx331_tgt, $I11, 4
-    ne $S10, "INIT", rx331_fail
-    add rx331_pos, 4
-    set_addr $I10, rxcap_336_fail
+    substr $S10, rx331_tgt, $I11, 5
+    ne $S10, "CATCH", rx331_fail
+    add rx331_pos, 5
+    set_addr $I10, rxcap_335_fail
     ($I12, $I11) = rx331_cur."!mark_peek"($I10)
     rx331_cur."!cursor_pos"($I11)
     ($P10) = rx331_cur."!cursor_start"()
     $P10."!cursor_pass"(rx331_pos, "")
     rx331_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("sym")
-    goto rxcap_336_done
-  rxcap_336_fail:
+    goto rxcap_335_done
+  rxcap_335_fail:
     goto rx331_fail
-  rxcap_336_done:
-  # rx subrule "blorst" subtype=capture negate=
+  rxcap_335_done:
+  # rx charclass s
+    ge rx331_pos, rx331_eos, rx331_fail
+    sub $I10, rx331_pos, rx331_off
+    is_cclass $I11, 32, rx331_tgt, $I10
+    unless $I11, rx331_fail
+    inc rx331_pos
+  # rx subrule "ws" subtype=method negate=
+    rx331_cur."!cursor_pos"(rx331_pos)
+    $P10 = rx331_cur."ws"()
+    unless $P10, rx331_fail
+    rx331_pos = $P10."pos"()
+.annotate "line", 182
+  # rx subrule "block" subtype=capture negate=
     rx331_cur."!cursor_pos"(rx331_pos)
-    $P10 = rx331_cur."blorst"()
+    $P10 = rx331_cur."block"()
     unless $P10, rx331_fail
     rx331_cur."!mark_push"(0, -1, 0, $P10)
-    $P10."!cursor_names"("blorst")
+    $P10."!cursor_names"("block")
     rx331_pos = $P10."pos"()
+  # rx subrule "ws" subtype=method negate=
+    rx331_cur."!cursor_pos"(rx331_pos)
+    $P10 = rx331_cur."ws"()
+    unless $P10, rx331_fail
+    rx331_pos = $P10."pos"()
+.annotate "line", 180
   # rx pass
-    rx331_cur."!cursor_pass"(rx331_pos, "statement_prefix:sym<INIT>")
-    rx331_cur."!cursor_debug"("PASS  ", "statement_prefix:sym<INIT>", " at pos=", rx331_pos)
+    rx331_cur."!cursor_pass"(rx331_pos, "statement_control:sym<CATCH>")
+    rx331_cur."!cursor_debug"("PASS  ", "statement_control:sym<CATCH>", " at pos=", rx331_pos)
     .return (rx331_cur)
   rx331_fail:
 .annotate "line", 4
@@ -4137,441 +4147,439 @@
     jump $I10
   rx331_done:
     rx331_cur."!cursor_fail"()
-    rx331_cur."!cursor_debug"("FAIL  ", "statement_prefix:sym<INIT>")
+    rx331_cur."!cursor_debug"("FAIL  ", "statement_control:sym<CATCH>")
     .return (rx331_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__statement_prefix:sym<INIT>"  :subid("74_1259103982.97329") :method
+.sub "!PREFIX__statement_control:sym<CATCH>"  :subid("72_1259177761.22934") :method
 .annotate "line", 4
-    $P333 = self."!PREFIX__!subrule"("blorst", "INIT")
-    new $P334, "ResizablePMCArray"
-    push $P334, $P333
-    .return ($P334)
+    new $P333, "ResizablePMCArray"
+    push $P333, "CATCH"
+    .return ($P333)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "statement_prefix:sym<try>"  :subid("75_1259103982.97329") :method :outer("11_1259103982.97329")
+.sub "statement_control:sym<CONTROL>"  :subid("73_1259177761.22934") :method :outer("11_1259177761.22934")
 .annotate "line", 4
-    .local string rx338_tgt
-    .local int rx338_pos
-    .local int rx338_off
-    .local int rx338_eos
-    .local int rx338_rep
-    .local pmc rx338_cur
-    (rx338_cur, rx338_pos, rx338_tgt) = self."!cursor_start"()
-    rx338_cur."!cursor_debug"("START ", "statement_prefix:sym<try>")
-    .lex unicode:"$\x{a2}", rx338_cur
+    .local string rx339_tgt
+    .local int rx339_pos
+    .local int rx339_off
+    .local int rx339_eos
+    .local int rx339_rep
+    .local pmc rx339_cur
+    (rx339_cur, rx339_pos, rx339_tgt) = self."!cursor_start"()
+    rx339_cur."!cursor_debug"("START ", "statement_control:sym<CONTROL>")
+    .lex unicode:"$\x{a2}", rx339_cur
     .local pmc match
     .lex "$/", match
-    length rx338_eos, rx338_tgt
-    set rx338_off, 0
-    lt rx338_pos, 2, rx338_start
-    sub rx338_off, rx338_pos, 1
-    substr rx338_tgt, rx338_tgt, rx338_off
-  rx338_start:
+    length rx339_eos, rx339_tgt
+    set rx339_off, 0
+    lt rx339_pos, 2, rx339_start
+    sub rx339_off, rx339_pos, 1
+    substr rx339_tgt, rx339_tgt, rx339_off
+  rx339_start:
     $I10 = self.'from'()
     ne $I10, -1, rxscan342_done
     goto rxscan342_scan
   rxscan342_loop:
-    ($P10) = rx338_cur."from"()
+    ($P10) = rx339_cur."from"()
     inc $P10
-    set rx338_pos, $P10
-    ge rx338_pos, rx338_eos, rxscan342_done
+    set rx339_pos, $P10
+    ge rx339_pos, rx339_eos, rxscan342_done
   rxscan342_scan:
     set_addr $I10, rxscan342_loop
-    rx338_cur."!mark_push"(0, rx338_pos, $I10)
+    rx339_cur."!mark_push"(0, rx339_pos, $I10)
   rxscan342_done:
-.annotate "line", 184
+.annotate "line", 186
   # rx subcapture "sym"
     set_addr $I10, rxcap_343_fail
-    rx338_cur."!mark_push"(0, rx338_pos, $I10)
-  # rx literal  "try"
-    add $I11, rx338_pos, 3
-    gt $I11, rx338_eos, rx338_fail
-    sub $I11, rx338_pos, rx338_off
-    substr $S10, rx338_tgt, $I11, 3
-    ne $S10, "try", rx338_fail
-    add rx338_pos, 3
+    rx339_cur."!mark_push"(0, rx339_pos, $I10)
+  # rx literal  "CONTROL"
+    add $I11, rx339_pos, 7
+    gt $I11, rx339_eos, rx339_fail
+    sub $I11, rx339_pos, rx339_off
+    substr $S10, rx339_tgt, $I11, 7
+    ne $S10, "CONTROL", rx339_fail
+    add rx339_pos, 7
     set_addr $I10, rxcap_343_fail
-    ($I12, $I11) = rx338_cur."!mark_peek"($I10)
-    rx338_cur."!cursor_pos"($I11)
-    ($P10) = rx338_cur."!cursor_start"()
-    $P10."!cursor_pass"(rx338_pos, "")
-    rx338_cur."!mark_push"(0, -1, 0, $P10)
+    ($I12, $I11) = rx339_cur."!mark_peek"($I10)
+    rx339_cur."!cursor_pos"($I11)
+    ($P10) = rx339_cur."!cursor_start"()
+    $P10."!cursor_pass"(rx339_pos, "")
+    rx339_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("sym")
     goto rxcap_343_done
   rxcap_343_fail:
-    goto rx338_fail
+    goto rx339_fail
   rxcap_343_done:
+  # rx charclass s
+    ge rx339_pos, rx339_eos, rx339_fail
+    sub $I10, rx339_pos, rx339_off
+    is_cclass $I11, 32, rx339_tgt, $I10
+    unless $I11, rx339_fail
+    inc rx339_pos
+  # rx subrule "ws" subtype=method negate=
+    rx339_cur."!cursor_pos"(rx339_pos)
+    $P10 = rx339_cur."ws"()
+    unless $P10, rx339_fail
+    rx339_pos = $P10."pos"()
+.annotate "line", 187
+  # rx subrule "block" subtype=capture negate=
+    rx339_cur."!cursor_pos"(rx339_pos)
+    $P10 = rx339_cur."block"()
+    unless $P10, rx339_fail
+    rx339_cur."!mark_push"(0, -1, 0, $P10)
+    $P10."!cursor_names"("block")
+    rx339_pos = $P10."pos"()
+  # rx subrule "ws" subtype=method negate=
+    rx339_cur."!cursor_pos"(rx339_pos)
+    $P10 = rx339_cur."ws"()
+    unless $P10, rx339_fail
+    rx339_pos = $P10."pos"()
 .annotate "line", 185
-  # rx subrule "blorst" subtype=capture negate=
-    rx338_cur."!cursor_pos"(rx338_pos)
-    $P10 = rx338_cur."blorst"()
-    unless $P10, rx338_fail
-    rx338_cur."!mark_push"(0, -1, 0, $P10)
-    $P10."!cursor_names"("blorst")
-    rx338_pos = $P10."pos"()
-.annotate "line", 183
   # rx pass
-    rx338_cur."!cursor_pass"(rx338_pos, "statement_prefix:sym<try>")
-    rx338_cur."!cursor_debug"("PASS  ", "statement_prefix:sym<try>", " at pos=", rx338_pos)
-    .return (rx338_cur)
-  rx338_fail:
+    rx339_cur."!cursor_pass"(rx339_pos, "statement_control:sym<CONTROL>")
+    rx339_cur."!cursor_debug"("PASS  ", "statement_control:sym<CONTROL>", " at pos=", rx339_pos)
+    .return (rx339_cur)
+  rx339_fail:
 .annotate "line", 4
-    (rx338_rep, rx338_pos, $I10, $P10) = rx338_cur."!mark_fail"(0)
-    lt rx338_pos, -1, rx338_done
-    eq rx338_pos, -1, rx338_fail
+    (rx339_rep, rx339_pos, $I10, $P10) = rx339_cur."!mark_fail"(0)
+    lt rx339_pos, -1, rx339_done
+    eq rx339_pos, -1, rx339_fail
     jump $I10
-  rx338_done:
-    rx338_cur."!cursor_fail"()
-    rx338_cur."!cursor_debug"("FAIL  ", "statement_prefix:sym<try>")
-    .return (rx338_cur)
+  rx339_done:
+    rx339_cur."!cursor_fail"()
+    rx339_cur."!cursor_debug"("FAIL  ", "statement_control:sym<CONTROL>")
+    .return (rx339_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__statement_prefix:sym<try>"  :subid("76_1259103982.97329") :method
+.sub "!PREFIX__statement_control:sym<CONTROL>"  :subid("74_1259177761.22934") :method
 .annotate "line", 4
-    $P340 = self."!PREFIX__!subrule"("blorst", "try")
     new $P341, "ResizablePMCArray"
-    push $P341, $P340
+    push $P341, "CONTROL"
     .return ($P341)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "blorst"  :subid("77_1259103982.97329") :method :outer("11_1259103982.97329")
-.annotate "line", 4
-    .local string rx345_tgt
-    .local int rx345_pos
-    .local int rx345_off
-    .local int rx345_eos
-    .local int rx345_rep
-    .local pmc rx345_cur
-    (rx345_cur, rx345_pos, rx345_tgt) = self."!cursor_start"()
-    rx345_cur."!cursor_debug"("START ", "blorst")
-    .lex unicode:"$\x{a2}", rx345_cur
-    .local pmc match
-    .lex "$/", match
-    length rx345_eos, rx345_tgt
-    set rx345_off, 0
-    lt rx345_pos, 2, rx345_start
-    sub rx345_off, rx345_pos, 1
-    substr rx345_tgt, rx345_tgt, rx345_off
-  rx345_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan348_done
-    goto rxscan348_scan
-  rxscan348_loop:
-    ($P10) = rx345_cur."from"()
-    inc $P10
-    set rx345_pos, $P10
-    ge rx345_pos, rx345_eos, rxscan348_done
-  rxscan348_scan:
-    set_addr $I10, rxscan348_loop
-    rx345_cur."!mark_push"(0, rx345_pos, $I10)
-  rxscan348_done:
-.annotate "line", 189
-  # rx charclass s
-    ge rx345_pos, rx345_eos, rx345_fail
-    sub $I10, rx345_pos, rx345_off
-    is_cclass $I11, 32, rx345_tgt, $I10
-    unless $I11, rx345_fail
-    inc rx345_pos
-  # rx subrule "ws" subtype=method negate=
-    rx345_cur."!cursor_pos"(rx345_pos)
-    $P10 = rx345_cur."ws"()
-    unless $P10, rx345_fail
-    rx345_pos = $P10."pos"()
-  alt349_0:
-    set_addr $I10, alt349_1
-    rx345_cur."!mark_push"(0, rx345_pos, $I10)
-  # rx enumcharlist negate=0 zerowidth
-    ge rx345_pos, rx345_eos, rx345_fail
-    sub $I10, rx345_pos, rx345_off
-    substr $S10, rx345_tgt, $I10, 1
-    index $I11, "{", $S10
-    lt $I11, 0, rx345_fail
-  # rx subrule "block" subtype=capture negate=
-    rx345_cur."!cursor_pos"(rx345_pos)
-    $P10 = rx345_cur."block"()
-    unless $P10, rx345_fail
-    rx345_cur."!mark_push"(0, -1, 0, $P10)
-    $P10."!cursor_names"("block")
-    rx345_pos = $P10."pos"()
-    goto alt349_end
-  alt349_1:
-  # rx subrule "statement" subtype=capture negate=
-    rx345_cur."!cursor_pos"(rx345_pos)
-    $P10 = rx345_cur."statement"()
-    unless $P10, rx345_fail
-    rx345_cur."!mark_push"(0, -1, 0, $P10)
-    $P10."!cursor_names"("statement")
-    rx345_pos = $P10."pos"()
-  alt349_end:
-.annotate "line", 188
-  # rx pass
-    rx345_cur."!cursor_pass"(rx345_pos, "blorst")
-    rx345_cur."!cursor_debug"("PASS  ", "blorst", " at pos=", rx345_pos)
-    .return (rx345_cur)
-  rx345_fail:
-.annotate "line", 4
-    (rx345_rep, rx345_pos, $I10, $P10) = rx345_cur."!mark_fail"(0)
-    lt rx345_pos, -1, rx345_done
-    eq rx345_pos, -1, rx345_fail
-    jump $I10
-  rx345_done:
-    rx345_cur."!cursor_fail"()
-    rx345_cur."!cursor_debug"("FAIL  ", "blorst")
-    .return (rx345_cur)
-    .return ()
+.sub "statement_prefix"  :subid("75_1259177761.22934") :method
+.annotate "line", 190
+    $P347 = self."!protoregex"("statement_prefix")
+    .return ($P347)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__blorst"  :subid("78_1259103982.97329") :method
-.annotate "line", 4
-    new $P347, "ResizablePMCArray"
-    push $P347, ""
-    .return ($P347)
+.sub "!PREFIX__statement_prefix"  :subid("76_1259177761.22934") :method
+.annotate "line", 190
+    $P349 = self."!PREFIX__!protoregex"("statement_prefix")
+    .return ($P349)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "statement_mod_cond"  :subid("79_1259103982.97329") :method
-.annotate "line", 194
-    $P351 = self."!protoregex"("statement_mod_cond")
-    .return ($P351)
+.sub "statement_prefix:sym<INIT>"  :subid("77_1259177761.22934") :method :outer("11_1259177761.22934")
+.annotate "line", 4
+    .local string rx351_tgt
+    .local int rx351_pos
+    .local int rx351_off
+    .local int rx351_eos
+    .local int rx351_rep
+    .local pmc rx351_cur
+    (rx351_cur, rx351_pos, rx351_tgt) = self."!cursor_start"()
+    rx351_cur."!cursor_debug"("START ", "statement_prefix:sym<INIT>")
+    .lex unicode:"$\x{a2}", rx351_cur
+    .local pmc match
+    .lex "$/", match
+    length rx351_eos, rx351_tgt
+    set rx351_off, 0
+    lt rx351_pos, 2, rx351_start
+    sub rx351_off, rx351_pos, 1
+    substr rx351_tgt, rx351_tgt, rx351_off
+  rx351_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan355_done
+    goto rxscan355_scan
+  rxscan355_loop:
+    ($P10) = rx351_cur."from"()
+    inc $P10
+    set rx351_pos, $P10
+    ge rx351_pos, rx351_eos, rxscan355_done
+  rxscan355_scan:
+    set_addr $I10, rxscan355_loop
+    rx351_cur."!mark_push"(0, rx351_pos, $I10)
+  rxscan355_done:
+.annotate "line", 191
+  # rx subcapture "sym"
+    set_addr $I10, rxcap_356_fail
+    rx351_cur."!mark_push"(0, rx351_pos, $I10)
+  # rx literal  "INIT"
+    add $I11, rx351_pos, 4
+    gt $I11, rx351_eos, rx351_fail
+    sub $I11, rx351_pos, rx351_off
+    substr $S10, rx351_tgt, $I11, 4
+    ne $S10, "INIT", rx351_fail
+    add rx351_pos, 4
+    set_addr $I10, rxcap_356_fail
+    ($I12, $I11) = rx351_cur."!mark_peek"($I10)
+    rx351_cur."!cursor_pos"($I11)
+    ($P10) = rx351_cur."!cursor_start"()
+    $P10."!cursor_pass"(rx351_pos, "")
+    rx351_cur."!mark_push"(0, -1, 0, $P10)
+    $P10."!cursor_names"("sym")
+    goto rxcap_356_done
+  rxcap_356_fail:
+    goto rx351_fail
+  rxcap_356_done:
+  # rx subrule "blorst" subtype=capture negate=
+    rx351_cur."!cursor_pos"(rx351_pos)
+    $P10 = rx351_cur."blorst"()
+    unless $P10, rx351_fail
+    rx351_cur."!mark_push"(0, -1, 0, $P10)
+    $P10."!cursor_names"("blorst")
+    rx351_pos = $P10."pos"()
+  # rx pass
+    rx351_cur."!cursor_pass"(rx351_pos, "statement_prefix:sym<INIT>")
+    rx351_cur."!cursor_debug"("PASS  ", "statement_prefix:sym<INIT>", " at pos=", rx351_pos)
+    .return (rx351_cur)
+  rx351_fail:
+.annotate "line", 4
+    (rx351_rep, rx351_pos, $I10, $P10) = rx351_cur."!mark_fail"(0)
+    lt rx351_pos, -1, rx351_done
+    eq rx351_pos, -1, rx351_fail
+    jump $I10
+  rx351_done:
+    rx351_cur."!cursor_fail"()
+    rx351_cur."!cursor_debug"("FAIL  ", "statement_prefix:sym<INIT>")
+    .return (rx351_cur)
+    .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__statement_mod_cond"  :subid("80_1259103982.97329") :method
-.annotate "line", 194
-    $P353 = self."!PREFIX__!protoregex"("statement_mod_cond")
-    .return ($P353)
+.sub "!PREFIX__statement_prefix:sym<INIT>"  :subid("78_1259177761.22934") :method
+.annotate "line", 4
+    $P353 = self."!PREFIX__!subrule"("blorst", "INIT")
+    new $P354, "ResizablePMCArray"
+    push $P354, $P353
+    .return ($P354)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "statement_mod_cond:sym<if>"  :subid("81_1259103982.97329") :method :outer("11_1259103982.97329")
+.sub "statement_prefix:sym<try>"  :subid("79_1259177761.22934") :method :outer("11_1259177761.22934")
 .annotate "line", 4
-    .local string rx355_tgt
-    .local int rx355_pos
-    .local int rx355_off
-    .local int rx355_eos
-    .local int rx355_rep
-    .local pmc rx355_cur
-    (rx355_cur, rx355_pos, rx355_tgt) = self."!cursor_start"()
-    rx355_cur."!cursor_debug"("START ", "statement_mod_cond:sym<if>")
-    .lex unicode:"$\x{a2}", rx355_cur
-    .local pmc match
-    .lex "$/", match
-    length rx355_eos, rx355_tgt
-    set rx355_off, 0
-    lt rx355_pos, 2, rx355_start
-    sub rx355_off, rx355_pos, 1
-    substr rx355_tgt, rx355_tgt, rx355_off
-  rx355_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan358_done
-    goto rxscan358_scan
-  rxscan358_loop:
-    ($P10) = rx355_cur."from"()
-    inc $P10
-    set rx355_pos, $P10
-    ge rx355_pos, rx355_eos, rxscan358_done
-  rxscan358_scan:
-    set_addr $I10, rxscan358_loop
-    rx355_cur."!mark_push"(0, rx355_pos, $I10)
-  rxscan358_done:
-.annotate "line", 196
+    .local string rx358_tgt
+    .local int rx358_pos
+    .local int rx358_off
+    .local int rx358_eos
+    .local int rx358_rep
+    .local pmc rx358_cur
+    (rx358_cur, rx358_pos, rx358_tgt) = self."!cursor_start"()
+    rx358_cur."!cursor_debug"("START ", "statement_prefix:sym<try>")
+    .lex unicode:"$\x{a2}", rx358_cur
+    .local pmc match
+    .lex "$/", match
+    length rx358_eos, rx358_tgt
+    set rx358_off, 0
+    lt rx358_pos, 2, rx358_start
+    sub rx358_off, rx358_pos, 1
+    substr rx358_tgt, rx358_tgt, rx358_off
+  rx358_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan362_done
+    goto rxscan362_scan
+  rxscan362_loop:
+    ($P10) = rx358_cur."from"()
+    inc $P10
+    set rx358_pos, $P10
+    ge rx358_pos, rx358_eos, rxscan362_done
+  rxscan362_scan:
+    set_addr $I10, rxscan362_loop
+    rx358_cur."!mark_push"(0, rx358_pos, $I10)
+  rxscan362_done:
+.annotate "line", 194
   # rx subcapture "sym"
-    set_addr $I10, rxcap_359_fail
-    rx355_cur."!mark_push"(0, rx355_pos, $I10)
-  # rx literal  "if"
-    add $I11, rx355_pos, 2
-    gt $I11, rx355_eos, rx355_fail
-    sub $I11, rx355_pos, rx355_off
-    substr $S10, rx355_tgt, $I11, 2
-    ne $S10, "if", rx355_fail
-    add rx355_pos, 2
-    set_addr $I10, rxcap_359_fail
-    ($I12, $I11) = rx355_cur."!mark_peek"($I10)
-    rx355_cur."!cursor_pos"($I11)
-    ($P10) = rx355_cur."!cursor_start"()
-    $P10."!cursor_pass"(rx355_pos, "")
-    rx355_cur."!mark_push"(0, -1, 0, $P10)
+    set_addr $I10, rxcap_363_fail
+    rx358_cur."!mark_push"(0, rx358_pos, $I10)
+  # rx literal  "try"
+    add $I11, rx358_pos, 3
+    gt $I11, rx358_eos, rx358_fail
+    sub $I11, rx358_pos, rx358_off
+    substr $S10, rx358_tgt, $I11, 3
+    ne $S10, "try", rx358_fail
+    add rx358_pos, 3
+    set_addr $I10, rxcap_363_fail
+    ($I12, $I11) = rx358_cur."!mark_peek"($I10)
+    rx358_cur."!cursor_pos"($I11)
+    ($P10) = rx358_cur."!cursor_start"()
+    $P10."!cursor_pass"(rx358_pos, "")
+    rx358_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("sym")
-    goto rxcap_359_done
-  rxcap_359_fail:
-    goto rx355_fail
-  rxcap_359_done:
-  # rx subrule "ws" subtype=method negate=
-    rx355_cur."!cursor_pos"(rx355_pos)
-    $P10 = rx355_cur."ws"()
-    unless $P10, rx355_fail
-    rx355_pos = $P10."pos"()
-  # rx subrule "EXPR" subtype=capture negate=
-    rx355_cur."!cursor_pos"(rx355_pos)
-    $P10 = rx355_cur."EXPR"()
-    unless $P10, rx355_fail
-    rx355_cur."!mark_push"(0, -1, 0, $P10)
-    $P10."!cursor_names"("cond")
-    rx355_pos = $P10."pos"()
-  # rx subrule "ws" subtype=method negate=
-    rx355_cur."!cursor_pos"(rx355_pos)
-    $P10 = rx355_cur."ws"()
-    unless $P10, rx355_fail
-    rx355_pos = $P10."pos"()
+    goto rxcap_363_done
+  rxcap_363_fail:
+    goto rx358_fail
+  rxcap_363_done:
+.annotate "line", 195
+  # rx subrule "blorst" subtype=capture negate=
+    rx358_cur."!cursor_pos"(rx358_pos)
+    $P10 = rx358_cur."blorst"()
+    unless $P10, rx358_fail
+    rx358_cur."!mark_push"(0, -1, 0, $P10)
+    $P10."!cursor_names"("blorst")
+    rx358_pos = $P10."pos"()
+.annotate "line", 193
   # rx pass
-    rx355_cur."!cursor_pass"(rx355_pos, "statement_mod_cond:sym<if>")
-    rx355_cur."!cursor_debug"("PASS  ", "statement_mod_cond:sym<if>", " at pos=", rx355_pos)
-    .return (rx355_cur)
-  rx355_fail:
+    rx358_cur."!cursor_pass"(rx358_pos, "statement_prefix:sym<try>")
+    rx358_cur."!cursor_debug"("PASS  ", "statement_prefix:sym<try>", " at pos=", rx358_pos)
+    .return (rx358_cur)
+  rx358_fail:
 .annotate "line", 4
-    (rx355_rep, rx355_pos, $I10, $P10) = rx355_cur."!mark_fail"(0)
-    lt rx355_pos, -1, rx355_done
-    eq rx355_pos, -1, rx355_fail
+    (rx358_rep, rx358_pos, $I10, $P10) = rx358_cur."!mark_fail"(0)
+    lt rx358_pos, -1, rx358_done
+    eq rx358_pos, -1, rx358_fail
     jump $I10
-  rx355_done:
-    rx355_cur."!cursor_fail"()
-    rx355_cur."!cursor_debug"("FAIL  ", "statement_mod_cond:sym<if>")
-    .return (rx355_cur)
+  rx358_done:
+    rx358_cur."!cursor_fail"()
+    rx358_cur."!cursor_debug"("FAIL  ", "statement_prefix:sym<try>")
+    .return (rx358_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__statement_mod_cond:sym<if>"  :subid("82_1259103982.97329") :method
+.sub "!PREFIX__statement_prefix:sym<try>"  :subid("80_1259177761.22934") :method
 .annotate "line", 4
-    new $P357, "ResizablePMCArray"
-    push $P357, "if"
-    .return ($P357)
+    $P360 = self."!PREFIX__!subrule"("blorst", "try")
+    new $P361, "ResizablePMCArray"
+    push $P361, $P360
+    .return ($P361)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "statement_mod_cond:sym<unless>"  :subid("83_1259103982.97329") :method :outer("11_1259103982.97329")
+.sub "blorst"  :subid("81_1259177761.22934") :method :outer("11_1259177761.22934")
 .annotate "line", 4
-    .local string rx363_tgt
-    .local int rx363_pos
-    .local int rx363_off
-    .local int rx363_eos
-    .local int rx363_rep
-    .local pmc rx363_cur
-    (rx363_cur, rx363_pos, rx363_tgt) = self."!cursor_start"()
-    rx363_cur."!cursor_debug"("START ", "statement_mod_cond:sym<unless>")
-    .lex unicode:"$\x{a2}", rx363_cur
+    .local string rx365_tgt
+    .local int rx365_pos
+    .local int rx365_off
+    .local int rx365_eos
+    .local int rx365_rep
+    .local pmc rx365_cur
+    (rx365_cur, rx365_pos, rx365_tgt) = self."!cursor_start"()
+    rx365_cur."!cursor_debug"("START ", "blorst")
+    .lex unicode:"$\x{a2}", rx365_cur
     .local pmc match
     .lex "$/", match
-    length rx363_eos, rx363_tgt
-    set rx363_off, 0
-    lt rx363_pos, 2, rx363_start
-    sub rx363_off, rx363_pos, 1
-    substr rx363_tgt, rx363_tgt, rx363_off
-  rx363_start:
+    length rx365_eos, rx365_tgt
+    set rx365_off, 0
+    lt rx365_pos, 2, rx365_start
+    sub rx365_off, rx365_pos, 1
+    substr rx365_tgt, rx365_tgt, rx365_off
+  rx365_start:
     $I10 = self.'from'()
-    ne $I10, -1, rxscan366_done
-    goto rxscan366_scan
-  rxscan366_loop:
-    ($P10) = rx363_cur."from"()
+    ne $I10, -1, rxscan368_done
+    goto rxscan368_scan
+  rxscan368_loop:
+    ($P10) = rx365_cur."from"()
     inc $P10
-    set rx363_pos, $P10
-    ge rx363_pos, rx363_eos, rxscan366_done
-  rxscan366_scan:
-    set_addr $I10, rxscan366_loop
-    rx363_cur."!mark_push"(0, rx363_pos, $I10)
-  rxscan366_done:
-.annotate "line", 197
-  # rx subcapture "sym"
-    set_addr $I10, rxcap_367_fail
-    rx363_cur."!mark_push"(0, rx363_pos, $I10)
-  # rx literal  "unless"
-    add $I11, rx363_pos, 6
-    gt $I11, rx363_eos, rx363_fail
-    sub $I11, rx363_pos, rx363_off
-    substr $S10, rx363_tgt, $I11, 6
-    ne $S10, "unless", rx363_fail
-    add rx363_pos, 6
-    set_addr $I10, rxcap_367_fail
-    ($I12, $I11) = rx363_cur."!mark_peek"($I10)
-    rx363_cur."!cursor_pos"($I11)
-    ($P10) = rx363_cur."!cursor_start"()
-    $P10."!cursor_pass"(rx363_pos, "")
-    rx363_cur."!mark_push"(0, -1, 0, $P10)
-    $P10."!cursor_names"("sym")
-    goto rxcap_367_done
-  rxcap_367_fail:
-    goto rx363_fail
-  rxcap_367_done:
-  # rx subrule "ws" subtype=method negate=
-    rx363_cur."!cursor_pos"(rx363_pos)
-    $P10 = rx363_cur."ws"()
-    unless $P10, rx363_fail
-    rx363_pos = $P10."pos"()
-  # rx subrule "EXPR" subtype=capture negate=
-    rx363_cur."!cursor_pos"(rx363_pos)
-    $P10 = rx363_cur."EXPR"()
-    unless $P10, rx363_fail
-    rx363_cur."!mark_push"(0, -1, 0, $P10)
-    $P10."!cursor_names"("cond")
-    rx363_pos = $P10."pos"()
-  # rx subrule "ws" subtype=method negate=
-    rx363_cur."!cursor_pos"(rx363_pos)
-    $P10 = rx363_cur."ws"()
-    unless $P10, rx363_fail
-    rx363_pos = $P10."pos"()
+    set rx365_pos, $P10
+    ge rx365_pos, rx365_eos, rxscan368_done
+  rxscan368_scan:
+    set_addr $I10, rxscan368_loop
+    rx365_cur."!mark_push"(0, rx365_pos, $I10)
+  rxscan368_done:
+.annotate "line", 199
+  # rx charclass s
+    ge rx365_pos, rx365_eos, rx365_fail
+    sub $I10, rx365_pos, rx365_off
+    is_cclass $I11, 32, rx365_tgt, $I10
+    unless $I11, rx365_fail
+    inc rx365_pos
+  # rx subrule "ws" subtype=method negate=
+    rx365_cur."!cursor_pos"(rx365_pos)
+    $P10 = rx365_cur."ws"()
+    unless $P10, rx365_fail
+    rx365_pos = $P10."pos"()
+  alt369_0:
+    set_addr $I10, alt369_1
+    rx365_cur."!mark_push"(0, rx365_pos, $I10)
+  # rx enumcharlist negate=0 zerowidth
+    ge rx365_pos, rx365_eos, rx365_fail
+    sub $I10, rx365_pos, rx365_off
+    substr $S10, rx365_tgt, $I10, 1
+    index $I11, "{", $S10
+    lt $I11, 0, rx365_fail
+  # rx subrule "block" subtype=capture negate=
+    rx365_cur."!cursor_pos"(rx365_pos)
+    $P10 = rx365_cur."block"()
+    unless $P10, rx365_fail
+    rx365_cur."!mark_push"(0, -1, 0, $P10)
+    $P10."!cursor_names"("block")
+    rx365_pos = $P10."pos"()
+    goto alt369_end
+  alt369_1:
+  # rx subrule "statement" subtype=capture negate=
+    rx365_cur."!cursor_pos"(rx365_pos)
+    $P10 = rx365_cur."statement"()
+    unless $P10, rx365_fail
+    rx365_cur."!mark_push"(0, -1, 0, $P10)
+    $P10."!cursor_names"("statement")
+    rx365_pos = $P10."pos"()
+  alt369_end:
+.annotate "line", 198
   # rx pass
-    rx363_cur."!cursor_pass"(rx363_pos, "statement_mod_cond:sym<unless>")
-    rx363_cur."!cursor_debug"("PASS  ", "statement_mod_cond:sym<unless>", " at pos=", rx363_pos)
-    .return (rx363_cur)
-  rx363_fail:
+    rx365_cur."!cursor_pass"(rx365_pos, "blorst")
+    rx365_cur."!cursor_debug"("PASS  ", "blorst", " at pos=", rx365_pos)
+    .return (rx365_cur)
+  rx365_fail:
 .annotate "line", 4
-    (rx363_rep, rx363_pos, $I10, $P10) = rx363_cur."!mark_fail"(0)
-    lt rx363_pos, -1, rx363_done
-    eq rx363_pos, -1, rx363_fail
+    (rx365_rep, rx365_pos, $I10, $P10) = rx365_cur."!mark_fail"(0)
+    lt rx365_pos, -1, rx365_done
+    eq rx365_pos, -1, rx365_fail
     jump $I10
-  rx363_done:
-    rx363_cur."!cursor_fail"()
-    rx363_cur."!cursor_debug"("FAIL  ", "statement_mod_cond:sym<unless>")
-    .return (rx363_cur)
+  rx365_done:
+    rx365_cur."!cursor_fail"()
+    rx365_cur."!cursor_debug"("FAIL  ", "blorst")
+    .return (rx365_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__statement_mod_cond:sym<unless>"  :subid("84_1259103982.97329") :method
+.sub "!PREFIX__blorst"  :subid("82_1259177761.22934") :method
 .annotate "line", 4
-    new $P365, "ResizablePMCArray"
-    push $P365, "unless"
-    .return ($P365)
+    new $P367, "ResizablePMCArray"
+    push $P367, ""
+    .return ($P367)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "statement_mod_loop"  :subid("85_1259103982.97329") :method
-.annotate "line", 199
-    $P371 = self."!protoregex"("statement_mod_loop")
+.sub "statement_mod_cond"  :subid("83_1259177761.22934") :method
+.annotate "line", 204
+    $P371 = self."!protoregex"("statement_mod_cond")
     .return ($P371)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__statement_mod_loop"  :subid("86_1259103982.97329") :method
-.annotate "line", 199
-    $P373 = self."!PREFIX__!protoregex"("statement_mod_loop")
+.sub "!PREFIX__statement_mod_cond"  :subid("84_1259177761.22934") :method
+.annotate "line", 204
+    $P373 = self."!PREFIX__!protoregex"("statement_mod_cond")
     .return ($P373)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "statement_mod_loop:sym<while>"  :subid("87_1259103982.97329") :method :outer("11_1259103982.97329")
+.sub "statement_mod_cond:sym<if>"  :subid("85_1259177761.22934") :method :outer("11_1259177761.22934")
 .annotate "line", 4
     .local string rx375_tgt
     .local int rx375_pos
@@ -4580,7 +4588,7 @@
     .local int rx375_rep
     .local pmc rx375_cur
     (rx375_cur, rx375_pos, rx375_tgt) = self."!cursor_start"()
-    rx375_cur."!cursor_debug"("START ", "statement_mod_loop:sym<while>")
+    rx375_cur."!cursor_debug"("START ", "statement_mod_cond:sym<if>")
     .lex unicode:"$\x{a2}", rx375_cur
     .local pmc match
     .lex "$/", match
@@ -4602,17 +4610,17 @@
     set_addr $I10, rxscan378_loop
     rx375_cur."!mark_push"(0, rx375_pos, $I10)
   rxscan378_done:
-.annotate "line", 201
+.annotate "line", 206
   # rx subcapture "sym"
     set_addr $I10, rxcap_379_fail
     rx375_cur."!mark_push"(0, rx375_pos, $I10)
-  # rx literal  "while"
-    add $I11, rx375_pos, 5
+  # rx literal  "if"
+    add $I11, rx375_pos, 2
     gt $I11, rx375_eos, rx375_fail
     sub $I11, rx375_pos, rx375_off
-    substr $S10, rx375_tgt, $I11, 5
-    ne $S10, "while", rx375_fail
-    add rx375_pos, 5
+    substr $S10, rx375_tgt, $I11, 2
+    ne $S10, "if", rx375_fail
+    add rx375_pos, 2
     set_addr $I10, rxcap_379_fail
     ($I12, $I11) = rx375_cur."!mark_peek"($I10)
     rx375_cur."!cursor_pos"($I11)
@@ -4642,8 +4650,8 @@
     unless $P10, rx375_fail
     rx375_pos = $P10."pos"()
   # rx pass
-    rx375_cur."!cursor_pass"(rx375_pos, "statement_mod_loop:sym<while>")
-    rx375_cur."!cursor_debug"("PASS  ", "statement_mod_loop:sym<while>", " at pos=", rx375_pos)
+    rx375_cur."!cursor_pass"(rx375_pos, "statement_mod_cond:sym<if>")
+    rx375_cur."!cursor_debug"("PASS  ", "statement_mod_cond:sym<if>", " at pos=", rx375_pos)
     .return (rx375_cur)
   rx375_fail:
 .annotate "line", 4
@@ -4653,23 +4661,23 @@
     jump $I10
   rx375_done:
     rx375_cur."!cursor_fail"()
-    rx375_cur."!cursor_debug"("FAIL  ", "statement_mod_loop:sym<while>")
+    rx375_cur."!cursor_debug"("FAIL  ", "statement_mod_cond:sym<if>")
     .return (rx375_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__statement_mod_loop:sym<while>"  :subid("88_1259103982.97329") :method
+.sub "!PREFIX__statement_mod_cond:sym<if>"  :subid("86_1259177761.22934") :method
 .annotate "line", 4
     new $P377, "ResizablePMCArray"
-    push $P377, "while"
+    push $P377, "if"
     .return ($P377)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "statement_mod_loop:sym<until>"  :subid("89_1259103982.97329") :method :outer("11_1259103982.97329")
+.sub "statement_mod_cond:sym<unless>"  :subid("87_1259177761.22934") :method :outer("11_1259177761.22934")
 .annotate "line", 4
     .local string rx383_tgt
     .local int rx383_pos
@@ -4678,7 +4686,7 @@
     .local int rx383_rep
     .local pmc rx383_cur
     (rx383_cur, rx383_pos, rx383_tgt) = self."!cursor_start"()
-    rx383_cur."!cursor_debug"("START ", "statement_mod_loop:sym<until>")
+    rx383_cur."!cursor_debug"("START ", "statement_mod_cond:sym<unless>")
     .lex unicode:"$\x{a2}", rx383_cur
     .local pmc match
     .lex "$/", match
@@ -4700,17 +4708,17 @@
     set_addr $I10, rxscan386_loop
     rx383_cur."!mark_push"(0, rx383_pos, $I10)
   rxscan386_done:
-.annotate "line", 202
+.annotate "line", 207
   # rx subcapture "sym"
     set_addr $I10, rxcap_387_fail
     rx383_cur."!mark_push"(0, rx383_pos, $I10)
-  # rx literal  "until"
-    add $I11, rx383_pos, 5
+  # rx literal  "unless"
+    add $I11, rx383_pos, 6
     gt $I11, rx383_eos, rx383_fail
     sub $I11, rx383_pos, rx383_off
-    substr $S10, rx383_tgt, $I11, 5
-    ne $S10, "until", rx383_fail
-    add rx383_pos, 5
+    substr $S10, rx383_tgt, $I11, 6
+    ne $S10, "unless", rx383_fail
+    add rx383_pos, 6
     set_addr $I10, rxcap_387_fail
     ($I12, $I11) = rx383_cur."!mark_peek"($I10)
     rx383_cur."!cursor_pos"($I11)
@@ -4740,8 +4748,8 @@
     unless $P10, rx383_fail
     rx383_pos = $P10."pos"()
   # rx pass
-    rx383_cur."!cursor_pass"(rx383_pos, "statement_mod_loop:sym<until>")
-    rx383_cur."!cursor_debug"("PASS  ", "statement_mod_loop:sym<until>", " at pos=", rx383_pos)
+    rx383_cur."!cursor_pass"(rx383_pos, "statement_mod_cond:sym<unless>")
+    rx383_cur."!cursor_debug"("PASS  ", "statement_mod_cond:sym<unless>", " at pos=", rx383_pos)
     .return (rx383_cur)
   rx383_fail:
 .annotate "line", 4
@@ -4751,159 +4759,137 @@
     jump $I10
   rx383_done:
     rx383_cur."!cursor_fail"()
-    rx383_cur."!cursor_debug"("FAIL  ", "statement_mod_loop:sym<until>")
+    rx383_cur."!cursor_debug"("FAIL  ", "statement_mod_cond:sym<unless>")
     .return (rx383_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__statement_mod_loop:sym<until>"  :subid("90_1259103982.97329") :method
+.sub "!PREFIX__statement_mod_cond:sym<unless>"  :subid("88_1259177761.22934") :method
 .annotate "line", 4
     new $P385, "ResizablePMCArray"
-    push $P385, "until"
+    push $P385, "unless"
     .return ($P385)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "term:sym<colonpair>"  :subid("91_1259103982.97329") :method :outer("11_1259103982.97329")
-.annotate "line", 4
-    .local string rx391_tgt
-    .local int rx391_pos
-    .local int rx391_off
-    .local int rx391_eos
-    .local int rx391_rep
-    .local pmc rx391_cur
-    (rx391_cur, rx391_pos, rx391_tgt) = self."!cursor_start"()
-    rx391_cur."!cursor_debug"("START ", "term:sym<colonpair>")
-    .lex unicode:"$\x{a2}", rx391_cur
-    .local pmc match
-    .lex "$/", match
-    length rx391_eos, rx391_tgt
-    set rx391_off, 0
-    lt rx391_pos, 2, rx391_start
-    sub rx391_off, rx391_pos, 1
-    substr rx391_tgt, rx391_tgt, rx391_off
-  rx391_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan395_done
-    goto rxscan395_scan
-  rxscan395_loop:
-    ($P10) = rx391_cur."from"()
-    inc $P10
-    set rx391_pos, $P10
-    ge rx391_pos, rx391_eos, rxscan395_done
-  rxscan395_scan:
-    set_addr $I10, rxscan395_loop
-    rx391_cur."!mark_push"(0, rx391_pos, $I10)
-  rxscan395_done:
-.annotate "line", 206
-  # rx subrule "colonpair" subtype=capture negate=
-    rx391_cur."!cursor_pos"(rx391_pos)
-    $P10 = rx391_cur."colonpair"()
-    unless $P10, rx391_fail
-    rx391_cur."!mark_push"(0, -1, 0, $P10)
-    $P10."!cursor_names"("colonpair")
-    rx391_pos = $P10."pos"()
-  # rx pass
-    rx391_cur."!cursor_pass"(rx391_pos, "term:sym<colonpair>")
-    rx391_cur."!cursor_debug"("PASS  ", "term:sym<colonpair>", " at pos=", rx391_pos)
-    .return (rx391_cur)
-  rx391_fail:
-.annotate "line", 4
-    (rx391_rep, rx391_pos, $I10, $P10) = rx391_cur."!mark_fail"(0)
-    lt rx391_pos, -1, rx391_done
-    eq rx391_pos, -1, rx391_fail
-    jump $I10
-  rx391_done:
-    rx391_cur."!cursor_fail"()
-    rx391_cur."!cursor_debug"("FAIL  ", "term:sym<colonpair>")
-    .return (rx391_cur)
-    .return ()
+.sub "statement_mod_loop"  :subid("89_1259177761.22934") :method
+.annotate "line", 209
+    $P391 = self."!protoregex"("statement_mod_loop")
+    .return ($P391)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__term:sym<colonpair>"  :subid("92_1259103982.97329") :method
-.annotate "line", 4
-    $P393 = self."!PREFIX__!subrule"("colonpair", "")
-    new $P394, "ResizablePMCArray"
-    push $P394, $P393
-    .return ($P394)
+.sub "!PREFIX__statement_mod_loop"  :subid("90_1259177761.22934") :method
+.annotate "line", 209
+    $P393 = self."!PREFIX__!protoregex"("statement_mod_loop")
+    .return ($P393)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "term:sym<variable>"  :subid("93_1259103982.97329") :method :outer("11_1259103982.97329")
+.sub "statement_mod_loop:sym<while>"  :subid("91_1259177761.22934") :method :outer("11_1259177761.22934")
 .annotate "line", 4
-    .local string rx397_tgt
-    .local int rx397_pos
-    .local int rx397_off
-    .local int rx397_eos
-    .local int rx397_rep
-    .local pmc rx397_cur
-    (rx397_cur, rx397_pos, rx397_tgt) = self."!cursor_start"()
-    rx397_cur."!cursor_debug"("START ", "term:sym<variable>")
-    .lex unicode:"$\x{a2}", rx397_cur
-    .local pmc match
-    .lex "$/", match
-    length rx397_eos, rx397_tgt
-    set rx397_off, 0
-    lt rx397_pos, 2, rx397_start
-    sub rx397_off, rx397_pos, 1
-    substr rx397_tgt, rx397_tgt, rx397_off
-  rx397_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan401_done
-    goto rxscan401_scan
-  rxscan401_loop:
-    ($P10) = rx397_cur."from"()
-    inc $P10
-    set rx397_pos, $P10
-    ge rx397_pos, rx397_eos, rxscan401_done
-  rxscan401_scan:
-    set_addr $I10, rxscan401_loop
-    rx397_cur."!mark_push"(0, rx397_pos, $I10)
-  rxscan401_done:
-.annotate "line", 207
-  # rx subrule "variable" subtype=capture negate=
-    rx397_cur."!cursor_pos"(rx397_pos)
-    $P10 = rx397_cur."variable"()
-    unless $P10, rx397_fail
-    rx397_cur."!mark_push"(0, -1, 0, $P10)
-    $P10."!cursor_names"("variable")
-    rx397_pos = $P10."pos"()
+    .local string rx395_tgt
+    .local int rx395_pos
+    .local int rx395_off
+    .local int rx395_eos
+    .local int rx395_rep
+    .local pmc rx395_cur
+    (rx395_cur, rx395_pos, rx395_tgt) = self."!cursor_start"()
+    rx395_cur."!cursor_debug"("START ", "statement_mod_loop:sym<while>")
+    .lex unicode:"$\x{a2}", rx395_cur
+    .local pmc match
+    .lex "$/", match
+    length rx395_eos, rx395_tgt
+    set rx395_off, 0
+    lt rx395_pos, 2, rx395_start
+    sub rx395_off, rx395_pos, 1
+    substr rx395_tgt, rx395_tgt, rx395_off
+  rx395_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan398_done
+    goto rxscan398_scan
+  rxscan398_loop:
+    ($P10) = rx395_cur."from"()
+    inc $P10
+    set rx395_pos, $P10
+    ge rx395_pos, rx395_eos, rxscan398_done
+  rxscan398_scan:
+    set_addr $I10, rxscan398_loop
+    rx395_cur."!mark_push"(0, rx395_pos, $I10)
+  rxscan398_done:
+.annotate "line", 211
+  # rx subcapture "sym"
+    set_addr $I10, rxcap_399_fail
+    rx395_cur."!mark_push"(0, rx395_pos, $I10)
+  # rx literal  "while"
+    add $I11, rx395_pos, 5
+    gt $I11, rx395_eos, rx395_fail
+    sub $I11, rx395_pos, rx395_off
+    substr $S10, rx395_tgt, $I11, 5
+    ne $S10, "while", rx395_fail
+    add rx395_pos, 5
+    set_addr $I10, rxcap_399_fail
+    ($I12, $I11) = rx395_cur."!mark_peek"($I10)
+    rx395_cur."!cursor_pos"($I11)
+    ($P10) = rx395_cur."!cursor_start"()
+    $P10."!cursor_pass"(rx395_pos, "")
+    rx395_cur."!mark_push"(0, -1, 0, $P10)
+    $P10."!cursor_names"("sym")
+    goto rxcap_399_done
+  rxcap_399_fail:
+    goto rx395_fail
+  rxcap_399_done:
+  # rx subrule "ws" subtype=method negate=
+    rx395_cur."!cursor_pos"(rx395_pos)
+    $P10 = rx395_cur."ws"()
+    unless $P10, rx395_fail
+    rx395_pos = $P10."pos"()
+  # rx subrule "EXPR" subtype=capture negate=
+    rx395_cur."!cursor_pos"(rx395_pos)
+    $P10 = rx395_cur."EXPR"()
+    unless $P10, rx395_fail
+    rx395_cur."!mark_push"(0, -1, 0, $P10)
+    $P10."!cursor_names"("cond")
+    rx395_pos = $P10."pos"()
+  # rx subrule "ws" subtype=method negate=
+    rx395_cur."!cursor_pos"(rx395_pos)
+    $P10 = rx395_cur."ws"()
+    unless $P10, rx395_fail
+    rx395_pos = $P10."pos"()
   # rx pass
-    rx397_cur."!cursor_pass"(rx397_pos, "term:sym<variable>")
-    rx397_cur."!cursor_debug"("PASS  ", "term:sym<variable>", " at pos=", rx397_pos)
-    .return (rx397_cur)
-  rx397_fail:
+    rx395_cur."!cursor_pass"(rx395_pos, "statement_mod_loop:sym<while>")
+    rx395_cur."!cursor_debug"("PASS  ", "statement_mod_loop:sym<while>", " at pos=", rx395_pos)
+    .return (rx395_cur)
+  rx395_fail:
 .annotate "line", 4
-    (rx397_rep, rx397_pos, $I10, $P10) = rx397_cur."!mark_fail"(0)
-    lt rx397_pos, -1, rx397_done
-    eq rx397_pos, -1, rx397_fail
+    (rx395_rep, rx395_pos, $I10, $P10) = rx395_cur."!mark_fail"(0)
+    lt rx395_pos, -1, rx395_done
+    eq rx395_pos, -1, rx395_fail
     jump $I10
-  rx397_done:
-    rx397_cur."!cursor_fail"()
-    rx397_cur."!cursor_debug"("FAIL  ", "term:sym<variable>")
-    .return (rx397_cur)
+  rx395_done:
+    rx395_cur."!cursor_fail"()
+    rx395_cur."!cursor_debug"("FAIL  ", "statement_mod_loop:sym<while>")
+    .return (rx395_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__term:sym<variable>"  :subid("94_1259103982.97329") :method
+.sub "!PREFIX__statement_mod_loop:sym<while>"  :subid("92_1259177761.22934") :method
 .annotate "line", 4
-    $P399 = self."!PREFIX__!subrule"("variable", "")
-    new $P400, "ResizablePMCArray"
-    push $P400, $P399
-    .return ($P400)
+    new $P397, "ResizablePMCArray"
+    push $P397, "while"
+    .return ($P397)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "term:sym<package_declarator>"  :subid("95_1259103982.97329") :method :outer("11_1259103982.97329")
+.sub "statement_mod_loop:sym<until>"  :subid("93_1259177761.22934") :method :outer("11_1259177761.22934")
 .annotate "line", 4
     .local string rx403_tgt
     .local int rx403_pos
@@ -4912,7 +4898,7 @@
     .local int rx403_rep
     .local pmc rx403_cur
     (rx403_cur, rx403_pos, rx403_tgt) = self."!cursor_start"()
-    rx403_cur."!cursor_debug"("START ", "term:sym<package_declarator>")
+    rx403_cur."!cursor_debug"("START ", "statement_mod_loop:sym<until>")
     .lex unicode:"$\x{a2}", rx403_cur
     .local pmc match
     .lex "$/", match
@@ -4923,28 +4909,59 @@
     substr rx403_tgt, rx403_tgt, rx403_off
   rx403_start:
     $I10 = self.'from'()
-    ne $I10, -1, rxscan407_done
-    goto rxscan407_scan
-  rxscan407_loop:
+    ne $I10, -1, rxscan406_done
+    goto rxscan406_scan
+  rxscan406_loop:
     ($P10) = rx403_cur."from"()
     inc $P10
     set rx403_pos, $P10
-    ge rx403_pos, rx403_eos, rxscan407_done
-  rxscan407_scan:
-    set_addr $I10, rxscan407_loop
+    ge rx403_pos, rx403_eos, rxscan406_done
+  rxscan406_scan:
+    set_addr $I10, rxscan406_loop
     rx403_cur."!mark_push"(0, rx403_pos, $I10)
-  rxscan407_done:
-.annotate "line", 208
-  # rx subrule "package_declarator" subtype=capture negate=
+  rxscan406_done:
+.annotate "line", 212
+  # rx subcapture "sym"
+    set_addr $I10, rxcap_407_fail
+    rx403_cur."!mark_push"(0, rx403_pos, $I10)
+  # rx literal  "until"
+    add $I11, rx403_pos, 5
+    gt $I11, rx403_eos, rx403_fail
+    sub $I11, rx403_pos, rx403_off
+    substr $S10, rx403_tgt, $I11, 5
+    ne $S10, "until", rx403_fail
+    add rx403_pos, 5
+    set_addr $I10, rxcap_407_fail
+    ($I12, $I11) = rx403_cur."!mark_peek"($I10)
+    rx403_cur."!cursor_pos"($I11)
+    ($P10) = rx403_cur."!cursor_start"()
+    $P10."!cursor_pass"(rx403_pos, "")
+    rx403_cur."!mark_push"(0, -1, 0, $P10)
+    $P10."!cursor_names"("sym")
+    goto rxcap_407_done
+  rxcap_407_fail:
+    goto rx403_fail
+  rxcap_407_done:
+  # rx subrule "ws" subtype=method negate=
+    rx403_cur."!cursor_pos"(rx403_pos)
+    $P10 = rx403_cur."ws"()
+    unless $P10, rx403_fail
+    rx403_pos = $P10."pos"()
+  # rx subrule "EXPR" subtype=capture negate=
     rx403_cur."!cursor_pos"(rx403_pos)
-    $P10 = rx403_cur."package_declarator"()
+    $P10 = rx403_cur."EXPR"()
     unless $P10, rx403_fail
     rx403_cur."!mark_push"(0, -1, 0, $P10)
-    $P10."!cursor_names"("package_declarator")
+    $P10."!cursor_names"("cond")
+    rx403_pos = $P10."pos"()
+  # rx subrule "ws" subtype=method negate=
+    rx403_cur."!cursor_pos"(rx403_pos)
+    $P10 = rx403_cur."ws"()
+    unless $P10, rx403_fail
     rx403_pos = $P10."pos"()
   # rx pass
-    rx403_cur."!cursor_pass"(rx403_pos, "term:sym<package_declarator>")
-    rx403_cur."!cursor_debug"("PASS  ", "term:sym<package_declarator>", " at pos=", rx403_pos)
+    rx403_cur."!cursor_pass"(rx403_pos, "statement_mod_loop:sym<until>")
+    rx403_cur."!cursor_debug"("PASS  ", "statement_mod_loop:sym<until>", " at pos=", rx403_pos)
     .return (rx403_cur)
   rx403_fail:
 .annotate "line", 4
@@ -4954,3608 +4971,3557 @@
     jump $I10
   rx403_done:
     rx403_cur."!cursor_fail"()
-    rx403_cur."!cursor_debug"("FAIL  ", "term:sym<package_declarator>")
+    rx403_cur."!cursor_debug"("FAIL  ", "statement_mod_loop:sym<until>")
     .return (rx403_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__term:sym<package_declarator>"  :subid("96_1259103982.97329") :method
+.sub "!PREFIX__statement_mod_loop:sym<until>"  :subid("94_1259177761.22934") :method
 .annotate "line", 4
-    $P405 = self."!PREFIX__!subrule"("package_declarator", "")
-    new $P406, "ResizablePMCArray"
-    push $P406, $P405
-    .return ($P406)
+    new $P405, "ResizablePMCArray"
+    push $P405, "until"
+    .return ($P405)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "term:sym<scope_declarator>"  :subid("97_1259103982.97329") :method :outer("11_1259103982.97329")
-.annotate "line", 4
-    .local string rx409_tgt
-    .local int rx409_pos
-    .local int rx409_off
-    .local int rx409_eos
-    .local int rx409_rep
-    .local pmc rx409_cur
-    (rx409_cur, rx409_pos, rx409_tgt) = self."!cursor_start"()
-    rx409_cur."!cursor_debug"("START ", "term:sym<scope_declarator>")
-    .lex unicode:"$\x{a2}", rx409_cur
-    .local pmc match
-    .lex "$/", match
-    length rx409_eos, rx409_tgt
-    set rx409_off, 0
-    lt rx409_pos, 2, rx409_start
-    sub rx409_off, rx409_pos, 1
-    substr rx409_tgt, rx409_tgt, rx409_off
-  rx409_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan413_done
-    goto rxscan413_scan
-  rxscan413_loop:
-    ($P10) = rx409_cur."from"()
-    inc $P10
-    set rx409_pos, $P10
-    ge rx409_pos, rx409_eos, rxscan413_done
-  rxscan413_scan:
-    set_addr $I10, rxscan413_loop
-    rx409_cur."!mark_push"(0, rx409_pos, $I10)
-  rxscan413_done:
-.annotate "line", 209
-  # rx subrule "scope_declarator" subtype=capture negate=
-    rx409_cur."!cursor_pos"(rx409_pos)
-    $P10 = rx409_cur."scope_declarator"()
-    unless $P10, rx409_fail
-    rx409_cur."!mark_push"(0, -1, 0, $P10)
-    $P10."!cursor_names"("scope_declarator")
-    rx409_pos = $P10."pos"()
+.sub "term:sym<colonpair>"  :subid("95_1259177761.22934") :method :outer("11_1259177761.22934")
+.annotate "line", 4
+    .local string rx411_tgt
+    .local int rx411_pos
+    .local int rx411_off
+    .local int rx411_eos
+    .local int rx411_rep
+    .local pmc rx411_cur
+    (rx411_cur, rx411_pos, rx411_tgt) = self."!cursor_start"()
+    rx411_cur."!cursor_debug"("START ", "term:sym<colonpair>")
+    .lex unicode:"$\x{a2}", rx411_cur
+    .local pmc match
+    .lex "$/", match
+    length rx411_eos, rx411_tgt
+    set rx411_off, 0
+    lt rx411_pos, 2, rx411_start
+    sub rx411_off, rx411_pos, 1
+    substr rx411_tgt, rx411_tgt, rx411_off
+  rx411_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan415_done
+    goto rxscan415_scan
+  rxscan415_loop:
+    ($P10) = rx411_cur."from"()
+    inc $P10
+    set rx411_pos, $P10
+    ge rx411_pos, rx411_eos, rxscan415_done
+  rxscan415_scan:
+    set_addr $I10, rxscan415_loop
+    rx411_cur."!mark_push"(0, rx411_pos, $I10)
+  rxscan415_done:
+.annotate "line", 216
+  # rx subrule "colonpair" subtype=capture negate=
+    rx411_cur."!cursor_pos"(rx411_pos)
+    $P10 = rx411_cur."colonpair"()
+    unless $P10, rx411_fail
+    rx411_cur."!mark_push"(0, -1, 0, $P10)
+    $P10."!cursor_names"("colonpair")
+    rx411_pos = $P10."pos"()
   # rx pass
-    rx409_cur."!cursor_pass"(rx409_pos, "term:sym<scope_declarator>")
-    rx409_cur."!cursor_debug"("PASS  ", "term:sym<scope_declarator>", " at pos=", rx409_pos)
-    .return (rx409_cur)
-  rx409_fail:
+    rx411_cur."!cursor_pass"(rx411_pos, "term:sym<colonpair>")
+    rx411_cur."!cursor_debug"("PASS  ", "term:sym<colonpair>", " at pos=", rx411_pos)
+    .return (rx411_cur)
+  rx411_fail:
 .annotate "line", 4
-    (rx409_rep, rx409_pos, $I10, $P10) = rx409_cur."!mark_fail"(0)
-    lt rx409_pos, -1, rx409_done
-    eq rx409_pos, -1, rx409_fail
+    (rx411_rep, rx411_pos, $I10, $P10) = rx411_cur."!mark_fail"(0)
+    lt rx411_pos, -1, rx411_done
+    eq rx411_pos, -1, rx411_fail
     jump $I10
-  rx409_done:
-    rx409_cur."!cursor_fail"()
-    rx409_cur."!cursor_debug"("FAIL  ", "term:sym<scope_declarator>")
-    .return (rx409_cur)
+  rx411_done:
+    rx411_cur."!cursor_fail"()
+    rx411_cur."!cursor_debug"("FAIL  ", "term:sym<colonpair>")
+    .return (rx411_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__term:sym<scope_declarator>"  :subid("98_1259103982.97329") :method
+.sub "!PREFIX__term:sym<colonpair>"  :subid("96_1259177761.22934") :method
 .annotate "line", 4
-    $P411 = self."!PREFIX__!subrule"("scope_declarator", "")
-    new $P412, "ResizablePMCArray"
-    push $P412, $P411
-    .return ($P412)
+    $P413 = self."!PREFIX__!subrule"("colonpair", "")
+    new $P414, "ResizablePMCArray"
+    push $P414, $P413
+    .return ($P414)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "term:sym<routine_declarator>"  :subid("99_1259103982.97329") :method :outer("11_1259103982.97329")
+.sub "term:sym<variable>"  :subid("97_1259177761.22934") :method :outer("11_1259177761.22934")
 .annotate "line", 4
-    .local string rx415_tgt
-    .local int rx415_pos
-    .local int rx415_off
-    .local int rx415_eos
-    .local int rx415_rep
-    .local pmc rx415_cur
-    (rx415_cur, rx415_pos, rx415_tgt) = self."!cursor_start"()
-    rx415_cur."!cursor_debug"("START ", "term:sym<routine_declarator>")
-    .lex unicode:"$\x{a2}", rx415_cur
+    .local string rx417_tgt
+    .local int rx417_pos
+    .local int rx417_off
+    .local int rx417_eos
+    .local int rx417_rep
+    .local pmc rx417_cur
+    (rx417_cur, rx417_pos, rx417_tgt) = self."!cursor_start"()
+    rx417_cur."!cursor_debug"("START ", "term:sym<variable>")
+    .lex unicode:"$\x{a2}", rx417_cur
     .local pmc match
     .lex "$/", match
-    length rx415_eos, rx415_tgt
-    set rx415_off, 0
-    lt rx415_pos, 2, rx415_start
-    sub rx415_off, rx415_pos, 1
-    substr rx415_tgt, rx415_tgt, rx415_off
-  rx415_start:
+    length rx417_eos, rx417_tgt
+    set rx417_off, 0
+    lt rx417_pos, 2, rx417_start
+    sub rx417_off, rx417_pos, 1
+    substr rx417_tgt, rx417_tgt, rx417_off
+  rx417_start:
     $I10 = self.'from'()
-    ne $I10, -1, rxscan419_done
-    goto rxscan419_scan
-  rxscan419_loop:
-    ($P10) = rx415_cur."from"()
+    ne $I10, -1, rxscan421_done
+    goto rxscan421_scan
+  rxscan421_loop:
+    ($P10) = rx417_cur."from"()
     inc $P10
-    set rx415_pos, $P10
-    ge rx415_pos, rx415_eos, rxscan419_done
-  rxscan419_scan:
-    set_addr $I10, rxscan419_loop
-    rx415_cur."!mark_push"(0, rx415_pos, $I10)
-  rxscan419_done:
-.annotate "line", 210
-  # rx subrule "routine_declarator" subtype=capture negate=
-    rx415_cur."!cursor_pos"(rx415_pos)
-    $P10 = rx415_cur."routine_declarator"()
-    unless $P10, rx415_fail
-    rx415_cur."!mark_push"(0, -1, 0, $P10)
-    $P10."!cursor_names"("routine_declarator")
-    rx415_pos = $P10."pos"()
+    set rx417_pos, $P10
+    ge rx417_pos, rx417_eos, rxscan421_done
+  rxscan421_scan:
+    set_addr $I10, rxscan421_loop
+    rx417_cur."!mark_push"(0, rx417_pos, $I10)
+  rxscan421_done:
+.annotate "line", 217
+  # rx subrule "variable" subtype=capture negate=
+    rx417_cur."!cursor_pos"(rx417_pos)
+    $P10 = rx417_cur."variable"()
+    unless $P10, rx417_fail
+    rx417_cur."!mark_push"(0, -1, 0, $P10)
+    $P10."!cursor_names"("variable")
+    rx417_pos = $P10."pos"()
   # rx pass
-    rx415_cur."!cursor_pass"(rx415_pos, "term:sym<routine_declarator>")
-    rx415_cur."!cursor_debug"("PASS  ", "term:sym<routine_declarator>", " at pos=", rx415_pos)
-    .return (rx415_cur)
-  rx415_fail:
+    rx417_cur."!cursor_pass"(rx417_pos, "term:sym<variable>")
+    rx417_cur."!cursor_debug"("PASS  ", "term:sym<variable>", " at pos=", rx417_pos)
+    .return (rx417_cur)
+  rx417_fail:
 .annotate "line", 4
-    (rx415_rep, rx415_pos, $I10, $P10) = rx415_cur."!mark_fail"(0)
-    lt rx415_pos, -1, rx415_done
-    eq rx415_pos, -1, rx415_fail
+    (rx417_rep, rx417_pos, $I10, $P10) = rx417_cur."!mark_fail"(0)
+    lt rx417_pos, -1, rx417_done
+    eq rx417_pos, -1, rx417_fail
     jump $I10
-  rx415_done:
-    rx415_cur."!cursor_fail"()
-    rx415_cur."!cursor_debug"("FAIL  ", "term:sym<routine_declarator>")
-    .return (rx415_cur)
+  rx417_done:
+    rx417_cur."!cursor_fail"()
+    rx417_cur."!cursor_debug"("FAIL  ", "term:sym<variable>")
+    .return (rx417_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__term:sym<routine_declarator>"  :subid("100_1259103982.97329") :method
+.sub "!PREFIX__term:sym<variable>"  :subid("98_1259177761.22934") :method
 .annotate "line", 4
-    $P417 = self."!PREFIX__!subrule"("routine_declarator", "")
-    new $P418, "ResizablePMCArray"
-    push $P418, $P417
-    .return ($P418)
+    $P419 = self."!PREFIX__!subrule"("variable", "")
+    new $P420, "ResizablePMCArray"
+    push $P420, $P419
+    .return ($P420)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "term:sym<regex_declarator>"  :subid("101_1259103982.97329") :method :outer("11_1259103982.97329")
+.sub "term:sym<package_declarator>"  :subid("99_1259177761.22934") :method :outer("11_1259177761.22934")
 .annotate "line", 4
-    .local string rx421_tgt
-    .local int rx421_pos
-    .local int rx421_off
-    .local int rx421_eos
-    .local int rx421_rep
-    .local pmc rx421_cur
-    (rx421_cur, rx421_pos, rx421_tgt) = self."!cursor_start"()
-    rx421_cur."!cursor_debug"("START ", "term:sym<regex_declarator>")
-    .lex unicode:"$\x{a2}", rx421_cur
+    .local string rx423_tgt
+    .local int rx423_pos
+    .local int rx423_off
+    .local int rx423_eos
+    .local int rx423_rep
+    .local pmc rx423_cur
+    (rx423_cur, rx423_pos, rx423_tgt) = self."!cursor_start"()
+    rx423_cur."!cursor_debug"("START ", "term:sym<package_declarator>")
+    .lex unicode:"$\x{a2}", rx423_cur
     .local pmc match
     .lex "$/", match
-    length rx421_eos, rx421_tgt
-    set rx421_off, 0
-    lt rx421_pos, 2, rx421_start
-    sub rx421_off, rx421_pos, 1
-    substr rx421_tgt, rx421_tgt, rx421_off
-  rx421_start:
+    length rx423_eos, rx423_tgt
+    set rx423_off, 0
+    lt rx423_pos, 2, rx423_start
+    sub rx423_off, rx423_pos, 1
+    substr rx423_tgt, rx423_tgt, rx423_off
+  rx423_start:
     $I10 = self.'from'()
-    ne $I10, -1, rxscan425_done
-    goto rxscan425_scan
-  rxscan425_loop:
-    ($P10) = rx421_cur."from"()
+    ne $I10, -1, rxscan427_done
+    goto rxscan427_scan
+  rxscan427_loop:
+    ($P10) = rx423_cur."from"()
     inc $P10
-    set rx421_pos, $P10
-    ge rx421_pos, rx421_eos, rxscan425_done
-  rxscan425_scan:
-    set_addr $I10, rxscan425_loop
-    rx421_cur."!mark_push"(0, rx421_pos, $I10)
-  rxscan425_done:
-.annotate "line", 211
-  # rx subrule "regex_declarator" subtype=capture negate=
-    rx421_cur."!cursor_pos"(rx421_pos)
-    $P10 = rx421_cur."regex_declarator"()
-    unless $P10, rx421_fail
-    rx421_cur."!mark_push"(0, -1, 0, $P10)
-    $P10."!cursor_names"("regex_declarator")
-    rx421_pos = $P10."pos"()
+    set rx423_pos, $P10
+    ge rx423_pos, rx423_eos, rxscan427_done
+  rxscan427_scan:
+    set_addr $I10, rxscan427_loop
+    rx423_cur."!mark_push"(0, rx423_pos, $I10)
+  rxscan427_done:
+.annotate "line", 218
+  # rx subrule "package_declarator" subtype=capture negate=
+    rx423_cur."!cursor_pos"(rx423_pos)
+    $P10 = rx423_cur."package_declarator"()
+    unless $P10, rx423_fail
+    rx423_cur."!mark_push"(0, -1, 0, $P10)
+    $P10."!cursor_names"("package_declarator")
+    rx423_pos = $P10."pos"()
   # rx pass
-    rx421_cur."!cursor_pass"(rx421_pos, "term:sym<regex_declarator>")
-    rx421_cur."!cursor_debug"("PASS  ", "term:sym<regex_declarator>", " at pos=", rx421_pos)
-    .return (rx421_cur)
-  rx421_fail:
+    rx423_cur."!cursor_pass"(rx423_pos, "term:sym<package_declarator>")
+    rx423_cur."!cursor_debug"("PASS  ", "term:sym<package_declarator>", " at pos=", rx423_pos)
+    .return (rx423_cur)
+  rx423_fail:
 .annotate "line", 4
-    (rx421_rep, rx421_pos, $I10, $P10) = rx421_cur."!mark_fail"(0)
-    lt rx421_pos, -1, rx421_done
-    eq rx421_pos, -1, rx421_fail
+    (rx423_rep, rx423_pos, $I10, $P10) = rx423_cur."!mark_fail"(0)
+    lt rx423_pos, -1, rx423_done
+    eq rx423_pos, -1, rx423_fail
     jump $I10
-  rx421_done:
-    rx421_cur."!cursor_fail"()
-    rx421_cur."!cursor_debug"("FAIL  ", "term:sym<regex_declarator>")
-    .return (rx421_cur)
+  rx423_done:
+    rx423_cur."!cursor_fail"()
+    rx423_cur."!cursor_debug"("FAIL  ", "term:sym<package_declarator>")
+    .return (rx423_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__term:sym<regex_declarator>"  :subid("102_1259103982.97329") :method
+.sub "!PREFIX__term:sym<package_declarator>"  :subid("100_1259177761.22934") :method
 .annotate "line", 4
-    $P423 = self."!PREFIX__!subrule"("regex_declarator", "")
-    new $P424, "ResizablePMCArray"
-    push $P424, $P423
-    .return ($P424)
+    $P425 = self."!PREFIX__!subrule"("package_declarator", "")
+    new $P426, "ResizablePMCArray"
+    push $P426, $P425
+    .return ($P426)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "term:sym<statement_prefix>"  :subid("103_1259103982.97329") :method :outer("11_1259103982.97329")
+.sub "term:sym<scope_declarator>"  :subid("101_1259177761.22934") :method :outer("11_1259177761.22934")
 .annotate "line", 4
-    .local string rx427_tgt
-    .local int rx427_pos
-    .local int rx427_off
-    .local int rx427_eos
-    .local int rx427_rep
-    .local pmc rx427_cur
-    (rx427_cur, rx427_pos, rx427_tgt) = self."!cursor_start"()
-    rx427_cur."!cursor_debug"("START ", "term:sym<statement_prefix>")
-    .lex unicode:"$\x{a2}", rx427_cur
+    .local string rx429_tgt
+    .local int rx429_pos
+    .local int rx429_off
+    .local int rx429_eos
+    .local int rx429_rep
+    .local pmc rx429_cur
+    (rx429_cur, rx429_pos, rx429_tgt) = self."!cursor_start"()
+    rx429_cur."!cursor_debug"("START ", "term:sym<scope_declarator>")
+    .lex unicode:"$\x{a2}", rx429_cur
     .local pmc match
     .lex "$/", match
-    length rx427_eos, rx427_tgt
-    set rx427_off, 0
-    lt rx427_pos, 2, rx427_start
-    sub rx427_off, rx427_pos, 1
-    substr rx427_tgt, rx427_tgt, rx427_off
-  rx427_start:
+    length rx429_eos, rx429_tgt
+    set rx429_off, 0
+    lt rx429_pos, 2, rx429_start
+    sub rx429_off, rx429_pos, 1
+    substr rx429_tgt, rx429_tgt, rx429_off
+  rx429_start:
     $I10 = self.'from'()
-    ne $I10, -1, rxscan431_done
-    goto rxscan431_scan
-  rxscan431_loop:
-    ($P10) = rx427_cur."from"()
+    ne $I10, -1, rxscan433_done
+    goto rxscan433_scan
+  rxscan433_loop:
+    ($P10) = rx429_cur."from"()
     inc $P10
-    set rx427_pos, $P10
-    ge rx427_pos, rx427_eos, rxscan431_done
-  rxscan431_scan:
-    set_addr $I10, rxscan431_loop
-    rx427_cur."!mark_push"(0, rx427_pos, $I10)
-  rxscan431_done:
-.annotate "line", 212
-  # rx subrule "statement_prefix" subtype=capture negate=
-    rx427_cur."!cursor_pos"(rx427_pos)
-    $P10 = rx427_cur."statement_prefix"()
-    unless $P10, rx427_fail
-    rx427_cur."!mark_push"(0, -1, 0, $P10)
-    $P10."!cursor_names"("statement_prefix")
-    rx427_pos = $P10."pos"()
+    set rx429_pos, $P10
+    ge rx429_pos, rx429_eos, rxscan433_done
+  rxscan433_scan:
+    set_addr $I10, rxscan433_loop
+    rx429_cur."!mark_push"(0, rx429_pos, $I10)
+  rxscan433_done:
+.annotate "line", 219
+  # rx subrule "scope_declarator" subtype=capture negate=
+    rx429_cur."!cursor_pos"(rx429_pos)
+    $P10 = rx429_cur."scope_declarator"()
+    unless $P10, rx429_fail
+    rx429_cur."!mark_push"(0, -1, 0, $P10)
+    $P10."!cursor_names"("scope_declarator")
+    rx429_pos = $P10."pos"()
   # rx pass
-    rx427_cur."!cursor_pass"(rx427_pos, "term:sym<statement_prefix>")
-    rx427_cur."!cursor_debug"("PASS  ", "term:sym<statement_prefix>", " at pos=", rx427_pos)
-    .return (rx427_cur)
-  rx427_fail:
+    rx429_cur."!cursor_pass"(rx429_pos, "term:sym<scope_declarator>")
+    rx429_cur."!cursor_debug"("PASS  ", "term:sym<scope_declarator>", " at pos=", rx429_pos)
+    .return (rx429_cur)
+  rx429_fail:
 .annotate "line", 4
-    (rx427_rep, rx427_pos, $I10, $P10) = rx427_cur."!mark_fail"(0)
-    lt rx427_pos, -1, rx427_done
-    eq rx427_pos, -1, rx427_fail
+    (rx429_rep, rx429_pos, $I10, $P10) = rx429_cur."!mark_fail"(0)
+    lt rx429_pos, -1, rx429_done
+    eq rx429_pos, -1, rx429_fail
     jump $I10
-  rx427_done:
-    rx427_cur."!cursor_fail"()
-    rx427_cur."!cursor_debug"("FAIL  ", "term:sym<statement_prefix>")
-    .return (rx427_cur)
+  rx429_done:
+    rx429_cur."!cursor_fail"()
+    rx429_cur."!cursor_debug"("FAIL  ", "term:sym<scope_declarator>")
+    .return (rx429_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__term:sym<statement_prefix>"  :subid("104_1259103982.97329") :method
+.sub "!PREFIX__term:sym<scope_declarator>"  :subid("102_1259177761.22934") :method
 .annotate "line", 4
-    $P429 = self."!PREFIX__!subrule"("statement_prefix", "")
-    new $P430, "ResizablePMCArray"
-    push $P430, $P429
-    .return ($P430)
+    $P431 = self."!PREFIX__!subrule"("scope_declarator", "")
+    new $P432, "ResizablePMCArray"
+    push $P432, $P431
+    .return ($P432)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "term:sym<lambda>"  :subid("105_1259103982.97329") :method :outer("11_1259103982.97329")
+.sub "term:sym<routine_declarator>"  :subid("103_1259177761.22934") :method :outer("11_1259177761.22934")
 .annotate "line", 4
-    .local string rx433_tgt
-    .local int rx433_pos
-    .local int rx433_off
-    .local int rx433_eos
-    .local int rx433_rep
-    .local pmc rx433_cur
-    (rx433_cur, rx433_pos, rx433_tgt) = self."!cursor_start"()
-    rx433_cur."!cursor_debug"("START ", "term:sym<lambda>")
-    .lex unicode:"$\x{a2}", rx433_cur
+    .local string rx435_tgt
+    .local int rx435_pos
+    .local int rx435_off
+    .local int rx435_eos
+    .local int rx435_rep
+    .local pmc rx435_cur
+    (rx435_cur, rx435_pos, rx435_tgt) = self."!cursor_start"()
+    rx435_cur."!cursor_debug"("START ", "term:sym<routine_declarator>")
+    .lex unicode:"$\x{a2}", rx435_cur
     .local pmc match
     .lex "$/", match
-    length rx433_eos, rx433_tgt
-    set rx433_off, 0
-    lt rx433_pos, 2, rx433_start
-    sub rx433_off, rx433_pos, 1
-    substr rx433_tgt, rx433_tgt, rx433_off
-  rx433_start:
+    length rx435_eos, rx435_tgt
+    set rx435_off, 0
+    lt rx435_pos, 2, rx435_start
+    sub rx435_off, rx435_pos, 1
+    substr rx435_tgt, rx435_tgt, rx435_off
+  rx435_start:
     $I10 = self.'from'()
-    ne $I10, -1, rxscan436_done
-    goto rxscan436_scan
-  rxscan436_loop:
-    ($P10) = rx433_cur."from"()
+    ne $I10, -1, rxscan439_done
+    goto rxscan439_scan
+  rxscan439_loop:
+    ($P10) = rx435_cur."from"()
     inc $P10
-    set rx433_pos, $P10
-    ge rx433_pos, rx433_eos, rxscan436_done
-  rxscan436_scan:
-    set_addr $I10, rxscan436_loop
-    rx433_cur."!mark_push"(0, rx433_pos, $I10)
-  rxscan436_done:
-.annotate "line", 213
-  # rx subrule "lambda" subtype=zerowidth negate=
-    rx433_cur."!cursor_pos"(rx433_pos)
-    $P10 = rx433_cur."lambda"()
-    unless $P10, rx433_fail
-  # rx subrule "pblock" subtype=capture negate=
-    rx433_cur."!cursor_pos"(rx433_pos)
-    $P10 = rx433_cur."pblock"()
-    unless $P10, rx433_fail
-    rx433_cur."!mark_push"(0, -1, 0, $P10)
-    $P10."!cursor_names"("pblock")
-    rx433_pos = $P10."pos"()
+    set rx435_pos, $P10
+    ge rx435_pos, rx435_eos, rxscan439_done
+  rxscan439_scan:
+    set_addr $I10, rxscan439_loop
+    rx435_cur."!mark_push"(0, rx435_pos, $I10)
+  rxscan439_done:
+.annotate "line", 220
+  # rx subrule "routine_declarator" subtype=capture negate=
+    rx435_cur."!cursor_pos"(rx435_pos)
+    $P10 = rx435_cur."routine_declarator"()
+    unless $P10, rx435_fail
+    rx435_cur."!mark_push"(0, -1, 0, $P10)
+    $P10."!cursor_names"("routine_declarator")
+    rx435_pos = $P10."pos"()
   # rx pass
-    rx433_cur."!cursor_pass"(rx433_pos, "term:sym<lambda>")
-    rx433_cur."!cursor_debug"("PASS  ", "term:sym<lambda>", " at pos=", rx433_pos)
-    .return (rx433_cur)
-  rx433_fail:
+    rx435_cur."!cursor_pass"(rx435_pos, "term:sym<routine_declarator>")
+    rx435_cur."!cursor_debug"("PASS  ", "term:sym<routine_declarator>", " at pos=", rx435_pos)
+    .return (rx435_cur)
+  rx435_fail:
 .annotate "line", 4
-    (rx433_rep, rx433_pos, $I10, $P10) = rx433_cur."!mark_fail"(0)
-    lt rx433_pos, -1, rx433_done
-    eq rx433_pos, -1, rx433_fail
+    (rx435_rep, rx435_pos, $I10, $P10) = rx435_cur."!mark_fail"(0)
+    lt rx435_pos, -1, rx435_done
+    eq rx435_pos, -1, rx435_fail
     jump $I10
-  rx433_done:
-    rx433_cur."!cursor_fail"()
-    rx433_cur."!cursor_debug"("FAIL  ", "term:sym<lambda>")
-    .return (rx433_cur)
+  rx435_done:
+    rx435_cur."!cursor_fail"()
+    rx435_cur."!cursor_debug"("FAIL  ", "term:sym<routine_declarator>")
+    .return (rx435_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__term:sym<lambda>"  :subid("106_1259103982.97329") :method
+.sub "!PREFIX__term:sym<routine_declarator>"  :subid("104_1259177761.22934") :method
 .annotate "line", 4
-    new $P435, "ResizablePMCArray"
-    push $P435, ""
-    .return ($P435)
+    $P437 = self."!PREFIX__!subrule"("routine_declarator", "")
+    new $P438, "ResizablePMCArray"
+    push $P438, $P437
+    .return ($P438)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "colonpair"  :subid("107_1259103982.97329") :method :outer("11_1259103982.97329")
+.sub "term:sym<regex_declarator>"  :subid("105_1259177761.22934") :method :outer("11_1259177761.22934")
 .annotate "line", 4
-    .local string rx438_tgt
-    .local int rx438_pos
-    .local int rx438_off
-    .local int rx438_eos
-    .local int rx438_rep
-    .local pmc rx438_cur
-    (rx438_cur, rx438_pos, rx438_tgt) = self."!cursor_start"()
-    rx438_cur."!cursor_debug"("START ", "colonpair")
-    rx438_cur."!cursor_caparray"("circumfix")
-    .lex unicode:"$\x{a2}", rx438_cur
+    .local string rx441_tgt
+    .local int rx441_pos
+    .local int rx441_off
+    .local int rx441_eos
+    .local int rx441_rep
+    .local pmc rx441_cur
+    (rx441_cur, rx441_pos, rx441_tgt) = self."!cursor_start"()
+    rx441_cur."!cursor_debug"("START ", "term:sym<regex_declarator>")
+    .lex unicode:"$\x{a2}", rx441_cur
     .local pmc match
     .lex "$/", match
-    length rx438_eos, rx438_tgt
-    set rx438_off, 0
-    lt rx438_pos, 2, rx438_start
-    sub rx438_off, rx438_pos, 1
-    substr rx438_tgt, rx438_tgt, rx438_off
-  rx438_start:
+    length rx441_eos, rx441_tgt
+    set rx441_off, 0
+    lt rx441_pos, 2, rx441_start
+    sub rx441_off, rx441_pos, 1
+    substr rx441_tgt, rx441_tgt, rx441_off
+  rx441_start:
     $I10 = self.'from'()
-    ne $I10, -1, rxscan443_done
-    goto rxscan443_scan
-  rxscan443_loop:
-    ($P10) = rx438_cur."from"()
+    ne $I10, -1, rxscan445_done
+    goto rxscan445_scan
+  rxscan445_loop:
+    ($P10) = rx441_cur."from"()
     inc $P10
-    set rx438_pos, $P10
-    ge rx438_pos, rx438_eos, rxscan443_done
-  rxscan443_scan:
-    set_addr $I10, rxscan443_loop
-    rx438_cur."!mark_push"(0, rx438_pos, $I10)
-  rxscan443_done:
-.annotate "line", 216
-  # rx literal  ":"
-    add $I11, rx438_pos, 1
-    gt $I11, rx438_eos, rx438_fail
-    sub $I11, rx438_pos, rx438_off
-    substr $S10, rx438_tgt, $I11, 1
-    ne $S10, ":", rx438_fail
-    add rx438_pos, 1
-  alt444_0:
-.annotate "line", 217
-    set_addr $I10, alt444_1
-    rx438_cur."!mark_push"(0, rx438_pos, $I10)
-.annotate "line", 218
-  # rx subcapture "not"
-    set_addr $I10, rxcap_445_fail
-    rx438_cur."!mark_push"(0, rx438_pos, $I10)
+    set rx441_pos, $P10
+    ge rx441_pos, rx441_eos, rxscan445_done
+  rxscan445_scan:
+    set_addr $I10, rxscan445_loop
+    rx441_cur."!mark_push"(0, rx441_pos, $I10)
+  rxscan445_done:
+.annotate "line", 221
+  # rx subrule "regex_declarator" subtype=capture negate=
+    rx441_cur."!cursor_pos"(rx441_pos)
+    $P10 = rx441_cur."regex_declarator"()
+    unless $P10, rx441_fail
+    rx441_cur."!mark_push"(0, -1, 0, $P10)
+    $P10."!cursor_names"("regex_declarator")
+    rx441_pos = $P10."pos"()
+  # rx pass
+    rx441_cur."!cursor_pass"(rx441_pos, "term:sym<regex_declarator>")
+    rx441_cur."!cursor_debug"("PASS  ", "term:sym<regex_declarator>", " at pos=", rx441_pos)
+    .return (rx441_cur)
+  rx441_fail:
+.annotate "line", 4
+    (rx441_rep, rx441_pos, $I10, $P10) = rx441_cur."!mark_fail"(0)
+    lt rx441_pos, -1, rx441_done
+    eq rx441_pos, -1, rx441_fail
+    jump $I10
+  rx441_done:
+    rx441_cur."!cursor_fail"()
+    rx441_cur."!cursor_debug"("FAIL  ", "term:sym<regex_declarator>")
+    .return (rx441_cur)
+    .return ()
+.end
+
+
+.namespace ["NQP";"Grammar"]
+.sub "!PREFIX__term:sym<regex_declarator>"  :subid("106_1259177761.22934") :method
+.annotate "line", 4
+    $P443 = self."!PREFIX__!subrule"("regex_declarator", "")
+    new $P444, "ResizablePMCArray"
+    push $P444, $P443
+    .return ($P444)
+.end
+
+
+.namespace ["NQP";"Grammar"]
+.sub "term:sym<statement_prefix>"  :subid("107_1259177761.22934") :method :outer("11_1259177761.22934")
+.annotate "line", 4
+    .local string rx447_tgt
+    .local int rx447_pos
+    .local int rx447_off
+    .local int rx447_eos
+    .local int rx447_rep
+    .local pmc rx447_cur
+    (rx447_cur, rx447_pos, rx447_tgt) = self."!cursor_start"()
+    rx447_cur."!cursor_debug"("START ", "term:sym<statement_prefix>")
+    .lex unicode:"$\x{a2}", rx447_cur
+    .local pmc match
+    .lex "$/", match
+    length rx447_eos, rx447_tgt
+    set rx447_off, 0
+    lt rx447_pos, 2, rx447_start
+    sub rx447_off, rx447_pos, 1
+    substr rx447_tgt, rx447_tgt, rx447_off
+  rx447_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan451_done
+    goto rxscan451_scan
+  rxscan451_loop:
+    ($P10) = rx447_cur."from"()
+    inc $P10
+    set rx447_pos, $P10
+    ge rx447_pos, rx447_eos, rxscan451_done
+  rxscan451_scan:
+    set_addr $I10, rxscan451_loop
+    rx447_cur."!mark_push"(0, rx447_pos, $I10)
+  rxscan451_done:
+.annotate "line", 222
+  # rx subrule "statement_prefix" subtype=capture negate=
+    rx447_cur."!cursor_pos"(rx447_pos)
+    $P10 = rx447_cur."statement_prefix"()
+    unless $P10, rx447_fail
+    rx447_cur."!mark_push"(0, -1, 0, $P10)
+    $P10."!cursor_names"("statement_prefix")
+    rx447_pos = $P10."pos"()
+  # rx pass
+    rx447_cur."!cursor_pass"(rx447_pos, "term:sym<statement_prefix>")
+    rx447_cur."!cursor_debug"("PASS  ", "term:sym<statement_prefix>", " at pos=", rx447_pos)
+    .return (rx447_cur)
+  rx447_fail:
+.annotate "line", 4
+    (rx447_rep, rx447_pos, $I10, $P10) = rx447_cur."!mark_fail"(0)
+    lt rx447_pos, -1, rx447_done
+    eq rx447_pos, -1, rx447_fail
+    jump $I10
+  rx447_done:
+    rx447_cur."!cursor_fail"()
+    rx447_cur."!cursor_debug"("FAIL  ", "term:sym<statement_prefix>")
+    .return (rx447_cur)
+    .return ()
+.end
+
+
+.namespace ["NQP";"Grammar"]
+.sub "!PREFIX__term:sym<statement_prefix>"  :subid("108_1259177761.22934") :method
+.annotate "line", 4
+    $P449 = self."!PREFIX__!subrule"("statement_prefix", "")
+    new $P450, "ResizablePMCArray"
+    push $P450, $P449
+    .return ($P450)
+.end
+
+
+.namespace ["NQP";"Grammar"]
+.sub "term:sym<lambda>"  :subid("109_1259177761.22934") :method :outer("11_1259177761.22934")
+.annotate "line", 4
+    .local string rx453_tgt
+    .local int rx453_pos
+    .local int rx453_off
+    .local int rx453_eos
+    .local int rx453_rep
+    .local pmc rx453_cur
+    (rx453_cur, rx453_pos, rx453_tgt) = self."!cursor_start"()
+    rx453_cur."!cursor_debug"("START ", "term:sym<lambda>")
+    .lex unicode:"$\x{a2}", rx453_cur
+    .local pmc match
+    .lex "$/", match
+    length rx453_eos, rx453_tgt
+    set rx453_off, 0
+    lt rx453_pos, 2, rx453_start
+    sub rx453_off, rx453_pos, 1
+    substr rx453_tgt, rx453_tgt, rx453_off
+  rx453_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan456_done
+    goto rxscan456_scan
+  rxscan456_loop:
+    ($P10) = rx453_cur."from"()
+    inc $P10
+    set rx453_pos, $P10
+    ge rx453_pos, rx453_eos, rxscan456_done
+  rxscan456_scan:
+    set_addr $I10, rxscan456_loop
+    rx453_cur."!mark_push"(0, rx453_pos, $I10)
+  rxscan456_done:
+.annotate "line", 223
+  # rx subrule "lambda" subtype=zerowidth negate=
+    rx453_cur."!cursor_pos"(rx453_pos)
+    $P10 = rx453_cur."lambda"()
+    unless $P10, rx453_fail
+  # rx subrule "pblock" subtype=capture negate=
+    rx453_cur."!cursor_pos"(rx453_pos)
+    $P10 = rx453_cur."pblock"()
+    unless $P10, rx453_fail
+    rx453_cur."!mark_push"(0, -1, 0, $P10)
+    $P10."!cursor_names"("pblock")
+    rx453_pos = $P10."pos"()
+  # rx pass
+    rx453_cur."!cursor_pass"(rx453_pos, "term:sym<lambda>")
+    rx453_cur."!cursor_debug"("PASS  ", "term:sym<lambda>", " at pos=", rx453_pos)
+    .return (rx453_cur)
+  rx453_fail:
+.annotate "line", 4
+    (rx453_rep, rx453_pos, $I10, $P10) = rx453_cur."!mark_fail"(0)
+    lt rx453_pos, -1, rx453_done
+    eq rx453_pos, -1, rx453_fail
+    jump $I10
+  rx453_done:
+    rx453_cur."!cursor_fail"()
+    rx453_cur."!cursor_debug"("FAIL  ", "term:sym<lambda>")
+    .return (rx453_cur)
+    .return ()
+.end
+
+
+.namespace ["NQP";"Grammar"]
+.sub "!PREFIX__term:sym<lambda>"  :subid("110_1259177761.22934") :method
+.annotate "line", 4
+    new $P455, "ResizablePMCArray"
+    push $P455, ""
+    .return ($P455)
+.end
+
+
+.namespace ["NQP";"Grammar"]
+.sub "colonpair"  :subid("111_1259177761.22934") :method :outer("11_1259177761.22934")
+.annotate "line", 4
+    .local string rx458_tgt
+    .local int rx458_pos
+    .local int rx458_off
+    .local int rx458_eos
+    .local int rx458_rep
+    .local pmc rx458_cur
+    (rx458_cur, rx458_pos, rx458_tgt) = self."!cursor_start"()
+    rx458_cur."!cursor_debug"("START ", "colonpair")
+    rx458_cur."!cursor_caparray"("circumfix")
+    .lex unicode:"$\x{a2}", rx458_cur
+    .local pmc match
+    .lex "$/", match
+    length rx458_eos, rx458_tgt
+    set rx458_off, 0
+    lt rx458_pos, 2, rx458_start
+    sub rx458_off, rx458_pos, 1
+    substr rx458_tgt, rx458_tgt, rx458_off
+  rx458_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan463_done
+    goto rxscan463_scan
+  rxscan463_loop:
+    ($P10) = rx458_cur."from"()
+    inc $P10
+    set rx458_pos, $P10
+    ge rx458_pos, rx458_eos, rxscan463_done
+  rxscan463_scan:
+    set_addr $I10, rxscan463_loop
+    rx458_cur."!mark_push"(0, rx458_pos, $I10)
+  rxscan463_done:
+.annotate "line", 226
+  # rx literal  ":"
+    add $I11, rx458_pos, 1
+    gt $I11, rx458_eos, rx458_fail
+    sub $I11, rx458_pos, rx458_off
+    substr $S10, rx458_tgt, $I11, 1
+    ne $S10, ":", rx458_fail
+    add rx458_pos, 1
+  alt464_0:
+.annotate "line", 227
+    set_addr $I10, alt464_1
+    rx458_cur."!mark_push"(0, rx458_pos, $I10)
+.annotate "line", 228
+  # rx subcapture "not"
+    set_addr $I10, rxcap_465_fail
+    rx458_cur."!mark_push"(0, rx458_pos, $I10)
   # rx literal  "!"
-    add $I11, rx438_pos, 1
-    gt $I11, rx438_eos, rx438_fail
-    sub $I11, rx438_pos, rx438_off
-    substr $S10, rx438_tgt, $I11, 1
-    ne $S10, "!", rx438_fail
-    add rx438_pos, 1
-    set_addr $I10, rxcap_445_fail
-    ($I12, $I11) = rx438_cur."!mark_peek"($I10)
-    rx438_cur."!cursor_pos"($I11)
-    ($P10) = rx438_cur."!cursor_start"()
-    $P10."!cursor_pass"(rx438_pos, "")
-    rx438_cur."!mark_push"(0, -1, 0, $P10)
+    add $I11, rx458_pos, 1
+    gt $I11, rx458_eos, rx458_fail
+    sub $I11, rx458_pos, rx458_off
+    substr $S10, rx458_tgt, $I11, 1
+    ne $S10, "!", rx458_fail
+    add rx458_pos, 1
+    set_addr $I10, rxcap_465_fail
+    ($I12, $I11) = rx458_cur."!mark_peek"($I10)
+    rx458_cur."!cursor_pos"($I11)
+    ($P10) = rx458_cur."!cursor_start"()
+    $P10."!cursor_pass"(rx458_pos, "")
+    rx458_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("not")
-    goto rxcap_445_done
-  rxcap_445_fail:
-    goto rx438_fail
-  rxcap_445_done:
+    goto rxcap_465_done
+  rxcap_465_fail:
+    goto rx458_fail
+  rxcap_465_done:
   # rx subrule "identifier" subtype=capture negate=
-    rx438_cur."!cursor_pos"(rx438_pos)
-    $P10 = rx438_cur."identifier"()
-    unless $P10, rx438_fail
-    rx438_cur."!mark_push"(0, -1, 0, $P10)
+    rx458_cur."!cursor_pos"(rx458_pos)
+    $P10 = rx458_cur."identifier"()
+    unless $P10, rx458_fail
+    rx458_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("identifier")
-    rx438_pos = $P10."pos"()
-    goto alt444_end
-  alt444_1:
-.annotate "line", 219
+    rx458_pos = $P10."pos"()
+    goto alt464_end
+  alt464_1:
+.annotate "line", 229
   # rx subrule "identifier" subtype=capture negate=
-    rx438_cur."!cursor_pos"(rx438_pos)
-    $P10 = rx438_cur."identifier"()
-    unless $P10, rx438_fail
-    rx438_cur."!mark_push"(0, -1, 0, $P10)
+    rx458_cur."!cursor_pos"(rx458_pos)
+    $P10 = rx458_cur."identifier"()
+    unless $P10, rx458_fail
+    rx458_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("identifier")
-    rx438_pos = $P10."pos"()
-  # rx rxquantr446 ** 0..1
-    set_addr $I447, rxquantr446_done
-    rx438_cur."!mark_push"(0, rx438_pos, $I447)
-  rxquantr446_loop:
+    rx458_pos = $P10."pos"()
+  # rx rxquantr466 ** 0..1
+    set_addr $I467, rxquantr466_done
+    rx458_cur."!mark_push"(0, rx458_pos, $I467)
+  rxquantr466_loop:
   # rx subrule "circumfix" subtype=capture negate=
-    rx438_cur."!cursor_pos"(rx438_pos)
-    $P10 = rx438_cur."circumfix"()
-    unless $P10, rx438_fail
-    rx438_cur."!mark_push"(0, -1, 0, $P10)
+    rx458_cur."!cursor_pos"(rx458_pos)
+    $P10 = rx458_cur."circumfix"()
+    unless $P10, rx458_fail
+    rx458_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("circumfix")
-    rx438_pos = $P10."pos"()
-    (rx438_rep) = rx438_cur."!mark_commit"($I447)
-  rxquantr446_done:
-  alt444_end:
-.annotate "line", 215
+    rx458_pos = $P10."pos"()
+    (rx458_rep) = rx458_cur."!mark_commit"($I467)
+  rxquantr466_done:
+  alt464_end:
+.annotate "line", 225
   # rx pass
-    rx438_cur."!cursor_pass"(rx438_pos, "colonpair")
-    rx438_cur."!cursor_debug"("PASS  ", "colonpair", " at pos=", rx438_pos)
-    .return (rx438_cur)
-  rx438_fail:
+    rx458_cur."!cursor_pass"(rx458_pos, "colonpair")
+    rx458_cur."!cursor_debug"("PASS  ", "colonpair", " at pos=", rx458_pos)
+    .return (rx458_cur)
+  rx458_fail:
 .annotate "line", 4
-    (rx438_rep, rx438_pos, $I10, $P10) = rx438_cur."!mark_fail"(0)
-    lt rx438_pos, -1, rx438_done
-    eq rx438_pos, -1, rx438_fail
+    (rx458_rep, rx458_pos, $I10, $P10) = rx458_cur."!mark_fail"(0)
+    lt rx458_pos, -1, rx458_done
+    eq rx458_pos, -1, rx458_fail
     jump $I10
-  rx438_done:
-    rx438_cur."!cursor_fail"()
-    rx438_cur."!cursor_debug"("FAIL  ", "colonpair")
-    .return (rx438_cur)
+  rx458_done:
+    rx458_cur."!cursor_fail"()
+    rx458_cur."!cursor_debug"("FAIL  ", "colonpair")
+    .return (rx458_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__colonpair"  :subid("108_1259103982.97329") :method
+.sub "!PREFIX__colonpair"  :subid("112_1259177761.22934") :method
 .annotate "line", 4
-    $P440 = self."!PREFIX__!subrule"("identifier", ":")
-    $P441 = self."!PREFIX__!subrule"("identifier", ":!")
-    new $P442, "ResizablePMCArray"
-    push $P442, $P440
-    push $P442, $P441
-    .return ($P442)
+    $P460 = self."!PREFIX__!subrule"("identifier", ":")
+    $P461 = self."!PREFIX__!subrule"("identifier", ":!")
+    new $P462, "ResizablePMCArray"
+    push $P462, $P460
+    push $P462, $P461
+    .return ($P462)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "variable"  :subid("109_1259103982.97329") :method :outer("11_1259103982.97329")
+.sub "variable"  :subid("113_1259177761.22934") :method :outer("11_1259177761.22934")
 .annotate "line", 4
-    .local string rx449_tgt
-    .local int rx449_pos
-    .local int rx449_off
-    .local int rx449_eos
-    .local int rx449_rep
-    .local pmc rx449_cur
-    (rx449_cur, rx449_pos, rx449_tgt) = self."!cursor_start"()
-    rx449_cur."!cursor_debug"("START ", "variable")
-    rx449_cur."!cursor_caparray"("twigil")
-    .lex unicode:"$\x{a2}", rx449_cur
+    .local string rx469_tgt
+    .local int rx469_pos
+    .local int rx469_off
+    .local int rx469_eos
+    .local int rx469_rep
+    .local pmc rx469_cur
+    (rx469_cur, rx469_pos, rx469_tgt) = self."!cursor_start"()
+    rx469_cur."!cursor_debug"("START ", "variable")
+    rx469_cur."!cursor_caparray"("twigil")
+    .lex unicode:"$\x{a2}", rx469_cur
     .local pmc match
     .lex "$/", match
-    length rx449_eos, rx449_tgt
-    set rx449_off, 0
-    lt rx449_pos, 2, rx449_start
-    sub rx449_off, rx449_pos, 1
-    substr rx449_tgt, rx449_tgt, rx449_off
-  rx449_start:
+    length rx469_eos, rx469_tgt
+    set rx469_off, 0
+    lt rx469_pos, 2, rx469_start
+    sub rx469_off, rx469_pos, 1
+    substr rx469_tgt, rx469_tgt, rx469_off
+  rx469_start:
     $I10 = self.'from'()
-    ne $I10, -1, rxscan454_done
-    goto rxscan454_scan
-  rxscan454_loop:
-    ($P10) = rx449_cur."from"()
+    ne $I10, -1, rxscan474_done
+    goto rxscan474_scan
+  rxscan474_loop:
+    ($P10) = rx469_cur."from"()
     inc $P10
-    set rx449_pos, $P10
-    ge rx449_pos, rx449_eos, rxscan454_done
-  rxscan454_scan:
-    set_addr $I10, rxscan454_loop
-    rx449_cur."!mark_push"(0, rx449_pos, $I10)
-  rxscan454_done:
-  alt455_0:
-.annotate "line", 223
-    set_addr $I10, alt455_1
-    rx449_cur."!mark_push"(0, rx449_pos, $I10)
-.annotate "line", 224
+    set rx469_pos, $P10
+    ge rx469_pos, rx469_eos, rxscan474_done
+  rxscan474_scan:
+    set_addr $I10, rxscan474_loop
+    rx469_cur."!mark_push"(0, rx469_pos, $I10)
+  rxscan474_done:
+  alt475_0:
+.annotate "line", 233
+    set_addr $I10, alt475_1
+    rx469_cur."!mark_push"(0, rx469_pos, $I10)
+.annotate "line", 234
   # rx subrule "sigil" subtype=capture negate=
-    rx449_cur."!cursor_pos"(rx449_pos)
-    $P10 = rx449_cur."sigil"()
-    unless $P10, rx449_fail
-    rx449_cur."!mark_push"(0, -1, 0, $P10)
+    rx469_cur."!cursor_pos"(rx469_pos)
+    $P10 = rx469_cur."sigil"()
+    unless $P10, rx469_fail
+    rx469_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("sigil")
-    rx449_pos = $P10."pos"()
-  # rx rxquantr456 ** 0..1
-    set_addr $I457, rxquantr456_done
-    rx449_cur."!mark_push"(0, rx449_pos, $I457)
-  rxquantr456_loop:
+    rx469_pos = $P10."pos"()
+  # rx rxquantr476 ** 0..1
+    set_addr $I477, rxquantr476_done
+    rx469_cur."!mark_push"(0, rx469_pos, $I477)
+  rxquantr476_loop:
   # rx subrule "twigil" subtype=capture negate=
-    rx449_cur."!cursor_pos"(rx449_pos)
-    $P10 = rx449_cur."twigil"()
-    unless $P10, rx449_fail
-    rx449_cur."!mark_push"(0, -1, 0, $P10)
+    rx469_cur."!cursor_pos"(rx469_pos)
+    $P10 = rx469_cur."twigil"()
+    unless $P10, rx469_fail
+    rx469_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("twigil")
-    rx449_pos = $P10."pos"()
-    (rx449_rep) = rx449_cur."!mark_commit"($I457)
-  rxquantr456_done:
+    rx469_pos = $P10."pos"()
+    (rx469_rep) = rx469_cur."!mark_commit"($I477)
+  rxquantr476_done:
   # rx subrule "name" subtype=capture negate=
-    rx449_cur."!cursor_pos"(rx449_pos)
-    $P10 = rx449_cur."name"()
-    unless $P10, rx449_fail
-    rx449_cur."!mark_push"(0, -1, 0, $P10)
+    rx469_cur."!cursor_pos"(rx469_pos)
+    $P10 = rx469_cur."name"()
+    unless $P10, rx469_fail
+    rx469_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("desigilname")
-    rx449_pos = $P10."pos"()
-    goto alt455_end
-  alt455_1:
-    set_addr $I10, alt455_2
-    rx449_cur."!mark_push"(0, rx449_pos, $I10)
-.annotate "line", 225
+    rx469_pos = $P10."pos"()
+    goto alt475_end
+  alt475_1:
+    set_addr $I10, alt475_2
+    rx469_cur."!mark_push"(0, rx469_pos, $I10)
+.annotate "line", 235
   # rx subrule "sigil" subtype=capture negate=
-    rx449_cur."!cursor_pos"(rx449_pos)
-    $P10 = rx449_cur."sigil"()
-    unless $P10, rx449_fail
-    rx449_cur."!mark_push"(0, -1, 0, $P10)
+    rx469_cur."!cursor_pos"(rx469_pos)
+    $P10 = rx469_cur."sigil"()
+    unless $P10, rx469_fail
+    rx469_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("sigil")
-    rx449_pos = $P10."pos"()
+    rx469_pos = $P10."pos"()
   # rx enumcharlist negate=0 zerowidth
-    ge rx449_pos, rx449_eos, rx449_fail
-    sub $I10, rx449_pos, rx449_off
-    substr $S10, rx449_tgt, $I10, 1
+    ge rx469_pos, rx469_eos, rx469_fail
+    sub $I10, rx469_pos, rx469_off
+    substr $S10, rx469_tgt, $I10, 1
     index $I11, "<[", $S10
-    lt $I11, 0, rx449_fail
+    lt $I11, 0, rx469_fail
   # rx subrule "postcircumfix" subtype=capture negate=
-    rx449_cur."!cursor_pos"(rx449_pos)
-    $P10 = rx449_cur."postcircumfix"()
-    unless $P10, rx449_fail
-    rx449_cur."!mark_push"(0, -1, 0, $P10)
+    rx469_cur."!cursor_pos"(rx469_pos)
+    $P10 = rx469_cur."postcircumfix"()
+    unless $P10, rx469_fail
+    rx469_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("postcircumfix")
-    rx449_pos = $P10."pos"()
-    goto alt455_end
-  alt455_2:
-.annotate "line", 226
+    rx469_pos = $P10."pos"()
+    goto alt475_end
+  alt475_2:
+.annotate "line", 236
   # rx subcapture "sigil"
-    set_addr $I10, rxcap_458_fail
-    rx449_cur."!mark_push"(0, rx449_pos, $I10)
+    set_addr $I10, rxcap_478_fail
+    rx469_cur."!mark_push"(0, rx469_pos, $I10)
   # rx literal  "$"
-    add $I11, rx449_pos, 1
-    gt $I11, rx449_eos, rx449_fail
-    sub $I11, rx449_pos, rx449_off
-    substr $S10, rx449_tgt, $I11, 1
-    ne $S10, "$", rx449_fail
-    add rx449_pos, 1
-    set_addr $I10, rxcap_458_fail
-    ($I12, $I11) = rx449_cur."!mark_peek"($I10)
-    rx449_cur."!cursor_pos"($I11)
-    ($P10) = rx449_cur."!cursor_start"()
-    $P10."!cursor_pass"(rx449_pos, "")
-    rx449_cur."!mark_push"(0, -1, 0, $P10)
+    add $I11, rx469_pos, 1
+    gt $I11, rx469_eos, rx469_fail
+    sub $I11, rx469_pos, rx469_off
+    substr $S10, rx469_tgt, $I11, 1
+    ne $S10, "$", rx469_fail
+    add rx469_pos, 1
+    set_addr $I10, rxcap_478_fail
+    ($I12, $I11) = rx469_cur."!mark_peek"($I10)
+    rx469_cur."!cursor_pos"($I11)
+    ($P10) = rx469_cur."!cursor_start"()
+    $P10."!cursor_pass"(rx469_pos, "")
+    rx469_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("sigil")
-    goto rxcap_458_done
-  rxcap_458_fail:
-    goto rx449_fail
-  rxcap_458_done:
+    goto rxcap_478_done
+  rxcap_478_fail:
+    goto rx469_fail
+  rxcap_478_done:
   # rx subcapture "desigilname"
-    set_addr $I10, rxcap_459_fail
-    rx449_cur."!mark_push"(0, rx449_pos, $I10)
+    set_addr $I10, rxcap_479_fail
+    rx469_cur."!mark_push"(0, rx469_pos, $I10)
   # rx enumcharlist negate=0 
-    ge rx449_pos, rx449_eos, rx449_fail
-    sub $I10, rx449_pos, rx449_off
-    substr $S10, rx449_tgt, $I10, 1
+    ge rx469_pos, rx469_eos, rx469_fail
+    sub $I10, rx469_pos, rx469_off
+    substr $S10, rx469_tgt, $I10, 1
     index $I11, "/_!", $S10
-    lt $I11, 0, rx449_fail
-    inc rx449_pos
-    set_addr $I10, rxcap_459_fail
-    ($I12, $I11) = rx449_cur."!mark_peek"($I10)
-    rx449_cur."!cursor_pos"($I11)
-    ($P10) = rx449_cur."!cursor_start"()
-    $P10."!cursor_pass"(rx449_pos, "")
-    rx449_cur."!mark_push"(0, -1, 0, $P10)
+    lt $I11, 0, rx469_fail
+    inc rx469_pos
+    set_addr $I10, rxcap_479_fail
+    ($I12, $I11) = rx469_cur."!mark_peek"($I10)
+    rx469_cur."!cursor_pos"($I11)
+    ($P10) = rx469_cur."!cursor_start"()
+    $P10."!cursor_pass"(rx469_pos, "")
+    rx469_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("desigilname")
-    goto rxcap_459_done
-  rxcap_459_fail:
-    goto rx449_fail
-  rxcap_459_done:
-  alt455_end:
-.annotate "line", 223
+    goto rxcap_479_done
+  rxcap_479_fail:
+    goto rx469_fail
+  rxcap_479_done:
+  alt475_end:
+.annotate "line", 233
   # rx pass
-    rx449_cur."!cursor_pass"(rx449_pos, "variable")
-    rx449_cur."!cursor_debug"("PASS  ", "variable", " at pos=", rx449_pos)
-    .return (rx449_cur)
-  rx449_fail:
+    rx469_cur."!cursor_pass"(rx469_pos, "variable")
+    rx469_cur."!cursor_debug"("PASS  ", "variable", " at pos=", rx469_pos)
+    .return (rx469_cur)
+  rx469_fail:
 .annotate "line", 4
-    (rx449_rep, rx449_pos, $I10, $P10) = rx449_cur."!mark_fail"(0)
-    lt rx449_pos, -1, rx449_done
-    eq rx449_pos, -1, rx449_fail
+    (rx469_rep, rx469_pos, $I10, $P10) = rx469_cur."!mark_fail"(0)
+    lt rx469_pos, -1, rx469_done
+    eq rx469_pos, -1, rx469_fail
     jump $I10
-  rx449_done:
-    rx449_cur."!cursor_fail"()
-    rx449_cur."!cursor_debug"("FAIL  ", "variable")
-    .return (rx449_cur)
+  rx469_done:
+    rx469_cur."!cursor_fail"()
+    rx469_cur."!cursor_debug"("FAIL  ", "variable")
+    .return (rx469_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__variable"  :subid("110_1259103982.97329") :method
+.sub "!PREFIX__variable"  :subid("114_1259177761.22934") :method
 .annotate "line", 4
-    $P451 = self."!PREFIX__!subrule"("sigil", "")
-    $P452 = self."!PREFIX__!subrule"("sigil", "")
-    new $P453, "ResizablePMCArray"
-    push $P453, "$!"
-    push $P453, "$_"
-    push $P453, "$/"
-    push $P453, $P451
-    push $P453, $P452
-    .return ($P453)
+    $P471 = self."!PREFIX__!subrule"("sigil", "")
+    $P472 = self."!PREFIX__!subrule"("sigil", "")
+    new $P473, "ResizablePMCArray"
+    push $P473, "$!"
+    push $P473, "$_"
+    push $P473, "$/"
+    push $P473, $P471
+    push $P473, $P472
+    .return ($P473)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "sigil"  :subid("111_1259103982.97329") :method :outer("11_1259103982.97329")
+.sub "sigil"  :subid("115_1259177761.22934") :method :outer("11_1259177761.22934")
 .annotate "line", 4
-    .local string rx461_tgt
-    .local int rx461_pos
-    .local int rx461_off
-    .local int rx461_eos
-    .local int rx461_rep
-    .local pmc rx461_cur
-    (rx461_cur, rx461_pos, rx461_tgt) = self."!cursor_start"()
-    rx461_cur."!cursor_debug"("START ", "sigil")
-    .lex unicode:"$\x{a2}", rx461_cur
-    .local pmc match
-    .lex "$/", match
-    length rx461_eos, rx461_tgt
-    set rx461_off, 0
-    lt rx461_pos, 2, rx461_start
-    sub rx461_off, rx461_pos, 1
-    substr rx461_tgt, rx461_tgt, rx461_off
-  rx461_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan464_done
-    goto rxscan464_scan
-  rxscan464_loop:
-    ($P10) = rx461_cur."from"()
-    inc $P10
-    set rx461_pos, $P10
-    ge rx461_pos, rx461_eos, rxscan464_done
-  rxscan464_scan:
-    set_addr $I10, rxscan464_loop
-    rx461_cur."!mark_push"(0, rx461_pos, $I10)
-  rxscan464_done:
-.annotate "line", 229
+    .local string rx481_tgt
+    .local int rx481_pos
+    .local int rx481_off
+    .local int rx481_eos
+    .local int rx481_rep
+    .local pmc rx481_cur
+    (rx481_cur, rx481_pos, rx481_tgt) = self."!cursor_start"()
+    rx481_cur."!cursor_debug"("START ", "sigil")
+    .lex unicode:"$\x{a2}", rx481_cur
+    .local pmc match
+    .lex "$/", match
+    length rx481_eos, rx481_tgt
+    set rx481_off, 0
+    lt rx481_pos, 2, rx481_start
+    sub rx481_off, rx481_pos, 1
+    substr rx481_tgt, rx481_tgt, rx481_off
+  rx481_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan484_done
+    goto rxscan484_scan
+  rxscan484_loop:
+    ($P10) = rx481_cur."from"()
+    inc $P10
+    set rx481_pos, $P10
+    ge rx481_pos, rx481_eos, rxscan484_done
+  rxscan484_scan:
+    set_addr $I10, rxscan484_loop
+    rx481_cur."!mark_push"(0, rx481_pos, $I10)
+  rxscan484_done:
+.annotate "line", 239
   # rx enumcharlist negate=0 
-    ge rx461_pos, rx461_eos, rx461_fail
-    sub $I10, rx461_pos, rx461_off
-    substr $S10, rx461_tgt, $I10, 1
+    ge rx481_pos, rx481_eos, rx481_fail
+    sub $I10, rx481_pos, rx481_off
+    substr $S10, rx481_tgt, $I10, 1
     index $I11, "$@%&", $S10
-    lt $I11, 0, rx461_fail
-    inc rx461_pos
+    lt $I11, 0, rx481_fail
+    inc rx481_pos
   # rx pass
-    rx461_cur."!cursor_pass"(rx461_pos, "sigil")
-    rx461_cur."!cursor_debug"("PASS  ", "sigil", " at pos=", rx461_pos)
-    .return (rx461_cur)
-  rx461_fail:
+    rx481_cur."!cursor_pass"(rx481_pos, "sigil")
+    rx481_cur."!cursor_debug"("PASS  ", "sigil", " at pos=", rx481_pos)
+    .return (rx481_cur)
+  rx481_fail:
 .annotate "line", 4
-    (rx461_rep, rx461_pos, $I10, $P10) = rx461_cur."!mark_fail"(0)
-    lt rx461_pos, -1, rx461_done
-    eq rx461_pos, -1, rx461_fail
+    (rx481_rep, rx481_pos, $I10, $P10) = rx481_cur."!mark_fail"(0)
+    lt rx481_pos, -1, rx481_done
+    eq rx481_pos, -1, rx481_fail
     jump $I10
-  rx461_done:
-    rx461_cur."!cursor_fail"()
-    rx461_cur."!cursor_debug"("FAIL  ", "sigil")
-    .return (rx461_cur)
+  rx481_done:
+    rx481_cur."!cursor_fail"()
+    rx481_cur."!cursor_debug"("FAIL  ", "sigil")
+    .return (rx481_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__sigil"  :subid("112_1259103982.97329") :method
+.sub "!PREFIX__sigil"  :subid("116_1259177761.22934") :method
 .annotate "line", 4
-    new $P463, "ResizablePMCArray"
-    push $P463, "&"
-    push $P463, "%"
-    push $P463, "@"
-    push $P463, "$"
-    .return ($P463)
+    new $P483, "ResizablePMCArray"
+    push $P483, "&"
+    push $P483, "%"
+    push $P483, "@"
+    push $P483, "$"
+    .return ($P483)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "twigil"  :subid("113_1259103982.97329") :method :outer("11_1259103982.97329")
+.sub "twigil"  :subid("117_1259177761.22934") :method :outer("11_1259177761.22934")
 .annotate "line", 4
-    .local string rx466_tgt
-    .local int rx466_pos
-    .local int rx466_off
-    .local int rx466_eos
-    .local int rx466_rep
-    .local pmc rx466_cur
-    (rx466_cur, rx466_pos, rx466_tgt) = self."!cursor_start"()
-    rx466_cur."!cursor_debug"("START ", "twigil")
-    .lex unicode:"$\x{a2}", rx466_cur
+    .local string rx486_tgt
+    .local int rx486_pos
+    .local int rx486_off
+    .local int rx486_eos
+    .local int rx486_rep
+    .local pmc rx486_cur
+    (rx486_cur, rx486_pos, rx486_tgt) = self."!cursor_start"()
+    rx486_cur."!cursor_debug"("START ", "twigil")
+    .lex unicode:"$\x{a2}", rx486_cur
     .local pmc match
     .lex "$/", match
-    length rx466_eos, rx466_tgt
-    set rx466_off, 0
-    lt rx466_pos, 2, rx466_start
-    sub rx466_off, rx466_pos, 1
-    substr rx466_tgt, rx466_tgt, rx466_off
-  rx466_start:
+    length rx486_eos, rx486_tgt
+    set rx486_off, 0
+    lt rx486_pos, 2, rx486_start
+    sub rx486_off, rx486_pos, 1
+    substr rx486_tgt, rx486_tgt, rx486_off
+  rx486_start:
     $I10 = self.'from'()
-    ne $I10, -1, rxscan469_done
-    goto rxscan469_scan
-  rxscan469_loop:
-    ($P10) = rx466_cur."from"()
+    ne $I10, -1, rxscan489_done
+    goto rxscan489_scan
+  rxscan489_loop:
+    ($P10) = rx486_cur."from"()
     inc $P10
-    set rx466_pos, $P10
-    ge rx466_pos, rx466_eos, rxscan469_done
-  rxscan469_scan:
-    set_addr $I10, rxscan469_loop
-    rx466_cur."!mark_push"(0, rx466_pos, $I10)
-  rxscan469_done:
-.annotate "line", 231
+    set rx486_pos, $P10
+    ge rx486_pos, rx486_eos, rxscan489_done
+  rxscan489_scan:
+    set_addr $I10, rxscan489_loop
+    rx486_cur."!mark_push"(0, rx486_pos, $I10)
+  rxscan489_done:
+.annotate "line", 241
   # rx enumcharlist negate=0 
-    ge rx466_pos, rx466_eos, rx466_fail
-    sub $I10, rx466_pos, rx466_off
-    substr $S10, rx466_tgt, $I10, 1
+    ge rx486_pos, rx486_eos, rx486_fail
+    sub $I10, rx486_pos, rx486_off
+    substr $S10, rx486_tgt, $I10, 1
     index $I11, "*!?", $S10
-    lt $I11, 0, rx466_fail
-    inc rx466_pos
+    lt $I11, 0, rx486_fail
+    inc rx486_pos
   # rx pass
-    rx466_cur."!cursor_pass"(rx466_pos, "twigil")
-    rx466_cur."!cursor_debug"("PASS  ", "twigil", " at pos=", rx466_pos)
-    .return (rx466_cur)
-  rx466_fail:
+    rx486_cur."!cursor_pass"(rx486_pos, "twigil")
+    rx486_cur."!cursor_debug"("PASS  ", "twigil", " at pos=", rx486_pos)
+    .return (rx486_cur)
+  rx486_fail:
 .annotate "line", 4
-    (rx466_rep, rx466_pos, $I10, $P10) = rx466_cur."!mark_fail"(0)
-    lt rx466_pos, -1, rx466_done
-    eq rx466_pos, -1, rx466_fail
+    (rx486_rep, rx486_pos, $I10, $P10) = rx486_cur."!mark_fail"(0)
+    lt rx486_pos, -1, rx486_done
+    eq rx486_pos, -1, rx486_fail
     jump $I10
-  rx466_done:
-    rx466_cur."!cursor_fail"()
-    rx466_cur."!cursor_debug"("FAIL  ", "twigil")
-    .return (rx466_cur)
+  rx486_done:
+    rx486_cur."!cursor_fail"()
+    rx486_cur."!cursor_debug"("FAIL  ", "twigil")
+    .return (rx486_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__twigil"  :subid("114_1259103982.97329") :method
+.sub "!PREFIX__twigil"  :subid("118_1259177761.22934") :method
 .annotate "line", 4
-    new $P468, "ResizablePMCArray"
-    push $P468, "?"
-    push $P468, "!"
-    push $P468, "*"
-    .return ($P468)
+    new $P488, "ResizablePMCArray"
+    push $P488, "?"
+    push $P488, "!"
+    push $P488, "*"
+    .return ($P488)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "package_declarator"  :subid("115_1259103982.97329") :method
-.annotate "line", 233
-    $P471 = self."!protoregex"("package_declarator")
-    .return ($P471)
+.sub "package_declarator"  :subid("119_1259177761.22934") :method
+.annotate "line", 243
+    $P491 = self."!protoregex"("package_declarator")
+    .return ($P491)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__package_declarator"  :subid("116_1259103982.97329") :method
-.annotate "line", 233
-    $P473 = self."!PREFIX__!protoregex"("package_declarator")
-    .return ($P473)
+.sub "!PREFIX__package_declarator"  :subid("120_1259177761.22934") :method
+.annotate "line", 243
+    $P493 = self."!PREFIX__!protoregex"("package_declarator")
+    .return ($P493)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "package_declarator:sym<module>"  :subid("117_1259103982.97329") :method :outer("11_1259103982.97329")
+.sub "package_declarator:sym<module>"  :subid("121_1259177761.22934") :method :outer("11_1259177761.22934")
 .annotate "line", 4
-    .local string rx475_tgt
-    .local int rx475_pos
-    .local int rx475_off
-    .local int rx475_eos
-    .local int rx475_rep
-    .local pmc rx475_cur
-    (rx475_cur, rx475_pos, rx475_tgt) = self."!cursor_start"()
-    rx475_cur."!cursor_debug"("START ", "package_declarator:sym<module>")
-    .lex unicode:"$\x{a2}", rx475_cur
-    .local pmc match
-    .lex "$/", match
-    length rx475_eos, rx475_tgt
-    set rx475_off, 0
-    lt rx475_pos, 2, rx475_start
-    sub rx475_off, rx475_pos, 1
-    substr rx475_tgt, rx475_tgt, rx475_off
-  rx475_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan479_done
-    goto rxscan479_scan
-  rxscan479_loop:
-    ($P10) = rx475_cur."from"()
-    inc $P10
-    set rx475_pos, $P10
-    ge rx475_pos, rx475_eos, rxscan479_done
-  rxscan479_scan:
-    set_addr $I10, rxscan479_loop
-    rx475_cur."!mark_push"(0, rx475_pos, $I10)
-  rxscan479_done:
-.annotate "line", 234
+    .local string rx495_tgt
+    .local int rx495_pos
+    .local int rx495_off
+    .local int rx495_eos
+    .local int rx495_rep
+    .local pmc rx495_cur
+    (rx495_cur, rx495_pos, rx495_tgt) = self."!cursor_start"()
+    rx495_cur."!cursor_debug"("START ", "package_declarator:sym<module>")
+    .lex unicode:"$\x{a2}", rx495_cur
+    .local pmc match
+    .lex "$/", match
+    length rx495_eos, rx495_tgt
+    set rx495_off, 0
+    lt rx495_pos, 2, rx495_start
+    sub rx495_off, rx495_pos, 1
+    substr rx495_tgt, rx495_tgt, rx495_off
+  rx495_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan499_done
+    goto rxscan499_scan
+  rxscan499_loop:
+    ($P10) = rx495_cur."from"()
+    inc $P10
+    set rx495_pos, $P10
+    ge rx495_pos, rx495_eos, rxscan499_done
+  rxscan499_scan:
+    set_addr $I10, rxscan499_loop
+    rx495_cur."!mark_push"(0, rx495_pos, $I10)
+  rxscan499_done:
+.annotate "line", 244
   # rx subcapture "sym"
-    set_addr $I10, rxcap_480_fail
-    rx475_cur."!mark_push"(0, rx475_pos, $I10)
+    set_addr $I10, rxcap_500_fail
+    rx495_cur."!mark_push"(0, rx495_pos, $I10)
   # rx literal  "module"
-    add $I11, rx475_pos, 6
-    gt $I11, rx475_eos, rx475_fail
-    sub $I11, rx475_pos, rx475_off
-    substr $S10, rx475_tgt, $I11, 6
-    ne $S10, "module", rx475_fail
-    add rx475_pos, 6
-    set_addr $I10, rxcap_480_fail
-    ($I12, $I11) = rx475_cur."!mark_peek"($I10)
-    rx475_cur."!cursor_pos"($I11)
-    ($P10) = rx475_cur."!cursor_start"()
-    $P10."!cursor_pass"(rx475_pos, "")
-    rx475_cur."!mark_push"(0, -1, 0, $P10)
+    add $I11, rx495_pos, 6
+    gt $I11, rx495_eos, rx495_fail
+    sub $I11, rx495_pos, rx495_off
+    substr $S10, rx495_tgt, $I11, 6
+    ne $S10, "module", rx495_fail
+    add rx495_pos, 6
+    set_addr $I10, rxcap_500_fail
+    ($I12, $I11) = rx495_cur."!mark_peek"($I10)
+    rx495_cur."!cursor_pos"($I11)
+    ($P10) = rx495_cur."!cursor_start"()
+    $P10."!cursor_pass"(rx495_pos, "")
+    rx495_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("sym")
-    goto rxcap_480_done
-  rxcap_480_fail:
-    goto rx475_fail
-  rxcap_480_done:
+    goto rxcap_500_done
+  rxcap_500_fail:
+    goto rx495_fail
+  rxcap_500_done:
   # rx subrule "package_def" subtype=capture negate=
-    rx475_cur."!cursor_pos"(rx475_pos)
-    $P10 = rx475_cur."package_def"()
-    unless $P10, rx475_fail
-    rx475_cur."!mark_push"(0, -1, 0, $P10)
+    rx495_cur."!cursor_pos"(rx495_pos)
+    $P10 = rx495_cur."package_def"()
+    unless $P10, rx495_fail
+    rx495_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("package_def")
-    rx475_pos = $P10."pos"()
+    rx495_pos = $P10."pos"()
   # rx pass
-    rx475_cur."!cursor_pass"(rx475_pos, "package_declarator:sym<module>")
-    rx475_cur."!cursor_debug"("PASS  ", "package_declarator:sym<module>", " at pos=", rx475_pos)
-    .return (rx475_cur)
-  rx475_fail:
+    rx495_cur."!cursor_pass"(rx495_pos, "package_declarator:sym<module>")
+    rx495_cur."!cursor_debug"("PASS  ", "package_declarator:sym<module>", " at pos=", rx495_pos)
+    .return (rx495_cur)
+  rx495_fail:
 .annotate "line", 4
-    (rx475_rep, rx475_pos, $I10, $P10) = rx475_cur."!mark_fail"(0)
-    lt rx475_pos, -1, rx475_done
-    eq rx475_pos, -1, rx475_fail
+    (rx495_rep, rx495_pos, $I10, $P10) = rx495_cur."!mark_fail"(0)
+    lt rx495_pos, -1, rx495_done
+    eq rx495_pos, -1, rx495_fail
     jump $I10
-  rx475_done:
-    rx475_cur."!cursor_fail"()
-    rx475_cur."!cursor_debug"("FAIL  ", "package_declarator:sym<module>")
-    .return (rx475_cur)
+  rx495_done:
+    rx495_cur."!cursor_fail"()
+    rx495_cur."!cursor_debug"("FAIL  ", "package_declarator:sym<module>")
+    .return (rx495_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__package_declarator:sym<module>"  :subid("118_1259103982.97329") :method
+.sub "!PREFIX__package_declarator:sym<module>"  :subid("122_1259177761.22934") :method
 .annotate "line", 4
-    $P477 = self."!PREFIX__!subrule"("package_def", "module")
-    new $P478, "ResizablePMCArray"
-    push $P478, $P477
-    .return ($P478)
+    $P497 = self."!PREFIX__!subrule"("package_def", "module")
+    new $P498, "ResizablePMCArray"
+    push $P498, $P497
+    .return ($P498)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "package_declarator:sym<class>"  :subid("119_1259103982.97329") :method :outer("11_1259103982.97329")
+.sub "package_declarator:sym<class>"  :subid("123_1259177761.22934") :method :outer("11_1259177761.22934")
 .annotate "line", 4
-    .local string rx482_tgt
-    .local int rx482_pos
-    .local int rx482_off
-    .local int rx482_eos
-    .local int rx482_rep
-    .local pmc rx482_cur
-    (rx482_cur, rx482_pos, rx482_tgt) = self."!cursor_start"()
-    rx482_cur."!cursor_debug"("START ", "package_declarator:sym<class>")
-    .lex unicode:"$\x{a2}", rx482_cur
+    .local string rx502_tgt
+    .local int rx502_pos
+    .local int rx502_off
+    .local int rx502_eos
+    .local int rx502_rep
+    .local pmc rx502_cur
+    (rx502_cur, rx502_pos, rx502_tgt) = self."!cursor_start"()
+    rx502_cur."!cursor_debug"("START ", "package_declarator:sym<class>")
+    .lex unicode:"$\x{a2}", rx502_cur
     .local pmc match
     .lex "$/", match
-    length rx482_eos, rx482_tgt
-    set rx482_off, 0
-    lt rx482_pos, 2, rx482_start
-    sub rx482_off, rx482_pos, 1
-    substr rx482_tgt, rx482_tgt, rx482_off
-  rx482_start:
+    length rx502_eos, rx502_tgt
+    set rx502_off, 0
+    lt rx502_pos, 2, rx502_start
+    sub rx502_off, rx502_pos, 1
+    substr rx502_tgt, rx502_tgt, rx502_off
+  rx502_start:
     $I10 = self.'from'()
-    ne $I10, -1, rxscan487_done
-    goto rxscan487_scan
-  rxscan487_loop:
-    ($P10) = rx482_cur."from"()
+    ne $I10, -1, rxscan507_done
+    goto rxscan507_scan
+  rxscan507_loop:
+    ($P10) = rx502_cur."from"()
     inc $P10
-    set rx482_pos, $P10
-    ge rx482_pos, rx482_eos, rxscan487_done
-  rxscan487_scan:
-    set_addr $I10, rxscan487_loop
-    rx482_cur."!mark_push"(0, rx482_pos, $I10)
-  rxscan487_done:
-.annotate "line", 235
+    set rx502_pos, $P10
+    ge rx502_pos, rx502_eos, rxscan507_done
+  rxscan507_scan:
+    set_addr $I10, rxscan507_loop
+    rx502_cur."!mark_push"(0, rx502_pos, $I10)
+  rxscan507_done:
+.annotate "line", 245
   # rx subcapture "sym"
-    set_addr $I10, rxcap_489_fail
-    rx482_cur."!mark_push"(0, rx482_pos, $I10)
-  alt488_0:
-    set_addr $I10, alt488_1
-    rx482_cur."!mark_push"(0, rx482_pos, $I10)
+    set_addr $I10, rxcap_509_fail
+    rx502_cur."!mark_push"(0, rx502_pos, $I10)
+  alt508_0:
+    set_addr $I10, alt508_1
+    rx502_cur."!mark_push"(0, rx502_pos, $I10)
   # rx literal  "class"
-    add $I11, rx482_pos, 5
-    gt $I11, rx482_eos, rx482_fail
-    sub $I11, rx482_pos, rx482_off
-    substr $S10, rx482_tgt, $I11, 5
-    ne $S10, "class", rx482_fail
-    add rx482_pos, 5
-    goto alt488_end
-  alt488_1:
+    add $I11, rx502_pos, 5
+    gt $I11, rx502_eos, rx502_fail
+    sub $I11, rx502_pos, rx502_off
+    substr $S10, rx502_tgt, $I11, 5
+    ne $S10, "class", rx502_fail
+    add rx502_pos, 5
+    goto alt508_end
+  alt508_1:
   # rx literal  "grammar"
-    add $I11, rx482_pos, 7
-    gt $I11, rx482_eos, rx482_fail
-    sub $I11, rx482_pos, rx482_off
-    substr $S10, rx482_tgt, $I11, 7
-    ne $S10, "grammar", rx482_fail
-    add rx482_pos, 7
-  alt488_end:
-    set_addr $I10, rxcap_489_fail
-    ($I12, $I11) = rx482_cur."!mark_peek"($I10)
-    rx482_cur."!cursor_pos"($I11)
-    ($P10) = rx482_cur."!cursor_start"()
-    $P10."!cursor_pass"(rx482_pos, "")
-    rx482_cur."!mark_push"(0, -1, 0, $P10)
+    add $I11, rx502_pos, 7
+    gt $I11, rx502_eos, rx502_fail
+    sub $I11, rx502_pos, rx502_off
+    substr $S10, rx502_tgt, $I11, 7
+    ne $S10, "grammar", rx502_fail
+    add rx502_pos, 7
+  alt508_end:
+    set_addr $I10, rxcap_509_fail
+    ($I12, $I11) = rx502_cur."!mark_peek"($I10)
+    rx502_cur."!cursor_pos"($I11)
+    ($P10) = rx502_cur."!cursor_start"()
+    $P10."!cursor_pass"(rx502_pos, "")
+    rx502_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("sym")
-    goto rxcap_489_done
-  rxcap_489_fail:
-    goto rx482_fail
-  rxcap_489_done:
+    goto rxcap_509_done
+  rxcap_509_fail:
+    goto rx502_fail
+  rxcap_509_done:
   # rx subrule "package_def" subtype=capture negate=
-    rx482_cur."!cursor_pos"(rx482_pos)
-    $P10 = rx482_cur."package_def"()
-    unless $P10, rx482_fail
-    rx482_cur."!mark_push"(0, -1, 0, $P10)
+    rx502_cur."!cursor_pos"(rx502_pos)
+    $P10 = rx502_cur."package_def"()
+    unless $P10, rx502_fail
+    rx502_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("package_def")
-    rx482_pos = $P10."pos"()
+    rx502_pos = $P10."pos"()
   # rx pass
-    rx482_cur."!cursor_pass"(rx482_pos, "package_declarator:sym<class>")
-    rx482_cur."!cursor_debug"("PASS  ", "package_declarator:sym<class>", " at pos=", rx482_pos)
-    .return (rx482_cur)
-  rx482_fail:
+    rx502_cur."!cursor_pass"(rx502_pos, "package_declarator:sym<class>")
+    rx502_cur."!cursor_debug"("PASS  ", "package_declarator:sym<class>", " at pos=", rx502_pos)
+    .return (rx502_cur)
+  rx502_fail:
 .annotate "line", 4
-    (rx482_rep, rx482_pos, $I10, $P10) = rx482_cur."!mark_fail"(0)
-    lt rx482_pos, -1, rx482_done
-    eq rx482_pos, -1, rx482_fail
+    (rx502_rep, rx502_pos, $I10, $P10) = rx502_cur."!mark_fail"(0)
+    lt rx502_pos, -1, rx502_done
+    eq rx502_pos, -1, rx502_fail
     jump $I10
-  rx482_done:
-    rx482_cur."!cursor_fail"()
-    rx482_cur."!cursor_debug"("FAIL  ", "package_declarator:sym<class>")
-    .return (rx482_cur)
+  rx502_done:
+    rx502_cur."!cursor_fail"()
+    rx502_cur."!cursor_debug"("FAIL  ", "package_declarator:sym<class>")
+    .return (rx502_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__package_declarator:sym<class>"  :subid("120_1259103982.97329") :method
+.sub "!PREFIX__package_declarator:sym<class>"  :subid("124_1259177761.22934") :method
 .annotate "line", 4
-    $P484 = self."!PREFIX__!subrule"("package_def", "grammar")
-    $P485 = self."!PREFIX__!subrule"("package_def", "class")
-    new $P486, "ResizablePMCArray"
-    push $P486, $P484
-    push $P486, $P485
-    .return ($P486)
+    $P504 = self."!PREFIX__!subrule"("package_def", "grammar")
+    $P505 = self."!PREFIX__!subrule"("package_def", "class")
+    new $P506, "ResizablePMCArray"
+    push $P506, $P504
+    push $P506, $P505
+    .return ($P506)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "package_def"  :subid("121_1259103982.97329") :method :outer("11_1259103982.97329")
+.sub "package_def"  :subid("125_1259177761.22934") :method :outer("11_1259177761.22934")
 .annotate "line", 4
-    .local string rx491_tgt
-    .local int rx491_pos
-    .local int rx491_off
-    .local int rx491_eos
-    .local int rx491_rep
-    .local pmc rx491_cur
-    (rx491_cur, rx491_pos, rx491_tgt) = self."!cursor_start"()
-    rx491_cur."!cursor_debug"("START ", "package_def")
-    rx491_cur."!cursor_caparray"("parent")
-    .lex unicode:"$\x{a2}", rx491_cur
+    .local string rx511_tgt
+    .local int rx511_pos
+    .local int rx511_off
+    .local int rx511_eos
+    .local int rx511_rep
+    .local pmc rx511_cur
+    (rx511_cur, rx511_pos, rx511_tgt) = self."!cursor_start"()
+    rx511_cur."!cursor_debug"("START ", "package_def")
+    rx511_cur."!cursor_caparray"("parent")
+    .lex unicode:"$\x{a2}", rx511_cur
     .local pmc match
     .lex "$/", match
-    length rx491_eos, rx491_tgt
-    set rx491_off, 0
-    lt rx491_pos, 2, rx491_start
-    sub rx491_off, rx491_pos, 1
-    substr rx491_tgt, rx491_tgt, rx491_off
-  rx491_start:
+    length rx511_eos, rx511_tgt
+    set rx511_off, 0
+    lt rx511_pos, 2, rx511_start
+    sub rx511_off, rx511_pos, 1
+    substr rx511_tgt, rx511_tgt, rx511_off
+  rx511_start:
     $I10 = self.'from'()
-    ne $I10, -1, rxscan494_done
-    goto rxscan494_scan
-  rxscan494_loop:
-    ($P10) = rx491_cur."from"()
+    ne $I10, -1, rxscan514_done
+    goto rxscan514_scan
+  rxscan514_loop:
+    ($P10) = rx511_cur."from"()
     inc $P10
-    set rx491_pos, $P10
-    ge rx491_pos, rx491_eos, rxscan494_done
-  rxscan494_scan:
-    set_addr $I10, rxscan494_loop
-    rx491_cur."!mark_push"(0, rx491_pos, $I10)
-  rxscan494_done:
-.annotate "line", 237
+    set rx511_pos, $P10
+    ge rx511_pos, rx511_eos, rxscan514_done
+  rxscan514_scan:
+    set_addr $I10, rxscan514_loop
+    rx511_cur."!mark_push"(0, rx511_pos, $I10)
+  rxscan514_done:
+.annotate "line", 247
   # rx subrule "ws" subtype=method negate=
-    rx491_cur."!cursor_pos"(rx491_pos)
-    $P10 = rx491_cur."ws"()
-    unless $P10, rx491_fail
-    rx491_pos = $P10."pos"()
-.annotate "line", 238
+    rx511_cur."!cursor_pos"(rx511_pos)
+    $P10 = rx511_cur."ws"()
+    unless $P10, rx511_fail
+    rx511_pos = $P10."pos"()
+.annotate "line", 248
   # rx subrule "name" subtype=capture negate=
-    rx491_cur."!cursor_pos"(rx491_pos)
-    $P10 = rx491_cur."name"()
-    unless $P10, rx491_fail
-    rx491_cur."!mark_push"(0, -1, 0, $P10)
+    rx511_cur."!cursor_pos"(rx511_pos)
+    $P10 = rx511_cur."name"()
+    unless $P10, rx511_fail
+    rx511_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("name")
-    rx491_pos = $P10."pos"()
+    rx511_pos = $P10."pos"()
   # rx subrule "ws" subtype=method negate=
-    rx491_cur."!cursor_pos"(rx491_pos)
-    $P10 = rx491_cur."ws"()
-    unless $P10, rx491_fail
-    rx491_pos = $P10."pos"()
-.annotate "line", 239
-  # rx rxquantr497 ** 0..1
-    set_addr $I501, rxquantr497_done
-    rx491_cur."!mark_push"(0, rx491_pos, $I501)
-  rxquantr497_loop:
-  # rx subrule "ws" subtype=method negate=
-    rx491_cur."!cursor_pos"(rx491_pos)
-    $P10 = rx491_cur."ws"()
-    unless $P10, rx491_fail
-    rx491_pos = $P10."pos"()
+    rx511_cur."!cursor_pos"(rx511_pos)
+    $P10 = rx511_cur."ws"()
+    unless $P10, rx511_fail
+    rx511_pos = $P10."pos"()
+.annotate "line", 249
+  # rx rxquantr517 ** 0..1
+    set_addr $I521, rxquantr517_done
+    rx511_cur."!mark_push"(0, rx511_pos, $I521)
+  rxquantr517_loop:
+  # rx subrule "ws" subtype=method negate=
+    rx511_cur."!cursor_pos"(rx511_pos)
+    $P10 = rx511_cur."ws"()
+    unless $P10, rx511_fail
+    rx511_pos = $P10."pos"()
   # rx literal  "is"
-    add $I11, rx491_pos, 2
-    gt $I11, rx491_eos, rx491_fail
-    sub $I11, rx491_pos, rx491_off
-    substr $S10, rx491_tgt, $I11, 2
-    ne $S10, "is", rx491_fail
-    add rx491_pos, 2
-  # rx subrule "ws" subtype=method negate=
-    rx491_cur."!cursor_pos"(rx491_pos)
-    $P10 = rx491_cur."ws"()
-    unless $P10, rx491_fail
-    rx491_pos = $P10."pos"()
+    add $I11, rx511_pos, 2
+    gt $I11, rx511_eos, rx511_fail
+    sub $I11, rx511_pos, rx511_off
+    substr $S10, rx511_tgt, $I11, 2
+    ne $S10, "is", rx511_fail
+    add rx511_pos, 2
+  # rx subrule "ws" subtype=method negate=
+    rx511_cur."!cursor_pos"(rx511_pos)
+    $P10 = rx511_cur."ws"()
+    unless $P10, rx511_fail
+    rx511_pos = $P10."pos"()
   # rx subrule "name" subtype=capture negate=
-    rx491_cur."!cursor_pos"(rx491_pos)
-    $P10 = rx491_cur."name"()
-    unless $P10, rx491_fail
-    rx491_cur."!mark_push"(0, -1, 0, $P10)
+    rx511_cur."!cursor_pos"(rx511_pos)
+    $P10 = rx511_cur."name"()
+    unless $P10, rx511_fail
+    rx511_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("parent")
-    rx491_pos = $P10."pos"()
+    rx511_pos = $P10."pos"()
   # rx subrule "ws" subtype=method negate=
-    rx491_cur."!cursor_pos"(rx491_pos)
-    $P10 = rx491_cur."ws"()
-    unless $P10, rx491_fail
-    rx491_pos = $P10."pos"()
-    (rx491_rep) = rx491_cur."!mark_commit"($I501)
-  rxquantr497_done:
-  # rx subrule "ws" subtype=method negate=
-    rx491_cur."!cursor_pos"(rx491_pos)
-    $P10 = rx491_cur."ws"()
-    unless $P10, rx491_fail
-    rx491_pos = $P10."pos"()
-  alt503_0:
-.annotate "line", 240
-    set_addr $I10, alt503_1
-    rx491_cur."!mark_push"(0, rx491_pos, $I10)
-.annotate "line", 241
-  # rx subrule "ws" subtype=method negate=
-    rx491_cur."!cursor_pos"(rx491_pos)
-    $P10 = rx491_cur."ws"()
-    unless $P10, rx491_fail
-    rx491_pos = $P10."pos"()
+    rx511_cur."!cursor_pos"(rx511_pos)
+    $P10 = rx511_cur."ws"()
+    unless $P10, rx511_fail
+    rx511_pos = $P10."pos"()
+    (rx511_rep) = rx511_cur."!mark_commit"($I521)
+  rxquantr517_done:
+  # rx subrule "ws" subtype=method negate=
+    rx511_cur."!cursor_pos"(rx511_pos)
+    $P10 = rx511_cur."ws"()
+    unless $P10, rx511_fail
+    rx511_pos = $P10."pos"()
+  alt523_0:
+.annotate "line", 250
+    set_addr $I10, alt523_1
+    rx511_cur."!mark_push"(0, rx511_pos, $I10)
+.annotate "line", 251
+  # rx subrule "ws" subtype=method negate=
+    rx511_cur."!cursor_pos"(rx511_pos)
+    $P10 = rx511_cur."ws"()
+    unless $P10, rx511_fail
+    rx511_pos = $P10."pos"()
   # rx literal  ";"
-    add $I11, rx491_pos, 1
-    gt $I11, rx491_eos, rx491_fail
-    sub $I11, rx491_pos, rx491_off
-    substr $S10, rx491_tgt, $I11, 1
-    ne $S10, ";", rx491_fail
-    add rx491_pos, 1
-  # rx subrule "ws" subtype=method negate=
-    rx491_cur."!cursor_pos"(rx491_pos)
-    $P10 = rx491_cur."ws"()
-    unless $P10, rx491_fail
-    rx491_pos = $P10."pos"()
+    add $I11, rx511_pos, 1
+    gt $I11, rx511_eos, rx511_fail
+    sub $I11, rx511_pos, rx511_off
+    substr $S10, rx511_tgt, $I11, 1
+    ne $S10, ";", rx511_fail
+    add rx511_pos, 1
+  # rx subrule "ws" subtype=method negate=
+    rx511_cur."!cursor_pos"(rx511_pos)
+    $P10 = rx511_cur."ws"()
+    unless $P10, rx511_fail
+    rx511_pos = $P10."pos"()
   # rx subrule "comp_unit" subtype=capture negate=
-    rx491_cur."!cursor_pos"(rx491_pos)
-    $P10 = rx491_cur."comp_unit"()
-    unless $P10, rx491_fail
-    rx491_cur."!mark_push"(0, -1, 0, $P10)
+    rx511_cur."!cursor_pos"(rx511_pos)
+    $P10 = rx511_cur."comp_unit"()
+    unless $P10, rx511_fail
+    rx511_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("comp_unit")
-    rx491_pos = $P10."pos"()
+    rx511_pos = $P10."pos"()
+  # rx subrule "ws" subtype=method negate=
+    rx511_cur."!cursor_pos"(rx511_pos)
+    $P10 = rx511_cur."ws"()
+    unless $P10, rx511_fail
+    rx511_pos = $P10."pos"()
+    goto alt523_end
+  alt523_1:
+    set_addr $I10, alt523_2
+    rx511_cur."!mark_push"(0, rx511_pos, $I10)
+.annotate "line", 252
   # rx subrule "ws" subtype=method negate=
-    rx491_cur."!cursor_pos"(rx491_pos)
-    $P10 = rx491_cur."ws"()
-    unless $P10, rx491_fail
-    rx491_pos = $P10."pos"()
-    goto alt503_end
-  alt503_1:
-    set_addr $I10, alt503_2
-    rx491_cur."!mark_push"(0, rx491_pos, $I10)
-.annotate "line", 242
-  # rx subrule "ws" subtype=method negate=
-    rx491_cur."!cursor_pos"(rx491_pos)
-    $P10 = rx491_cur."ws"()
-    unless $P10, rx491_fail
-    rx491_pos = $P10."pos"()
+    rx511_cur."!cursor_pos"(rx511_pos)
+    $P10 = rx511_cur."ws"()
+    unless $P10, rx511_fail
+    rx511_pos = $P10."pos"()
   # rx enumcharlist negate=0 zerowidth
-    ge rx491_pos, rx491_eos, rx491_fail
-    sub $I10, rx491_pos, rx491_off
-    substr $S10, rx491_tgt, $I10, 1
+    ge rx511_pos, rx511_eos, rx511_fail
+    sub $I10, rx511_pos, rx511_off
+    substr $S10, rx511_tgt, $I10, 1
     index $I11, "{", $S10
-    lt $I11, 0, rx491_fail
+    lt $I11, 0, rx511_fail
   # rx subrule "ws" subtype=method negate=
-    rx491_cur."!cursor_pos"(rx491_pos)
-    $P10 = rx491_cur."ws"()
-    unless $P10, rx491_fail
-    rx491_pos = $P10."pos"()
+    rx511_cur."!cursor_pos"(rx511_pos)
+    $P10 = rx511_cur."ws"()
+    unless $P10, rx511_fail
+    rx511_pos = $P10."pos"()
   # rx subrule "block" subtype=capture negate=
-    rx491_cur."!cursor_pos"(rx491_pos)
-    $P10 = rx491_cur."block"()
-    unless $P10, rx491_fail
-    rx491_cur."!mark_push"(0, -1, 0, $P10)
+    rx511_cur."!cursor_pos"(rx511_pos)
+    $P10 = rx511_cur."block"()
+    unless $P10, rx511_fail
+    rx511_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("block")
-    rx491_pos = $P10."pos"()
+    rx511_pos = $P10."pos"()
   # rx subrule "ws" subtype=method negate=
-    rx491_cur."!cursor_pos"(rx491_pos)
-    $P10 = rx491_cur."ws"()
-    unless $P10, rx491_fail
-    rx491_pos = $P10."pos"()
-    goto alt503_end
-  alt503_2:
-.annotate "line", 243
+    rx511_cur."!cursor_pos"(rx511_pos)
+    $P10 = rx511_cur."ws"()
+    unless $P10, rx511_fail
+    rx511_pos = $P10."pos"()
+    goto alt523_end
+  alt523_2:
+.annotate "line", 253
   # rx subrule "ws" subtype=method negate=
-    rx491_cur."!cursor_pos"(rx491_pos)
-    $P10 = rx491_cur."ws"()
-    unless $P10, rx491_fail
-    rx491_pos = $P10."pos"()
+    rx511_cur."!cursor_pos"(rx511_pos)
+    $P10 = rx511_cur."ws"()
+    unless $P10, rx511_fail
+    rx511_pos = $P10."pos"()
   # rx subrule "panic" subtype=method negate=
-    rx491_cur."!cursor_pos"(rx491_pos)
-    $P10 = rx491_cur."panic"("Malformed package declaration")
-    unless $P10, rx491_fail
-    rx491_pos = $P10."pos"()
-  # rx subrule "ws" subtype=method negate=
-    rx491_cur."!cursor_pos"(rx491_pos)
-    $P10 = rx491_cur."ws"()
-    unless $P10, rx491_fail
-    rx491_pos = $P10."pos"()
-  alt503_end:
-.annotate "line", 244
+    rx511_cur."!cursor_pos"(rx511_pos)
+    $P10 = rx511_cur."panic"("Malformed package declaration")
+    unless $P10, rx511_fail
+    rx511_pos = $P10."pos"()
+  # rx subrule "ws" subtype=method negate=
+    rx511_cur."!cursor_pos"(rx511_pos)
+    $P10 = rx511_cur."ws"()
+    unless $P10, rx511_fail
+    rx511_pos = $P10."pos"()
+  alt523_end:
+.annotate "line", 254
   # rx subrule "ws" subtype=method negate=
-    rx491_cur."!cursor_pos"(rx491_pos)
-    $P10 = rx491_cur."ws"()
-    unless $P10, rx491_fail
-    rx491_pos = $P10."pos"()
-.annotate "line", 237
+    rx511_cur."!cursor_pos"(rx511_pos)
+    $P10 = rx511_cur."ws"()
+    unless $P10, rx511_fail
+    rx511_pos = $P10."pos"()
+.annotate "line", 247
   # rx pass
-    rx491_cur."!cursor_pass"(rx491_pos, "package_def")
-    rx491_cur."!cursor_debug"("PASS  ", "package_def", " at pos=", rx491_pos)
-    .return (rx491_cur)
-  rx491_fail:
+    rx511_cur."!cursor_pass"(rx511_pos, "package_def")
+    rx511_cur."!cursor_debug"("PASS  ", "package_def", " at pos=", rx511_pos)
+    .return (rx511_cur)
+  rx511_fail:
 .annotate "line", 4
-    (rx491_rep, rx491_pos, $I10, $P10) = rx491_cur."!mark_fail"(0)
-    lt rx491_pos, -1, rx491_done
-    eq rx491_pos, -1, rx491_fail
+    (rx511_rep, rx511_pos, $I10, $P10) = rx511_cur."!mark_fail"(0)
+    lt rx511_pos, -1, rx511_done
+    eq rx511_pos, -1, rx511_fail
     jump $I10
-  rx491_done:
-    rx491_cur."!cursor_fail"()
-    rx491_cur."!cursor_debug"("FAIL  ", "package_def")
-    .return (rx491_cur)
+  rx511_done:
+    rx511_cur."!cursor_fail"()
+    rx511_cur."!cursor_debug"("FAIL  ", "package_def")
+    .return (rx511_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__package_def"  :subid("122_1259103982.97329") :method
+.sub "!PREFIX__package_def"  :subid("126_1259177761.22934") :method
 .annotate "line", 4
-    new $P493, "ResizablePMCArray"
-    push $P493, ""
-    .return ($P493)
+    new $P513, "ResizablePMCArray"
+    push $P513, ""
+    .return ($P513)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "scope_declarator"  :subid("123_1259103982.97329") :method
-.annotate "line", 247
-    $P514 = self."!protoregex"("scope_declarator")
-    .return ($P514)
+.sub "scope_declarator"  :subid("127_1259177761.22934") :method
+.annotate "line", 257
+    $P534 = self."!protoregex"("scope_declarator")
+    .return ($P534)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__scope_declarator"  :subid("124_1259103982.97329") :method
-.annotate "line", 247
-    $P516 = self."!PREFIX__!protoregex"("scope_declarator")
-    .return ($P516)
+.sub "!PREFIX__scope_declarator"  :subid("128_1259177761.22934") :method
+.annotate "line", 257
+    $P536 = self."!PREFIX__!protoregex"("scope_declarator")
+    .return ($P536)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "scope_declarator:sym<my>"  :subid("125_1259103982.97329") :method :outer("11_1259103982.97329")
+.sub "scope_declarator:sym<my>"  :subid("129_1259177761.22934") :method :outer("11_1259177761.22934")
 .annotate "line", 4
-    .local string rx518_tgt
-    .local int rx518_pos
-    .local int rx518_off
-    .local int rx518_eos
-    .local int rx518_rep
-    .local pmc rx518_cur
-    (rx518_cur, rx518_pos, rx518_tgt) = self."!cursor_start"()
-    rx518_cur."!cursor_debug"("START ", "scope_declarator:sym<my>")
-    .lex unicode:"$\x{a2}", rx518_cur
-    .local pmc match
-    .lex "$/", match
-    length rx518_eos, rx518_tgt
-    set rx518_off, 0
-    lt rx518_pos, 2, rx518_start
-    sub rx518_off, rx518_pos, 1
-    substr rx518_tgt, rx518_tgt, rx518_off
-  rx518_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan522_done
-    goto rxscan522_scan
-  rxscan522_loop:
-    ($P10) = rx518_cur."from"()
-    inc $P10
-    set rx518_pos, $P10
-    ge rx518_pos, rx518_eos, rxscan522_done
-  rxscan522_scan:
-    set_addr $I10, rxscan522_loop
-    rx518_cur."!mark_push"(0, rx518_pos, $I10)
-  rxscan522_done:
-.annotate "line", 248
+    .local string rx538_tgt
+    .local int rx538_pos
+    .local int rx538_off
+    .local int rx538_eos
+    .local int rx538_rep
+    .local pmc rx538_cur
+    (rx538_cur, rx538_pos, rx538_tgt) = self."!cursor_start"()
+    rx538_cur."!cursor_debug"("START ", "scope_declarator:sym<my>")
+    .lex unicode:"$\x{a2}", rx538_cur
+    .local pmc match
+    .lex "$/", match
+    length rx538_eos, rx538_tgt
+    set rx538_off, 0
+    lt rx538_pos, 2, rx538_start
+    sub rx538_off, rx538_pos, 1
+    substr rx538_tgt, rx538_tgt, rx538_off
+  rx538_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan542_done
+    goto rxscan542_scan
+  rxscan542_loop:
+    ($P10) = rx538_cur."from"()
+    inc $P10
+    set rx538_pos, $P10
+    ge rx538_pos, rx538_eos, rxscan542_done
+  rxscan542_scan:
+    set_addr $I10, rxscan542_loop
+    rx538_cur."!mark_push"(0, rx538_pos, $I10)
+  rxscan542_done:
+.annotate "line", 258
   # rx subcapture "sym"
-    set_addr $I10, rxcap_523_fail
-    rx518_cur."!mark_push"(0, rx518_pos, $I10)
+    set_addr $I10, rxcap_543_fail
+    rx538_cur."!mark_push"(0, rx538_pos, $I10)
   # rx literal  "my"
-    add $I11, rx518_pos, 2
-    gt $I11, rx518_eos, rx518_fail
-    sub $I11, rx518_pos, rx518_off
-    substr $S10, rx518_tgt, $I11, 2
-    ne $S10, "my", rx518_fail
-    add rx518_pos, 2
-    set_addr $I10, rxcap_523_fail
-    ($I12, $I11) = rx518_cur."!mark_peek"($I10)
-    rx518_cur."!cursor_pos"($I11)
-    ($P10) = rx518_cur."!cursor_start"()
-    $P10."!cursor_pass"(rx518_pos, "")
-    rx518_cur."!mark_push"(0, -1, 0, $P10)
+    add $I11, rx538_pos, 2
+    gt $I11, rx538_eos, rx538_fail
+    sub $I11, rx538_pos, rx538_off
+    substr $S10, rx538_tgt, $I11, 2
+    ne $S10, "my", rx538_fail
+    add rx538_pos, 2
+    set_addr $I10, rxcap_543_fail
+    ($I12, $I11) = rx538_cur."!mark_peek"($I10)
+    rx538_cur."!cursor_pos"($I11)
+    ($P10) = rx538_cur."!cursor_start"()
+    $P10."!cursor_pass"(rx538_pos, "")
+    rx538_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("sym")
-    goto rxcap_523_done
-  rxcap_523_fail:
-    goto rx518_fail
-  rxcap_523_done:
+    goto rxcap_543_done
+  rxcap_543_fail:
+    goto rx538_fail
+  rxcap_543_done:
   # rx subrule "scoped" subtype=capture negate=
-    rx518_cur."!cursor_pos"(rx518_pos)
-    $P10 = rx518_cur."scoped"("my")
-    unless $P10, rx518_fail
-    rx518_cur."!mark_push"(0, -1, 0, $P10)
+    rx538_cur."!cursor_pos"(rx538_pos)
+    $P10 = rx538_cur."scoped"("my")
+    unless $P10, rx538_fail
+    rx538_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("scoped")
-    rx518_pos = $P10."pos"()
+    rx538_pos = $P10."pos"()
   # rx pass
-    rx518_cur."!cursor_pass"(rx518_pos, "scope_declarator:sym<my>")
-    rx518_cur."!cursor_debug"("PASS  ", "scope_declarator:sym<my>", " at pos=", rx518_pos)
-    .return (rx518_cur)
-  rx518_fail:
+    rx538_cur."!cursor_pass"(rx538_pos, "scope_declarator:sym<my>")
+    rx538_cur."!cursor_debug"("PASS  ", "scope_declarator:sym<my>", " at pos=", rx538_pos)
+    .return (rx538_cur)
+  rx538_fail:
 .annotate "line", 4
-    (rx518_rep, rx518_pos, $I10, $P10) = rx518_cur."!mark_fail"(0)
-    lt rx518_pos, -1, rx518_done
-    eq rx518_pos, -1, rx518_fail
+    (rx538_rep, rx538_pos, $I10, $P10) = rx538_cur."!mark_fail"(0)
+    lt rx538_pos, -1, rx538_done
+    eq rx538_pos, -1, rx538_fail
     jump $I10
-  rx518_done:
-    rx518_cur."!cursor_fail"()
-    rx518_cur."!cursor_debug"("FAIL  ", "scope_declarator:sym<my>")
-    .return (rx518_cur)
+  rx538_done:
+    rx538_cur."!cursor_fail"()
+    rx538_cur."!cursor_debug"("FAIL  ", "scope_declarator:sym<my>")
+    .return (rx538_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__scope_declarator:sym<my>"  :subid("126_1259103982.97329") :method
+.sub "!PREFIX__scope_declarator:sym<my>"  :subid("130_1259177761.22934") :method
 .annotate "line", 4
-    $P520 = self."!PREFIX__!subrule"("scoped", "my")
-    new $P521, "ResizablePMCArray"
-    push $P521, $P520
-    .return ($P521)
+    $P540 = self."!PREFIX__!subrule"("scoped", "my")
+    new $P541, "ResizablePMCArray"
+    push $P541, $P540
+    .return ($P541)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "scope_declarator:sym<our>"  :subid("127_1259103982.97329") :method :outer("11_1259103982.97329")
+.sub "scope_declarator:sym<our>"  :subid("131_1259177761.22934") :method :outer("11_1259177761.22934")
 .annotate "line", 4
-    .local string rx525_tgt
-    .local int rx525_pos
-    .local int rx525_off
-    .local int rx525_eos
-    .local int rx525_rep
-    .local pmc rx525_cur
-    (rx525_cur, rx525_pos, rx525_tgt) = self."!cursor_start"()
-    rx525_cur."!cursor_debug"("START ", "scope_declarator:sym<our>")
-    .lex unicode:"$\x{a2}", rx525_cur
+    .local string rx545_tgt
+    .local int rx545_pos
+    .local int rx545_off
+    .local int rx545_eos
+    .local int rx545_rep
+    .local pmc rx545_cur
+    (rx545_cur, rx545_pos, rx545_tgt) = self."!cursor_start"()
+    rx545_cur."!cursor_debug"("START ", "scope_declarator:sym<our>")
+    .lex unicode:"$\x{a2}", rx545_cur
     .local pmc match
     .lex "$/", match
-    length rx525_eos, rx525_tgt
-    set rx525_off, 0
-    lt rx525_pos, 2, rx525_start
-    sub rx525_off, rx525_pos, 1
-    substr rx525_tgt, rx525_tgt, rx525_off
-  rx525_start:
+    length rx545_eos, rx545_tgt
+    set rx545_off, 0
+    lt rx545_pos, 2, rx545_start
+    sub rx545_off, rx545_pos, 1
+    substr rx545_tgt, rx545_tgt, rx545_off
+  rx545_start:
     $I10 = self.'from'()
-    ne $I10, -1, rxscan529_done
-    goto rxscan529_scan
-  rxscan529_loop:
-    ($P10) = rx525_cur."from"()
+    ne $I10, -1, rxscan549_done
+    goto rxscan549_scan
+  rxscan549_loop:
+    ($P10) = rx545_cur."from"()
     inc $P10
-    set rx525_pos, $P10
-    ge rx525_pos, rx525_eos, rxscan529_done
-  rxscan529_scan:
-    set_addr $I10, rxscan529_loop
-    rx525_cur."!mark_push"(0, rx525_pos, $I10)
-  rxscan529_done:
-.annotate "line", 249
+    set rx545_pos, $P10
+    ge rx545_pos, rx545_eos, rxscan549_done
+  rxscan549_scan:
+    set_addr $I10, rxscan549_loop
+    rx545_cur."!mark_push"(0, rx545_pos, $I10)
+  rxscan549_done:
+.annotate "line", 259
   # rx subcapture "sym"
-    set_addr $I10, rxcap_530_fail
-    rx525_cur."!mark_push"(0, rx525_pos, $I10)
+    set_addr $I10, rxcap_550_fail
+    rx545_cur."!mark_push"(0, rx545_pos, $I10)
   # rx literal  "our"
-    add $I11, rx525_pos, 3
-    gt $I11, rx525_eos, rx525_fail
-    sub $I11, rx525_pos, rx525_off
-    substr $S10, rx525_tgt, $I11, 3
-    ne $S10, "our", rx525_fail
-    add rx525_pos, 3
-    set_addr $I10, rxcap_530_fail
-    ($I12, $I11) = rx525_cur."!mark_peek"($I10)
-    rx525_cur."!cursor_pos"($I11)
-    ($P10) = rx525_cur."!cursor_start"()
-    $P10."!cursor_pass"(rx525_pos, "")
-    rx525_cur."!mark_push"(0, -1, 0, $P10)
+    add $I11, rx545_pos, 3
+    gt $I11, rx545_eos, rx545_fail
+    sub $I11, rx545_pos, rx545_off
+    substr $S10, rx545_tgt, $I11, 3
+    ne $S10, "our", rx545_fail
+    add rx545_pos, 3
+    set_addr $I10, rxcap_550_fail
+    ($I12, $I11) = rx545_cur."!mark_peek"($I10)
+    rx545_cur."!cursor_pos"($I11)
+    ($P10) = rx545_cur."!cursor_start"()
+    $P10."!cursor_pass"(rx545_pos, "")
+    rx545_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("sym")
-    goto rxcap_530_done
-  rxcap_530_fail:
-    goto rx525_fail
-  rxcap_530_done:
+    goto rxcap_550_done
+  rxcap_550_fail:
+    goto rx545_fail
+  rxcap_550_done:
   # rx subrule "scoped" subtype=capture negate=
-    rx525_cur."!cursor_pos"(rx525_pos)
-    $P10 = rx525_cur."scoped"("our")
-    unless $P10, rx525_fail
-    rx525_cur."!mark_push"(0, -1, 0, $P10)
+    rx545_cur."!cursor_pos"(rx545_pos)
+    $P10 = rx545_cur."scoped"("our")
+    unless $P10, rx545_fail
+    rx545_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("scoped")
-    rx525_pos = $P10."pos"()
+    rx545_pos = $P10."pos"()
   # rx pass
-    rx525_cur."!cursor_pass"(rx525_pos, "scope_declarator:sym<our>")
-    rx525_cur."!cursor_debug"("PASS  ", "scope_declarator:sym<our>", " at pos=", rx525_pos)
-    .return (rx525_cur)
-  rx525_fail:
+    rx545_cur."!cursor_pass"(rx545_pos, "scope_declarator:sym<our>")
+    rx545_cur."!cursor_debug"("PASS  ", "scope_declarator:sym<our>", " at pos=", rx545_pos)
+    .return (rx545_cur)
+  rx545_fail:
 .annotate "line", 4
-    (rx525_rep, rx525_pos, $I10, $P10) = rx525_cur."!mark_fail"(0)
-    lt rx525_pos, -1, rx525_done
-    eq rx525_pos, -1, rx525_fail
+    (rx545_rep, rx545_pos, $I10, $P10) = rx545_cur."!mark_fail"(0)
+    lt rx545_pos, -1, rx545_done
+    eq rx545_pos, -1, rx545_fail
     jump $I10
-  rx525_done:
-    rx525_cur."!cursor_fail"()
-    rx525_cur."!cursor_debug"("FAIL  ", "scope_declarator:sym<our>")
-    .return (rx525_cur)
+  rx545_done:
+    rx545_cur."!cursor_fail"()
+    rx545_cur."!cursor_debug"("FAIL  ", "scope_declarator:sym<our>")
+    .return (rx545_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__scope_declarator:sym<our>"  :subid("128_1259103982.97329") :method
+.sub "!PREFIX__scope_declarator:sym<our>"  :subid("132_1259177761.22934") :method
 .annotate "line", 4
-    $P527 = self."!PREFIX__!subrule"("scoped", "our")
-    new $P528, "ResizablePMCArray"
-    push $P528, $P527
-    .return ($P528)
+    $P547 = self."!PREFIX__!subrule"("scoped", "our")
+    new $P548, "ResizablePMCArray"
+    push $P548, $P547
+    .return ($P548)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "scope_declarator:sym<has>"  :subid("129_1259103982.97329") :method :outer("11_1259103982.97329")
+.sub "scope_declarator:sym<has>"  :subid("133_1259177761.22934") :method :outer("11_1259177761.22934")
 .annotate "line", 4
-    .local string rx532_tgt
-    .local int rx532_pos
-    .local int rx532_off
-    .local int rx532_eos
-    .local int rx532_rep
-    .local pmc rx532_cur
-    (rx532_cur, rx532_pos, rx532_tgt) = self."!cursor_start"()
-    rx532_cur."!cursor_debug"("START ", "scope_declarator:sym<has>")
-    .lex unicode:"$\x{a2}", rx532_cur
-    .local pmc match
-    .lex "$/", match
-    length rx532_eos, rx532_tgt
-    set rx532_off, 0
-    lt rx532_pos, 2, rx532_start
-    sub rx532_off, rx532_pos, 1
-    substr rx532_tgt, rx532_tgt, rx532_off
-  rx532_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan536_done
-    goto rxscan536_scan
-  rxscan536_loop:
-    ($P10) = rx532_cur."from"()
-    inc $P10
-    set rx532_pos, $P10
-    ge rx532_pos, rx532_eos, rxscan536_done
-  rxscan536_scan:
-    set_addr $I10, rxscan536_loop
-    rx532_cur."!mark_push"(0, rx532_pos, $I10)
-  rxscan536_done:
-.annotate "line", 250
+    .local string rx552_tgt
+    .local int rx552_pos
+    .local int rx552_off
+    .local int rx552_eos
+    .local int rx552_rep
+    .local pmc rx552_cur
+    (rx552_cur, rx552_pos, rx552_tgt) = self."!cursor_start"()
+    rx552_cur."!cursor_debug"("START ", "scope_declarator:sym<has>")
+    .lex unicode:"$\x{a2}", rx552_cur
+    .local pmc match
+    .lex "$/", match
+    length rx552_eos, rx552_tgt
+    set rx552_off, 0
+    lt rx552_pos, 2, rx552_start
+    sub rx552_off, rx552_pos, 1
+    substr rx552_tgt, rx552_tgt, rx552_off
+  rx552_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan556_done
+    goto rxscan556_scan
+  rxscan556_loop:
+    ($P10) = rx552_cur."from"()
+    inc $P10
+    set rx552_pos, $P10
+    ge rx552_pos, rx552_eos, rxscan556_done
+  rxscan556_scan:
+    set_addr $I10, rxscan556_loop
+    rx552_cur."!mark_push"(0, rx552_pos, $I10)
+  rxscan556_done:
+.annotate "line", 260
   # rx subcapture "sym"
-    set_addr $I10, rxcap_537_fail
-    rx532_cur."!mark_push"(0, rx532_pos, $I10)
+    set_addr $I10, rxcap_557_fail
+    rx552_cur."!mark_push"(0, rx552_pos, $I10)
   # rx literal  "has"
-    add $I11, rx532_pos, 3
-    gt $I11, rx532_eos, rx532_fail
-    sub $I11, rx532_pos, rx532_off
-    substr $S10, rx532_tgt, $I11, 3
-    ne $S10, "has", rx532_fail
-    add rx532_pos, 3
-    set_addr $I10, rxcap_537_fail
-    ($I12, $I11) = rx532_cur."!mark_peek"($I10)
-    rx532_cur."!cursor_pos"($I11)
-    ($P10) = rx532_cur."!cursor_start"()
-    $P10."!cursor_pass"(rx532_pos, "")
-    rx532_cur."!mark_push"(0, -1, 0, $P10)
+    add $I11, rx552_pos, 3
+    gt $I11, rx552_eos, rx552_fail
+    sub $I11, rx552_pos, rx552_off
+    substr $S10, rx552_tgt, $I11, 3
+    ne $S10, "has", rx552_fail
+    add rx552_pos, 3
+    set_addr $I10, rxcap_557_fail
+    ($I12, $I11) = rx552_cur."!mark_peek"($I10)
+    rx552_cur."!cursor_pos"($I11)
+    ($P10) = rx552_cur."!cursor_start"()
+    $P10."!cursor_pass"(rx552_pos, "")
+    rx552_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("sym")
-    goto rxcap_537_done
-  rxcap_537_fail:
-    goto rx532_fail
-  rxcap_537_done:
+    goto rxcap_557_done
+  rxcap_557_fail:
+    goto rx552_fail
+  rxcap_557_done:
   # rx subrule "scoped" subtype=capture negate=
-    rx532_cur."!cursor_pos"(rx532_pos)
-    $P10 = rx532_cur."scoped"("has")
-    unless $P10, rx532_fail
-    rx532_cur."!mark_push"(0, -1, 0, $P10)
+    rx552_cur."!cursor_pos"(rx552_pos)
+    $P10 = rx552_cur."scoped"("has")
+    unless $P10, rx552_fail
+    rx552_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("scoped")
-    rx532_pos = $P10."pos"()
+    rx552_pos = $P10."pos"()
   # rx pass
-    rx532_cur."!cursor_pass"(rx532_pos, "scope_declarator:sym<has>")
-    rx532_cur."!cursor_debug"("PASS  ", "scope_declarator:sym<has>", " at pos=", rx532_pos)
-    .return (rx532_cur)
-  rx532_fail:
+    rx552_cur."!cursor_pass"(rx552_pos, "scope_declarator:sym<has>")
+    rx552_cur."!cursor_debug"("PASS  ", "scope_declarator:sym<has>", " at pos=", rx552_pos)
+    .return (rx552_cur)
+  rx552_fail:
 .annotate "line", 4
-    (rx532_rep, rx532_pos, $I10, $P10) = rx532_cur."!mark_fail"(0)
-    lt rx532_pos, -1, rx532_done
-    eq rx532_pos, -1, rx532_fail
+    (rx552_rep, rx552_pos, $I10, $P10) = rx552_cur."!mark_fail"(0)
+    lt rx552_pos, -1, rx552_done
+    eq rx552_pos, -1, rx552_fail
     jump $I10
-  rx532_done:
-    rx532_cur."!cursor_fail"()
-    rx532_cur."!cursor_debug"("FAIL  ", "scope_declarator:sym<has>")
-    .return (rx532_cur)
+  rx552_done:
+    rx552_cur."!cursor_fail"()
+    rx552_cur."!cursor_debug"("FAIL  ", "scope_declarator:sym<has>")
+    .return (rx552_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__scope_declarator:sym<has>"  :subid("130_1259103982.97329") :method
+.sub "!PREFIX__scope_declarator:sym<has>"  :subid("134_1259177761.22934") :method
 .annotate "line", 4
-    $P534 = self."!PREFIX__!subrule"("scoped", "has")
-    new $P535, "ResizablePMCArray"
-    push $P535, $P534
-    .return ($P535)
+    $P554 = self."!PREFIX__!subrule"("scoped", "has")
+    new $P555, "ResizablePMCArray"
+    push $P555, $P554
+    .return ($P555)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "scoped"  :subid("131_1259103982.97329") :method :outer("11_1259103982.97329")
-    .param pmc param_539
-.annotate "line", 252
-    .lex "$*SCOPE", param_539
+.sub "scoped"  :subid("135_1259177761.22934") :method :outer("11_1259177761.22934")
+    .param pmc param_559
+.annotate "line", 262
+    .lex "$*SCOPE", param_559
 .annotate "line", 4
-    .local string rx540_tgt
-    .local int rx540_pos
-    .local int rx540_off
-    .local int rx540_eos
-    .local int rx540_rep
-    .local pmc rx540_cur
-    (rx540_cur, rx540_pos, rx540_tgt) = self."!cursor_start"()
-    rx540_cur."!cursor_debug"("START ", "scoped")
-    .lex unicode:"$\x{a2}", rx540_cur
-    .local pmc match
-    .lex "$/", match
-    length rx540_eos, rx540_tgt
-    set rx540_off, 0
-    lt rx540_pos, 2, rx540_start
-    sub rx540_off, rx540_pos, 1
-    substr rx540_tgt, rx540_tgt, rx540_off
-  rx540_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan543_done
-    goto rxscan543_scan
-  rxscan543_loop:
-    ($P10) = rx540_cur."from"()
-    inc $P10
-    set rx540_pos, $P10
-    ge rx540_pos, rx540_eos, rxscan543_done
-  rxscan543_scan:
-    set_addr $I10, rxscan543_loop
-    rx540_cur."!mark_push"(0, rx540_pos, $I10)
-  rxscan543_done:
-  alt544_0:
-.annotate "line", 252
-    set_addr $I10, alt544_1
-    rx540_cur."!mark_push"(0, rx540_pos, $I10)
-.annotate "line", 253
+    .local string rx560_tgt
+    .local int rx560_pos
+    .local int rx560_off
+    .local int rx560_eos
+    .local int rx560_rep
+    .local pmc rx560_cur
+    (rx560_cur, rx560_pos, rx560_tgt) = self."!cursor_start"()
+    rx560_cur."!cursor_debug"("START ", "scoped")
+    .lex unicode:"$\x{a2}", rx560_cur
+    .local pmc match
+    .lex "$/", match
+    length rx560_eos, rx560_tgt
+    set rx560_off, 0
+    lt rx560_pos, 2, rx560_start
+    sub rx560_off, rx560_pos, 1
+    substr rx560_tgt, rx560_tgt, rx560_off
+  rx560_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan563_done
+    goto rxscan563_scan
+  rxscan563_loop:
+    ($P10) = rx560_cur."from"()
+    inc $P10
+    set rx560_pos, $P10
+    ge rx560_pos, rx560_eos, rxscan563_done
+  rxscan563_scan:
+    set_addr $I10, rxscan563_loop
+    rx560_cur."!mark_push"(0, rx560_pos, $I10)
+  rxscan563_done:
+  alt564_0:
+.annotate "line", 262
+    set_addr $I10, alt564_1
+    rx560_cur."!mark_push"(0, rx560_pos, $I10)
+.annotate "line", 263
   # rx subrule "ws" subtype=method negate=
-    rx540_cur."!cursor_pos"(rx540_pos)
-    $P10 = rx540_cur."ws"()
-    unless $P10, rx540_fail
-    rx540_pos = $P10."pos"()
+    rx560_cur."!cursor_pos"(rx560_pos)
+    $P10 = rx560_cur."ws"()
+    unless $P10, rx560_fail
+    rx560_pos = $P10."pos"()
   # rx subrule "variable_declarator" subtype=capture negate=
-    rx540_cur."!cursor_pos"(rx540_pos)
-    $P10 = rx540_cur."variable_declarator"()
-    unless $P10, rx540_fail
-    rx540_cur."!mark_push"(0, -1, 0, $P10)
+    rx560_cur."!cursor_pos"(rx560_pos)
+    $P10 = rx560_cur."variable_declarator"()
+    unless $P10, rx560_fail
+    rx560_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("variable_declarator")
-    rx540_pos = $P10."pos"()
+    rx560_pos = $P10."pos"()
   # rx subrule "ws" subtype=method negate=
-    rx540_cur."!cursor_pos"(rx540_pos)
-    $P10 = rx540_cur."ws"()
-    unless $P10, rx540_fail
-    rx540_pos = $P10."pos"()
-    goto alt544_end
-  alt544_1:
-.annotate "line", 254
+    rx560_cur."!cursor_pos"(rx560_pos)
+    $P10 = rx560_cur."ws"()
+    unless $P10, rx560_fail
+    rx560_pos = $P10."pos"()
+    goto alt564_end
+  alt564_1:
+.annotate "line", 264
   # rx subrule "ws" subtype=method negate=
-    rx540_cur."!cursor_pos"(rx540_pos)
-    $P10 = rx540_cur."ws"()
-    unless $P10, rx540_fail
-    rx540_pos = $P10."pos"()
+    rx560_cur."!cursor_pos"(rx560_pos)
+    $P10 = rx560_cur."ws"()
+    unless $P10, rx560_fail
+    rx560_pos = $P10."pos"()
   # rx subrule "routine_declarator" subtype=capture negate=
-    rx540_cur."!cursor_pos"(rx540_pos)
-    $P10 = rx540_cur."routine_declarator"()
-    unless $P10, rx540_fail
-    rx540_cur."!mark_push"(0, -1, 0, $P10)
+    rx560_cur."!cursor_pos"(rx560_pos)
+    $P10 = rx560_cur."routine_declarator"()
+    unless $P10, rx560_fail
+    rx560_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("routine_declarator")
-    rx540_pos = $P10."pos"()
+    rx560_pos = $P10."pos"()
   # rx subrule "ws" subtype=method negate=
-    rx540_cur."!cursor_pos"(rx540_pos)
-    $P10 = rx540_cur."ws"()
-    unless $P10, rx540_fail
-    rx540_pos = $P10."pos"()
-  alt544_end:
-.annotate "line", 252
+    rx560_cur."!cursor_pos"(rx560_pos)
+    $P10 = rx560_cur."ws"()
+    unless $P10, rx560_fail
+    rx560_pos = $P10."pos"()
+  alt564_end:
+.annotate "line", 262
   # rx pass
-    rx540_cur."!cursor_pass"(rx540_pos, "scoped")
-    rx540_cur."!cursor_debug"("PASS  ", "scoped", " at pos=", rx540_pos)
-    .return (rx540_cur)
-  rx540_fail:
+    rx560_cur."!cursor_pass"(rx560_pos, "scoped")
+    rx560_cur."!cursor_debug"("PASS  ", "scoped", " at pos=", rx560_pos)
+    .return (rx560_cur)
+  rx560_fail:
 .annotate "line", 4
-    (rx540_rep, rx540_pos, $I10, $P10) = rx540_cur."!mark_fail"(0)
-    lt rx540_pos, -1, rx540_done
-    eq rx540_pos, -1, rx540_fail
+    (rx560_rep, rx560_pos, $I10, $P10) = rx560_cur."!mark_fail"(0)
+    lt rx560_pos, -1, rx560_done
+    eq rx560_pos, -1, rx560_fail
     jump $I10
-  rx540_done:
-    rx540_cur."!cursor_fail"()
-    rx540_cur."!cursor_debug"("FAIL  ", "scoped")
-    .return (rx540_cur)
+  rx560_done:
+    rx560_cur."!cursor_fail"()
+    rx560_cur."!cursor_debug"("FAIL  ", "scoped")
+    .return (rx560_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__scoped"  :subid("132_1259103982.97329") :method
+.sub "!PREFIX__scoped"  :subid("136_1259177761.22934") :method
 .annotate "line", 4
-    new $P542, "ResizablePMCArray"
-    push $P542, ""
-    push $P542, ""
-    .return ($P542)
+    new $P562, "ResizablePMCArray"
+    push $P562, ""
+    push $P562, ""
+    .return ($P562)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "variable_declarator"  :subid("133_1259103982.97329") :method :outer("11_1259103982.97329")
-.annotate "line", 4
-    .local string rx550_tgt
-    .local int rx550_pos
-    .local int rx550_off
-    .local int rx550_eos
-    .local int rx550_rep
-    .local pmc rx550_cur
-    (rx550_cur, rx550_pos, rx550_tgt) = self."!cursor_start"()
-    rx550_cur."!cursor_debug"("START ", "variable_declarator")
-    .lex unicode:"$\x{a2}", rx550_cur
-    .local pmc match
-    .lex "$/", match
-    length rx550_eos, rx550_tgt
-    set rx550_off, 0
-    lt rx550_pos, 2, rx550_start
-    sub rx550_off, rx550_pos, 1
-    substr rx550_tgt, rx550_tgt, rx550_off
-  rx550_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan554_done
-    goto rxscan554_scan
-  rxscan554_loop:
-    ($P10) = rx550_cur."from"()
-    inc $P10
-    set rx550_pos, $P10
-    ge rx550_pos, rx550_eos, rxscan554_done
-  rxscan554_scan:
-    set_addr $I10, rxscan554_loop
-    rx550_cur."!mark_push"(0, rx550_pos, $I10)
-  rxscan554_done:
-.annotate "line", 257
+.sub "variable_declarator"  :subid("137_1259177761.22934") :method :outer("11_1259177761.22934")
+.annotate "line", 4
+    .local string rx570_tgt
+    .local int rx570_pos
+    .local int rx570_off
+    .local int rx570_eos
+    .local int rx570_rep
+    .local pmc rx570_cur
+    (rx570_cur, rx570_pos, rx570_tgt) = self."!cursor_start"()
+    rx570_cur."!cursor_debug"("START ", "variable_declarator")
+    .lex unicode:"$\x{a2}", rx570_cur
+    .local pmc match
+    .lex "$/", match
+    length rx570_eos, rx570_tgt
+    set rx570_off, 0
+    lt rx570_pos, 2, rx570_start
+    sub rx570_off, rx570_pos, 1
+    substr rx570_tgt, rx570_tgt, rx570_off
+  rx570_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan574_done
+    goto rxscan574_scan
+  rxscan574_loop:
+    ($P10) = rx570_cur."from"()
+    inc $P10
+    set rx570_pos, $P10
+    ge rx570_pos, rx570_eos, rxscan574_done
+  rxscan574_scan:
+    set_addr $I10, rxscan574_loop
+    rx570_cur."!mark_push"(0, rx570_pos, $I10)
+  rxscan574_done:
+.annotate "line", 267
   # rx subrule "variable" subtype=capture negate=
-    rx550_cur."!cursor_pos"(rx550_pos)
-    $P10 = rx550_cur."variable"()
-    unless $P10, rx550_fail
-    rx550_cur."!mark_push"(0, -1, 0, $P10)
+    rx570_cur."!cursor_pos"(rx570_pos)
+    $P10 = rx570_cur."variable"()
+    unless $P10, rx570_fail
+    rx570_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("variable")
-    rx550_pos = $P10."pos"()
+    rx570_pos = $P10."pos"()
   # rx pass
-    rx550_cur."!cursor_pass"(rx550_pos, "variable_declarator")
-    rx550_cur."!cursor_debug"("PASS  ", "variable_declarator", " at pos=", rx550_pos)
-    .return (rx550_cur)
-  rx550_fail:
+    rx570_cur."!cursor_pass"(rx570_pos, "variable_declarator")
+    rx570_cur."!cursor_debug"("PASS  ", "variable_declarator", " at pos=", rx570_pos)
+    .return (rx570_cur)
+  rx570_fail:
 .annotate "line", 4
-    (rx550_rep, rx550_pos, $I10, $P10) = rx550_cur."!mark_fail"(0)
-    lt rx550_pos, -1, rx550_done
-    eq rx550_pos, -1, rx550_fail
+    (rx570_rep, rx570_pos, $I10, $P10) = rx570_cur."!mark_fail"(0)
+    lt rx570_pos, -1, rx570_done
+    eq rx570_pos, -1, rx570_fail
     jump $I10
-  rx550_done:
-    rx550_cur."!cursor_fail"()
-    rx550_cur."!cursor_debug"("FAIL  ", "variable_declarator")
-    .return (rx550_cur)
+  rx570_done:
+    rx570_cur."!cursor_fail"()
+    rx570_cur."!cursor_debug"("FAIL  ", "variable_declarator")
+    .return (rx570_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__variable_declarator"  :subid("134_1259103982.97329") :method
+.sub "!PREFIX__variable_declarator"  :subid("138_1259177761.22934") :method
 .annotate "line", 4
-    $P552 = self."!PREFIX__!subrule"("variable", "")
-    new $P553, "ResizablePMCArray"
-    push $P553, $P552
-    .return ($P553)
+    $P572 = self."!PREFIX__!subrule"("variable", "")
+    new $P573, "ResizablePMCArray"
+    push $P573, $P572
+    .return ($P573)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "routine_declarator"  :subid("135_1259103982.97329") :method
-.annotate "line", 259
-    $P556 = self."!protoregex"("routine_declarator")
-    .return ($P556)
+.sub "routine_declarator"  :subid("139_1259177761.22934") :method
+.annotate "line", 269
+    $P576 = self."!protoregex"("routine_declarator")
+    .return ($P576)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__routine_declarator"  :subid("136_1259103982.97329") :method
-.annotate "line", 259
-    $P558 = self."!PREFIX__!protoregex"("routine_declarator")
-    .return ($P558)
+.sub "!PREFIX__routine_declarator"  :subid("140_1259177761.22934") :method
+.annotate "line", 269
+    $P578 = self."!PREFIX__!protoregex"("routine_declarator")
+    .return ($P578)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "routine_declarator:sym<sub>"  :subid("137_1259103982.97329") :method :outer("11_1259103982.97329")
+.sub "routine_declarator:sym<sub>"  :subid("141_1259177761.22934") :method :outer("11_1259177761.22934")
 .annotate "line", 4
-    .local string rx560_tgt
-    .local int rx560_pos
-    .local int rx560_off
-    .local int rx560_eos
-    .local int rx560_rep
-    .local pmc rx560_cur
-    (rx560_cur, rx560_pos, rx560_tgt) = self."!cursor_start"()
-    rx560_cur."!cursor_debug"("START ", "routine_declarator:sym<sub>")
-    .lex unicode:"$\x{a2}", rx560_cur
-    .local pmc match
-    .lex "$/", match
-    length rx560_eos, rx560_tgt
-    set rx560_off, 0
-    lt rx560_pos, 2, rx560_start
-    sub rx560_off, rx560_pos, 1
-    substr rx560_tgt, rx560_tgt, rx560_off
-  rx560_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan564_done
-    goto rxscan564_scan
-  rxscan564_loop:
-    ($P10) = rx560_cur."from"()
-    inc $P10
-    set rx560_pos, $P10
-    ge rx560_pos, rx560_eos, rxscan564_done
-  rxscan564_scan:
-    set_addr $I10, rxscan564_loop
-    rx560_cur."!mark_push"(0, rx560_pos, $I10)
-  rxscan564_done:
-.annotate "line", 260
+    .local string rx580_tgt
+    .local int rx580_pos
+    .local int rx580_off
+    .local int rx580_eos
+    .local int rx580_rep
+    .local pmc rx580_cur
+    (rx580_cur, rx580_pos, rx580_tgt) = self."!cursor_start"()
+    rx580_cur."!cursor_debug"("START ", "routine_declarator:sym<sub>")
+    .lex unicode:"$\x{a2}", rx580_cur
+    .local pmc match
+    .lex "$/", match
+    length rx580_eos, rx580_tgt
+    set rx580_off, 0
+    lt rx580_pos, 2, rx580_start
+    sub rx580_off, rx580_pos, 1
+    substr rx580_tgt, rx580_tgt, rx580_off
+  rx580_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan584_done
+    goto rxscan584_scan
+  rxscan584_loop:
+    ($P10) = rx580_cur."from"()
+    inc $P10
+    set rx580_pos, $P10
+    ge rx580_pos, rx580_eos, rxscan584_done
+  rxscan584_scan:
+    set_addr $I10, rxscan584_loop
+    rx580_cur."!mark_push"(0, rx580_pos, $I10)
+  rxscan584_done:
+.annotate "line", 270
   # rx subcapture "sym"
-    set_addr $I10, rxcap_565_fail
-    rx560_cur."!mark_push"(0, rx560_pos, $I10)
+    set_addr $I10, rxcap_585_fail
+    rx580_cur."!mark_push"(0, rx580_pos, $I10)
   # rx literal  "sub"
-    add $I11, rx560_pos, 3
-    gt $I11, rx560_eos, rx560_fail
-    sub $I11, rx560_pos, rx560_off
-    substr $S10, rx560_tgt, $I11, 3
-    ne $S10, "sub", rx560_fail
-    add rx560_pos, 3
-    set_addr $I10, rxcap_565_fail
-    ($I12, $I11) = rx560_cur."!mark_peek"($I10)
-    rx560_cur."!cursor_pos"($I11)
-    ($P10) = rx560_cur."!cursor_start"()
-    $P10."!cursor_pass"(rx560_pos, "")
-    rx560_cur."!mark_push"(0, -1, 0, $P10)
+    add $I11, rx580_pos, 3
+    gt $I11, rx580_eos, rx580_fail
+    sub $I11, rx580_pos, rx580_off
+    substr $S10, rx580_tgt, $I11, 3
+    ne $S10, "sub", rx580_fail
+    add rx580_pos, 3
+    set_addr $I10, rxcap_585_fail
+    ($I12, $I11) = rx580_cur."!mark_peek"($I10)
+    rx580_cur."!cursor_pos"($I11)
+    ($P10) = rx580_cur."!cursor_start"()
+    $P10."!cursor_pass"(rx580_pos, "")
+    rx580_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("sym")
-    goto rxcap_565_done
-  rxcap_565_fail:
-    goto rx560_fail
-  rxcap_565_done:
+    goto rxcap_585_done
+  rxcap_585_fail:
+    goto rx580_fail
+  rxcap_585_done:
   # rx subrule "routine_def" subtype=capture negate=
-    rx560_cur."!cursor_pos"(rx560_pos)
-    $P10 = rx560_cur."routine_def"()
-    unless $P10, rx560_fail
-    rx560_cur."!mark_push"(0, -1, 0, $P10)
+    rx580_cur."!cursor_pos"(rx580_pos)
+    $P10 = rx580_cur."routine_def"()
+    unless $P10, rx580_fail
+    rx580_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("routine_def")
-    rx560_pos = $P10."pos"()
+    rx580_pos = $P10."pos"()
   # rx pass
-    rx560_cur."!cursor_pass"(rx560_pos, "routine_declarator:sym<sub>")
-    rx560_cur."!cursor_debug"("PASS  ", "routine_declarator:sym<sub>", " at pos=", rx560_pos)
-    .return (rx560_cur)
-  rx560_fail:
+    rx580_cur."!cursor_pass"(rx580_pos, "routine_declarator:sym<sub>")
+    rx580_cur."!cursor_debug"("PASS  ", "routine_declarator:sym<sub>", " at pos=", rx580_pos)
+    .return (rx580_cur)
+  rx580_fail:
 .annotate "line", 4
-    (rx560_rep, rx560_pos, $I10, $P10) = rx560_cur."!mark_fail"(0)
-    lt rx560_pos, -1, rx560_done
-    eq rx560_pos, -1, rx560_fail
+    (rx580_rep, rx580_pos, $I10, $P10) = rx580_cur."!mark_fail"(0)
+    lt rx580_pos, -1, rx580_done
+    eq rx580_pos, -1, rx580_fail
     jump $I10
-  rx560_done:
-    rx560_cur."!cursor_fail"()
-    rx560_cur."!cursor_debug"("FAIL  ", "routine_declarator:sym<sub>")
-    .return (rx560_cur)
+  rx580_done:
+    rx580_cur."!cursor_fail"()
+    rx580_cur."!cursor_debug"("FAIL  ", "routine_declarator:sym<sub>")
+    .return (rx580_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__routine_declarator:sym<sub>"  :subid("138_1259103982.97329") :method
+.sub "!PREFIX__routine_declarator:sym<sub>"  :subid("142_1259177761.22934") :method
 .annotate "line", 4
-    $P562 = self."!PREFIX__!subrule"("routine_def", "sub")
-    new $P563, "ResizablePMCArray"
-    push $P563, $P562
-    .return ($P563)
+    $P582 = self."!PREFIX__!subrule"("routine_def", "sub")
+    new $P583, "ResizablePMCArray"
+    push $P583, $P582
+    .return ($P583)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "routine_declarator:sym<method>"  :subid("139_1259103982.97329") :method :outer("11_1259103982.97329")
-.annotate "line", 4
-    .local string rx567_tgt
-    .local int rx567_pos
-    .local int rx567_off
-    .local int rx567_eos
-    .local int rx567_rep
-    .local pmc rx567_cur
-    (rx567_cur, rx567_pos, rx567_tgt) = self."!cursor_start"()
-    rx567_cur."!cursor_debug"("START ", "routine_declarator:sym<method>")
-    .lex unicode:"$\x{a2}", rx567_cur
-    .local pmc match
-    .lex "$/", match
-    length rx567_eos, rx567_tgt
-    set rx567_off, 0
-    lt rx567_pos, 2, rx567_start
-    sub rx567_off, rx567_pos, 1
-    substr rx567_tgt, rx567_tgt, rx567_off
-  rx567_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan571_done
-    goto rxscan571_scan
-  rxscan571_loop:
-    ($P10) = rx567_cur."from"()
-    inc $P10
-    set rx567_pos, $P10
-    ge rx567_pos, rx567_eos, rxscan571_done
-  rxscan571_scan:
-    set_addr $I10, rxscan571_loop
-    rx567_cur."!mark_push"(0, rx567_pos, $I10)
-  rxscan571_done:
-.annotate "line", 261
+.sub "routine_declarator:sym<method>"  :subid("143_1259177761.22934") :method :outer("11_1259177761.22934")
+.annotate "line", 4
+    .local string rx587_tgt
+    .local int rx587_pos
+    .local int rx587_off
+    .local int rx587_eos
+    .local int rx587_rep
+    .local pmc rx587_cur
+    (rx587_cur, rx587_pos, rx587_tgt) = self."!cursor_start"()
+    rx587_cur."!cursor_debug"("START ", "routine_declarator:sym<method>")
+    .lex unicode:"$\x{a2}", rx587_cur
+    .local pmc match
+    .lex "$/", match
+    length rx587_eos, rx587_tgt
+    set rx587_off, 0
+    lt rx587_pos, 2, rx587_start
+    sub rx587_off, rx587_pos, 1
+    substr rx587_tgt, rx587_tgt, rx587_off
+  rx587_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan591_done
+    goto rxscan591_scan
+  rxscan591_loop:
+    ($P10) = rx587_cur."from"()
+    inc $P10
+    set rx587_pos, $P10
+    ge rx587_pos, rx587_eos, rxscan591_done
+  rxscan591_scan:
+    set_addr $I10, rxscan591_loop
+    rx587_cur."!mark_push"(0, rx587_pos, $I10)
+  rxscan591_done:
+.annotate "line", 271
   # rx subcapture "sym"
-    set_addr $I10, rxcap_572_fail
-    rx567_cur."!mark_push"(0, rx567_pos, $I10)
+    set_addr $I10, rxcap_592_fail
+    rx587_cur."!mark_push"(0, rx587_pos, $I10)
   # rx literal  "method"
-    add $I11, rx567_pos, 6
-    gt $I11, rx567_eos, rx567_fail
-    sub $I11, rx567_pos, rx567_off
-    substr $S10, rx567_tgt, $I11, 6
-    ne $S10, "method", rx567_fail
-    add rx567_pos, 6
-    set_addr $I10, rxcap_572_fail
-    ($I12, $I11) = rx567_cur."!mark_peek"($I10)
-    rx567_cur."!cursor_pos"($I11)
-    ($P10) = rx567_cur."!cursor_start"()
-    $P10."!cursor_pass"(rx567_pos, "")
-    rx567_cur."!mark_push"(0, -1, 0, $P10)
+    add $I11, rx587_pos, 6
+    gt $I11, rx587_eos, rx587_fail
+    sub $I11, rx587_pos, rx587_off
+    substr $S10, rx587_tgt, $I11, 6
+    ne $S10, "method", rx587_fail
+    add rx587_pos, 6
+    set_addr $I10, rxcap_592_fail
+    ($I12, $I11) = rx587_cur."!mark_peek"($I10)
+    rx587_cur."!cursor_pos"($I11)
+    ($P10) = rx587_cur."!cursor_start"()
+    $P10."!cursor_pass"(rx587_pos, "")
+    rx587_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("sym")
-    goto rxcap_572_done
-  rxcap_572_fail:
-    goto rx567_fail
-  rxcap_572_done:
+    goto rxcap_592_done
+  rxcap_592_fail:
+    goto rx587_fail
+  rxcap_592_done:
   # rx subrule "method_def" subtype=capture negate=
-    rx567_cur."!cursor_pos"(rx567_pos)
-    $P10 = rx567_cur."method_def"()
-    unless $P10, rx567_fail
-    rx567_cur."!mark_push"(0, -1, 0, $P10)
+    rx587_cur."!cursor_pos"(rx587_pos)
+    $P10 = rx587_cur."method_def"()
+    unless $P10, rx587_fail
+    rx587_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("method_def")
-    rx567_pos = $P10."pos"()
+    rx587_pos = $P10."pos"()
   # rx pass
-    rx567_cur."!cursor_pass"(rx567_pos, "routine_declarator:sym<method>")
-    rx567_cur."!cursor_debug"("PASS  ", "routine_declarator:sym<method>", " at pos=", rx567_pos)
-    .return (rx567_cur)
-  rx567_fail:
+    rx587_cur."!cursor_pass"(rx587_pos, "routine_declarator:sym<method>")
+    rx587_cur."!cursor_debug"("PASS  ", "routine_declarator:sym<method>", " at pos=", rx587_pos)
+    .return (rx587_cur)
+  rx587_fail:
 .annotate "line", 4
-    (rx567_rep, rx567_pos, $I10, $P10) = rx567_cur."!mark_fail"(0)
-    lt rx567_pos, -1, rx567_done
-    eq rx567_pos, -1, rx567_fail
+    (rx587_rep, rx587_pos, $I10, $P10) = rx587_cur."!mark_fail"(0)
+    lt rx587_pos, -1, rx587_done
+    eq rx587_pos, -1, rx587_fail
     jump $I10
-  rx567_done:
-    rx567_cur."!cursor_fail"()
-    rx567_cur."!cursor_debug"("FAIL  ", "routine_declarator:sym<method>")
-    .return (rx567_cur)
+  rx587_done:
+    rx587_cur."!cursor_fail"()
+    rx587_cur."!cursor_debug"("FAIL  ", "routine_declarator:sym<method>")
+    .return (rx587_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__routine_declarator:sym<method>"  :subid("140_1259103982.97329") :method
+.sub "!PREFIX__routine_declarator:sym<method>"  :subid("144_1259177761.22934") :method
 .annotate "line", 4
-    $P569 = self."!PREFIX__!subrule"("method_def", "method")
-    new $P570, "ResizablePMCArray"
-    push $P570, $P569
-    .return ($P570)
+    $P589 = self."!PREFIX__!subrule"("method_def", "method")
+    new $P590, "ResizablePMCArray"
+    push $P590, $P589
+    .return ($P590)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "routine_def"  :subid("141_1259103982.97329") :method :outer("11_1259103982.97329")
+.sub "routine_def"  :subid("145_1259177761.22934") :method :outer("11_1259177761.22934")
 .annotate "line", 4
-    .local string rx574_tgt
-    .local int rx574_pos
-    .local int rx574_off
-    .local int rx574_eos
-    .local int rx574_rep
-    .local pmc rx574_cur
-    (rx574_cur, rx574_pos, rx574_tgt) = self."!cursor_start"()
-    rx574_cur."!cursor_debug"("START ", "routine_def")
-    rx574_cur."!cursor_caparray"("deflongname")
-    .lex unicode:"$\x{a2}", rx574_cur
+    .local string rx594_tgt
+    .local int rx594_pos
+    .local int rx594_off
+    .local int rx594_eos
+    .local int rx594_rep
+    .local pmc rx594_cur
+    (rx594_cur, rx594_pos, rx594_tgt) = self."!cursor_start"()
+    rx594_cur."!cursor_debug"("START ", "routine_def")
+    rx594_cur."!cursor_caparray"("deflongname")
+    .lex unicode:"$\x{a2}", rx594_cur
     .local pmc match
     .lex "$/", match
-    length rx574_eos, rx574_tgt
-    set rx574_off, 0
-    lt rx574_pos, 2, rx574_start
-    sub rx574_off, rx574_pos, 1
-    substr rx574_tgt, rx574_tgt, rx574_off
-  rx574_start:
+    length rx594_eos, rx594_tgt
+    set rx594_off, 0
+    lt rx594_pos, 2, rx594_start
+    sub rx594_off, rx594_pos, 1
+    substr rx594_tgt, rx594_tgt, rx594_off
+  rx594_start:
     $I10 = self.'from'()
-    ne $I10, -1, rxscan577_done
-    goto rxscan577_scan
-  rxscan577_loop:
-    ($P10) = rx574_cur."from"()
+    ne $I10, -1, rxscan597_done
+    goto rxscan597_scan
+  rxscan597_loop:
+    ($P10) = rx594_cur."from"()
     inc $P10
-    set rx574_pos, $P10
-    ge rx574_pos, rx574_eos, rxscan577_done
-  rxscan577_scan:
-    set_addr $I10, rxscan577_loop
-    rx574_cur."!mark_push"(0, rx574_pos, $I10)
-  rxscan577_done:
-.annotate "line", 263
+    set rx594_pos, $P10
+    ge rx594_pos, rx594_eos, rxscan597_done
+  rxscan597_scan:
+    set_addr $I10, rxscan597_loop
+    rx594_cur."!mark_push"(0, rx594_pos, $I10)
+  rxscan597_done:
+.annotate "line", 273
   # rx subrule "ws" subtype=method negate=
-    rx574_cur."!cursor_pos"(rx574_pos)
-    $P10 = rx574_cur."ws"()
-    unless $P10, rx574_fail
-    rx574_pos = $P10."pos"()
-.annotate "line", 264
-  # rx rxquantr579 ** 0..1
-    set_addr $I580, rxquantr579_done
-    rx574_cur."!mark_push"(0, rx574_pos, $I580)
-  rxquantr579_loop:
+    rx594_cur."!cursor_pos"(rx594_pos)
+    $P10 = rx594_cur."ws"()
+    unless $P10, rx594_fail
+    rx594_pos = $P10."pos"()
+.annotate "line", 274
+  # rx rxquantr599 ** 0..1
+    set_addr $I600, rxquantr599_done
+    rx594_cur."!mark_push"(0, rx594_pos, $I600)
+  rxquantr599_loop:
   # rx subrule "deflongname" subtype=capture negate=
-    rx574_cur."!cursor_pos"(rx574_pos)
-    $P10 = rx574_cur."deflongname"()
-    unless $P10, rx574_fail
-    rx574_cur."!mark_push"(0, -1, 0, $P10)
+    rx594_cur."!cursor_pos"(rx594_pos)
+    $P10 = rx594_cur."deflongname"()
+    unless $P10, rx594_fail
+    rx594_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("deflongname")
-    rx574_pos = $P10."pos"()
-    (rx574_rep) = rx574_cur."!mark_commit"($I580)
-  rxquantr579_done:
-  # rx subrule "ws" subtype=method negate=
-    rx574_cur."!cursor_pos"(rx574_pos)
-    $P10 = rx574_cur."ws"()
-    unless $P10, rx574_fail
-    rx574_pos = $P10."pos"()
-.annotate "line", 265
+    rx594_pos = $P10."pos"()
+    (rx594_rep) = rx594_cur."!mark_commit"($I600)
+  rxquantr599_done:
+  # rx subrule "ws" subtype=method negate=
+    rx594_cur."!cursor_pos"(rx594_pos)
+    $P10 = rx594_cur."ws"()
+    unless $P10, rx594_fail
+    rx594_pos = $P10."pos"()
+.annotate "line", 275
   # rx subrule "newpad" subtype=method negate=
-    rx574_cur."!cursor_pos"(rx574_pos)
-    $P10 = rx574_cur."newpad"()
-    unless $P10, rx574_fail
-    rx574_pos = $P10."pos"()
-  # rx subrule "ws" subtype=method negate=
-    rx574_cur."!cursor_pos"(rx574_pos)
-    $P10 = rx574_cur."ws"()
-    unless $P10, rx574_fail
-    rx574_pos = $P10."pos"()
-  alt583_0:
-.annotate "line", 266
-    set_addr $I10, alt583_1
-    rx574_cur."!mark_push"(0, rx574_pos, $I10)
+    rx594_cur."!cursor_pos"(rx594_pos)
+    $P10 = rx594_cur."newpad"()
+    unless $P10, rx594_fail
+    rx594_pos = $P10."pos"()
+  # rx subrule "ws" subtype=method negate=
+    rx594_cur."!cursor_pos"(rx594_pos)
+    $P10 = rx594_cur."ws"()
+    unless $P10, rx594_fail
+    rx594_pos = $P10."pos"()
+  alt603_0:
+.annotate "line", 276
+    set_addr $I10, alt603_1
+    rx594_cur."!mark_push"(0, rx594_pos, $I10)
   # rx subrule "ws" subtype=method negate=
-    rx574_cur."!cursor_pos"(rx574_pos)
-    $P10 = rx574_cur."ws"()
-    unless $P10, rx574_fail
-    rx574_pos = $P10."pos"()
+    rx594_cur."!cursor_pos"(rx594_pos)
+    $P10 = rx594_cur."ws"()
+    unless $P10, rx594_fail
+    rx594_pos = $P10."pos"()
   # rx literal  "("
-    add $I11, rx574_pos, 1
-    gt $I11, rx574_eos, rx574_fail
-    sub $I11, rx574_pos, rx574_off
-    substr $S10, rx574_tgt, $I11, 1
-    ne $S10, "(", rx574_fail
-    add rx574_pos, 1
-  # rx subrule "ws" subtype=method negate=
-    rx574_cur."!cursor_pos"(rx574_pos)
-    $P10 = rx574_cur."ws"()
-    unless $P10, rx574_fail
-    rx574_pos = $P10."pos"()
+    add $I11, rx594_pos, 1
+    gt $I11, rx594_eos, rx594_fail
+    sub $I11, rx594_pos, rx594_off
+    substr $S10, rx594_tgt, $I11, 1
+    ne $S10, "(", rx594_fail
+    add rx594_pos, 1
+  # rx subrule "ws" subtype=method negate=
+    rx594_cur."!cursor_pos"(rx594_pos)
+    $P10 = rx594_cur."ws"()
+    unless $P10, rx594_fail
+    rx594_pos = $P10."pos"()
   # rx subrule "signature" subtype=capture negate=
-    rx574_cur."!cursor_pos"(rx574_pos)
-    $P10 = rx574_cur."signature"()
-    unless $P10, rx574_fail
-    rx574_cur."!mark_push"(0, -1, 0, $P10)
+    rx594_cur."!cursor_pos"(rx594_pos)
+    $P10 = rx594_cur."signature"()
+    unless $P10, rx594_fail
+    rx594_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("signature")
-    rx574_pos = $P10."pos"()
+    rx594_pos = $P10."pos"()
   # rx subrule "ws" subtype=method negate=
-    rx574_cur."!cursor_pos"(rx574_pos)
-    $P10 = rx574_cur."ws"()
-    unless $P10, rx574_fail
-    rx574_pos = $P10."pos"()
+    rx594_cur."!cursor_pos"(rx594_pos)
+    $P10 = rx594_cur."ws"()
+    unless $P10, rx594_fail
+    rx594_pos = $P10."pos"()
   # rx literal  ")"
-    add $I11, rx574_pos, 1
-    gt $I11, rx574_eos, rx574_fail
-    sub $I11, rx574_pos, rx574_off
-    substr $S10, rx574_tgt, $I11, 1
-    ne $S10, ")", rx574_fail
-    add rx574_pos, 1
-  # rx subrule "ws" subtype=method negate=
-    rx574_cur."!cursor_pos"(rx574_pos)
-    $P10 = rx574_cur."ws"()
-    unless $P10, rx574_fail
-    rx574_pos = $P10."pos"()
-    goto alt583_end
-  alt583_1:
-.annotate "line", 267
+    add $I11, rx594_pos, 1
+    gt $I11, rx594_eos, rx594_fail
+    sub $I11, rx594_pos, rx594_off
+    substr $S10, rx594_tgt, $I11, 1
+    ne $S10, ")", rx594_fail
+    add rx594_pos, 1
+  # rx subrule "ws" subtype=method negate=
+    rx594_cur."!cursor_pos"(rx594_pos)
+    $P10 = rx594_cur."ws"()
+    unless $P10, rx594_fail
+    rx594_pos = $P10."pos"()
+    goto alt603_end
+  alt603_1:
+.annotate "line", 277
   # rx subrule "ws" subtype=method negate=
-    rx574_cur."!cursor_pos"(rx574_pos)
-    $P10 = rx574_cur."ws"()
-    unless $P10, rx574_fail
-    rx574_pos = $P10."pos"()
+    rx594_cur."!cursor_pos"(rx594_pos)
+    $P10 = rx594_cur."ws"()
+    unless $P10, rx594_fail
+    rx594_pos = $P10."pos"()
   # rx subrule "panic" subtype=method negate=
-    rx574_cur."!cursor_pos"(rx574_pos)
-    $P10 = rx574_cur."panic"("Routine declaration requires a signature")
-    unless $P10, rx574_fail
-    rx574_pos = $P10."pos"()
-  # rx subrule "ws" subtype=method negate=
-    rx574_cur."!cursor_pos"(rx574_pos)
-    $P10 = rx574_cur."ws"()
-    unless $P10, rx574_fail
-    rx574_pos = $P10."pos"()
-  alt583_end:
-  # rx subrule "ws" subtype=method negate=
-    rx574_cur."!cursor_pos"(rx574_pos)
-    $P10 = rx574_cur."ws"()
-    unless $P10, rx574_fail
-    rx574_pos = $P10."pos"()
-.annotate "line", 268
+    rx594_cur."!cursor_pos"(rx594_pos)
+    $P10 = rx594_cur."panic"("Routine declaration requires a signature")
+    unless $P10, rx594_fail
+    rx594_pos = $P10."pos"()
+  # rx subrule "ws" subtype=method negate=
+    rx594_cur."!cursor_pos"(rx594_pos)
+    $P10 = rx594_cur."ws"()
+    unless $P10, rx594_fail
+    rx594_pos = $P10."pos"()
+  alt603_end:
+  # rx subrule "ws" subtype=method negate=
+    rx594_cur."!cursor_pos"(rx594_pos)
+    $P10 = rx594_cur."ws"()
+    unless $P10, rx594_fail
+    rx594_pos = $P10."pos"()
+.annotate "line", 278
   # rx subrule "blockoid" subtype=capture negate=
-    rx574_cur."!cursor_pos"(rx574_pos)
-    $P10 = rx574_cur."blockoid"()
-    unless $P10, rx574_fail
-    rx574_cur."!mark_push"(0, -1, 0, $P10)
+    rx594_cur."!cursor_pos"(rx594_pos)
+    $P10 = rx594_cur."blockoid"()
+    unless $P10, rx594_fail
+    rx594_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("blockoid")
-    rx574_pos = $P10."pos"()
+    rx594_pos = $P10."pos"()
   # rx subrule "ws" subtype=method negate=
-    rx574_cur."!cursor_pos"(rx574_pos)
-    $P10 = rx574_cur."ws"()
-    unless $P10, rx574_fail
-    rx574_pos = $P10."pos"()
-.annotate "line", 263
+    rx594_cur."!cursor_pos"(rx594_pos)
+    $P10 = rx594_cur."ws"()
+    unless $P10, rx594_fail
+    rx594_pos = $P10."pos"()
+.annotate "line", 273
   # rx pass
-    rx574_cur."!cursor_pass"(rx574_pos, "routine_def")
-    rx574_cur."!cursor_debug"("PASS  ", "routine_def", " at pos=", rx574_pos)
-    .return (rx574_cur)
-  rx574_fail:
+    rx594_cur."!cursor_pass"(rx594_pos, "routine_def")
+    rx594_cur."!cursor_debug"("PASS  ", "routine_def", " at pos=", rx594_pos)
+    .return (rx594_cur)
+  rx594_fail:
 .annotate "line", 4
-    (rx574_rep, rx574_pos, $I10, $P10) = rx574_cur."!mark_fail"(0)
-    lt rx574_pos, -1, rx574_done
-    eq rx574_pos, -1, rx574_fail
+    (rx594_rep, rx594_pos, $I10, $P10) = rx594_cur."!mark_fail"(0)
+    lt rx594_pos, -1, rx594_done
+    eq rx594_pos, -1, rx594_fail
     jump $I10
-  rx574_done:
-    rx574_cur."!cursor_fail"()
-    rx574_cur."!cursor_debug"("FAIL  ", "routine_def")
-    .return (rx574_cur)
+  rx594_done:
+    rx594_cur."!cursor_fail"()
+    rx594_cur."!cursor_debug"("FAIL  ", "routine_def")
+    .return (rx594_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__routine_def"  :subid("142_1259103982.97329") :method
+.sub "!PREFIX__routine_def"  :subid("146_1259177761.22934") :method
 .annotate "line", 4
-    new $P576, "ResizablePMCArray"
-    push $P576, ""
-    .return ($P576)
+    new $P596, "ResizablePMCArray"
+    push $P596, ""
+    .return ($P596)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "method_def"  :subid("143_1259103982.97329") :method :outer("11_1259103982.97329")
+.sub "method_def"  :subid("147_1259177761.22934") :method :outer("11_1259177761.22934")
 .annotate "line", 4
-    .local string rx593_tgt
-    .local int rx593_pos
-    .local int rx593_off
-    .local int rx593_eos
-    .local int rx593_rep
-    .local pmc rx593_cur
-    (rx593_cur, rx593_pos, rx593_tgt) = self."!cursor_start"()
-    rx593_cur."!cursor_debug"("START ", "method_def")
-    rx593_cur."!cursor_caparray"("deflongname")
-    .lex unicode:"$\x{a2}", rx593_cur
-    .local pmc match
-    .lex "$/", match
-    length rx593_eos, rx593_tgt
-    set rx593_off, 0
-    lt rx593_pos, 2, rx593_start
-    sub rx593_off, rx593_pos, 1
-    substr rx593_tgt, rx593_tgt, rx593_off
-  rx593_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan596_done
-    goto rxscan596_scan
-  rxscan596_loop:
-    ($P10) = rx593_cur."from"()
-    inc $P10
-    set rx593_pos, $P10
-    ge rx593_pos, rx593_eos, rxscan596_done
-  rxscan596_scan:
-    set_addr $I10, rxscan596_loop
-    rx593_cur."!mark_push"(0, rx593_pos, $I10)
-  rxscan596_done:
-.annotate "line", 271
+    .local string rx613_tgt
+    .local int rx613_pos
+    .local int rx613_off
+    .local int rx613_eos
+    .local int rx613_rep
+    .local pmc rx613_cur
+    (rx613_cur, rx613_pos, rx613_tgt) = self."!cursor_start"()
+    rx613_cur."!cursor_debug"("START ", "method_def")
+    rx613_cur."!cursor_caparray"("deflongname")
+    .lex unicode:"$\x{a2}", rx613_cur
+    .local pmc match
+    .lex "$/", match
+    length rx613_eos, rx613_tgt
+    set rx613_off, 0
+    lt rx613_pos, 2, rx613_start
+    sub rx613_off, rx613_pos, 1
+    substr rx613_tgt, rx613_tgt, rx613_off
+  rx613_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan616_done
+    goto rxscan616_scan
+  rxscan616_loop:
+    ($P10) = rx613_cur."from"()
+    inc $P10
+    set rx613_pos, $P10
+    ge rx613_pos, rx613_eos, rxscan616_done
+  rxscan616_scan:
+    set_addr $I10, rxscan616_loop
+    rx613_cur."!mark_push"(0, rx613_pos, $I10)
+  rxscan616_done:
+.annotate "line", 281
   # rx subrule "ws" subtype=method negate=
-    rx593_cur."!cursor_pos"(rx593_pos)
-    $P10 = rx593_cur."ws"()
-    unless $P10, rx593_fail
-    rx593_pos = $P10."pos"()
-.annotate "line", 272
-  # rx rxquantr598 ** 0..1
-    set_addr $I599, rxquantr598_done
-    rx593_cur."!mark_push"(0, rx593_pos, $I599)
-  rxquantr598_loop:
+    rx613_cur."!cursor_pos"(rx613_pos)
+    $P10 = rx613_cur."ws"()
+    unless $P10, rx613_fail
+    rx613_pos = $P10."pos"()
+.annotate "line", 282
+  # rx rxquantr618 ** 0..1
+    set_addr $I619, rxquantr618_done
+    rx613_cur."!mark_push"(0, rx613_pos, $I619)
+  rxquantr618_loop:
   # rx subrule "deflongname" subtype=capture negate=
-    rx593_cur."!cursor_pos"(rx593_pos)
-    $P10 = rx593_cur."deflongname"()
-    unless $P10, rx593_fail
-    rx593_cur."!mark_push"(0, -1, 0, $P10)
+    rx613_cur."!cursor_pos"(rx613_pos)
+    $P10 = rx613_cur."deflongname"()
+    unless $P10, rx613_fail
+    rx613_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("deflongname")
-    rx593_pos = $P10."pos"()
-    (rx593_rep) = rx593_cur."!mark_commit"($I599)
-  rxquantr598_done:
-  # rx subrule "ws" subtype=method negate=
-    rx593_cur."!cursor_pos"(rx593_pos)
-    $P10 = rx593_cur."ws"()
-    unless $P10, rx593_fail
-    rx593_pos = $P10."pos"()
-.annotate "line", 273
+    rx613_pos = $P10."pos"()
+    (rx613_rep) = rx613_cur."!mark_commit"($I619)
+  rxquantr618_done:
+  # rx subrule "ws" subtype=method negate=
+    rx613_cur."!cursor_pos"(rx613_pos)
+    $P10 = rx613_cur."ws"()
+    unless $P10, rx613_fail
+    rx613_pos = $P10."pos"()
+.annotate "line", 283
   # rx subrule "newpad" subtype=method negate=
-    rx593_cur."!cursor_pos"(rx593_pos)
-    $P10 = rx593_cur."newpad"()
-    unless $P10, rx593_fail
-    rx593_pos = $P10."pos"()
-  # rx subrule "ws" subtype=method negate=
-    rx593_cur."!cursor_pos"(rx593_pos)
-    $P10 = rx593_cur."ws"()
-    unless $P10, rx593_fail
-    rx593_pos = $P10."pos"()
-  alt602_0:
-.annotate "line", 274
-    set_addr $I10, alt602_1
-    rx593_cur."!mark_push"(0, rx593_pos, $I10)
+    rx613_cur."!cursor_pos"(rx613_pos)
+    $P10 = rx613_cur."newpad"()
+    unless $P10, rx613_fail
+    rx613_pos = $P10."pos"()
+  # rx subrule "ws" subtype=method negate=
+    rx613_cur."!cursor_pos"(rx613_pos)
+    $P10 = rx613_cur."ws"()
+    unless $P10, rx613_fail
+    rx613_pos = $P10."pos"()
+  alt622_0:
+.annotate "line", 284
+    set_addr $I10, alt622_1
+    rx613_cur."!mark_push"(0, rx613_pos, $I10)
   # rx subrule "ws" subtype=method negate=
-    rx593_cur."!cursor_pos"(rx593_pos)
-    $P10 = rx593_cur."ws"()
-    unless $P10, rx593_fail
-    rx593_pos = $P10."pos"()
+    rx613_cur."!cursor_pos"(rx613_pos)
+    $P10 = rx613_cur."ws"()
+    unless $P10, rx613_fail
+    rx613_pos = $P10."pos"()
   # rx literal  "("
-    add $I11, rx593_pos, 1
-    gt $I11, rx593_eos, rx593_fail
-    sub $I11, rx593_pos, rx593_off
-    substr $S10, rx593_tgt, $I11, 1
-    ne $S10, "(", rx593_fail
-    add rx593_pos, 1
-  # rx subrule "ws" subtype=method negate=
-    rx593_cur."!cursor_pos"(rx593_pos)
-    $P10 = rx593_cur."ws"()
-    unless $P10, rx593_fail
-    rx593_pos = $P10."pos"()
+    add $I11, rx613_pos, 1
+    gt $I11, rx613_eos, rx613_fail
+    sub $I11, rx613_pos, rx613_off
+    substr $S10, rx613_tgt, $I11, 1
+    ne $S10, "(", rx613_fail
+    add rx613_pos, 1
+  # rx subrule "ws" subtype=method negate=
+    rx613_cur."!cursor_pos"(rx613_pos)
+    $P10 = rx613_cur."ws"()
+    unless $P10, rx613_fail
+    rx613_pos = $P10."pos"()
   # rx subrule "signature" subtype=capture negate=
-    rx593_cur."!cursor_pos"(rx593_pos)
-    $P10 = rx593_cur."signature"()
-    unless $P10, rx593_fail
-    rx593_cur."!mark_push"(0, -1, 0, $P10)
+    rx613_cur."!cursor_pos"(rx613_pos)
+    $P10 = rx613_cur."signature"()
+    unless $P10, rx613_fail
+    rx613_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("signature")
-    rx593_pos = $P10."pos"()
+    rx613_pos = $P10."pos"()
   # rx subrule "ws" subtype=method negate=
-    rx593_cur."!cursor_pos"(rx593_pos)
-    $P10 = rx593_cur."ws"()
-    unless $P10, rx593_fail
-    rx593_pos = $P10."pos"()
+    rx613_cur."!cursor_pos"(rx613_pos)
+    $P10 = rx613_cur."ws"()
+    unless $P10, rx613_fail
+    rx613_pos = $P10."pos"()
   # rx literal  ")"
-    add $I11, rx593_pos, 1
-    gt $I11, rx593_eos, rx593_fail
-    sub $I11, rx593_pos, rx593_off
-    substr $S10, rx593_tgt, $I11, 1
-    ne $S10, ")", rx593_fail
-    add rx593_pos, 1
-  # rx subrule "ws" subtype=method negate=
-    rx593_cur."!cursor_pos"(rx593_pos)
-    $P10 = rx593_cur."ws"()
-    unless $P10, rx593_fail
-    rx593_pos = $P10."pos"()
-    goto alt602_end
-  alt602_1:
-.annotate "line", 275
-  # rx subrule "ws" subtype=method negate=
-    rx593_cur."!cursor_pos"(rx593_pos)
-    $P10 = rx593_cur."ws"()
-    unless $P10, rx593_fail
-    rx593_pos = $P10."pos"()
+    add $I11, rx613_pos, 1
+    gt $I11, rx613_eos, rx613_fail
+    sub $I11, rx613_pos, rx613_off
+    substr $S10, rx613_tgt, $I11, 1
+    ne $S10, ")", rx613_fail
+    add rx613_pos, 1
+  # rx subrule "ws" subtype=method negate=
+    rx613_cur."!cursor_pos"(rx613_pos)
+    $P10 = rx613_cur."ws"()
+    unless $P10, rx613_fail
+    rx613_pos = $P10."pos"()
+    goto alt622_end
+  alt622_1:
+.annotate "line", 285
+  # rx subrule "ws" subtype=method negate=
+    rx613_cur."!cursor_pos"(rx613_pos)
+    $P10 = rx613_cur."ws"()
+    unless $P10, rx613_fail
+    rx613_pos = $P10."pos"()
   # rx subrule "panic" subtype=method negate=
-    rx593_cur."!cursor_pos"(rx593_pos)
-    $P10 = rx593_cur."panic"("Routine declaration requires a signature")
-    unless $P10, rx593_fail
-    rx593_pos = $P10."pos"()
-  # rx subrule "ws" subtype=method negate=
-    rx593_cur."!cursor_pos"(rx593_pos)
-    $P10 = rx593_cur."ws"()
-    unless $P10, rx593_fail
-    rx593_pos = $P10."pos"()
-  alt602_end:
-  # rx subrule "ws" subtype=method negate=
-    rx593_cur."!cursor_pos"(rx593_pos)
-    $P10 = rx593_cur."ws"()
-    unless $P10, rx593_fail
-    rx593_pos = $P10."pos"()
-.annotate "line", 276
+    rx613_cur."!cursor_pos"(rx613_pos)
+    $P10 = rx613_cur."panic"("Routine declaration requires a signature")
+    unless $P10, rx613_fail
+    rx613_pos = $P10."pos"()
+  # rx subrule "ws" subtype=method negate=
+    rx613_cur."!cursor_pos"(rx613_pos)
+    $P10 = rx613_cur."ws"()
+    unless $P10, rx613_fail
+    rx613_pos = $P10."pos"()
+  alt622_end:
+  # rx subrule "ws" subtype=method negate=
+    rx613_cur."!cursor_pos"(rx613_pos)
+    $P10 = rx613_cur."ws"()
+    unless $P10, rx613_fail
+    rx613_pos = $P10."pos"()
+.annotate "line", 286
   # rx subrule "blockoid" subtype=capture negate=
-    rx593_cur."!cursor_pos"(rx593_pos)
-    $P10 = rx593_cur."blockoid"()
-    unless $P10, rx593_fail
-    rx593_cur."!mark_push"(0, -1, 0, $P10)
+    rx613_cur."!cursor_pos"(rx613_pos)
+    $P10 = rx613_cur."blockoid"()
+    unless $P10, rx613_fail
+    rx613_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("blockoid")
-    rx593_pos = $P10."pos"()
+    rx613_pos = $P10."pos"()
   # rx subrule "ws" subtype=method negate=
-    rx593_cur."!cursor_pos"(rx593_pos)
-    $P10 = rx593_cur."ws"()
-    unless $P10, rx593_fail
-    rx593_pos = $P10."pos"()
-.annotate "line", 271
+    rx613_cur."!cursor_pos"(rx613_pos)
+    $P10 = rx613_cur."ws"()
+    unless $P10, rx613_fail
+    rx613_pos = $P10."pos"()
+.annotate "line", 281
   # rx pass
-    rx593_cur."!cursor_pass"(rx593_pos, "method_def")
-    rx593_cur."!cursor_debug"("PASS  ", "method_def", " at pos=", rx593_pos)
-    .return (rx593_cur)
-  rx593_fail:
+    rx613_cur."!cursor_pass"(rx613_pos, "method_def")
+    rx613_cur."!cursor_debug"("PASS  ", "method_def", " at pos=", rx613_pos)
+    .return (rx613_cur)
+  rx613_fail:
 .annotate "line", 4
-    (rx593_rep, rx593_pos, $I10, $P10) = rx593_cur."!mark_fail"(0)
-    lt rx593_pos, -1, rx593_done
-    eq rx593_pos, -1, rx593_fail
+    (rx613_rep, rx613_pos, $I10, $P10) = rx613_cur."!mark_fail"(0)
+    lt rx613_pos, -1, rx613_done
+    eq rx613_pos, -1, rx613_fail
     jump $I10
-  rx593_done:
-    rx593_cur."!cursor_fail"()
-    rx593_cur."!cursor_debug"("FAIL  ", "method_def")
-    .return (rx593_cur)
+  rx613_done:
+    rx613_cur."!cursor_fail"()
+    rx613_cur."!cursor_debug"("FAIL  ", "method_def")
+    .return (rx613_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__method_def"  :subid("144_1259103982.97329") :method
+.sub "!PREFIX__method_def"  :subid("148_1259177761.22934") :method
 .annotate "line", 4
-    new $P595, "ResizablePMCArray"
-    push $P595, ""
-    .return ($P595)
+    new $P615, "ResizablePMCArray"
+    push $P615, ""
+    .return ($P615)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "signature"  :subid("145_1259103982.97329") :method :outer("11_1259103982.97329")
+.sub "signature"  :subid("149_1259177761.22934") :method :outer("11_1259177761.22934")
 .annotate "line", 4
-    .local string rx612_tgt
-    .local int rx612_pos
-    .local int rx612_off
-    .local int rx612_eos
-    .local int rx612_rep
-    .local pmc rx612_cur
-    (rx612_cur, rx612_pos, rx612_tgt) = self."!cursor_start"()
-    rx612_cur."!cursor_debug"("START ", "signature")
-    rx612_cur."!cursor_caparray"("parameter")
-    .lex unicode:"$\x{a2}", rx612_cur
+    .local string rx632_tgt
+    .local int rx632_pos
+    .local int rx632_off
+    .local int rx632_eos
+    .local int rx632_rep
+    .local pmc rx632_cur
+    (rx632_cur, rx632_pos, rx632_tgt) = self."!cursor_start"()
+    rx632_cur."!cursor_debug"("START ", "signature")
+    rx632_cur."!cursor_caparray"("parameter")
+    .lex unicode:"$\x{a2}", rx632_cur
     .local pmc match
     .lex "$/", match
-    length rx612_eos, rx612_tgt
-    set rx612_off, 0
-    lt rx612_pos, 2, rx612_start
-    sub rx612_off, rx612_pos, 1
-    substr rx612_tgt, rx612_tgt, rx612_off
-  rx612_start:
+    length rx632_eos, rx632_tgt
+    set rx632_off, 0
+    lt rx632_pos, 2, rx632_start
+    sub rx632_off, rx632_pos, 1
+    substr rx632_tgt, rx632_tgt, rx632_off
+  rx632_start:
     $I10 = self.'from'()
-    ne $I10, -1, rxscan615_done
-    goto rxscan615_scan
-  rxscan615_loop:
-    ($P10) = rx612_cur."from"()
+    ne $I10, -1, rxscan635_done
+    goto rxscan635_scan
+  rxscan635_loop:
+    ($P10) = rx632_cur."from"()
     inc $P10
-    set rx612_pos, $P10
-    ge rx612_pos, rx612_eos, rxscan615_done
-  rxscan615_scan:
-    set_addr $I10, rxscan615_loop
-    rx612_cur."!mark_push"(0, rx612_pos, $I10)
-  rxscan615_done:
-.annotate "line", 279
-  # rx rxquantr616 ** 0..1
-    set_addr $I619, rxquantr616_done
-    rx612_cur."!mark_push"(0, rx612_pos, $I619)
-  rxquantr616_loop:
-  # rx rxquantr617 ** 1..*
-    set_addr $I618, rxquantr617_done
-    rx612_cur."!mark_push"(0, -1, $I618)
-  rxquantr617_loop:
-  # rx subrule "ws" subtype=method negate=
-    rx612_cur."!cursor_pos"(rx612_pos)
-    $P10 = rx612_cur."ws"()
-    unless $P10, rx612_fail
-    rx612_pos = $P10."pos"()
+    set rx632_pos, $P10
+    ge rx632_pos, rx632_eos, rxscan635_done
+  rxscan635_scan:
+    set_addr $I10, rxscan635_loop
+    rx632_cur."!mark_push"(0, rx632_pos, $I10)
+  rxscan635_done:
+.annotate "line", 289
+  # rx rxquantr636 ** 0..1
+    set_addr $I639, rxquantr636_done
+    rx632_cur."!mark_push"(0, rx632_pos, $I639)
+  rxquantr636_loop:
+  # rx rxquantr637 ** 1..*
+    set_addr $I638, rxquantr637_done
+    rx632_cur."!mark_push"(0, -1, $I638)
+  rxquantr637_loop:
+  # rx subrule "ws" subtype=method negate=
+    rx632_cur."!cursor_pos"(rx632_pos)
+    $P10 = rx632_cur."ws"()
+    unless $P10, rx632_fail
+    rx632_pos = $P10."pos"()
   # rx subrule "parameter" subtype=capture negate=
-    rx612_cur."!cursor_pos"(rx612_pos)
-    $P10 = rx612_cur."parameter"()
-    unless $P10, rx612_fail
-    rx612_cur."!mark_push"(0, -1, 0, $P10)
+    rx632_cur."!cursor_pos"(rx632_pos)
+    $P10 = rx632_cur."parameter"()
+    unless $P10, rx632_fail
+    rx632_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("parameter")
-    rx612_pos = $P10."pos"()
+    rx632_pos = $P10."pos"()
   # rx subrule "ws" subtype=method negate=
-    rx612_cur."!cursor_pos"(rx612_pos)
-    $P10 = rx612_cur."ws"()
-    unless $P10, rx612_fail
-    rx612_pos = $P10."pos"()
-    (rx612_rep) = rx612_cur."!mark_commit"($I618)
-    rx612_cur."!mark_push"(rx612_rep, rx612_pos, $I618)
+    rx632_cur."!cursor_pos"(rx632_pos)
+    $P10 = rx632_cur."ws"()
+    unless $P10, rx632_fail
+    rx632_pos = $P10."pos"()
+    (rx632_rep) = rx632_cur."!mark_commit"($I638)
+    rx632_cur."!mark_push"(rx632_rep, rx632_pos, $I638)
   # rx literal  ","
-    add $I11, rx612_pos, 1
-    gt $I11, rx612_eos, rx612_fail
-    sub $I11, rx612_pos, rx612_off
-    substr $S10, rx612_tgt, $I11, 1
-    ne $S10, ",", rx612_fail
-    add rx612_pos, 1
-    goto rxquantr617_loop
-  rxquantr617_done:
-    (rx612_rep) = rx612_cur."!mark_commit"($I619)
-  rxquantr616_done:
-  # rx pass
-    rx612_cur."!cursor_pass"(rx612_pos, "signature")
-    rx612_cur."!cursor_debug"("PASS  ", "signature", " at pos=", rx612_pos)
-    .return (rx612_cur)
-  rx612_fail:
-.annotate "line", 4
-    (rx612_rep, rx612_pos, $I10, $P10) = rx612_cur."!mark_fail"(0)
-    lt rx612_pos, -1, rx612_done
-    eq rx612_pos, -1, rx612_fail
-    jump $I10
-  rx612_done:
-    rx612_cur."!cursor_fail"()
-    rx612_cur."!cursor_debug"("FAIL  ", "signature")
-    .return (rx612_cur)
+    add $I11, rx632_pos, 1
+    gt $I11, rx632_eos, rx632_fail
+    sub $I11, rx632_pos, rx632_off
+    substr $S10, rx632_tgt, $I11, 1
+    ne $S10, ",", rx632_fail
+    add rx632_pos, 1
+    goto rxquantr637_loop
+  rxquantr637_done:
+    (rx632_rep) = rx632_cur."!mark_commit"($I639)
+  rxquantr636_done:
+  # rx pass
+    rx632_cur."!cursor_pass"(rx632_pos, "signature")
+    rx632_cur."!cursor_debug"("PASS  ", "signature", " at pos=", rx632_pos)
+    .return (rx632_cur)
+  rx632_fail:
+.annotate "line", 4
+    (rx632_rep, rx632_pos, $I10, $P10) = rx632_cur."!mark_fail"(0)
+    lt rx632_pos, -1, rx632_done
+    eq rx632_pos, -1, rx632_fail
+    jump $I10
+  rx632_done:
+    rx632_cur."!cursor_fail"()
+    rx632_cur."!cursor_debug"("FAIL  ", "signature")
+    .return (rx632_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__signature"  :subid("146_1259103982.97329") :method
-.annotate "line", 4
-    new $P614, "ResizablePMCArray"
-    push $P614, ""
-    .return ($P614)
-.end
-
-
-.namespace ["NQP";"Grammar"]
-.sub "parameter"  :subid("147_1259103982.97329") :method :outer("11_1259103982.97329")
-.annotate "line", 4
-    .local string rx621_tgt
-    .local int rx621_pos
-    .local int rx621_off
-    .local int rx621_eos
-    .local int rx621_rep
-    .local pmc rx621_cur
-    (rx621_cur, rx621_pos, rx621_tgt) = self."!cursor_start"()
-    rx621_cur."!cursor_debug"("START ", "parameter")
-    rx621_cur."!cursor_caparray"("default_value")
-    .lex unicode:"$\x{a2}", rx621_cur
-    .local pmc match
-    .lex "$/", match
-    length rx621_eos, rx621_tgt
-    set rx621_off, 0
-    lt rx621_pos, 2, rx621_start
-    sub rx621_off, rx621_pos, 1
-    substr rx621_tgt, rx621_tgt, rx621_off
-  rx621_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan627_done
-    goto rxscan627_scan
-  rxscan627_loop:
-    ($P10) = rx621_cur."from"()
-    inc $P10
-    set rx621_pos, $P10
-    ge rx621_pos, rx621_eos, rxscan627_done
-  rxscan627_scan:
-    set_addr $I10, rxscan627_loop
-    rx621_cur."!mark_push"(0, rx621_pos, $I10)
-  rxscan627_done:
-  alt628_0:
-.annotate "line", 282
-    set_addr $I10, alt628_1
-    rx621_cur."!mark_push"(0, rx621_pos, $I10)
-.annotate "line", 283
+.sub "!PREFIX__signature"  :subid("150_1259177761.22934") :method
+.annotate "line", 4
+    new $P634, "ResizablePMCArray"
+    push $P634, ""
+    .return ($P634)
+.end
+
+
+.namespace ["NQP";"Grammar"]
+.sub "parameter"  :subid("151_1259177761.22934") :method :outer("11_1259177761.22934")
+.annotate "line", 4
+    .local string rx641_tgt
+    .local int rx641_pos
+    .local int rx641_off
+    .local int rx641_eos
+    .local int rx641_rep
+    .local pmc rx641_cur
+    (rx641_cur, rx641_pos, rx641_tgt) = self."!cursor_start"()
+    rx641_cur."!cursor_debug"("START ", "parameter")
+    rx641_cur."!cursor_caparray"("default_value")
+    .lex unicode:"$\x{a2}", rx641_cur
+    .local pmc match
+    .lex "$/", match
+    length rx641_eos, rx641_tgt
+    set rx641_off, 0
+    lt rx641_pos, 2, rx641_start
+    sub rx641_off, rx641_pos, 1
+    substr rx641_tgt, rx641_tgt, rx641_off
+  rx641_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan647_done
+    goto rxscan647_scan
+  rxscan647_loop:
+    ($P10) = rx641_cur."from"()
+    inc $P10
+    set rx641_pos, $P10
+    ge rx641_pos, rx641_eos, rxscan647_done
+  rxscan647_scan:
+    set_addr $I10, rxscan647_loop
+    rx641_cur."!mark_push"(0, rx641_pos, $I10)
+  rxscan647_done:
+  alt648_0:
+.annotate "line", 292
+    set_addr $I10, alt648_1
+    rx641_cur."!mark_push"(0, rx641_pos, $I10)
+.annotate "line", 293
   # rx subcapture "quant"
-    set_addr $I10, rxcap_629_fail
-    rx621_cur."!mark_push"(0, rx621_pos, $I10)
+    set_addr $I10, rxcap_649_fail
+    rx641_cur."!mark_push"(0, rx641_pos, $I10)
   # rx literal  "*"
-    add $I11, rx621_pos, 1
-    gt $I11, rx621_eos, rx621_fail
-    sub $I11, rx621_pos, rx621_off
-    substr $S10, rx621_tgt, $I11, 1
-    ne $S10, "*", rx621_fail
-    add rx621_pos, 1
-    set_addr $I10, rxcap_629_fail
-    ($I12, $I11) = rx621_cur."!mark_peek"($I10)
-    rx621_cur."!cursor_pos"($I11)
-    ($P10) = rx621_cur."!cursor_start"()
-    $P10."!cursor_pass"(rx621_pos, "")
-    rx621_cur."!mark_push"(0, -1, 0, $P10)
+    add $I11, rx641_pos, 1
+    gt $I11, rx641_eos, rx641_fail
+    sub $I11, rx641_pos, rx641_off
+    substr $S10, rx641_tgt, $I11, 1
+    ne $S10, "*", rx641_fail
+    add rx641_pos, 1
+    set_addr $I10, rxcap_649_fail
+    ($I12, $I11) = rx641_cur."!mark_peek"($I10)
+    rx641_cur."!cursor_pos"($I11)
+    ($P10) = rx641_cur."!cursor_start"()
+    $P10."!cursor_pass"(rx641_pos, "")
+    rx641_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("quant")
-    goto rxcap_629_done
-  rxcap_629_fail:
-    goto rx621_fail
-  rxcap_629_done:
+    goto rxcap_649_done
+  rxcap_649_fail:
+    goto rx641_fail
+  rxcap_649_done:
   # rx subrule "param_var" subtype=capture negate=
-    rx621_cur."!cursor_pos"(rx621_pos)
-    $P10 = rx621_cur."param_var"()
-    unless $P10, rx621_fail
-    rx621_cur."!mark_push"(0, -1, 0, $P10)
+    rx641_cur."!cursor_pos"(rx641_pos)
+    $P10 = rx641_cur."param_var"()
+    unless $P10, rx641_fail
+    rx641_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("param_var")
-    rx621_pos = $P10."pos"()
-    goto alt628_end
-  alt628_1:
-  alt630_0:
-.annotate "line", 284
-    set_addr $I10, alt630_1
-    rx621_cur."!mark_push"(0, rx621_pos, $I10)
+    rx641_pos = $P10."pos"()
+    goto alt648_end
+  alt648_1:
+  alt650_0:
+.annotate "line", 294
+    set_addr $I10, alt650_1
+    rx641_cur."!mark_push"(0, rx641_pos, $I10)
   # rx subrule "param_var" subtype=capture negate=
-    rx621_cur."!cursor_pos"(rx621_pos)
-    $P10 = rx621_cur."param_var"()
-    unless $P10, rx621_fail
-    rx621_cur."!mark_push"(0, -1, 0, $P10)
+    rx641_cur."!cursor_pos"(rx641_pos)
+    $P10 = rx641_cur."param_var"()
+    unless $P10, rx641_fail
+    rx641_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("param_var")
-    rx621_pos = $P10."pos"()
-    goto alt630_end
-  alt630_1:
+    rx641_pos = $P10."pos"()
+    goto alt650_end
+  alt650_1:
   # rx subrule "named_param" subtype=capture negate=
-    rx621_cur."!cursor_pos"(rx621_pos)
-    $P10 = rx621_cur."named_param"()
-    unless $P10, rx621_fail
-    rx621_cur."!mark_push"(0, -1, 0, $P10)
+    rx641_cur."!cursor_pos"(rx641_pos)
+    $P10 = rx641_cur."named_param"()
+    unless $P10, rx641_fail
+    rx641_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("named_param")
-    rx621_pos = $P10."pos"()
-  alt630_end:
+    rx641_pos = $P10."pos"()
+  alt650_end:
   # rx subcapture "quant"
-    set_addr $I10, rxcap_632_fail
-    rx621_cur."!mark_push"(0, rx621_pos, $I10)
-  alt631_0:
-    set_addr $I10, alt631_1
-    rx621_cur."!mark_push"(0, rx621_pos, $I10)
+    set_addr $I10, rxcap_652_fail
+    rx641_cur."!mark_push"(0, rx641_pos, $I10)
+  alt651_0:
+    set_addr $I10, alt651_1
+    rx641_cur."!mark_push"(0, rx641_pos, $I10)
   # rx literal  "?"
-    add $I11, rx621_pos, 1
-    gt $I11, rx621_eos, rx621_fail
-    sub $I11, rx621_pos, rx621_off
-    substr $S10, rx621_tgt, $I11, 1
-    ne $S10, "?", rx621_fail
-    add rx621_pos, 1
-    goto alt631_end
-  alt631_1:
-    set_addr $I10, alt631_2
-    rx621_cur."!mark_push"(0, rx621_pos, $I10)
+    add $I11, rx641_pos, 1
+    gt $I11, rx641_eos, rx641_fail
+    sub $I11, rx641_pos, rx641_off
+    substr $S10, rx641_tgt, $I11, 1
+    ne $S10, "?", rx641_fail
+    add rx641_pos, 1
+    goto alt651_end
+  alt651_1:
+    set_addr $I10, alt651_2
+    rx641_cur."!mark_push"(0, rx641_pos, $I10)
   # rx literal  "!"
-    add $I11, rx621_pos, 1
-    gt $I11, rx621_eos, rx621_fail
-    sub $I11, rx621_pos, rx621_off
-    substr $S10, rx621_tgt, $I11, 1
-    ne $S10, "!", rx621_fail
-    add rx621_pos, 1
-    goto alt631_end
-  alt631_2:
-  alt631_end:
-    set_addr $I10, rxcap_632_fail
-    ($I12, $I11) = rx621_cur."!mark_peek"($I10)
-    rx621_cur."!cursor_pos"($I11)
-    ($P10) = rx621_cur."!cursor_start"()
-    $P10."!cursor_pass"(rx621_pos, "")
-    rx621_cur."!mark_push"(0, -1, 0, $P10)
+    add $I11, rx641_pos, 1
+    gt $I11, rx641_eos, rx641_fail
+    sub $I11, rx641_pos, rx641_off
+    substr $S10, rx641_tgt, $I11, 1
+    ne $S10, "!", rx641_fail
+    add rx641_pos, 1
+    goto alt651_end
+  alt651_2:
+  alt651_end:
+    set_addr $I10, rxcap_652_fail
+    ($I12, $I11) = rx641_cur."!mark_peek"($I10)
+    rx641_cur."!cursor_pos"($I11)
+    ($P10) = rx641_cur."!cursor_start"()
+    $P10."!cursor_pass"(rx641_pos, "")
+    rx641_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("quant")
-    goto rxcap_632_done
-  rxcap_632_fail:
-    goto rx621_fail
-  rxcap_632_done:
-  alt628_end:
-.annotate "line", 286
-  # rx rxquantr633 ** 0..1
-    set_addr $I634, rxquantr633_done
-    rx621_cur."!mark_push"(0, rx621_pos, $I634)
-  rxquantr633_loop:
+    goto rxcap_652_done
+  rxcap_652_fail:
+    goto rx641_fail
+  rxcap_652_done:
+  alt648_end:
+.annotate "line", 296
+  # rx rxquantr653 ** 0..1
+    set_addr $I654, rxquantr653_done
+    rx641_cur."!mark_push"(0, rx641_pos, $I654)
+  rxquantr653_loop:
   # rx subrule "default_value" subtype=capture negate=
-    rx621_cur."!cursor_pos"(rx621_pos)
-    $P10 = rx621_cur."default_value"()
-    unless $P10, rx621_fail
-    rx621_cur."!mark_push"(0, -1, 0, $P10)
+    rx641_cur."!cursor_pos"(rx641_pos)
+    $P10 = rx641_cur."default_value"()
+    unless $P10, rx641_fail
+    rx641_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("default_value")
-    rx621_pos = $P10."pos"()
-    (rx621_rep) = rx621_cur."!mark_commit"($I634)
-  rxquantr633_done:
-.annotate "line", 281
+    rx641_pos = $P10."pos"()
+    (rx641_rep) = rx641_cur."!mark_commit"($I654)
+  rxquantr653_done:
+.annotate "line", 291
   # rx pass
-    rx621_cur."!cursor_pass"(rx621_pos, "parameter")
-    rx621_cur."!cursor_debug"("PASS  ", "parameter", " at pos=", rx621_pos)
-    .return (rx621_cur)
-  rx621_fail:
+    rx641_cur."!cursor_pass"(rx641_pos, "parameter")
+    rx641_cur."!cursor_debug"("PASS  ", "parameter", " at pos=", rx641_pos)
+    .return (rx641_cur)
+  rx641_fail:
 .annotate "line", 4
-    (rx621_rep, rx621_pos, $I10, $P10) = rx621_cur."!mark_fail"(0)
-    lt rx621_pos, -1, rx621_done
-    eq rx621_pos, -1, rx621_fail
+    (rx641_rep, rx641_pos, $I10, $P10) = rx641_cur."!mark_fail"(0)
+    lt rx641_pos, -1, rx641_done
+    eq rx641_pos, -1, rx641_fail
     jump $I10
-  rx621_done:
-    rx621_cur."!cursor_fail"()
-    rx621_cur."!cursor_debug"("FAIL  ", "parameter")
-    .return (rx621_cur)
+  rx641_done:
+    rx641_cur."!cursor_fail"()
+    rx641_cur."!cursor_debug"("FAIL  ", "parameter")
+    .return (rx641_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__parameter"  :subid("148_1259103982.97329") :method
+.sub "!PREFIX__parameter"  :subid("152_1259177761.22934") :method
 .annotate "line", 4
-    $P623 = self."!PREFIX__!subrule"("named_param", "")
-    $P624 = self."!PREFIX__!subrule"("param_var", "")
-    $P625 = self."!PREFIX__!subrule"("param_var", "*")
-    new $P626, "ResizablePMCArray"
-    push $P626, $P623
-    push $P626, $P624
-    push $P626, $P625
-    .return ($P626)
+    $P643 = self."!PREFIX__!subrule"("named_param", "")
+    $P644 = self."!PREFIX__!subrule"("param_var", "")
+    $P645 = self."!PREFIX__!subrule"("param_var", "*")
+    new $P646, "ResizablePMCArray"
+    push $P646, $P643
+    push $P646, $P644
+    push $P646, $P645
+    .return ($P646)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "param_var"  :subid("149_1259103982.97329") :method :outer("11_1259103982.97329")
+.sub "param_var"  :subid("153_1259177761.22934") :method :outer("11_1259177761.22934")
 .annotate "line", 4
-    .local string rx636_tgt
-    .local int rx636_pos
-    .local int rx636_off
-    .local int rx636_eos
-    .local int rx636_rep
-    .local pmc rx636_cur
-    (rx636_cur, rx636_pos, rx636_tgt) = self."!cursor_start"()
-    rx636_cur."!cursor_debug"("START ", "param_var")
-    rx636_cur."!cursor_caparray"("twigil")
-    .lex unicode:"$\x{a2}", rx636_cur
+    .local string rx656_tgt
+    .local int rx656_pos
+    .local int rx656_off
+    .local int rx656_eos
+    .local int rx656_rep
+    .local pmc rx656_cur
+    (rx656_cur, rx656_pos, rx656_tgt) = self."!cursor_start"()
+    rx656_cur."!cursor_debug"("START ", "param_var")
+    rx656_cur."!cursor_caparray"("twigil")
+    .lex unicode:"$\x{a2}", rx656_cur
     .local pmc match
     .lex "$/", match
-    length rx636_eos, rx636_tgt
-    set rx636_off, 0
-    lt rx636_pos, 2, rx636_start
-    sub rx636_off, rx636_pos, 1
-    substr rx636_tgt, rx636_tgt, rx636_off
-  rx636_start:
+    length rx656_eos, rx656_tgt
+    set rx656_off, 0
+    lt rx656_pos, 2, rx656_start
+    sub rx656_off, rx656_pos, 1
+    substr rx656_tgt, rx656_tgt, rx656_off
+  rx656_start:
     $I10 = self.'from'()
-    ne $I10, -1, rxscan640_done
-    goto rxscan640_scan
-  rxscan640_loop:
-    ($P10) = rx636_cur."from"()
+    ne $I10, -1, rxscan660_done
+    goto rxscan660_scan
+  rxscan660_loop:
+    ($P10) = rx656_cur."from"()
     inc $P10
-    set rx636_pos, $P10
-    ge rx636_pos, rx636_eos, rxscan640_done
-  rxscan640_scan:
-    set_addr $I10, rxscan640_loop
-    rx636_cur."!mark_push"(0, rx636_pos, $I10)
-  rxscan640_done:
-.annotate "line", 290
+    set rx656_pos, $P10
+    ge rx656_pos, rx656_eos, rxscan660_done
+  rxscan660_scan:
+    set_addr $I10, rxscan660_loop
+    rx656_cur."!mark_push"(0, rx656_pos, $I10)
+  rxscan660_done:
+.annotate "line", 300
   # rx subrule "sigil" subtype=capture negate=
-    rx636_cur."!cursor_pos"(rx636_pos)
-    $P10 = rx636_cur."sigil"()
-    unless $P10, rx636_fail
-    rx636_cur."!mark_push"(0, -1, 0, $P10)
+    rx656_cur."!cursor_pos"(rx656_pos)
+    $P10 = rx656_cur."sigil"()
+    unless $P10, rx656_fail
+    rx656_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("sigil")
-    rx636_pos = $P10."pos"()
-  # rx rxquantr641 ** 0..1
-    set_addr $I642, rxquantr641_done
-    rx636_cur."!mark_push"(0, rx636_pos, $I642)
-  rxquantr641_loop:
+    rx656_pos = $P10."pos"()
+  # rx rxquantr661 ** 0..1
+    set_addr $I662, rxquantr661_done
+    rx656_cur."!mark_push"(0, rx656_pos, $I662)
+  rxquantr661_loop:
   # rx subrule "twigil" subtype=capture negate=
-    rx636_cur."!cursor_pos"(rx636_pos)
-    $P10 = rx636_cur."twigil"()
-    unless $P10, rx636_fail
-    rx636_cur."!mark_push"(0, -1, 0, $P10)
+    rx656_cur."!cursor_pos"(rx656_pos)
+    $P10 = rx656_cur."twigil"()
+    unless $P10, rx656_fail
+    rx656_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("twigil")
-    rx636_pos = $P10."pos"()
-    (rx636_rep) = rx636_cur."!mark_commit"($I642)
-  rxquantr641_done:
-  alt643_0:
-.annotate "line", 291
-    set_addr $I10, alt643_1
-    rx636_cur."!mark_push"(0, rx636_pos, $I10)
+    rx656_pos = $P10."pos"()
+    (rx656_rep) = rx656_cur."!mark_commit"($I662)
+  rxquantr661_done:
+  alt663_0:
+.annotate "line", 301
+    set_addr $I10, alt663_1
+    rx656_cur."!mark_push"(0, rx656_pos, $I10)
   # rx subrule "ident" subtype=capture negate=
-    rx636_cur."!cursor_pos"(rx636_pos)
-    $P10 = rx636_cur."ident"()
-    unless $P10, rx636_fail
-    rx636_cur."!mark_push"(0, -1, 0, $P10)
+    rx656_cur."!cursor_pos"(rx656_pos)
+    $P10 = rx656_cur."ident"()
+    unless $P10, rx656_fail
+    rx656_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("name")
-    rx636_pos = $P10."pos"()
-    goto alt643_end
-  alt643_1:
+    rx656_pos = $P10."pos"()
+    goto alt663_end
+  alt663_1:
   # rx subcapture "name"
-    set_addr $I10, rxcap_644_fail
-    rx636_cur."!mark_push"(0, rx636_pos, $I10)
+    set_addr $I10, rxcap_664_fail
+    rx656_cur."!mark_push"(0, rx656_pos, $I10)
   # rx enumcharlist negate=0 
-    ge rx636_pos, rx636_eos, rx636_fail
-    sub $I10, rx636_pos, rx636_off
-    substr $S10, rx636_tgt, $I10, 1
+    ge rx656_pos, rx656_eos, rx656_fail
+    sub $I10, rx656_pos, rx656_off
+    substr $S10, rx656_tgt, $I10, 1
     index $I11, "/!", $S10
-    lt $I11, 0, rx636_fail
-    inc rx636_pos
-    set_addr $I10, rxcap_644_fail
-    ($I12, $I11) = rx636_cur."!mark_peek"($I10)
-    rx636_cur."!cursor_pos"($I11)
-    ($P10) = rx636_cur."!cursor_start"()
-    $P10."!cursor_pass"(rx636_pos, "")
-    rx636_cur."!mark_push"(0, -1, 0, $P10)
+    lt $I11, 0, rx656_fail
+    inc rx656_pos
+    set_addr $I10, rxcap_664_fail
+    ($I12, $I11) = rx656_cur."!mark_peek"($I10)
+    rx656_cur."!cursor_pos"($I11)
+    ($P10) = rx656_cur."!cursor_start"()
+    $P10."!cursor_pass"(rx656_pos, "")
+    rx656_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("name")
-    goto rxcap_644_done
-  rxcap_644_fail:
-    goto rx636_fail
-  rxcap_644_done:
-  alt643_end:
-.annotate "line", 289
+    goto rxcap_664_done
+  rxcap_664_fail:
+    goto rx656_fail
+  rxcap_664_done:
+  alt663_end:
+.annotate "line", 299
   # rx pass
-    rx636_cur."!cursor_pass"(rx636_pos, "param_var")
-    rx636_cur."!cursor_debug"("PASS  ", "param_var", " at pos=", rx636_pos)
-    .return (rx636_cur)
-  rx636_fail:
+    rx656_cur."!cursor_pass"(rx656_pos, "param_var")
+    rx656_cur."!cursor_debug"("PASS  ", "param_var", " at pos=", rx656_pos)
+    .return (rx656_cur)
+  rx656_fail:
 .annotate "line", 4
-    (rx636_rep, rx636_pos, $I10, $P10) = rx636_cur."!mark_fail"(0)
-    lt rx636_pos, -1, rx636_done
-    eq rx636_pos, -1, rx636_fail
+    (rx656_rep, rx656_pos, $I10, $P10) = rx656_cur."!mark_fail"(0)
+    lt rx656_pos, -1, rx656_done
+    eq rx656_pos, -1, rx656_fail
     jump $I10
-  rx636_done:
-    rx636_cur."!cursor_fail"()
-    rx636_cur."!cursor_debug"("FAIL  ", "param_var")
-    .return (rx636_cur)
+  rx656_done:
+    rx656_cur."!cursor_fail"()
+    rx656_cur."!cursor_debug"("FAIL  ", "param_var")
+    .return (rx656_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__param_var"  :subid("150_1259103982.97329") :method
+.sub "!PREFIX__param_var"  :subid("154_1259177761.22934") :method
 .annotate "line", 4
-    $P638 = self."!PREFIX__!subrule"("sigil", "")
-    new $P639, "ResizablePMCArray"
-    push $P639, $P638
-    .return ($P639)
+    $P658 = self."!PREFIX__!subrule"("sigil", "")
+    new $P659, "ResizablePMCArray"
+    push $P659, $P658
+    .return ($P659)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "named_param"  :subid("151_1259103982.97329") :method :outer("11_1259103982.97329")
+.sub "named_param"  :subid("155_1259177761.22934") :method :outer("11_1259177761.22934")
 .annotate "line", 4
-    .local string rx646_tgt
-    .local int rx646_pos
-    .local int rx646_off
-    .local int rx646_eos
-    .local int rx646_rep
-    .local pmc rx646_cur
-    (rx646_cur, rx646_pos, rx646_tgt) = self."!cursor_start"()
-    rx646_cur."!cursor_debug"("START ", "named_param")
-    .lex unicode:"$\x{a2}", rx646_cur
-    .local pmc match
-    .lex "$/", match
-    length rx646_eos, rx646_tgt
-    set rx646_off, 0
-    lt rx646_pos, 2, rx646_start
-    sub rx646_off, rx646_pos, 1
-    substr rx646_tgt, rx646_tgt, rx646_off
-  rx646_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan650_done
-    goto rxscan650_scan
-  rxscan650_loop:
-    ($P10) = rx646_cur."from"()
-    inc $P10
-    set rx646_pos, $P10
-    ge rx646_pos, rx646_eos, rxscan650_done
-  rxscan650_scan:
-    set_addr $I10, rxscan650_loop
-    rx646_cur."!mark_push"(0, rx646_pos, $I10)
-  rxscan650_done:
-.annotate "line", 295
+    .local string rx666_tgt
+    .local int rx666_pos
+    .local int rx666_off
+    .local int rx666_eos
+    .local int rx666_rep
+    .local pmc rx666_cur
+    (rx666_cur, rx666_pos, rx666_tgt) = self."!cursor_start"()
+    rx666_cur."!cursor_debug"("START ", "named_param")
+    .lex unicode:"$\x{a2}", rx666_cur
+    .local pmc match
+    .lex "$/", match
+    length rx666_eos, rx666_tgt
+    set rx666_off, 0
+    lt rx666_pos, 2, rx666_start
+    sub rx666_off, rx666_pos, 1
+    substr rx666_tgt, rx666_tgt, rx666_off
+  rx666_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan670_done
+    goto rxscan670_scan
+  rxscan670_loop:
+    ($P10) = rx666_cur."from"()
+    inc $P10
+    set rx666_pos, $P10
+    ge rx666_pos, rx666_eos, rxscan670_done
+  rxscan670_scan:
+    set_addr $I10, rxscan670_loop
+    rx666_cur."!mark_push"(0, rx666_pos, $I10)
+  rxscan670_done:
+.annotate "line", 305
   # rx literal  ":"
-    add $I11, rx646_pos, 1
-    gt $I11, rx646_eos, rx646_fail
-    sub $I11, rx646_pos, rx646_off
-    substr $S10, rx646_tgt, $I11, 1
-    ne $S10, ":", rx646_fail
-    add rx646_pos, 1
+    add $I11, rx666_pos, 1
+    gt $I11, rx666_eos, rx666_fail
+    sub $I11, rx666_pos, rx666_off
+    substr $S10, rx666_tgt, $I11, 1
+    ne $S10, ":", rx666_fail
+    add rx666_pos, 1
   # rx subrule "param_var" subtype=capture negate=
-    rx646_cur."!cursor_pos"(rx646_pos)
-    $P10 = rx646_cur."param_var"()
-    unless $P10, rx646_fail
-    rx646_cur."!mark_push"(0, -1, 0, $P10)
+    rx666_cur."!cursor_pos"(rx666_pos)
+    $P10 = rx666_cur."param_var"()
+    unless $P10, rx666_fail
+    rx666_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("param_var")
-    rx646_pos = $P10."pos"()
-.annotate "line", 294
+    rx666_pos = $P10."pos"()
+.annotate "line", 304
   # rx pass
-    rx646_cur."!cursor_pass"(rx646_pos, "named_param")
-    rx646_cur."!cursor_debug"("PASS  ", "named_param", " at pos=", rx646_pos)
-    .return (rx646_cur)
-  rx646_fail:
+    rx666_cur."!cursor_pass"(rx666_pos, "named_param")
+    rx666_cur."!cursor_debug"("PASS  ", "named_param", " at pos=", rx666_pos)
+    .return (rx666_cur)
+  rx666_fail:
 .annotate "line", 4
-    (rx646_rep, rx646_pos, $I10, $P10) = rx646_cur."!mark_fail"(0)
-    lt rx646_pos, -1, rx646_done
-    eq rx646_pos, -1, rx646_fail
+    (rx666_rep, rx666_pos, $I10, $P10) = rx666_cur."!mark_fail"(0)
+    lt rx666_pos, -1, rx666_done
+    eq rx666_pos, -1, rx666_fail
     jump $I10
-  rx646_done:
-    rx646_cur."!cursor_fail"()
-    rx646_cur."!cursor_debug"("FAIL  ", "named_param")
-    .return (rx646_cur)
+  rx666_done:
+    rx666_cur."!cursor_fail"()
+    rx666_cur."!cursor_debug"("FAIL  ", "named_param")
+    .return (rx666_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__named_param"  :subid("152_1259103982.97329") :method
+.sub "!PREFIX__named_param"  :subid("156_1259177761.22934") :method
 .annotate "line", 4
-    $P648 = self."!PREFIX__!subrule"("param_var", ":")
-    new $P649, "ResizablePMCArray"
-    push $P649, $P648
-    .return ($P649)
+    $P668 = self."!PREFIX__!subrule"("param_var", ":")
+    new $P669, "ResizablePMCArray"
+    push $P669, $P668
+    .return ($P669)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "default_value"  :subid("153_1259103982.97329") :method :outer("11_1259103982.97329")
+.sub "default_value"  :subid("157_1259177761.22934") :method :outer("11_1259177761.22934")
 .annotate "line", 4
-    .local string rx652_tgt
-    .local int rx652_pos
-    .local int rx652_off
-    .local int rx652_eos
-    .local int rx652_rep
-    .local pmc rx652_cur
-    (rx652_cur, rx652_pos, rx652_tgt) = self."!cursor_start"()
-    rx652_cur."!cursor_debug"("START ", "default_value")
-    .lex unicode:"$\x{a2}", rx652_cur
-    .local pmc match
-    .lex "$/", match
-    length rx652_eos, rx652_tgt
-    set rx652_off, 0
-    lt rx652_pos, 2, rx652_start
-    sub rx652_off, rx652_pos, 1
-    substr rx652_tgt, rx652_tgt, rx652_off
-  rx652_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan655_done
-    goto rxscan655_scan
-  rxscan655_loop:
-    ($P10) = rx652_cur."from"()
-    inc $P10
-    set rx652_pos, $P10
-    ge rx652_pos, rx652_eos, rxscan655_done
-  rxscan655_scan:
-    set_addr $I10, rxscan655_loop
-    rx652_cur."!mark_push"(0, rx652_pos, $I10)
-  rxscan655_done:
-.annotate "line", 298
+    .local string rx672_tgt
+    .local int rx672_pos
+    .local int rx672_off
+    .local int rx672_eos
+    .local int rx672_rep
+    .local pmc rx672_cur
+    (rx672_cur, rx672_pos, rx672_tgt) = self."!cursor_start"()
+    rx672_cur."!cursor_debug"("START ", "default_value")
+    .lex unicode:"$\x{a2}", rx672_cur
+    .local pmc match
+    .lex "$/", match
+    length rx672_eos, rx672_tgt
+    set rx672_off, 0
+    lt rx672_pos, 2, rx672_start
+    sub rx672_off, rx672_pos, 1
+    substr rx672_tgt, rx672_tgt, rx672_off
+  rx672_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan675_done
+    goto rxscan675_scan
+  rxscan675_loop:
+    ($P10) = rx672_cur."from"()
+    inc $P10
+    set rx672_pos, $P10
+    ge rx672_pos, rx672_eos, rxscan675_done
+  rxscan675_scan:
+    set_addr $I10, rxscan675_loop
+    rx672_cur."!mark_push"(0, rx672_pos, $I10)
+  rxscan675_done:
+.annotate "line", 308
   # rx subrule "ws" subtype=method negate=
-    rx652_cur."!cursor_pos"(rx652_pos)
-    $P10 = rx652_cur."ws"()
-    unless $P10, rx652_fail
-    rx652_pos = $P10."pos"()
+    rx672_cur."!cursor_pos"(rx672_pos)
+    $P10 = rx672_cur."ws"()
+    unless $P10, rx672_fail
+    rx672_pos = $P10."pos"()
   # rx literal  "="
-    add $I11, rx652_pos, 1
-    gt $I11, rx652_eos, rx652_fail
-    sub $I11, rx652_pos, rx652_off
-    substr $S10, rx652_tgt, $I11, 1
-    ne $S10, "=", rx652_fail
-    add rx652_pos, 1
-  # rx subrule "ws" subtype=method negate=
-    rx652_cur."!cursor_pos"(rx652_pos)
-    $P10 = rx652_cur."ws"()
-    unless $P10, rx652_fail
-    rx652_pos = $P10."pos"()
+    add $I11, rx672_pos, 1
+    gt $I11, rx672_eos, rx672_fail
+    sub $I11, rx672_pos, rx672_off
+    substr $S10, rx672_tgt, $I11, 1
+    ne $S10, "=", rx672_fail
+    add rx672_pos, 1
+  # rx subrule "ws" subtype=method negate=
+    rx672_cur."!cursor_pos"(rx672_pos)
+    $P10 = rx672_cur."ws"()
+    unless $P10, rx672_fail
+    rx672_pos = $P10."pos"()
   # rx subrule "EXPR" subtype=capture negate=
-    rx652_cur."!cursor_pos"(rx652_pos)
-    $P10 = rx652_cur."EXPR"("i=")
-    unless $P10, rx652_fail
-    rx652_cur."!mark_push"(0, -1, 0, $P10)
+    rx672_cur."!cursor_pos"(rx672_pos)
+    $P10 = rx672_cur."EXPR"("i=")
+    unless $P10, rx672_fail
+    rx672_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("EXPR")
-    rx652_pos = $P10."pos"()
+    rx672_pos = $P10."pos"()
   # rx subrule "ws" subtype=method negate=
-    rx652_cur."!cursor_pos"(rx652_pos)
-    $P10 = rx652_cur."ws"()
-    unless $P10, rx652_fail
-    rx652_pos = $P10."pos"()
+    rx672_cur."!cursor_pos"(rx672_pos)
+    $P10 = rx672_cur."ws"()
+    unless $P10, rx672_fail
+    rx672_pos = $P10."pos"()
   # rx pass
-    rx652_cur."!cursor_pass"(rx652_pos, "default_value")
-    rx652_cur."!cursor_debug"("PASS  ", "default_value", " at pos=", rx652_pos)
-    .return (rx652_cur)
-  rx652_fail:
+    rx672_cur."!cursor_pass"(rx672_pos, "default_value")
+    rx672_cur."!cursor_debug"("PASS  ", "default_value", " at pos=", rx672_pos)
+    .return (rx672_cur)
+  rx672_fail:
 .annotate "line", 4
-    (rx652_rep, rx652_pos, $I10, $P10) = rx652_cur."!mark_fail"(0)
-    lt rx652_pos, -1, rx652_done
-    eq rx652_pos, -1, rx652_fail
+    (rx672_rep, rx672_pos, $I10, $P10) = rx672_cur."!mark_fail"(0)
+    lt rx672_pos, -1, rx672_done
+    eq rx672_pos, -1, rx672_fail
     jump $I10
-  rx652_done:
-    rx652_cur."!cursor_fail"()
-    rx652_cur."!cursor_debug"("FAIL  ", "default_value")
-    .return (rx652_cur)
+  rx672_done:
+    rx672_cur."!cursor_fail"()
+    rx672_cur."!cursor_debug"("FAIL  ", "default_value")
+    .return (rx672_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__default_value"  :subid("154_1259103982.97329") :method
+.sub "!PREFIX__default_value"  :subid("158_1259177761.22934") :method
 .annotate "line", 4
-    new $P654, "ResizablePMCArray"
-    push $P654, ""
-    .return ($P654)
+    new $P674, "ResizablePMCArray"
+    push $P674, ""
+    .return ($P674)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "regex_declarator"  :subid("155_1259103982.97329") :method :outer("11_1259103982.97329")
+.sub "regex_declarator"  :subid("159_1259177761.22934") :method :outer("11_1259177761.22934")
 .annotate "line", 4
-    .local string rx660_tgt
-    .local int rx660_pos
-    .local int rx660_off
-    .local int rx660_eos
-    .local int rx660_rep
-    .local pmc rx660_cur
-    (rx660_cur, rx660_pos, rx660_tgt) = self."!cursor_start"()
-    rx660_cur."!cursor_debug"("START ", "regex_declarator")
-    rx660_cur."!cursor_caparray"("signature")
-    .lex unicode:"$\x{a2}", rx660_cur
+    .local string rx680_tgt
+    .local int rx680_pos
+    .local int rx680_off
+    .local int rx680_eos
+    .local int rx680_rep
+    .local pmc rx680_cur
+    (rx680_cur, rx680_pos, rx680_tgt) = self."!cursor_start"()
+    rx680_cur."!cursor_debug"("START ", "regex_declarator")
+    rx680_cur."!cursor_caparray"("signature")
+    .lex unicode:"$\x{a2}", rx680_cur
     .local pmc match
     .lex "$/", match
-    length rx660_eos, rx660_tgt
-    set rx660_off, 0
-    lt rx660_pos, 2, rx660_start
-    sub rx660_off, rx660_pos, 1
-    substr rx660_tgt, rx660_tgt, rx660_off
-  rx660_start:
+    length rx680_eos, rx680_tgt
+    set rx680_off, 0
+    lt rx680_pos, 2, rx680_start
+    sub rx680_off, rx680_pos, 1
+    substr rx680_tgt, rx680_tgt, rx680_off
+  rx680_start:
     $I10 = self.'from'()
-    ne $I10, -1, rxscan663_done
-    goto rxscan663_scan
-  rxscan663_loop:
-    ($P10) = rx660_cur."from"()
+    ne $I10, -1, rxscan683_done
+    goto rxscan683_scan
+  rxscan683_loop:
+    ($P10) = rx680_cur."from"()
     inc $P10
-    set rx660_pos, $P10
-    ge rx660_pos, rx660_eos, rxscan663_done
-  rxscan663_scan:
-    set_addr $I10, rxscan663_loop
-    rx660_cur."!mark_push"(0, rx660_pos, $I10)
-  rxscan663_done:
-.annotate "line", 300
+    set rx680_pos, $P10
+    ge rx680_pos, rx680_eos, rxscan683_done
+  rxscan683_scan:
+    set_addr $I10, rxscan683_loop
+    rx680_cur."!mark_push"(0, rx680_pos, $I10)
+  rxscan683_done:
+.annotate "line", 310
   # rx subrule "ws" subtype=method negate=
-    rx660_cur."!cursor_pos"(rx660_pos)
-    $P10 = rx660_cur."ws"()
-    unless $P10, rx660_fail
-    rx660_pos = $P10."pos"()
-  alt665_0:
-.annotate "line", 301
-    set_addr $I10, alt665_1
-    rx660_cur."!mark_push"(0, rx660_pos, $I10)
-.annotate "line", 302
-  # rx subrule "ws" subtype=method negate=
-    rx660_cur."!cursor_pos"(rx660_pos)
-    $P10 = rx660_cur."ws"()
-    unless $P10, rx660_fail
-    rx660_pos = $P10."pos"()
+    rx680_cur."!cursor_pos"(rx680_pos)
+    $P10 = rx680_cur."ws"()
+    unless $P10, rx680_fail
+    rx680_pos = $P10."pos"()
+  alt685_0:
+.annotate "line", 311
+    set_addr $I10, alt685_1
+    rx680_cur."!mark_push"(0, rx680_pos, $I10)
+.annotate "line", 312
+  # rx subrule "ws" subtype=method negate=
+    rx680_cur."!cursor_pos"(rx680_pos)
+    $P10 = rx680_cur."ws"()
+    unless $P10, rx680_fail
+    rx680_pos = $P10."pos"()
   # rx subcapture "proto"
-    set_addr $I10, rxcap_667_fail
-    rx660_cur."!mark_push"(0, rx660_pos, $I10)
+    set_addr $I10, rxcap_687_fail
+    rx680_cur."!mark_push"(0, rx680_pos, $I10)
   # rx literal  "proto"
-    add $I11, rx660_pos, 5
-    gt $I11, rx660_eos, rx660_fail
-    sub $I11, rx660_pos, rx660_off
-    substr $S10, rx660_tgt, $I11, 5
-    ne $S10, "proto", rx660_fail
-    add rx660_pos, 5
-    set_addr $I10, rxcap_667_fail
-    ($I12, $I11) = rx660_cur."!mark_peek"($I10)
-    rx660_cur."!cursor_pos"($I11)
-    ($P10) = rx660_cur."!cursor_start"()
-    $P10."!cursor_pass"(rx660_pos, "")
-    rx660_cur."!mark_push"(0, -1, 0, $P10)
+    add $I11, rx680_pos, 5
+    gt $I11, rx680_eos, rx680_fail
+    sub $I11, rx680_pos, rx680_off
+    substr $S10, rx680_tgt, $I11, 5
+    ne $S10, "proto", rx680_fail
+    add rx680_pos, 5
+    set_addr $I10, rxcap_687_fail
+    ($I12, $I11) = rx680_cur."!mark_peek"($I10)
+    rx680_cur."!cursor_pos"($I11)
+    ($P10) = rx680_cur."!cursor_start"()
+    $P10."!cursor_pass"(rx680_pos, "")
+    rx680_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("proto")
-    goto rxcap_667_done
-  rxcap_667_fail:
-    goto rx660_fail
-  rxcap_667_done:
-  # rx subrule "ws" subtype=method negate=
-    rx660_cur."!cursor_pos"(rx660_pos)
-    $P10 = rx660_cur."ws"()
-    unless $P10, rx660_fail
-    rx660_pos = $P10."pos"()
-  alt669_0:
-    set_addr $I10, alt669_1
-    rx660_cur."!mark_push"(0, rx660_pos, $I10)
+    goto rxcap_687_done
+  rxcap_687_fail:
+    goto rx680_fail
+  rxcap_687_done:
+  # rx subrule "ws" subtype=method negate=
+    rx680_cur."!cursor_pos"(rx680_pos)
+    $P10 = rx680_cur."ws"()
+    unless $P10, rx680_fail
+    rx680_pos = $P10."pos"()
+  alt689_0:
+    set_addr $I10, alt689_1
+    rx680_cur."!mark_push"(0, rx680_pos, $I10)
   # rx literal  "regex"
-    add $I11, rx660_pos, 5
-    gt $I11, rx660_eos, rx660_fail
-    sub $I11, rx660_pos, rx660_off
-    substr $S10, rx660_tgt, $I11, 5
-    ne $S10, "regex", rx660_fail
-    add rx660_pos, 5
-    goto alt669_end
-  alt669_1:
-    set_addr $I10, alt669_2
-    rx660_cur."!mark_push"(0, rx660_pos, $I10)
+    add $I11, rx680_pos, 5
+    gt $I11, rx680_eos, rx680_fail
+    sub $I11, rx680_pos, rx680_off
+    substr $S10, rx680_tgt, $I11, 5
+    ne $S10, "regex", rx680_fail
+    add rx680_pos, 5
+    goto alt689_end
+  alt689_1:
+    set_addr $I10, alt689_2
+    rx680_cur."!mark_push"(0, rx680_pos, $I10)
   # rx literal  "token"
-    add $I11, rx660_pos, 5
-    gt $I11, rx660_eos, rx660_fail
-    sub $I11, rx660_pos, rx660_off
-    substr $S10, rx660_tgt, $I11, 5
-    ne $S10, "token", rx660_fail
-    add rx660_pos, 5
-    goto alt669_end
-  alt669_2:
+    add $I11, rx680_pos, 5
+    gt $I11, rx680_eos, rx680_fail
+    sub $I11, rx680_pos, rx680_off
+    substr $S10, rx680_tgt, $I11, 5
+    ne $S10, "token", rx680_fail
+    add rx680_pos, 5
+    goto alt689_end
+  alt689_2:
   # rx literal  "rule"
-    add $I11, rx660_pos, 4
-    gt $I11, rx660_eos, rx660_fail
-    sub $I11, rx660_pos, rx660_off
-    substr $S10, rx660_tgt, $I11, 4
-    ne $S10, "rule", rx660_fail
-    add rx660_pos, 4
-  alt669_end:
-  # rx subrule "ws" subtype=method negate=
-    rx660_cur."!cursor_pos"(rx660_pos)
-    $P10 = rx660_cur."ws"()
-    unless $P10, rx660_fail
-    rx660_pos = $P10."pos"()
-.annotate "line", 303
+    add $I11, rx680_pos, 4
+    gt $I11, rx680_eos, rx680_fail
+    sub $I11, rx680_pos, rx680_off
+    substr $S10, rx680_tgt, $I11, 4
+    ne $S10, "rule", rx680_fail
+    add rx680_pos, 4
+  alt689_end:
+  # rx subrule "ws" subtype=method negate=
+    rx680_cur."!cursor_pos"(rx680_pos)
+    $P10 = rx680_cur."ws"()
+    unless $P10, rx680_fail
+    rx680_pos = $P10."pos"()
+.annotate "line", 313
   # rx subrule "deflongname" subtype=capture negate=
-    rx660_cur."!cursor_pos"(rx660_pos)
-    $P10 = rx660_cur."deflongname"()
-    unless $P10, rx660_fail
-    rx660_cur."!mark_push"(0, -1, 0, $P10)
+    rx680_cur."!cursor_pos"(rx680_pos)
+    $P10 = rx680_cur."deflongname"()
+    unless $P10, rx680_fail
+    rx680_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("deflongname")
-    rx660_pos = $P10."pos"()
+    rx680_pos = $P10."pos"()
   # rx subrule "ws" subtype=method negate=
-    rx660_cur."!cursor_pos"(rx660_pos)
-    $P10 = rx660_cur."ws"()
-    unless $P10, rx660_fail
-    rx660_pos = $P10."pos"()
-.annotate "line", 304
+    rx680_cur."!cursor_pos"(rx680_pos)
+    $P10 = rx680_cur."ws"()
+    unless $P10, rx680_fail
+    rx680_pos = $P10."pos"()
+.annotate "line", 314
   # rx literal  "{"
-    add $I11, rx660_pos, 1
-    gt $I11, rx660_eos, rx660_fail
-    sub $I11, rx660_pos, rx660_off
-    substr $S10, rx660_tgt, $I11, 1
-    ne $S10, "{", rx660_fail
-    add rx660_pos, 1
-  # rx subrule "ws" subtype=method negate=
-    rx660_cur."!cursor_pos"(rx660_pos)
-    $P10 = rx660_cur."ws"()
-    unless $P10, rx660_fail
-    rx660_pos = $P10."pos"()
+    add $I11, rx680_pos, 1
+    gt $I11, rx680_eos, rx680_fail
+    sub $I11, rx680_pos, rx680_off
+    substr $S10, rx680_tgt, $I11, 1
+    ne $S10, "{", rx680_fail
+    add rx680_pos, 1
+  # rx subrule "ws" subtype=method negate=
+    rx680_cur."!cursor_pos"(rx680_pos)
+    $P10 = rx680_cur."ws"()
+    unless $P10, rx680_fail
+    rx680_pos = $P10."pos"()
   # rx literal  "<...>"
-    add $I11, rx660_pos, 5
-    gt $I11, rx660_eos, rx660_fail
-    sub $I11, rx660_pos, rx660_off
-    substr $S10, rx660_tgt, $I11, 5
-    ne $S10, "<...>", rx660_fail
-    add rx660_pos, 5
-  # rx subrule "ws" subtype=method negate=
-    rx660_cur."!cursor_pos"(rx660_pos)
-    $P10 = rx660_cur."ws"()
-    unless $P10, rx660_fail
-    rx660_pos = $P10."pos"()
+    add $I11, rx680_pos, 5
+    gt $I11, rx680_eos, rx680_fail
+    sub $I11, rx680_pos, rx680_off
+    substr $S10, rx680_tgt, $I11, 5
+    ne $S10, "<...>", rx680_fail
+    add rx680_pos, 5
+  # rx subrule "ws" subtype=method negate=
+    rx680_cur."!cursor_pos"(rx680_pos)
+    $P10 = rx680_cur."ws"()
+    unless $P10, rx680_fail
+    rx680_pos = $P10."pos"()
   # rx literal  "}"
-    add $I11, rx660_pos, 1
-    gt $I11, rx660_eos, rx660_fail
-    sub $I11, rx660_pos, rx660_off
-    substr $S10, rx660_tgt, $I11, 1
-    ne $S10, "}", rx660_fail
-    add rx660_pos, 1
+    add $I11, rx680_pos, 1
+    gt $I11, rx680_eos, rx680_fail
+    sub $I11, rx680_pos, rx680_off
+    substr $S10, rx680_tgt, $I11, 1
+    ne $S10, "}", rx680_fail
+    add rx680_pos, 1
   # rx subrule "ENDSTMT" subtype=zerowidth negate=
-    rx660_cur."!cursor_pos"(rx660_pos)
-    $P10 = rx660_cur."ENDSTMT"()
-    unless $P10, rx660_fail
-  # rx subrule "ws" subtype=method negate=
-    rx660_cur."!cursor_pos"(rx660_pos)
-    $P10 = rx660_cur."ws"()
-    unless $P10, rx660_fail
-    rx660_pos = $P10."pos"()
-.annotate "line", 302
-    goto alt665_end
-  alt665_1:
-.annotate "line", 305
+    rx680_cur."!cursor_pos"(rx680_pos)
+    $P10 = rx680_cur."ENDSTMT"()
+    unless $P10, rx680_fail
+  # rx subrule "ws" subtype=method negate=
+    rx680_cur."!cursor_pos"(rx680_pos)
+    $P10 = rx680_cur."ws"()
+    unless $P10, rx680_fail
+    rx680_pos = $P10."pos"()
+.annotate "line", 312
+    goto alt685_end
+  alt685_1:
+.annotate "line", 315
   # rx subrule "ws" subtype=method negate=
-    rx660_cur."!cursor_pos"(rx660_pos)
-    $P10 = rx660_cur."ws"()
-    unless $P10, rx660_fail
-    rx660_pos = $P10."pos"()
+    rx680_cur."!cursor_pos"(rx680_pos)
+    $P10 = rx680_cur."ws"()
+    unless $P10, rx680_fail
+    rx680_pos = $P10."pos"()
   # rx subcapture "sym"
-    set_addr $I10, rxcap_677_fail
-    rx660_cur."!mark_push"(0, rx660_pos, $I10)
-  alt676_0:
-    set_addr $I10, alt676_1
-    rx660_cur."!mark_push"(0, rx660_pos, $I10)
+    set_addr $I10, rxcap_697_fail
+    rx680_cur."!mark_push"(0, rx680_pos, $I10)
+  alt696_0:
+    set_addr $I10, alt696_1
+    rx680_cur."!mark_push"(0, rx680_pos, $I10)
   # rx literal  "regex"
-    add $I11, rx660_pos, 5
-    gt $I11, rx660_eos, rx660_fail
-    sub $I11, rx660_pos, rx660_off
-    substr $S10, rx660_tgt, $I11, 5
-    ne $S10, "regex", rx660_fail
-    add rx660_pos, 5
-    goto alt676_end
-  alt676_1:
-    set_addr $I10, alt676_2
-    rx660_cur."!mark_push"(0, rx660_pos, $I10)
+    add $I11, rx680_pos, 5
+    gt $I11, rx680_eos, rx680_fail
+    sub $I11, rx680_pos, rx680_off
+    substr $S10, rx680_tgt, $I11, 5
+    ne $S10, "regex", rx680_fail
+    add rx680_pos, 5
+    goto alt696_end
+  alt696_1:
+    set_addr $I10, alt696_2
+    rx680_cur."!mark_push"(0, rx680_pos, $I10)
   # rx literal  "token"
-    add $I11, rx660_pos, 5
-    gt $I11, rx660_eos, rx660_fail
-    sub $I11, rx660_pos, rx660_off
-    substr $S10, rx660_tgt, $I11, 5
-    ne $S10, "token", rx660_fail
-    add rx660_pos, 5
-    goto alt676_end
-  alt676_2:
+    add $I11, rx680_pos, 5
+    gt $I11, rx680_eos, rx680_fail
+    sub $I11, rx680_pos, rx680_off
+    substr $S10, rx680_tgt, $I11, 5
+    ne $S10, "token", rx680_fail
+    add rx680_pos, 5
+    goto alt696_end
+  alt696_2:
   # rx literal  "rule"
-    add $I11, rx660_pos, 4
-    gt $I11, rx660_eos, rx660_fail
-    sub $I11, rx660_pos, rx660_off
-    substr $S10, rx660_tgt, $I11, 4
-    ne $S10, "rule", rx660_fail
-    add rx660_pos, 4
-  alt676_end:
-    set_addr $I10, rxcap_677_fail
-    ($I12, $I11) = rx660_cur."!mark_peek"($I10)
-    rx660_cur."!cursor_pos"($I11)
-    ($P10) = rx660_cur."!cursor_start"()
-    $P10."!cursor_pass"(rx660_pos, "")
-    rx660_cur."!mark_push"(0, -1, 0, $P10)
+    add $I11, rx680_pos, 4
+    gt $I11, rx680_eos, rx680_fail
+    sub $I11, rx680_pos, rx680_off
+    substr $S10, rx680_tgt, $I11, 4
+    ne $S10, "rule", rx680_fail
+    add rx680_pos, 4
+  alt696_end:
+    set_addr $I10, rxcap_697_fail
+    ($I12, $I11) = rx680_cur."!mark_peek"($I10)
+    rx680_cur."!cursor_pos"($I11)
+    ($P10) = rx680_cur."!cursor_start"()
+    $P10."!cursor_pass"(rx680_pos, "")
+    rx680_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("sym")
-    goto rxcap_677_done
-  rxcap_677_fail:
-    goto rx660_fail
-  rxcap_677_done:
-  # rx subrule "ws" subtype=method negate=
-    rx660_cur."!cursor_pos"(rx660_pos)
-    $P10 = rx660_cur."ws"()
-    unless $P10, rx660_fail
-    rx660_pos = $P10."pos"()
-.annotate "line", 306
+    goto rxcap_697_done
+  rxcap_697_fail:
+    goto rx680_fail
+  rxcap_697_done:
+  # rx subrule "ws" subtype=method negate=
+    rx680_cur."!cursor_pos"(rx680_pos)
+    $P10 = rx680_cur."ws"()
+    unless $P10, rx680_fail
+    rx680_pos = $P10."pos"()
+.annotate "line", 316
   # rx subrule "deflongname" subtype=capture negate=
-    rx660_cur."!cursor_pos"(rx660_pos)
-    $P10 = rx660_cur."deflongname"()
-    unless $P10, rx660_fail
-    rx660_cur."!mark_push"(0, -1, 0, $P10)
+    rx680_cur."!cursor_pos"(rx680_pos)
+    $P10 = rx680_cur."deflongname"()
+    unless $P10, rx680_fail
+    rx680_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("deflongname")
-    rx660_pos = $P10."pos"()
+    rx680_pos = $P10."pos"()
   # rx subrule "ws" subtype=method negate=
-    rx660_cur."!cursor_pos"(rx660_pos)
-    $P10 = rx660_cur."ws"()
-    unless $P10, rx660_fail
-    rx660_pos = $P10."pos"()
-.annotate "line", 307
+    rx680_cur."!cursor_pos"(rx680_pos)
+    $P10 = rx680_cur."ws"()
+    unless $P10, rx680_fail
+    rx680_pos = $P10."pos"()
+.annotate "line", 317
   # rx subrule "newpad" subtype=method negate=
-    rx660_cur."!cursor_pos"(rx660_pos)
-    $P10 = rx660_cur."newpad"()
-    unless $P10, rx660_fail
-    rx660_pos = $P10."pos"()
-  # rx subrule "ws" subtype=method negate=
-    rx660_cur."!cursor_pos"(rx660_pos)
-    $P10 = rx660_cur."ws"()
-    unless $P10, rx660_fail
-    rx660_pos = $P10."pos"()
-.annotate "line", 308
-  # rx rxquantr681 ** 0..1
-    set_addr $I686, rxquantr681_done
-    rx660_cur."!mark_push"(0, rx660_pos, $I686)
-  rxquantr681_loop:
-  # rx subrule "ws" subtype=method negate=
-    rx660_cur."!cursor_pos"(rx660_pos)
-    $P10 = rx660_cur."ws"()
-    unless $P10, rx660_fail
-    rx660_pos = $P10."pos"()
+    rx680_cur."!cursor_pos"(rx680_pos)
+    $P10 = rx680_cur."newpad"()
+    unless $P10, rx680_fail
+    rx680_pos = $P10."pos"()
+  # rx subrule "ws" subtype=method negate=
+    rx680_cur."!cursor_pos"(rx680_pos)
+    $P10 = rx680_cur."ws"()
+    unless $P10, rx680_fail
+    rx680_pos = $P10."pos"()
+.annotate "line", 318
+  # rx rxquantr701 ** 0..1
+    set_addr $I706, rxquantr701_done
+    rx680_cur."!mark_push"(0, rx680_pos, $I706)
+  rxquantr701_loop:
+  # rx subrule "ws" subtype=method negate=
+    rx680_cur."!cursor_pos"(rx680_pos)
+    $P10 = rx680_cur."ws"()
+    unless $P10, rx680_fail
+    rx680_pos = $P10."pos"()
   # rx literal  "("
-    add $I11, rx660_pos, 1
-    gt $I11, rx660_eos, rx660_fail
-    sub $I11, rx660_pos, rx660_off
-    substr $S10, rx660_tgt, $I11, 1
-    ne $S10, "(", rx660_fail
-    add rx660_pos, 1
-  # rx subrule "ws" subtype=method negate=
-    rx660_cur."!cursor_pos"(rx660_pos)
-    $P10 = rx660_cur."ws"()
-    unless $P10, rx660_fail
-    rx660_pos = $P10."pos"()
+    add $I11, rx680_pos, 1
+    gt $I11, rx680_eos, rx680_fail
+    sub $I11, rx680_pos, rx680_off
+    substr $S10, rx680_tgt, $I11, 1
+    ne $S10, "(", rx680_fail
+    add rx680_pos, 1
+  # rx subrule "ws" subtype=method negate=
+    rx680_cur."!cursor_pos"(rx680_pos)
+    $P10 = rx680_cur."ws"()
+    unless $P10, rx680_fail
+    rx680_pos = $P10."pos"()
   # rx subrule "signature" subtype=capture negate=
-    rx660_cur."!cursor_pos"(rx660_pos)
-    $P10 = rx660_cur."signature"()
-    unless $P10, rx660_fail
-    rx660_cur."!mark_push"(0, -1, 0, $P10)
+    rx680_cur."!cursor_pos"(rx680_pos)
+    $P10 = rx680_cur."signature"()
+    unless $P10, rx680_fail
+    rx680_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("signature")
-    rx660_pos = $P10."pos"()
+    rx680_pos = $P10."pos"()
   # rx subrule "ws" subtype=method negate=
-    rx660_cur."!cursor_pos"(rx660_pos)
-    $P10 = rx660_cur."ws"()
-    unless $P10, rx660_fail
-    rx660_pos = $P10."pos"()
+    rx680_cur."!cursor_pos"(rx680_pos)
+    $P10 = rx680_cur."ws"()
+    unless $P10, rx680_fail
+    rx680_pos = $P10."pos"()
   # rx literal  ")"
-    add $I11, rx660_pos, 1
-    gt $I11, rx660_eos, rx660_fail
-    sub $I11, rx660_pos, rx660_off
-    substr $S10, rx660_tgt, $I11, 1
-    ne $S10, ")", rx660_fail
-    add rx660_pos, 1
-  # rx subrule "ws" subtype=method negate=
-    rx660_cur."!cursor_pos"(rx660_pos)
-    $P10 = rx660_cur."ws"()
-    unless $P10, rx660_fail
-    rx660_pos = $P10."pos"()
-    (rx660_rep) = rx660_cur."!mark_commit"($I686)
-  rxquantr681_done:
-  # rx subrule "ws" subtype=method negate=
-    rx660_cur."!cursor_pos"(rx660_pos)
-    $P10 = rx660_cur."ws"()
-    unless $P10, rx660_fail
-    rx660_pos = $P10."pos"()
-.annotate "line", 309
+    add $I11, rx680_pos, 1
+    gt $I11, rx680_eos, rx680_fail
+    sub $I11, rx680_pos, rx680_off
+    substr $S10, rx680_tgt, $I11, 1
+    ne $S10, ")", rx680_fail
+    add rx680_pos, 1
+  # rx subrule "ws" subtype=method negate=
+    rx680_cur."!cursor_pos"(rx680_pos)
+    $P10 = rx680_cur."ws"()
+    unless $P10, rx680_fail
+    rx680_pos = $P10."pos"()
+    (rx680_rep) = rx680_cur."!mark_commit"($I706)
+  rxquantr701_done:
+  # rx subrule "ws" subtype=method negate=
+    rx680_cur."!cursor_pos"(rx680_pos)
+    $P10 = rx680_cur."ws"()
+    unless $P10, rx680_fail
+    rx680_pos = $P10."pos"()
+.annotate "line", 319
   # rx reduce name="regex_declarator" key="open"
-    rx660_cur."!cursor_pos"(rx660_pos)
-    rx660_cur."!reduce"("regex_declarator", "open")
+    rx680_cur."!cursor_pos"(rx680_pos)
+    rx680_cur."!reduce"("regex_declarator", "open")
   # rx subrule "ws" subtype=method negate=
-    rx660_cur."!cursor_pos"(rx660_pos)
-    $P10 = rx660_cur."ws"()
-    unless $P10, rx660_fail
-    rx660_pos = $P10."pos"()
-.annotate "line", 310
+    rx680_cur."!cursor_pos"(rx680_pos)
+    $P10 = rx680_cur."ws"()
+    unless $P10, rx680_fail
+    rx680_pos = $P10."pos"()
+.annotate "line", 320
   # rx literal  "{"
-    add $I11, rx660_pos, 1
-    gt $I11, rx660_eos, rx660_fail
-    sub $I11, rx660_pos, rx660_off
-    substr $S10, rx660_tgt, $I11, 1
-    ne $S10, "{", rx660_fail
-    add rx660_pos, 1
+    add $I11, rx680_pos, 1
+    gt $I11, rx680_eos, rx680_fail
+    sub $I11, rx680_pos, rx680_off
+    substr $S10, rx680_tgt, $I11, 1
+    ne $S10, "{", rx680_fail
+    add rx680_pos, 1
   # rx subrule "LANG" subtype=capture negate=
-    rx660_cur."!cursor_pos"(rx660_pos)
-    $P10 = rx660_cur."LANG"("Regex", "nibbler")
-    unless $P10, rx660_fail
-    rx660_cur."!mark_push"(0, -1, 0, $P10)
+    rx680_cur."!cursor_pos"(rx680_pos)
+    $P10 = rx680_cur."LANG"("Regex", "nibbler")
+    unless $P10, rx680_fail
+    rx680_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("p6regex")
-    rx660_pos = $P10."pos"()
+    rx680_pos = $P10."pos"()
   # rx literal  "}"
-    add $I11, rx660_pos, 1
-    gt $I11, rx660_eos, rx660_fail
-    sub $I11, rx660_pos, rx660_off
-    substr $S10, rx660_tgt, $I11, 1
-    ne $S10, "}", rx660_fail
-    add rx660_pos, 1
+    add $I11, rx680_pos, 1
+    gt $I11, rx680_eos, rx680_fail
+    sub $I11, rx680_pos, rx680_off
+    substr $S10, rx680_tgt, $I11, 1
+    ne $S10, "}", rx680_fail
+    add rx680_pos, 1
   # rx subrule "ENDSTMT" subtype=zerowidth negate=
-    rx660_cur."!cursor_pos"(rx660_pos)
-    $P10 = rx660_cur."ENDSTMT"()
-    unless $P10, rx660_fail
-  # rx subrule "ws" subtype=method negate=
-    rx660_cur."!cursor_pos"(rx660_pos)
-    $P10 = rx660_cur."ws"()
-    unless $P10, rx660_fail
-    rx660_pos = $P10."pos"()
-  alt665_end:
-.annotate "line", 311
+    rx680_cur."!cursor_pos"(rx680_pos)
+    $P10 = rx680_cur."ENDSTMT"()
+    unless $P10, rx680_fail
+  # rx subrule "ws" subtype=method negate=
+    rx680_cur."!cursor_pos"(rx680_pos)
+    $P10 = rx680_cur."ws"()
+    unless $P10, rx680_fail
+    rx680_pos = $P10."pos"()
+  alt685_end:
+.annotate "line", 321
   # rx subrule "ws" subtype=method negate=
-    rx660_cur."!cursor_pos"(rx660_pos)
-    $P10 = rx660_cur."ws"()
-    unless $P10, rx660_fail
-    rx660_pos = $P10."pos"()
-.annotate "line", 300
+    rx680_cur."!cursor_pos"(rx680_pos)
+    $P10 = rx680_cur."ws"()
+    unless $P10, rx680_fail
+    rx680_pos = $P10."pos"()
+.annotate "line", 310
   # rx pass
-    rx660_cur."!cursor_pass"(rx660_pos, "regex_declarator")
-    rx660_cur."!cursor_debug"("PASS  ", "regex_declarator", " at pos=", rx660_pos)
-    .return (rx660_cur)
-  rx660_fail:
+    rx680_cur."!cursor_pass"(rx680_pos, "regex_declarator")
+    rx680_cur."!cursor_debug"("PASS  ", "regex_declarator", " at pos=", rx680_pos)
+    .return (rx680_cur)
+  rx680_fail:
 .annotate "line", 4
-    (rx660_rep, rx660_pos, $I10, $P10) = rx660_cur."!mark_fail"(0)
-    lt rx660_pos, -1, rx660_done
-    eq rx660_pos, -1, rx660_fail
+    (rx680_rep, rx680_pos, $I10, $P10) = rx680_cur."!mark_fail"(0)
+    lt rx680_pos, -1, rx680_done
+    eq rx680_pos, -1, rx680_fail
     jump $I10
-  rx660_done:
-    rx660_cur."!cursor_fail"()
-    rx660_cur."!cursor_debug"("FAIL  ", "regex_declarator")
-    .return (rx660_cur)
+  rx680_done:
+    rx680_cur."!cursor_fail"()
+    rx680_cur."!cursor_debug"("FAIL  ", "regex_declarator")
+    .return (rx680_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__regex_declarator"  :subid("156_1259103982.97329") :method
+.sub "!PREFIX__regex_declarator"  :subid("160_1259177761.22934") :method
 .annotate "line", 4
-    new $P662, "ResizablePMCArray"
-    push $P662, ""
-    .return ($P662)
+    new $P682, "ResizablePMCArray"
+    push $P682, ""
+    .return ($P682)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "dotty"  :subid("157_1259103982.97329") :method :outer("11_1259103982.97329")
+.sub "dotty"  :subid("161_1259177761.22934") :method :outer("11_1259177761.22934")
 .annotate "line", 4
-    .local string rx692_tgt
-    .local int rx692_pos
-    .local int rx692_off
-    .local int rx692_eos
-    .local int rx692_rep
-    .local pmc rx692_cur
-    (rx692_cur, rx692_pos, rx692_tgt) = self."!cursor_start"()
-    rx692_cur."!cursor_debug"("START ", "dotty")
-    rx692_cur."!cursor_caparray"("args")
-    .lex unicode:"$\x{a2}", rx692_cur
-    .local pmc match
-    .lex "$/", match
-    length rx692_eos, rx692_tgt
-    set rx692_off, 0
-    lt rx692_pos, 2, rx692_start
-    sub rx692_off, rx692_pos, 1
-    substr rx692_tgt, rx692_tgt, rx692_off
-  rx692_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan696_done
-    goto rxscan696_scan
-  rxscan696_loop:
-    ($P10) = rx692_cur."from"()
-    inc $P10
-    set rx692_pos, $P10
-    ge rx692_pos, rx692_eos, rxscan696_done
-  rxscan696_scan:
-    set_addr $I10, rxscan696_loop
-    rx692_cur."!mark_push"(0, rx692_pos, $I10)
-  rxscan696_done:
-.annotate "line", 315
+    .local string rx712_tgt
+    .local int rx712_pos
+    .local int rx712_off
+    .local int rx712_eos
+    .local int rx712_rep
+    .local pmc rx712_cur
+    (rx712_cur, rx712_pos, rx712_tgt) = self."!cursor_start"()
+    rx712_cur."!cursor_debug"("START ", "dotty")
+    rx712_cur."!cursor_caparray"("args")
+    .lex unicode:"$\x{a2}", rx712_cur
+    .local pmc match
+    .lex "$/", match
+    length rx712_eos, rx712_tgt
+    set rx712_off, 0
+    lt rx712_pos, 2, rx712_start
+    sub rx712_off, rx712_pos, 1
+    substr rx712_tgt, rx712_tgt, rx712_off
+  rx712_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan716_done
+    goto rxscan716_scan
+  rxscan716_loop:
+    ($P10) = rx712_cur."from"()
+    inc $P10
+    set rx712_pos, $P10
+    ge rx712_pos, rx712_eos, rxscan716_done
+  rxscan716_scan:
+    set_addr $I10, rxscan716_loop
+    rx712_cur."!mark_push"(0, rx712_pos, $I10)
+  rxscan716_done:
+.annotate "line", 325
   # rx literal  "."
-    add $I11, rx692_pos, 1
-    gt $I11, rx692_eos, rx692_fail
-    sub $I11, rx692_pos, rx692_off
-    substr $S10, rx692_tgt, $I11, 1
-    ne $S10, ".", rx692_fail
-    add rx692_pos, 1
-  alt697_0:
-.annotate "line", 316
-    set_addr $I10, alt697_1
-    rx692_cur."!mark_push"(0, rx692_pos, $I10)
+    add $I11, rx712_pos, 1
+    gt $I11, rx712_eos, rx712_fail
+    sub $I11, rx712_pos, rx712_off
+    substr $S10, rx712_tgt, $I11, 1
+    ne $S10, ".", rx712_fail
+    add rx712_pos, 1
+  alt717_0:
+.annotate "line", 326
+    set_addr $I10, alt717_1
+    rx712_cur."!mark_push"(0, rx712_pos, $I10)
   # rx subrule "identifier" subtype=capture negate=
-    rx692_cur."!cursor_pos"(rx692_pos)
-    $P10 = rx692_cur."identifier"()
-    unless $P10, rx692_fail
-    rx692_cur."!mark_push"(0, -1, 0, $P10)
+    rx712_cur."!cursor_pos"(rx712_pos)
+    $P10 = rx712_cur."identifier"()
+    unless $P10, rx712_fail
+    rx712_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("longname=identifier")
-    rx692_pos = $P10."pos"()
-    goto alt697_end
-  alt697_1:
-.annotate "line", 317
+    rx712_pos = $P10."pos"()
+    goto alt717_end
+  alt717_1:
+.annotate "line", 327
   # rx enumcharlist negate=0 zerowidth
-    ge rx692_pos, rx692_eos, rx692_fail
-    sub $I10, rx692_pos, rx692_off
-    substr $S10, rx692_tgt, $I10, 1
+    ge rx712_pos, rx712_eos, rx712_fail
+    sub $I10, rx712_pos, rx712_off
+    substr $S10, rx712_tgt, $I10, 1
     index $I11, "'\"", $S10
-    lt $I11, 0, rx692_fail
+    lt $I11, 0, rx712_fail
   # rx subrule "quote" subtype=capture negate=
-    rx692_cur."!cursor_pos"(rx692_pos)
-    $P10 = rx692_cur."quote"()
-    unless $P10, rx692_fail
-    rx692_cur."!mark_push"(0, -1, 0, $P10)
+    rx712_cur."!cursor_pos"(rx712_pos)
+    $P10 = rx712_cur."quote"()
+    unless $P10, rx712_fail
+    rx712_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("quote")
-    rx692_pos = $P10."pos"()
-  alt698_0:
-.annotate "line", 318
-    set_addr $I10, alt698_1
-    rx692_cur."!mark_push"(0, rx692_pos, $I10)
+    rx712_pos = $P10."pos"()
+  alt718_0:
+.annotate "line", 328
+    set_addr $I10, alt718_1
+    rx712_cur."!mark_push"(0, rx712_pos, $I10)
   # rx enumcharlist negate=0 zerowidth
-    ge rx692_pos, rx692_eos, rx692_fail
-    sub $I10, rx692_pos, rx692_off
-    substr $S10, rx692_tgt, $I10, 1
+    ge rx712_pos, rx712_eos, rx712_fail
+    sub $I10, rx712_pos, rx712_off
+    substr $S10, rx712_tgt, $I10, 1
     index $I11, "(", $S10
-    lt $I11, 0, rx692_fail
-    goto alt698_end
-  alt698_1:
+    lt $I11, 0, rx712_fail
+    goto alt718_end
+  alt718_1:
   # rx subrule "panic" subtype=method negate=
-    rx692_cur."!cursor_pos"(rx692_pos)
-    $P10 = rx692_cur."panic"("Quoted method name requires parenthesized arguments")
-    unless $P10, rx692_fail
-    rx692_pos = $P10."pos"()
-  alt698_end:
-  alt697_end:
-.annotate "line", 324
-  # rx rxquantr699 ** 0..1
-    set_addr $I701, rxquantr699_done
-    rx692_cur."!mark_push"(0, rx692_pos, $I701)
-  rxquantr699_loop:
-  alt700_0:
-.annotate "line", 321
-    set_addr $I10, alt700_1
-    rx692_cur."!mark_push"(0, rx692_pos, $I10)
-.annotate "line", 322
+    rx712_cur."!cursor_pos"(rx712_pos)
+    $P10 = rx712_cur."panic"("Quoted method name requires parenthesized arguments")
+    unless $P10, rx712_fail
+    rx712_pos = $P10."pos"()
+  alt718_end:
+  alt717_end:
+.annotate "line", 334
+  # rx rxquantr719 ** 0..1
+    set_addr $I721, rxquantr719_done
+    rx712_cur."!mark_push"(0, rx712_pos, $I721)
+  rxquantr719_loop:
+  alt720_0:
+.annotate "line", 331
+    set_addr $I10, alt720_1
+    rx712_cur."!mark_push"(0, rx712_pos, $I10)
+.annotate "line", 332
   # rx enumcharlist negate=0 zerowidth
-    ge rx692_pos, rx692_eos, rx692_fail
-    sub $I10, rx692_pos, rx692_off
-    substr $S10, rx692_tgt, $I10, 1
+    ge rx712_pos, rx712_eos, rx712_fail
+    sub $I10, rx712_pos, rx712_off
+    substr $S10, rx712_tgt, $I10, 1
     index $I11, "(", $S10
-    lt $I11, 0, rx692_fail
+    lt $I11, 0, rx712_fail
   # rx subrule "args" subtype=capture negate=
-    rx692_cur."!cursor_pos"(rx692_pos)
-    $P10 = rx692_cur."args"()
-    unless $P10, rx692_fail
-    rx692_cur."!mark_push"(0, -1, 0, $P10)
+    rx712_cur."!cursor_pos"(rx712_pos)
+    $P10 = rx712_cur."args"()
+    unless $P10, rx712_fail
+    rx712_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("args")
-    rx692_pos = $P10."pos"()
-    goto alt700_end
-  alt700_1:
-.annotate "line", 323
+    rx712_pos = $P10."pos"()
+    goto alt720_end
+  alt720_1:
+.annotate "line", 333
   # rx literal  ":"
-    add $I11, rx692_pos, 1
-    gt $I11, rx692_eos, rx692_fail
-    sub $I11, rx692_pos, rx692_off
-    substr $S10, rx692_tgt, $I11, 1
-    ne $S10, ":", rx692_fail
-    add rx692_pos, 1
+    add $I11, rx712_pos, 1
+    gt $I11, rx712_eos, rx712_fail
+    sub $I11, rx712_pos, rx712_off
+    substr $S10, rx712_tgt, $I11, 1
+    ne $S10, ":", rx712_fail
+    add rx712_pos, 1
   # rx charclass s
-    ge rx692_pos, rx692_eos, rx692_fail
-    sub $I10, rx692_pos, rx692_off
-    is_cclass $I11, 32, rx692_tgt, $I10
-    unless $I11, rx692_fail
-    inc rx692_pos
+    ge rx712_pos, rx712_eos, rx712_fail
+    sub $I10, rx712_pos, rx712_off
+    is_cclass $I11, 32, rx712_tgt, $I10
+    unless $I11, rx712_fail
+    inc rx712_pos
   # rx subrule "arglist" subtype=capture negate=
-    rx692_cur."!cursor_pos"(rx692_pos)
-    $P10 = rx692_cur."arglist"()
-    unless $P10, rx692_fail
-    rx692_cur."!mark_push"(0, -1, 0, $P10)
+    rx712_cur."!cursor_pos"(rx712_pos)
+    $P10 = rx712_cur."arglist"()
+    unless $P10, rx712_fail
+    rx712_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("args")
-    rx692_pos = $P10."pos"()
-  alt700_end:
+    rx712_pos = $P10."pos"()
+  alt720_end:
+.annotate "line", 334
+    (rx712_rep) = rx712_cur."!mark_commit"($I721)
+  rxquantr719_done:
 .annotate "line", 324
-    (rx692_rep) = rx692_cur."!mark_commit"($I701)
-  rxquantr699_done:
-.annotate "line", 314
-  # rx pass
-    rx692_cur."!cursor_pass"(rx692_pos, "dotty")
-    rx692_cur."!cursor_debug"("PASS  ", "dotty", " at pos=", rx692_pos)
-    .return (rx692_cur)
-  rx692_fail:
-.annotate "line", 4
-    (rx692_rep, rx692_pos, $I10, $P10) = rx692_cur."!mark_fail"(0)
-    lt rx692_pos, -1, rx692_done
-    eq rx692_pos, -1, rx692_fail
-    jump $I10
-  rx692_done:
-    rx692_cur."!cursor_fail"()
-    rx692_cur."!cursor_debug"("FAIL  ", "dotty")
-    .return (rx692_cur)
-    .return ()
-.end
-
-
-.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__dotty"  :subid("158_1259103982.97329") :method
-.annotate "line", 4
-    $P694 = self."!PREFIX__!subrule"("longname=identifier", ".")
-    new $P695, "ResizablePMCArray"
-    push $P695, "'"
-    push $P695, "\""
-    push $P695, $P694
-    .return ($P695)
-.end
-
-
-.namespace ["NQP";"Grammar"]
-.sub "term"  :subid("159_1259103982.97329") :method
-.annotate "line", 328
-    $P703 = self."!protoregex"("term")
-    .return ($P703)
-.end
-
-
-.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__term"  :subid("160_1259103982.97329") :method
-.annotate "line", 328
-    $P705 = self."!PREFIX__!protoregex"("term")
-    .return ($P705)
-.end
-
-
-.namespace ["NQP";"Grammar"]
-.sub "term:sym<self>"  :subid("161_1259103982.97329") :method :outer("11_1259103982.97329")
-.annotate "line", 4
-    .local string rx707_tgt
-    .local int rx707_pos
-    .local int rx707_off
-    .local int rx707_eos
-    .local int rx707_rep
-    .local pmc rx707_cur
-    (rx707_cur, rx707_pos, rx707_tgt) = self."!cursor_start"()
-    rx707_cur."!cursor_debug"("START ", "term:sym<self>")
-    .lex unicode:"$\x{a2}", rx707_cur
-    .local pmc match
-    .lex "$/", match
-    length rx707_eos, rx707_tgt
-    set rx707_off, 0
-    lt rx707_pos, 2, rx707_start
-    sub rx707_off, rx707_pos, 1
-    substr rx707_tgt, rx707_tgt, rx707_off
-  rx707_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan710_done
-    goto rxscan710_scan
-  rxscan710_loop:
-    ($P10) = rx707_cur."from"()
-    inc $P10
-    set rx707_pos, $P10
-    ge rx707_pos, rx707_eos, rxscan710_done
-  rxscan710_scan:
-    set_addr $I10, rxscan710_loop
-    rx707_cur."!mark_push"(0, rx707_pos, $I10)
-  rxscan710_done:
-.annotate "line", 330
-  # rx subcapture "sym"
-    set_addr $I10, rxcap_711_fail
-    rx707_cur."!mark_push"(0, rx707_pos, $I10)
-  # rx literal  "self"
-    add $I11, rx707_pos, 4
-    gt $I11, rx707_eos, rx707_fail
-    sub $I11, rx707_pos, rx707_off
-    substr $S10, rx707_tgt, $I11, 4
-    ne $S10, "self", rx707_fail
-    add rx707_pos, 4
-    set_addr $I10, rxcap_711_fail
-    ($I12, $I11) = rx707_cur."!mark_peek"($I10)
-    rx707_cur."!cursor_pos"($I11)
-    ($P10) = rx707_cur."!cursor_start"()
-    $P10."!cursor_pass"(rx707_pos, "")
-    rx707_cur."!mark_push"(0, -1, 0, $P10)
-    $P10."!cursor_names"("sym")
-    goto rxcap_711_done
-  rxcap_711_fail:
-    goto rx707_fail
-  rxcap_711_done:
-  # rxanchor rwb
-    le rx707_pos, 0, rx707_fail
-    sub $I10, rx707_pos, rx707_off
-    is_cclass $I11, 8192, rx707_tgt, $I10
-    if $I11, rx707_fail
-    dec $I10
-    is_cclass $I11, 8192, rx707_tgt, $I10
-    unless $I11, rx707_fail
-  # rx pass
-    rx707_cur."!cursor_pass"(rx707_pos, "term:sym<self>")
-    rx707_cur."!cursor_debug"("PASS  ", "term:sym<self>", " at pos=", rx707_pos)
-    .return (rx707_cur)
-  rx707_fail:
-.annotate "line", 4
-    (rx707_rep, rx707_pos, $I10, $P10) = rx707_cur."!mark_fail"(0)
-    lt rx707_pos, -1, rx707_done
-    eq rx707_pos, -1, rx707_fail
-    jump $I10
-  rx707_done:
-    rx707_cur."!cursor_fail"()
-    rx707_cur."!cursor_debug"("FAIL  ", "term:sym<self>")
-    .return (rx707_cur)
-    .return ()
-.end
-
-
-.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__term:sym<self>"  :subid("162_1259103982.97329") :method
-.annotate "line", 4
-    new $P709, "ResizablePMCArray"
-    push $P709, "self"
-    .return ($P709)
-.end
-
-
-.namespace ["NQP";"Grammar"]
-.sub "term:sym<identifier>"  :subid("163_1259103982.97329") :method :outer("11_1259103982.97329")
-.annotate "line", 4
-    .local string rx713_tgt
-    .local int rx713_pos
-    .local int rx713_off
-    .local int rx713_eos
-    .local int rx713_rep
-    .local pmc rx713_cur
-    (rx713_cur, rx713_pos, rx713_tgt) = self."!cursor_start"()
-    rx713_cur."!cursor_debug"("START ", "term:sym<identifier>")
-    .lex unicode:"$\x{a2}", rx713_cur
-    .local pmc match
-    .lex "$/", match
-    length rx713_eos, rx713_tgt
-    set rx713_off, 0
-    lt rx713_pos, 2, rx713_start
-    sub rx713_off, rx713_pos, 1
-    substr rx713_tgt, rx713_tgt, rx713_off
-  rx713_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan717_done
-    goto rxscan717_scan
-  rxscan717_loop:
-    ($P10) = rx713_cur."from"()
-    inc $P10
-    set rx713_pos, $P10
-    ge rx713_pos, rx713_eos, rxscan717_done
-  rxscan717_scan:
-    set_addr $I10, rxscan717_loop
-    rx713_cur."!mark_push"(0, rx713_pos, $I10)
-  rxscan717_done:
-.annotate "line", 333
-  # rx subrule "identifier" subtype=capture negate=
-    rx713_cur."!cursor_pos"(rx713_pos)
-    $P10 = rx713_cur."identifier"()
-    unless $P10, rx713_fail
-    rx713_cur."!mark_push"(0, -1, 0, $P10)
-    $P10."!cursor_names"("identifier")
-    rx713_pos = $P10."pos"()
-  # rx enumcharlist negate=0 zerowidth
-    ge rx713_pos, rx713_eos, rx713_fail
-    sub $I10, rx713_pos, rx713_off
-    substr $S10, rx713_tgt, $I10, 1
-    index $I11, "(", $S10
-    lt $I11, 0, rx713_fail
-  # rx subrule "args" subtype=capture negate=
-    rx713_cur."!cursor_pos"(rx713_pos)
-    $P10 = rx713_cur."args"()
-    unless $P10, rx713_fail
-    rx713_cur."!mark_push"(0, -1, 0, $P10)
-    $P10."!cursor_names"("args")
-    rx713_pos = $P10."pos"()
-.annotate "line", 332
   # rx pass
-    rx713_cur."!cursor_pass"(rx713_pos, "term:sym<identifier>")
-    rx713_cur."!cursor_debug"("PASS  ", "term:sym<identifier>", " at pos=", rx713_pos)
-    .return (rx713_cur)
-  rx713_fail:
+    rx712_cur."!cursor_pass"(rx712_pos, "dotty")
+    rx712_cur."!cursor_debug"("PASS  ", "dotty", " at pos=", rx712_pos)
+    .return (rx712_cur)
+  rx712_fail:
 .annotate "line", 4
-    (rx713_rep, rx713_pos, $I10, $P10) = rx713_cur."!mark_fail"(0)
-    lt rx713_pos, -1, rx713_done
-    eq rx713_pos, -1, rx713_fail
+    (rx712_rep, rx712_pos, $I10, $P10) = rx712_cur."!mark_fail"(0)
+    lt rx712_pos, -1, rx712_done
+    eq rx712_pos, -1, rx712_fail
     jump $I10
-  rx713_done:
-    rx713_cur."!cursor_fail"()
-    rx713_cur."!cursor_debug"("FAIL  ", "term:sym<identifier>")
-    .return (rx713_cur)
+  rx712_done:
+    rx712_cur."!cursor_fail"()
+    rx712_cur."!cursor_debug"("FAIL  ", "dotty")
+    .return (rx712_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__term:sym<identifier>"  :subid("164_1259103982.97329") :method
+.sub "!PREFIX__dotty"  :subid("162_1259177761.22934") :method
 .annotate "line", 4
-    $P715 = self."!PREFIX__!subrule"("identifier", "")
-    new $P716, "ResizablePMCArray"
-    push $P716, $P715
-    .return ($P716)
+    $P714 = self."!PREFIX__!subrule"("longname=identifier", ".")
+    new $P715, "ResizablePMCArray"
+    push $P715, "'"
+    push $P715, "\""
+    push $P715, $P714
+    .return ($P715)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "term:sym<name>"  :subid("165_1259103982.97329") :method :outer("11_1259103982.97329")
-.annotate "line", 4
-    .local string rx719_tgt
-    .local int rx719_pos
-    .local int rx719_off
-    .local int rx719_eos
-    .local int rx719_rep
-    .local pmc rx719_cur
-    (rx719_cur, rx719_pos, rx719_tgt) = self."!cursor_start"()
-    rx719_cur."!cursor_debug"("START ", "term:sym<name>")
-    rx719_cur."!cursor_caparray"("args")
-    .lex unicode:"$\x{a2}", rx719_cur
-    .local pmc match
-    .lex "$/", match
-    length rx719_eos, rx719_tgt
-    set rx719_off, 0
-    lt rx719_pos, 2, rx719_start
-    sub rx719_off, rx719_pos, 1
-    substr rx719_tgt, rx719_tgt, rx719_off
-  rx719_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan723_done
-    goto rxscan723_scan
-  rxscan723_loop:
-    ($P10) = rx719_cur."from"()
-    inc $P10
-    set rx719_pos, $P10
-    ge rx719_pos, rx719_eos, rxscan723_done
-  rxscan723_scan:
-    set_addr $I10, rxscan723_loop
-    rx719_cur."!mark_push"(0, rx719_pos, $I10)
-  rxscan723_done:
-.annotate "line", 337
-  # rx subrule "name" subtype=capture negate=
-    rx719_cur."!cursor_pos"(rx719_pos)
-    $P10 = rx719_cur."name"()
-    unless $P10, rx719_fail
-    rx719_cur."!mark_push"(0, -1, 0, $P10)
-    $P10."!cursor_names"("name")
-    rx719_pos = $P10."pos"()
-  # rx rxquantr724 ** 0..1
-    set_addr $I725, rxquantr724_done
-    rx719_cur."!mark_push"(0, rx719_pos, $I725)
-  rxquantr724_loop:
-  # rx subrule "args" subtype=capture negate=
-    rx719_cur."!cursor_pos"(rx719_pos)
-    $P10 = rx719_cur."args"()
-    unless $P10, rx719_fail
-    rx719_cur."!mark_push"(0, -1, 0, $P10)
-    $P10."!cursor_names"("args")
-    rx719_pos = $P10."pos"()
-    (rx719_rep) = rx719_cur."!mark_commit"($I725)
-  rxquantr724_done:
-.annotate "line", 336
-  # rx pass
-    rx719_cur."!cursor_pass"(rx719_pos, "term:sym<name>")
-    rx719_cur."!cursor_debug"("PASS  ", "term:sym<name>", " at pos=", rx719_pos)
-    .return (rx719_cur)
-  rx719_fail:
-.annotate "line", 4
-    (rx719_rep, rx719_pos, $I10, $P10) = rx719_cur."!mark_fail"(0)
-    lt rx719_pos, -1, rx719_done
-    eq rx719_pos, -1, rx719_fail
-    jump $I10
-  rx719_done:
-    rx719_cur."!cursor_fail"()
-    rx719_cur."!cursor_debug"("FAIL  ", "term:sym<name>")
-    .return (rx719_cur)
-    .return ()
+.sub "term"  :subid("163_1259177761.22934") :method
+.annotate "line", 338
+    $P723 = self."!protoregex"("term")
+    .return ($P723)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__term:sym<name>"  :subid("166_1259103982.97329") :method
-.annotate "line", 4
-    $P721 = self."!PREFIX__!subrule"("name", "")
-    new $P722, "ResizablePMCArray"
-    push $P722, $P721
-    .return ($P722)
+.sub "!PREFIX__term"  :subid("164_1259177761.22934") :method
+.annotate "line", 338
+    $P725 = self."!PREFIX__!protoregex"("term")
+    .return ($P725)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "term:sym<pir::op>"  :subid("167_1259103982.97329") :method :outer("11_1259103982.97329")
+.sub "term:sym<self>"  :subid("165_1259177761.22934") :method :outer("11_1259177761.22934")
 .annotate "line", 4
     .local string rx727_tgt
     .local int rx727_pos
@@ -8564,8 +8530,7 @@
     .local int rx727_rep
     .local pmc rx727_cur
     (rx727_cur, rx727_pos, rx727_tgt) = self."!cursor_start"()
-    rx727_cur."!cursor_debug"("START ", "term:sym<pir::op>")
-    rx727_cur."!cursor_caparray"("args")
+    rx727_cur."!cursor_debug"("START ", "term:sym<self>")
     .lex unicode:"$\x{a2}", rx727_cur
     .local pmc match
     .lex "$/", match
@@ -8587,51 +8552,39 @@
     set_addr $I10, rxscan730_loop
     rx727_cur."!mark_push"(0, rx727_pos, $I10)
   rxscan730_done:
-.annotate "line", 341
-  # rx literal  "pir::"
-    add $I11, rx727_pos, 5
-    gt $I11, rx727_eos, rx727_fail
-    sub $I11, rx727_pos, rx727_off
-    substr $S10, rx727_tgt, $I11, 5
-    ne $S10, "pir::", rx727_fail
-    add rx727_pos, 5
-  # rx subcapture "op"
+.annotate "line", 340
+  # rx subcapture "sym"
     set_addr $I10, rxcap_731_fail
     rx727_cur."!mark_push"(0, rx727_pos, $I10)
-  # rx charclass_q w r 1..-1
-    sub $I10, rx727_pos, rx727_off
-    find_not_cclass $I11, 8192, rx727_tgt, $I10, rx727_eos
-    add $I12, $I10, 1
-    lt $I11, $I12, rx727_fail
-    add rx727_pos, rx727_off, $I11
+  # rx literal  "self"
+    add $I11, rx727_pos, 4
+    gt $I11, rx727_eos, rx727_fail
+    sub $I11, rx727_pos, rx727_off
+    substr $S10, rx727_tgt, $I11, 4
+    ne $S10, "self", rx727_fail
+    add rx727_pos, 4
     set_addr $I10, rxcap_731_fail
     ($I12, $I11) = rx727_cur."!mark_peek"($I10)
     rx727_cur."!cursor_pos"($I11)
     ($P10) = rx727_cur."!cursor_start"()
     $P10."!cursor_pass"(rx727_pos, "")
     rx727_cur."!mark_push"(0, -1, 0, $P10)
-    $P10."!cursor_names"("op")
+    $P10."!cursor_names"("sym")
     goto rxcap_731_done
   rxcap_731_fail:
     goto rx727_fail
   rxcap_731_done:
-  # rx rxquantr732 ** 0..1
-    set_addr $I733, rxquantr732_done
-    rx727_cur."!mark_push"(0, rx727_pos, $I733)
-  rxquantr732_loop:
-  # rx subrule "args" subtype=capture negate=
-    rx727_cur."!cursor_pos"(rx727_pos)
-    $P10 = rx727_cur."args"()
-    unless $P10, rx727_fail
-    rx727_cur."!mark_push"(0, -1, 0, $P10)
-    $P10."!cursor_names"("args")
-    rx727_pos = $P10."pos"()
-    (rx727_rep) = rx727_cur."!mark_commit"($I733)
-  rxquantr732_done:
-.annotate "line", 340
+  # rxanchor rwb
+    le rx727_pos, 0, rx727_fail
+    sub $I10, rx727_pos, rx727_off
+    is_cclass $I11, 8192, rx727_tgt, $I10
+    if $I11, rx727_fail
+    dec $I10
+    is_cclass $I11, 8192, rx727_tgt, $I10
+    unless $I11, rx727_fail
   # rx pass
-    rx727_cur."!cursor_pass"(rx727_pos, "term:sym<pir::op>")
-    rx727_cur."!cursor_debug"("PASS  ", "term:sym<pir::op>", " at pos=", rx727_pos)
+    rx727_cur."!cursor_pass"(rx727_pos, "term:sym<self>")
+    rx727_cur."!cursor_debug"("PASS  ", "term:sym<self>", " at pos=", rx727_pos)
     .return (rx727_cur)
   rx727_fail:
 .annotate "line", 4
@@ -8641,1616 +8594,1633 @@
     jump $I10
   rx727_done:
     rx727_cur."!cursor_fail"()
-    rx727_cur."!cursor_debug"("FAIL  ", "term:sym<pir::op>")
+    rx727_cur."!cursor_debug"("FAIL  ", "term:sym<self>")
     .return (rx727_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__term:sym<pir::op>"  :subid("168_1259103982.97329") :method
+.sub "!PREFIX__term:sym<self>"  :subid("166_1259177761.22934") :method
 .annotate "line", 4
     new $P729, "ResizablePMCArray"
-    push $P729, "pir::"
+    push $P729, "self"
     .return ($P729)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "args"  :subid("169_1259103982.97329") :method :outer("11_1259103982.97329")
+.sub "term:sym<identifier>"  :subid("167_1259177761.22934") :method :outer("11_1259177761.22934")
 .annotate "line", 4
-    .local string rx735_tgt
-    .local int rx735_pos
-    .local int rx735_off
-    .local int rx735_eos
-    .local int rx735_rep
-    .local pmc rx735_cur
-    (rx735_cur, rx735_pos, rx735_tgt) = self."!cursor_start"()
-    rx735_cur."!cursor_debug"("START ", "args")
-    .lex unicode:"$\x{a2}", rx735_cur
-    .local pmc match
-    .lex "$/", match
-    length rx735_eos, rx735_tgt
-    set rx735_off, 0
-    lt rx735_pos, 2, rx735_start
-    sub rx735_off, rx735_pos, 1
-    substr rx735_tgt, rx735_tgt, rx735_off
-  rx735_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan739_done
-    goto rxscan739_scan
-  rxscan739_loop:
-    ($P10) = rx735_cur."from"()
-    inc $P10
-    set rx735_pos, $P10
-    ge rx735_pos, rx735_eos, rxscan739_done
-  rxscan739_scan:
-    set_addr $I10, rxscan739_loop
-    rx735_cur."!mark_push"(0, rx735_pos, $I10)
-  rxscan739_done:
-.annotate "line", 345
-  # rx literal  "("
-    add $I11, rx735_pos, 1
-    gt $I11, rx735_eos, rx735_fail
-    sub $I11, rx735_pos, rx735_off
-    substr $S10, rx735_tgt, $I11, 1
-    ne $S10, "(", rx735_fail
-    add rx735_pos, 1
-  # rx subrule "arglist" subtype=capture negate=
-    rx735_cur."!cursor_pos"(rx735_pos)
-    $P10 = rx735_cur."arglist"()
-    unless $P10, rx735_fail
-    rx735_cur."!mark_push"(0, -1, 0, $P10)
-    $P10."!cursor_names"("arglist")
-    rx735_pos = $P10."pos"()
-  # rx literal  ")"
-    add $I11, rx735_pos, 1
-    gt $I11, rx735_eos, rx735_fail
-    sub $I11, rx735_pos, rx735_off
-    substr $S10, rx735_tgt, $I11, 1
-    ne $S10, ")", rx735_fail
-    add rx735_pos, 1
+    .local string rx733_tgt
+    .local int rx733_pos
+    .local int rx733_off
+    .local int rx733_eos
+    .local int rx733_rep
+    .local pmc rx733_cur
+    (rx733_cur, rx733_pos, rx733_tgt) = self."!cursor_start"()
+    rx733_cur."!cursor_debug"("START ", "term:sym<identifier>")
+    .lex unicode:"$\x{a2}", rx733_cur
+    .local pmc match
+    .lex "$/", match
+    length rx733_eos, rx733_tgt
+    set rx733_off, 0
+    lt rx733_pos, 2, rx733_start
+    sub rx733_off, rx733_pos, 1
+    substr rx733_tgt, rx733_tgt, rx733_off
+  rx733_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan737_done
+    goto rxscan737_scan
+  rxscan737_loop:
+    ($P10) = rx733_cur."from"()
+    inc $P10
+    set rx733_pos, $P10
+    ge rx733_pos, rx733_eos, rxscan737_done
+  rxscan737_scan:
+    set_addr $I10, rxscan737_loop
+    rx733_cur."!mark_push"(0, rx733_pos, $I10)
+  rxscan737_done:
+.annotate "line", 343
+  # rx subrule "identifier" subtype=capture negate=
+    rx733_cur."!cursor_pos"(rx733_pos)
+    $P10 = rx733_cur."identifier"()
+    unless $P10, rx733_fail
+    rx733_cur."!mark_push"(0, -1, 0, $P10)
+    $P10."!cursor_names"("identifier")
+    rx733_pos = $P10."pos"()
+  # rx enumcharlist negate=0 zerowidth
+    ge rx733_pos, rx733_eos, rx733_fail
+    sub $I10, rx733_pos, rx733_off
+    substr $S10, rx733_tgt, $I10, 1
+    index $I11, "(", $S10
+    lt $I11, 0, rx733_fail
+  # rx subrule "args" subtype=capture negate=
+    rx733_cur."!cursor_pos"(rx733_pos)
+    $P10 = rx733_cur."args"()
+    unless $P10, rx733_fail
+    rx733_cur."!mark_push"(0, -1, 0, $P10)
+    $P10."!cursor_names"("args")
+    rx733_pos = $P10."pos"()
+.annotate "line", 342
   # rx pass
-    rx735_cur."!cursor_pass"(rx735_pos, "args")
-    rx735_cur."!cursor_debug"("PASS  ", "args", " at pos=", rx735_pos)
-    .return (rx735_cur)
-  rx735_fail:
+    rx733_cur."!cursor_pass"(rx733_pos, "term:sym<identifier>")
+    rx733_cur."!cursor_debug"("PASS  ", "term:sym<identifier>", " at pos=", rx733_pos)
+    .return (rx733_cur)
+  rx733_fail:
 .annotate "line", 4
-    (rx735_rep, rx735_pos, $I10, $P10) = rx735_cur."!mark_fail"(0)
-    lt rx735_pos, -1, rx735_done
-    eq rx735_pos, -1, rx735_fail
+    (rx733_rep, rx733_pos, $I10, $P10) = rx733_cur."!mark_fail"(0)
+    lt rx733_pos, -1, rx733_done
+    eq rx733_pos, -1, rx733_fail
     jump $I10
-  rx735_done:
-    rx735_cur."!cursor_fail"()
-    rx735_cur."!cursor_debug"("FAIL  ", "args")
-    .return (rx735_cur)
+  rx733_done:
+    rx733_cur."!cursor_fail"()
+    rx733_cur."!cursor_debug"("FAIL  ", "term:sym<identifier>")
+    .return (rx733_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__args"  :subid("170_1259103982.97329") :method
+.sub "!PREFIX__term:sym<identifier>"  :subid("168_1259177761.22934") :method
 .annotate "line", 4
-    $P737 = self."!PREFIX__!subrule"("arglist", "(")
-    new $P738, "ResizablePMCArray"
-    push $P738, $P737
-    .return ($P738)
+    $P735 = self."!PREFIX__!subrule"("identifier", "")
+    new $P736, "ResizablePMCArray"
+    push $P736, $P735
+    .return ($P736)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "arglist"  :subid("171_1259103982.97329") :method :outer("11_1259103982.97329")
+.sub "term:sym<name>"  :subid("169_1259177761.22934") :method :outer("11_1259177761.22934")
 .annotate "line", 4
-    .local string rx741_tgt
-    .local int rx741_pos
-    .local int rx741_off
-    .local int rx741_eos
-    .local int rx741_rep
-    .local pmc rx741_cur
-    (rx741_cur, rx741_pos, rx741_tgt) = self."!cursor_start"()
-    rx741_cur."!cursor_debug"("START ", "arglist")
-    .lex unicode:"$\x{a2}", rx741_cur
+    .local string rx739_tgt
+    .local int rx739_pos
+    .local int rx739_off
+    .local int rx739_eos
+    .local int rx739_rep
+    .local pmc rx739_cur
+    (rx739_cur, rx739_pos, rx739_tgt) = self."!cursor_start"()
+    rx739_cur."!cursor_debug"("START ", "term:sym<name>")
+    rx739_cur."!cursor_caparray"("args")
+    .lex unicode:"$\x{a2}", rx739_cur
     .local pmc match
     .lex "$/", match
-    length rx741_eos, rx741_tgt
-    set rx741_off, 0
-    lt rx741_pos, 2, rx741_start
-    sub rx741_off, rx741_pos, 1
-    substr rx741_tgt, rx741_tgt, rx741_off
-  rx741_start:
+    length rx739_eos, rx739_tgt
+    set rx739_off, 0
+    lt rx739_pos, 2, rx739_start
+    sub rx739_off, rx739_pos, 1
+    substr rx739_tgt, rx739_tgt, rx739_off
+  rx739_start:
     $I10 = self.'from'()
-    ne $I10, -1, rxscan745_done
-    goto rxscan745_scan
-  rxscan745_loop:
-    ($P10) = rx741_cur."from"()
+    ne $I10, -1, rxscan743_done
+    goto rxscan743_scan
+  rxscan743_loop:
+    ($P10) = rx739_cur."from"()
     inc $P10
-    set rx741_pos, $P10
-    ge rx741_pos, rx741_eos, rxscan745_done
-  rxscan745_scan:
-    set_addr $I10, rxscan745_loop
-    rx741_cur."!mark_push"(0, rx741_pos, $I10)
-  rxscan745_done:
-.annotate "line", 349
-  # rx subrule "ws" subtype=method negate=
-    rx741_cur."!cursor_pos"(rx741_pos)
-    $P10 = rx741_cur."ws"()
-    unless $P10, rx741_fail
-    rx741_pos = $P10."pos"()
-  alt746_0:
-.annotate "line", 350
-    set_addr $I10, alt746_1
-    rx741_cur."!mark_push"(0, rx741_pos, $I10)
-.annotate "line", 351
-  # rx subrule "EXPR" subtype=capture negate=
-    rx741_cur."!cursor_pos"(rx741_pos)
-    $P10 = rx741_cur."EXPR"("f=")
-    unless $P10, rx741_fail
-    rx741_cur."!mark_push"(0, -1, 0, $P10)
-    $P10."!cursor_names"("EXPR")
-    rx741_pos = $P10."pos"()
-    goto alt746_end
-  alt746_1:
-  alt746_end:
-.annotate "line", 348
+    set rx739_pos, $P10
+    ge rx739_pos, rx739_eos, rxscan743_done
+  rxscan743_scan:
+    set_addr $I10, rxscan743_loop
+    rx739_cur."!mark_push"(0, rx739_pos, $I10)
+  rxscan743_done:
+.annotate "line", 347
+  # rx subrule "name" subtype=capture negate=
+    rx739_cur."!cursor_pos"(rx739_pos)
+    $P10 = rx739_cur."name"()
+    unless $P10, rx739_fail
+    rx739_cur."!mark_push"(0, -1, 0, $P10)
+    $P10."!cursor_names"("name")
+    rx739_pos = $P10."pos"()
+  # rx rxquantr744 ** 0..1
+    set_addr $I745, rxquantr744_done
+    rx739_cur."!mark_push"(0, rx739_pos, $I745)
+  rxquantr744_loop:
+  # rx subrule "args" subtype=capture negate=
+    rx739_cur."!cursor_pos"(rx739_pos)
+    $P10 = rx739_cur."args"()
+    unless $P10, rx739_fail
+    rx739_cur."!mark_push"(0, -1, 0, $P10)
+    $P10."!cursor_names"("args")
+    rx739_pos = $P10."pos"()
+    (rx739_rep) = rx739_cur."!mark_commit"($I745)
+  rxquantr744_done:
+.annotate "line", 346
   # rx pass
-    rx741_cur."!cursor_pass"(rx741_pos, "arglist")
-    rx741_cur."!cursor_debug"("PASS  ", "arglist", " at pos=", rx741_pos)
-    .return (rx741_cur)
-  rx741_fail:
+    rx739_cur."!cursor_pass"(rx739_pos, "term:sym<name>")
+    rx739_cur."!cursor_debug"("PASS  ", "term:sym<name>", " at pos=", rx739_pos)
+    .return (rx739_cur)
+  rx739_fail:
 .annotate "line", 4
-    (rx741_rep, rx741_pos, $I10, $P10) = rx741_cur."!mark_fail"(0)
-    lt rx741_pos, -1, rx741_done
-    eq rx741_pos, -1, rx741_fail
+    (rx739_rep, rx739_pos, $I10, $P10) = rx739_cur."!mark_fail"(0)
+    lt rx739_pos, -1, rx739_done
+    eq rx739_pos, -1, rx739_fail
     jump $I10
-  rx741_done:
-    rx741_cur."!cursor_fail"()
-    rx741_cur."!cursor_debug"("FAIL  ", "arglist")
-    .return (rx741_cur)
+  rx739_done:
+    rx739_cur."!cursor_fail"()
+    rx739_cur."!cursor_debug"("FAIL  ", "term:sym<name>")
+    .return (rx739_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__arglist"  :subid("172_1259103982.97329") :method
+.sub "!PREFIX__term:sym<name>"  :subid("170_1259177761.22934") :method
 .annotate "line", 4
-    $P743 = self."!PREFIX__!subrule"("", "")
-    new $P744, "ResizablePMCArray"
-    push $P744, $P743
-    .return ($P744)
+    $P741 = self."!PREFIX__!subrule"("name", "")
+    new $P742, "ResizablePMCArray"
+    push $P742, $P741
+    .return ($P742)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "term:sym<value>"  :subid("173_1259103982.97329") :method :outer("11_1259103982.97329")
+.sub "term:sym<pir::op>"  :subid("171_1259177761.22934") :method :outer("11_1259177761.22934")
 .annotate "line", 4
-    .local string rx748_tgt
-    .local int rx748_pos
-    .local int rx748_off
-    .local int rx748_eos
-    .local int rx748_rep
-    .local pmc rx748_cur
-    (rx748_cur, rx748_pos, rx748_tgt) = self."!cursor_start"()
-    rx748_cur."!cursor_debug"("START ", "term:sym<value>")
-    .lex unicode:"$\x{a2}", rx748_cur
-    .local pmc match
-    .lex "$/", match
-    length rx748_eos, rx748_tgt
-    set rx748_off, 0
-    lt rx748_pos, 2, rx748_start
-    sub rx748_off, rx748_pos, 1
-    substr rx748_tgt, rx748_tgt, rx748_off
-  rx748_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan752_done
-    goto rxscan752_scan
-  rxscan752_loop:
-    ($P10) = rx748_cur."from"()
-    inc $P10
-    set rx748_pos, $P10
-    ge rx748_pos, rx748_eos, rxscan752_done
-  rxscan752_scan:
-    set_addr $I10, rxscan752_loop
-    rx748_cur."!mark_push"(0, rx748_pos, $I10)
-  rxscan752_done:
-.annotate "line", 357
-  # rx subrule "value" subtype=capture negate=
-    rx748_cur."!cursor_pos"(rx748_pos)
-    $P10 = rx748_cur."value"()
-    unless $P10, rx748_fail
-    rx748_cur."!mark_push"(0, -1, 0, $P10)
-    $P10."!cursor_names"("value")
-    rx748_pos = $P10."pos"()
+    .local string rx747_tgt
+    .local int rx747_pos
+    .local int rx747_off
+    .local int rx747_eos
+    .local int rx747_rep
+    .local pmc rx747_cur
+    (rx747_cur, rx747_pos, rx747_tgt) = self."!cursor_start"()
+    rx747_cur."!cursor_debug"("START ", "term:sym<pir::op>")
+    rx747_cur."!cursor_caparray"("args")
+    .lex unicode:"$\x{a2}", rx747_cur
+    .local pmc match
+    .lex "$/", match
+    length rx747_eos, rx747_tgt
+    set rx747_off, 0
+    lt rx747_pos, 2, rx747_start
+    sub rx747_off, rx747_pos, 1
+    substr rx747_tgt, rx747_tgt, rx747_off
+  rx747_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan750_done
+    goto rxscan750_scan
+  rxscan750_loop:
+    ($P10) = rx747_cur."from"()
+    inc $P10
+    set rx747_pos, $P10
+    ge rx747_pos, rx747_eos, rxscan750_done
+  rxscan750_scan:
+    set_addr $I10, rxscan750_loop
+    rx747_cur."!mark_push"(0, rx747_pos, $I10)
+  rxscan750_done:
+.annotate "line", 351
+  # rx literal  "pir::"
+    add $I11, rx747_pos, 5
+    gt $I11, rx747_eos, rx747_fail
+    sub $I11, rx747_pos, rx747_off
+    substr $S10, rx747_tgt, $I11, 5
+    ne $S10, "pir::", rx747_fail
+    add rx747_pos, 5
+  # rx subcapture "op"
+    set_addr $I10, rxcap_751_fail
+    rx747_cur."!mark_push"(0, rx747_pos, $I10)
+  # rx charclass_q w r 1..-1
+    sub $I10, rx747_pos, rx747_off
+    find_not_cclass $I11, 8192, rx747_tgt, $I10, rx747_eos
+    add $I12, $I10, 1
+    lt $I11, $I12, rx747_fail
+    add rx747_pos, rx747_off, $I11
+    set_addr $I10, rxcap_751_fail
+    ($I12, $I11) = rx747_cur."!mark_peek"($I10)
+    rx747_cur."!cursor_pos"($I11)
+    ($P10) = rx747_cur."!cursor_start"()
+    $P10."!cursor_pass"(rx747_pos, "")
+    rx747_cur."!mark_push"(0, -1, 0, $P10)
+    $P10."!cursor_names"("op")
+    goto rxcap_751_done
+  rxcap_751_fail:
+    goto rx747_fail
+  rxcap_751_done:
+  # rx rxquantr752 ** 0..1
+    set_addr $I753, rxquantr752_done
+    rx747_cur."!mark_push"(0, rx747_pos, $I753)
+  rxquantr752_loop:
+  # rx subrule "args" subtype=capture negate=
+    rx747_cur."!cursor_pos"(rx747_pos)
+    $P10 = rx747_cur."args"()
+    unless $P10, rx747_fail
+    rx747_cur."!mark_push"(0, -1, 0, $P10)
+    $P10."!cursor_names"("args")
+    rx747_pos = $P10."pos"()
+    (rx747_rep) = rx747_cur."!mark_commit"($I753)
+  rxquantr752_done:
+.annotate "line", 350
   # rx pass
-    rx748_cur."!cursor_pass"(rx748_pos, "term:sym<value>")
-    rx748_cur."!cursor_debug"("PASS  ", "term:sym<value>", " at pos=", rx748_pos)
-    .return (rx748_cur)
-  rx748_fail:
+    rx747_cur."!cursor_pass"(rx747_pos, "term:sym<pir::op>")
+    rx747_cur."!cursor_debug"("PASS  ", "term:sym<pir::op>", " at pos=", rx747_pos)
+    .return (rx747_cur)
+  rx747_fail:
 .annotate "line", 4
-    (rx748_rep, rx748_pos, $I10, $P10) = rx748_cur."!mark_fail"(0)
-    lt rx748_pos, -1, rx748_done
-    eq rx748_pos, -1, rx748_fail
+    (rx747_rep, rx747_pos, $I10, $P10) = rx747_cur."!mark_fail"(0)
+    lt rx747_pos, -1, rx747_done
+    eq rx747_pos, -1, rx747_fail
     jump $I10
-  rx748_done:
-    rx748_cur."!cursor_fail"()
-    rx748_cur."!cursor_debug"("FAIL  ", "term:sym<value>")
-    .return (rx748_cur)
+  rx747_done:
+    rx747_cur."!cursor_fail"()
+    rx747_cur."!cursor_debug"("FAIL  ", "term:sym<pir::op>")
+    .return (rx747_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__term:sym<value>"  :subid("174_1259103982.97329") :method
+.sub "!PREFIX__term:sym<pir::op>"  :subid("172_1259177761.22934") :method
 .annotate "line", 4
-    $P750 = self."!PREFIX__!subrule"("value", "")
-    new $P751, "ResizablePMCArray"
-    push $P751, $P750
-    .return ($P751)
+    new $P749, "ResizablePMCArray"
+    push $P749, "pir::"
+    .return ($P749)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "value"  :subid("175_1259103982.97329") :method :outer("11_1259103982.97329")
+.sub "args"  :subid("173_1259177761.22934") :method :outer("11_1259177761.22934")
 .annotate "line", 4
-    .local string rx754_tgt
-    .local int rx754_pos
-    .local int rx754_off
-    .local int rx754_eos
-    .local int rx754_rep
-    .local pmc rx754_cur
-    (rx754_cur, rx754_pos, rx754_tgt) = self."!cursor_start"()
-    rx754_cur."!cursor_debug"("START ", "value")
-    .lex unicode:"$\x{a2}", rx754_cur
+    .local string rx755_tgt
+    .local int rx755_pos
+    .local int rx755_off
+    .local int rx755_eos
+    .local int rx755_rep
+    .local pmc rx755_cur
+    (rx755_cur, rx755_pos, rx755_tgt) = self."!cursor_start"()
+    rx755_cur."!cursor_debug"("START ", "args")
+    .lex unicode:"$\x{a2}", rx755_cur
     .local pmc match
     .lex "$/", match
-    length rx754_eos, rx754_tgt
-    set rx754_off, 0
-    lt rx754_pos, 2, rx754_start
-    sub rx754_off, rx754_pos, 1
-    substr rx754_tgt, rx754_tgt, rx754_off
-  rx754_start:
+    length rx755_eos, rx755_tgt
+    set rx755_off, 0
+    lt rx755_pos, 2, rx755_start
+    sub rx755_off, rx755_pos, 1
+    substr rx755_tgt, rx755_tgt, rx755_off
+  rx755_start:
     $I10 = self.'from'()
     ne $I10, -1, rxscan759_done
     goto rxscan759_scan
   rxscan759_loop:
-    ($P10) = rx754_cur."from"()
+    ($P10) = rx755_cur."from"()
     inc $P10
-    set rx754_pos, $P10
-    ge rx754_pos, rx754_eos, rxscan759_done
+    set rx755_pos, $P10
+    ge rx755_pos, rx755_eos, rxscan759_done
   rxscan759_scan:
     set_addr $I10, rxscan759_loop
-    rx754_cur."!mark_push"(0, rx754_pos, $I10)
+    rx755_cur."!mark_push"(0, rx755_pos, $I10)
   rxscan759_done:
-  alt760_0:
-.annotate "line", 359
-    set_addr $I10, alt760_1
-    rx754_cur."!mark_push"(0, rx754_pos, $I10)
-.annotate "line", 360
-  # rx subrule "quote" subtype=capture negate=
-    rx754_cur."!cursor_pos"(rx754_pos)
-    $P10 = rx754_cur."quote"()
-    unless $P10, rx754_fail
-    rx754_cur."!mark_push"(0, -1, 0, $P10)
-    $P10."!cursor_names"("quote")
-    rx754_pos = $P10."pos"()
-    goto alt760_end
-  alt760_1:
-.annotate "line", 361
-  # rx subrule "number" subtype=capture negate=
-    rx754_cur."!cursor_pos"(rx754_pos)
-    $P10 = rx754_cur."number"()
-    unless $P10, rx754_fail
-    rx754_cur."!mark_push"(0, -1, 0, $P10)
-    $P10."!cursor_names"("number")
-    rx754_pos = $P10."pos"()
-  alt760_end:
-.annotate "line", 359
-  # rx pass
-    rx754_cur."!cursor_pass"(rx754_pos, "value")
-    rx754_cur."!cursor_debug"("PASS  ", "value", " at pos=", rx754_pos)
-    .return (rx754_cur)
-  rx754_fail:
-.annotate "line", 4
-    (rx754_rep, rx754_pos, $I10, $P10) = rx754_cur."!mark_fail"(0)
-    lt rx754_pos, -1, rx754_done
-    eq rx754_pos, -1, rx754_fail
+.annotate "line", 355
+  # rx literal  "("
+    add $I11, rx755_pos, 1
+    gt $I11, rx755_eos, rx755_fail
+    sub $I11, rx755_pos, rx755_off
+    substr $S10, rx755_tgt, $I11, 1
+    ne $S10, "(", rx755_fail
+    add rx755_pos, 1
+  # rx subrule "arglist" subtype=capture negate=
+    rx755_cur."!cursor_pos"(rx755_pos)
+    $P10 = rx755_cur."arglist"()
+    unless $P10, rx755_fail
+    rx755_cur."!mark_push"(0, -1, 0, $P10)
+    $P10."!cursor_names"("arglist")
+    rx755_pos = $P10."pos"()
+  # rx literal  ")"
+    add $I11, rx755_pos, 1
+    gt $I11, rx755_eos, rx755_fail
+    sub $I11, rx755_pos, rx755_off
+    substr $S10, rx755_tgt, $I11, 1
+    ne $S10, ")", rx755_fail
+    add rx755_pos, 1
+  # rx pass
+    rx755_cur."!cursor_pass"(rx755_pos, "args")
+    rx755_cur."!cursor_debug"("PASS  ", "args", " at pos=", rx755_pos)
+    .return (rx755_cur)
+  rx755_fail:
+.annotate "line", 4
+    (rx755_rep, rx755_pos, $I10, $P10) = rx755_cur."!mark_fail"(0)
+    lt rx755_pos, -1, rx755_done
+    eq rx755_pos, -1, rx755_fail
     jump $I10
-  rx754_done:
-    rx754_cur."!cursor_fail"()
-    rx754_cur."!cursor_debug"("FAIL  ", "value")
-    .return (rx754_cur)
+  rx755_done:
+    rx755_cur."!cursor_fail"()
+    rx755_cur."!cursor_debug"("FAIL  ", "args")
+    .return (rx755_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__value"  :subid("176_1259103982.97329") :method
+.sub "!PREFIX__args"  :subid("174_1259177761.22934") :method
 .annotate "line", 4
-    $P756 = self."!PREFIX__!subrule"("number", "")
-    $P757 = self."!PREFIX__!subrule"("quote", "")
+    $P757 = self."!PREFIX__!subrule"("arglist", "(")
     new $P758, "ResizablePMCArray"
-    push $P758, $P756
     push $P758, $P757
     .return ($P758)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "number"  :subid("177_1259103982.97329") :method :outer("11_1259103982.97329")
+.sub "arglist"  :subid("175_1259177761.22934") :method :outer("11_1259177761.22934")
 .annotate "line", 4
-    .local string rx762_tgt
-    .local int rx762_pos
-    .local int rx762_off
-    .local int rx762_eos
-    .local int rx762_rep
-    .local pmc rx762_cur
-    (rx762_cur, rx762_pos, rx762_tgt) = self."!cursor_start"()
-    rx762_cur."!cursor_debug"("START ", "number")
-    .lex unicode:"$\x{a2}", rx762_cur
-    .local pmc match
-    .lex "$/", match
-    length rx762_eos, rx762_tgt
-    set rx762_off, 0
-    lt rx762_pos, 2, rx762_start
-    sub rx762_off, rx762_pos, 1
-    substr rx762_tgt, rx762_tgt, rx762_off
-  rx762_start:
+    .local string rx761_tgt
+    .local int rx761_pos
+    .local int rx761_off
+    .local int rx761_eos
+    .local int rx761_rep
+    .local pmc rx761_cur
+    (rx761_cur, rx761_pos, rx761_tgt) = self."!cursor_start"()
+    rx761_cur."!cursor_debug"("START ", "arglist")
+    .lex unicode:"$\x{a2}", rx761_cur
+    .local pmc match
+    .lex "$/", match
+    length rx761_eos, rx761_tgt
+    set rx761_off, 0
+    lt rx761_pos, 2, rx761_start
+    sub rx761_off, rx761_pos, 1
+    substr rx761_tgt, rx761_tgt, rx761_off
+  rx761_start:
     $I10 = self.'from'()
     ne $I10, -1, rxscan765_done
     goto rxscan765_scan
   rxscan765_loop:
-    ($P10) = rx762_cur."from"()
+    ($P10) = rx761_cur."from"()
     inc $P10
-    set rx762_pos, $P10
-    ge rx762_pos, rx762_eos, rxscan765_done
+    set rx761_pos, $P10
+    ge rx761_pos, rx761_eos, rxscan765_done
   rxscan765_scan:
     set_addr $I10, rxscan765_loop
-    rx762_cur."!mark_push"(0, rx762_pos, $I10)
+    rx761_cur."!mark_push"(0, rx761_pos, $I10)
   rxscan765_done:
-.annotate "line", 365
-  # rx subcapture "sign"
-    set_addr $I10, rxcap_768_fail
-    rx762_cur."!mark_push"(0, rx762_pos, $I10)
-  # rx rxquantr766 ** 0..1
-    set_addr $I767, rxquantr766_done
-    rx762_cur."!mark_push"(0, rx762_pos, $I767)
-  rxquantr766_loop:
-  # rx enumcharlist negate=0 
-    ge rx762_pos, rx762_eos, rx762_fail
-    sub $I10, rx762_pos, rx762_off
-    substr $S10, rx762_tgt, $I10, 1
-    index $I11, "+-", $S10
-    lt $I11, 0, rx762_fail
-    inc rx762_pos
-    (rx762_rep) = rx762_cur."!mark_commit"($I767)
-  rxquantr766_done:
-    set_addr $I10, rxcap_768_fail
-    ($I12, $I11) = rx762_cur."!mark_peek"($I10)
-    rx762_cur."!cursor_pos"($I11)
-    ($P10) = rx762_cur."!cursor_start"()
-    $P10."!cursor_pass"(rx762_pos, "")
-    rx762_cur."!mark_push"(0, -1, 0, $P10)
-    $P10."!cursor_names"("sign")
-    goto rxcap_768_done
-  rxcap_768_fail:
-    goto rx762_fail
-  rxcap_768_done:
-  alt769_0:
-.annotate "line", 366
-    set_addr $I10, alt769_1
-    rx762_cur."!mark_push"(0, rx762_pos, $I10)
-  # rx subrule "dec_number" subtype=capture negate=
-    rx762_cur."!cursor_pos"(rx762_pos)
-    $P10 = rx762_cur."dec_number"()
-    unless $P10, rx762_fail
-    rx762_cur."!mark_push"(0, -1, 0, $P10)
-    $P10."!cursor_names"("dec_number")
-    rx762_pos = $P10."pos"()
-    goto alt769_end
-  alt769_1:
-  # rx subrule "integer" subtype=capture negate=
-    rx762_cur."!cursor_pos"(rx762_pos)
-    $P10 = rx762_cur."integer"()
-    unless $P10, rx762_fail
-    rx762_cur."!mark_push"(0, -1, 0, $P10)
-    $P10."!cursor_names"("integer")
-    rx762_pos = $P10."pos"()
-  alt769_end:
-.annotate "line", 364
+.annotate "line", 359
+  # rx subrule "ws" subtype=method negate=
+    rx761_cur."!cursor_pos"(rx761_pos)
+    $P10 = rx761_cur."ws"()
+    unless $P10, rx761_fail
+    rx761_pos = $P10."pos"()
+  alt766_0:
+.annotate "line", 360
+    set_addr $I10, alt766_1
+    rx761_cur."!mark_push"(0, rx761_pos, $I10)
+.annotate "line", 361
+  # rx subrule "EXPR" subtype=capture negate=
+    rx761_cur."!cursor_pos"(rx761_pos)
+    $P10 = rx761_cur."EXPR"("f=")
+    unless $P10, rx761_fail
+    rx761_cur."!mark_push"(0, -1, 0, $P10)
+    $P10."!cursor_names"("EXPR")
+    rx761_pos = $P10."pos"()
+    goto alt766_end
+  alt766_1:
+  alt766_end:
+.annotate "line", 358
   # rx pass
-    rx762_cur."!cursor_pass"(rx762_pos, "number")
-    rx762_cur."!cursor_debug"("PASS  ", "number", " at pos=", rx762_pos)
-    .return (rx762_cur)
-  rx762_fail:
+    rx761_cur."!cursor_pass"(rx761_pos, "arglist")
+    rx761_cur."!cursor_debug"("PASS  ", "arglist", " at pos=", rx761_pos)
+    .return (rx761_cur)
+  rx761_fail:
 .annotate "line", 4
-    (rx762_rep, rx762_pos, $I10, $P10) = rx762_cur."!mark_fail"(0)
-    lt rx762_pos, -1, rx762_done
-    eq rx762_pos, -1, rx762_fail
+    (rx761_rep, rx761_pos, $I10, $P10) = rx761_cur."!mark_fail"(0)
+    lt rx761_pos, -1, rx761_done
+    eq rx761_pos, -1, rx761_fail
     jump $I10
-  rx762_done:
-    rx762_cur."!cursor_fail"()
-    rx762_cur."!cursor_debug"("FAIL  ", "number")
-    .return (rx762_cur)
+  rx761_done:
+    rx761_cur."!cursor_fail"()
+    rx761_cur."!cursor_debug"("FAIL  ", "arglist")
+    .return (rx761_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__number"  :subid("178_1259103982.97329") :method
+.sub "!PREFIX__arglist"  :subid("176_1259177761.22934") :method
 .annotate "line", 4
+    $P763 = self."!PREFIX__!subrule"("", "")
     new $P764, "ResizablePMCArray"
-    push $P764, ""
+    push $P764, $P763
     .return ($P764)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "quote"  :subid("179_1259103982.97329") :method
-.annotate "line", 369
-    $P771 = self."!protoregex"("quote")
-    .return ($P771)
+.sub "term:sym<value>"  :subid("177_1259177761.22934") :method :outer("11_1259177761.22934")
+.annotate "line", 4
+    .local string rx768_tgt
+    .local int rx768_pos
+    .local int rx768_off
+    .local int rx768_eos
+    .local int rx768_rep
+    .local pmc rx768_cur
+    (rx768_cur, rx768_pos, rx768_tgt) = self."!cursor_start"()
+    rx768_cur."!cursor_debug"("START ", "term:sym<value>")
+    .lex unicode:"$\x{a2}", rx768_cur
+    .local pmc match
+    .lex "$/", match
+    length rx768_eos, rx768_tgt
+    set rx768_off, 0
+    lt rx768_pos, 2, rx768_start
+    sub rx768_off, rx768_pos, 1
+    substr rx768_tgt, rx768_tgt, rx768_off
+  rx768_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan772_done
+    goto rxscan772_scan
+  rxscan772_loop:
+    ($P10) = rx768_cur."from"()
+    inc $P10
+    set rx768_pos, $P10
+    ge rx768_pos, rx768_eos, rxscan772_done
+  rxscan772_scan:
+    set_addr $I10, rxscan772_loop
+    rx768_cur."!mark_push"(0, rx768_pos, $I10)
+  rxscan772_done:
+.annotate "line", 367
+  # rx subrule "value" subtype=capture negate=
+    rx768_cur."!cursor_pos"(rx768_pos)
+    $P10 = rx768_cur."value"()
+    unless $P10, rx768_fail
+    rx768_cur."!mark_push"(0, -1, 0, $P10)
+    $P10."!cursor_names"("value")
+    rx768_pos = $P10."pos"()
+  # rx pass
+    rx768_cur."!cursor_pass"(rx768_pos, "term:sym<value>")
+    rx768_cur."!cursor_debug"("PASS  ", "term:sym<value>", " at pos=", rx768_pos)
+    .return (rx768_cur)
+  rx768_fail:
+.annotate "line", 4
+    (rx768_rep, rx768_pos, $I10, $P10) = rx768_cur."!mark_fail"(0)
+    lt rx768_pos, -1, rx768_done
+    eq rx768_pos, -1, rx768_fail
+    jump $I10
+  rx768_done:
+    rx768_cur."!cursor_fail"()
+    rx768_cur."!cursor_debug"("FAIL  ", "term:sym<value>")
+    .return (rx768_cur)
+    .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__quote"  :subid("180_1259103982.97329") :method
-.annotate "line", 369
-    $P773 = self."!PREFIX__!protoregex"("quote")
-    .return ($P773)
+.sub "!PREFIX__term:sym<value>"  :subid("178_1259177761.22934") :method
+.annotate "line", 4
+    $P770 = self."!PREFIX__!subrule"("value", "")
+    new $P771, "ResizablePMCArray"
+    push $P771, $P770
+    .return ($P771)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "quote:sym<apos>"  :subid("181_1259103982.97329") :method :outer("11_1259103982.97329")
+.sub "value"  :subid("179_1259177761.22934") :method :outer("11_1259177761.22934")
 .annotate "line", 4
-    .local string rx775_tgt
-    .local int rx775_pos
-    .local int rx775_off
-    .local int rx775_eos
-    .local int rx775_rep
-    .local pmc rx775_cur
-    (rx775_cur, rx775_pos, rx775_tgt) = self."!cursor_start"()
-    rx775_cur."!cursor_debug"("START ", "quote:sym<apos>")
-    .lex unicode:"$\x{a2}", rx775_cur
-    .local pmc match
-    .lex "$/", match
-    length rx775_eos, rx775_tgt
-    set rx775_off, 0
-    lt rx775_pos, 2, rx775_start
-    sub rx775_off, rx775_pos, 1
-    substr rx775_tgt, rx775_tgt, rx775_off
-  rx775_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan778_done
-    goto rxscan778_scan
-  rxscan778_loop:
-    ($P10) = rx775_cur."from"()
-    inc $P10
-    set rx775_pos, $P10
-    ge rx775_pos, rx775_eos, rxscan778_done
-  rxscan778_scan:
-    set_addr $I10, rxscan778_loop
-    rx775_cur."!mark_push"(0, rx775_pos, $I10)
-  rxscan778_done:
+    .local string rx774_tgt
+    .local int rx774_pos
+    .local int rx774_off
+    .local int rx774_eos
+    .local int rx774_rep
+    .local pmc rx774_cur
+    (rx774_cur, rx774_pos, rx774_tgt) = self."!cursor_start"()
+    rx774_cur."!cursor_debug"("START ", "value")
+    .lex unicode:"$\x{a2}", rx774_cur
+    .local pmc match
+    .lex "$/", match
+    length rx774_eos, rx774_tgt
+    set rx774_off, 0
+    lt rx774_pos, 2, rx774_start
+    sub rx774_off, rx774_pos, 1
+    substr rx774_tgt, rx774_tgt, rx774_off
+  rx774_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan779_done
+    goto rxscan779_scan
+  rxscan779_loop:
+    ($P10) = rx774_cur."from"()
+    inc $P10
+    set rx774_pos, $P10
+    ge rx774_pos, rx774_eos, rxscan779_done
+  rxscan779_scan:
+    set_addr $I10, rxscan779_loop
+    rx774_cur."!mark_push"(0, rx774_pos, $I10)
+  rxscan779_done:
+  alt780_0:
+.annotate "line", 369
+    set_addr $I10, alt780_1
+    rx774_cur."!mark_push"(0, rx774_pos, $I10)
 .annotate "line", 370
-  # rx enumcharlist negate=0 zerowidth
-    ge rx775_pos, rx775_eos, rx775_fail
-    sub $I10, rx775_pos, rx775_off
-    substr $S10, rx775_tgt, $I10, 1
-    index $I11, "'", $S10
-    lt $I11, 0, rx775_fail
-  # rx subrule "quote_EXPR" subtype=capture negate=
-    rx775_cur."!cursor_pos"(rx775_pos)
-    $P10 = rx775_cur."quote_EXPR"(":q")
-    unless $P10, rx775_fail
-    rx775_cur."!mark_push"(0, -1, 0, $P10)
-    $P10."!cursor_names"("quote_EXPR")
-    rx775_pos = $P10."pos"()
+  # rx subrule "quote" subtype=capture negate=
+    rx774_cur."!cursor_pos"(rx774_pos)
+    $P10 = rx774_cur."quote"()
+    unless $P10, rx774_fail
+    rx774_cur."!mark_push"(0, -1, 0, $P10)
+    $P10."!cursor_names"("quote")
+    rx774_pos = $P10."pos"()
+    goto alt780_end
+  alt780_1:
+.annotate "line", 371
+  # rx subrule "number" subtype=capture negate=
+    rx774_cur."!cursor_pos"(rx774_pos)
+    $P10 = rx774_cur."number"()
+    unless $P10, rx774_fail
+    rx774_cur."!mark_push"(0, -1, 0, $P10)
+    $P10."!cursor_names"("number")
+    rx774_pos = $P10."pos"()
+  alt780_end:
+.annotate "line", 369
   # rx pass
-    rx775_cur."!cursor_pass"(rx775_pos, "quote:sym<apos>")
-    rx775_cur."!cursor_debug"("PASS  ", "quote:sym<apos>", " at pos=", rx775_pos)
-    .return (rx775_cur)
-  rx775_fail:
+    rx774_cur."!cursor_pass"(rx774_pos, "value")
+    rx774_cur."!cursor_debug"("PASS  ", "value", " at pos=", rx774_pos)
+    .return (rx774_cur)
+  rx774_fail:
 .annotate "line", 4
-    (rx775_rep, rx775_pos, $I10, $P10) = rx775_cur."!mark_fail"(0)
-    lt rx775_pos, -1, rx775_done
-    eq rx775_pos, -1, rx775_fail
+    (rx774_rep, rx774_pos, $I10, $P10) = rx774_cur."!mark_fail"(0)
+    lt rx774_pos, -1, rx774_done
+    eq rx774_pos, -1, rx774_fail
     jump $I10
-  rx775_done:
-    rx775_cur."!cursor_fail"()
-    rx775_cur."!cursor_debug"("FAIL  ", "quote:sym<apos>")
-    .return (rx775_cur)
+  rx774_done:
+    rx774_cur."!cursor_fail"()
+    rx774_cur."!cursor_debug"("FAIL  ", "value")
+    .return (rx774_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__quote:sym<apos>"  :subid("182_1259103982.97329") :method
+.sub "!PREFIX__value"  :subid("180_1259177761.22934") :method
 .annotate "line", 4
-    new $P777, "ResizablePMCArray"
-    push $P777, "'"
-    .return ($P777)
+    $P776 = self."!PREFIX__!subrule"("number", "")
+    $P777 = self."!PREFIX__!subrule"("quote", "")
+    new $P778, "ResizablePMCArray"
+    push $P778, $P776
+    push $P778, $P777
+    .return ($P778)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "quote:sym<dblq>"  :subid("183_1259103982.97329") :method :outer("11_1259103982.97329")
+.sub "number"  :subid("181_1259177761.22934") :method :outer("11_1259177761.22934")
 .annotate "line", 4
-    .local string rx780_tgt
-    .local int rx780_pos
-    .local int rx780_off
-    .local int rx780_eos
-    .local int rx780_rep
-    .local pmc rx780_cur
-    (rx780_cur, rx780_pos, rx780_tgt) = self."!cursor_start"()
-    rx780_cur."!cursor_debug"("START ", "quote:sym<dblq>")
-    .lex unicode:"$\x{a2}", rx780_cur
+    .local string rx782_tgt
+    .local int rx782_pos
+    .local int rx782_off
+    .local int rx782_eos
+    .local int rx782_rep
+    .local pmc rx782_cur
+    (rx782_cur, rx782_pos, rx782_tgt) = self."!cursor_start"()
+    rx782_cur."!cursor_debug"("START ", "number")
+    .lex unicode:"$\x{a2}", rx782_cur
     .local pmc match
     .lex "$/", match
-    length rx780_eos, rx780_tgt
-    set rx780_off, 0
-    lt rx780_pos, 2, rx780_start
-    sub rx780_off, rx780_pos, 1
-    substr rx780_tgt, rx780_tgt, rx780_off
-  rx780_start:
+    length rx782_eos, rx782_tgt
+    set rx782_off, 0
+    lt rx782_pos, 2, rx782_start
+    sub rx782_off, rx782_pos, 1
+    substr rx782_tgt, rx782_tgt, rx782_off
+  rx782_start:
     $I10 = self.'from'()
-    ne $I10, -1, rxscan783_done
-    goto rxscan783_scan
-  rxscan783_loop:
-    ($P10) = rx780_cur."from"()
+    ne $I10, -1, rxscan785_done
+    goto rxscan785_scan
+  rxscan785_loop:
+    ($P10) = rx782_cur."from"()
     inc $P10
-    set rx780_pos, $P10
-    ge rx780_pos, rx780_eos, rxscan783_done
-  rxscan783_scan:
-    set_addr $I10, rxscan783_loop
-    rx780_cur."!mark_push"(0, rx780_pos, $I10)
-  rxscan783_done:
-.annotate "line", 371
-  # rx enumcharlist negate=0 zerowidth
-    ge rx780_pos, rx780_eos, rx780_fail
-    sub $I10, rx780_pos, rx780_off
-    substr $S10, rx780_tgt, $I10, 1
-    index $I11, "\"", $S10
-    lt $I11, 0, rx780_fail
-  # rx subrule "quote_EXPR" subtype=capture negate=
-    rx780_cur."!cursor_pos"(rx780_pos)
-    $P10 = rx780_cur."quote_EXPR"(":qq")
-    unless $P10, rx780_fail
-    rx780_cur."!mark_push"(0, -1, 0, $P10)
-    $P10."!cursor_names"("quote_EXPR")
-    rx780_pos = $P10."pos"()
+    set rx782_pos, $P10
+    ge rx782_pos, rx782_eos, rxscan785_done
+  rxscan785_scan:
+    set_addr $I10, rxscan785_loop
+    rx782_cur."!mark_push"(0, rx782_pos, $I10)
+  rxscan785_done:
+.annotate "line", 375
+  # rx subcapture "sign"
+    set_addr $I10, rxcap_788_fail
+    rx782_cur."!mark_push"(0, rx782_pos, $I10)
+  # rx rxquantr786 ** 0..1
+    set_addr $I787, rxquantr786_done
+    rx782_cur."!mark_push"(0, rx782_pos, $I787)
+  rxquantr786_loop:
+  # rx enumcharlist negate=0 
+    ge rx782_pos, rx782_eos, rx782_fail
+    sub $I10, rx782_pos, rx782_off
+    substr $S10, rx782_tgt, $I10, 1
+    index $I11, "+-", $S10
+    lt $I11, 0, rx782_fail
+    inc rx782_pos
+    (rx782_rep) = rx782_cur."!mark_commit"($I787)
+  rxquantr786_done:
+    set_addr $I10, rxcap_788_fail
+    ($I12, $I11) = rx782_cur."!mark_peek"($I10)
+    rx782_cur."!cursor_pos"($I11)
+    ($P10) = rx782_cur."!cursor_start"()
+    $P10."!cursor_pass"(rx782_pos, "")
+    rx782_cur."!mark_push"(0, -1, 0, $P10)
+    $P10."!cursor_names"("sign")
+    goto rxcap_788_done
+  rxcap_788_fail:
+    goto rx782_fail
+  rxcap_788_done:
+  alt789_0:
+.annotate "line", 376
+    set_addr $I10, alt789_1
+    rx782_cur."!mark_push"(0, rx782_pos, $I10)
+  # rx subrule "dec_number" subtype=capture negate=
+    rx782_cur."!cursor_pos"(rx782_pos)
+    $P10 = rx782_cur."dec_number"()
+    unless $P10, rx782_fail
+    rx782_cur."!mark_push"(0, -1, 0, $P10)
+    $P10."!cursor_names"("dec_number")
+    rx782_pos = $P10."pos"()
+    goto alt789_end
+  alt789_1:
+  # rx subrule "integer" subtype=capture negate=
+    rx782_cur."!cursor_pos"(rx782_pos)
+    $P10 = rx782_cur."integer"()
+    unless $P10, rx782_fail
+    rx782_cur."!mark_push"(0, -1, 0, $P10)
+    $P10."!cursor_names"("integer")
+    rx782_pos = $P10."pos"()
+  alt789_end:
+.annotate "line", 374
   # rx pass
-    rx780_cur."!cursor_pass"(rx780_pos, "quote:sym<dblq>")
-    rx780_cur."!cursor_debug"("PASS  ", "quote:sym<dblq>", " at pos=", rx780_pos)
-    .return (rx780_cur)
-  rx780_fail:
+    rx782_cur."!cursor_pass"(rx782_pos, "number")
+    rx782_cur."!cursor_debug"("PASS  ", "number", " at pos=", rx782_pos)
+    .return (rx782_cur)
+  rx782_fail:
 .annotate "line", 4
-    (rx780_rep, rx780_pos, $I10, $P10) = rx780_cur."!mark_fail"(0)
-    lt rx780_pos, -1, rx780_done
-    eq rx780_pos, -1, rx780_fail
+    (rx782_rep, rx782_pos, $I10, $P10) = rx782_cur."!mark_fail"(0)
+    lt rx782_pos, -1, rx782_done
+    eq rx782_pos, -1, rx782_fail
     jump $I10
-  rx780_done:
-    rx780_cur."!cursor_fail"()
-    rx780_cur."!cursor_debug"("FAIL  ", "quote:sym<dblq>")
-    .return (rx780_cur)
+  rx782_done:
+    rx782_cur."!cursor_fail"()
+    rx782_cur."!cursor_debug"("FAIL  ", "number")
+    .return (rx782_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__quote:sym<dblq>"  :subid("184_1259103982.97329") :method
+.sub "!PREFIX__number"  :subid("182_1259177761.22934") :method
 .annotate "line", 4
-    new $P782, "ResizablePMCArray"
-    push $P782, "\""
-    .return ($P782)
+    new $P784, "ResizablePMCArray"
+    push $P784, ""
+    .return ($P784)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "quote:sym<q>"  :subid("185_1259103982.97329") :method :outer("11_1259103982.97329")
-.annotate "line", 4
-    .local string rx785_tgt
-    .local int rx785_pos
-    .local int rx785_off
-    .local int rx785_eos
-    .local int rx785_rep
-    .local pmc rx785_cur
-    (rx785_cur, rx785_pos, rx785_tgt) = self."!cursor_start"()
-    rx785_cur."!cursor_debug"("START ", "quote:sym<q>")
-    .lex unicode:"$\x{a2}", rx785_cur
-    .local pmc match
-    .lex "$/", match
-    length rx785_eos, rx785_tgt
-    set rx785_off, 0
-    lt rx785_pos, 2, rx785_start
-    sub rx785_off, rx785_pos, 1
-    substr rx785_tgt, rx785_tgt, rx785_off
-  rx785_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan789_done
-    goto rxscan789_scan
-  rxscan789_loop:
-    ($P10) = rx785_cur."from"()
-    inc $P10
-    set rx785_pos, $P10
-    ge rx785_pos, rx785_eos, rxscan789_done
-  rxscan789_scan:
-    set_addr $I10, rxscan789_loop
-    rx785_cur."!mark_push"(0, rx785_pos, $I10)
-  rxscan789_done:
-.annotate "line", 372
-  # rx literal  "q"
-    add $I11, rx785_pos, 1
-    gt $I11, rx785_eos, rx785_fail
-    sub $I11, rx785_pos, rx785_off
-    substr $S10, rx785_tgt, $I11, 1
-    ne $S10, "q", rx785_fail
-    add rx785_pos, 1
-  # rx enumcharlist negate=1 zerowidth
-    ge rx785_pos, rx785_eos, rx785_fail
-    sub $I10, rx785_pos, rx785_off
-    substr $S10, rx785_tgt, $I10, 1
-    index $I11, "(", $S10
-    ge $I11, 0, rx785_fail
-  # rx subrule "ws" subtype=method negate=
-    rx785_cur."!cursor_pos"(rx785_pos)
-    $P10 = rx785_cur."ws"()
-    unless $P10, rx785_fail
-    rx785_pos = $P10."pos"()
-  # rx subrule "quote_EXPR" subtype=capture negate=
-    rx785_cur."!cursor_pos"(rx785_pos)
-    $P10 = rx785_cur."quote_EXPR"(":q")
-    unless $P10, rx785_fail
-    rx785_cur."!mark_push"(0, -1, 0, $P10)
-    $P10."!cursor_names"("quote_EXPR")
-    rx785_pos = $P10."pos"()
-  # rx pass
-    rx785_cur."!cursor_pass"(rx785_pos, "quote:sym<q>")
-    rx785_cur."!cursor_debug"("PASS  ", "quote:sym<q>", " at pos=", rx785_pos)
-    .return (rx785_cur)
-  rx785_fail:
-.annotate "line", 4
-    (rx785_rep, rx785_pos, $I10, $P10) = rx785_cur."!mark_fail"(0)
-    lt rx785_pos, -1, rx785_done
-    eq rx785_pos, -1, rx785_fail
-    jump $I10
-  rx785_done:
-    rx785_cur."!cursor_fail"()
-    rx785_cur."!cursor_debug"("FAIL  ", "quote:sym<q>")
-    .return (rx785_cur)
-    .return ()
+.sub "quote"  :subid("183_1259177761.22934") :method
+.annotate "line", 379
+    $P791 = self."!protoregex"("quote")
+    .return ($P791)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__quote:sym<q>"  :subid("186_1259103982.97329") :method
-.annotate "line", 4
-    $P787 = self."!PREFIX__!subrule"("", "q")
-    new $P788, "ResizablePMCArray"
-    push $P788, $P787
-    .return ($P788)
+.sub "!PREFIX__quote"  :subid("184_1259177761.22934") :method
+.annotate "line", 379
+    $P793 = self."!PREFIX__!protoregex"("quote")
+    .return ($P793)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "quote:sym<qq>"  :subid("187_1259103982.97329") :method :outer("11_1259103982.97329")
+.sub "quote:sym<apos>"  :subid("185_1259177761.22934") :method :outer("11_1259177761.22934")
 .annotate "line", 4
-    .local string rx791_tgt
-    .local int rx791_pos
-    .local int rx791_off
-    .local int rx791_eos
-    .local int rx791_rep
-    .local pmc rx791_cur
-    (rx791_cur, rx791_pos, rx791_tgt) = self."!cursor_start"()
-    rx791_cur."!cursor_debug"("START ", "quote:sym<qq>")
-    .lex unicode:"$\x{a2}", rx791_cur
-    .local pmc match
-    .lex "$/", match
-    length rx791_eos, rx791_tgt
-    set rx791_off, 0
-    lt rx791_pos, 2, rx791_start
-    sub rx791_off, rx791_pos, 1
-    substr rx791_tgt, rx791_tgt, rx791_off
-  rx791_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan795_done
-    goto rxscan795_scan
-  rxscan795_loop:
-    ($P10) = rx791_cur."from"()
-    inc $P10
-    set rx791_pos, $P10
-    ge rx791_pos, rx791_eos, rxscan795_done
-  rxscan795_scan:
-    set_addr $I10, rxscan795_loop
-    rx791_cur."!mark_push"(0, rx791_pos, $I10)
-  rxscan795_done:
-.annotate "line", 373
-  # rx literal  "qq"
-    add $I11, rx791_pos, 2
-    gt $I11, rx791_eos, rx791_fail
-    sub $I11, rx791_pos, rx791_off
-    substr $S10, rx791_tgt, $I11, 2
-    ne $S10, "qq", rx791_fail
-    add rx791_pos, 2
-  # rx enumcharlist negate=1 zerowidth
-    ge rx791_pos, rx791_eos, rx791_fail
-    sub $I10, rx791_pos, rx791_off
-    substr $S10, rx791_tgt, $I10, 1
-    index $I11, "(", $S10
-    ge $I11, 0, rx791_fail
-  # rx subrule "ws" subtype=method negate=
-    rx791_cur."!cursor_pos"(rx791_pos)
-    $P10 = rx791_cur."ws"()
-    unless $P10, rx791_fail
-    rx791_pos = $P10."pos"()
+    .local string rx795_tgt
+    .local int rx795_pos
+    .local int rx795_off
+    .local int rx795_eos
+    .local int rx795_rep
+    .local pmc rx795_cur
+    (rx795_cur, rx795_pos, rx795_tgt) = self."!cursor_start"()
+    rx795_cur."!cursor_debug"("START ", "quote:sym<apos>")
+    .lex unicode:"$\x{a2}", rx795_cur
+    .local pmc match
+    .lex "$/", match
+    length rx795_eos, rx795_tgt
+    set rx795_off, 0
+    lt rx795_pos, 2, rx795_start
+    sub rx795_off, rx795_pos, 1
+    substr rx795_tgt, rx795_tgt, rx795_off
+  rx795_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan798_done
+    goto rxscan798_scan
+  rxscan798_loop:
+    ($P10) = rx795_cur."from"()
+    inc $P10
+    set rx795_pos, $P10
+    ge rx795_pos, rx795_eos, rxscan798_done
+  rxscan798_scan:
+    set_addr $I10, rxscan798_loop
+    rx795_cur."!mark_push"(0, rx795_pos, $I10)
+  rxscan798_done:
+.annotate "line", 380
+  # rx enumcharlist negate=0 zerowidth
+    ge rx795_pos, rx795_eos, rx795_fail
+    sub $I10, rx795_pos, rx795_off
+    substr $S10, rx795_tgt, $I10, 1
+    index $I11, "'", $S10
+    lt $I11, 0, rx795_fail
   # rx subrule "quote_EXPR" subtype=capture negate=
-    rx791_cur."!cursor_pos"(rx791_pos)
-    $P10 = rx791_cur."quote_EXPR"(":qq")
-    unless $P10, rx791_fail
-    rx791_cur."!mark_push"(0, -1, 0, $P10)
+    rx795_cur."!cursor_pos"(rx795_pos)
+    $P10 = rx795_cur."quote_EXPR"(":q")
+    unless $P10, rx795_fail
+    rx795_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("quote_EXPR")
-    rx791_pos = $P10."pos"()
+    rx795_pos = $P10."pos"()
   # rx pass
-    rx791_cur."!cursor_pass"(rx791_pos, "quote:sym<qq>")
-    rx791_cur."!cursor_debug"("PASS  ", "quote:sym<qq>", " at pos=", rx791_pos)
-    .return (rx791_cur)
-  rx791_fail:
+    rx795_cur."!cursor_pass"(rx795_pos, "quote:sym<apos>")
+    rx795_cur."!cursor_debug"("PASS  ", "quote:sym<apos>", " at pos=", rx795_pos)
+    .return (rx795_cur)
+  rx795_fail:
 .annotate "line", 4
-    (rx791_rep, rx791_pos, $I10, $P10) = rx791_cur."!mark_fail"(0)
-    lt rx791_pos, -1, rx791_done
-    eq rx791_pos, -1, rx791_fail
+    (rx795_rep, rx795_pos, $I10, $P10) = rx795_cur."!mark_fail"(0)
+    lt rx795_pos, -1, rx795_done
+    eq rx795_pos, -1, rx795_fail
     jump $I10
-  rx791_done:
-    rx791_cur."!cursor_fail"()
-    rx791_cur."!cursor_debug"("FAIL  ", "quote:sym<qq>")
-    .return (rx791_cur)
+  rx795_done:
+    rx795_cur."!cursor_fail"()
+    rx795_cur."!cursor_debug"("FAIL  ", "quote:sym<apos>")
+    .return (rx795_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__quote:sym<qq>"  :subid("188_1259103982.97329") :method
+.sub "!PREFIX__quote:sym<apos>"  :subid("186_1259177761.22934") :method
 .annotate "line", 4
-    $P793 = self."!PREFIX__!subrule"("", "qq")
-    new $P794, "ResizablePMCArray"
-    push $P794, $P793
-    .return ($P794)
+    new $P797, "ResizablePMCArray"
+    push $P797, "'"
+    .return ($P797)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "quote:sym<Q>"  :subid("189_1259103982.97329") :method :outer("11_1259103982.97329")
+.sub "quote:sym<dblq>"  :subid("187_1259177761.22934") :method :outer("11_1259177761.22934")
 .annotate "line", 4
-    .local string rx797_tgt
-    .local int rx797_pos
-    .local int rx797_off
-    .local int rx797_eos
-    .local int rx797_rep
-    .local pmc rx797_cur
-    (rx797_cur, rx797_pos, rx797_tgt) = self."!cursor_start"()
-    rx797_cur."!cursor_debug"("START ", "quote:sym<Q>")
-    .lex unicode:"$\x{a2}", rx797_cur
+    .local string rx800_tgt
+    .local int rx800_pos
+    .local int rx800_off
+    .local int rx800_eos
+    .local int rx800_rep
+    .local pmc rx800_cur
+    (rx800_cur, rx800_pos, rx800_tgt) = self."!cursor_start"()
+    rx800_cur."!cursor_debug"("START ", "quote:sym<dblq>")
+    .lex unicode:"$\x{a2}", rx800_cur
     .local pmc match
     .lex "$/", match
-    length rx797_eos, rx797_tgt
-    set rx797_off, 0
-    lt rx797_pos, 2, rx797_start
-    sub rx797_off, rx797_pos, 1
-    substr rx797_tgt, rx797_tgt, rx797_off
-  rx797_start:
+    length rx800_eos, rx800_tgt
+    set rx800_off, 0
+    lt rx800_pos, 2, rx800_start
+    sub rx800_off, rx800_pos, 1
+    substr rx800_tgt, rx800_tgt, rx800_off
+  rx800_start:
     $I10 = self.'from'()
-    ne $I10, -1, rxscan801_done
-    goto rxscan801_scan
-  rxscan801_loop:
-    ($P10) = rx797_cur."from"()
+    ne $I10, -1, rxscan803_done
+    goto rxscan803_scan
+  rxscan803_loop:
+    ($P10) = rx800_cur."from"()
     inc $P10
-    set rx797_pos, $P10
-    ge rx797_pos, rx797_eos, rxscan801_done
-  rxscan801_scan:
-    set_addr $I10, rxscan801_loop
-    rx797_cur."!mark_push"(0, rx797_pos, $I10)
-  rxscan801_done:
-.annotate "line", 374
-  # rx literal  "Q"
-    add $I11, rx797_pos, 1
-    gt $I11, rx797_eos, rx797_fail
-    sub $I11, rx797_pos, rx797_off
-    substr $S10, rx797_tgt, $I11, 1
-    ne $S10, "Q", rx797_fail
-    add rx797_pos, 1
-  # rx enumcharlist negate=1 zerowidth
-    ge rx797_pos, rx797_eos, rx797_fail
-    sub $I10, rx797_pos, rx797_off
-    substr $S10, rx797_tgt, $I10, 1
-    index $I11, "(", $S10
-    ge $I11, 0, rx797_fail
-  # rx subrule "ws" subtype=method negate=
-    rx797_cur."!cursor_pos"(rx797_pos)
-    $P10 = rx797_cur."ws"()
-    unless $P10, rx797_fail
-    rx797_pos = $P10."pos"()
+    set rx800_pos, $P10
+    ge rx800_pos, rx800_eos, rxscan803_done
+  rxscan803_scan:
+    set_addr $I10, rxscan803_loop
+    rx800_cur."!mark_push"(0, rx800_pos, $I10)
+  rxscan803_done:
+.annotate "line", 381
+  # rx enumcharlist negate=0 zerowidth
+    ge rx800_pos, rx800_eos, rx800_fail
+    sub $I10, rx800_pos, rx800_off
+    substr $S10, rx800_tgt, $I10, 1
+    index $I11, "\"", $S10
+    lt $I11, 0, rx800_fail
   # rx subrule "quote_EXPR" subtype=capture negate=
-    rx797_cur."!cursor_pos"(rx797_pos)
-    $P10 = rx797_cur."quote_EXPR"()
-    unless $P10, rx797_fail
-    rx797_cur."!mark_push"(0, -1, 0, $P10)
+    rx800_cur."!cursor_pos"(rx800_pos)
+    $P10 = rx800_cur."quote_EXPR"(":qq")
+    unless $P10, rx800_fail
+    rx800_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("quote_EXPR")
-    rx797_pos = $P10."pos"()
+    rx800_pos = $P10."pos"()
   # rx pass
-    rx797_cur."!cursor_pass"(rx797_pos, "quote:sym<Q>")
-    rx797_cur."!cursor_debug"("PASS  ", "quote:sym<Q>", " at pos=", rx797_pos)
-    .return (rx797_cur)
-  rx797_fail:
+    rx800_cur."!cursor_pass"(rx800_pos, "quote:sym<dblq>")
+    rx800_cur."!cursor_debug"("PASS  ", "quote:sym<dblq>", " at pos=", rx800_pos)
+    .return (rx800_cur)
+  rx800_fail:
 .annotate "line", 4
-    (rx797_rep, rx797_pos, $I10, $P10) = rx797_cur."!mark_fail"(0)
-    lt rx797_pos, -1, rx797_done
-    eq rx797_pos, -1, rx797_fail
+    (rx800_rep, rx800_pos, $I10, $P10) = rx800_cur."!mark_fail"(0)
+    lt rx800_pos, -1, rx800_done
+    eq rx800_pos, -1, rx800_fail
     jump $I10
-  rx797_done:
-    rx797_cur."!cursor_fail"()
-    rx797_cur."!cursor_debug"("FAIL  ", "quote:sym<Q>")
-    .return (rx797_cur)
+  rx800_done:
+    rx800_cur."!cursor_fail"()
+    rx800_cur."!cursor_debug"("FAIL  ", "quote:sym<dblq>")
+    .return (rx800_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__quote:sym<Q>"  :subid("190_1259103982.97329") :method
+.sub "!PREFIX__quote:sym<dblq>"  :subid("188_1259177761.22934") :method
 .annotate "line", 4
-    $P799 = self."!PREFIX__!subrule"("", "Q")
-    new $P800, "ResizablePMCArray"
-    push $P800, $P799
-    .return ($P800)
+    new $P802, "ResizablePMCArray"
+    push $P802, "\""
+    .return ($P802)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "quote:sym<Q:PIR>"  :subid("191_1259103982.97329") :method :outer("11_1259103982.97329")
+.sub "quote:sym<q>"  :subid("189_1259177761.22934") :method :outer("11_1259177761.22934")
 .annotate "line", 4
-    .local string rx803_tgt
-    .local int rx803_pos
-    .local int rx803_off
-    .local int rx803_eos
-    .local int rx803_rep
-    .local pmc rx803_cur
-    (rx803_cur, rx803_pos, rx803_tgt) = self."!cursor_start"()
-    rx803_cur."!cursor_debug"("START ", "quote:sym<Q:PIR>")
-    .lex unicode:"$\x{a2}", rx803_cur
+    .local string rx805_tgt
+    .local int rx805_pos
+    .local int rx805_off
+    .local int rx805_eos
+    .local int rx805_rep
+    .local pmc rx805_cur
+    (rx805_cur, rx805_pos, rx805_tgt) = self."!cursor_start"()
+    rx805_cur."!cursor_debug"("START ", "quote:sym<q>")
+    .lex unicode:"$\x{a2}", rx805_cur
     .local pmc match
     .lex "$/", match
-    length rx803_eos, rx803_tgt
-    set rx803_off, 0
-    lt rx803_pos, 2, rx803_start
-    sub rx803_off, rx803_pos, 1
-    substr rx803_tgt, rx803_tgt, rx803_off
-  rx803_start:
+    length rx805_eos, rx805_tgt
+    set rx805_off, 0
+    lt rx805_pos, 2, rx805_start
+    sub rx805_off, rx805_pos, 1
+    substr rx805_tgt, rx805_tgt, rx805_off
+  rx805_start:
     $I10 = self.'from'()
-    ne $I10, -1, rxscan807_done
-    goto rxscan807_scan
-  rxscan807_loop:
-    ($P10) = rx803_cur."from"()
+    ne $I10, -1, rxscan809_done
+    goto rxscan809_scan
+  rxscan809_loop:
+    ($P10) = rx805_cur."from"()
     inc $P10
-    set rx803_pos, $P10
-    ge rx803_pos, rx803_eos, rxscan807_done
-  rxscan807_scan:
-    set_addr $I10, rxscan807_loop
-    rx803_cur."!mark_push"(0, rx803_pos, $I10)
-  rxscan807_done:
-.annotate "line", 375
-  # rx literal  "Q:PIR"
-    add $I11, rx803_pos, 5
-    gt $I11, rx803_eos, rx803_fail
-    sub $I11, rx803_pos, rx803_off
-    substr $S10, rx803_tgt, $I11, 5
-    ne $S10, "Q:PIR", rx803_fail
-    add rx803_pos, 5
-  # rx subrule "ws" subtype=method negate=
-    rx803_cur."!cursor_pos"(rx803_pos)
-    $P10 = rx803_cur."ws"()
-    unless $P10, rx803_fail
-    rx803_pos = $P10."pos"()
+    set rx805_pos, $P10
+    ge rx805_pos, rx805_eos, rxscan809_done
+  rxscan809_scan:
+    set_addr $I10, rxscan809_loop
+    rx805_cur."!mark_push"(0, rx805_pos, $I10)
+  rxscan809_done:
+.annotate "line", 382
+  # rx literal  "q"
+    add $I11, rx805_pos, 1
+    gt $I11, rx805_eos, rx805_fail
+    sub $I11, rx805_pos, rx805_off
+    substr $S10, rx805_tgt, $I11, 1
+    ne $S10, "q", rx805_fail
+    add rx805_pos, 1
+  # rx enumcharlist negate=1 zerowidth
+    ge rx805_pos, rx805_eos, rx805_fail
+    sub $I10, rx805_pos, rx805_off
+    substr $S10, rx805_tgt, $I10, 1
+    index $I11, "(", $S10
+    ge $I11, 0, rx805_fail
+  # rx subrule "ws" subtype=method negate=
+    rx805_cur."!cursor_pos"(rx805_pos)
+    $P10 = rx805_cur."ws"()
+    unless $P10, rx805_fail
+    rx805_pos = $P10."pos"()
   # rx subrule "quote_EXPR" subtype=capture negate=
-    rx803_cur."!cursor_pos"(rx803_pos)
-    $P10 = rx803_cur."quote_EXPR"()
-    unless $P10, rx803_fail
-    rx803_cur."!mark_push"(0, -1, 0, $P10)
+    rx805_cur."!cursor_pos"(rx805_pos)
+    $P10 = rx805_cur."quote_EXPR"(":q")
+    unless $P10, rx805_fail
+    rx805_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("quote_EXPR")
-    rx803_pos = $P10."pos"()
+    rx805_pos = $P10."pos"()
   # rx pass
-    rx803_cur."!cursor_pass"(rx803_pos, "quote:sym<Q:PIR>")
-    rx803_cur."!cursor_debug"("PASS  ", "quote:sym<Q:PIR>", " at pos=", rx803_pos)
-    .return (rx803_cur)
-  rx803_fail:
+    rx805_cur."!cursor_pass"(rx805_pos, "quote:sym<q>")
+    rx805_cur."!cursor_debug"("PASS  ", "quote:sym<q>", " at pos=", rx805_pos)
+    .return (rx805_cur)
+  rx805_fail:
 .annotate "line", 4
-    (rx803_rep, rx803_pos, $I10, $P10) = rx803_cur."!mark_fail"(0)
-    lt rx803_pos, -1, rx803_done
-    eq rx803_pos, -1, rx803_fail
+    (rx805_rep, rx805_pos, $I10, $P10) = rx805_cur."!mark_fail"(0)
+    lt rx805_pos, -1, rx805_done
+    eq rx805_pos, -1, rx805_fail
     jump $I10
-  rx803_done:
-    rx803_cur."!cursor_fail"()
-    rx803_cur."!cursor_debug"("FAIL  ", "quote:sym<Q:PIR>")
-    .return (rx803_cur)
+  rx805_done:
+    rx805_cur."!cursor_fail"()
+    rx805_cur."!cursor_debug"("FAIL  ", "quote:sym<q>")
+    .return (rx805_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__quote:sym<Q:PIR>"  :subid("192_1259103982.97329") :method
+.sub "!PREFIX__quote:sym<q>"  :subid("190_1259177761.22934") :method
 .annotate "line", 4
-    $P805 = self."!PREFIX__!subrule"("", "Q:PIR")
-    new $P806, "ResizablePMCArray"
-    push $P806, $P805
-    .return ($P806)
+    $P807 = self."!PREFIX__!subrule"("", "q")
+    new $P808, "ResizablePMCArray"
+    push $P808, $P807
+    .return ($P808)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "quote_escape:sym<$>"  :subid("193_1259103982.97329") :method :outer("11_1259103982.97329")
+.sub "quote:sym<qq>"  :subid("191_1259177761.22934") :method :outer("11_1259177761.22934")
 .annotate "line", 4
-    .local string rx809_tgt
-    .local int rx809_pos
-    .local int rx809_off
-    .local int rx809_eos
-    .local int rx809_rep
-    .local pmc rx809_cur
-    (rx809_cur, rx809_pos, rx809_tgt) = self."!cursor_start"()
-    rx809_cur."!cursor_debug"("START ", "quote_escape:sym<$>")
-    .lex unicode:"$\x{a2}", rx809_cur
+    .local string rx811_tgt
+    .local int rx811_pos
+    .local int rx811_off
+    .local int rx811_eos
+    .local int rx811_rep
+    .local pmc rx811_cur
+    (rx811_cur, rx811_pos, rx811_tgt) = self."!cursor_start"()
+    rx811_cur."!cursor_debug"("START ", "quote:sym<qq>")
+    .lex unicode:"$\x{a2}", rx811_cur
     .local pmc match
     .lex "$/", match
-    length rx809_eos, rx809_tgt
-    set rx809_off, 0
-    lt rx809_pos, 2, rx809_start
-    sub rx809_off, rx809_pos, 1
-    substr rx809_tgt, rx809_tgt, rx809_off
-  rx809_start:
+    length rx811_eos, rx811_tgt
+    set rx811_off, 0
+    lt rx811_pos, 2, rx811_start
+    sub rx811_off, rx811_pos, 1
+    substr rx811_tgt, rx811_tgt, rx811_off
+  rx811_start:
     $I10 = self.'from'()
-    ne $I10, -1, rxscan812_done
-    goto rxscan812_scan
-  rxscan812_loop:
-    ($P10) = rx809_cur."from"()
+    ne $I10, -1, rxscan815_done
+    goto rxscan815_scan
+  rxscan815_loop:
+    ($P10) = rx811_cur."from"()
     inc $P10
-    set rx809_pos, $P10
-    ge rx809_pos, rx809_eos, rxscan812_done
-  rxscan812_scan:
-    set_addr $I10, rxscan812_loop
-    rx809_cur."!mark_push"(0, rx809_pos, $I10)
-  rxscan812_done:
-.annotate "line", 377
-  # rx enumcharlist negate=0 zerowidth
-    ge rx809_pos, rx809_eos, rx809_fail
-    sub $I10, rx809_pos, rx809_off
-    substr $S10, rx809_tgt, $I10, 1
-    index $I11, "$", $S10
-    lt $I11, 0, rx809_fail
-  # rx subrule "quotemod_check" subtype=zerowidth negate=
-    rx809_cur."!cursor_pos"(rx809_pos)
-    $P10 = rx809_cur."quotemod_check"("s")
-    unless $P10, rx809_fail
-  # rx subrule "variable" subtype=capture negate=
-    rx809_cur."!cursor_pos"(rx809_pos)
-    $P10 = rx809_cur."variable"()
-    unless $P10, rx809_fail
-    rx809_cur."!mark_push"(0, -1, 0, $P10)
-    $P10."!cursor_names"("variable")
-    rx809_pos = $P10."pos"()
+    set rx811_pos, $P10
+    ge rx811_pos, rx811_eos, rxscan815_done
+  rxscan815_scan:
+    set_addr $I10, rxscan815_loop
+    rx811_cur."!mark_push"(0, rx811_pos, $I10)
+  rxscan815_done:
+.annotate "line", 383
+  # rx literal  "qq"
+    add $I11, rx811_pos, 2
+    gt $I11, rx811_eos, rx811_fail
+    sub $I11, rx811_pos, rx811_off
+    substr $S10, rx811_tgt, $I11, 2
+    ne $S10, "qq", rx811_fail
+    add rx811_pos, 2
+  # rx enumcharlist negate=1 zerowidth
+    ge rx811_pos, rx811_eos, rx811_fail
+    sub $I10, rx811_pos, rx811_off
+    substr $S10, rx811_tgt, $I10, 1
+    index $I11, "(", $S10
+    ge $I11, 0, rx811_fail
+  # rx subrule "ws" subtype=method negate=
+    rx811_cur."!cursor_pos"(rx811_pos)
+    $P10 = rx811_cur."ws"()
+    unless $P10, rx811_fail
+    rx811_pos = $P10."pos"()
+  # rx subrule "quote_EXPR" subtype=capture negate=
+    rx811_cur."!cursor_pos"(rx811_pos)
+    $P10 = rx811_cur."quote_EXPR"(":qq")
+    unless $P10, rx811_fail
+    rx811_cur."!mark_push"(0, -1, 0, $P10)
+    $P10."!cursor_names"("quote_EXPR")
+    rx811_pos = $P10."pos"()
   # rx pass
-    rx809_cur."!cursor_pass"(rx809_pos, "quote_escape:sym<$>")
-    rx809_cur."!cursor_debug"("PASS  ", "quote_escape:sym<$>", " at pos=", rx809_pos)
-    .return (rx809_cur)
-  rx809_fail:
+    rx811_cur."!cursor_pass"(rx811_pos, "quote:sym<qq>")
+    rx811_cur."!cursor_debug"("PASS  ", "quote:sym<qq>", " at pos=", rx811_pos)
+    .return (rx811_cur)
+  rx811_fail:
 .annotate "line", 4
-    (rx809_rep, rx809_pos, $I10, $P10) = rx809_cur."!mark_fail"(0)
-    lt rx809_pos, -1, rx809_done
-    eq rx809_pos, -1, rx809_fail
+    (rx811_rep, rx811_pos, $I10, $P10) = rx811_cur."!mark_fail"(0)
+    lt rx811_pos, -1, rx811_done
+    eq rx811_pos, -1, rx811_fail
     jump $I10
-  rx809_done:
-    rx809_cur."!cursor_fail"()
-    rx809_cur."!cursor_debug"("FAIL  ", "quote_escape:sym<$>")
-    .return (rx809_cur)
+  rx811_done:
+    rx811_cur."!cursor_fail"()
+    rx811_cur."!cursor_debug"("FAIL  ", "quote:sym<qq>")
+    .return (rx811_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__quote_escape:sym<$>"  :subid("194_1259103982.97329") :method
+.sub "!PREFIX__quote:sym<qq>"  :subid("192_1259177761.22934") :method
 .annotate "line", 4
-    new $P811, "ResizablePMCArray"
-    push $P811, "$"
-    .return ($P811)
+    $P813 = self."!PREFIX__!subrule"("", "qq")
+    new $P814, "ResizablePMCArray"
+    push $P814, $P813
+    .return ($P814)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "quote_escape:sym<{ }>"  :subid("195_1259103982.97329") :method :outer("11_1259103982.97329")
+.sub "quote:sym<Q>"  :subid("193_1259177761.22934") :method :outer("11_1259177761.22934")
 .annotate "line", 4
-    .local string rx814_tgt
-    .local int rx814_pos
-    .local int rx814_off
-    .local int rx814_eos
-    .local int rx814_rep
-    .local pmc rx814_cur
-    (rx814_cur, rx814_pos, rx814_tgt) = self."!cursor_start"()
-    rx814_cur."!cursor_debug"("START ", "quote_escape:sym<{ }>")
-    .lex unicode:"$\x{a2}", rx814_cur
+    .local string rx817_tgt
+    .local int rx817_pos
+    .local int rx817_off
+    .local int rx817_eos
+    .local int rx817_rep
+    .local pmc rx817_cur
+    (rx817_cur, rx817_pos, rx817_tgt) = self."!cursor_start"()
+    rx817_cur."!cursor_debug"("START ", "quote:sym<Q>")
+    .lex unicode:"$\x{a2}", rx817_cur
     .local pmc match
     .lex "$/", match
-    length rx814_eos, rx814_tgt
-    set rx814_off, 0
-    lt rx814_pos, 2, rx814_start
-    sub rx814_off, rx814_pos, 1
-    substr rx814_tgt, rx814_tgt, rx814_off
-  rx814_start:
+    length rx817_eos, rx817_tgt
+    set rx817_off, 0
+    lt rx817_pos, 2, rx817_start
+    sub rx817_off, rx817_pos, 1
+    substr rx817_tgt, rx817_tgt, rx817_off
+  rx817_start:
     $I10 = self.'from'()
-    ne $I10, -1, rxscan817_done
-    goto rxscan817_scan
-  rxscan817_loop:
-    ($P10) = rx814_cur."from"()
+    ne $I10, -1, rxscan821_done
+    goto rxscan821_scan
+  rxscan821_loop:
+    ($P10) = rx817_cur."from"()
     inc $P10
-    set rx814_pos, $P10
-    ge rx814_pos, rx814_eos, rxscan817_done
-  rxscan817_scan:
-    set_addr $I10, rxscan817_loop
-    rx814_cur."!mark_push"(0, rx814_pos, $I10)
-  rxscan817_done:
-.annotate "line", 378
-  # rx enumcharlist negate=0 zerowidth
-    ge rx814_pos, rx814_eos, rx814_fail
-    sub $I10, rx814_pos, rx814_off
-    substr $S10, rx814_tgt, $I10, 1
-    index $I11, "{", $S10
-    lt $I11, 0, rx814_fail
-  # rx subrule "quotemod_check" subtype=zerowidth negate=
-    rx814_cur."!cursor_pos"(rx814_pos)
-    $P10 = rx814_cur."quotemod_check"("c")
-    unless $P10, rx814_fail
-  # rx subrule "block" subtype=capture negate=
-    rx814_cur."!cursor_pos"(rx814_pos)
-    $P10 = rx814_cur."block"()
-    unless $P10, rx814_fail
-    rx814_cur."!mark_push"(0, -1, 0, $P10)
-    $P10."!cursor_names"("block")
-    rx814_pos = $P10."pos"()
+    set rx817_pos, $P10
+    ge rx817_pos, rx817_eos, rxscan821_done
+  rxscan821_scan:
+    set_addr $I10, rxscan821_loop
+    rx817_cur."!mark_push"(0, rx817_pos, $I10)
+  rxscan821_done:
+.annotate "line", 384
+  # rx literal  "Q"
+    add $I11, rx817_pos, 1
+    gt $I11, rx817_eos, rx817_fail
+    sub $I11, rx817_pos, rx817_off
+    substr $S10, rx817_tgt, $I11, 1
+    ne $S10, "Q", rx817_fail
+    add rx817_pos, 1
+  # rx enumcharlist negate=1 zerowidth
+    ge rx817_pos, rx817_eos, rx817_fail
+    sub $I10, rx817_pos, rx817_off
+    substr $S10, rx817_tgt, $I10, 1
+    index $I11, "(", $S10
+    ge $I11, 0, rx817_fail
+  # rx subrule "ws" subtype=method negate=
+    rx817_cur."!cursor_pos"(rx817_pos)
+    $P10 = rx817_cur."ws"()
+    unless $P10, rx817_fail
+    rx817_pos = $P10."pos"()
+  # rx subrule "quote_EXPR" subtype=capture negate=
+    rx817_cur."!cursor_pos"(rx817_pos)
+    $P10 = rx817_cur."quote_EXPR"()
+    unless $P10, rx817_fail
+    rx817_cur."!mark_push"(0, -1, 0, $P10)
+    $P10."!cursor_names"("quote_EXPR")
+    rx817_pos = $P10."pos"()
   # rx pass
-    rx814_cur."!cursor_pass"(rx814_pos, "quote_escape:sym<{ }>")
-    rx814_cur."!cursor_debug"("PASS  ", "quote_escape:sym<{ }>", " at pos=", rx814_pos)
-    .return (rx814_cur)
-  rx814_fail:
+    rx817_cur."!cursor_pass"(rx817_pos, "quote:sym<Q>")
+    rx817_cur."!cursor_debug"("PASS  ", "quote:sym<Q>", " at pos=", rx817_pos)
+    .return (rx817_cur)
+  rx817_fail:
 .annotate "line", 4
-    (rx814_rep, rx814_pos, $I10, $P10) = rx814_cur."!mark_fail"(0)
-    lt rx814_pos, -1, rx814_done
-    eq rx814_pos, -1, rx814_fail
+    (rx817_rep, rx817_pos, $I10, $P10) = rx817_cur."!mark_fail"(0)
+    lt rx817_pos, -1, rx817_done
+    eq rx817_pos, -1, rx817_fail
     jump $I10
-  rx814_done:
-    rx814_cur."!cursor_fail"()
-    rx814_cur."!cursor_debug"("FAIL  ", "quote_escape:sym<{ }>")
-    .return (rx814_cur)
+  rx817_done:
+    rx817_cur."!cursor_fail"()
+    rx817_cur."!cursor_debug"("FAIL  ", "quote:sym<Q>")
+    .return (rx817_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__quote_escape:sym<{ }>"  :subid("196_1259103982.97329") :method
+.sub "!PREFIX__quote:sym<Q>"  :subid("194_1259177761.22934") :method
 .annotate "line", 4
-    new $P816, "ResizablePMCArray"
-    push $P816, "{"
-    .return ($P816)
+    $P819 = self."!PREFIX__!subrule"("", "Q")
+    new $P820, "ResizablePMCArray"
+    push $P820, $P819
+    .return ($P820)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "circumfix:sym<( )>"  :subid("197_1259103982.97329") :method :outer("11_1259103982.97329")
+.sub "quote:sym<Q:PIR>"  :subid("195_1259177761.22934") :method :outer("11_1259177761.22934")
 .annotate "line", 4
-    .local string rx819_tgt
-    .local int rx819_pos
-    .local int rx819_off
-    .local int rx819_eos
-    .local int rx819_rep
-    .local pmc rx819_cur
-    (rx819_cur, rx819_pos, rx819_tgt) = self."!cursor_start"()
-    rx819_cur."!cursor_debug"("START ", "circumfix:sym<( )>")
-    rx819_cur."!cursor_caparray"("EXPR")
-    .lex unicode:"$\x{a2}", rx819_cur
+    .local string rx823_tgt
+    .local int rx823_pos
+    .local int rx823_off
+    .local int rx823_eos
+    .local int rx823_rep
+    .local pmc rx823_cur
+    (rx823_cur, rx823_pos, rx823_tgt) = self."!cursor_start"()
+    rx823_cur."!cursor_debug"("START ", "quote:sym<Q:PIR>")
+    .lex unicode:"$\x{a2}", rx823_cur
     .local pmc match
     .lex "$/", match
-    length rx819_eos, rx819_tgt
-    set rx819_off, 0
-    lt rx819_pos, 2, rx819_start
-    sub rx819_off, rx819_pos, 1
-    substr rx819_tgt, rx819_tgt, rx819_off
-  rx819_start:
+    length rx823_eos, rx823_tgt
+    set rx823_off, 0
+    lt rx823_pos, 2, rx823_start
+    sub rx823_off, rx823_pos, 1
+    substr rx823_tgt, rx823_tgt, rx823_off
+  rx823_start:
     $I10 = self.'from'()
-    ne $I10, -1, rxscan823_done
-    goto rxscan823_scan
-  rxscan823_loop:
-    ($P10) = rx819_cur."from"()
+    ne $I10, -1, rxscan827_done
+    goto rxscan827_scan
+  rxscan827_loop:
+    ($P10) = rx823_cur."from"()
     inc $P10
-    set rx819_pos, $P10
-    ge rx819_pos, rx819_eos, rxscan823_done
-  rxscan823_scan:
-    set_addr $I10, rxscan823_loop
-    rx819_cur."!mark_push"(0, rx819_pos, $I10)
-  rxscan823_done:
-.annotate "line", 380
-  # rx literal  "("
-    add $I11, rx819_pos, 1
-    gt $I11, rx819_eos, rx819_fail
-    sub $I11, rx819_pos, rx819_off
-    substr $S10, rx819_tgt, $I11, 1
-    ne $S10, "(", rx819_fail
-    add rx819_pos, 1
-  # rx subrule "ws" subtype=method negate=
-    rx819_cur."!cursor_pos"(rx819_pos)
-    $P10 = rx819_cur."ws"()
-    unless $P10, rx819_fail
-    rx819_pos = $P10."pos"()
-  # rx rxquantr824 ** 0..1
-    set_addr $I825, rxquantr824_done
-    rx819_cur."!mark_push"(0, rx819_pos, $I825)
-  rxquantr824_loop:
-  # rx subrule "EXPR" subtype=capture negate=
-    rx819_cur."!cursor_pos"(rx819_pos)
-    $P10 = rx819_cur."EXPR"()
-    unless $P10, rx819_fail
-    rx819_cur."!mark_push"(0, -1, 0, $P10)
-    $P10."!cursor_names"("EXPR")
-    rx819_pos = $P10."pos"()
-    (rx819_rep) = rx819_cur."!mark_commit"($I825)
-  rxquantr824_done:
-  # rx literal  ")"
-    add $I11, rx819_pos, 1
-    gt $I11, rx819_eos, rx819_fail
-    sub $I11, rx819_pos, rx819_off
-    substr $S10, rx819_tgt, $I11, 1
-    ne $S10, ")", rx819_fail
-    add rx819_pos, 1
+    set rx823_pos, $P10
+    ge rx823_pos, rx823_eos, rxscan827_done
+  rxscan827_scan:
+    set_addr $I10, rxscan827_loop
+    rx823_cur."!mark_push"(0, rx823_pos, $I10)
+  rxscan827_done:
+.annotate "line", 385
+  # rx literal  "Q:PIR"
+    add $I11, rx823_pos, 5
+    gt $I11, rx823_eos, rx823_fail
+    sub $I11, rx823_pos, rx823_off
+    substr $S10, rx823_tgt, $I11, 5
+    ne $S10, "Q:PIR", rx823_fail
+    add rx823_pos, 5
+  # rx subrule "ws" subtype=method negate=
+    rx823_cur."!cursor_pos"(rx823_pos)
+    $P10 = rx823_cur."ws"()
+    unless $P10, rx823_fail
+    rx823_pos = $P10."pos"()
+  # rx subrule "quote_EXPR" subtype=capture negate=
+    rx823_cur."!cursor_pos"(rx823_pos)
+    $P10 = rx823_cur."quote_EXPR"()
+    unless $P10, rx823_fail
+    rx823_cur."!mark_push"(0, -1, 0, $P10)
+    $P10."!cursor_names"("quote_EXPR")
+    rx823_pos = $P10."pos"()
   # rx pass
-    rx819_cur."!cursor_pass"(rx819_pos, "circumfix:sym<( )>")
-    rx819_cur."!cursor_debug"("PASS  ", "circumfix:sym<( )>", " at pos=", rx819_pos)
-    .return (rx819_cur)
-  rx819_fail:
+    rx823_cur."!cursor_pass"(rx823_pos, "quote:sym<Q:PIR>")
+    rx823_cur."!cursor_debug"("PASS  ", "quote:sym<Q:PIR>", " at pos=", rx823_pos)
+    .return (rx823_cur)
+  rx823_fail:
 .annotate "line", 4
-    (rx819_rep, rx819_pos, $I10, $P10) = rx819_cur."!mark_fail"(0)
-    lt rx819_pos, -1, rx819_done
-    eq rx819_pos, -1, rx819_fail
+    (rx823_rep, rx823_pos, $I10, $P10) = rx823_cur."!mark_fail"(0)
+    lt rx823_pos, -1, rx823_done
+    eq rx823_pos, -1, rx823_fail
     jump $I10
-  rx819_done:
-    rx819_cur."!cursor_fail"()
-    rx819_cur."!cursor_debug"("FAIL  ", "circumfix:sym<( )>")
-    .return (rx819_cur)
+  rx823_done:
+    rx823_cur."!cursor_fail"()
+    rx823_cur."!cursor_debug"("FAIL  ", "quote:sym<Q:PIR>")
+    .return (rx823_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__circumfix:sym<( )>"  :subid("198_1259103982.97329") :method
+.sub "!PREFIX__quote:sym<Q:PIR>"  :subid("196_1259177761.22934") :method
 .annotate "line", 4
-    $P821 = self."!PREFIX__!subrule"("", "(")
-    new $P822, "ResizablePMCArray"
-    push $P822, $P821
-    .return ($P822)
+    $P825 = self."!PREFIX__!subrule"("", "Q:PIR")
+    new $P826, "ResizablePMCArray"
+    push $P826, $P825
+    .return ($P826)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "circumfix:sym<[ ]>"  :subid("199_1259103982.97329") :method :outer("11_1259103982.97329")
+.sub "quote_escape:sym<$>"  :subid("197_1259177761.22934") :method :outer("11_1259177761.22934")
 .annotate "line", 4
-    .local string rx827_tgt
-    .local int rx827_pos
-    .local int rx827_off
-    .local int rx827_eos
-    .local int rx827_rep
-    .local pmc rx827_cur
-    (rx827_cur, rx827_pos, rx827_tgt) = self."!cursor_start"()
-    rx827_cur."!cursor_debug"("START ", "circumfix:sym<[ ]>")
-    rx827_cur."!cursor_caparray"("EXPR")
-    .lex unicode:"$\x{a2}", rx827_cur
+    .local string rx829_tgt
+    .local int rx829_pos
+    .local int rx829_off
+    .local int rx829_eos
+    .local int rx829_rep
+    .local pmc rx829_cur
+    (rx829_cur, rx829_pos, rx829_tgt) = self."!cursor_start"()
+    rx829_cur."!cursor_debug"("START ", "quote_escape:sym<$>")
+    .lex unicode:"$\x{a2}", rx829_cur
     .local pmc match
     .lex "$/", match
-    length rx827_eos, rx827_tgt
-    set rx827_off, 0
-    lt rx827_pos, 2, rx827_start
-    sub rx827_off, rx827_pos, 1
-    substr rx827_tgt, rx827_tgt, rx827_off
-  rx827_start:
+    length rx829_eos, rx829_tgt
+    set rx829_off, 0
+    lt rx829_pos, 2, rx829_start
+    sub rx829_off, rx829_pos, 1
+    substr rx829_tgt, rx829_tgt, rx829_off
+  rx829_start:
     $I10 = self.'from'()
-    ne $I10, -1, rxscan831_done
-    goto rxscan831_scan
-  rxscan831_loop:
-    ($P10) = rx827_cur."from"()
+    ne $I10, -1, rxscan832_done
+    goto rxscan832_scan
+  rxscan832_loop:
+    ($P10) = rx829_cur."from"()
     inc $P10
-    set rx827_pos, $P10
-    ge rx827_pos, rx827_eos, rxscan831_done
-  rxscan831_scan:
-    set_addr $I10, rxscan831_loop
-    rx827_cur."!mark_push"(0, rx827_pos, $I10)
-  rxscan831_done:
-.annotate "line", 381
-  # rx literal  "["
-    add $I11, rx827_pos, 1
-    gt $I11, rx827_eos, rx827_fail
-    sub $I11, rx827_pos, rx827_off
-    substr $S10, rx827_tgt, $I11, 1
-    ne $S10, "[", rx827_fail
-    add rx827_pos, 1
-  # rx subrule "ws" subtype=method negate=
-    rx827_cur."!cursor_pos"(rx827_pos)
-    $P10 = rx827_cur."ws"()
-    unless $P10, rx827_fail
-    rx827_pos = $P10."pos"()
-  # rx rxquantr832 ** 0..1
-    set_addr $I833, rxquantr832_done
-    rx827_cur."!mark_push"(0, rx827_pos, $I833)
-  rxquantr832_loop:
-  # rx subrule "EXPR" subtype=capture negate=
-    rx827_cur."!cursor_pos"(rx827_pos)
-    $P10 = rx827_cur."EXPR"()
-    unless $P10, rx827_fail
-    rx827_cur."!mark_push"(0, -1, 0, $P10)
-    $P10."!cursor_names"("EXPR")
-    rx827_pos = $P10."pos"()
-    (rx827_rep) = rx827_cur."!mark_commit"($I833)
-  rxquantr832_done:
-  # rx literal  "]"
-    add $I11, rx827_pos, 1
-    gt $I11, rx827_eos, rx827_fail
-    sub $I11, rx827_pos, rx827_off
-    substr $S10, rx827_tgt, $I11, 1
-    ne $S10, "]", rx827_fail
-    add rx827_pos, 1
+    set rx829_pos, $P10
+    ge rx829_pos, rx829_eos, rxscan832_done
+  rxscan832_scan:
+    set_addr $I10, rxscan832_loop
+    rx829_cur."!mark_push"(0, rx829_pos, $I10)
+  rxscan832_done:
+.annotate "line", 387
+  # rx enumcharlist negate=0 zerowidth
+    ge rx829_pos, rx829_eos, rx829_fail
+    sub $I10, rx829_pos, rx829_off
+    substr $S10, rx829_tgt, $I10, 1
+    index $I11, "$", $S10
+    lt $I11, 0, rx829_fail
+  # rx subrule "quotemod_check" subtype=zerowidth negate=
+    rx829_cur."!cursor_pos"(rx829_pos)
+    $P10 = rx829_cur."quotemod_check"("s")
+    unless $P10, rx829_fail
+  # rx subrule "variable" subtype=capture negate=
+    rx829_cur."!cursor_pos"(rx829_pos)
+    $P10 = rx829_cur."variable"()
+    unless $P10, rx829_fail
+    rx829_cur."!mark_push"(0, -1, 0, $P10)
+    $P10."!cursor_names"("variable")
+    rx829_pos = $P10."pos"()
   # rx pass
-    rx827_cur."!cursor_pass"(rx827_pos, "circumfix:sym<[ ]>")
-    rx827_cur."!cursor_debug"("PASS  ", "circumfix:sym<[ ]>", " at pos=", rx827_pos)
-    .return (rx827_cur)
-  rx827_fail:
+    rx829_cur."!cursor_pass"(rx829_pos, "quote_escape:sym<$>")
+    rx829_cur."!cursor_debug"("PASS  ", "quote_escape:sym<$>", " at pos=", rx829_pos)
+    .return (rx829_cur)
+  rx829_fail:
 .annotate "line", 4
-    (rx827_rep, rx827_pos, $I10, $P10) = rx827_cur."!mark_fail"(0)
-    lt rx827_pos, -1, rx827_done
-    eq rx827_pos, -1, rx827_fail
+    (rx829_rep, rx829_pos, $I10, $P10) = rx829_cur."!mark_fail"(0)
+    lt rx829_pos, -1, rx829_done
+    eq rx829_pos, -1, rx829_fail
     jump $I10
-  rx827_done:
-    rx827_cur."!cursor_fail"()
-    rx827_cur."!cursor_debug"("FAIL  ", "circumfix:sym<[ ]>")
-    .return (rx827_cur)
+  rx829_done:
+    rx829_cur."!cursor_fail"()
+    rx829_cur."!cursor_debug"("FAIL  ", "quote_escape:sym<$>")
+    .return (rx829_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__circumfix:sym<[ ]>"  :subid("200_1259103982.97329") :method
+.sub "!PREFIX__quote_escape:sym<$>"  :subid("198_1259177761.22934") :method
 .annotate "line", 4
-    $P829 = self."!PREFIX__!subrule"("", "[")
-    new $P830, "ResizablePMCArray"
-    push $P830, $P829
-    .return ($P830)
+    new $P831, "ResizablePMCArray"
+    push $P831, "$"
+    .return ($P831)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "circumfix:sym<ang>"  :subid("201_1259103982.97329") :method :outer("11_1259103982.97329")
+.sub "quote_escape:sym<{ }>"  :subid("199_1259177761.22934") :method :outer("11_1259177761.22934")
 .annotate "line", 4
-    .local string rx835_tgt
-    .local int rx835_pos
-    .local int rx835_off
-    .local int rx835_eos
-    .local int rx835_rep
-    .local pmc rx835_cur
-    (rx835_cur, rx835_pos, rx835_tgt) = self."!cursor_start"()
-    rx835_cur."!cursor_debug"("START ", "circumfix:sym<ang>")
-    .lex unicode:"$\x{a2}", rx835_cur
+    .local string rx834_tgt
+    .local int rx834_pos
+    .local int rx834_off
+    .local int rx834_eos
+    .local int rx834_rep
+    .local pmc rx834_cur
+    (rx834_cur, rx834_pos, rx834_tgt) = self."!cursor_start"()
+    rx834_cur."!cursor_debug"("START ", "quote_escape:sym<{ }>")
+    .lex unicode:"$\x{a2}", rx834_cur
     .local pmc match
     .lex "$/", match
-    length rx835_eos, rx835_tgt
-    set rx835_off, 0
-    lt rx835_pos, 2, rx835_start
-    sub rx835_off, rx835_pos, 1
-    substr rx835_tgt, rx835_tgt, rx835_off
-  rx835_start:
+    length rx834_eos, rx834_tgt
+    set rx834_off, 0
+    lt rx834_pos, 2, rx834_start
+    sub rx834_off, rx834_pos, 1
+    substr rx834_tgt, rx834_tgt, rx834_off
+  rx834_start:
     $I10 = self.'from'()
-    ne $I10, -1, rxscan838_done
-    goto rxscan838_scan
-  rxscan838_loop:
-    ($P10) = rx835_cur."from"()
+    ne $I10, -1, rxscan837_done
+    goto rxscan837_scan
+  rxscan837_loop:
+    ($P10) = rx834_cur."from"()
     inc $P10
-    set rx835_pos, $P10
-    ge rx835_pos, rx835_eos, rxscan838_done
-  rxscan838_scan:
-    set_addr $I10, rxscan838_loop
-    rx835_cur."!mark_push"(0, rx835_pos, $I10)
-  rxscan838_done:
-.annotate "line", 382
+    set rx834_pos, $P10
+    ge rx834_pos, rx834_eos, rxscan837_done
+  rxscan837_scan:
+    set_addr $I10, rxscan837_loop
+    rx834_cur."!mark_push"(0, rx834_pos, $I10)
+  rxscan837_done:
+.annotate "line", 388
   # rx enumcharlist negate=0 zerowidth
-    ge rx835_pos, rx835_eos, rx835_fail
-    sub $I10, rx835_pos, rx835_off
-    substr $S10, rx835_tgt, $I10, 1
-    index $I11, "<", $S10
-    lt $I11, 0, rx835_fail
-  # rx subrule "quote_EXPR" subtype=capture negate=
-    rx835_cur."!cursor_pos"(rx835_pos)
-    $P10 = rx835_cur."quote_EXPR"(":q", ":w")
-    unless $P10, rx835_fail
-    rx835_cur."!mark_push"(0, -1, 0, $P10)
-    $P10."!cursor_names"("quote_EXPR")
-    rx835_pos = $P10."pos"()
+    ge rx834_pos, rx834_eos, rx834_fail
+    sub $I10, rx834_pos, rx834_off
+    substr $S10, rx834_tgt, $I10, 1
+    index $I11, "{", $S10
+    lt $I11, 0, rx834_fail
+  # rx subrule "quotemod_check" subtype=zerowidth negate=
+    rx834_cur."!cursor_pos"(rx834_pos)
+    $P10 = rx834_cur."quotemod_check"("c")
+    unless $P10, rx834_fail
+  # rx subrule "block" subtype=capture negate=
+    rx834_cur."!cursor_pos"(rx834_pos)
+    $P10 = rx834_cur."block"()
+    unless $P10, rx834_fail
+    rx834_cur."!mark_push"(0, -1, 0, $P10)
+    $P10."!cursor_names"("block")
+    rx834_pos = $P10."pos"()
   # rx pass
-    rx835_cur."!cursor_pass"(rx835_pos, "circumfix:sym<ang>")
-    rx835_cur."!cursor_debug"("PASS  ", "circumfix:sym<ang>", " at pos=", rx835_pos)
-    .return (rx835_cur)
-  rx835_fail:
+    rx834_cur."!cursor_pass"(rx834_pos, "quote_escape:sym<{ }>")
+    rx834_cur."!cursor_debug"("PASS  ", "quote_escape:sym<{ }>", " at pos=", rx834_pos)
+    .return (rx834_cur)
+  rx834_fail:
 .annotate "line", 4
-    (rx835_rep, rx835_pos, $I10, $P10) = rx835_cur."!mark_fail"(0)
-    lt rx835_pos, -1, rx835_done
-    eq rx835_pos, -1, rx835_fail
+    (rx834_rep, rx834_pos, $I10, $P10) = rx834_cur."!mark_fail"(0)
+    lt rx834_pos, -1, rx834_done
+    eq rx834_pos, -1, rx834_fail
     jump $I10
-  rx835_done:
-    rx835_cur."!cursor_fail"()
-    rx835_cur."!cursor_debug"("FAIL  ", "circumfix:sym<ang>")
-    .return (rx835_cur)
+  rx834_done:
+    rx834_cur."!cursor_fail"()
+    rx834_cur."!cursor_debug"("FAIL  ", "quote_escape:sym<{ }>")
+    .return (rx834_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__circumfix:sym<ang>"  :subid("202_1259103982.97329") :method
+.sub "!PREFIX__quote_escape:sym<{ }>"  :subid("200_1259177761.22934") :method
 .annotate "line", 4
-    new $P837, "ResizablePMCArray"
-    push $P837, "<"
-    .return ($P837)
+    new $P836, "ResizablePMCArray"
+    push $P836, "{"
+    .return ($P836)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "circumfix:sym<{ }>"  :subid("203_1259103982.97329") :method :outer("11_1259103982.97329")
+.sub "circumfix:sym<( )>"  :subid("201_1259177761.22934") :method :outer("11_1259177761.22934")
 .annotate "line", 4
-    .local string rx840_tgt
-    .local int rx840_pos
-    .local int rx840_off
-    .local int rx840_eos
-    .local int rx840_rep
-    .local pmc rx840_cur
-    (rx840_cur, rx840_pos, rx840_tgt) = self."!cursor_start"()
-    rx840_cur."!cursor_debug"("START ", "circumfix:sym<{ }>")
-    .lex unicode:"$\x{a2}", rx840_cur
+    .local string rx839_tgt
+    .local int rx839_pos
+    .local int rx839_off
+    .local int rx839_eos
+    .local int rx839_rep
+    .local pmc rx839_cur
+    (rx839_cur, rx839_pos, rx839_tgt) = self."!cursor_start"()
+    rx839_cur."!cursor_debug"("START ", "circumfix:sym<( )>")
+    rx839_cur."!cursor_caparray"("EXPR")
+    .lex unicode:"$\x{a2}", rx839_cur
     .local pmc match
     .lex "$/", match
-    length rx840_eos, rx840_tgt
-    set rx840_off, 0
-    lt rx840_pos, 2, rx840_start
-    sub rx840_off, rx840_pos, 1
-    substr rx840_tgt, rx840_tgt, rx840_off
-  rx840_start:
+    length rx839_eos, rx839_tgt
+    set rx839_off, 0
+    lt rx839_pos, 2, rx839_start
+    sub rx839_off, rx839_pos, 1
+    substr rx839_tgt, rx839_tgt, rx839_off
+  rx839_start:
     $I10 = self.'from'()
     ne $I10, -1, rxscan843_done
     goto rxscan843_scan
   rxscan843_loop:
-    ($P10) = rx840_cur."from"()
+    ($P10) = rx839_cur."from"()
     inc $P10
-    set rx840_pos, $P10
-    ge rx840_pos, rx840_eos, rxscan843_done
+    set rx839_pos, $P10
+    ge rx839_pos, rx839_eos, rxscan843_done
   rxscan843_scan:
     set_addr $I10, rxscan843_loop
-    rx840_cur."!mark_push"(0, rx840_pos, $I10)
+    rx839_cur."!mark_push"(0, rx839_pos, $I10)
   rxscan843_done:
-.annotate "line", 383
-  # rx enumcharlist negate=0 zerowidth
-    ge rx840_pos, rx840_eos, rx840_fail
-    sub $I10, rx840_pos, rx840_off
-    substr $S10, rx840_tgt, $I10, 1
-    index $I11, "{", $S10
-    lt $I11, 0, rx840_fail
-  # rx subrule "pblock" subtype=capture negate=
-    rx840_cur."!cursor_pos"(rx840_pos)
-    $P10 = rx840_cur."pblock"()
-    unless $P10, rx840_fail
-    rx840_cur."!mark_push"(0, -1, 0, $P10)
-    $P10."!cursor_names"("pblock")
-    rx840_pos = $P10."pos"()
+.annotate "line", 390
+  # rx literal  "("
+    add $I11, rx839_pos, 1
+    gt $I11, rx839_eos, rx839_fail
+    sub $I11, rx839_pos, rx839_off
+    substr $S10, rx839_tgt, $I11, 1
+    ne $S10, "(", rx839_fail
+    add rx839_pos, 1
+  # rx subrule "ws" subtype=method negate=
+    rx839_cur."!cursor_pos"(rx839_pos)
+    $P10 = rx839_cur."ws"()
+    unless $P10, rx839_fail
+    rx839_pos = $P10."pos"()
+  # rx rxquantr844 ** 0..1
+    set_addr $I845, rxquantr844_done
+    rx839_cur."!mark_push"(0, rx839_pos, $I845)
+  rxquantr844_loop:
+  # rx subrule "EXPR" subtype=capture negate=
+    rx839_cur."!cursor_pos"(rx839_pos)
+    $P10 = rx839_cur."EXPR"()
+    unless $P10, rx839_fail
+    rx839_cur."!mark_push"(0, -1, 0, $P10)
+    $P10."!cursor_names"("EXPR")
+    rx839_pos = $P10."pos"()
+    (rx839_rep) = rx839_cur."!mark_commit"($I845)
+  rxquantr844_done:
+  # rx literal  ")"
+    add $I11, rx839_pos, 1
+    gt $I11, rx839_eos, rx839_fail
+    sub $I11, rx839_pos, rx839_off
+    substr $S10, rx839_tgt, $I11, 1
+    ne $S10, ")", rx839_fail
+    add rx839_pos, 1
   # rx pass
-    rx840_cur."!cursor_pass"(rx840_pos, "circumfix:sym<{ }>")
-    rx840_cur."!cursor_debug"("PASS  ", "circumfix:sym<{ }>", " at pos=", rx840_pos)
-    .return (rx840_cur)
-  rx840_fail:
+    rx839_cur."!cursor_pass"(rx839_pos, "circumfix:sym<( )>")
+    rx839_cur."!cursor_debug"("PASS  ", "circumfix:sym<( )>", " at pos=", rx839_pos)
+    .return (rx839_cur)
+  rx839_fail:
 .annotate "line", 4
-    (rx840_rep, rx840_pos, $I10, $P10) = rx840_cur."!mark_fail"(0)
-    lt rx840_pos, -1, rx840_done
-    eq rx840_pos, -1, rx840_fail
+    (rx839_rep, rx839_pos, $I10, $P10) = rx839_cur."!mark_fail"(0)
+    lt rx839_pos, -1, rx839_done
+    eq rx839_pos, -1, rx839_fail
     jump $I10
-  rx840_done:
-    rx840_cur."!cursor_fail"()
-    rx840_cur."!cursor_debug"("FAIL  ", "circumfix:sym<{ }>")
-    .return (rx840_cur)
+  rx839_done:
+    rx839_cur."!cursor_fail"()
+    rx839_cur."!cursor_debug"("FAIL  ", "circumfix:sym<( )>")
+    .return (rx839_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__circumfix:sym<{ }>"  :subid("204_1259103982.97329") :method
+.sub "!PREFIX__circumfix:sym<( )>"  :subid("202_1259177761.22934") :method
 .annotate "line", 4
+    $P841 = self."!PREFIX__!subrule"("", "(")
     new $P842, "ResizablePMCArray"
-    push $P842, "{"
+    push $P842, $P841
     .return ($P842)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "circumfix:sym<sigil>"  :subid("205_1259103982.97329") :method :outer("11_1259103982.97329")
+.sub "circumfix:sym<[ ]>"  :subid("203_1259177761.22934") :method :outer("11_1259177761.22934")
 .annotate "line", 4
-    .local string rx845_tgt
-    .local int rx845_pos
-    .local int rx845_off
-    .local int rx845_eos
-    .local int rx845_rep
-    .local pmc rx845_cur
-    (rx845_cur, rx845_pos, rx845_tgt) = self."!cursor_start"()
-    rx845_cur."!cursor_debug"("START ", "circumfix:sym<sigil>")
-    .lex unicode:"$\x{a2}", rx845_cur
-    .local pmc match
-    .lex "$/", match
-    length rx845_eos, rx845_tgt
-    set rx845_off, 0
-    lt rx845_pos, 2, rx845_start
-    sub rx845_off, rx845_pos, 1
-    substr rx845_tgt, rx845_tgt, rx845_off
-  rx845_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan849_done
-    goto rxscan849_scan
-  rxscan849_loop:
-    ($P10) = rx845_cur."from"()
-    inc $P10
-    set rx845_pos, $P10
-    ge rx845_pos, rx845_eos, rxscan849_done
-  rxscan849_scan:
-    set_addr $I10, rxscan849_loop
-    rx845_cur."!mark_push"(0, rx845_pos, $I10)
-  rxscan849_done:
-.annotate "line", 384
-  # rx subrule "sigil" subtype=capture negate=
-    rx845_cur."!cursor_pos"(rx845_pos)
-    $P10 = rx845_cur."sigil"()
-    unless $P10, rx845_fail
-    rx845_cur."!mark_push"(0, -1, 0, $P10)
-    $P10."!cursor_names"("sigil")
-    rx845_pos = $P10."pos"()
-  # rx literal  "("
-    add $I11, rx845_pos, 1
-    gt $I11, rx845_eos, rx845_fail
-    sub $I11, rx845_pos, rx845_off
-    substr $S10, rx845_tgt, $I11, 1
-    ne $S10, "(", rx845_fail
-    add rx845_pos, 1
-  # rx subrule "semilist" subtype=capture negate=
-    rx845_cur."!cursor_pos"(rx845_pos)
-    $P10 = rx845_cur."semilist"()
-    unless $P10, rx845_fail
-    rx845_cur."!mark_push"(0, -1, 0, $P10)
-    $P10."!cursor_names"("semilist")
-    rx845_pos = $P10."pos"()
-  alt850_0:
-    set_addr $I10, alt850_1
-    rx845_cur."!mark_push"(0, rx845_pos, $I10)
-  # rx literal  ")"
-    add $I11, rx845_pos, 1
-    gt $I11, rx845_eos, rx845_fail
-    sub $I11, rx845_pos, rx845_off
-    substr $S10, rx845_tgt, $I11, 1
-    ne $S10, ")", rx845_fail
-    add rx845_pos, 1
-    goto alt850_end
-  alt850_1:
-  # rx subrule "FAILGOAL" subtype=method negate=
-    rx845_cur."!cursor_pos"(rx845_pos)
-    $P10 = rx845_cur."FAILGOAL"("')'")
-    unless $P10, rx845_fail
-    rx845_pos = $P10."pos"()
-  alt850_end:
+    .local string rx847_tgt
+    .local int rx847_pos
+    .local int rx847_off
+    .local int rx847_eos
+    .local int rx847_rep
+    .local pmc rx847_cur
+    (rx847_cur, rx847_pos, rx847_tgt) = self."!cursor_start"()
+    rx847_cur."!cursor_debug"("START ", "circumfix:sym<[ ]>")
+    rx847_cur."!cursor_caparray"("EXPR")
+    .lex unicode:"$\x{a2}", rx847_cur
+    .local pmc match
+    .lex "$/", match
+    length rx847_eos, rx847_tgt
+    set rx847_off, 0
+    lt rx847_pos, 2, rx847_start
+    sub rx847_off, rx847_pos, 1
+    substr rx847_tgt, rx847_tgt, rx847_off
+  rx847_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan851_done
+    goto rxscan851_scan
+  rxscan851_loop:
+    ($P10) = rx847_cur."from"()
+    inc $P10
+    set rx847_pos, $P10
+    ge rx847_pos, rx847_eos, rxscan851_done
+  rxscan851_scan:
+    set_addr $I10, rxscan851_loop
+    rx847_cur."!mark_push"(0, rx847_pos, $I10)
+  rxscan851_done:
+.annotate "line", 391
+  # rx literal  "["
+    add $I11, rx847_pos, 1
+    gt $I11, rx847_eos, rx847_fail
+    sub $I11, rx847_pos, rx847_off
+    substr $S10, rx847_tgt, $I11, 1
+    ne $S10, "[", rx847_fail
+    add rx847_pos, 1
+  # rx subrule "ws" subtype=method negate=
+    rx847_cur."!cursor_pos"(rx847_pos)
+    $P10 = rx847_cur."ws"()
+    unless $P10, rx847_fail
+    rx847_pos = $P10."pos"()
+  # rx rxquantr852 ** 0..1
+    set_addr $I853, rxquantr852_done
+    rx847_cur."!mark_push"(0, rx847_pos, $I853)
+  rxquantr852_loop:
+  # rx subrule "EXPR" subtype=capture negate=
+    rx847_cur."!cursor_pos"(rx847_pos)
+    $P10 = rx847_cur."EXPR"()
+    unless $P10, rx847_fail
+    rx847_cur."!mark_push"(0, -1, 0, $P10)
+    $P10."!cursor_names"("EXPR")
+    rx847_pos = $P10."pos"()
+    (rx847_rep) = rx847_cur."!mark_commit"($I853)
+  rxquantr852_done:
+  # rx literal  "]"
+    add $I11, rx847_pos, 1
+    gt $I11, rx847_eos, rx847_fail
+    sub $I11, rx847_pos, rx847_off
+    substr $S10, rx847_tgt, $I11, 1
+    ne $S10, "]", rx847_fail
+    add rx847_pos, 1
   # rx pass
-    rx845_cur."!cursor_pass"(rx845_pos, "circumfix:sym<sigil>")
-    rx845_cur."!cursor_debug"("PASS  ", "circumfix:sym<sigil>", " at pos=", rx845_pos)
-    .return (rx845_cur)
-  rx845_fail:
+    rx847_cur."!cursor_pass"(rx847_pos, "circumfix:sym<[ ]>")
+    rx847_cur."!cursor_debug"("PASS  ", "circumfix:sym<[ ]>", " at pos=", rx847_pos)
+    .return (rx847_cur)
+  rx847_fail:
 .annotate "line", 4
-    (rx845_rep, rx845_pos, $I10, $P10) = rx845_cur."!mark_fail"(0)
-    lt rx845_pos, -1, rx845_done
-    eq rx845_pos, -1, rx845_fail
+    (rx847_rep, rx847_pos, $I10, $P10) = rx847_cur."!mark_fail"(0)
+    lt rx847_pos, -1, rx847_done
+    eq rx847_pos, -1, rx847_fail
     jump $I10
-  rx845_done:
-    rx845_cur."!cursor_fail"()
-    rx845_cur."!cursor_debug"("FAIL  ", "circumfix:sym<sigil>")
-    .return (rx845_cur)
+  rx847_done:
+    rx847_cur."!cursor_fail"()
+    rx847_cur."!cursor_debug"("FAIL  ", "circumfix:sym<[ ]>")
+    .return (rx847_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__circumfix:sym<sigil>"  :subid("206_1259103982.97329") :method
+.sub "!PREFIX__circumfix:sym<[ ]>"  :subid("204_1259177761.22934") :method
 .annotate "line", 4
-    $P847 = self."!PREFIX__!subrule"("sigil", "")
-    new $P848, "ResizablePMCArray"
-    push $P848, $P847
-    .return ($P848)
+    $P849 = self."!PREFIX__!subrule"("", "[")
+    new $P850, "ResizablePMCArray"
+    push $P850, $P849
+    .return ($P850)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "semilist"  :subid("207_1259103982.97329") :method :outer("11_1259103982.97329")
+.sub "circumfix:sym<ang>"  :subid("205_1259177761.22934") :method :outer("11_1259177761.22934")
 .annotate "line", 4
-    .local string rx853_tgt
-    .local int rx853_pos
-    .local int rx853_off
-    .local int rx853_eos
-    .local int rx853_rep
-    .local pmc rx853_cur
-    (rx853_cur, rx853_pos, rx853_tgt) = self."!cursor_start"()
-    rx853_cur."!cursor_debug"("START ", "semilist")
-    .lex unicode:"$\x{a2}", rx853_cur
+    .local string rx855_tgt
+    .local int rx855_pos
+    .local int rx855_off
+    .local int rx855_eos
+    .local int rx855_rep
+    .local pmc rx855_cur
+    (rx855_cur, rx855_pos, rx855_tgt) = self."!cursor_start"()
+    rx855_cur."!cursor_debug"("START ", "circumfix:sym<ang>")
+    .lex unicode:"$\x{a2}", rx855_cur
     .local pmc match
     .lex "$/", match
-    length rx853_eos, rx853_tgt
-    set rx853_off, 0
-    lt rx853_pos, 2, rx853_start
-    sub rx853_off, rx853_pos, 1
-    substr rx853_tgt, rx853_tgt, rx853_off
-  rx853_start:
+    length rx855_eos, rx855_tgt
+    set rx855_off, 0
+    lt rx855_pos, 2, rx855_start
+    sub rx855_off, rx855_pos, 1
+    substr rx855_tgt, rx855_tgt, rx855_off
+  rx855_start:
     $I10 = self.'from'()
-    ne $I10, -1, rxscan856_done
-    goto rxscan856_scan
-  rxscan856_loop:
-    ($P10) = rx853_cur."from"()
+    ne $I10, -1, rxscan858_done
+    goto rxscan858_scan
+  rxscan858_loop:
+    ($P10) = rx855_cur."from"()
     inc $P10
-    set rx853_pos, $P10
-    ge rx853_pos, rx853_eos, rxscan856_done
-  rxscan856_scan:
-    set_addr $I10, rxscan856_loop
-    rx853_cur."!mark_push"(0, rx853_pos, $I10)
-  rxscan856_done:
-.annotate "line", 386
-  # rx subrule "ws" subtype=method negate=
-    rx853_cur."!cursor_pos"(rx853_pos)
-    $P10 = rx853_cur."ws"()
-    unless $P10, rx853_fail
-    rx853_pos = $P10."pos"()
-  # rx subrule "statement" subtype=capture negate=
-    rx853_cur."!cursor_pos"(rx853_pos)
-    $P10 = rx853_cur."statement"()
-    unless $P10, rx853_fail
-    rx853_cur."!mark_push"(0, -1, 0, $P10)
-    $P10."!cursor_names"("statement")
-    rx853_pos = $P10."pos"()
-  # rx subrule "ws" subtype=method negate=
-    rx853_cur."!cursor_pos"(rx853_pos)
-    $P10 = rx853_cur."ws"()
-    unless $P10, rx853_fail
-    rx853_pos = $P10."pos"()
+    set rx855_pos, $P10
+    ge rx855_pos, rx855_eos, rxscan858_done
+  rxscan858_scan:
+    set_addr $I10, rxscan858_loop
+    rx855_cur."!mark_push"(0, rx855_pos, $I10)
+  rxscan858_done:
+.annotate "line", 392
+  # rx enumcharlist negate=0 zerowidth
+    ge rx855_pos, rx855_eos, rx855_fail
+    sub $I10, rx855_pos, rx855_off
+    substr $S10, rx855_tgt, $I10, 1
+    index $I11, "<", $S10
+    lt $I11, 0, rx855_fail
+  # rx subrule "quote_EXPR" subtype=capture negate=
+    rx855_cur."!cursor_pos"(rx855_pos)
+    $P10 = rx855_cur."quote_EXPR"(":q", ":w")
+    unless $P10, rx855_fail
+    rx855_cur."!mark_push"(0, -1, 0, $P10)
+    $P10."!cursor_names"("quote_EXPR")
+    rx855_pos = $P10."pos"()
   # rx pass
-    rx853_cur."!cursor_pass"(rx853_pos, "semilist")
-    rx853_cur."!cursor_debug"("PASS  ", "semilist", " at pos=", rx853_pos)
-    .return (rx853_cur)
-  rx853_fail:
+    rx855_cur."!cursor_pass"(rx855_pos, "circumfix:sym<ang>")
+    rx855_cur."!cursor_debug"("PASS  ", "circumfix:sym<ang>", " at pos=", rx855_pos)
+    .return (rx855_cur)
+  rx855_fail:
 .annotate "line", 4
-    (rx853_rep, rx853_pos, $I10, $P10) = rx853_cur."!mark_fail"(0)
-    lt rx853_pos, -1, rx853_done
-    eq rx853_pos, -1, rx853_fail
+    (rx855_rep, rx855_pos, $I10, $P10) = rx855_cur."!mark_fail"(0)
+    lt rx855_pos, -1, rx855_done
+    eq rx855_pos, -1, rx855_fail
     jump $I10
-  rx853_done:
-    rx853_cur."!cursor_fail"()
-    rx853_cur."!cursor_debug"("FAIL  ", "semilist")
-    .return (rx853_cur)
+  rx855_done:
+    rx855_cur."!cursor_fail"()
+    rx855_cur."!cursor_debug"("FAIL  ", "circumfix:sym<ang>")
+    .return (rx855_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__semilist"  :subid("208_1259103982.97329") :method
+.sub "!PREFIX__circumfix:sym<ang>"  :subid("206_1259177761.22934") :method
 .annotate "line", 4
-    new $P855, "ResizablePMCArray"
-    push $P855, ""
-    .return ($P855)
+    new $P857, "ResizablePMCArray"
+    push $P857, "<"
+    .return ($P857)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "infixish"  :subid("209_1259103982.97329") :method :outer("11_1259103982.97329")
-.annotate "line", 390
+.sub "circumfix:sym<{ }>"  :subid("207_1259177761.22934") :method :outer("11_1259177761.22934")
+.annotate "line", 4
     .local string rx860_tgt
     .local int rx860_pos
     .local int rx860_off
@@ -10258,7 +10228,7 @@
     .local int rx860_rep
     .local pmc rx860_cur
     (rx860_cur, rx860_pos, rx860_tgt) = self."!cursor_start"()
-    rx860_cur."!cursor_debug"("START ", "infixish")
+    rx860_cur."!cursor_debug"("START ", "circumfix:sym<{ }>")
     .lex unicode:"$\x{a2}", rx860_cur
     .local pmc match
     .lex "$/", match
@@ -10280,48 +10250,50 @@
     set_addr $I10, rxscan863_loop
     rx860_cur."!mark_push"(0, rx860_pos, $I10)
   rxscan863_done:
-.annotate "line", 409
-  # rx subrule "infixstopper" subtype=zerowidth negate=1
-    rx860_cur."!cursor_pos"(rx860_pos)
-    $P10 = rx860_cur."infixstopper"()
-    if $P10, rx860_fail
-  # rx subrule "infix" subtype=capture negate=
+.annotate "line", 393
+  # rx enumcharlist negate=0 zerowidth
+    ge rx860_pos, rx860_eos, rx860_fail
+    sub $I10, rx860_pos, rx860_off
+    substr $S10, rx860_tgt, $I10, 1
+    index $I11, "{", $S10
+    lt $I11, 0, rx860_fail
+  # rx subrule "pblock" subtype=capture negate=
     rx860_cur."!cursor_pos"(rx860_pos)
-    $P10 = rx860_cur."infix"()
+    $P10 = rx860_cur."pblock"()
     unless $P10, rx860_fail
     rx860_cur."!mark_push"(0, -1, 0, $P10)
-    $P10."!cursor_names"("OPER=infix")
+    $P10."!cursor_names"("pblock")
     rx860_pos = $P10."pos"()
   # rx pass
-    rx860_cur."!cursor_pass"(rx860_pos, "infixish")
-    rx860_cur."!cursor_debug"("PASS  ", "infixish", " at pos=", rx860_pos)
+    rx860_cur."!cursor_pass"(rx860_pos, "circumfix:sym<{ }>")
+    rx860_cur."!cursor_debug"("PASS  ", "circumfix:sym<{ }>", " at pos=", rx860_pos)
     .return (rx860_cur)
   rx860_fail:
-.annotate "line", 390
+.annotate "line", 4
     (rx860_rep, rx860_pos, $I10, $P10) = rx860_cur."!mark_fail"(0)
     lt rx860_pos, -1, rx860_done
     eq rx860_pos, -1, rx860_fail
     jump $I10
   rx860_done:
     rx860_cur."!cursor_fail"()
-    rx860_cur."!cursor_debug"("FAIL  ", "infixish")
+    rx860_cur."!cursor_debug"("FAIL  ", "circumfix:sym<{ }>")
     .return (rx860_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__infixish"  :subid("210_1259103982.97329") :method
-.annotate "line", 390
+.sub "!PREFIX__circumfix:sym<{ }>"  :subid("208_1259177761.22934") :method
+.annotate "line", 4
     new $P862, "ResizablePMCArray"
-    push $P862, ""
+    push $P862, "{"
     .return ($P862)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "infixstopper"  :subid("211_1259103982.97329") :method :outer("11_1259103982.97329")
-.annotate "line", 390
+.sub "circumfix:sym<sigil>"  :subid("209_1259177761.22934") :method :outer("11_1259177761.22934")
+.annotate "line", 4
     .local string rx865_tgt
     .local int rx865_pos
     .local int rx865_off
@@ -10329,7 +10301,7 @@
     .local int rx865_rep
     .local pmc rx865_cur
     (rx865_cur, rx865_pos, rx865_tgt) = self."!cursor_start"()
-    rx865_cur."!cursor_debug"("START ", "infixstopper")
+    rx865_cur."!cursor_debug"("START ", "circumfix:sym<sigil>")
     .lex unicode:"$\x{a2}", rx865_cur
     .local pmc match
     .lex "$/", match
@@ -10340,675 +10312,670 @@
     substr rx865_tgt, rx865_tgt, rx865_off
   rx865_start:
     $I10 = self.'from'()
-    ne $I10, -1, rxscan868_done
-    goto rxscan868_scan
-  rxscan868_loop:
+    ne $I10, -1, rxscan869_done
+    goto rxscan869_scan
+  rxscan869_loop:
     ($P10) = rx865_cur."from"()
     inc $P10
     set rx865_pos, $P10
-    ge rx865_pos, rx865_eos, rxscan868_done
-  rxscan868_scan:
-    set_addr $I10, rxscan868_loop
+    ge rx865_pos, rx865_eos, rxscan869_done
+  rxscan869_scan:
+    set_addr $I10, rxscan869_loop
     rx865_cur."!mark_push"(0, rx865_pos, $I10)
-  rxscan868_done:
-.annotate "line", 410
-  # rx subrule "lambda" subtype=zerowidth negate=
+  rxscan869_done:
+.annotate "line", 394
+  # rx subrule "sigil" subtype=capture negate=
+    rx865_cur."!cursor_pos"(rx865_pos)
+    $P10 = rx865_cur."sigil"()
+    unless $P10, rx865_fail
+    rx865_cur."!mark_push"(0, -1, 0, $P10)
+    $P10."!cursor_names"("sigil")
+    rx865_pos = $P10."pos"()
+  # rx literal  "("
+    add $I11, rx865_pos, 1
+    gt $I11, rx865_eos, rx865_fail
+    sub $I11, rx865_pos, rx865_off
+    substr $S10, rx865_tgt, $I11, 1
+    ne $S10, "(", rx865_fail
+    add rx865_pos, 1
+  # rx subrule "semilist" subtype=capture negate=
+    rx865_cur."!cursor_pos"(rx865_pos)
+    $P10 = rx865_cur."semilist"()
+    unless $P10, rx865_fail
+    rx865_cur."!mark_push"(0, -1, 0, $P10)
+    $P10."!cursor_names"("semilist")
+    rx865_pos = $P10."pos"()
+  alt870_0:
+    set_addr $I10, alt870_1
+    rx865_cur."!mark_push"(0, rx865_pos, $I10)
+  # rx literal  ")"
+    add $I11, rx865_pos, 1
+    gt $I11, rx865_eos, rx865_fail
+    sub $I11, rx865_pos, rx865_off
+    substr $S10, rx865_tgt, $I11, 1
+    ne $S10, ")", rx865_fail
+    add rx865_pos, 1
+    goto alt870_end
+  alt870_1:
+  # rx subrule "FAILGOAL" subtype=method negate=
     rx865_cur."!cursor_pos"(rx865_pos)
-    $P10 = rx865_cur."lambda"()
+    $P10 = rx865_cur."FAILGOAL"("')'")
     unless $P10, rx865_fail
+    rx865_pos = $P10."pos"()
+  alt870_end:
   # rx pass
-    rx865_cur."!cursor_pass"(rx865_pos, "infixstopper")
-    rx865_cur."!cursor_debug"("PASS  ", "infixstopper", " at pos=", rx865_pos)
+    rx865_cur."!cursor_pass"(rx865_pos, "circumfix:sym<sigil>")
+    rx865_cur."!cursor_debug"("PASS  ", "circumfix:sym<sigil>", " at pos=", rx865_pos)
     .return (rx865_cur)
   rx865_fail:
-.annotate "line", 390
+.annotate "line", 4
     (rx865_rep, rx865_pos, $I10, $P10) = rx865_cur."!mark_fail"(0)
     lt rx865_pos, -1, rx865_done
     eq rx865_pos, -1, rx865_fail
     jump $I10
   rx865_done:
     rx865_cur."!cursor_fail"()
-    rx865_cur."!cursor_debug"("FAIL  ", "infixstopper")
+    rx865_cur."!cursor_debug"("FAIL  ", "circumfix:sym<sigil>")
     .return (rx865_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__infixstopper"  :subid("212_1259103982.97329") :method
-.annotate "line", 390
-    new $P867, "ResizablePMCArray"
-    push $P867, ""
-    .return ($P867)
+.sub "!PREFIX__circumfix:sym<sigil>"  :subid("210_1259177761.22934") :method
+.annotate "line", 4
+    $P867 = self."!PREFIX__!subrule"("sigil", "")
+    new $P868, "ResizablePMCArray"
+    push $P868, $P867
+    .return ($P868)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "postcircumfix:sym<[ ]>"  :subid("213_1259103982.97329") :method :outer("11_1259103982.97329")
-.annotate "line", 390
-    .local string rx870_tgt
-    .local int rx870_pos
-    .local int rx870_off
-    .local int rx870_eos
-    .local int rx870_rep
-    .local pmc rx870_cur
-    (rx870_cur, rx870_pos, rx870_tgt) = self."!cursor_start"()
-    rx870_cur."!cursor_debug"("START ", "postcircumfix:sym<[ ]>")
-    .lex unicode:"$\x{a2}", rx870_cur
-    .local pmc match
-    .lex "$/", match
-    length rx870_eos, rx870_tgt
-    set rx870_off, 0
-    lt rx870_pos, 2, rx870_start
-    sub rx870_off, rx870_pos, 1
-    substr rx870_tgt, rx870_tgt, rx870_off
-  rx870_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan874_done
-    goto rxscan874_scan
-  rxscan874_loop:
-    ($P10) = rx870_cur."from"()
-    inc $P10
-    set rx870_pos, $P10
-    ge rx870_pos, rx870_eos, rxscan874_done
-  rxscan874_scan:
-    set_addr $I10, rxscan874_loop
-    rx870_cur."!mark_push"(0, rx870_pos, $I10)
-  rxscan874_done:
-.annotate "line", 413
-  # rx literal  "["
-    add $I11, rx870_pos, 1
-    gt $I11, rx870_eos, rx870_fail
-    sub $I11, rx870_pos, rx870_off
-    substr $S10, rx870_tgt, $I11, 1
-    ne $S10, "[", rx870_fail
-    add rx870_pos, 1
-  # rx subrule "ws" subtype=method negate=
-    rx870_cur."!cursor_pos"(rx870_pos)
-    $P10 = rx870_cur."ws"()
-    unless $P10, rx870_fail
-    rx870_pos = $P10."pos"()
-  # rx subrule "EXPR" subtype=capture negate=
-    rx870_cur."!cursor_pos"(rx870_pos)
-    $P10 = rx870_cur."EXPR"()
-    unless $P10, rx870_fail
-    rx870_cur."!mark_push"(0, -1, 0, $P10)
-    $P10."!cursor_names"("EXPR")
-    rx870_pos = $P10."pos"()
-  # rx literal  "]"
-    add $I11, rx870_pos, 1
-    gt $I11, rx870_eos, rx870_fail
-    sub $I11, rx870_pos, rx870_off
-    substr $S10, rx870_tgt, $I11, 1
-    ne $S10, "]", rx870_fail
-    add rx870_pos, 1
-.annotate "line", 414
-  # rx subrule "O" subtype=capture negate=
-    rx870_cur."!cursor_pos"(rx870_pos)
-    $P10 = rx870_cur."O"("%methodop")
-    unless $P10, rx870_fail
-    rx870_cur."!mark_push"(0, -1, 0, $P10)
-    $P10."!cursor_names"("O")
-    rx870_pos = $P10."pos"()
-.annotate "line", 412
+.sub "semilist"  :subid("211_1259177761.22934") :method :outer("11_1259177761.22934")
+.annotate "line", 4
+    .local string rx873_tgt
+    .local int rx873_pos
+    .local int rx873_off
+    .local int rx873_eos
+    .local int rx873_rep
+    .local pmc rx873_cur
+    (rx873_cur, rx873_pos, rx873_tgt) = self."!cursor_start"()
+    rx873_cur."!cursor_debug"("START ", "semilist")
+    .lex unicode:"$\x{a2}", rx873_cur
+    .local pmc match
+    .lex "$/", match
+    length rx873_eos, rx873_tgt
+    set rx873_off, 0
+    lt rx873_pos, 2, rx873_start
+    sub rx873_off, rx873_pos, 1
+    substr rx873_tgt, rx873_tgt, rx873_off
+  rx873_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan876_done
+    goto rxscan876_scan
+  rxscan876_loop:
+    ($P10) = rx873_cur."from"()
+    inc $P10
+    set rx873_pos, $P10
+    ge rx873_pos, rx873_eos, rxscan876_done
+  rxscan876_scan:
+    set_addr $I10, rxscan876_loop
+    rx873_cur."!mark_push"(0, rx873_pos, $I10)
+  rxscan876_done:
+.annotate "line", 396
+  # rx subrule "ws" subtype=method negate=
+    rx873_cur."!cursor_pos"(rx873_pos)
+    $P10 = rx873_cur."ws"()
+    unless $P10, rx873_fail
+    rx873_pos = $P10."pos"()
+  # rx subrule "statement" subtype=capture negate=
+    rx873_cur."!cursor_pos"(rx873_pos)
+    $P10 = rx873_cur."statement"()
+    unless $P10, rx873_fail
+    rx873_cur."!mark_push"(0, -1, 0, $P10)
+    $P10."!cursor_names"("statement")
+    rx873_pos = $P10."pos"()
+  # rx subrule "ws" subtype=method negate=
+    rx873_cur."!cursor_pos"(rx873_pos)
+    $P10 = rx873_cur."ws"()
+    unless $P10, rx873_fail
+    rx873_pos = $P10."pos"()
   # rx pass
-    rx870_cur."!cursor_pass"(rx870_pos, "postcircumfix:sym<[ ]>")
-    rx870_cur."!cursor_debug"("PASS  ", "postcircumfix:sym<[ ]>", " at pos=", rx870_pos)
-    .return (rx870_cur)
-  rx870_fail:
-.annotate "line", 390
-    (rx870_rep, rx870_pos, $I10, $P10) = rx870_cur."!mark_fail"(0)
-    lt rx870_pos, -1, rx870_done
-    eq rx870_pos, -1, rx870_fail
+    rx873_cur."!cursor_pass"(rx873_pos, "semilist")
+    rx873_cur."!cursor_debug"("PASS  ", "semilist", " at pos=", rx873_pos)
+    .return (rx873_cur)
+  rx873_fail:
+.annotate "line", 4
+    (rx873_rep, rx873_pos, $I10, $P10) = rx873_cur."!mark_fail"(0)
+    lt rx873_pos, -1, rx873_done
+    eq rx873_pos, -1, rx873_fail
     jump $I10
-  rx870_done:
-    rx870_cur."!cursor_fail"()
-    rx870_cur."!cursor_debug"("FAIL  ", "postcircumfix:sym<[ ]>")
-    .return (rx870_cur)
+  rx873_done:
+    rx873_cur."!cursor_fail"()
+    rx873_cur."!cursor_debug"("FAIL  ", "semilist")
+    .return (rx873_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__postcircumfix:sym<[ ]>"  :subid("214_1259103982.97329") :method
-.annotate "line", 390
-    $P872 = self."!PREFIX__!subrule"("", "[")
-    new $P873, "ResizablePMCArray"
-    push $P873, $P872
-    .return ($P873)
+.sub "!PREFIX__semilist"  :subid("212_1259177761.22934") :method
+.annotate "line", 4
+    new $P875, "ResizablePMCArray"
+    push $P875, ""
+    .return ($P875)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "postcircumfix:sym<{ }>"  :subid("215_1259103982.97329") :method :outer("11_1259103982.97329")
-.annotate "line", 390
-    .local string rx876_tgt
-    .local int rx876_pos
-    .local int rx876_off
-    .local int rx876_eos
-    .local int rx876_rep
-    .local pmc rx876_cur
-    (rx876_cur, rx876_pos, rx876_tgt) = self."!cursor_start"()
-    rx876_cur."!cursor_debug"("START ", "postcircumfix:sym<{ }>")
-    .lex unicode:"$\x{a2}", rx876_cur
-    .local pmc match
-    .lex "$/", match
-    length rx876_eos, rx876_tgt
-    set rx876_off, 0
-    lt rx876_pos, 2, rx876_start
-    sub rx876_off, rx876_pos, 1
-    substr rx876_tgt, rx876_tgt, rx876_off
-  rx876_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan880_done
-    goto rxscan880_scan
-  rxscan880_loop:
-    ($P10) = rx876_cur."from"()
-    inc $P10
-    set rx876_pos, $P10
-    ge rx876_pos, rx876_eos, rxscan880_done
-  rxscan880_scan:
-    set_addr $I10, rxscan880_loop
-    rx876_cur."!mark_push"(0, rx876_pos, $I10)
-  rxscan880_done:
-.annotate "line", 418
-  # rx literal  "{"
-    add $I11, rx876_pos, 1
-    gt $I11, rx876_eos, rx876_fail
-    sub $I11, rx876_pos, rx876_off
-    substr $S10, rx876_tgt, $I11, 1
-    ne $S10, "{", rx876_fail
-    add rx876_pos, 1
-  # rx subrule "ws" subtype=method negate=
-    rx876_cur."!cursor_pos"(rx876_pos)
-    $P10 = rx876_cur."ws"()
-    unless $P10, rx876_fail
-    rx876_pos = $P10."pos"()
-  # rx subrule "EXPR" subtype=capture negate=
-    rx876_cur."!cursor_pos"(rx876_pos)
-    $P10 = rx876_cur."EXPR"()
-    unless $P10, rx876_fail
-    rx876_cur."!mark_push"(0, -1, 0, $P10)
-    $P10."!cursor_names"("EXPR")
-    rx876_pos = $P10."pos"()
-  # rx literal  "}"
-    add $I11, rx876_pos, 1
-    gt $I11, rx876_eos, rx876_fail
-    sub $I11, rx876_pos, rx876_off
-    substr $S10, rx876_tgt, $I11, 1
-    ne $S10, "}", rx876_fail
-    add rx876_pos, 1
+.sub "infixish"  :subid("213_1259177761.22934") :method :outer("11_1259177761.22934")
+.annotate "line", 400
+    .local string rx880_tgt
+    .local int rx880_pos
+    .local int rx880_off
+    .local int rx880_eos
+    .local int rx880_rep
+    .local pmc rx880_cur
+    (rx880_cur, rx880_pos, rx880_tgt) = self."!cursor_start"()
+    rx880_cur."!cursor_debug"("START ", "infixish")
+    .lex unicode:"$\x{a2}", rx880_cur
+    .local pmc match
+    .lex "$/", match
+    length rx880_eos, rx880_tgt
+    set rx880_off, 0
+    lt rx880_pos, 2, rx880_start
+    sub rx880_off, rx880_pos, 1
+    substr rx880_tgt, rx880_tgt, rx880_off
+  rx880_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan883_done
+    goto rxscan883_scan
+  rxscan883_loop:
+    ($P10) = rx880_cur."from"()
+    inc $P10
+    set rx880_pos, $P10
+    ge rx880_pos, rx880_eos, rxscan883_done
+  rxscan883_scan:
+    set_addr $I10, rxscan883_loop
+    rx880_cur."!mark_push"(0, rx880_pos, $I10)
+  rxscan883_done:
 .annotate "line", 419
-  # rx subrule "O" subtype=capture negate=
-    rx876_cur."!cursor_pos"(rx876_pos)
-    $P10 = rx876_cur."O"("%methodop")
-    unless $P10, rx876_fail
-    rx876_cur."!mark_push"(0, -1, 0, $P10)
-    $P10."!cursor_names"("O")
-    rx876_pos = $P10."pos"()
-.annotate "line", 417
-  # rx pass
-    rx876_cur."!cursor_pass"(rx876_pos, "postcircumfix:sym<{ }>")
-    rx876_cur."!cursor_debug"("PASS  ", "postcircumfix:sym<{ }>", " at pos=", rx876_pos)
-    .return (rx876_cur)
-  rx876_fail:
-.annotate "line", 390
-    (rx876_rep, rx876_pos, $I10, $P10) = rx876_cur."!mark_fail"(0)
-    lt rx876_pos, -1, rx876_done
-    eq rx876_pos, -1, rx876_fail
+  # rx subrule "infixstopper" subtype=zerowidth negate=1
+    rx880_cur."!cursor_pos"(rx880_pos)
+    $P10 = rx880_cur."infixstopper"()
+    if $P10, rx880_fail
+  # rx subrule "infix" subtype=capture negate=
+    rx880_cur."!cursor_pos"(rx880_pos)
+    $P10 = rx880_cur."infix"()
+    unless $P10, rx880_fail
+    rx880_cur."!mark_push"(0, -1, 0, $P10)
+    $P10."!cursor_names"("OPER=infix")
+    rx880_pos = $P10."pos"()
+  # rx pass
+    rx880_cur."!cursor_pass"(rx880_pos, "infixish")
+    rx880_cur."!cursor_debug"("PASS  ", "infixish", " at pos=", rx880_pos)
+    .return (rx880_cur)
+  rx880_fail:
+.annotate "line", 400
+    (rx880_rep, rx880_pos, $I10, $P10) = rx880_cur."!mark_fail"(0)
+    lt rx880_pos, -1, rx880_done
+    eq rx880_pos, -1, rx880_fail
     jump $I10
-  rx876_done:
-    rx876_cur."!cursor_fail"()
-    rx876_cur."!cursor_debug"("FAIL  ", "postcircumfix:sym<{ }>")
-    .return (rx876_cur)
+  rx880_done:
+    rx880_cur."!cursor_fail"()
+    rx880_cur."!cursor_debug"("FAIL  ", "infixish")
+    .return (rx880_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__postcircumfix:sym<{ }>"  :subid("216_1259103982.97329") :method
-.annotate "line", 390
-    $P878 = self."!PREFIX__!subrule"("", "{")
-    new $P879, "ResizablePMCArray"
-    push $P879, $P878
-    .return ($P879)
+.sub "!PREFIX__infixish"  :subid("214_1259177761.22934") :method
+.annotate "line", 400
+    new $P882, "ResizablePMCArray"
+    push $P882, ""
+    .return ($P882)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "postcircumfix:sym<ang>"  :subid("217_1259103982.97329") :method :outer("11_1259103982.97329")
-.annotate "line", 390
-    .local string rx882_tgt
-    .local int rx882_pos
-    .local int rx882_off
-    .local int rx882_eos
-    .local int rx882_rep
-    .local pmc rx882_cur
-    (rx882_cur, rx882_pos, rx882_tgt) = self."!cursor_start"()
-    rx882_cur."!cursor_debug"("START ", "postcircumfix:sym<ang>")
-    .lex unicode:"$\x{a2}", rx882_cur
-    .local pmc match
-    .lex "$/", match
-    length rx882_eos, rx882_tgt
-    set rx882_off, 0
-    lt rx882_pos, 2, rx882_start
-    sub rx882_off, rx882_pos, 1
-    substr rx882_tgt, rx882_tgt, rx882_off
-  rx882_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan885_done
-    goto rxscan885_scan
-  rxscan885_loop:
-    ($P10) = rx882_cur."from"()
-    inc $P10
-    set rx882_pos, $P10
-    ge rx882_pos, rx882_eos, rxscan885_done
-  rxscan885_scan:
-    set_addr $I10, rxscan885_loop
-    rx882_cur."!mark_push"(0, rx882_pos, $I10)
-  rxscan885_done:
-.annotate "line", 423
-  # rx enumcharlist negate=0 zerowidth
-    ge rx882_pos, rx882_eos, rx882_fail
-    sub $I10, rx882_pos, rx882_off
-    substr $S10, rx882_tgt, $I10, 1
-    index $I11, "<", $S10
-    lt $I11, 0, rx882_fail
-  # rx subrule "quote_EXPR" subtype=capture negate=
-    rx882_cur."!cursor_pos"(rx882_pos)
-    $P10 = rx882_cur."quote_EXPR"(":q")
-    unless $P10, rx882_fail
-    rx882_cur."!mark_push"(0, -1, 0, $P10)
-    $P10."!cursor_names"("quote_EXPR")
-    rx882_pos = $P10."pos"()
-.annotate "line", 424
-  # rx subrule "O" subtype=capture negate=
-    rx882_cur."!cursor_pos"(rx882_pos)
-    $P10 = rx882_cur."O"("%methodop")
-    unless $P10, rx882_fail
-    rx882_cur."!mark_push"(0, -1, 0, $P10)
-    $P10."!cursor_names"("O")
-    rx882_pos = $P10."pos"()
-.annotate "line", 422
-  # rx pass
-    rx882_cur."!cursor_pass"(rx882_pos, "postcircumfix:sym<ang>")
-    rx882_cur."!cursor_debug"("PASS  ", "postcircumfix:sym<ang>", " at pos=", rx882_pos)
-    .return (rx882_cur)
-  rx882_fail:
-.annotate "line", 390
-    (rx882_rep, rx882_pos, $I10, $P10) = rx882_cur."!mark_fail"(0)
-    lt rx882_pos, -1, rx882_done
-    eq rx882_pos, -1, rx882_fail
+.sub "infixstopper"  :subid("215_1259177761.22934") :method :outer("11_1259177761.22934")
+.annotate "line", 400
+    .local string rx885_tgt
+    .local int rx885_pos
+    .local int rx885_off
+    .local int rx885_eos
+    .local int rx885_rep
+    .local pmc rx885_cur
+    (rx885_cur, rx885_pos, rx885_tgt) = self."!cursor_start"()
+    rx885_cur."!cursor_debug"("START ", "infixstopper")
+    .lex unicode:"$\x{a2}", rx885_cur
+    .local pmc match
+    .lex "$/", match
+    length rx885_eos, rx885_tgt
+    set rx885_off, 0
+    lt rx885_pos, 2, rx885_start
+    sub rx885_off, rx885_pos, 1
+    substr rx885_tgt, rx885_tgt, rx885_off
+  rx885_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan888_done
+    goto rxscan888_scan
+  rxscan888_loop:
+    ($P10) = rx885_cur."from"()
+    inc $P10
+    set rx885_pos, $P10
+    ge rx885_pos, rx885_eos, rxscan888_done
+  rxscan888_scan:
+    set_addr $I10, rxscan888_loop
+    rx885_cur."!mark_push"(0, rx885_pos, $I10)
+  rxscan888_done:
+.annotate "line", 420
+  # rx subrule "lambda" subtype=zerowidth negate=
+    rx885_cur."!cursor_pos"(rx885_pos)
+    $P10 = rx885_cur."lambda"()
+    unless $P10, rx885_fail
+  # rx pass
+    rx885_cur."!cursor_pass"(rx885_pos, "infixstopper")
+    rx885_cur."!cursor_debug"("PASS  ", "infixstopper", " at pos=", rx885_pos)
+    .return (rx885_cur)
+  rx885_fail:
+.annotate "line", 400
+    (rx885_rep, rx885_pos, $I10, $P10) = rx885_cur."!mark_fail"(0)
+    lt rx885_pos, -1, rx885_done
+    eq rx885_pos, -1, rx885_fail
     jump $I10
-  rx882_done:
-    rx882_cur."!cursor_fail"()
-    rx882_cur."!cursor_debug"("FAIL  ", "postcircumfix:sym<ang>")
-    .return (rx882_cur)
+  rx885_done:
+    rx885_cur."!cursor_fail"()
+    rx885_cur."!cursor_debug"("FAIL  ", "infixstopper")
+    .return (rx885_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__postcircumfix:sym<ang>"  :subid("218_1259103982.97329") :method
-.annotate "line", 390
-    new $P884, "ResizablePMCArray"
-    push $P884, "<"
-    .return ($P884)
+.sub "!PREFIX__infixstopper"  :subid("216_1259177761.22934") :method
+.annotate "line", 400
+    new $P887, "ResizablePMCArray"
+    push $P887, ""
+    .return ($P887)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "postcircumfix:sym<( )>"  :subid("219_1259103982.97329") :method :outer("11_1259103982.97329")
-.annotate "line", 390
-    .local string rx887_tgt
-    .local int rx887_pos
-    .local int rx887_off
-    .local int rx887_eos
-    .local int rx887_rep
-    .local pmc rx887_cur
-    (rx887_cur, rx887_pos, rx887_tgt) = self."!cursor_start"()
-    rx887_cur."!cursor_debug"("START ", "postcircumfix:sym<( )>")
-    .lex unicode:"$\x{a2}", rx887_cur
-    .local pmc match
-    .lex "$/", match
-    length rx887_eos, rx887_tgt
-    set rx887_off, 0
-    lt rx887_pos, 2, rx887_start
-    sub rx887_off, rx887_pos, 1
-    substr rx887_tgt, rx887_tgt, rx887_off
-  rx887_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan891_done
-    goto rxscan891_scan
-  rxscan891_loop:
-    ($P10) = rx887_cur."from"()
-    inc $P10
-    set rx887_pos, $P10
-    ge rx887_pos, rx887_eos, rxscan891_done
-  rxscan891_scan:
-    set_addr $I10, rxscan891_loop
-    rx887_cur."!mark_push"(0, rx887_pos, $I10)
-  rxscan891_done:
-.annotate "line", 428
-  # rx literal  "("
-    add $I11, rx887_pos, 1
-    gt $I11, rx887_eos, rx887_fail
-    sub $I11, rx887_pos, rx887_off
-    substr $S10, rx887_tgt, $I11, 1
-    ne $S10, "(", rx887_fail
-    add rx887_pos, 1
-  # rx subrule "ws" subtype=method negate=
-    rx887_cur."!cursor_pos"(rx887_pos)
-    $P10 = rx887_cur."ws"()
-    unless $P10, rx887_fail
-    rx887_pos = $P10."pos"()
-  # rx subrule "arglist" subtype=capture negate=
-    rx887_cur."!cursor_pos"(rx887_pos)
-    $P10 = rx887_cur."arglist"()
-    unless $P10, rx887_fail
-    rx887_cur."!mark_push"(0, -1, 0, $P10)
-    $P10."!cursor_names"("arglist")
-    rx887_pos = $P10."pos"()
-  # rx literal  ")"
-    add $I11, rx887_pos, 1
-    gt $I11, rx887_eos, rx887_fail
-    sub $I11, rx887_pos, rx887_off
-    substr $S10, rx887_tgt, $I11, 1
-    ne $S10, ")", rx887_fail
-    add rx887_pos, 1
-.annotate "line", 429
+.sub "postcircumfix:sym<[ ]>"  :subid("217_1259177761.22934") :method :outer("11_1259177761.22934")
+.annotate "line", 400
+    .local string rx890_tgt
+    .local int rx890_pos
+    .local int rx890_off
+    .local int rx890_eos
+    .local int rx890_rep
+    .local pmc rx890_cur
+    (rx890_cur, rx890_pos, rx890_tgt) = self."!cursor_start"()
+    rx890_cur."!cursor_debug"("START ", "postcircumfix:sym<[ ]>")
+    .lex unicode:"$\x{a2}", rx890_cur
+    .local pmc match
+    .lex "$/", match
+    length rx890_eos, rx890_tgt
+    set rx890_off, 0
+    lt rx890_pos, 2, rx890_start
+    sub rx890_off, rx890_pos, 1
+    substr rx890_tgt, rx890_tgt, rx890_off
+  rx890_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan894_done
+    goto rxscan894_scan
+  rxscan894_loop:
+    ($P10) = rx890_cur."from"()
+    inc $P10
+    set rx890_pos, $P10
+    ge rx890_pos, rx890_eos, rxscan894_done
+  rxscan894_scan:
+    set_addr $I10, rxscan894_loop
+    rx890_cur."!mark_push"(0, rx890_pos, $I10)
+  rxscan894_done:
+.annotate "line", 423
+  # rx literal  "["
+    add $I11, rx890_pos, 1
+    gt $I11, rx890_eos, rx890_fail
+    sub $I11, rx890_pos, rx890_off
+    substr $S10, rx890_tgt, $I11, 1
+    ne $S10, "[", rx890_fail
+    add rx890_pos, 1
+  # rx subrule "ws" subtype=method negate=
+    rx890_cur."!cursor_pos"(rx890_pos)
+    $P10 = rx890_cur."ws"()
+    unless $P10, rx890_fail
+    rx890_pos = $P10."pos"()
+  # rx subrule "EXPR" subtype=capture negate=
+    rx890_cur."!cursor_pos"(rx890_pos)
+    $P10 = rx890_cur."EXPR"()
+    unless $P10, rx890_fail
+    rx890_cur."!mark_push"(0, -1, 0, $P10)
+    $P10."!cursor_names"("EXPR")
+    rx890_pos = $P10."pos"()
+  # rx literal  "]"
+    add $I11, rx890_pos, 1
+    gt $I11, rx890_eos, rx890_fail
+    sub $I11, rx890_pos, rx890_off
+    substr $S10, rx890_tgt, $I11, 1
+    ne $S10, "]", rx890_fail
+    add rx890_pos, 1
+.annotate "line", 424
   # rx subrule "O" subtype=capture negate=
-    rx887_cur."!cursor_pos"(rx887_pos)
-    $P10 = rx887_cur."O"("%methodop")
-    unless $P10, rx887_fail
-    rx887_cur."!mark_push"(0, -1, 0, $P10)
+    rx890_cur."!cursor_pos"(rx890_pos)
+    $P10 = rx890_cur."O"("%methodop")
+    unless $P10, rx890_fail
+    rx890_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("O")
-    rx887_pos = $P10."pos"()
-.annotate "line", 427
+    rx890_pos = $P10."pos"()
+.annotate "line", 422
   # rx pass
-    rx887_cur."!cursor_pass"(rx887_pos, "postcircumfix:sym<( )>")
-    rx887_cur."!cursor_debug"("PASS  ", "postcircumfix:sym<( )>", " at pos=", rx887_pos)
-    .return (rx887_cur)
-  rx887_fail:
-.annotate "line", 390
-    (rx887_rep, rx887_pos, $I10, $P10) = rx887_cur."!mark_fail"(0)
-    lt rx887_pos, -1, rx887_done
-    eq rx887_pos, -1, rx887_fail
+    rx890_cur."!cursor_pass"(rx890_pos, "postcircumfix:sym<[ ]>")
+    rx890_cur."!cursor_debug"("PASS  ", "postcircumfix:sym<[ ]>", " at pos=", rx890_pos)
+    .return (rx890_cur)
+  rx890_fail:
+.annotate "line", 400
+    (rx890_rep, rx890_pos, $I10, $P10) = rx890_cur."!mark_fail"(0)
+    lt rx890_pos, -1, rx890_done
+    eq rx890_pos, -1, rx890_fail
     jump $I10
-  rx887_done:
-    rx887_cur."!cursor_fail"()
-    rx887_cur."!cursor_debug"("FAIL  ", "postcircumfix:sym<( )>")
-    .return (rx887_cur)
+  rx890_done:
+    rx890_cur."!cursor_fail"()
+    rx890_cur."!cursor_debug"("FAIL  ", "postcircumfix:sym<[ ]>")
+    .return (rx890_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__postcircumfix:sym<( )>"  :subid("220_1259103982.97329") :method
-.annotate "line", 390
-    $P889 = self."!PREFIX__!subrule"("", "(")
-    new $P890, "ResizablePMCArray"
-    push $P890, $P889
-    .return ($P890)
+.sub "!PREFIX__postcircumfix:sym<[ ]>"  :subid("218_1259177761.22934") :method
+.annotate "line", 400
+    $P892 = self."!PREFIX__!subrule"("", "[")
+    new $P893, "ResizablePMCArray"
+    push $P893, $P892
+    .return ($P893)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "postfix:sym<.>"  :subid("221_1259103982.97329") :method :outer("11_1259103982.97329")
-.annotate "line", 390
-    .local string rx893_tgt
-    .local int rx893_pos
-    .local int rx893_off
-    .local int rx893_eos
-    .local int rx893_rep
-    .local pmc rx893_cur
-    (rx893_cur, rx893_pos, rx893_tgt) = self."!cursor_start"()
-    rx893_cur."!cursor_debug"("START ", "postfix:sym<.>")
-    .lex unicode:"$\x{a2}", rx893_cur
-    .local pmc match
-    .lex "$/", match
-    length rx893_eos, rx893_tgt
-    set rx893_off, 0
-    lt rx893_pos, 2, rx893_start
-    sub rx893_off, rx893_pos, 1
-    substr rx893_tgt, rx893_tgt, rx893_off
-  rx893_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan897_done
-    goto rxscan897_scan
-  rxscan897_loop:
-    ($P10) = rx893_cur."from"()
-    inc $P10
-    set rx893_pos, $P10
-    ge rx893_pos, rx893_eos, rxscan897_done
-  rxscan897_scan:
-    set_addr $I10, rxscan897_loop
-    rx893_cur."!mark_push"(0, rx893_pos, $I10)
-  rxscan897_done:
-.annotate "line", 432
-  # rx subrule "dotty" subtype=capture negate=
-    rx893_cur."!cursor_pos"(rx893_pos)
-    $P10 = rx893_cur."dotty"()
-    unless $P10, rx893_fail
-    rx893_cur."!mark_push"(0, -1, 0, $P10)
-    $P10."!cursor_names"("dotty")
-    rx893_pos = $P10."pos"()
+.sub "postcircumfix:sym<{ }>"  :subid("219_1259177761.22934") :method :outer("11_1259177761.22934")
+.annotate "line", 400
+    .local string rx896_tgt
+    .local int rx896_pos
+    .local int rx896_off
+    .local int rx896_eos
+    .local int rx896_rep
+    .local pmc rx896_cur
+    (rx896_cur, rx896_pos, rx896_tgt) = self."!cursor_start"()
+    rx896_cur."!cursor_debug"("START ", "postcircumfix:sym<{ }>")
+    .lex unicode:"$\x{a2}", rx896_cur
+    .local pmc match
+    .lex "$/", match
+    length rx896_eos, rx896_tgt
+    set rx896_off, 0
+    lt rx896_pos, 2, rx896_start
+    sub rx896_off, rx896_pos, 1
+    substr rx896_tgt, rx896_tgt, rx896_off
+  rx896_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan900_done
+    goto rxscan900_scan
+  rxscan900_loop:
+    ($P10) = rx896_cur."from"()
+    inc $P10
+    set rx896_pos, $P10
+    ge rx896_pos, rx896_eos, rxscan900_done
+  rxscan900_scan:
+    set_addr $I10, rxscan900_loop
+    rx896_cur."!mark_push"(0, rx896_pos, $I10)
+  rxscan900_done:
+.annotate "line", 428
+  # rx literal  "{"
+    add $I11, rx896_pos, 1
+    gt $I11, rx896_eos, rx896_fail
+    sub $I11, rx896_pos, rx896_off
+    substr $S10, rx896_tgt, $I11, 1
+    ne $S10, "{", rx896_fail
+    add rx896_pos, 1
+  # rx subrule "ws" subtype=method negate=
+    rx896_cur."!cursor_pos"(rx896_pos)
+    $P10 = rx896_cur."ws"()
+    unless $P10, rx896_fail
+    rx896_pos = $P10."pos"()
+  # rx subrule "EXPR" subtype=capture negate=
+    rx896_cur."!cursor_pos"(rx896_pos)
+    $P10 = rx896_cur."EXPR"()
+    unless $P10, rx896_fail
+    rx896_cur."!mark_push"(0, -1, 0, $P10)
+    $P10."!cursor_names"("EXPR")
+    rx896_pos = $P10."pos"()
+  # rx literal  "}"
+    add $I11, rx896_pos, 1
+    gt $I11, rx896_eos, rx896_fail
+    sub $I11, rx896_pos, rx896_off
+    substr $S10, rx896_tgt, $I11, 1
+    ne $S10, "}", rx896_fail
+    add rx896_pos, 1
+.annotate "line", 429
   # rx subrule "O" subtype=capture negate=
-    rx893_cur."!cursor_pos"(rx893_pos)
-    $P10 = rx893_cur."O"("%methodop")
-    unless $P10, rx893_fail
-    rx893_cur."!mark_push"(0, -1, 0, $P10)
+    rx896_cur."!cursor_pos"(rx896_pos)
+    $P10 = rx896_cur."O"("%methodop")
+    unless $P10, rx896_fail
+    rx896_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("O")
-    rx893_pos = $P10."pos"()
+    rx896_pos = $P10."pos"()
+.annotate "line", 427
   # rx pass
-    rx893_cur."!cursor_pass"(rx893_pos, "postfix:sym<.>")
-    rx893_cur."!cursor_debug"("PASS  ", "postfix:sym<.>", " at pos=", rx893_pos)
-    .return (rx893_cur)
-  rx893_fail:
-.annotate "line", 390
-    (rx893_rep, rx893_pos, $I10, $P10) = rx893_cur."!mark_fail"(0)
-    lt rx893_pos, -1, rx893_done
-    eq rx893_pos, -1, rx893_fail
+    rx896_cur."!cursor_pass"(rx896_pos, "postcircumfix:sym<{ }>")
+    rx896_cur."!cursor_debug"("PASS  ", "postcircumfix:sym<{ }>", " at pos=", rx896_pos)
+    .return (rx896_cur)
+  rx896_fail:
+.annotate "line", 400
+    (rx896_rep, rx896_pos, $I10, $P10) = rx896_cur."!mark_fail"(0)
+    lt rx896_pos, -1, rx896_done
+    eq rx896_pos, -1, rx896_fail
     jump $I10
-  rx893_done:
-    rx893_cur."!cursor_fail"()
-    rx893_cur."!cursor_debug"("FAIL  ", "postfix:sym<.>")
-    .return (rx893_cur)
+  rx896_done:
+    rx896_cur."!cursor_fail"()
+    rx896_cur."!cursor_debug"("FAIL  ", "postcircumfix:sym<{ }>")
+    .return (rx896_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__postfix:sym<.>"  :subid("222_1259103982.97329") :method
-.annotate "line", 390
-    $P895 = self."!PREFIX__!subrule"("dotty", "")
-    new $P896, "ResizablePMCArray"
-    push $P896, $P895
-    .return ($P896)
+.sub "!PREFIX__postcircumfix:sym<{ }>"  :subid("220_1259177761.22934") :method
+.annotate "line", 400
+    $P898 = self."!PREFIX__!subrule"("", "{")
+    new $P899, "ResizablePMCArray"
+    push $P899, $P898
+    .return ($P899)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "prefix:sym<++>"  :subid("223_1259103982.97329") :method :outer("11_1259103982.97329")
-.annotate "line", 390
-    .local string rx899_tgt
-    .local int rx899_pos
-    .local int rx899_off
-    .local int rx899_eos
-    .local int rx899_rep
-    .local pmc rx899_cur
-    (rx899_cur, rx899_pos, rx899_tgt) = self."!cursor_start"()
-    rx899_cur."!cursor_debug"("START ", "prefix:sym<++>")
-    .lex unicode:"$\x{a2}", rx899_cur
-    .local pmc match
-    .lex "$/", match
-    length rx899_eos, rx899_tgt
-    set rx899_off, 0
-    lt rx899_pos, 2, rx899_start
-    sub rx899_off, rx899_pos, 1
-    substr rx899_tgt, rx899_tgt, rx899_off
-  rx899_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan903_done
-    goto rxscan903_scan
-  rxscan903_loop:
-    ($P10) = rx899_cur."from"()
-    inc $P10
-    set rx899_pos, $P10
-    ge rx899_pos, rx899_eos, rxscan903_done
-  rxscan903_scan:
-    set_addr $I10, rxscan903_loop
-    rx899_cur."!mark_push"(0, rx899_pos, $I10)
-  rxscan903_done:
+.sub "postcircumfix:sym<ang>"  :subid("221_1259177761.22934") :method :outer("11_1259177761.22934")
+.annotate "line", 400
+    .local string rx902_tgt
+    .local int rx902_pos
+    .local int rx902_off
+    .local int rx902_eos
+    .local int rx902_rep
+    .local pmc rx902_cur
+    (rx902_cur, rx902_pos, rx902_tgt) = self."!cursor_start"()
+    rx902_cur."!cursor_debug"("START ", "postcircumfix:sym<ang>")
+    .lex unicode:"$\x{a2}", rx902_cur
+    .local pmc match
+    .lex "$/", match
+    length rx902_eos, rx902_tgt
+    set rx902_off, 0
+    lt rx902_pos, 2, rx902_start
+    sub rx902_off, rx902_pos, 1
+    substr rx902_tgt, rx902_tgt, rx902_off
+  rx902_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan905_done
+    goto rxscan905_scan
+  rxscan905_loop:
+    ($P10) = rx902_cur."from"()
+    inc $P10
+    set rx902_pos, $P10
+    ge rx902_pos, rx902_eos, rxscan905_done
+  rxscan905_scan:
+    set_addr $I10, rxscan905_loop
+    rx902_cur."!mark_push"(0, rx902_pos, $I10)
+  rxscan905_done:
+.annotate "line", 433
+  # rx enumcharlist negate=0 zerowidth
+    ge rx902_pos, rx902_eos, rx902_fail
+    sub $I10, rx902_pos, rx902_off
+    substr $S10, rx902_tgt, $I10, 1
+    index $I11, "<", $S10
+    lt $I11, 0, rx902_fail
+  # rx subrule "quote_EXPR" subtype=capture negate=
+    rx902_cur."!cursor_pos"(rx902_pos)
+    $P10 = rx902_cur."quote_EXPR"(":q")
+    unless $P10, rx902_fail
+    rx902_cur."!mark_push"(0, -1, 0, $P10)
+    $P10."!cursor_names"("quote_EXPR")
+    rx902_pos = $P10."pos"()
 .annotate "line", 434
-  # rx subcapture "sym"
-    set_addr $I10, rxcap_904_fail
-    rx899_cur."!mark_push"(0, rx899_pos, $I10)
-  # rx literal  "++"
-    add $I11, rx899_pos, 2
-    gt $I11, rx899_eos, rx899_fail
-    sub $I11, rx899_pos, rx899_off
-    substr $S10, rx899_tgt, $I11, 2
-    ne $S10, "++", rx899_fail
-    add rx899_pos, 2
-    set_addr $I10, rxcap_904_fail
-    ($I12, $I11) = rx899_cur."!mark_peek"($I10)
-    rx899_cur."!cursor_pos"($I11)
-    ($P10) = rx899_cur."!cursor_start"()
-    $P10."!cursor_pass"(rx899_pos, "")
-    rx899_cur."!mark_push"(0, -1, 0, $P10)
-    $P10."!cursor_names"("sym")
-    goto rxcap_904_done
-  rxcap_904_fail:
-    goto rx899_fail
-  rxcap_904_done:
   # rx subrule "O" subtype=capture negate=
-    rx899_cur."!cursor_pos"(rx899_pos)
-    $P10 = rx899_cur."O"("%autoincrement, :pirop<inc>")
-    unless $P10, rx899_fail
-    rx899_cur."!mark_push"(0, -1, 0, $P10)
+    rx902_cur."!cursor_pos"(rx902_pos)
+    $P10 = rx902_cur."O"("%methodop")
+    unless $P10, rx902_fail
+    rx902_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("O")
-    rx899_pos = $P10."pos"()
+    rx902_pos = $P10."pos"()
+.annotate "line", 432
   # rx pass
-    rx899_cur."!cursor_pass"(rx899_pos, "prefix:sym<++>")
-    rx899_cur."!cursor_debug"("PASS  ", "prefix:sym<++>", " at pos=", rx899_pos)
-    .return (rx899_cur)
-  rx899_fail:
-.annotate "line", 390
-    (rx899_rep, rx899_pos, $I10, $P10) = rx899_cur."!mark_fail"(0)
-    lt rx899_pos, -1, rx899_done
-    eq rx899_pos, -1, rx899_fail
+    rx902_cur."!cursor_pass"(rx902_pos, "postcircumfix:sym<ang>")
+    rx902_cur."!cursor_debug"("PASS  ", "postcircumfix:sym<ang>", " at pos=", rx902_pos)
+    .return (rx902_cur)
+  rx902_fail:
+.annotate "line", 400
+    (rx902_rep, rx902_pos, $I10, $P10) = rx902_cur."!mark_fail"(0)
+    lt rx902_pos, -1, rx902_done
+    eq rx902_pos, -1, rx902_fail
     jump $I10
-  rx899_done:
-    rx899_cur."!cursor_fail"()
-    rx899_cur."!cursor_debug"("FAIL  ", "prefix:sym<++>")
-    .return (rx899_cur)
+  rx902_done:
+    rx902_cur."!cursor_fail"()
+    rx902_cur."!cursor_debug"("FAIL  ", "postcircumfix:sym<ang>")
+    .return (rx902_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__prefix:sym<++>"  :subid("224_1259103982.97329") :method
-.annotate "line", 390
-    $P901 = self."!PREFIX__!subrule"("O", "++")
-    new $P902, "ResizablePMCArray"
-    push $P902, $P901
-    .return ($P902)
+.sub "!PREFIX__postcircumfix:sym<ang>"  :subid("222_1259177761.22934") :method
+.annotate "line", 400
+    new $P904, "ResizablePMCArray"
+    push $P904, "<"
+    .return ($P904)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "prefix:sym<-->"  :subid("225_1259103982.97329") :method :outer("11_1259103982.97329")
-.annotate "line", 390
-    .local string rx906_tgt
-    .local int rx906_pos
-    .local int rx906_off
-    .local int rx906_eos
-    .local int rx906_rep
-    .local pmc rx906_cur
-    (rx906_cur, rx906_pos, rx906_tgt) = self."!cursor_start"()
-    rx906_cur."!cursor_debug"("START ", "prefix:sym<-->")
-    .lex unicode:"$\x{a2}", rx906_cur
-    .local pmc match
-    .lex "$/", match
-    length rx906_eos, rx906_tgt
-    set rx906_off, 0
-    lt rx906_pos, 2, rx906_start
-    sub rx906_off, rx906_pos, 1
-    substr rx906_tgt, rx906_tgt, rx906_off
-  rx906_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan910_done
-    goto rxscan910_scan
-  rxscan910_loop:
-    ($P10) = rx906_cur."from"()
-    inc $P10
-    set rx906_pos, $P10
-    ge rx906_pos, rx906_eos, rxscan910_done
-  rxscan910_scan:
-    set_addr $I10, rxscan910_loop
-    rx906_cur."!mark_push"(0, rx906_pos, $I10)
-  rxscan910_done:
-.annotate "line", 435
-  # rx subcapture "sym"
-    set_addr $I10, rxcap_911_fail
-    rx906_cur."!mark_push"(0, rx906_pos, $I10)
-  # rx literal  "--"
-    add $I11, rx906_pos, 2
-    gt $I11, rx906_eos, rx906_fail
-    sub $I11, rx906_pos, rx906_off
-    substr $S10, rx906_tgt, $I11, 2
-    ne $S10, "--", rx906_fail
-    add rx906_pos, 2
-    set_addr $I10, rxcap_911_fail
-    ($I12, $I11) = rx906_cur."!mark_peek"($I10)
-    rx906_cur."!cursor_pos"($I11)
-    ($P10) = rx906_cur."!cursor_start"()
-    $P10."!cursor_pass"(rx906_pos, "")
-    rx906_cur."!mark_push"(0, -1, 0, $P10)
-    $P10."!cursor_names"("sym")
-    goto rxcap_911_done
-  rxcap_911_fail:
-    goto rx906_fail
-  rxcap_911_done:
+.sub "postcircumfix:sym<( )>"  :subid("223_1259177761.22934") :method :outer("11_1259177761.22934")
+.annotate "line", 400
+    .local string rx907_tgt
+    .local int rx907_pos
+    .local int rx907_off
+    .local int rx907_eos
+    .local int rx907_rep
+    .local pmc rx907_cur
+    (rx907_cur, rx907_pos, rx907_tgt) = self."!cursor_start"()
+    rx907_cur."!cursor_debug"("START ", "postcircumfix:sym<( )>")
+    .lex unicode:"$\x{a2}", rx907_cur
+    .local pmc match
+    .lex "$/", match
+    length rx907_eos, rx907_tgt
+    set rx907_off, 0
+    lt rx907_pos, 2, rx907_start
+    sub rx907_off, rx907_pos, 1
+    substr rx907_tgt, rx907_tgt, rx907_off
+  rx907_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan911_done
+    goto rxscan911_scan
+  rxscan911_loop:
+    ($P10) = rx907_cur."from"()
+    inc $P10
+    set rx907_pos, $P10
+    ge rx907_pos, rx907_eos, rxscan911_done
+  rxscan911_scan:
+    set_addr $I10, rxscan911_loop
+    rx907_cur."!mark_push"(0, rx907_pos, $I10)
+  rxscan911_done:
+.annotate "line", 438
+  # rx literal  "("
+    add $I11, rx907_pos, 1
+    gt $I11, rx907_eos, rx907_fail
+    sub $I11, rx907_pos, rx907_off
+    substr $S10, rx907_tgt, $I11, 1
+    ne $S10, "(", rx907_fail
+    add rx907_pos, 1
+  # rx subrule "ws" subtype=method negate=
+    rx907_cur."!cursor_pos"(rx907_pos)
+    $P10 = rx907_cur."ws"()
+    unless $P10, rx907_fail
+    rx907_pos = $P10."pos"()
+  # rx subrule "arglist" subtype=capture negate=
+    rx907_cur."!cursor_pos"(rx907_pos)
+    $P10 = rx907_cur."arglist"()
+    unless $P10, rx907_fail
+    rx907_cur."!mark_push"(0, -1, 0, $P10)
+    $P10."!cursor_names"("arglist")
+    rx907_pos = $P10."pos"()
+  # rx literal  ")"
+    add $I11, rx907_pos, 1
+    gt $I11, rx907_eos, rx907_fail
+    sub $I11, rx907_pos, rx907_off
+    substr $S10, rx907_tgt, $I11, 1
+    ne $S10, ")", rx907_fail
+    add rx907_pos, 1
+.annotate "line", 439
   # rx subrule "O" subtype=capture negate=
-    rx906_cur."!cursor_pos"(rx906_pos)
-    $P10 = rx906_cur."O"("%autoincrement, :pirop<dec>")
-    unless $P10, rx906_fail
-    rx906_cur."!mark_push"(0, -1, 0, $P10)
+    rx907_cur."!cursor_pos"(rx907_pos)
+    $P10 = rx907_cur."O"("%methodop")
+    unless $P10, rx907_fail
+    rx907_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("O")
-    rx906_pos = $P10."pos"()
+    rx907_pos = $P10."pos"()
+.annotate "line", 437
   # rx pass
-    rx906_cur."!cursor_pass"(rx906_pos, "prefix:sym<-->")
-    rx906_cur."!cursor_debug"("PASS  ", "prefix:sym<-->", " at pos=", rx906_pos)
-    .return (rx906_cur)
-  rx906_fail:
-.annotate "line", 390
-    (rx906_rep, rx906_pos, $I10, $P10) = rx906_cur."!mark_fail"(0)
-    lt rx906_pos, -1, rx906_done
-    eq rx906_pos, -1, rx906_fail
+    rx907_cur."!cursor_pass"(rx907_pos, "postcircumfix:sym<( )>")
+    rx907_cur."!cursor_debug"("PASS  ", "postcircumfix:sym<( )>", " at pos=", rx907_pos)
+    .return (rx907_cur)
+  rx907_fail:
+.annotate "line", 400
+    (rx907_rep, rx907_pos, $I10, $P10) = rx907_cur."!mark_fail"(0)
+    lt rx907_pos, -1, rx907_done
+    eq rx907_pos, -1, rx907_fail
     jump $I10
-  rx906_done:
-    rx906_cur."!cursor_fail"()
-    rx906_cur."!cursor_debug"("FAIL  ", "prefix:sym<-->")
-    .return (rx906_cur)
+  rx907_done:
+    rx907_cur."!cursor_fail"()
+    rx907_cur."!cursor_debug"("FAIL  ", "postcircumfix:sym<( )>")
+    .return (rx907_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__prefix:sym<-->"  :subid("226_1259103982.97329") :method
-.annotate "line", 390
-    $P908 = self."!PREFIX__!subrule"("O", "--")
-    new $P909, "ResizablePMCArray"
-    push $P909, $P908
-    .return ($P909)
+.sub "!PREFIX__postcircumfix:sym<( )>"  :subid("224_1259177761.22934") :method
+.annotate "line", 400
+    $P909 = self."!PREFIX__!subrule"("", "(")
+    new $P910, "ResizablePMCArray"
+    push $P910, $P909
+    .return ($P910)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "postfix:sym<++>"  :subid("227_1259103982.97329") :method :outer("11_1259103982.97329")
-.annotate "line", 390
+.sub "postfix:sym<.>"  :subid("225_1259177761.22934") :method :outer("11_1259177761.22934")
+.annotate "line", 400
     .local string rx913_tgt
     .local int rx913_pos
     .local int rx913_off
@@ -11016,7 +10983,7 @@
     .local int rx913_rep
     .local pmc rx913_cur
     (rx913_cur, rx913_pos, rx913_tgt) = self."!cursor_start"()
-    rx913_cur."!cursor_debug"("START ", "postfix:sym<++>")
+    rx913_cur."!cursor_debug"("START ", "postfix:sym<.>")
     .lex unicode:"$\x{a2}", rx913_cur
     .local pmc match
     .lex "$/", match
@@ -11038,57 +11005,43 @@
     set_addr $I10, rxscan917_loop
     rx913_cur."!mark_push"(0, rx913_pos, $I10)
   rxscan917_done:
-.annotate "line", 438
-  # rx subcapture "sym"
-    set_addr $I10, rxcap_918_fail
-    rx913_cur."!mark_push"(0, rx913_pos, $I10)
-  # rx literal  "++"
-    add $I11, rx913_pos, 2
-    gt $I11, rx913_eos, rx913_fail
-    sub $I11, rx913_pos, rx913_off
-    substr $S10, rx913_tgt, $I11, 2
-    ne $S10, "++", rx913_fail
-    add rx913_pos, 2
-    set_addr $I10, rxcap_918_fail
-    ($I12, $I11) = rx913_cur."!mark_peek"($I10)
-    rx913_cur."!cursor_pos"($I11)
-    ($P10) = rx913_cur."!cursor_start"()
-    $P10."!cursor_pass"(rx913_pos, "")
+.annotate "line", 442
+  # rx subrule "dotty" subtype=capture negate=
+    rx913_cur."!cursor_pos"(rx913_pos)
+    $P10 = rx913_cur."dotty"()
+    unless $P10, rx913_fail
     rx913_cur."!mark_push"(0, -1, 0, $P10)
-    $P10."!cursor_names"("sym")
-    goto rxcap_918_done
-  rxcap_918_fail:
-    goto rx913_fail
-  rxcap_918_done:
+    $P10."!cursor_names"("dotty")
+    rx913_pos = $P10."pos"()
   # rx subrule "O" subtype=capture negate=
     rx913_cur."!cursor_pos"(rx913_pos)
-    $P10 = rx913_cur."O"("%autoincrement")
+    $P10 = rx913_cur."O"("%methodop")
     unless $P10, rx913_fail
     rx913_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("O")
     rx913_pos = $P10."pos"()
   # rx pass
-    rx913_cur."!cursor_pass"(rx913_pos, "postfix:sym<++>")
-    rx913_cur."!cursor_debug"("PASS  ", "postfix:sym<++>", " at pos=", rx913_pos)
+    rx913_cur."!cursor_pass"(rx913_pos, "postfix:sym<.>")
+    rx913_cur."!cursor_debug"("PASS  ", "postfix:sym<.>", " at pos=", rx913_pos)
     .return (rx913_cur)
   rx913_fail:
-.annotate "line", 390
+.annotate "line", 400
     (rx913_rep, rx913_pos, $I10, $P10) = rx913_cur."!mark_fail"(0)
     lt rx913_pos, -1, rx913_done
     eq rx913_pos, -1, rx913_fail
     jump $I10
   rx913_done:
     rx913_cur."!cursor_fail"()
-    rx913_cur."!cursor_debug"("FAIL  ", "postfix:sym<++>")
+    rx913_cur."!cursor_debug"("FAIL  ", "postfix:sym<.>")
     .return (rx913_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__postfix:sym<++>"  :subid("228_1259103982.97329") :method
-.annotate "line", 390
-    $P915 = self."!PREFIX__!subrule"("O", "++")
+.sub "!PREFIX__postfix:sym<.>"  :subid("226_1259177761.22934") :method
+.annotate "line", 400
+    $P915 = self."!PREFIX__!subrule"("dotty", "")
     new $P916, "ResizablePMCArray"
     push $P916, $P915
     .return ($P916)
@@ -11096,462 +11049,453 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "postfix:sym<-->"  :subid("229_1259103982.97329") :method :outer("11_1259103982.97329")
-.annotate "line", 390
-    .local string rx920_tgt
-    .local int rx920_pos
-    .local int rx920_off
-    .local int rx920_eos
-    .local int rx920_rep
-    .local pmc rx920_cur
-    (rx920_cur, rx920_pos, rx920_tgt) = self."!cursor_start"()
-    rx920_cur."!cursor_debug"("START ", "postfix:sym<-->")
-    .lex unicode:"$\x{a2}", rx920_cur
-    .local pmc match
-    .lex "$/", match
-    length rx920_eos, rx920_tgt
-    set rx920_off, 0
-    lt rx920_pos, 2, rx920_start
-    sub rx920_off, rx920_pos, 1
-    substr rx920_tgt, rx920_tgt, rx920_off
-  rx920_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan924_done
-    goto rxscan924_scan
-  rxscan924_loop:
-    ($P10) = rx920_cur."from"()
-    inc $P10
-    set rx920_pos, $P10
-    ge rx920_pos, rx920_eos, rxscan924_done
-  rxscan924_scan:
-    set_addr $I10, rxscan924_loop
-    rx920_cur."!mark_push"(0, rx920_pos, $I10)
-  rxscan924_done:
-.annotate "line", 439
+.sub "prefix:sym<++>"  :subid("227_1259177761.22934") :method :outer("11_1259177761.22934")
+.annotate "line", 400
+    .local string rx919_tgt
+    .local int rx919_pos
+    .local int rx919_off
+    .local int rx919_eos
+    .local int rx919_rep
+    .local pmc rx919_cur
+    (rx919_cur, rx919_pos, rx919_tgt) = self."!cursor_start"()
+    rx919_cur."!cursor_debug"("START ", "prefix:sym<++>")
+    .lex unicode:"$\x{a2}", rx919_cur
+    .local pmc match
+    .lex "$/", match
+    length rx919_eos, rx919_tgt
+    set rx919_off, 0
+    lt rx919_pos, 2, rx919_start
+    sub rx919_off, rx919_pos, 1
+    substr rx919_tgt, rx919_tgt, rx919_off
+  rx919_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan923_done
+    goto rxscan923_scan
+  rxscan923_loop:
+    ($P10) = rx919_cur."from"()
+    inc $P10
+    set rx919_pos, $P10
+    ge rx919_pos, rx919_eos, rxscan923_done
+  rxscan923_scan:
+    set_addr $I10, rxscan923_loop
+    rx919_cur."!mark_push"(0, rx919_pos, $I10)
+  rxscan923_done:
+.annotate "line", 444
   # rx subcapture "sym"
-    set_addr $I10, rxcap_925_fail
-    rx920_cur."!mark_push"(0, rx920_pos, $I10)
-  # rx literal  "--"
-    add $I11, rx920_pos, 2
-    gt $I11, rx920_eos, rx920_fail
-    sub $I11, rx920_pos, rx920_off
-    substr $S10, rx920_tgt, $I11, 2
-    ne $S10, "--", rx920_fail
-    add rx920_pos, 2
-    set_addr $I10, rxcap_925_fail
-    ($I12, $I11) = rx920_cur."!mark_peek"($I10)
-    rx920_cur."!cursor_pos"($I11)
-    ($P10) = rx920_cur."!cursor_start"()
-    $P10."!cursor_pass"(rx920_pos, "")
-    rx920_cur."!mark_push"(0, -1, 0, $P10)
+    set_addr $I10, rxcap_924_fail
+    rx919_cur."!mark_push"(0, rx919_pos, $I10)
+  # rx literal  "++"
+    add $I11, rx919_pos, 2
+    gt $I11, rx919_eos, rx919_fail
+    sub $I11, rx919_pos, rx919_off
+    substr $S10, rx919_tgt, $I11, 2
+    ne $S10, "++", rx919_fail
+    add rx919_pos, 2
+    set_addr $I10, rxcap_924_fail
+    ($I12, $I11) = rx919_cur."!mark_peek"($I10)
+    rx919_cur."!cursor_pos"($I11)
+    ($P10) = rx919_cur."!cursor_start"()
+    $P10."!cursor_pass"(rx919_pos, "")
+    rx919_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("sym")
-    goto rxcap_925_done
-  rxcap_925_fail:
-    goto rx920_fail
-  rxcap_925_done:
+    goto rxcap_924_done
+  rxcap_924_fail:
+    goto rx919_fail
+  rxcap_924_done:
   # rx subrule "O" subtype=capture negate=
-    rx920_cur."!cursor_pos"(rx920_pos)
-    $P10 = rx920_cur."O"("%autoincrement")
-    unless $P10, rx920_fail
-    rx920_cur."!mark_push"(0, -1, 0, $P10)
+    rx919_cur."!cursor_pos"(rx919_pos)
+    $P10 = rx919_cur."O"("%autoincrement, :pirop<inc>")
+    unless $P10, rx919_fail
+    rx919_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("O")
-    rx920_pos = $P10."pos"()
+    rx919_pos = $P10."pos"()
   # rx pass
-    rx920_cur."!cursor_pass"(rx920_pos, "postfix:sym<-->")
-    rx920_cur."!cursor_debug"("PASS  ", "postfix:sym<-->", " at pos=", rx920_pos)
-    .return (rx920_cur)
-  rx920_fail:
-.annotate "line", 390
-    (rx920_rep, rx920_pos, $I10, $P10) = rx920_cur."!mark_fail"(0)
-    lt rx920_pos, -1, rx920_done
-    eq rx920_pos, -1, rx920_fail
+    rx919_cur."!cursor_pass"(rx919_pos, "prefix:sym<++>")
+    rx919_cur."!cursor_debug"("PASS  ", "prefix:sym<++>", " at pos=", rx919_pos)
+    .return (rx919_cur)
+  rx919_fail:
+.annotate "line", 400
+    (rx919_rep, rx919_pos, $I10, $P10) = rx919_cur."!mark_fail"(0)
+    lt rx919_pos, -1, rx919_done
+    eq rx919_pos, -1, rx919_fail
     jump $I10
-  rx920_done:
-    rx920_cur."!cursor_fail"()
-    rx920_cur."!cursor_debug"("FAIL  ", "postfix:sym<-->")
-    .return (rx920_cur)
+  rx919_done:
+    rx919_cur."!cursor_fail"()
+    rx919_cur."!cursor_debug"("FAIL  ", "prefix:sym<++>")
+    .return (rx919_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__postfix:sym<-->"  :subid("230_1259103982.97329") :method
-.annotate "line", 390
-    $P922 = self."!PREFIX__!subrule"("O", "--")
-    new $P923, "ResizablePMCArray"
-    push $P923, $P922
-    .return ($P923)
+.sub "!PREFIX__prefix:sym<++>"  :subid("228_1259177761.22934") :method
+.annotate "line", 400
+    $P921 = self."!PREFIX__!subrule"("O", "++")
+    new $P922, "ResizablePMCArray"
+    push $P922, $P921
+    .return ($P922)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "infix:sym<**>"  :subid("231_1259103982.97329") :method :outer("11_1259103982.97329")
-.annotate "line", 390
-    .local string rx927_tgt
-    .local int rx927_pos
-    .local int rx927_off
-    .local int rx927_eos
-    .local int rx927_rep
-    .local pmc rx927_cur
-    (rx927_cur, rx927_pos, rx927_tgt) = self."!cursor_start"()
-    rx927_cur."!cursor_debug"("START ", "infix:sym<**>")
-    .lex unicode:"$\x{a2}", rx927_cur
-    .local pmc match
-    .lex "$/", match
-    length rx927_eos, rx927_tgt
-    set rx927_off, 0
-    lt rx927_pos, 2, rx927_start
-    sub rx927_off, rx927_pos, 1
-    substr rx927_tgt, rx927_tgt, rx927_off
-  rx927_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan931_done
-    goto rxscan931_scan
-  rxscan931_loop:
-    ($P10) = rx927_cur."from"()
-    inc $P10
-    set rx927_pos, $P10
-    ge rx927_pos, rx927_eos, rxscan931_done
-  rxscan931_scan:
-    set_addr $I10, rxscan931_loop
-    rx927_cur."!mark_push"(0, rx927_pos, $I10)
-  rxscan931_done:
-.annotate "line", 441
+.sub "prefix:sym<-->"  :subid("229_1259177761.22934") :method :outer("11_1259177761.22934")
+.annotate "line", 400
+    .local string rx926_tgt
+    .local int rx926_pos
+    .local int rx926_off
+    .local int rx926_eos
+    .local int rx926_rep
+    .local pmc rx926_cur
+    (rx926_cur, rx926_pos, rx926_tgt) = self."!cursor_start"()
+    rx926_cur."!cursor_debug"("START ", "prefix:sym<-->")
+    .lex unicode:"$\x{a2}", rx926_cur
+    .local pmc match
+    .lex "$/", match
+    length rx926_eos, rx926_tgt
+    set rx926_off, 0
+    lt rx926_pos, 2, rx926_start
+    sub rx926_off, rx926_pos, 1
+    substr rx926_tgt, rx926_tgt, rx926_off
+  rx926_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan930_done
+    goto rxscan930_scan
+  rxscan930_loop:
+    ($P10) = rx926_cur."from"()
+    inc $P10
+    set rx926_pos, $P10
+    ge rx926_pos, rx926_eos, rxscan930_done
+  rxscan930_scan:
+    set_addr $I10, rxscan930_loop
+    rx926_cur."!mark_push"(0, rx926_pos, $I10)
+  rxscan930_done:
+.annotate "line", 445
   # rx subcapture "sym"
-    set_addr $I10, rxcap_932_fail
-    rx927_cur."!mark_push"(0, rx927_pos, $I10)
-  # rx literal  "**"
-    add $I11, rx927_pos, 2
-    gt $I11, rx927_eos, rx927_fail
-    sub $I11, rx927_pos, rx927_off
-    substr $S10, rx927_tgt, $I11, 2
-    ne $S10, "**", rx927_fail
-    add rx927_pos, 2
-    set_addr $I10, rxcap_932_fail
-    ($I12, $I11) = rx927_cur."!mark_peek"($I10)
-    rx927_cur."!cursor_pos"($I11)
-    ($P10) = rx927_cur."!cursor_start"()
-    $P10."!cursor_pass"(rx927_pos, "")
-    rx927_cur."!mark_push"(0, -1, 0, $P10)
+    set_addr $I10, rxcap_931_fail
+    rx926_cur."!mark_push"(0, rx926_pos, $I10)
+  # rx literal  "--"
+    add $I11, rx926_pos, 2
+    gt $I11, rx926_eos, rx926_fail
+    sub $I11, rx926_pos, rx926_off
+    substr $S10, rx926_tgt, $I11, 2
+    ne $S10, "--", rx926_fail
+    add rx926_pos, 2
+    set_addr $I10, rxcap_931_fail
+    ($I12, $I11) = rx926_cur."!mark_peek"($I10)
+    rx926_cur."!cursor_pos"($I11)
+    ($P10) = rx926_cur."!cursor_start"()
+    $P10."!cursor_pass"(rx926_pos, "")
+    rx926_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("sym")
-    goto rxcap_932_done
-  rxcap_932_fail:
-    goto rx927_fail
-  rxcap_932_done:
+    goto rxcap_931_done
+  rxcap_931_fail:
+    goto rx926_fail
+  rxcap_931_done:
   # rx subrule "O" subtype=capture negate=
-    rx927_cur."!cursor_pos"(rx927_pos)
-    $P10 = rx927_cur."O"("%exponentiation, :pirop<pow>")
-    unless $P10, rx927_fail
-    rx927_cur."!mark_push"(0, -1, 0, $P10)
+    rx926_cur."!cursor_pos"(rx926_pos)
+    $P10 = rx926_cur."O"("%autoincrement, :pirop<dec>")
+    unless $P10, rx926_fail
+    rx926_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("O")
-    rx927_pos = $P10."pos"()
+    rx926_pos = $P10."pos"()
   # rx pass
-    rx927_cur."!cursor_pass"(rx927_pos, "infix:sym<**>")
-    rx927_cur."!cursor_debug"("PASS  ", "infix:sym<**>", " at pos=", rx927_pos)
-    .return (rx927_cur)
-  rx927_fail:
-.annotate "line", 390
-    (rx927_rep, rx927_pos, $I10, $P10) = rx927_cur."!mark_fail"(0)
-    lt rx927_pos, -1, rx927_done
-    eq rx927_pos, -1, rx927_fail
+    rx926_cur."!cursor_pass"(rx926_pos, "prefix:sym<-->")
+    rx926_cur."!cursor_debug"("PASS  ", "prefix:sym<-->", " at pos=", rx926_pos)
+    .return (rx926_cur)
+  rx926_fail:
+.annotate "line", 400
+    (rx926_rep, rx926_pos, $I10, $P10) = rx926_cur."!mark_fail"(0)
+    lt rx926_pos, -1, rx926_done
+    eq rx926_pos, -1, rx926_fail
     jump $I10
-  rx927_done:
-    rx927_cur."!cursor_fail"()
-    rx927_cur."!cursor_debug"("FAIL  ", "infix:sym<**>")
-    .return (rx927_cur)
+  rx926_done:
+    rx926_cur."!cursor_fail"()
+    rx926_cur."!cursor_debug"("FAIL  ", "prefix:sym<-->")
+    .return (rx926_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__infix:sym<**>"  :subid("232_1259103982.97329") :method
-.annotate "line", 390
-    $P929 = self."!PREFIX__!subrule"("O", "**")
-    new $P930, "ResizablePMCArray"
-    push $P930, $P929
-    .return ($P930)
+.sub "!PREFIX__prefix:sym<-->"  :subid("230_1259177761.22934") :method
+.annotate "line", 400
+    $P928 = self."!PREFIX__!subrule"("O", "--")
+    new $P929, "ResizablePMCArray"
+    push $P929, $P928
+    .return ($P929)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "prefix:sym<+>"  :subid("233_1259103982.97329") :method :outer("11_1259103982.97329")
-.annotate "line", 390
-    .local string rx934_tgt
-    .local int rx934_pos
-    .local int rx934_off
-    .local int rx934_eos
-    .local int rx934_rep
-    .local pmc rx934_cur
-    (rx934_cur, rx934_pos, rx934_tgt) = self."!cursor_start"()
-    rx934_cur."!cursor_debug"("START ", "prefix:sym<+>")
-    .lex unicode:"$\x{a2}", rx934_cur
-    .local pmc match
-    .lex "$/", match
-    length rx934_eos, rx934_tgt
-    set rx934_off, 0
-    lt rx934_pos, 2, rx934_start
-    sub rx934_off, rx934_pos, 1
-    substr rx934_tgt, rx934_tgt, rx934_off
-  rx934_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan938_done
-    goto rxscan938_scan
-  rxscan938_loop:
-    ($P10) = rx934_cur."from"()
-    inc $P10
-    set rx934_pos, $P10
-    ge rx934_pos, rx934_eos, rxscan938_done
-  rxscan938_scan:
-    set_addr $I10, rxscan938_loop
-    rx934_cur."!mark_push"(0, rx934_pos, $I10)
-  rxscan938_done:
-.annotate "line", 443
+.sub "postfix:sym<++>"  :subid("231_1259177761.22934") :method :outer("11_1259177761.22934")
+.annotate "line", 400
+    .local string rx933_tgt
+    .local int rx933_pos
+    .local int rx933_off
+    .local int rx933_eos
+    .local int rx933_rep
+    .local pmc rx933_cur
+    (rx933_cur, rx933_pos, rx933_tgt) = self."!cursor_start"()
+    rx933_cur."!cursor_debug"("START ", "postfix:sym<++>")
+    .lex unicode:"$\x{a2}", rx933_cur
+    .local pmc match
+    .lex "$/", match
+    length rx933_eos, rx933_tgt
+    set rx933_off, 0
+    lt rx933_pos, 2, rx933_start
+    sub rx933_off, rx933_pos, 1
+    substr rx933_tgt, rx933_tgt, rx933_off
+  rx933_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan937_done
+    goto rxscan937_scan
+  rxscan937_loop:
+    ($P10) = rx933_cur."from"()
+    inc $P10
+    set rx933_pos, $P10
+    ge rx933_pos, rx933_eos, rxscan937_done
+  rxscan937_scan:
+    set_addr $I10, rxscan937_loop
+    rx933_cur."!mark_push"(0, rx933_pos, $I10)
+  rxscan937_done:
+.annotate "line", 448
   # rx subcapture "sym"
-    set_addr $I10, rxcap_939_fail
-    rx934_cur."!mark_push"(0, rx934_pos, $I10)
-  # rx literal  "+"
-    add $I11, rx934_pos, 1
-    gt $I11, rx934_eos, rx934_fail
-    sub $I11, rx934_pos, rx934_off
-    substr $S10, rx934_tgt, $I11, 1
-    ne $S10, "+", rx934_fail
-    add rx934_pos, 1
-    set_addr $I10, rxcap_939_fail
-    ($I12, $I11) = rx934_cur."!mark_peek"($I10)
-    rx934_cur."!cursor_pos"($I11)
-    ($P10) = rx934_cur."!cursor_start"()
-    $P10."!cursor_pass"(rx934_pos, "")
-    rx934_cur."!mark_push"(0, -1, 0, $P10)
+    set_addr $I10, rxcap_938_fail
+    rx933_cur."!mark_push"(0, rx933_pos, $I10)
+  # rx literal  "++"
+    add $I11, rx933_pos, 2
+    gt $I11, rx933_eos, rx933_fail
+    sub $I11, rx933_pos, rx933_off
+    substr $S10, rx933_tgt, $I11, 2
+    ne $S10, "++", rx933_fail
+    add rx933_pos, 2
+    set_addr $I10, rxcap_938_fail
+    ($I12, $I11) = rx933_cur."!mark_peek"($I10)
+    rx933_cur."!cursor_pos"($I11)
+    ($P10) = rx933_cur."!cursor_start"()
+    $P10."!cursor_pass"(rx933_pos, "")
+    rx933_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("sym")
-    goto rxcap_939_done
-  rxcap_939_fail:
-    goto rx934_fail
-  rxcap_939_done:
+    goto rxcap_938_done
+  rxcap_938_fail:
+    goto rx933_fail
+  rxcap_938_done:
   # rx subrule "O" subtype=capture negate=
-    rx934_cur."!cursor_pos"(rx934_pos)
-    $P10 = rx934_cur."O"("%symbolic_unary, :pirop<set N*>")
-    unless $P10, rx934_fail
-    rx934_cur."!mark_push"(0, -1, 0, $P10)
+    rx933_cur."!cursor_pos"(rx933_pos)
+    $P10 = rx933_cur."O"("%autoincrement")
+    unless $P10, rx933_fail
+    rx933_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("O")
-    rx934_pos = $P10."pos"()
+    rx933_pos = $P10."pos"()
   # rx pass
-    rx934_cur."!cursor_pass"(rx934_pos, "prefix:sym<+>")
-    rx934_cur."!cursor_debug"("PASS  ", "prefix:sym<+>", " at pos=", rx934_pos)
-    .return (rx934_cur)
-  rx934_fail:
-.annotate "line", 390
-    (rx934_rep, rx934_pos, $I10, $P10) = rx934_cur."!mark_fail"(0)
-    lt rx934_pos, -1, rx934_done
-    eq rx934_pos, -1, rx934_fail
+    rx933_cur."!cursor_pass"(rx933_pos, "postfix:sym<++>")
+    rx933_cur."!cursor_debug"("PASS  ", "postfix:sym<++>", " at pos=", rx933_pos)
+    .return (rx933_cur)
+  rx933_fail:
+.annotate "line", 400
+    (rx933_rep, rx933_pos, $I10, $P10) = rx933_cur."!mark_fail"(0)
+    lt rx933_pos, -1, rx933_done
+    eq rx933_pos, -1, rx933_fail
     jump $I10
-  rx934_done:
-    rx934_cur."!cursor_fail"()
-    rx934_cur."!cursor_debug"("FAIL  ", "prefix:sym<+>")
-    .return (rx934_cur)
+  rx933_done:
+    rx933_cur."!cursor_fail"()
+    rx933_cur."!cursor_debug"("FAIL  ", "postfix:sym<++>")
+    .return (rx933_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__prefix:sym<+>"  :subid("234_1259103982.97329") :method
-.annotate "line", 390
-    $P936 = self."!PREFIX__!subrule"("O", "+")
-    new $P937, "ResizablePMCArray"
-    push $P937, $P936
-    .return ($P937)
+.sub "!PREFIX__postfix:sym<++>"  :subid("232_1259177761.22934") :method
+.annotate "line", 400
+    $P935 = self."!PREFIX__!subrule"("O", "++")
+    new $P936, "ResizablePMCArray"
+    push $P936, $P935
+    .return ($P936)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "prefix:sym<~>"  :subid("235_1259103982.97329") :method :outer("11_1259103982.97329")
-.annotate "line", 390
-    .local string rx941_tgt
-    .local int rx941_pos
-    .local int rx941_off
-    .local int rx941_eos
-    .local int rx941_rep
-    .local pmc rx941_cur
-    (rx941_cur, rx941_pos, rx941_tgt) = self."!cursor_start"()
-    rx941_cur."!cursor_debug"("START ", "prefix:sym<~>")
-    .lex unicode:"$\x{a2}", rx941_cur
-    .local pmc match
-    .lex "$/", match
-    length rx941_eos, rx941_tgt
-    set rx941_off, 0
-    lt rx941_pos, 2, rx941_start
-    sub rx941_off, rx941_pos, 1
-    substr rx941_tgt, rx941_tgt, rx941_off
-  rx941_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan945_done
-    goto rxscan945_scan
-  rxscan945_loop:
-    ($P10) = rx941_cur."from"()
-    inc $P10
-    set rx941_pos, $P10
-    ge rx941_pos, rx941_eos, rxscan945_done
-  rxscan945_scan:
-    set_addr $I10, rxscan945_loop
-    rx941_cur."!mark_push"(0, rx941_pos, $I10)
-  rxscan945_done:
-.annotate "line", 444
+.sub "postfix:sym<-->"  :subid("233_1259177761.22934") :method :outer("11_1259177761.22934")
+.annotate "line", 400
+    .local string rx940_tgt
+    .local int rx940_pos
+    .local int rx940_off
+    .local int rx940_eos
+    .local int rx940_rep
+    .local pmc rx940_cur
+    (rx940_cur, rx940_pos, rx940_tgt) = self."!cursor_start"()
+    rx940_cur."!cursor_debug"("START ", "postfix:sym<-->")
+    .lex unicode:"$\x{a2}", rx940_cur
+    .local pmc match
+    .lex "$/", match
+    length rx940_eos, rx940_tgt
+    set rx940_off, 0
+    lt rx940_pos, 2, rx940_start
+    sub rx940_off, rx940_pos, 1
+    substr rx940_tgt, rx940_tgt, rx940_off
+  rx940_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan944_done
+    goto rxscan944_scan
+  rxscan944_loop:
+    ($P10) = rx940_cur."from"()
+    inc $P10
+    set rx940_pos, $P10
+    ge rx940_pos, rx940_eos, rxscan944_done
+  rxscan944_scan:
+    set_addr $I10, rxscan944_loop
+    rx940_cur."!mark_push"(0, rx940_pos, $I10)
+  rxscan944_done:
+.annotate "line", 449
   # rx subcapture "sym"
-    set_addr $I10, rxcap_946_fail
-    rx941_cur."!mark_push"(0, rx941_pos, $I10)
-  # rx literal  "~"
-    add $I11, rx941_pos, 1
-    gt $I11, rx941_eos, rx941_fail
-    sub $I11, rx941_pos, rx941_off
-    substr $S10, rx941_tgt, $I11, 1
-    ne $S10, "~", rx941_fail
-    add rx941_pos, 1
-    set_addr $I10, rxcap_946_fail
-    ($I12, $I11) = rx941_cur."!mark_peek"($I10)
-    rx941_cur."!cursor_pos"($I11)
-    ($P10) = rx941_cur."!cursor_start"()
-    $P10."!cursor_pass"(rx941_pos, "")
-    rx941_cur."!mark_push"(0, -1, 0, $P10)
+    set_addr $I10, rxcap_945_fail
+    rx940_cur."!mark_push"(0, rx940_pos, $I10)
+  # rx literal  "--"
+    add $I11, rx940_pos, 2
+    gt $I11, rx940_eos, rx940_fail
+    sub $I11, rx940_pos, rx940_off
+    substr $S10, rx940_tgt, $I11, 2
+    ne $S10, "--", rx940_fail
+    add rx940_pos, 2
+    set_addr $I10, rxcap_945_fail
+    ($I12, $I11) = rx940_cur."!mark_peek"($I10)
+    rx940_cur."!cursor_pos"($I11)
+    ($P10) = rx940_cur."!cursor_start"()
+    $P10."!cursor_pass"(rx940_pos, "")
+    rx940_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("sym")
-    goto rxcap_946_done
-  rxcap_946_fail:
-    goto rx941_fail
-  rxcap_946_done:
+    goto rxcap_945_done
+  rxcap_945_fail:
+    goto rx940_fail
+  rxcap_945_done:
   # rx subrule "O" subtype=capture negate=
-    rx941_cur."!cursor_pos"(rx941_pos)
-    $P10 = rx941_cur."O"("%symbolic_unary, :pirop<set S*>")
-    unless $P10, rx941_fail
-    rx941_cur."!mark_push"(0, -1, 0, $P10)
+    rx940_cur."!cursor_pos"(rx940_pos)
+    $P10 = rx940_cur."O"("%autoincrement")
+    unless $P10, rx940_fail
+    rx940_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("O")
-    rx941_pos = $P10."pos"()
+    rx940_pos = $P10."pos"()
   # rx pass
-    rx941_cur."!cursor_pass"(rx941_pos, "prefix:sym<~>")
-    rx941_cur."!cursor_debug"("PASS  ", "prefix:sym<~>", " at pos=", rx941_pos)
-    .return (rx941_cur)
-  rx941_fail:
-.annotate "line", 390
-    (rx941_rep, rx941_pos, $I10, $P10) = rx941_cur."!mark_fail"(0)
-    lt rx941_pos, -1, rx941_done
-    eq rx941_pos, -1, rx941_fail
+    rx940_cur."!cursor_pass"(rx940_pos, "postfix:sym<-->")
+    rx940_cur."!cursor_debug"("PASS  ", "postfix:sym<-->", " at pos=", rx940_pos)
+    .return (rx940_cur)
+  rx940_fail:
+.annotate "line", 400
+    (rx940_rep, rx940_pos, $I10, $P10) = rx940_cur."!mark_fail"(0)
+    lt rx940_pos, -1, rx940_done
+    eq rx940_pos, -1, rx940_fail
     jump $I10
-  rx941_done:
-    rx941_cur."!cursor_fail"()
-    rx941_cur."!cursor_debug"("FAIL  ", "prefix:sym<~>")
-    .return (rx941_cur)
+  rx940_done:
+    rx940_cur."!cursor_fail"()
+    rx940_cur."!cursor_debug"("FAIL  ", "postfix:sym<-->")
+    .return (rx940_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__prefix:sym<~>"  :subid("236_1259103982.97329") :method
-.annotate "line", 390
-    $P943 = self."!PREFIX__!subrule"("O", "~")
-    new $P944, "ResizablePMCArray"
-    push $P944, $P943
-    .return ($P944)
+.sub "!PREFIX__postfix:sym<-->"  :subid("234_1259177761.22934") :method
+.annotate "line", 400
+    $P942 = self."!PREFIX__!subrule"("O", "--")
+    new $P943, "ResizablePMCArray"
+    push $P943, $P942
+    .return ($P943)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "prefix:sym<->"  :subid("237_1259103982.97329") :method :outer("11_1259103982.97329")
-.annotate "line", 390
-    .local string rx948_tgt
-    .local int rx948_pos
-    .local int rx948_off
-    .local int rx948_eos
-    .local int rx948_rep
-    .local pmc rx948_cur
-    (rx948_cur, rx948_pos, rx948_tgt) = self."!cursor_start"()
-    rx948_cur."!cursor_debug"("START ", "prefix:sym<->")
-    .lex unicode:"$\x{a2}", rx948_cur
-    .local pmc match
-    .lex "$/", match
-    length rx948_eos, rx948_tgt
-    set rx948_off, 0
-    lt rx948_pos, 2, rx948_start
-    sub rx948_off, rx948_pos, 1
-    substr rx948_tgt, rx948_tgt, rx948_off
-  rx948_start:
+.sub "infix:sym<**>"  :subid("235_1259177761.22934") :method :outer("11_1259177761.22934")
+.annotate "line", 400
+    .local string rx947_tgt
+    .local int rx947_pos
+    .local int rx947_off
+    .local int rx947_eos
+    .local int rx947_rep
+    .local pmc rx947_cur
+    (rx947_cur, rx947_pos, rx947_tgt) = self."!cursor_start"()
+    rx947_cur."!cursor_debug"("START ", "infix:sym<**>")
+    .lex unicode:"$\x{a2}", rx947_cur
+    .local pmc match
+    .lex "$/", match
+    length rx947_eos, rx947_tgt
+    set rx947_off, 0
+    lt rx947_pos, 2, rx947_start
+    sub rx947_off, rx947_pos, 1
+    substr rx947_tgt, rx947_tgt, rx947_off
+  rx947_start:
     $I10 = self.'from'()
     ne $I10, -1, rxscan951_done
     goto rxscan951_scan
   rxscan951_loop:
-    ($P10) = rx948_cur."from"()
+    ($P10) = rx947_cur."from"()
     inc $P10
-    set rx948_pos, $P10
-    ge rx948_pos, rx948_eos, rxscan951_done
+    set rx947_pos, $P10
+    ge rx947_pos, rx947_eos, rxscan951_done
   rxscan951_scan:
     set_addr $I10, rxscan951_loop
-    rx948_cur."!mark_push"(0, rx948_pos, $I10)
+    rx947_cur."!mark_push"(0, rx947_pos, $I10)
   rxscan951_done:
-.annotate "line", 445
+.annotate "line", 451
   # rx subcapture "sym"
     set_addr $I10, rxcap_952_fail
-    rx948_cur."!mark_push"(0, rx948_pos, $I10)
-  # rx literal  "-"
-    add $I11, rx948_pos, 1
-    gt $I11, rx948_eos, rx948_fail
-    sub $I11, rx948_pos, rx948_off
-    substr $S10, rx948_tgt, $I11, 1
-    ne $S10, "-", rx948_fail
-    add rx948_pos, 1
+    rx947_cur."!mark_push"(0, rx947_pos, $I10)
+  # rx literal  "**"
+    add $I11, rx947_pos, 2
+    gt $I11, rx947_eos, rx947_fail
+    sub $I11, rx947_pos, rx947_off
+    substr $S10, rx947_tgt, $I11, 2
+    ne $S10, "**", rx947_fail
+    add rx947_pos, 2
     set_addr $I10, rxcap_952_fail
-    ($I12, $I11) = rx948_cur."!mark_peek"($I10)
-    rx948_cur."!cursor_pos"($I11)
-    ($P10) = rx948_cur."!cursor_start"()
-    $P10."!cursor_pass"(rx948_pos, "")
-    rx948_cur."!mark_push"(0, -1, 0, $P10)
+    ($I12, $I11) = rx947_cur."!mark_peek"($I10)
+    rx947_cur."!cursor_pos"($I11)
+    ($P10) = rx947_cur."!cursor_start"()
+    $P10."!cursor_pass"(rx947_pos, "")
+    rx947_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("sym")
     goto rxcap_952_done
   rxcap_952_fail:
-    goto rx948_fail
+    goto rx947_fail
   rxcap_952_done:
-  # rx enumcharlist negate=1 zerowidth
-    ge rx948_pos, rx948_eos, rx948_fail
-    sub $I10, rx948_pos, rx948_off
-    substr $S10, rx948_tgt, $I10, 1
-    index $I11, ">", $S10
-    ge $I11, 0, rx948_fail
-  # rx subrule "number" subtype=zerowidth negate=1
-    rx948_cur."!cursor_pos"(rx948_pos)
-    $P10 = rx948_cur."number"()
-    if $P10, rx948_fail
   # rx subrule "O" subtype=capture negate=
-    rx948_cur."!cursor_pos"(rx948_pos)
-    $P10 = rx948_cur."O"("%symbolic_unary, :pirop<neg>")
-    unless $P10, rx948_fail
-    rx948_cur."!mark_push"(0, -1, 0, $P10)
+    rx947_cur."!cursor_pos"(rx947_pos)
+    $P10 = rx947_cur."O"("%exponentiation, :pirop<pow>")
+    unless $P10, rx947_fail
+    rx947_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("O")
-    rx948_pos = $P10."pos"()
+    rx947_pos = $P10."pos"()
   # rx pass
-    rx948_cur."!cursor_pass"(rx948_pos, "prefix:sym<->")
-    rx948_cur."!cursor_debug"("PASS  ", "prefix:sym<->", " at pos=", rx948_pos)
-    .return (rx948_cur)
-  rx948_fail:
-.annotate "line", 390
-    (rx948_rep, rx948_pos, $I10, $P10) = rx948_cur."!mark_fail"(0)
-    lt rx948_pos, -1, rx948_done
-    eq rx948_pos, -1, rx948_fail
+    rx947_cur."!cursor_pass"(rx947_pos, "infix:sym<**>")
+    rx947_cur."!cursor_debug"("PASS  ", "infix:sym<**>", " at pos=", rx947_pos)
+    .return (rx947_cur)
+  rx947_fail:
+.annotate "line", 400
+    (rx947_rep, rx947_pos, $I10, $P10) = rx947_cur."!mark_fail"(0)
+    lt rx947_pos, -1, rx947_done
+    eq rx947_pos, -1, rx947_fail
     jump $I10
-  rx948_done:
-    rx948_cur."!cursor_fail"()
-    rx948_cur."!cursor_debug"("FAIL  ", "prefix:sym<->")
-    .return (rx948_cur)
+  rx947_done:
+    rx947_cur."!cursor_fail"()
+    rx947_cur."!cursor_debug"("FAIL  ", "infix:sym<**>")
+    .return (rx947_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__prefix:sym<->"  :subid("238_1259103982.97329") :method
-.annotate "line", 390
+.sub "!PREFIX__infix:sym<**>"  :subid("236_1259177761.22934") :method
+.annotate "line", 400
+    $P949 = self."!PREFIX__!subrule"("O", "**")
     new $P950, "ResizablePMCArray"
-    push $P950, "-"
+    push $P950, $P949
     .return ($P950)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "prefix:sym<?>"  :subid("239_1259103982.97329") :method :outer("11_1259103982.97329")
-.annotate "line", 390
+.sub "prefix:sym<+>"  :subid("237_1259177761.22934") :method :outer("11_1259177761.22934")
+.annotate "line", 400
     .local string rx954_tgt
     .local int rx954_pos
     .local int rx954_off
@@ -11559,7 +11503,7 @@
     .local int rx954_rep
     .local pmc rx954_cur
     (rx954_cur, rx954_pos, rx954_tgt) = self."!cursor_start"()
-    rx954_cur."!cursor_debug"("START ", "prefix:sym<?>")
+    rx954_cur."!cursor_debug"("START ", "prefix:sym<+>")
     .lex unicode:"$\x{a2}", rx954_cur
     .local pmc match
     .lex "$/", match
@@ -11581,16 +11525,16 @@
     set_addr $I10, rxscan958_loop
     rx954_cur."!mark_push"(0, rx954_pos, $I10)
   rxscan958_done:
-.annotate "line", 446
+.annotate "line", 453
   # rx subcapture "sym"
     set_addr $I10, rxcap_959_fail
     rx954_cur."!mark_push"(0, rx954_pos, $I10)
-  # rx literal  "?"
+  # rx literal  "+"
     add $I11, rx954_pos, 1
     gt $I11, rx954_eos, rx954_fail
     sub $I11, rx954_pos, rx954_off
     substr $S10, rx954_tgt, $I11, 1
-    ne $S10, "?", rx954_fail
+    ne $S10, "+", rx954_fail
     add rx954_pos, 1
     set_addr $I10, rxcap_959_fail
     ($I12, $I11) = rx954_cur."!mark_peek"($I10)
@@ -11605,33 +11549,33 @@
   rxcap_959_done:
   # rx subrule "O" subtype=capture negate=
     rx954_cur."!cursor_pos"(rx954_pos)
-    $P10 = rx954_cur."O"("%symbolic_unary, :pirop<istrue>")
+    $P10 = rx954_cur."O"("%symbolic_unary, :pirop<set N*>")
     unless $P10, rx954_fail
     rx954_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("O")
     rx954_pos = $P10."pos"()
   # rx pass
-    rx954_cur."!cursor_pass"(rx954_pos, "prefix:sym<?>")
-    rx954_cur."!cursor_debug"("PASS  ", "prefix:sym<?>", " at pos=", rx954_pos)
+    rx954_cur."!cursor_pass"(rx954_pos, "prefix:sym<+>")
+    rx954_cur."!cursor_debug"("PASS  ", "prefix:sym<+>", " at pos=", rx954_pos)
     .return (rx954_cur)
   rx954_fail:
-.annotate "line", 390
+.annotate "line", 400
     (rx954_rep, rx954_pos, $I10, $P10) = rx954_cur."!mark_fail"(0)
     lt rx954_pos, -1, rx954_done
     eq rx954_pos, -1, rx954_fail
     jump $I10
   rx954_done:
     rx954_cur."!cursor_fail"()
-    rx954_cur."!cursor_debug"("FAIL  ", "prefix:sym<?>")
+    rx954_cur."!cursor_debug"("FAIL  ", "prefix:sym<+>")
     .return (rx954_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__prefix:sym<?>"  :subid("240_1259103982.97329") :method
-.annotate "line", 390
-    $P956 = self."!PREFIX__!subrule"("O", "?")
+.sub "!PREFIX__prefix:sym<+>"  :subid("238_1259177761.22934") :method
+.annotate "line", 400
+    $P956 = self."!PREFIX__!subrule"("O", "+")
     new $P957, "ResizablePMCArray"
     push $P957, $P956
     .return ($P957)
@@ -11639,8 +11583,8 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "prefix:sym<!>"  :subid("241_1259103982.97329") :method :outer("11_1259103982.97329")
-.annotate "line", 390
+.sub "prefix:sym<~>"  :subid("239_1259177761.22934") :method :outer("11_1259177761.22934")
+.annotate "line", 400
     .local string rx961_tgt
     .local int rx961_pos
     .local int rx961_off
@@ -11648,7 +11592,7 @@
     .local int rx961_rep
     .local pmc rx961_cur
     (rx961_cur, rx961_pos, rx961_tgt) = self."!cursor_start"()
-    rx961_cur."!cursor_debug"("START ", "prefix:sym<!>")
+    rx961_cur."!cursor_debug"("START ", "prefix:sym<~>")
     .lex unicode:"$\x{a2}", rx961_cur
     .local pmc match
     .lex "$/", match
@@ -11670,16 +11614,16 @@
     set_addr $I10, rxscan965_loop
     rx961_cur."!mark_push"(0, rx961_pos, $I10)
   rxscan965_done:
-.annotate "line", 447
+.annotate "line", 454
   # rx subcapture "sym"
     set_addr $I10, rxcap_966_fail
     rx961_cur."!mark_push"(0, rx961_pos, $I10)
-  # rx literal  "!"
+  # rx literal  "~"
     add $I11, rx961_pos, 1
     gt $I11, rx961_eos, rx961_fail
     sub $I11, rx961_pos, rx961_off
     substr $S10, rx961_tgt, $I11, 1
-    ne $S10, "!", rx961_fail
+    ne $S10, "~", rx961_fail
     add rx961_pos, 1
     set_addr $I10, rxcap_966_fail
     ($I12, $I11) = rx961_cur."!mark_peek"($I10)
@@ -11694,33 +11638,33 @@
   rxcap_966_done:
   # rx subrule "O" subtype=capture negate=
     rx961_cur."!cursor_pos"(rx961_pos)
-    $P10 = rx961_cur."O"("%symbolic_unary, :pirop<isfalse>")
+    $P10 = rx961_cur."O"("%symbolic_unary, :pirop<set S*>")
     unless $P10, rx961_fail
     rx961_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("O")
     rx961_pos = $P10."pos"()
   # rx pass
-    rx961_cur."!cursor_pass"(rx961_pos, "prefix:sym<!>")
-    rx961_cur."!cursor_debug"("PASS  ", "prefix:sym<!>", " at pos=", rx961_pos)
+    rx961_cur."!cursor_pass"(rx961_pos, "prefix:sym<~>")
+    rx961_cur."!cursor_debug"("PASS  ", "prefix:sym<~>", " at pos=", rx961_pos)
     .return (rx961_cur)
   rx961_fail:
-.annotate "line", 390
+.annotate "line", 400
     (rx961_rep, rx961_pos, $I10, $P10) = rx961_cur."!mark_fail"(0)
     lt rx961_pos, -1, rx961_done
     eq rx961_pos, -1, rx961_fail
     jump $I10
   rx961_done:
     rx961_cur."!cursor_fail"()
-    rx961_cur."!cursor_debug"("FAIL  ", "prefix:sym<!>")
+    rx961_cur."!cursor_debug"("FAIL  ", "prefix:sym<~>")
     .return (rx961_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__prefix:sym<!>"  :subid("242_1259103982.97329") :method
-.annotate "line", 390
-    $P963 = self."!PREFIX__!subrule"("O", "!")
+.sub "!PREFIX__prefix:sym<~>"  :subid("240_1259177761.22934") :method
+.annotate "line", 400
+    $P963 = self."!PREFIX__!subrule"("O", "~")
     new $P964, "ResizablePMCArray"
     push $P964, $P963
     .return ($P964)
@@ -11728,8 +11672,8 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "prefix:sym<|>"  :subid("243_1259103982.97329") :method :outer("11_1259103982.97329")
-.annotate "line", 390
+.sub "prefix:sym<->"  :subid("241_1259177761.22934") :method :outer("11_1259177761.22934")
+.annotate "line", 400
     .local string rx968_tgt
     .local int rx968_pos
     .local int rx968_off
@@ -11737,7 +11681,7 @@
     .local int rx968_rep
     .local pmc rx968_cur
     (rx968_cur, rx968_pos, rx968_tgt) = self."!cursor_start"()
-    rx968_cur."!cursor_debug"("START ", "prefix:sym<|>")
+    rx968_cur."!cursor_debug"("START ", "prefix:sym<->")
     .lex unicode:"$\x{a2}", rx968_cur
     .local pmc match
     .lex "$/", match
@@ -11748,2134 +11692,2133 @@
     substr rx968_tgt, rx968_tgt, rx968_off
   rx968_start:
     $I10 = self.'from'()
-    ne $I10, -1, rxscan972_done
-    goto rxscan972_scan
-  rxscan972_loop:
+    ne $I10, -1, rxscan971_done
+    goto rxscan971_scan
+  rxscan971_loop:
     ($P10) = rx968_cur."from"()
     inc $P10
     set rx968_pos, $P10
-    ge rx968_pos, rx968_eos, rxscan972_done
-  rxscan972_scan:
-    set_addr $I10, rxscan972_loop
+    ge rx968_pos, rx968_eos, rxscan971_done
+  rxscan971_scan:
+    set_addr $I10, rxscan971_loop
     rx968_cur."!mark_push"(0, rx968_pos, $I10)
-  rxscan972_done:
-.annotate "line", 448
+  rxscan971_done:
+.annotate "line", 455
   # rx subcapture "sym"
-    set_addr $I10, rxcap_973_fail
+    set_addr $I10, rxcap_972_fail
     rx968_cur."!mark_push"(0, rx968_pos, $I10)
-  # rx literal  "|"
+  # rx literal  "-"
     add $I11, rx968_pos, 1
     gt $I11, rx968_eos, rx968_fail
     sub $I11, rx968_pos, rx968_off
     substr $S10, rx968_tgt, $I11, 1
-    ne $S10, "|", rx968_fail
+    ne $S10, "-", rx968_fail
     add rx968_pos, 1
-    set_addr $I10, rxcap_973_fail
+    set_addr $I10, rxcap_972_fail
     ($I12, $I11) = rx968_cur."!mark_peek"($I10)
     rx968_cur."!cursor_pos"($I11)
     ($P10) = rx968_cur."!cursor_start"()
     $P10."!cursor_pass"(rx968_pos, "")
     rx968_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("sym")
-    goto rxcap_973_done
-  rxcap_973_fail:
+    goto rxcap_972_done
+  rxcap_972_fail:
     goto rx968_fail
-  rxcap_973_done:
+  rxcap_972_done:
+  # rx enumcharlist negate=1 zerowidth
+    ge rx968_pos, rx968_eos, rx968_fail
+    sub $I10, rx968_pos, rx968_off
+    substr $S10, rx968_tgt, $I10, 1
+    index $I11, ">", $S10
+    ge $I11, 0, rx968_fail
+  # rx subrule "number" subtype=zerowidth negate=1
+    rx968_cur."!cursor_pos"(rx968_pos)
+    $P10 = rx968_cur."number"()
+    if $P10, rx968_fail
   # rx subrule "O" subtype=capture negate=
     rx968_cur."!cursor_pos"(rx968_pos)
-    $P10 = rx968_cur."O"("%symbolic_unary")
+    $P10 = rx968_cur."O"("%symbolic_unary, :pirop<neg>")
     unless $P10, rx968_fail
     rx968_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("O")
     rx968_pos = $P10."pos"()
   # rx pass
-    rx968_cur."!cursor_pass"(rx968_pos, "prefix:sym<|>")
-    rx968_cur."!cursor_debug"("PASS  ", "prefix:sym<|>", " at pos=", rx968_pos)
+    rx968_cur."!cursor_pass"(rx968_pos, "prefix:sym<->")
+    rx968_cur."!cursor_debug"("PASS  ", "prefix:sym<->", " at pos=", rx968_pos)
     .return (rx968_cur)
   rx968_fail:
-.annotate "line", 390
+.annotate "line", 400
     (rx968_rep, rx968_pos, $I10, $P10) = rx968_cur."!mark_fail"(0)
     lt rx968_pos, -1, rx968_done
     eq rx968_pos, -1, rx968_fail
     jump $I10
   rx968_done:
     rx968_cur."!cursor_fail"()
-    rx968_cur."!cursor_debug"("FAIL  ", "prefix:sym<|>")
+    rx968_cur."!cursor_debug"("FAIL  ", "prefix:sym<->")
     .return (rx968_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__prefix:sym<|>"  :subid("244_1259103982.97329") :method
-.annotate "line", 390
-    $P970 = self."!PREFIX__!subrule"("O", "|")
-    new $P971, "ResizablePMCArray"
-    push $P971, $P970
-    .return ($P971)
+.sub "!PREFIX__prefix:sym<->"  :subid("242_1259177761.22934") :method
+.annotate "line", 400
+    new $P970, "ResizablePMCArray"
+    push $P970, "-"
+    .return ($P970)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "infix:sym<*>"  :subid("245_1259103982.97329") :method :outer("11_1259103982.97329")
-.annotate "line", 390
-    .local string rx975_tgt
-    .local int rx975_pos
-    .local int rx975_off
-    .local int rx975_eos
-    .local int rx975_rep
-    .local pmc rx975_cur
-    (rx975_cur, rx975_pos, rx975_tgt) = self."!cursor_start"()
-    rx975_cur."!cursor_debug"("START ", "infix:sym<*>")
-    .lex unicode:"$\x{a2}", rx975_cur
-    .local pmc match
-    .lex "$/", match
-    length rx975_eos, rx975_tgt
-    set rx975_off, 0
-    lt rx975_pos, 2, rx975_start
-    sub rx975_off, rx975_pos, 1
-    substr rx975_tgt, rx975_tgt, rx975_off
-  rx975_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan979_done
-    goto rxscan979_scan
-  rxscan979_loop:
-    ($P10) = rx975_cur."from"()
-    inc $P10
-    set rx975_pos, $P10
-    ge rx975_pos, rx975_eos, rxscan979_done
-  rxscan979_scan:
-    set_addr $I10, rxscan979_loop
-    rx975_cur."!mark_push"(0, rx975_pos, $I10)
-  rxscan979_done:
-.annotate "line", 450
+.sub "prefix:sym<?>"  :subid("243_1259177761.22934") :method :outer("11_1259177761.22934")
+.annotate "line", 400
+    .local string rx974_tgt
+    .local int rx974_pos
+    .local int rx974_off
+    .local int rx974_eos
+    .local int rx974_rep
+    .local pmc rx974_cur
+    (rx974_cur, rx974_pos, rx974_tgt) = self."!cursor_start"()
+    rx974_cur."!cursor_debug"("START ", "prefix:sym<?>")
+    .lex unicode:"$\x{a2}", rx974_cur
+    .local pmc match
+    .lex "$/", match
+    length rx974_eos, rx974_tgt
+    set rx974_off, 0
+    lt rx974_pos, 2, rx974_start
+    sub rx974_off, rx974_pos, 1
+    substr rx974_tgt, rx974_tgt, rx974_off
+  rx974_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan978_done
+    goto rxscan978_scan
+  rxscan978_loop:
+    ($P10) = rx974_cur."from"()
+    inc $P10
+    set rx974_pos, $P10
+    ge rx974_pos, rx974_eos, rxscan978_done
+  rxscan978_scan:
+    set_addr $I10, rxscan978_loop
+    rx974_cur."!mark_push"(0, rx974_pos, $I10)
+  rxscan978_done:
+.annotate "line", 456
   # rx subcapture "sym"
-    set_addr $I10, rxcap_980_fail
-    rx975_cur."!mark_push"(0, rx975_pos, $I10)
-  # rx literal  "*"
-    add $I11, rx975_pos, 1
-    gt $I11, rx975_eos, rx975_fail
-    sub $I11, rx975_pos, rx975_off
-    substr $S10, rx975_tgt, $I11, 1
-    ne $S10, "*", rx975_fail
-    add rx975_pos, 1
-    set_addr $I10, rxcap_980_fail
-    ($I12, $I11) = rx975_cur."!mark_peek"($I10)
-    rx975_cur."!cursor_pos"($I11)
-    ($P10) = rx975_cur."!cursor_start"()
-    $P10."!cursor_pass"(rx975_pos, "")
-    rx975_cur."!mark_push"(0, -1, 0, $P10)
+    set_addr $I10, rxcap_979_fail
+    rx974_cur."!mark_push"(0, rx974_pos, $I10)
+  # rx literal  "?"
+    add $I11, rx974_pos, 1
+    gt $I11, rx974_eos, rx974_fail
+    sub $I11, rx974_pos, rx974_off
+    substr $S10, rx974_tgt, $I11, 1
+    ne $S10, "?", rx974_fail
+    add rx974_pos, 1
+    set_addr $I10, rxcap_979_fail
+    ($I12, $I11) = rx974_cur."!mark_peek"($I10)
+    rx974_cur."!cursor_pos"($I11)
+    ($P10) = rx974_cur."!cursor_start"()
+    $P10."!cursor_pass"(rx974_pos, "")
+    rx974_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("sym")
-    goto rxcap_980_done
-  rxcap_980_fail:
-    goto rx975_fail
-  rxcap_980_done:
+    goto rxcap_979_done
+  rxcap_979_fail:
+    goto rx974_fail
+  rxcap_979_done:
   # rx subrule "O" subtype=capture negate=
-    rx975_cur."!cursor_pos"(rx975_pos)
-    $P10 = rx975_cur."O"("%multiplicative, :pirop<mul>")
-    unless $P10, rx975_fail
-    rx975_cur."!mark_push"(0, -1, 0, $P10)
+    rx974_cur."!cursor_pos"(rx974_pos)
+    $P10 = rx974_cur."O"("%symbolic_unary, :pirop<istrue>")
+    unless $P10, rx974_fail
+    rx974_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("O")
-    rx975_pos = $P10."pos"()
+    rx974_pos = $P10."pos"()
   # rx pass
-    rx975_cur."!cursor_pass"(rx975_pos, "infix:sym<*>")
-    rx975_cur."!cursor_debug"("PASS  ", "infix:sym<*>", " at pos=", rx975_pos)
-    .return (rx975_cur)
-  rx975_fail:
-.annotate "line", 390
-    (rx975_rep, rx975_pos, $I10, $P10) = rx975_cur."!mark_fail"(0)
-    lt rx975_pos, -1, rx975_done
-    eq rx975_pos, -1, rx975_fail
+    rx974_cur."!cursor_pass"(rx974_pos, "prefix:sym<?>")
+    rx974_cur."!cursor_debug"("PASS  ", "prefix:sym<?>", " at pos=", rx974_pos)
+    .return (rx974_cur)
+  rx974_fail:
+.annotate "line", 400
+    (rx974_rep, rx974_pos, $I10, $P10) = rx974_cur."!mark_fail"(0)
+    lt rx974_pos, -1, rx974_done
+    eq rx974_pos, -1, rx974_fail
     jump $I10
-  rx975_done:
-    rx975_cur."!cursor_fail"()
-    rx975_cur."!cursor_debug"("FAIL  ", "infix:sym<*>")
-    .return (rx975_cur)
+  rx974_done:
+    rx974_cur."!cursor_fail"()
+    rx974_cur."!cursor_debug"("FAIL  ", "prefix:sym<?>")
+    .return (rx974_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__infix:sym<*>"  :subid("246_1259103982.97329") :method
-.annotate "line", 390
-    $P977 = self."!PREFIX__!subrule"("O", "*")
-    new $P978, "ResizablePMCArray"
-    push $P978, $P977
-    .return ($P978)
+.sub "!PREFIX__prefix:sym<?>"  :subid("244_1259177761.22934") :method
+.annotate "line", 400
+    $P976 = self."!PREFIX__!subrule"("O", "?")
+    new $P977, "ResizablePMCArray"
+    push $P977, $P976
+    .return ($P977)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "infix:sym</>"  :subid("247_1259103982.97329") :method :outer("11_1259103982.97329")
-.annotate "line", 390
-    .local string rx982_tgt
-    .local int rx982_pos
-    .local int rx982_off
-    .local int rx982_eos
-    .local int rx982_rep
-    .local pmc rx982_cur
-    (rx982_cur, rx982_pos, rx982_tgt) = self."!cursor_start"()
-    rx982_cur."!cursor_debug"("START ", "infix:sym</>")
-    .lex unicode:"$\x{a2}", rx982_cur
-    .local pmc match
-    .lex "$/", match
-    length rx982_eos, rx982_tgt
-    set rx982_off, 0
-    lt rx982_pos, 2, rx982_start
-    sub rx982_off, rx982_pos, 1
-    substr rx982_tgt, rx982_tgt, rx982_off
-  rx982_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan986_done
-    goto rxscan986_scan
-  rxscan986_loop:
-    ($P10) = rx982_cur."from"()
-    inc $P10
-    set rx982_pos, $P10
-    ge rx982_pos, rx982_eos, rxscan986_done
-  rxscan986_scan:
-    set_addr $I10, rxscan986_loop
-    rx982_cur."!mark_push"(0, rx982_pos, $I10)
-  rxscan986_done:
-.annotate "line", 451
+.sub "prefix:sym<!>"  :subid("245_1259177761.22934") :method :outer("11_1259177761.22934")
+.annotate "line", 400
+    .local string rx981_tgt
+    .local int rx981_pos
+    .local int rx981_off
+    .local int rx981_eos
+    .local int rx981_rep
+    .local pmc rx981_cur
+    (rx981_cur, rx981_pos, rx981_tgt) = self."!cursor_start"()
+    rx981_cur."!cursor_debug"("START ", "prefix:sym<!>")
+    .lex unicode:"$\x{a2}", rx981_cur
+    .local pmc match
+    .lex "$/", match
+    length rx981_eos, rx981_tgt
+    set rx981_off, 0
+    lt rx981_pos, 2, rx981_start
+    sub rx981_off, rx981_pos, 1
+    substr rx981_tgt, rx981_tgt, rx981_off
+  rx981_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan985_done
+    goto rxscan985_scan
+  rxscan985_loop:
+    ($P10) = rx981_cur."from"()
+    inc $P10
+    set rx981_pos, $P10
+    ge rx981_pos, rx981_eos, rxscan985_done
+  rxscan985_scan:
+    set_addr $I10, rxscan985_loop
+    rx981_cur."!mark_push"(0, rx981_pos, $I10)
+  rxscan985_done:
+.annotate "line", 457
   # rx subcapture "sym"
-    set_addr $I10, rxcap_987_fail
-    rx982_cur."!mark_push"(0, rx982_pos, $I10)
-  # rx literal  "/"
-    add $I11, rx982_pos, 1
-    gt $I11, rx982_eos, rx982_fail
-    sub $I11, rx982_pos, rx982_off
-    substr $S10, rx982_tgt, $I11, 1
-    ne $S10, "/", rx982_fail
-    add rx982_pos, 1
-    set_addr $I10, rxcap_987_fail
-    ($I12, $I11) = rx982_cur."!mark_peek"($I10)
-    rx982_cur."!cursor_pos"($I11)
-    ($P10) = rx982_cur."!cursor_start"()
-    $P10."!cursor_pass"(rx982_pos, "")
-    rx982_cur."!mark_push"(0, -1, 0, $P10)
+    set_addr $I10, rxcap_986_fail
+    rx981_cur."!mark_push"(0, rx981_pos, $I10)
+  # rx literal  "!"
+    add $I11, rx981_pos, 1
+    gt $I11, rx981_eos, rx981_fail
+    sub $I11, rx981_pos, rx981_off
+    substr $S10, rx981_tgt, $I11, 1
+    ne $S10, "!", rx981_fail
+    add rx981_pos, 1
+    set_addr $I10, rxcap_986_fail
+    ($I12, $I11) = rx981_cur."!mark_peek"($I10)
+    rx981_cur."!cursor_pos"($I11)
+    ($P10) = rx981_cur."!cursor_start"()
+    $P10."!cursor_pass"(rx981_pos, "")
+    rx981_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("sym")
-    goto rxcap_987_done
-  rxcap_987_fail:
-    goto rx982_fail
-  rxcap_987_done:
+    goto rxcap_986_done
+  rxcap_986_fail:
+    goto rx981_fail
+  rxcap_986_done:
   # rx subrule "O" subtype=capture negate=
-    rx982_cur."!cursor_pos"(rx982_pos)
-    $P10 = rx982_cur."O"("%multiplicative, :pirop<div>")
-    unless $P10, rx982_fail
-    rx982_cur."!mark_push"(0, -1, 0, $P10)
+    rx981_cur."!cursor_pos"(rx981_pos)
+    $P10 = rx981_cur."O"("%symbolic_unary, :pirop<isfalse>")
+    unless $P10, rx981_fail
+    rx981_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("O")
-    rx982_pos = $P10."pos"()
+    rx981_pos = $P10."pos"()
   # rx pass
-    rx982_cur."!cursor_pass"(rx982_pos, "infix:sym</>")
-    rx982_cur."!cursor_debug"("PASS  ", "infix:sym</>", " at pos=", rx982_pos)
-    .return (rx982_cur)
-  rx982_fail:
-.annotate "line", 390
-    (rx982_rep, rx982_pos, $I10, $P10) = rx982_cur."!mark_fail"(0)
-    lt rx982_pos, -1, rx982_done
-    eq rx982_pos, -1, rx982_fail
+    rx981_cur."!cursor_pass"(rx981_pos, "prefix:sym<!>")
+    rx981_cur."!cursor_debug"("PASS  ", "prefix:sym<!>", " at pos=", rx981_pos)
+    .return (rx981_cur)
+  rx981_fail:
+.annotate "line", 400
+    (rx981_rep, rx981_pos, $I10, $P10) = rx981_cur."!mark_fail"(0)
+    lt rx981_pos, -1, rx981_done
+    eq rx981_pos, -1, rx981_fail
     jump $I10
-  rx982_done:
-    rx982_cur."!cursor_fail"()
-    rx982_cur."!cursor_debug"("FAIL  ", "infix:sym</>")
-    .return (rx982_cur)
+  rx981_done:
+    rx981_cur."!cursor_fail"()
+    rx981_cur."!cursor_debug"("FAIL  ", "prefix:sym<!>")
+    .return (rx981_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__infix:sym</>"  :subid("248_1259103982.97329") :method
-.annotate "line", 390
-    $P984 = self."!PREFIX__!subrule"("O", "/")
-    new $P985, "ResizablePMCArray"
-    push $P985, $P984
-    .return ($P985)
+.sub "!PREFIX__prefix:sym<!>"  :subid("246_1259177761.22934") :method
+.annotate "line", 400
+    $P983 = self."!PREFIX__!subrule"("O", "!")
+    new $P984, "ResizablePMCArray"
+    push $P984, $P983
+    .return ($P984)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "infix:sym<%>"  :subid("249_1259103982.97329") :method :outer("11_1259103982.97329")
-.annotate "line", 390
-    .local string rx989_tgt
-    .local int rx989_pos
-    .local int rx989_off
-    .local int rx989_eos
-    .local int rx989_rep
-    .local pmc rx989_cur
-    (rx989_cur, rx989_pos, rx989_tgt) = self."!cursor_start"()
-    rx989_cur."!cursor_debug"("START ", "infix:sym<%>")
-    .lex unicode:"$\x{a2}", rx989_cur
-    .local pmc match
-    .lex "$/", match
-    length rx989_eos, rx989_tgt
-    set rx989_off, 0
-    lt rx989_pos, 2, rx989_start
-    sub rx989_off, rx989_pos, 1
-    substr rx989_tgt, rx989_tgt, rx989_off
-  rx989_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan993_done
-    goto rxscan993_scan
-  rxscan993_loop:
-    ($P10) = rx989_cur."from"()
-    inc $P10
-    set rx989_pos, $P10
-    ge rx989_pos, rx989_eos, rxscan993_done
-  rxscan993_scan:
-    set_addr $I10, rxscan993_loop
-    rx989_cur."!mark_push"(0, rx989_pos, $I10)
-  rxscan993_done:
-.annotate "line", 452
+.sub "prefix:sym<|>"  :subid("247_1259177761.22934") :method :outer("11_1259177761.22934")
+.annotate "line", 400
+    .local string rx988_tgt
+    .local int rx988_pos
+    .local int rx988_off
+    .local int rx988_eos
+    .local int rx988_rep
+    .local pmc rx988_cur
+    (rx988_cur, rx988_pos, rx988_tgt) = self."!cursor_start"()
+    rx988_cur."!cursor_debug"("START ", "prefix:sym<|>")
+    .lex unicode:"$\x{a2}", rx988_cur
+    .local pmc match
+    .lex "$/", match
+    length rx988_eos, rx988_tgt
+    set rx988_off, 0
+    lt rx988_pos, 2, rx988_start
+    sub rx988_off, rx988_pos, 1
+    substr rx988_tgt, rx988_tgt, rx988_off
+  rx988_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan992_done
+    goto rxscan992_scan
+  rxscan992_loop:
+    ($P10) = rx988_cur."from"()
+    inc $P10
+    set rx988_pos, $P10
+    ge rx988_pos, rx988_eos, rxscan992_done
+  rxscan992_scan:
+    set_addr $I10, rxscan992_loop
+    rx988_cur."!mark_push"(0, rx988_pos, $I10)
+  rxscan992_done:
+.annotate "line", 458
   # rx subcapture "sym"
-    set_addr $I10, rxcap_994_fail
-    rx989_cur."!mark_push"(0, rx989_pos, $I10)
-  # rx literal  "%"
-    add $I11, rx989_pos, 1
-    gt $I11, rx989_eos, rx989_fail
-    sub $I11, rx989_pos, rx989_off
-    substr $S10, rx989_tgt, $I11, 1
-    ne $S10, "%", rx989_fail
-    add rx989_pos, 1
-    set_addr $I10, rxcap_994_fail
-    ($I12, $I11) = rx989_cur."!mark_peek"($I10)
-    rx989_cur."!cursor_pos"($I11)
-    ($P10) = rx989_cur."!cursor_start"()
-    $P10."!cursor_pass"(rx989_pos, "")
-    rx989_cur."!mark_push"(0, -1, 0, $P10)
+    set_addr $I10, rxcap_993_fail
+    rx988_cur."!mark_push"(0, rx988_pos, $I10)
+  # rx literal  "|"
+    add $I11, rx988_pos, 1
+    gt $I11, rx988_eos, rx988_fail
+    sub $I11, rx988_pos, rx988_off
+    substr $S10, rx988_tgt, $I11, 1
+    ne $S10, "|", rx988_fail
+    add rx988_pos, 1
+    set_addr $I10, rxcap_993_fail
+    ($I12, $I11) = rx988_cur."!mark_peek"($I10)
+    rx988_cur."!cursor_pos"($I11)
+    ($P10) = rx988_cur."!cursor_start"()
+    $P10."!cursor_pass"(rx988_pos, "")
+    rx988_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("sym")
-    goto rxcap_994_done
-  rxcap_994_fail:
-    goto rx989_fail
-  rxcap_994_done:
+    goto rxcap_993_done
+  rxcap_993_fail:
+    goto rx988_fail
+  rxcap_993_done:
   # rx subrule "O" subtype=capture negate=
-    rx989_cur."!cursor_pos"(rx989_pos)
-    $P10 = rx989_cur."O"("%multiplicative, :pirop<mod>")
-    unless $P10, rx989_fail
-    rx989_cur."!mark_push"(0, -1, 0, $P10)
+    rx988_cur."!cursor_pos"(rx988_pos)
+    $P10 = rx988_cur."O"("%symbolic_unary")
+    unless $P10, rx988_fail
+    rx988_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("O")
-    rx989_pos = $P10."pos"()
+    rx988_pos = $P10."pos"()
   # rx pass
-    rx989_cur."!cursor_pass"(rx989_pos, "infix:sym<%>")
-    rx989_cur."!cursor_debug"("PASS  ", "infix:sym<%>", " at pos=", rx989_pos)
-    .return (rx989_cur)
-  rx989_fail:
-.annotate "line", 390
-    (rx989_rep, rx989_pos, $I10, $P10) = rx989_cur."!mark_fail"(0)
-    lt rx989_pos, -1, rx989_done
-    eq rx989_pos, -1, rx989_fail
+    rx988_cur."!cursor_pass"(rx988_pos, "prefix:sym<|>")
+    rx988_cur."!cursor_debug"("PASS  ", "prefix:sym<|>", " at pos=", rx988_pos)
+    .return (rx988_cur)
+  rx988_fail:
+.annotate "line", 400
+    (rx988_rep, rx988_pos, $I10, $P10) = rx988_cur."!mark_fail"(0)
+    lt rx988_pos, -1, rx988_done
+    eq rx988_pos, -1, rx988_fail
     jump $I10
-  rx989_done:
-    rx989_cur."!cursor_fail"()
-    rx989_cur."!cursor_debug"("FAIL  ", "infix:sym<%>")
-    .return (rx989_cur)
+  rx988_done:
+    rx988_cur."!cursor_fail"()
+    rx988_cur."!cursor_debug"("FAIL  ", "prefix:sym<|>")
+    .return (rx988_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__infix:sym<%>"  :subid("250_1259103982.97329") :method
-.annotate "line", 390
-    $P991 = self."!PREFIX__!subrule"("O", "%")
-    new $P992, "ResizablePMCArray"
-    push $P992, $P991
-    .return ($P992)
+.sub "!PREFIX__prefix:sym<|>"  :subid("248_1259177761.22934") :method
+.annotate "line", 400
+    $P990 = self."!PREFIX__!subrule"("O", "|")
+    new $P991, "ResizablePMCArray"
+    push $P991, $P990
+    .return ($P991)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "infix:sym<+>"  :subid("251_1259103982.97329") :method :outer("11_1259103982.97329")
-.annotate "line", 390
-    .local string rx996_tgt
-    .local int rx996_pos
-    .local int rx996_off
-    .local int rx996_eos
-    .local int rx996_rep
-    .local pmc rx996_cur
-    (rx996_cur, rx996_pos, rx996_tgt) = self."!cursor_start"()
-    rx996_cur."!cursor_debug"("START ", "infix:sym<+>")
-    .lex unicode:"$\x{a2}", rx996_cur
-    .local pmc match
-    .lex "$/", match
-    length rx996_eos, rx996_tgt
-    set rx996_off, 0
-    lt rx996_pos, 2, rx996_start
-    sub rx996_off, rx996_pos, 1
-    substr rx996_tgt, rx996_tgt, rx996_off
-  rx996_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan1000_done
-    goto rxscan1000_scan
-  rxscan1000_loop:
-    ($P10) = rx996_cur."from"()
-    inc $P10
-    set rx996_pos, $P10
-    ge rx996_pos, rx996_eos, rxscan1000_done
-  rxscan1000_scan:
-    set_addr $I10, rxscan1000_loop
-    rx996_cur."!mark_push"(0, rx996_pos, $I10)
-  rxscan1000_done:
-.annotate "line", 454
+.sub "infix:sym<*>"  :subid("249_1259177761.22934") :method :outer("11_1259177761.22934")
+.annotate "line", 400
+    .local string rx995_tgt
+    .local int rx995_pos
+    .local int rx995_off
+    .local int rx995_eos
+    .local int rx995_rep
+    .local pmc rx995_cur
+    (rx995_cur, rx995_pos, rx995_tgt) = self."!cursor_start"()
+    rx995_cur."!cursor_debug"("START ", "infix:sym<*>")
+    .lex unicode:"$\x{a2}", rx995_cur
+    .local pmc match
+    .lex "$/", match
+    length rx995_eos, rx995_tgt
+    set rx995_off, 0
+    lt rx995_pos, 2, rx995_start
+    sub rx995_off, rx995_pos, 1
+    substr rx995_tgt, rx995_tgt, rx995_off
+  rx995_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan999_done
+    goto rxscan999_scan
+  rxscan999_loop:
+    ($P10) = rx995_cur."from"()
+    inc $P10
+    set rx995_pos, $P10
+    ge rx995_pos, rx995_eos, rxscan999_done
+  rxscan999_scan:
+    set_addr $I10, rxscan999_loop
+    rx995_cur."!mark_push"(0, rx995_pos, $I10)
+  rxscan999_done:
+.annotate "line", 460
   # rx subcapture "sym"
-    set_addr $I10, rxcap_1001_fail
-    rx996_cur."!mark_push"(0, rx996_pos, $I10)
-  # rx literal  "+"
-    add $I11, rx996_pos, 1
-    gt $I11, rx996_eos, rx996_fail
-    sub $I11, rx996_pos, rx996_off
-    substr $S10, rx996_tgt, $I11, 1
-    ne $S10, "+", rx996_fail
-    add rx996_pos, 1
-    set_addr $I10, rxcap_1001_fail
-    ($I12, $I11) = rx996_cur."!mark_peek"($I10)
-    rx996_cur."!cursor_pos"($I11)
-    ($P10) = rx996_cur."!cursor_start"()
-    $P10."!cursor_pass"(rx996_pos, "")
-    rx996_cur."!mark_push"(0, -1, 0, $P10)
+    set_addr $I10, rxcap_1000_fail
+    rx995_cur."!mark_push"(0, rx995_pos, $I10)
+  # rx literal  "*"
+    add $I11, rx995_pos, 1
+    gt $I11, rx995_eos, rx995_fail
+    sub $I11, rx995_pos, rx995_off
+    substr $S10, rx995_tgt, $I11, 1
+    ne $S10, "*", rx995_fail
+    add rx995_pos, 1
+    set_addr $I10, rxcap_1000_fail
+    ($I12, $I11) = rx995_cur."!mark_peek"($I10)
+    rx995_cur."!cursor_pos"($I11)
+    ($P10) = rx995_cur."!cursor_start"()
+    $P10."!cursor_pass"(rx995_pos, "")
+    rx995_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("sym")
-    goto rxcap_1001_done
-  rxcap_1001_fail:
-    goto rx996_fail
-  rxcap_1001_done:
+    goto rxcap_1000_done
+  rxcap_1000_fail:
+    goto rx995_fail
+  rxcap_1000_done:
   # rx subrule "O" subtype=capture negate=
-    rx996_cur."!cursor_pos"(rx996_pos)
-    $P10 = rx996_cur."O"("%additive, :pirop<add>")
-    unless $P10, rx996_fail
-    rx996_cur."!mark_push"(0, -1, 0, $P10)
+    rx995_cur."!cursor_pos"(rx995_pos)
+    $P10 = rx995_cur."O"("%multiplicative, :pirop<mul>")
+    unless $P10, rx995_fail
+    rx995_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("O")
-    rx996_pos = $P10."pos"()
+    rx995_pos = $P10."pos"()
   # rx pass
-    rx996_cur."!cursor_pass"(rx996_pos, "infix:sym<+>")
-    rx996_cur."!cursor_debug"("PASS  ", "infix:sym<+>", " at pos=", rx996_pos)
-    .return (rx996_cur)
-  rx996_fail:
-.annotate "line", 390
-    (rx996_rep, rx996_pos, $I10, $P10) = rx996_cur."!mark_fail"(0)
-    lt rx996_pos, -1, rx996_done
-    eq rx996_pos, -1, rx996_fail
+    rx995_cur."!cursor_pass"(rx995_pos, "infix:sym<*>")
+    rx995_cur."!cursor_debug"("PASS  ", "infix:sym<*>", " at pos=", rx995_pos)
+    .return (rx995_cur)
+  rx995_fail:
+.annotate "line", 400
+    (rx995_rep, rx995_pos, $I10, $P10) = rx995_cur."!mark_fail"(0)
+    lt rx995_pos, -1, rx995_done
+    eq rx995_pos, -1, rx995_fail
     jump $I10
-  rx996_done:
-    rx996_cur."!cursor_fail"()
-    rx996_cur."!cursor_debug"("FAIL  ", "infix:sym<+>")
-    .return (rx996_cur)
+  rx995_done:
+    rx995_cur."!cursor_fail"()
+    rx995_cur."!cursor_debug"("FAIL  ", "infix:sym<*>")
+    .return (rx995_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__infix:sym<+>"  :subid("252_1259103982.97329") :method
-.annotate "line", 390
-    $P998 = self."!PREFIX__!subrule"("O", "+")
-    new $P999, "ResizablePMCArray"
-    push $P999, $P998
-    .return ($P999)
+.sub "!PREFIX__infix:sym<*>"  :subid("250_1259177761.22934") :method
+.annotate "line", 400
+    $P997 = self."!PREFIX__!subrule"("O", "*")
+    new $P998, "ResizablePMCArray"
+    push $P998, $P997
+    .return ($P998)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "infix:sym<->"  :subid("253_1259103982.97329") :method :outer("11_1259103982.97329")
-.annotate "line", 390
-    .local string rx1003_tgt
-    .local int rx1003_pos
-    .local int rx1003_off
-    .local int rx1003_eos
-    .local int rx1003_rep
-    .local pmc rx1003_cur
-    (rx1003_cur, rx1003_pos, rx1003_tgt) = self."!cursor_start"()
-    rx1003_cur."!cursor_debug"("START ", "infix:sym<->")
-    .lex unicode:"$\x{a2}", rx1003_cur
-    .local pmc match
-    .lex "$/", match
-    length rx1003_eos, rx1003_tgt
-    set rx1003_off, 0
-    lt rx1003_pos, 2, rx1003_start
-    sub rx1003_off, rx1003_pos, 1
-    substr rx1003_tgt, rx1003_tgt, rx1003_off
-  rx1003_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan1007_done
-    goto rxscan1007_scan
-  rxscan1007_loop:
-    ($P10) = rx1003_cur."from"()
-    inc $P10
-    set rx1003_pos, $P10
-    ge rx1003_pos, rx1003_eos, rxscan1007_done
-  rxscan1007_scan:
-    set_addr $I10, rxscan1007_loop
-    rx1003_cur."!mark_push"(0, rx1003_pos, $I10)
-  rxscan1007_done:
-.annotate "line", 455
+.sub "infix:sym</>"  :subid("251_1259177761.22934") :method :outer("11_1259177761.22934")
+.annotate "line", 400
+    .local string rx1002_tgt
+    .local int rx1002_pos
+    .local int rx1002_off
+    .local int rx1002_eos
+    .local int rx1002_rep
+    .local pmc rx1002_cur
+    (rx1002_cur, rx1002_pos, rx1002_tgt) = self."!cursor_start"()
+    rx1002_cur."!cursor_debug"("START ", "infix:sym</>")
+    .lex unicode:"$\x{a2}", rx1002_cur
+    .local pmc match
+    .lex "$/", match
+    length rx1002_eos, rx1002_tgt
+    set rx1002_off, 0
+    lt rx1002_pos, 2, rx1002_start
+    sub rx1002_off, rx1002_pos, 1
+    substr rx1002_tgt, rx1002_tgt, rx1002_off
+  rx1002_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan1006_done
+    goto rxscan1006_scan
+  rxscan1006_loop:
+    ($P10) = rx1002_cur."from"()
+    inc $P10
+    set rx1002_pos, $P10
+    ge rx1002_pos, rx1002_eos, rxscan1006_done
+  rxscan1006_scan:
+    set_addr $I10, rxscan1006_loop
+    rx1002_cur."!mark_push"(0, rx1002_pos, $I10)
+  rxscan1006_done:
+.annotate "line", 461
   # rx subcapture "sym"
-    set_addr $I10, rxcap_1008_fail
-    rx1003_cur."!mark_push"(0, rx1003_pos, $I10)
-  # rx literal  "-"
-    add $I11, rx1003_pos, 1
-    gt $I11, rx1003_eos, rx1003_fail
-    sub $I11, rx1003_pos, rx1003_off
-    substr $S10, rx1003_tgt, $I11, 1
-    ne $S10, "-", rx1003_fail
-    add rx1003_pos, 1
-    set_addr $I10, rxcap_1008_fail
-    ($I12, $I11) = rx1003_cur."!mark_peek"($I10)
-    rx1003_cur."!cursor_pos"($I11)
-    ($P10) = rx1003_cur."!cursor_start"()
-    $P10."!cursor_pass"(rx1003_pos, "")
-    rx1003_cur."!mark_push"(0, -1, 0, $P10)
+    set_addr $I10, rxcap_1007_fail
+    rx1002_cur."!mark_push"(0, rx1002_pos, $I10)
+  # rx literal  "/"
+    add $I11, rx1002_pos, 1
+    gt $I11, rx1002_eos, rx1002_fail
+    sub $I11, rx1002_pos, rx1002_off
+    substr $S10, rx1002_tgt, $I11, 1
+    ne $S10, "/", rx1002_fail
+    add rx1002_pos, 1
+    set_addr $I10, rxcap_1007_fail
+    ($I12, $I11) = rx1002_cur."!mark_peek"($I10)
+    rx1002_cur."!cursor_pos"($I11)
+    ($P10) = rx1002_cur."!cursor_start"()
+    $P10."!cursor_pass"(rx1002_pos, "")
+    rx1002_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("sym")
-    goto rxcap_1008_done
-  rxcap_1008_fail:
-    goto rx1003_fail
-  rxcap_1008_done:
+    goto rxcap_1007_done
+  rxcap_1007_fail:
+    goto rx1002_fail
+  rxcap_1007_done:
   # rx subrule "O" subtype=capture negate=
-    rx1003_cur."!cursor_pos"(rx1003_pos)
-    $P10 = rx1003_cur."O"("%additive, :pirop<sub>")
-    unless $P10, rx1003_fail
-    rx1003_cur."!mark_push"(0, -1, 0, $P10)
+    rx1002_cur."!cursor_pos"(rx1002_pos)
+    $P10 = rx1002_cur."O"("%multiplicative, :pirop<div>")
+    unless $P10, rx1002_fail
+    rx1002_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("O")
-    rx1003_pos = $P10."pos"()
+    rx1002_pos = $P10."pos"()
   # rx pass
-    rx1003_cur."!cursor_pass"(rx1003_pos, "infix:sym<->")
-    rx1003_cur."!cursor_debug"("PASS  ", "infix:sym<->", " at pos=", rx1003_pos)
-    .return (rx1003_cur)
-  rx1003_fail:
-.annotate "line", 390
-    (rx1003_rep, rx1003_pos, $I10, $P10) = rx1003_cur."!mark_fail"(0)
-    lt rx1003_pos, -1, rx1003_done
-    eq rx1003_pos, -1, rx1003_fail
+    rx1002_cur."!cursor_pass"(rx1002_pos, "infix:sym</>")
+    rx1002_cur."!cursor_debug"("PASS  ", "infix:sym</>", " at pos=", rx1002_pos)
+    .return (rx1002_cur)
+  rx1002_fail:
+.annotate "line", 400
+    (rx1002_rep, rx1002_pos, $I10, $P10) = rx1002_cur."!mark_fail"(0)
+    lt rx1002_pos, -1, rx1002_done
+    eq rx1002_pos, -1, rx1002_fail
     jump $I10
-  rx1003_done:
-    rx1003_cur."!cursor_fail"()
-    rx1003_cur."!cursor_debug"("FAIL  ", "infix:sym<->")
-    .return (rx1003_cur)
+  rx1002_done:
+    rx1002_cur."!cursor_fail"()
+    rx1002_cur."!cursor_debug"("FAIL  ", "infix:sym</>")
+    .return (rx1002_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__infix:sym<->"  :subid("254_1259103982.97329") :method
-.annotate "line", 390
-    $P1005 = self."!PREFIX__!subrule"("O", "-")
-    new $P1006, "ResizablePMCArray"
-    push $P1006, $P1005
-    .return ($P1006)
+.sub "!PREFIX__infix:sym</>"  :subid("252_1259177761.22934") :method
+.annotate "line", 400
+    $P1004 = self."!PREFIX__!subrule"("O", "/")
+    new $P1005, "ResizablePMCArray"
+    push $P1005, $P1004
+    .return ($P1005)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "infix:sym<~>"  :subid("255_1259103982.97329") :method :outer("11_1259103982.97329")
-.annotate "line", 390
-    .local string rx1010_tgt
-    .local int rx1010_pos
-    .local int rx1010_off
-    .local int rx1010_eos
-    .local int rx1010_rep
-    .local pmc rx1010_cur
-    (rx1010_cur, rx1010_pos, rx1010_tgt) = self."!cursor_start"()
-    rx1010_cur."!cursor_debug"("START ", "infix:sym<~>")
-    .lex unicode:"$\x{a2}", rx1010_cur
-    .local pmc match
-    .lex "$/", match
-    length rx1010_eos, rx1010_tgt
-    set rx1010_off, 0
-    lt rx1010_pos, 2, rx1010_start
-    sub rx1010_off, rx1010_pos, 1
-    substr rx1010_tgt, rx1010_tgt, rx1010_off
-  rx1010_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan1014_done
-    goto rxscan1014_scan
-  rxscan1014_loop:
-    ($P10) = rx1010_cur."from"()
-    inc $P10
-    set rx1010_pos, $P10
-    ge rx1010_pos, rx1010_eos, rxscan1014_done
-  rxscan1014_scan:
-    set_addr $I10, rxscan1014_loop
-    rx1010_cur."!mark_push"(0, rx1010_pos, $I10)
-  rxscan1014_done:
-.annotate "line", 457
+.sub "infix:sym<%>"  :subid("253_1259177761.22934") :method :outer("11_1259177761.22934")
+.annotate "line", 400
+    .local string rx1009_tgt
+    .local int rx1009_pos
+    .local int rx1009_off
+    .local int rx1009_eos
+    .local int rx1009_rep
+    .local pmc rx1009_cur
+    (rx1009_cur, rx1009_pos, rx1009_tgt) = self."!cursor_start"()
+    rx1009_cur."!cursor_debug"("START ", "infix:sym<%>")
+    .lex unicode:"$\x{a2}", rx1009_cur
+    .local pmc match
+    .lex "$/", match
+    length rx1009_eos, rx1009_tgt
+    set rx1009_off, 0
+    lt rx1009_pos, 2, rx1009_start
+    sub rx1009_off, rx1009_pos, 1
+    substr rx1009_tgt, rx1009_tgt, rx1009_off
+  rx1009_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan1013_done
+    goto rxscan1013_scan
+  rxscan1013_loop:
+    ($P10) = rx1009_cur."from"()
+    inc $P10
+    set rx1009_pos, $P10
+    ge rx1009_pos, rx1009_eos, rxscan1013_done
+  rxscan1013_scan:
+    set_addr $I10, rxscan1013_loop
+    rx1009_cur."!mark_push"(0, rx1009_pos, $I10)
+  rxscan1013_done:
+.annotate "line", 462
   # rx subcapture "sym"
-    set_addr $I10, rxcap_1015_fail
-    rx1010_cur."!mark_push"(0, rx1010_pos, $I10)
-  # rx literal  "~"
-    add $I11, rx1010_pos, 1
-    gt $I11, rx1010_eos, rx1010_fail
-    sub $I11, rx1010_pos, rx1010_off
-    substr $S10, rx1010_tgt, $I11, 1
-    ne $S10, "~", rx1010_fail
-    add rx1010_pos, 1
-    set_addr $I10, rxcap_1015_fail
-    ($I12, $I11) = rx1010_cur."!mark_peek"($I10)
-    rx1010_cur."!cursor_pos"($I11)
-    ($P10) = rx1010_cur."!cursor_start"()
-    $P10."!cursor_pass"(rx1010_pos, "")
-    rx1010_cur."!mark_push"(0, -1, 0, $P10)
+    set_addr $I10, rxcap_1014_fail
+    rx1009_cur."!mark_push"(0, rx1009_pos, $I10)
+  # rx literal  "%"
+    add $I11, rx1009_pos, 1
+    gt $I11, rx1009_eos, rx1009_fail
+    sub $I11, rx1009_pos, rx1009_off
+    substr $S10, rx1009_tgt, $I11, 1
+    ne $S10, "%", rx1009_fail
+    add rx1009_pos, 1
+    set_addr $I10, rxcap_1014_fail
+    ($I12, $I11) = rx1009_cur."!mark_peek"($I10)
+    rx1009_cur."!cursor_pos"($I11)
+    ($P10) = rx1009_cur."!cursor_start"()
+    $P10."!cursor_pass"(rx1009_pos, "")
+    rx1009_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("sym")
-    goto rxcap_1015_done
-  rxcap_1015_fail:
-    goto rx1010_fail
-  rxcap_1015_done:
+    goto rxcap_1014_done
+  rxcap_1014_fail:
+    goto rx1009_fail
+  rxcap_1014_done:
   # rx subrule "O" subtype=capture negate=
-    rx1010_cur."!cursor_pos"(rx1010_pos)
-    $P10 = rx1010_cur."O"("%concatenation , :pirop<concat>")
-    unless $P10, rx1010_fail
-    rx1010_cur."!mark_push"(0, -1, 0, $P10)
+    rx1009_cur."!cursor_pos"(rx1009_pos)
+    $P10 = rx1009_cur."O"("%multiplicative, :pirop<mod>")
+    unless $P10, rx1009_fail
+    rx1009_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("O")
-    rx1010_pos = $P10."pos"()
+    rx1009_pos = $P10."pos"()
   # rx pass
-    rx1010_cur."!cursor_pass"(rx1010_pos, "infix:sym<~>")
-    rx1010_cur."!cursor_debug"("PASS  ", "infix:sym<~>", " at pos=", rx1010_pos)
-    .return (rx1010_cur)
-  rx1010_fail:
-.annotate "line", 390
-    (rx1010_rep, rx1010_pos, $I10, $P10) = rx1010_cur."!mark_fail"(0)
-    lt rx1010_pos, -1, rx1010_done
-    eq rx1010_pos, -1, rx1010_fail
+    rx1009_cur."!cursor_pass"(rx1009_pos, "infix:sym<%>")
+    rx1009_cur."!cursor_debug"("PASS  ", "infix:sym<%>", " at pos=", rx1009_pos)
+    .return (rx1009_cur)
+  rx1009_fail:
+.annotate "line", 400
+    (rx1009_rep, rx1009_pos, $I10, $P10) = rx1009_cur."!mark_fail"(0)
+    lt rx1009_pos, -1, rx1009_done
+    eq rx1009_pos, -1, rx1009_fail
     jump $I10
-  rx1010_done:
-    rx1010_cur."!cursor_fail"()
-    rx1010_cur."!cursor_debug"("FAIL  ", "infix:sym<~>")
-    .return (rx1010_cur)
+  rx1009_done:
+    rx1009_cur."!cursor_fail"()
+    rx1009_cur."!cursor_debug"("FAIL  ", "infix:sym<%>")
+    .return (rx1009_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__infix:sym<~>"  :subid("256_1259103982.97329") :method
-.annotate "line", 390
-    $P1012 = self."!PREFIX__!subrule"("O", "~")
-    new $P1013, "ResizablePMCArray"
-    push $P1013, $P1012
-    .return ($P1013)
+.sub "!PREFIX__infix:sym<%>"  :subid("254_1259177761.22934") :method
+.annotate "line", 400
+    $P1011 = self."!PREFIX__!subrule"("O", "%")
+    new $P1012, "ResizablePMCArray"
+    push $P1012, $P1011
+    .return ($P1012)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "infix:sym<==>"  :subid("257_1259103982.97329") :method :outer("11_1259103982.97329")
-.annotate "line", 390
-    .local string rx1017_tgt
-    .local int rx1017_pos
-    .local int rx1017_off
-    .local int rx1017_eos
-    .local int rx1017_rep
-    .local pmc rx1017_cur
-    (rx1017_cur, rx1017_pos, rx1017_tgt) = self."!cursor_start"()
-    rx1017_cur."!cursor_debug"("START ", "infix:sym<==>")
-    .lex unicode:"$\x{a2}", rx1017_cur
-    .local pmc match
-    .lex "$/", match
-    length rx1017_eos, rx1017_tgt
-    set rx1017_off, 0
-    lt rx1017_pos, 2, rx1017_start
-    sub rx1017_off, rx1017_pos, 1
-    substr rx1017_tgt, rx1017_tgt, rx1017_off
-  rx1017_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan1021_done
-    goto rxscan1021_scan
-  rxscan1021_loop:
-    ($P10) = rx1017_cur."from"()
-    inc $P10
-    set rx1017_pos, $P10
-    ge rx1017_pos, rx1017_eos, rxscan1021_done
-  rxscan1021_scan:
-    set_addr $I10, rxscan1021_loop
-    rx1017_cur."!mark_push"(0, rx1017_pos, $I10)
-  rxscan1021_done:
-.annotate "line", 459
+.sub "infix:sym<+>"  :subid("255_1259177761.22934") :method :outer("11_1259177761.22934")
+.annotate "line", 400
+    .local string rx1016_tgt
+    .local int rx1016_pos
+    .local int rx1016_off
+    .local int rx1016_eos
+    .local int rx1016_rep
+    .local pmc rx1016_cur
+    (rx1016_cur, rx1016_pos, rx1016_tgt) = self."!cursor_start"()
+    rx1016_cur."!cursor_debug"("START ", "infix:sym<+>")
+    .lex unicode:"$\x{a2}", rx1016_cur
+    .local pmc match
+    .lex "$/", match
+    length rx1016_eos, rx1016_tgt
+    set rx1016_off, 0
+    lt rx1016_pos, 2, rx1016_start
+    sub rx1016_off, rx1016_pos, 1
+    substr rx1016_tgt, rx1016_tgt, rx1016_off
+  rx1016_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan1020_done
+    goto rxscan1020_scan
+  rxscan1020_loop:
+    ($P10) = rx1016_cur."from"()
+    inc $P10
+    set rx1016_pos, $P10
+    ge rx1016_pos, rx1016_eos, rxscan1020_done
+  rxscan1020_scan:
+    set_addr $I10, rxscan1020_loop
+    rx1016_cur."!mark_push"(0, rx1016_pos, $I10)
+  rxscan1020_done:
+.annotate "line", 464
   # rx subcapture "sym"
-    set_addr $I10, rxcap_1022_fail
-    rx1017_cur."!mark_push"(0, rx1017_pos, $I10)
-  # rx literal  "=="
-    add $I11, rx1017_pos, 2
-    gt $I11, rx1017_eos, rx1017_fail
-    sub $I11, rx1017_pos, rx1017_off
-    substr $S10, rx1017_tgt, $I11, 2
-    ne $S10, "==", rx1017_fail
-    add rx1017_pos, 2
-    set_addr $I10, rxcap_1022_fail
-    ($I12, $I11) = rx1017_cur."!mark_peek"($I10)
-    rx1017_cur."!cursor_pos"($I11)
-    ($P10) = rx1017_cur."!cursor_start"()
-    $P10."!cursor_pass"(rx1017_pos, "")
-    rx1017_cur."!mark_push"(0, -1, 0, $P10)
+    set_addr $I10, rxcap_1021_fail
+    rx1016_cur."!mark_push"(0, rx1016_pos, $I10)
+  # rx literal  "+"
+    add $I11, rx1016_pos, 1
+    gt $I11, rx1016_eos, rx1016_fail
+    sub $I11, rx1016_pos, rx1016_off
+    substr $S10, rx1016_tgt, $I11, 1
+    ne $S10, "+", rx1016_fail
+    add rx1016_pos, 1
+    set_addr $I10, rxcap_1021_fail
+    ($I12, $I11) = rx1016_cur."!mark_peek"($I10)
+    rx1016_cur."!cursor_pos"($I11)
+    ($P10) = rx1016_cur."!cursor_start"()
+    $P10."!cursor_pass"(rx1016_pos, "")
+    rx1016_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("sym")
-    goto rxcap_1022_done
-  rxcap_1022_fail:
-    goto rx1017_fail
-  rxcap_1022_done:
+    goto rxcap_1021_done
+  rxcap_1021_fail:
+    goto rx1016_fail
+  rxcap_1021_done:
   # rx subrule "O" subtype=capture negate=
-    rx1017_cur."!cursor_pos"(rx1017_pos)
-    $P10 = rx1017_cur."O"("%relational, :pirop<iseq INn>")
-    unless $P10, rx1017_fail
-    rx1017_cur."!mark_push"(0, -1, 0, $P10)
+    rx1016_cur."!cursor_pos"(rx1016_pos)
+    $P10 = rx1016_cur."O"("%additive, :pirop<add>")
+    unless $P10, rx1016_fail
+    rx1016_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("O")
-    rx1017_pos = $P10."pos"()
+    rx1016_pos = $P10."pos"()
   # rx pass
-    rx1017_cur."!cursor_pass"(rx1017_pos, "infix:sym<==>")
-    rx1017_cur."!cursor_debug"("PASS  ", "infix:sym<==>", " at pos=", rx1017_pos)
-    .return (rx1017_cur)
-  rx1017_fail:
-.annotate "line", 390
-    (rx1017_rep, rx1017_pos, $I10, $P10) = rx1017_cur."!mark_fail"(0)
-    lt rx1017_pos, -1, rx1017_done
-    eq rx1017_pos, -1, rx1017_fail
+    rx1016_cur."!cursor_pass"(rx1016_pos, "infix:sym<+>")
+    rx1016_cur."!cursor_debug"("PASS  ", "infix:sym<+>", " at pos=", rx1016_pos)
+    .return (rx1016_cur)
+  rx1016_fail:
+.annotate "line", 400
+    (rx1016_rep, rx1016_pos, $I10, $P10) = rx1016_cur."!mark_fail"(0)
+    lt rx1016_pos, -1, rx1016_done
+    eq rx1016_pos, -1, rx1016_fail
     jump $I10
-  rx1017_done:
-    rx1017_cur."!cursor_fail"()
-    rx1017_cur."!cursor_debug"("FAIL  ", "infix:sym<==>")
-    .return (rx1017_cur)
+  rx1016_done:
+    rx1016_cur."!cursor_fail"()
+    rx1016_cur."!cursor_debug"("FAIL  ", "infix:sym<+>")
+    .return (rx1016_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__infix:sym<==>"  :subid("258_1259103982.97329") :method
-.annotate "line", 390
-    $P1019 = self."!PREFIX__!subrule"("O", "==")
-    new $P1020, "ResizablePMCArray"
-    push $P1020, $P1019
-    .return ($P1020)
+.sub "!PREFIX__infix:sym<+>"  :subid("256_1259177761.22934") :method
+.annotate "line", 400
+    $P1018 = self."!PREFIX__!subrule"("O", "+")
+    new $P1019, "ResizablePMCArray"
+    push $P1019, $P1018
+    .return ($P1019)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "infix:sym<!=>"  :subid("259_1259103982.97329") :method :outer("11_1259103982.97329")
-.annotate "line", 390
-    .local string rx1024_tgt
-    .local int rx1024_pos
-    .local int rx1024_off
-    .local int rx1024_eos
-    .local int rx1024_rep
-    .local pmc rx1024_cur
-    (rx1024_cur, rx1024_pos, rx1024_tgt) = self."!cursor_start"()
-    rx1024_cur."!cursor_debug"("START ", "infix:sym<!=>")
-    .lex unicode:"$\x{a2}", rx1024_cur
-    .local pmc match
-    .lex "$/", match
-    length rx1024_eos, rx1024_tgt
-    set rx1024_off, 0
-    lt rx1024_pos, 2, rx1024_start
-    sub rx1024_off, rx1024_pos, 1
-    substr rx1024_tgt, rx1024_tgt, rx1024_off
-  rx1024_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan1028_done
-    goto rxscan1028_scan
-  rxscan1028_loop:
-    ($P10) = rx1024_cur."from"()
-    inc $P10
-    set rx1024_pos, $P10
-    ge rx1024_pos, rx1024_eos, rxscan1028_done
-  rxscan1028_scan:
-    set_addr $I10, rxscan1028_loop
-    rx1024_cur."!mark_push"(0, rx1024_pos, $I10)
-  rxscan1028_done:
-.annotate "line", 460
+.sub "infix:sym<->"  :subid("257_1259177761.22934") :method :outer("11_1259177761.22934")
+.annotate "line", 400
+    .local string rx1023_tgt
+    .local int rx1023_pos
+    .local int rx1023_off
+    .local int rx1023_eos
+    .local int rx1023_rep
+    .local pmc rx1023_cur
+    (rx1023_cur, rx1023_pos, rx1023_tgt) = self."!cursor_start"()
+    rx1023_cur."!cursor_debug"("START ", "infix:sym<->")
+    .lex unicode:"$\x{a2}", rx1023_cur
+    .local pmc match
+    .lex "$/", match
+    length rx1023_eos, rx1023_tgt
+    set rx1023_off, 0
+    lt rx1023_pos, 2, rx1023_start
+    sub rx1023_off, rx1023_pos, 1
+    substr rx1023_tgt, rx1023_tgt, rx1023_off
+  rx1023_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan1027_done
+    goto rxscan1027_scan
+  rxscan1027_loop:
+    ($P10) = rx1023_cur."from"()
+    inc $P10
+    set rx1023_pos, $P10
+    ge rx1023_pos, rx1023_eos, rxscan1027_done
+  rxscan1027_scan:
+    set_addr $I10, rxscan1027_loop
+    rx1023_cur."!mark_push"(0, rx1023_pos, $I10)
+  rxscan1027_done:
+.annotate "line", 465
   # rx subcapture "sym"
-    set_addr $I10, rxcap_1029_fail
-    rx1024_cur."!mark_push"(0, rx1024_pos, $I10)
-  # rx literal  "!="
-    add $I11, rx1024_pos, 2
-    gt $I11, rx1024_eos, rx1024_fail
-    sub $I11, rx1024_pos, rx1024_off
-    substr $S10, rx1024_tgt, $I11, 2
-    ne $S10, "!=", rx1024_fail
-    add rx1024_pos, 2
-    set_addr $I10, rxcap_1029_fail
-    ($I12, $I11) = rx1024_cur."!mark_peek"($I10)
-    rx1024_cur."!cursor_pos"($I11)
-    ($P10) = rx1024_cur."!cursor_start"()
-    $P10."!cursor_pass"(rx1024_pos, "")
-    rx1024_cur."!mark_push"(0, -1, 0, $P10)
+    set_addr $I10, rxcap_1028_fail
+    rx1023_cur."!mark_push"(0, rx1023_pos, $I10)
+  # rx literal  "-"
+    add $I11, rx1023_pos, 1
+    gt $I11, rx1023_eos, rx1023_fail
+    sub $I11, rx1023_pos, rx1023_off
+    substr $S10, rx1023_tgt, $I11, 1
+    ne $S10, "-", rx1023_fail
+    add rx1023_pos, 1
+    set_addr $I10, rxcap_1028_fail
+    ($I12, $I11) = rx1023_cur."!mark_peek"($I10)
+    rx1023_cur."!cursor_pos"($I11)
+    ($P10) = rx1023_cur."!cursor_start"()
+    $P10."!cursor_pass"(rx1023_pos, "")
+    rx1023_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("sym")
-    goto rxcap_1029_done
-  rxcap_1029_fail:
-    goto rx1024_fail
-  rxcap_1029_done:
+    goto rxcap_1028_done
+  rxcap_1028_fail:
+    goto rx1023_fail
+  rxcap_1028_done:
   # rx subrule "O" subtype=capture negate=
-    rx1024_cur."!cursor_pos"(rx1024_pos)
-    $P10 = rx1024_cur."O"("%relational, :pirop<isne INn>")
-    unless $P10, rx1024_fail
-    rx1024_cur."!mark_push"(0, -1, 0, $P10)
+    rx1023_cur."!cursor_pos"(rx1023_pos)
+    $P10 = rx1023_cur."O"("%additive, :pirop<sub>")
+    unless $P10, rx1023_fail
+    rx1023_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("O")
-    rx1024_pos = $P10."pos"()
+    rx1023_pos = $P10."pos"()
   # rx pass
-    rx1024_cur."!cursor_pass"(rx1024_pos, "infix:sym<!=>")
-    rx1024_cur."!cursor_debug"("PASS  ", "infix:sym<!=>", " at pos=", rx1024_pos)
-    .return (rx1024_cur)
-  rx1024_fail:
-.annotate "line", 390
-    (rx1024_rep, rx1024_pos, $I10, $P10) = rx1024_cur."!mark_fail"(0)
-    lt rx1024_pos, -1, rx1024_done
-    eq rx1024_pos, -1, rx1024_fail
+    rx1023_cur."!cursor_pass"(rx1023_pos, "infix:sym<->")
+    rx1023_cur."!cursor_debug"("PASS  ", "infix:sym<->", " at pos=", rx1023_pos)
+    .return (rx1023_cur)
+  rx1023_fail:
+.annotate "line", 400
+    (rx1023_rep, rx1023_pos, $I10, $P10) = rx1023_cur."!mark_fail"(0)
+    lt rx1023_pos, -1, rx1023_done
+    eq rx1023_pos, -1, rx1023_fail
     jump $I10
-  rx1024_done:
-    rx1024_cur."!cursor_fail"()
-    rx1024_cur."!cursor_debug"("FAIL  ", "infix:sym<!=>")
-    .return (rx1024_cur)
+  rx1023_done:
+    rx1023_cur."!cursor_fail"()
+    rx1023_cur."!cursor_debug"("FAIL  ", "infix:sym<->")
+    .return (rx1023_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__infix:sym<!=>"  :subid("260_1259103982.97329") :method
-.annotate "line", 390
-    $P1026 = self."!PREFIX__!subrule"("O", "!=")
-    new $P1027, "ResizablePMCArray"
-    push $P1027, $P1026
-    .return ($P1027)
+.sub "!PREFIX__infix:sym<->"  :subid("258_1259177761.22934") :method
+.annotate "line", 400
+    $P1025 = self."!PREFIX__!subrule"("O", "-")
+    new $P1026, "ResizablePMCArray"
+    push $P1026, $P1025
+    .return ($P1026)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "infix:sym<<=>"  :subid("261_1259103982.97329") :method :outer("11_1259103982.97329")
-.annotate "line", 390
-    .local string rx1031_tgt
-    .local int rx1031_pos
-    .local int rx1031_off
-    .local int rx1031_eos
-    .local int rx1031_rep
-    .local pmc rx1031_cur
-    (rx1031_cur, rx1031_pos, rx1031_tgt) = self."!cursor_start"()
-    rx1031_cur."!cursor_debug"("START ", "infix:sym<<=>")
-    .lex unicode:"$\x{a2}", rx1031_cur
-    .local pmc match
-    .lex "$/", match
-    length rx1031_eos, rx1031_tgt
-    set rx1031_off, 0
-    lt rx1031_pos, 2, rx1031_start
-    sub rx1031_off, rx1031_pos, 1
-    substr rx1031_tgt, rx1031_tgt, rx1031_off
-  rx1031_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan1035_done
-    goto rxscan1035_scan
-  rxscan1035_loop:
-    ($P10) = rx1031_cur."from"()
-    inc $P10
-    set rx1031_pos, $P10
-    ge rx1031_pos, rx1031_eos, rxscan1035_done
-  rxscan1035_scan:
-    set_addr $I10, rxscan1035_loop
-    rx1031_cur."!mark_push"(0, rx1031_pos, $I10)
-  rxscan1035_done:
-.annotate "line", 461
+.sub "infix:sym<~>"  :subid("259_1259177761.22934") :method :outer("11_1259177761.22934")
+.annotate "line", 400
+    .local string rx1030_tgt
+    .local int rx1030_pos
+    .local int rx1030_off
+    .local int rx1030_eos
+    .local int rx1030_rep
+    .local pmc rx1030_cur
+    (rx1030_cur, rx1030_pos, rx1030_tgt) = self."!cursor_start"()
+    rx1030_cur."!cursor_debug"("START ", "infix:sym<~>")
+    .lex unicode:"$\x{a2}", rx1030_cur
+    .local pmc match
+    .lex "$/", match
+    length rx1030_eos, rx1030_tgt
+    set rx1030_off, 0
+    lt rx1030_pos, 2, rx1030_start
+    sub rx1030_off, rx1030_pos, 1
+    substr rx1030_tgt, rx1030_tgt, rx1030_off
+  rx1030_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan1034_done
+    goto rxscan1034_scan
+  rxscan1034_loop:
+    ($P10) = rx1030_cur."from"()
+    inc $P10
+    set rx1030_pos, $P10
+    ge rx1030_pos, rx1030_eos, rxscan1034_done
+  rxscan1034_scan:
+    set_addr $I10, rxscan1034_loop
+    rx1030_cur."!mark_push"(0, rx1030_pos, $I10)
+  rxscan1034_done:
+.annotate "line", 467
   # rx subcapture "sym"
-    set_addr $I10, rxcap_1036_fail
-    rx1031_cur."!mark_push"(0, rx1031_pos, $I10)
-  # rx literal  "<="
-    add $I11, rx1031_pos, 2
-    gt $I11, rx1031_eos, rx1031_fail
-    sub $I11, rx1031_pos, rx1031_off
-    substr $S10, rx1031_tgt, $I11, 2
-    ne $S10, "<=", rx1031_fail
-    add rx1031_pos, 2
-    set_addr $I10, rxcap_1036_fail
-    ($I12, $I11) = rx1031_cur."!mark_peek"($I10)
-    rx1031_cur."!cursor_pos"($I11)
-    ($P10) = rx1031_cur."!cursor_start"()
-    $P10."!cursor_pass"(rx1031_pos, "")
-    rx1031_cur."!mark_push"(0, -1, 0, $P10)
+    set_addr $I10, rxcap_1035_fail
+    rx1030_cur."!mark_push"(0, rx1030_pos, $I10)
+  # rx literal  "~"
+    add $I11, rx1030_pos, 1
+    gt $I11, rx1030_eos, rx1030_fail
+    sub $I11, rx1030_pos, rx1030_off
+    substr $S10, rx1030_tgt, $I11, 1
+    ne $S10, "~", rx1030_fail
+    add rx1030_pos, 1
+    set_addr $I10, rxcap_1035_fail
+    ($I12, $I11) = rx1030_cur."!mark_peek"($I10)
+    rx1030_cur."!cursor_pos"($I11)
+    ($P10) = rx1030_cur."!cursor_start"()
+    $P10."!cursor_pass"(rx1030_pos, "")
+    rx1030_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("sym")
-    goto rxcap_1036_done
-  rxcap_1036_fail:
-    goto rx1031_fail
-  rxcap_1036_done:
+    goto rxcap_1035_done
+  rxcap_1035_fail:
+    goto rx1030_fail
+  rxcap_1035_done:
   # rx subrule "O" subtype=capture negate=
-    rx1031_cur."!cursor_pos"(rx1031_pos)
-    $P10 = rx1031_cur."O"("%relational, :pirop<isle INn>")
-    unless $P10, rx1031_fail
-    rx1031_cur."!mark_push"(0, -1, 0, $P10)
+    rx1030_cur."!cursor_pos"(rx1030_pos)
+    $P10 = rx1030_cur."O"("%concatenation , :pirop<concat>")
+    unless $P10, rx1030_fail
+    rx1030_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("O")
-    rx1031_pos = $P10."pos"()
+    rx1030_pos = $P10."pos"()
   # rx pass
-    rx1031_cur."!cursor_pass"(rx1031_pos, "infix:sym<<=>")
-    rx1031_cur."!cursor_debug"("PASS  ", "infix:sym<<=>", " at pos=", rx1031_pos)
-    .return (rx1031_cur)
-  rx1031_fail:
-.annotate "line", 390
-    (rx1031_rep, rx1031_pos, $I10, $P10) = rx1031_cur."!mark_fail"(0)
-    lt rx1031_pos, -1, rx1031_done
-    eq rx1031_pos, -1, rx1031_fail
+    rx1030_cur."!cursor_pass"(rx1030_pos, "infix:sym<~>")
+    rx1030_cur."!cursor_debug"("PASS  ", "infix:sym<~>", " at pos=", rx1030_pos)
+    .return (rx1030_cur)
+  rx1030_fail:
+.annotate "line", 400
+    (rx1030_rep, rx1030_pos, $I10, $P10) = rx1030_cur."!mark_fail"(0)
+    lt rx1030_pos, -1, rx1030_done
+    eq rx1030_pos, -1, rx1030_fail
     jump $I10
-  rx1031_done:
-    rx1031_cur."!cursor_fail"()
-    rx1031_cur."!cursor_debug"("FAIL  ", "infix:sym<<=>")
-    .return (rx1031_cur)
+  rx1030_done:
+    rx1030_cur."!cursor_fail"()
+    rx1030_cur."!cursor_debug"("FAIL  ", "infix:sym<~>")
+    .return (rx1030_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__infix:sym<<=>"  :subid("262_1259103982.97329") :method
-.annotate "line", 390
-    $P1033 = self."!PREFIX__!subrule"("O", "<=")
-    new $P1034, "ResizablePMCArray"
-    push $P1034, $P1033
-    .return ($P1034)
+.sub "!PREFIX__infix:sym<~>"  :subid("260_1259177761.22934") :method
+.annotate "line", 400
+    $P1032 = self."!PREFIX__!subrule"("O", "~")
+    new $P1033, "ResizablePMCArray"
+    push $P1033, $P1032
+    .return ($P1033)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "infix:sym<>=>"  :subid("263_1259103982.97329") :method :outer("11_1259103982.97329")
-.annotate "line", 390
-    .local string rx1038_tgt
-    .local int rx1038_pos
-    .local int rx1038_off
-    .local int rx1038_eos
-    .local int rx1038_rep
-    .local pmc rx1038_cur
-    (rx1038_cur, rx1038_pos, rx1038_tgt) = self."!cursor_start"()
-    rx1038_cur."!cursor_debug"("START ", "infix:sym<>=>")
-    .lex unicode:"$\x{a2}", rx1038_cur
-    .local pmc match
-    .lex "$/", match
-    length rx1038_eos, rx1038_tgt
-    set rx1038_off, 0
-    lt rx1038_pos, 2, rx1038_start
-    sub rx1038_off, rx1038_pos, 1
-    substr rx1038_tgt, rx1038_tgt, rx1038_off
-  rx1038_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan1042_done
-    goto rxscan1042_scan
-  rxscan1042_loop:
-    ($P10) = rx1038_cur."from"()
-    inc $P10
-    set rx1038_pos, $P10
-    ge rx1038_pos, rx1038_eos, rxscan1042_done
-  rxscan1042_scan:
-    set_addr $I10, rxscan1042_loop
-    rx1038_cur."!mark_push"(0, rx1038_pos, $I10)
-  rxscan1042_done:
-.annotate "line", 462
+.sub "infix:sym<==>"  :subid("261_1259177761.22934") :method :outer("11_1259177761.22934")
+.annotate "line", 400
+    .local string rx1037_tgt
+    .local int rx1037_pos
+    .local int rx1037_off
+    .local int rx1037_eos
+    .local int rx1037_rep
+    .local pmc rx1037_cur
+    (rx1037_cur, rx1037_pos, rx1037_tgt) = self."!cursor_start"()
+    rx1037_cur."!cursor_debug"("START ", "infix:sym<==>")
+    .lex unicode:"$\x{a2}", rx1037_cur
+    .local pmc match
+    .lex "$/", match
+    length rx1037_eos, rx1037_tgt
+    set rx1037_off, 0
+    lt rx1037_pos, 2, rx1037_start
+    sub rx1037_off, rx1037_pos, 1
+    substr rx1037_tgt, rx1037_tgt, rx1037_off
+  rx1037_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan1041_done
+    goto rxscan1041_scan
+  rxscan1041_loop:
+    ($P10) = rx1037_cur."from"()
+    inc $P10
+    set rx1037_pos, $P10
+    ge rx1037_pos, rx1037_eos, rxscan1041_done
+  rxscan1041_scan:
+    set_addr $I10, rxscan1041_loop
+    rx1037_cur."!mark_push"(0, rx1037_pos, $I10)
+  rxscan1041_done:
+.annotate "line", 469
   # rx subcapture "sym"
-    set_addr $I10, rxcap_1043_fail
-    rx1038_cur."!mark_push"(0, rx1038_pos, $I10)
-  # rx literal  ">="
-    add $I11, rx1038_pos, 2
-    gt $I11, rx1038_eos, rx1038_fail
-    sub $I11, rx1038_pos, rx1038_off
-    substr $S10, rx1038_tgt, $I11, 2
-    ne $S10, ">=", rx1038_fail
-    add rx1038_pos, 2
-    set_addr $I10, rxcap_1043_fail
-    ($I12, $I11) = rx1038_cur."!mark_peek"($I10)
-    rx1038_cur."!cursor_pos"($I11)
-    ($P10) = rx1038_cur."!cursor_start"()
-    $P10."!cursor_pass"(rx1038_pos, "")
-    rx1038_cur."!mark_push"(0, -1, 0, $P10)
+    set_addr $I10, rxcap_1042_fail
+    rx1037_cur."!mark_push"(0, rx1037_pos, $I10)
+  # rx literal  "=="
+    add $I11, rx1037_pos, 2
+    gt $I11, rx1037_eos, rx1037_fail
+    sub $I11, rx1037_pos, rx1037_off
+    substr $S10, rx1037_tgt, $I11, 2
+    ne $S10, "==", rx1037_fail
+    add rx1037_pos, 2
+    set_addr $I10, rxcap_1042_fail
+    ($I12, $I11) = rx1037_cur."!mark_peek"($I10)
+    rx1037_cur."!cursor_pos"($I11)
+    ($P10) = rx1037_cur."!cursor_start"()
+    $P10."!cursor_pass"(rx1037_pos, "")
+    rx1037_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("sym")
-    goto rxcap_1043_done
-  rxcap_1043_fail:
-    goto rx1038_fail
-  rxcap_1043_done:
+    goto rxcap_1042_done
+  rxcap_1042_fail:
+    goto rx1037_fail
+  rxcap_1042_done:
   # rx subrule "O" subtype=capture negate=
-    rx1038_cur."!cursor_pos"(rx1038_pos)
-    $P10 = rx1038_cur."O"("%relational, :pirop<isge INn>")
-    unless $P10, rx1038_fail
-    rx1038_cur."!mark_push"(0, -1, 0, $P10)
+    rx1037_cur."!cursor_pos"(rx1037_pos)
+    $P10 = rx1037_cur."O"("%relational, :pirop<iseq INn>")
+    unless $P10, rx1037_fail
+    rx1037_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("O")
-    rx1038_pos = $P10."pos"()
+    rx1037_pos = $P10."pos"()
   # rx pass
-    rx1038_cur."!cursor_pass"(rx1038_pos, "infix:sym<>=>")
-    rx1038_cur."!cursor_debug"("PASS  ", "infix:sym<>=>", " at pos=", rx1038_pos)
-    .return (rx1038_cur)
-  rx1038_fail:
-.annotate "line", 390
-    (rx1038_rep, rx1038_pos, $I10, $P10) = rx1038_cur."!mark_fail"(0)
-    lt rx1038_pos, -1, rx1038_done
-    eq rx1038_pos, -1, rx1038_fail
+    rx1037_cur."!cursor_pass"(rx1037_pos, "infix:sym<==>")
+    rx1037_cur."!cursor_debug"("PASS  ", "infix:sym<==>", " at pos=", rx1037_pos)
+    .return (rx1037_cur)
+  rx1037_fail:
+.annotate "line", 400
+    (rx1037_rep, rx1037_pos, $I10, $P10) = rx1037_cur."!mark_fail"(0)
+    lt rx1037_pos, -1, rx1037_done
+    eq rx1037_pos, -1, rx1037_fail
     jump $I10
-  rx1038_done:
-    rx1038_cur."!cursor_fail"()
-    rx1038_cur."!cursor_debug"("FAIL  ", "infix:sym<>=>")
-    .return (rx1038_cur)
+  rx1037_done:
+    rx1037_cur."!cursor_fail"()
+    rx1037_cur."!cursor_debug"("FAIL  ", "infix:sym<==>")
+    .return (rx1037_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__infix:sym<>=>"  :subid("264_1259103982.97329") :method
-.annotate "line", 390
-    $P1040 = self."!PREFIX__!subrule"("O", ">=")
-    new $P1041, "ResizablePMCArray"
-    push $P1041, $P1040
-    .return ($P1041)
+.sub "!PREFIX__infix:sym<==>"  :subid("262_1259177761.22934") :method
+.annotate "line", 400
+    $P1039 = self."!PREFIX__!subrule"("O", "==")
+    new $P1040, "ResizablePMCArray"
+    push $P1040, $P1039
+    .return ($P1040)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "infix:sym<<>"  :subid("265_1259103982.97329") :method :outer("11_1259103982.97329")
-.annotate "line", 390
-    .local string rx1045_tgt
-    .local int rx1045_pos
-    .local int rx1045_off
-    .local int rx1045_eos
-    .local int rx1045_rep
-    .local pmc rx1045_cur
-    (rx1045_cur, rx1045_pos, rx1045_tgt) = self."!cursor_start"()
-    rx1045_cur."!cursor_debug"("START ", "infix:sym<<>")
-    .lex unicode:"$\x{a2}", rx1045_cur
-    .local pmc match
-    .lex "$/", match
-    length rx1045_eos, rx1045_tgt
-    set rx1045_off, 0
-    lt rx1045_pos, 2, rx1045_start
-    sub rx1045_off, rx1045_pos, 1
-    substr rx1045_tgt, rx1045_tgt, rx1045_off
-  rx1045_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan1049_done
-    goto rxscan1049_scan
-  rxscan1049_loop:
-    ($P10) = rx1045_cur."from"()
-    inc $P10
-    set rx1045_pos, $P10
-    ge rx1045_pos, rx1045_eos, rxscan1049_done
-  rxscan1049_scan:
-    set_addr $I10, rxscan1049_loop
-    rx1045_cur."!mark_push"(0, rx1045_pos, $I10)
-  rxscan1049_done:
-.annotate "line", 463
+.sub "infix:sym<!=>"  :subid("263_1259177761.22934") :method :outer("11_1259177761.22934")
+.annotate "line", 400
+    .local string rx1044_tgt
+    .local int rx1044_pos
+    .local int rx1044_off
+    .local int rx1044_eos
+    .local int rx1044_rep
+    .local pmc rx1044_cur
+    (rx1044_cur, rx1044_pos, rx1044_tgt) = self."!cursor_start"()
+    rx1044_cur."!cursor_debug"("START ", "infix:sym<!=>")
+    .lex unicode:"$\x{a2}", rx1044_cur
+    .local pmc match
+    .lex "$/", match
+    length rx1044_eos, rx1044_tgt
+    set rx1044_off, 0
+    lt rx1044_pos, 2, rx1044_start
+    sub rx1044_off, rx1044_pos, 1
+    substr rx1044_tgt, rx1044_tgt, rx1044_off
+  rx1044_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan1048_done
+    goto rxscan1048_scan
+  rxscan1048_loop:
+    ($P10) = rx1044_cur."from"()
+    inc $P10
+    set rx1044_pos, $P10
+    ge rx1044_pos, rx1044_eos, rxscan1048_done
+  rxscan1048_scan:
+    set_addr $I10, rxscan1048_loop
+    rx1044_cur."!mark_push"(0, rx1044_pos, $I10)
+  rxscan1048_done:
+.annotate "line", 470
   # rx subcapture "sym"
-    set_addr $I10, rxcap_1050_fail
-    rx1045_cur."!mark_push"(0, rx1045_pos, $I10)
-  # rx literal  "<"
-    add $I11, rx1045_pos, 1
-    gt $I11, rx1045_eos, rx1045_fail
-    sub $I11, rx1045_pos, rx1045_off
-    substr $S10, rx1045_tgt, $I11, 1
-    ne $S10, "<", rx1045_fail
-    add rx1045_pos, 1
-    set_addr $I10, rxcap_1050_fail
-    ($I12, $I11) = rx1045_cur."!mark_peek"($I10)
-    rx1045_cur."!cursor_pos"($I11)
-    ($P10) = rx1045_cur."!cursor_start"()
-    $P10."!cursor_pass"(rx1045_pos, "")
-    rx1045_cur."!mark_push"(0, -1, 0, $P10)
+    set_addr $I10, rxcap_1049_fail
+    rx1044_cur."!mark_push"(0, rx1044_pos, $I10)
+  # rx literal  "!="
+    add $I11, rx1044_pos, 2
+    gt $I11, rx1044_eos, rx1044_fail
+    sub $I11, rx1044_pos, rx1044_off
+    substr $S10, rx1044_tgt, $I11, 2
+    ne $S10, "!=", rx1044_fail
+    add rx1044_pos, 2
+    set_addr $I10, rxcap_1049_fail
+    ($I12, $I11) = rx1044_cur."!mark_peek"($I10)
+    rx1044_cur."!cursor_pos"($I11)
+    ($P10) = rx1044_cur."!cursor_start"()
+    $P10."!cursor_pass"(rx1044_pos, "")
+    rx1044_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("sym")
-    goto rxcap_1050_done
-  rxcap_1050_fail:
-    goto rx1045_fail
-  rxcap_1050_done:
+    goto rxcap_1049_done
+  rxcap_1049_fail:
+    goto rx1044_fail
+  rxcap_1049_done:
   # rx subrule "O" subtype=capture negate=
-    rx1045_cur."!cursor_pos"(rx1045_pos)
-    $P10 = rx1045_cur."O"("%relational, :pirop<islt INn>")
-    unless $P10, rx1045_fail
-    rx1045_cur."!mark_push"(0, -1, 0, $P10)
+    rx1044_cur."!cursor_pos"(rx1044_pos)
+    $P10 = rx1044_cur."O"("%relational, :pirop<isne INn>")
+    unless $P10, rx1044_fail
+    rx1044_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("O")
-    rx1045_pos = $P10."pos"()
+    rx1044_pos = $P10."pos"()
   # rx pass
-    rx1045_cur."!cursor_pass"(rx1045_pos, "infix:sym<<>")
-    rx1045_cur."!cursor_debug"("PASS  ", "infix:sym<<>", " at pos=", rx1045_pos)
-    .return (rx1045_cur)
-  rx1045_fail:
-.annotate "line", 390
-    (rx1045_rep, rx1045_pos, $I10, $P10) = rx1045_cur."!mark_fail"(0)
-    lt rx1045_pos, -1, rx1045_done
-    eq rx1045_pos, -1, rx1045_fail
+    rx1044_cur."!cursor_pass"(rx1044_pos, "infix:sym<!=>")
+    rx1044_cur."!cursor_debug"("PASS  ", "infix:sym<!=>", " at pos=", rx1044_pos)
+    .return (rx1044_cur)
+  rx1044_fail:
+.annotate "line", 400
+    (rx1044_rep, rx1044_pos, $I10, $P10) = rx1044_cur."!mark_fail"(0)
+    lt rx1044_pos, -1, rx1044_done
+    eq rx1044_pos, -1, rx1044_fail
     jump $I10
-  rx1045_done:
-    rx1045_cur."!cursor_fail"()
-    rx1045_cur."!cursor_debug"("FAIL  ", "infix:sym<<>")
-    .return (rx1045_cur)
+  rx1044_done:
+    rx1044_cur."!cursor_fail"()
+    rx1044_cur."!cursor_debug"("FAIL  ", "infix:sym<!=>")
+    .return (rx1044_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__infix:sym<<>"  :subid("266_1259103982.97329") :method
-.annotate "line", 390
-    $P1047 = self."!PREFIX__!subrule"("O", "<")
-    new $P1048, "ResizablePMCArray"
-    push $P1048, $P1047
-    .return ($P1048)
+.sub "!PREFIX__infix:sym<!=>"  :subid("264_1259177761.22934") :method
+.annotate "line", 400
+    $P1046 = self."!PREFIX__!subrule"("O", "!=")
+    new $P1047, "ResizablePMCArray"
+    push $P1047, $P1046
+    .return ($P1047)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "infix:sym<>>"  :subid("267_1259103982.97329") :method :outer("11_1259103982.97329")
-.annotate "line", 390
-    .local string rx1052_tgt
-    .local int rx1052_pos
-    .local int rx1052_off
-    .local int rx1052_eos
-    .local int rx1052_rep
-    .local pmc rx1052_cur
-    (rx1052_cur, rx1052_pos, rx1052_tgt) = self."!cursor_start"()
-    rx1052_cur."!cursor_debug"("START ", "infix:sym<>>")
-    .lex unicode:"$\x{a2}", rx1052_cur
-    .local pmc match
-    .lex "$/", match
-    length rx1052_eos, rx1052_tgt
-    set rx1052_off, 0
-    lt rx1052_pos, 2, rx1052_start
-    sub rx1052_off, rx1052_pos, 1
-    substr rx1052_tgt, rx1052_tgt, rx1052_off
-  rx1052_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan1056_done
-    goto rxscan1056_scan
-  rxscan1056_loop:
-    ($P10) = rx1052_cur."from"()
-    inc $P10
-    set rx1052_pos, $P10
-    ge rx1052_pos, rx1052_eos, rxscan1056_done
-  rxscan1056_scan:
-    set_addr $I10, rxscan1056_loop
-    rx1052_cur."!mark_push"(0, rx1052_pos, $I10)
-  rxscan1056_done:
-.annotate "line", 464
+.sub "infix:sym<<=>"  :subid("265_1259177761.22934") :method :outer("11_1259177761.22934")
+.annotate "line", 400
+    .local string rx1051_tgt
+    .local int rx1051_pos
+    .local int rx1051_off
+    .local int rx1051_eos
+    .local int rx1051_rep
+    .local pmc rx1051_cur
+    (rx1051_cur, rx1051_pos, rx1051_tgt) = self."!cursor_start"()
+    rx1051_cur."!cursor_debug"("START ", "infix:sym<<=>")
+    .lex unicode:"$\x{a2}", rx1051_cur
+    .local pmc match
+    .lex "$/", match
+    length rx1051_eos, rx1051_tgt
+    set rx1051_off, 0
+    lt rx1051_pos, 2, rx1051_start
+    sub rx1051_off, rx1051_pos, 1
+    substr rx1051_tgt, rx1051_tgt, rx1051_off
+  rx1051_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan1055_done
+    goto rxscan1055_scan
+  rxscan1055_loop:
+    ($P10) = rx1051_cur."from"()
+    inc $P10
+    set rx1051_pos, $P10
+    ge rx1051_pos, rx1051_eos, rxscan1055_done
+  rxscan1055_scan:
+    set_addr $I10, rxscan1055_loop
+    rx1051_cur."!mark_push"(0, rx1051_pos, $I10)
+  rxscan1055_done:
+.annotate "line", 471
   # rx subcapture "sym"
-    set_addr $I10, rxcap_1057_fail
-    rx1052_cur."!mark_push"(0, rx1052_pos, $I10)
-  # rx literal  ">"
-    add $I11, rx1052_pos, 1
-    gt $I11, rx1052_eos, rx1052_fail
-    sub $I11, rx1052_pos, rx1052_off
-    substr $S10, rx1052_tgt, $I11, 1
-    ne $S10, ">", rx1052_fail
-    add rx1052_pos, 1
-    set_addr $I10, rxcap_1057_fail
-    ($I12, $I11) = rx1052_cur."!mark_peek"($I10)
-    rx1052_cur."!cursor_pos"($I11)
-    ($P10) = rx1052_cur."!cursor_start"()
-    $P10."!cursor_pass"(rx1052_pos, "")
-    rx1052_cur."!mark_push"(0, -1, 0, $P10)
+    set_addr $I10, rxcap_1056_fail
+    rx1051_cur."!mark_push"(0, rx1051_pos, $I10)
+  # rx literal  "<="
+    add $I11, rx1051_pos, 2
+    gt $I11, rx1051_eos, rx1051_fail
+    sub $I11, rx1051_pos, rx1051_off
+    substr $S10, rx1051_tgt, $I11, 2
+    ne $S10, "<=", rx1051_fail
+    add rx1051_pos, 2
+    set_addr $I10, rxcap_1056_fail
+    ($I12, $I11) = rx1051_cur."!mark_peek"($I10)
+    rx1051_cur."!cursor_pos"($I11)
+    ($P10) = rx1051_cur."!cursor_start"()
+    $P10."!cursor_pass"(rx1051_pos, "")
+    rx1051_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("sym")
-    goto rxcap_1057_done
-  rxcap_1057_fail:
-    goto rx1052_fail
-  rxcap_1057_done:
+    goto rxcap_1056_done
+  rxcap_1056_fail:
+    goto rx1051_fail
+  rxcap_1056_done:
   # rx subrule "O" subtype=capture negate=
-    rx1052_cur."!cursor_pos"(rx1052_pos)
-    $P10 = rx1052_cur."O"("%relational, :pirop<isgt INn>")
-    unless $P10, rx1052_fail
-    rx1052_cur."!mark_push"(0, -1, 0, $P10)
+    rx1051_cur."!cursor_pos"(rx1051_pos)
+    $P10 = rx1051_cur."O"("%relational, :pirop<isle INn>")
+    unless $P10, rx1051_fail
+    rx1051_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("O")
-    rx1052_pos = $P10."pos"()
+    rx1051_pos = $P10."pos"()
   # rx pass
-    rx1052_cur."!cursor_pass"(rx1052_pos, "infix:sym<>>")
-    rx1052_cur."!cursor_debug"("PASS  ", "infix:sym<>>", " at pos=", rx1052_pos)
-    .return (rx1052_cur)
-  rx1052_fail:
-.annotate "line", 390
-    (rx1052_rep, rx1052_pos, $I10, $P10) = rx1052_cur."!mark_fail"(0)
-    lt rx1052_pos, -1, rx1052_done
-    eq rx1052_pos, -1, rx1052_fail
+    rx1051_cur."!cursor_pass"(rx1051_pos, "infix:sym<<=>")
+    rx1051_cur."!cursor_debug"("PASS  ", "infix:sym<<=>", " at pos=", rx1051_pos)
+    .return (rx1051_cur)
+  rx1051_fail:
+.annotate "line", 400
+    (rx1051_rep, rx1051_pos, $I10, $P10) = rx1051_cur."!mark_fail"(0)
+    lt rx1051_pos, -1, rx1051_done
+    eq rx1051_pos, -1, rx1051_fail
     jump $I10
-  rx1052_done:
-    rx1052_cur."!cursor_fail"()
-    rx1052_cur."!cursor_debug"("FAIL  ", "infix:sym<>>")
-    .return (rx1052_cur)
+  rx1051_done:
+    rx1051_cur."!cursor_fail"()
+    rx1051_cur."!cursor_debug"("FAIL  ", "infix:sym<<=>")
+    .return (rx1051_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__infix:sym<>>"  :subid("268_1259103982.97329") :method
-.annotate "line", 390
-    $P1054 = self."!PREFIX__!subrule"("O", ">")
-    new $P1055, "ResizablePMCArray"
-    push $P1055, $P1054
-    .return ($P1055)
+.sub "!PREFIX__infix:sym<<=>"  :subid("266_1259177761.22934") :method
+.annotate "line", 400
+    $P1053 = self."!PREFIX__!subrule"("O", "<=")
+    new $P1054, "ResizablePMCArray"
+    push $P1054, $P1053
+    .return ($P1054)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "infix:sym<eq>"  :subid("269_1259103982.97329") :method :outer("11_1259103982.97329")
-.annotate "line", 390
-    .local string rx1059_tgt
-    .local int rx1059_pos
-    .local int rx1059_off
-    .local int rx1059_eos
-    .local int rx1059_rep
-    .local pmc rx1059_cur
-    (rx1059_cur, rx1059_pos, rx1059_tgt) = self."!cursor_start"()
-    rx1059_cur."!cursor_debug"("START ", "infix:sym<eq>")
-    .lex unicode:"$\x{a2}", rx1059_cur
-    .local pmc match
-    .lex "$/", match
-    length rx1059_eos, rx1059_tgt
-    set rx1059_off, 0
-    lt rx1059_pos, 2, rx1059_start
-    sub rx1059_off, rx1059_pos, 1
-    substr rx1059_tgt, rx1059_tgt, rx1059_off
-  rx1059_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan1063_done
-    goto rxscan1063_scan
-  rxscan1063_loop:
-    ($P10) = rx1059_cur."from"()
-    inc $P10
-    set rx1059_pos, $P10
-    ge rx1059_pos, rx1059_eos, rxscan1063_done
-  rxscan1063_scan:
-    set_addr $I10, rxscan1063_loop
-    rx1059_cur."!mark_push"(0, rx1059_pos, $I10)
-  rxscan1063_done:
-.annotate "line", 465
+.sub "infix:sym<>=>"  :subid("267_1259177761.22934") :method :outer("11_1259177761.22934")
+.annotate "line", 400
+    .local string rx1058_tgt
+    .local int rx1058_pos
+    .local int rx1058_off
+    .local int rx1058_eos
+    .local int rx1058_rep
+    .local pmc rx1058_cur
+    (rx1058_cur, rx1058_pos, rx1058_tgt) = self."!cursor_start"()
+    rx1058_cur."!cursor_debug"("START ", "infix:sym<>=>")
+    .lex unicode:"$\x{a2}", rx1058_cur
+    .local pmc match
+    .lex "$/", match
+    length rx1058_eos, rx1058_tgt
+    set rx1058_off, 0
+    lt rx1058_pos, 2, rx1058_start
+    sub rx1058_off, rx1058_pos, 1
+    substr rx1058_tgt, rx1058_tgt, rx1058_off
+  rx1058_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan1062_done
+    goto rxscan1062_scan
+  rxscan1062_loop:
+    ($P10) = rx1058_cur."from"()
+    inc $P10
+    set rx1058_pos, $P10
+    ge rx1058_pos, rx1058_eos, rxscan1062_done
+  rxscan1062_scan:
+    set_addr $I10, rxscan1062_loop
+    rx1058_cur."!mark_push"(0, rx1058_pos, $I10)
+  rxscan1062_done:
+.annotate "line", 472
   # rx subcapture "sym"
-    set_addr $I10, rxcap_1064_fail
-    rx1059_cur."!mark_push"(0, rx1059_pos, $I10)
-  # rx literal  "eq"
-    add $I11, rx1059_pos, 2
-    gt $I11, rx1059_eos, rx1059_fail
-    sub $I11, rx1059_pos, rx1059_off
-    substr $S10, rx1059_tgt, $I11, 2
-    ne $S10, "eq", rx1059_fail
-    add rx1059_pos, 2
-    set_addr $I10, rxcap_1064_fail
-    ($I12, $I11) = rx1059_cur."!mark_peek"($I10)
-    rx1059_cur."!cursor_pos"($I11)
-    ($P10) = rx1059_cur."!cursor_start"()
-    $P10."!cursor_pass"(rx1059_pos, "")
-    rx1059_cur."!mark_push"(0, -1, 0, $P10)
+    set_addr $I10, rxcap_1063_fail
+    rx1058_cur."!mark_push"(0, rx1058_pos, $I10)
+  # rx literal  ">="
+    add $I11, rx1058_pos, 2
+    gt $I11, rx1058_eos, rx1058_fail
+    sub $I11, rx1058_pos, rx1058_off
+    substr $S10, rx1058_tgt, $I11, 2
+    ne $S10, ">=", rx1058_fail
+    add rx1058_pos, 2
+    set_addr $I10, rxcap_1063_fail
+    ($I12, $I11) = rx1058_cur."!mark_peek"($I10)
+    rx1058_cur."!cursor_pos"($I11)
+    ($P10) = rx1058_cur."!cursor_start"()
+    $P10."!cursor_pass"(rx1058_pos, "")
+    rx1058_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("sym")
-    goto rxcap_1064_done
-  rxcap_1064_fail:
-    goto rx1059_fail
-  rxcap_1064_done:
+    goto rxcap_1063_done
+  rxcap_1063_fail:
+    goto rx1058_fail
+  rxcap_1063_done:
   # rx subrule "O" subtype=capture negate=
-    rx1059_cur."!cursor_pos"(rx1059_pos)
-    $P10 = rx1059_cur."O"("%relational, :pirop<iseq ISs>")
-    unless $P10, rx1059_fail
-    rx1059_cur."!mark_push"(0, -1, 0, $P10)
+    rx1058_cur."!cursor_pos"(rx1058_pos)
+    $P10 = rx1058_cur."O"("%relational, :pirop<isge INn>")
+    unless $P10, rx1058_fail
+    rx1058_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("O")
-    rx1059_pos = $P10."pos"()
+    rx1058_pos = $P10."pos"()
   # rx pass
-    rx1059_cur."!cursor_pass"(rx1059_pos, "infix:sym<eq>")
-    rx1059_cur."!cursor_debug"("PASS  ", "infix:sym<eq>", " at pos=", rx1059_pos)
-    .return (rx1059_cur)
-  rx1059_fail:
-.annotate "line", 390
-    (rx1059_rep, rx1059_pos, $I10, $P10) = rx1059_cur."!mark_fail"(0)
-    lt rx1059_pos, -1, rx1059_done
-    eq rx1059_pos, -1, rx1059_fail
+    rx1058_cur."!cursor_pass"(rx1058_pos, "infix:sym<>=>")
+    rx1058_cur."!cursor_debug"("PASS  ", "infix:sym<>=>", " at pos=", rx1058_pos)
+    .return (rx1058_cur)
+  rx1058_fail:
+.annotate "line", 400
+    (rx1058_rep, rx1058_pos, $I10, $P10) = rx1058_cur."!mark_fail"(0)
+    lt rx1058_pos, -1, rx1058_done
+    eq rx1058_pos, -1, rx1058_fail
     jump $I10
-  rx1059_done:
-    rx1059_cur."!cursor_fail"()
-    rx1059_cur."!cursor_debug"("FAIL  ", "infix:sym<eq>")
-    .return (rx1059_cur)
+  rx1058_done:
+    rx1058_cur."!cursor_fail"()
+    rx1058_cur."!cursor_debug"("FAIL  ", "infix:sym<>=>")
+    .return (rx1058_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__infix:sym<eq>"  :subid("270_1259103982.97329") :method
-.annotate "line", 390
-    $P1061 = self."!PREFIX__!subrule"("O", "eq")
-    new $P1062, "ResizablePMCArray"
-    push $P1062, $P1061
-    .return ($P1062)
+.sub "!PREFIX__infix:sym<>=>"  :subid("268_1259177761.22934") :method
+.annotate "line", 400
+    $P1060 = self."!PREFIX__!subrule"("O", ">=")
+    new $P1061, "ResizablePMCArray"
+    push $P1061, $P1060
+    .return ($P1061)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "infix:sym<ne>"  :subid("271_1259103982.97329") :method :outer("11_1259103982.97329")
-.annotate "line", 390
-    .local string rx1066_tgt
-    .local int rx1066_pos
-    .local int rx1066_off
-    .local int rx1066_eos
-    .local int rx1066_rep
-    .local pmc rx1066_cur
-    (rx1066_cur, rx1066_pos, rx1066_tgt) = self."!cursor_start"()
-    rx1066_cur."!cursor_debug"("START ", "infix:sym<ne>")
-    .lex unicode:"$\x{a2}", rx1066_cur
-    .local pmc match
-    .lex "$/", match
-    length rx1066_eos, rx1066_tgt
-    set rx1066_off, 0
-    lt rx1066_pos, 2, rx1066_start
-    sub rx1066_off, rx1066_pos, 1
-    substr rx1066_tgt, rx1066_tgt, rx1066_off
-  rx1066_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan1070_done
-    goto rxscan1070_scan
-  rxscan1070_loop:
-    ($P10) = rx1066_cur."from"()
-    inc $P10
-    set rx1066_pos, $P10
-    ge rx1066_pos, rx1066_eos, rxscan1070_done
-  rxscan1070_scan:
-    set_addr $I10, rxscan1070_loop
-    rx1066_cur."!mark_push"(0, rx1066_pos, $I10)
-  rxscan1070_done:
-.annotate "line", 466
+.sub "infix:sym<<>"  :subid("269_1259177761.22934") :method :outer("11_1259177761.22934")
+.annotate "line", 400
+    .local string rx1065_tgt
+    .local int rx1065_pos
+    .local int rx1065_off
+    .local int rx1065_eos
+    .local int rx1065_rep
+    .local pmc rx1065_cur
+    (rx1065_cur, rx1065_pos, rx1065_tgt) = self."!cursor_start"()
+    rx1065_cur."!cursor_debug"("START ", "infix:sym<<>")
+    .lex unicode:"$\x{a2}", rx1065_cur
+    .local pmc match
+    .lex "$/", match
+    length rx1065_eos, rx1065_tgt
+    set rx1065_off, 0
+    lt rx1065_pos, 2, rx1065_start
+    sub rx1065_off, rx1065_pos, 1
+    substr rx1065_tgt, rx1065_tgt, rx1065_off
+  rx1065_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan1069_done
+    goto rxscan1069_scan
+  rxscan1069_loop:
+    ($P10) = rx1065_cur."from"()
+    inc $P10
+    set rx1065_pos, $P10
+    ge rx1065_pos, rx1065_eos, rxscan1069_done
+  rxscan1069_scan:
+    set_addr $I10, rxscan1069_loop
+    rx1065_cur."!mark_push"(0, rx1065_pos, $I10)
+  rxscan1069_done:
+.annotate "line", 473
   # rx subcapture "sym"
-    set_addr $I10, rxcap_1071_fail
-    rx1066_cur."!mark_push"(0, rx1066_pos, $I10)
-  # rx literal  "ne"
-    add $I11, rx1066_pos, 2
-    gt $I11, rx1066_eos, rx1066_fail
-    sub $I11, rx1066_pos, rx1066_off
-    substr $S10, rx1066_tgt, $I11, 2
-    ne $S10, "ne", rx1066_fail
-    add rx1066_pos, 2
-    set_addr $I10, rxcap_1071_fail
-    ($I12, $I11) = rx1066_cur."!mark_peek"($I10)
-    rx1066_cur."!cursor_pos"($I11)
-    ($P10) = rx1066_cur."!cursor_start"()
-    $P10."!cursor_pass"(rx1066_pos, "")
-    rx1066_cur."!mark_push"(0, -1, 0, $P10)
+    set_addr $I10, rxcap_1070_fail
+    rx1065_cur."!mark_push"(0, rx1065_pos, $I10)
+  # rx literal  "<"
+    add $I11, rx1065_pos, 1
+    gt $I11, rx1065_eos, rx1065_fail
+    sub $I11, rx1065_pos, rx1065_off
+    substr $S10, rx1065_tgt, $I11, 1
+    ne $S10, "<", rx1065_fail
+    add rx1065_pos, 1
+    set_addr $I10, rxcap_1070_fail
+    ($I12, $I11) = rx1065_cur."!mark_peek"($I10)
+    rx1065_cur."!cursor_pos"($I11)
+    ($P10) = rx1065_cur."!cursor_start"()
+    $P10."!cursor_pass"(rx1065_pos, "")
+    rx1065_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("sym")
-    goto rxcap_1071_done
-  rxcap_1071_fail:
-    goto rx1066_fail
-  rxcap_1071_done:
+    goto rxcap_1070_done
+  rxcap_1070_fail:
+    goto rx1065_fail
+  rxcap_1070_done:
   # rx subrule "O" subtype=capture negate=
-    rx1066_cur."!cursor_pos"(rx1066_pos)
-    $P10 = rx1066_cur."O"("%relational, :pirop<isne ISs>")
-    unless $P10, rx1066_fail
-    rx1066_cur."!mark_push"(0, -1, 0, $P10)
+    rx1065_cur."!cursor_pos"(rx1065_pos)
+    $P10 = rx1065_cur."O"("%relational, :pirop<islt INn>")
+    unless $P10, rx1065_fail
+    rx1065_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("O")
-    rx1066_pos = $P10."pos"()
+    rx1065_pos = $P10."pos"()
   # rx pass
-    rx1066_cur."!cursor_pass"(rx1066_pos, "infix:sym<ne>")
-    rx1066_cur."!cursor_debug"("PASS  ", "infix:sym<ne>", " at pos=", rx1066_pos)
-    .return (rx1066_cur)
-  rx1066_fail:
-.annotate "line", 390
-    (rx1066_rep, rx1066_pos, $I10, $P10) = rx1066_cur."!mark_fail"(0)
-    lt rx1066_pos, -1, rx1066_done
-    eq rx1066_pos, -1, rx1066_fail
+    rx1065_cur."!cursor_pass"(rx1065_pos, "infix:sym<<>")
+    rx1065_cur."!cursor_debug"("PASS  ", "infix:sym<<>", " at pos=", rx1065_pos)
+    .return (rx1065_cur)
+  rx1065_fail:
+.annotate "line", 400
+    (rx1065_rep, rx1065_pos, $I10, $P10) = rx1065_cur."!mark_fail"(0)
+    lt rx1065_pos, -1, rx1065_done
+    eq rx1065_pos, -1, rx1065_fail
     jump $I10
-  rx1066_done:
-    rx1066_cur."!cursor_fail"()
-    rx1066_cur."!cursor_debug"("FAIL  ", "infix:sym<ne>")
-    .return (rx1066_cur)
+  rx1065_done:
+    rx1065_cur."!cursor_fail"()
+    rx1065_cur."!cursor_debug"("FAIL  ", "infix:sym<<>")
+    .return (rx1065_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__infix:sym<ne>"  :subid("272_1259103982.97329") :method
-.annotate "line", 390
-    $P1068 = self."!PREFIX__!subrule"("O", "ne")
-    new $P1069, "ResizablePMCArray"
-    push $P1069, $P1068
-    .return ($P1069)
+.sub "!PREFIX__infix:sym<<>"  :subid("270_1259177761.22934") :method
+.annotate "line", 400
+    $P1067 = self."!PREFIX__!subrule"("O", "<")
+    new $P1068, "ResizablePMCArray"
+    push $P1068, $P1067
+    .return ($P1068)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "infix:sym<le>"  :subid("273_1259103982.97329") :method :outer("11_1259103982.97329")
-.annotate "line", 390
-    .local string rx1073_tgt
-    .local int rx1073_pos
-    .local int rx1073_off
-    .local int rx1073_eos
-    .local int rx1073_rep
-    .local pmc rx1073_cur
-    (rx1073_cur, rx1073_pos, rx1073_tgt) = self."!cursor_start"()
-    rx1073_cur."!cursor_debug"("START ", "infix:sym<le>")
-    .lex unicode:"$\x{a2}", rx1073_cur
-    .local pmc match
-    .lex "$/", match
-    length rx1073_eos, rx1073_tgt
-    set rx1073_off, 0
-    lt rx1073_pos, 2, rx1073_start
-    sub rx1073_off, rx1073_pos, 1
-    substr rx1073_tgt, rx1073_tgt, rx1073_off
-  rx1073_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan1077_done
-    goto rxscan1077_scan
-  rxscan1077_loop:
-    ($P10) = rx1073_cur."from"()
-    inc $P10
-    set rx1073_pos, $P10
-    ge rx1073_pos, rx1073_eos, rxscan1077_done
-  rxscan1077_scan:
-    set_addr $I10, rxscan1077_loop
-    rx1073_cur."!mark_push"(0, rx1073_pos, $I10)
-  rxscan1077_done:
-.annotate "line", 467
+.sub "infix:sym<>>"  :subid("271_1259177761.22934") :method :outer("11_1259177761.22934")
+.annotate "line", 400
+    .local string rx1072_tgt
+    .local int rx1072_pos
+    .local int rx1072_off
+    .local int rx1072_eos
+    .local int rx1072_rep
+    .local pmc rx1072_cur
+    (rx1072_cur, rx1072_pos, rx1072_tgt) = self."!cursor_start"()
+    rx1072_cur."!cursor_debug"("START ", "infix:sym<>>")
+    .lex unicode:"$\x{a2}", rx1072_cur
+    .local pmc match
+    .lex "$/", match
+    length rx1072_eos, rx1072_tgt
+    set rx1072_off, 0
+    lt rx1072_pos, 2, rx1072_start
+    sub rx1072_off, rx1072_pos, 1
+    substr rx1072_tgt, rx1072_tgt, rx1072_off
+  rx1072_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan1076_done
+    goto rxscan1076_scan
+  rxscan1076_loop:
+    ($P10) = rx1072_cur."from"()
+    inc $P10
+    set rx1072_pos, $P10
+    ge rx1072_pos, rx1072_eos, rxscan1076_done
+  rxscan1076_scan:
+    set_addr $I10, rxscan1076_loop
+    rx1072_cur."!mark_push"(0, rx1072_pos, $I10)
+  rxscan1076_done:
+.annotate "line", 474
   # rx subcapture "sym"
-    set_addr $I10, rxcap_1078_fail
-    rx1073_cur."!mark_push"(0, rx1073_pos, $I10)
-  # rx literal  "le"
-    add $I11, rx1073_pos, 2
-    gt $I11, rx1073_eos, rx1073_fail
-    sub $I11, rx1073_pos, rx1073_off
-    substr $S10, rx1073_tgt, $I11, 2
-    ne $S10, "le", rx1073_fail
-    add rx1073_pos, 2
-    set_addr $I10, rxcap_1078_fail
-    ($I12, $I11) = rx1073_cur."!mark_peek"($I10)
-    rx1073_cur."!cursor_pos"($I11)
-    ($P10) = rx1073_cur."!cursor_start"()
-    $P10."!cursor_pass"(rx1073_pos, "")
-    rx1073_cur."!mark_push"(0, -1, 0, $P10)
+    set_addr $I10, rxcap_1077_fail
+    rx1072_cur."!mark_push"(0, rx1072_pos, $I10)
+  # rx literal  ">"
+    add $I11, rx1072_pos, 1
+    gt $I11, rx1072_eos, rx1072_fail
+    sub $I11, rx1072_pos, rx1072_off
+    substr $S10, rx1072_tgt, $I11, 1
+    ne $S10, ">", rx1072_fail
+    add rx1072_pos, 1
+    set_addr $I10, rxcap_1077_fail
+    ($I12, $I11) = rx1072_cur."!mark_peek"($I10)
+    rx1072_cur."!cursor_pos"($I11)
+    ($P10) = rx1072_cur."!cursor_start"()
+    $P10."!cursor_pass"(rx1072_pos, "")
+    rx1072_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("sym")
-    goto rxcap_1078_done
-  rxcap_1078_fail:
-    goto rx1073_fail
-  rxcap_1078_done:
+    goto rxcap_1077_done
+  rxcap_1077_fail:
+    goto rx1072_fail
+  rxcap_1077_done:
   # rx subrule "O" subtype=capture negate=
-    rx1073_cur."!cursor_pos"(rx1073_pos)
-    $P10 = rx1073_cur."O"("%relational, :pirop<isle ISs>")
-    unless $P10, rx1073_fail
-    rx1073_cur."!mark_push"(0, -1, 0, $P10)
+    rx1072_cur."!cursor_pos"(rx1072_pos)
+    $P10 = rx1072_cur."O"("%relational, :pirop<isgt INn>")
+    unless $P10, rx1072_fail
+    rx1072_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("O")
-    rx1073_pos = $P10."pos"()
+    rx1072_pos = $P10."pos"()
   # rx pass
-    rx1073_cur."!cursor_pass"(rx1073_pos, "infix:sym<le>")
-    rx1073_cur."!cursor_debug"("PASS  ", "infix:sym<le>", " at pos=", rx1073_pos)
-    .return (rx1073_cur)
-  rx1073_fail:
-.annotate "line", 390
-    (rx1073_rep, rx1073_pos, $I10, $P10) = rx1073_cur."!mark_fail"(0)
-    lt rx1073_pos, -1, rx1073_done
-    eq rx1073_pos, -1, rx1073_fail
+    rx1072_cur."!cursor_pass"(rx1072_pos, "infix:sym<>>")
+    rx1072_cur."!cursor_debug"("PASS  ", "infix:sym<>>", " at pos=", rx1072_pos)
+    .return (rx1072_cur)
+  rx1072_fail:
+.annotate "line", 400
+    (rx1072_rep, rx1072_pos, $I10, $P10) = rx1072_cur."!mark_fail"(0)
+    lt rx1072_pos, -1, rx1072_done
+    eq rx1072_pos, -1, rx1072_fail
     jump $I10
-  rx1073_done:
-    rx1073_cur."!cursor_fail"()
-    rx1073_cur."!cursor_debug"("FAIL  ", "infix:sym<le>")
-    .return (rx1073_cur)
+  rx1072_done:
+    rx1072_cur."!cursor_fail"()
+    rx1072_cur."!cursor_debug"("FAIL  ", "infix:sym<>>")
+    .return (rx1072_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__infix:sym<le>"  :subid("274_1259103982.97329") :method
-.annotate "line", 390
-    $P1075 = self."!PREFIX__!subrule"("O", "le")
-    new $P1076, "ResizablePMCArray"
-    push $P1076, $P1075
-    .return ($P1076)
+.sub "!PREFIX__infix:sym<>>"  :subid("272_1259177761.22934") :method
+.annotate "line", 400
+    $P1074 = self."!PREFIX__!subrule"("O", ">")
+    new $P1075, "ResizablePMCArray"
+    push $P1075, $P1074
+    .return ($P1075)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "infix:sym<ge>"  :subid("275_1259103982.97329") :method :outer("11_1259103982.97329")
-.annotate "line", 390
-    .local string rx1080_tgt
-    .local int rx1080_pos
-    .local int rx1080_off
-    .local int rx1080_eos
-    .local int rx1080_rep
-    .local pmc rx1080_cur
-    (rx1080_cur, rx1080_pos, rx1080_tgt) = self."!cursor_start"()
-    rx1080_cur."!cursor_debug"("START ", "infix:sym<ge>")
-    .lex unicode:"$\x{a2}", rx1080_cur
-    .local pmc match
-    .lex "$/", match
-    length rx1080_eos, rx1080_tgt
-    set rx1080_off, 0
-    lt rx1080_pos, 2, rx1080_start
-    sub rx1080_off, rx1080_pos, 1
-    substr rx1080_tgt, rx1080_tgt, rx1080_off
-  rx1080_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan1084_done
-    goto rxscan1084_scan
-  rxscan1084_loop:
-    ($P10) = rx1080_cur."from"()
-    inc $P10
-    set rx1080_pos, $P10
-    ge rx1080_pos, rx1080_eos, rxscan1084_done
-  rxscan1084_scan:
-    set_addr $I10, rxscan1084_loop
-    rx1080_cur."!mark_push"(0, rx1080_pos, $I10)
-  rxscan1084_done:
-.annotate "line", 468
+.sub "infix:sym<eq>"  :subid("273_1259177761.22934") :method :outer("11_1259177761.22934")
+.annotate "line", 400
+    .local string rx1079_tgt
+    .local int rx1079_pos
+    .local int rx1079_off
+    .local int rx1079_eos
+    .local int rx1079_rep
+    .local pmc rx1079_cur
+    (rx1079_cur, rx1079_pos, rx1079_tgt) = self."!cursor_start"()
+    rx1079_cur."!cursor_debug"("START ", "infix:sym<eq>")
+    .lex unicode:"$\x{a2}", rx1079_cur
+    .local pmc match
+    .lex "$/", match
+    length rx1079_eos, rx1079_tgt
+    set rx1079_off, 0
+    lt rx1079_pos, 2, rx1079_start
+    sub rx1079_off, rx1079_pos, 1
+    substr rx1079_tgt, rx1079_tgt, rx1079_off
+  rx1079_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan1083_done
+    goto rxscan1083_scan
+  rxscan1083_loop:
+    ($P10) = rx1079_cur."from"()
+    inc $P10
+    set rx1079_pos, $P10
+    ge rx1079_pos, rx1079_eos, rxscan1083_done
+  rxscan1083_scan:
+    set_addr $I10, rxscan1083_loop
+    rx1079_cur."!mark_push"(0, rx1079_pos, $I10)
+  rxscan1083_done:
+.annotate "line", 475
   # rx subcapture "sym"
-    set_addr $I10, rxcap_1085_fail
-    rx1080_cur."!mark_push"(0, rx1080_pos, $I10)
-  # rx literal  "ge"
-    add $I11, rx1080_pos, 2
-    gt $I11, rx1080_eos, rx1080_fail
-    sub $I11, rx1080_pos, rx1080_off
-    substr $S10, rx1080_tgt, $I11, 2
-    ne $S10, "ge", rx1080_fail
-    add rx1080_pos, 2
-    set_addr $I10, rxcap_1085_fail
-    ($I12, $I11) = rx1080_cur."!mark_peek"($I10)
-    rx1080_cur."!cursor_pos"($I11)
-    ($P10) = rx1080_cur."!cursor_start"()
-    $P10."!cursor_pass"(rx1080_pos, "")
-    rx1080_cur."!mark_push"(0, -1, 0, $P10)
+    set_addr $I10, rxcap_1084_fail
+    rx1079_cur."!mark_push"(0, rx1079_pos, $I10)
+  # rx literal  "eq"
+    add $I11, rx1079_pos, 2
+    gt $I11, rx1079_eos, rx1079_fail
+    sub $I11, rx1079_pos, rx1079_off
+    substr $S10, rx1079_tgt, $I11, 2
+    ne $S10, "eq", rx1079_fail
+    add rx1079_pos, 2
+    set_addr $I10, rxcap_1084_fail
+    ($I12, $I11) = rx1079_cur."!mark_peek"($I10)
+    rx1079_cur."!cursor_pos"($I11)
+    ($P10) = rx1079_cur."!cursor_start"()
+    $P10."!cursor_pass"(rx1079_pos, "")
+    rx1079_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("sym")
-    goto rxcap_1085_done
-  rxcap_1085_fail:
-    goto rx1080_fail
-  rxcap_1085_done:
+    goto rxcap_1084_done
+  rxcap_1084_fail:
+    goto rx1079_fail
+  rxcap_1084_done:
   # rx subrule "O" subtype=capture negate=
-    rx1080_cur."!cursor_pos"(rx1080_pos)
-    $P10 = rx1080_cur."O"("%relational, :pirop<isge ISs>")
-    unless $P10, rx1080_fail
-    rx1080_cur."!mark_push"(0, -1, 0, $P10)
+    rx1079_cur."!cursor_pos"(rx1079_pos)
+    $P10 = rx1079_cur."O"("%relational, :pirop<iseq ISs>")
+    unless $P10, rx1079_fail
+    rx1079_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("O")
-    rx1080_pos = $P10."pos"()
+    rx1079_pos = $P10."pos"()
   # rx pass
-    rx1080_cur."!cursor_pass"(rx1080_pos, "infix:sym<ge>")
-    rx1080_cur."!cursor_debug"("PASS  ", "infix:sym<ge>", " at pos=", rx1080_pos)
-    .return (rx1080_cur)
-  rx1080_fail:
-.annotate "line", 390
-    (rx1080_rep, rx1080_pos, $I10, $P10) = rx1080_cur."!mark_fail"(0)
-    lt rx1080_pos, -1, rx1080_done
-    eq rx1080_pos, -1, rx1080_fail
+    rx1079_cur."!cursor_pass"(rx1079_pos, "infix:sym<eq>")
+    rx1079_cur."!cursor_debug"("PASS  ", "infix:sym<eq>", " at pos=", rx1079_pos)
+    .return (rx1079_cur)
+  rx1079_fail:
+.annotate "line", 400
+    (rx1079_rep, rx1079_pos, $I10, $P10) = rx1079_cur."!mark_fail"(0)
+    lt rx1079_pos, -1, rx1079_done
+    eq rx1079_pos, -1, rx1079_fail
     jump $I10
-  rx1080_done:
-    rx1080_cur."!cursor_fail"()
-    rx1080_cur."!cursor_debug"("FAIL  ", "infix:sym<ge>")
-    .return (rx1080_cur)
+  rx1079_done:
+    rx1079_cur."!cursor_fail"()
+    rx1079_cur."!cursor_debug"("FAIL  ", "infix:sym<eq>")
+    .return (rx1079_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__infix:sym<ge>"  :subid("276_1259103982.97329") :method
-.annotate "line", 390
-    $P1082 = self."!PREFIX__!subrule"("O", "ge")
-    new $P1083, "ResizablePMCArray"
-    push $P1083, $P1082
-    .return ($P1083)
+.sub "!PREFIX__infix:sym<eq>"  :subid("274_1259177761.22934") :method
+.annotate "line", 400
+    $P1081 = self."!PREFIX__!subrule"("O", "eq")
+    new $P1082, "ResizablePMCArray"
+    push $P1082, $P1081
+    .return ($P1082)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "infix:sym<lt>"  :subid("277_1259103982.97329") :method :outer("11_1259103982.97329")
-.annotate "line", 390
-    .local string rx1087_tgt
-    .local int rx1087_pos
-    .local int rx1087_off
-    .local int rx1087_eos
-    .local int rx1087_rep
-    .local pmc rx1087_cur
-    (rx1087_cur, rx1087_pos, rx1087_tgt) = self."!cursor_start"()
-    rx1087_cur."!cursor_debug"("START ", "infix:sym<lt>")
-    .lex unicode:"$\x{a2}", rx1087_cur
-    .local pmc match
-    .lex "$/", match
-    length rx1087_eos, rx1087_tgt
-    set rx1087_off, 0
-    lt rx1087_pos, 2, rx1087_start
-    sub rx1087_off, rx1087_pos, 1
-    substr rx1087_tgt, rx1087_tgt, rx1087_off
-  rx1087_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan1091_done
-    goto rxscan1091_scan
-  rxscan1091_loop:
-    ($P10) = rx1087_cur."from"()
-    inc $P10
-    set rx1087_pos, $P10
-    ge rx1087_pos, rx1087_eos, rxscan1091_done
-  rxscan1091_scan:
-    set_addr $I10, rxscan1091_loop
-    rx1087_cur."!mark_push"(0, rx1087_pos, $I10)
-  rxscan1091_done:
-.annotate "line", 469
+.sub "infix:sym<ne>"  :subid("275_1259177761.22934") :method :outer("11_1259177761.22934")
+.annotate "line", 400
+    .local string rx1086_tgt
+    .local int rx1086_pos
+    .local int rx1086_off
+    .local int rx1086_eos
+    .local int rx1086_rep
+    .local pmc rx1086_cur
+    (rx1086_cur, rx1086_pos, rx1086_tgt) = self."!cursor_start"()
+    rx1086_cur."!cursor_debug"("START ", "infix:sym<ne>")
+    .lex unicode:"$\x{a2}", rx1086_cur
+    .local pmc match
+    .lex "$/", match
+    length rx1086_eos, rx1086_tgt
+    set rx1086_off, 0
+    lt rx1086_pos, 2, rx1086_start
+    sub rx1086_off, rx1086_pos, 1
+    substr rx1086_tgt, rx1086_tgt, rx1086_off
+  rx1086_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan1090_done
+    goto rxscan1090_scan
+  rxscan1090_loop:
+    ($P10) = rx1086_cur."from"()
+    inc $P10
+    set rx1086_pos, $P10
+    ge rx1086_pos, rx1086_eos, rxscan1090_done
+  rxscan1090_scan:
+    set_addr $I10, rxscan1090_loop
+    rx1086_cur."!mark_push"(0, rx1086_pos, $I10)
+  rxscan1090_done:
+.annotate "line", 476
   # rx subcapture "sym"
-    set_addr $I10, rxcap_1092_fail
-    rx1087_cur."!mark_push"(0, rx1087_pos, $I10)
-  # rx literal  "lt"
-    add $I11, rx1087_pos, 2
-    gt $I11, rx1087_eos, rx1087_fail
-    sub $I11, rx1087_pos, rx1087_off
-    substr $S10, rx1087_tgt, $I11, 2
-    ne $S10, "lt", rx1087_fail
-    add rx1087_pos, 2
-    set_addr $I10, rxcap_1092_fail
-    ($I12, $I11) = rx1087_cur."!mark_peek"($I10)
-    rx1087_cur."!cursor_pos"($I11)
-    ($P10) = rx1087_cur."!cursor_start"()
-    $P10."!cursor_pass"(rx1087_pos, "")
-    rx1087_cur."!mark_push"(0, -1, 0, $P10)
+    set_addr $I10, rxcap_1091_fail
+    rx1086_cur."!mark_push"(0, rx1086_pos, $I10)
+  # rx literal  "ne"
+    add $I11, rx1086_pos, 2
+    gt $I11, rx1086_eos, rx1086_fail
+    sub $I11, rx1086_pos, rx1086_off
+    substr $S10, rx1086_tgt, $I11, 2
+    ne $S10, "ne", rx1086_fail
+    add rx1086_pos, 2
+    set_addr $I10, rxcap_1091_fail
+    ($I12, $I11) = rx1086_cur."!mark_peek"($I10)
+    rx1086_cur."!cursor_pos"($I11)
+    ($P10) = rx1086_cur."!cursor_start"()
+    $P10."!cursor_pass"(rx1086_pos, "")
+    rx1086_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("sym")
-    goto rxcap_1092_done
-  rxcap_1092_fail:
-    goto rx1087_fail
-  rxcap_1092_done:
+    goto rxcap_1091_done
+  rxcap_1091_fail:
+    goto rx1086_fail
+  rxcap_1091_done:
   # rx subrule "O" subtype=capture negate=
-    rx1087_cur."!cursor_pos"(rx1087_pos)
-    $P10 = rx1087_cur."O"("%relational, :pirop<islt ISs>")
-    unless $P10, rx1087_fail
-    rx1087_cur."!mark_push"(0, -1, 0, $P10)
+    rx1086_cur."!cursor_pos"(rx1086_pos)
+    $P10 = rx1086_cur."O"("%relational, :pirop<isne ISs>")
+    unless $P10, rx1086_fail
+    rx1086_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("O")
-    rx1087_pos = $P10."pos"()
+    rx1086_pos = $P10."pos"()
   # rx pass
-    rx1087_cur."!cursor_pass"(rx1087_pos, "infix:sym<lt>")
-    rx1087_cur."!cursor_debug"("PASS  ", "infix:sym<lt>", " at pos=", rx1087_pos)
-    .return (rx1087_cur)
-  rx1087_fail:
-.annotate "line", 390
-    (rx1087_rep, rx1087_pos, $I10, $P10) = rx1087_cur."!mark_fail"(0)
-    lt rx1087_pos, -1, rx1087_done
-    eq rx1087_pos, -1, rx1087_fail
+    rx1086_cur."!cursor_pass"(rx1086_pos, "infix:sym<ne>")
+    rx1086_cur."!cursor_debug"("PASS  ", "infix:sym<ne>", " at pos=", rx1086_pos)
+    .return (rx1086_cur)
+  rx1086_fail:
+.annotate "line", 400
+    (rx1086_rep, rx1086_pos, $I10, $P10) = rx1086_cur."!mark_fail"(0)
+    lt rx1086_pos, -1, rx1086_done
+    eq rx1086_pos, -1, rx1086_fail
     jump $I10
-  rx1087_done:
-    rx1087_cur."!cursor_fail"()
-    rx1087_cur."!cursor_debug"("FAIL  ", "infix:sym<lt>")
-    .return (rx1087_cur)
+  rx1086_done:
+    rx1086_cur."!cursor_fail"()
+    rx1086_cur."!cursor_debug"("FAIL  ", "infix:sym<ne>")
+    .return (rx1086_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__infix:sym<lt>"  :subid("278_1259103982.97329") :method
-.annotate "line", 390
-    $P1089 = self."!PREFIX__!subrule"("O", "lt")
-    new $P1090, "ResizablePMCArray"
-    push $P1090, $P1089
-    .return ($P1090)
+.sub "!PREFIX__infix:sym<ne>"  :subid("276_1259177761.22934") :method
+.annotate "line", 400
+    $P1088 = self."!PREFIX__!subrule"("O", "ne")
+    new $P1089, "ResizablePMCArray"
+    push $P1089, $P1088
+    .return ($P1089)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "infix:sym<gt>"  :subid("279_1259103982.97329") :method :outer("11_1259103982.97329")
-.annotate "line", 390
-    .local string rx1094_tgt
-    .local int rx1094_pos
-    .local int rx1094_off
-    .local int rx1094_eos
-    .local int rx1094_rep
-    .local pmc rx1094_cur
-    (rx1094_cur, rx1094_pos, rx1094_tgt) = self."!cursor_start"()
-    rx1094_cur."!cursor_debug"("START ", "infix:sym<gt>")
-    .lex unicode:"$\x{a2}", rx1094_cur
-    .local pmc match
-    .lex "$/", match
-    length rx1094_eos, rx1094_tgt
-    set rx1094_off, 0
-    lt rx1094_pos, 2, rx1094_start
-    sub rx1094_off, rx1094_pos, 1
-    substr rx1094_tgt, rx1094_tgt, rx1094_off
-  rx1094_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan1098_done
-    goto rxscan1098_scan
-  rxscan1098_loop:
-    ($P10) = rx1094_cur."from"()
-    inc $P10
-    set rx1094_pos, $P10
-    ge rx1094_pos, rx1094_eos, rxscan1098_done
-  rxscan1098_scan:
-    set_addr $I10, rxscan1098_loop
-    rx1094_cur."!mark_push"(0, rx1094_pos, $I10)
-  rxscan1098_done:
-.annotate "line", 470
+.sub "infix:sym<le>"  :subid("277_1259177761.22934") :method :outer("11_1259177761.22934")
+.annotate "line", 400
+    .local string rx1093_tgt
+    .local int rx1093_pos
+    .local int rx1093_off
+    .local int rx1093_eos
+    .local int rx1093_rep
+    .local pmc rx1093_cur
+    (rx1093_cur, rx1093_pos, rx1093_tgt) = self."!cursor_start"()
+    rx1093_cur."!cursor_debug"("START ", "infix:sym<le>")
+    .lex unicode:"$\x{a2}", rx1093_cur
+    .local pmc match
+    .lex "$/", match
+    length rx1093_eos, rx1093_tgt
+    set rx1093_off, 0
+    lt rx1093_pos, 2, rx1093_start
+    sub rx1093_off, rx1093_pos, 1
+    substr rx1093_tgt, rx1093_tgt, rx1093_off
+  rx1093_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan1097_done
+    goto rxscan1097_scan
+  rxscan1097_loop:
+    ($P10) = rx1093_cur."from"()
+    inc $P10
+    set rx1093_pos, $P10
+    ge rx1093_pos, rx1093_eos, rxscan1097_done
+  rxscan1097_scan:
+    set_addr $I10, rxscan1097_loop
+    rx1093_cur."!mark_push"(0, rx1093_pos, $I10)
+  rxscan1097_done:
+.annotate "line", 477
   # rx subcapture "sym"
-    set_addr $I10, rxcap_1099_fail
-    rx1094_cur."!mark_push"(0, rx1094_pos, $I10)
-  # rx literal  "gt"
-    add $I11, rx1094_pos, 2
-    gt $I11, rx1094_eos, rx1094_fail
-    sub $I11, rx1094_pos, rx1094_off
-    substr $S10, rx1094_tgt, $I11, 2
-    ne $S10, "gt", rx1094_fail
-    add rx1094_pos, 2
-    set_addr $I10, rxcap_1099_fail
-    ($I12, $I11) = rx1094_cur."!mark_peek"($I10)
-    rx1094_cur."!cursor_pos"($I11)
-    ($P10) = rx1094_cur."!cursor_start"()
-    $P10."!cursor_pass"(rx1094_pos, "")
-    rx1094_cur."!mark_push"(0, -1, 0, $P10)
+    set_addr $I10, rxcap_1098_fail
+    rx1093_cur."!mark_push"(0, rx1093_pos, $I10)
+  # rx literal  "le"
+    add $I11, rx1093_pos, 2
+    gt $I11, rx1093_eos, rx1093_fail
+    sub $I11, rx1093_pos, rx1093_off
+    substr $S10, rx1093_tgt, $I11, 2
+    ne $S10, "le", rx1093_fail
+    add rx1093_pos, 2
+    set_addr $I10, rxcap_1098_fail
+    ($I12, $I11) = rx1093_cur."!mark_peek"($I10)
+    rx1093_cur."!cursor_pos"($I11)
+    ($P10) = rx1093_cur."!cursor_start"()
+    $P10."!cursor_pass"(rx1093_pos, "")
+    rx1093_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("sym")
-    goto rxcap_1099_done
-  rxcap_1099_fail:
-    goto rx1094_fail
-  rxcap_1099_done:
+    goto rxcap_1098_done
+  rxcap_1098_fail:
+    goto rx1093_fail
+  rxcap_1098_done:
   # rx subrule "O" subtype=capture negate=
-    rx1094_cur."!cursor_pos"(rx1094_pos)
-    $P10 = rx1094_cur."O"("%relational, :pirop<isgt ISs>")
-    unless $P10, rx1094_fail
-    rx1094_cur."!mark_push"(0, -1, 0, $P10)
+    rx1093_cur."!cursor_pos"(rx1093_pos)
+    $P10 = rx1093_cur."O"("%relational, :pirop<isle ISs>")
+    unless $P10, rx1093_fail
+    rx1093_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("O")
-    rx1094_pos = $P10."pos"()
+    rx1093_pos = $P10."pos"()
   # rx pass
-    rx1094_cur."!cursor_pass"(rx1094_pos, "infix:sym<gt>")
-    rx1094_cur."!cursor_debug"("PASS  ", "infix:sym<gt>", " at pos=", rx1094_pos)
-    .return (rx1094_cur)
-  rx1094_fail:
-.annotate "line", 390
-    (rx1094_rep, rx1094_pos, $I10, $P10) = rx1094_cur."!mark_fail"(0)
-    lt rx1094_pos, -1, rx1094_done
-    eq rx1094_pos, -1, rx1094_fail
+    rx1093_cur."!cursor_pass"(rx1093_pos, "infix:sym<le>")
+    rx1093_cur."!cursor_debug"("PASS  ", "infix:sym<le>", " at pos=", rx1093_pos)
+    .return (rx1093_cur)
+  rx1093_fail:
+.annotate "line", 400
+    (rx1093_rep, rx1093_pos, $I10, $P10) = rx1093_cur."!mark_fail"(0)
+    lt rx1093_pos, -1, rx1093_done
+    eq rx1093_pos, -1, rx1093_fail
     jump $I10
-  rx1094_done:
-    rx1094_cur."!cursor_fail"()
-    rx1094_cur."!cursor_debug"("FAIL  ", "infix:sym<gt>")
-    .return (rx1094_cur)
+  rx1093_done:
+    rx1093_cur."!cursor_fail"()
+    rx1093_cur."!cursor_debug"("FAIL  ", "infix:sym<le>")
+    .return (rx1093_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__infix:sym<gt>"  :subid("280_1259103982.97329") :method
-.annotate "line", 390
-    $P1096 = self."!PREFIX__!subrule"("O", "gt")
-    new $P1097, "ResizablePMCArray"
-    push $P1097, $P1096
-    .return ($P1097)
+.sub "!PREFIX__infix:sym<le>"  :subid("278_1259177761.22934") :method
+.annotate "line", 400
+    $P1095 = self."!PREFIX__!subrule"("O", "le")
+    new $P1096, "ResizablePMCArray"
+    push $P1096, $P1095
+    .return ($P1096)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "infix:sym<=:=>"  :subid("281_1259103982.97329") :method :outer("11_1259103982.97329")
-.annotate "line", 390
-    .local string rx1101_tgt
-    .local int rx1101_pos
-    .local int rx1101_off
-    .local int rx1101_eos
-    .local int rx1101_rep
-    .local pmc rx1101_cur
-    (rx1101_cur, rx1101_pos, rx1101_tgt) = self."!cursor_start"()
-    rx1101_cur."!cursor_debug"("START ", "infix:sym<=:=>")
-    .lex unicode:"$\x{a2}", rx1101_cur
-    .local pmc match
-    .lex "$/", match
-    length rx1101_eos, rx1101_tgt
-    set rx1101_off, 0
-    lt rx1101_pos, 2, rx1101_start
-    sub rx1101_off, rx1101_pos, 1
-    substr rx1101_tgt, rx1101_tgt, rx1101_off
-  rx1101_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan1105_done
-    goto rxscan1105_scan
-  rxscan1105_loop:
-    ($P10) = rx1101_cur."from"()
-    inc $P10
-    set rx1101_pos, $P10
-    ge rx1101_pos, rx1101_eos, rxscan1105_done
-  rxscan1105_scan:
-    set_addr $I10, rxscan1105_loop
-    rx1101_cur."!mark_push"(0, rx1101_pos, $I10)
-  rxscan1105_done:
-.annotate "line", 471
+.sub "infix:sym<ge>"  :subid("279_1259177761.22934") :method :outer("11_1259177761.22934")
+.annotate "line", 400
+    .local string rx1100_tgt
+    .local int rx1100_pos
+    .local int rx1100_off
+    .local int rx1100_eos
+    .local int rx1100_rep
+    .local pmc rx1100_cur
+    (rx1100_cur, rx1100_pos, rx1100_tgt) = self."!cursor_start"()
+    rx1100_cur."!cursor_debug"("START ", "infix:sym<ge>")
+    .lex unicode:"$\x{a2}", rx1100_cur
+    .local pmc match
+    .lex "$/", match
+    length rx1100_eos, rx1100_tgt
+    set rx1100_off, 0
+    lt rx1100_pos, 2, rx1100_start
+    sub rx1100_off, rx1100_pos, 1
+    substr rx1100_tgt, rx1100_tgt, rx1100_off
+  rx1100_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan1104_done
+    goto rxscan1104_scan
+  rxscan1104_loop:
+    ($P10) = rx1100_cur."from"()
+    inc $P10
+    set rx1100_pos, $P10
+    ge rx1100_pos, rx1100_eos, rxscan1104_done
+  rxscan1104_scan:
+    set_addr $I10, rxscan1104_loop
+    rx1100_cur."!mark_push"(0, rx1100_pos, $I10)
+  rxscan1104_done:
+.annotate "line", 478
   # rx subcapture "sym"
-    set_addr $I10, rxcap_1106_fail
-    rx1101_cur."!mark_push"(0, rx1101_pos, $I10)
-  # rx literal  "=:="
-    add $I11, rx1101_pos, 3
-    gt $I11, rx1101_eos, rx1101_fail
-    sub $I11, rx1101_pos, rx1101_off
-    substr $S10, rx1101_tgt, $I11, 3
-    ne $S10, "=:=", rx1101_fail
-    add rx1101_pos, 3
-    set_addr $I10, rxcap_1106_fail
-    ($I12, $I11) = rx1101_cur."!mark_peek"($I10)
-    rx1101_cur."!cursor_pos"($I11)
-    ($P10) = rx1101_cur."!cursor_start"()
-    $P10."!cursor_pass"(rx1101_pos, "")
-    rx1101_cur."!mark_push"(0, -1, 0, $P10)
+    set_addr $I10, rxcap_1105_fail
+    rx1100_cur."!mark_push"(0, rx1100_pos, $I10)
+  # rx literal  "ge"
+    add $I11, rx1100_pos, 2
+    gt $I11, rx1100_eos, rx1100_fail
+    sub $I11, rx1100_pos, rx1100_off
+    substr $S10, rx1100_tgt, $I11, 2
+    ne $S10, "ge", rx1100_fail
+    add rx1100_pos, 2
+    set_addr $I10, rxcap_1105_fail
+    ($I12, $I11) = rx1100_cur."!mark_peek"($I10)
+    rx1100_cur."!cursor_pos"($I11)
+    ($P10) = rx1100_cur."!cursor_start"()
+    $P10."!cursor_pass"(rx1100_pos, "")
+    rx1100_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("sym")
-    goto rxcap_1106_done
-  rxcap_1106_fail:
-    goto rx1101_fail
-  rxcap_1106_done:
+    goto rxcap_1105_done
+  rxcap_1105_fail:
+    goto rx1100_fail
+  rxcap_1105_done:
   # rx subrule "O" subtype=capture negate=
-    rx1101_cur."!cursor_pos"(rx1101_pos)
-    $P10 = rx1101_cur."O"("%relational, :pirop<issame>")
-    unless $P10, rx1101_fail
-    rx1101_cur."!mark_push"(0, -1, 0, $P10)
+    rx1100_cur."!cursor_pos"(rx1100_pos)
+    $P10 = rx1100_cur."O"("%relational, :pirop<isge ISs>")
+    unless $P10, rx1100_fail
+    rx1100_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("O")
-    rx1101_pos = $P10."pos"()
+    rx1100_pos = $P10."pos"()
   # rx pass
-    rx1101_cur."!cursor_pass"(rx1101_pos, "infix:sym<=:=>")
-    rx1101_cur."!cursor_debug"("PASS  ", "infix:sym<=:=>", " at pos=", rx1101_pos)
-    .return (rx1101_cur)
-  rx1101_fail:
-.annotate "line", 390
-    (rx1101_rep, rx1101_pos, $I10, $P10) = rx1101_cur."!mark_fail"(0)
-    lt rx1101_pos, -1, rx1101_done
-    eq rx1101_pos, -1, rx1101_fail
+    rx1100_cur."!cursor_pass"(rx1100_pos, "infix:sym<ge>")
+    rx1100_cur."!cursor_debug"("PASS  ", "infix:sym<ge>", " at pos=", rx1100_pos)
+    .return (rx1100_cur)
+  rx1100_fail:
+.annotate "line", 400
+    (rx1100_rep, rx1100_pos, $I10, $P10) = rx1100_cur."!mark_fail"(0)
+    lt rx1100_pos, -1, rx1100_done
+    eq rx1100_pos, -1, rx1100_fail
     jump $I10
-  rx1101_done:
-    rx1101_cur."!cursor_fail"()
-    rx1101_cur."!cursor_debug"("FAIL  ", "infix:sym<=:=>")
-    .return (rx1101_cur)
+  rx1100_done:
+    rx1100_cur."!cursor_fail"()
+    rx1100_cur."!cursor_debug"("FAIL  ", "infix:sym<ge>")
+    .return (rx1100_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__infix:sym<=:=>"  :subid("282_1259103982.97329") :method
-.annotate "line", 390
-    $P1103 = self."!PREFIX__!subrule"("O", "=:=")
-    new $P1104, "ResizablePMCArray"
-    push $P1104, $P1103
-    .return ($P1104)
+.sub "!PREFIX__infix:sym<ge>"  :subid("280_1259177761.22934") :method
+.annotate "line", 400
+    $P1102 = self."!PREFIX__!subrule"("O", "ge")
+    new $P1103, "ResizablePMCArray"
+    push $P1103, $P1102
+    .return ($P1103)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "infix:sym<&&>"  :subid("283_1259103982.97329") :method :outer("11_1259103982.97329")
-.annotate "line", 390
-    .local string rx1108_tgt
-    .local int rx1108_pos
-    .local int rx1108_off
-    .local int rx1108_eos
-    .local int rx1108_rep
-    .local pmc rx1108_cur
-    (rx1108_cur, rx1108_pos, rx1108_tgt) = self."!cursor_start"()
-    rx1108_cur."!cursor_debug"("START ", "infix:sym<&&>")
-    .lex unicode:"$\x{a2}", rx1108_cur
-    .local pmc match
-    .lex "$/", match
-    length rx1108_eos, rx1108_tgt
-    set rx1108_off, 0
-    lt rx1108_pos, 2, rx1108_start
-    sub rx1108_off, rx1108_pos, 1
-    substr rx1108_tgt, rx1108_tgt, rx1108_off
-  rx1108_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan1112_done
-    goto rxscan1112_scan
-  rxscan1112_loop:
-    ($P10) = rx1108_cur."from"()
-    inc $P10
-    set rx1108_pos, $P10
-    ge rx1108_pos, rx1108_eos, rxscan1112_done
-  rxscan1112_scan:
-    set_addr $I10, rxscan1112_loop
-    rx1108_cur."!mark_push"(0, rx1108_pos, $I10)
-  rxscan1112_done:
-.annotate "line", 473
+.sub "infix:sym<lt>"  :subid("281_1259177761.22934") :method :outer("11_1259177761.22934")
+.annotate "line", 400
+    .local string rx1107_tgt
+    .local int rx1107_pos
+    .local int rx1107_off
+    .local int rx1107_eos
+    .local int rx1107_rep
+    .local pmc rx1107_cur
+    (rx1107_cur, rx1107_pos, rx1107_tgt) = self."!cursor_start"()
+    rx1107_cur."!cursor_debug"("START ", "infix:sym<lt>")
+    .lex unicode:"$\x{a2}", rx1107_cur
+    .local pmc match
+    .lex "$/", match
+    length rx1107_eos, rx1107_tgt
+    set rx1107_off, 0
+    lt rx1107_pos, 2, rx1107_start
+    sub rx1107_off, rx1107_pos, 1
+    substr rx1107_tgt, rx1107_tgt, rx1107_off
+  rx1107_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan1111_done
+    goto rxscan1111_scan
+  rxscan1111_loop:
+    ($P10) = rx1107_cur."from"()
+    inc $P10
+    set rx1107_pos, $P10
+    ge rx1107_pos, rx1107_eos, rxscan1111_done
+  rxscan1111_scan:
+    set_addr $I10, rxscan1111_loop
+    rx1107_cur."!mark_push"(0, rx1107_pos, $I10)
+  rxscan1111_done:
+.annotate "line", 479
   # rx subcapture "sym"
-    set_addr $I10, rxcap_1113_fail
-    rx1108_cur."!mark_push"(0, rx1108_pos, $I10)
-  # rx literal  "&&"
-    add $I11, rx1108_pos, 2
-    gt $I11, rx1108_eos, rx1108_fail
-    sub $I11, rx1108_pos, rx1108_off
-    substr $S10, rx1108_tgt, $I11, 2
-    ne $S10, "&&", rx1108_fail
-    add rx1108_pos, 2
-    set_addr $I10, rxcap_1113_fail
-    ($I12, $I11) = rx1108_cur."!mark_peek"($I10)
-    rx1108_cur."!cursor_pos"($I11)
-    ($P10) = rx1108_cur."!cursor_start"()
-    $P10."!cursor_pass"(rx1108_pos, "")
-    rx1108_cur."!mark_push"(0, -1, 0, $P10)
+    set_addr $I10, rxcap_1112_fail
+    rx1107_cur."!mark_push"(0, rx1107_pos, $I10)
+  # rx literal  "lt"
+    add $I11, rx1107_pos, 2
+    gt $I11, rx1107_eos, rx1107_fail
+    sub $I11, rx1107_pos, rx1107_off
+    substr $S10, rx1107_tgt, $I11, 2
+    ne $S10, "lt", rx1107_fail
+    add rx1107_pos, 2
+    set_addr $I10, rxcap_1112_fail
+    ($I12, $I11) = rx1107_cur."!mark_peek"($I10)
+    rx1107_cur."!cursor_pos"($I11)
+    ($P10) = rx1107_cur."!cursor_start"()
+    $P10."!cursor_pass"(rx1107_pos, "")
+    rx1107_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("sym")
-    goto rxcap_1113_done
-  rxcap_1113_fail:
-    goto rx1108_fail
-  rxcap_1113_done:
+    goto rxcap_1112_done
+  rxcap_1112_fail:
+    goto rx1107_fail
+  rxcap_1112_done:
   # rx subrule "O" subtype=capture negate=
-    rx1108_cur."!cursor_pos"(rx1108_pos)
-    $P10 = rx1108_cur."O"("%tight_and, :pasttype<if>")
-    unless $P10, rx1108_fail
-    rx1108_cur."!mark_push"(0, -1, 0, $P10)
+    rx1107_cur."!cursor_pos"(rx1107_pos)
+    $P10 = rx1107_cur."O"("%relational, :pirop<islt ISs>")
+    unless $P10, rx1107_fail
+    rx1107_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("O")
-    rx1108_pos = $P10."pos"()
+    rx1107_pos = $P10."pos"()
   # rx pass
-    rx1108_cur."!cursor_pass"(rx1108_pos, "infix:sym<&&>")
-    rx1108_cur."!cursor_debug"("PASS  ", "infix:sym<&&>", " at pos=", rx1108_pos)
-    .return (rx1108_cur)
-  rx1108_fail:
-.annotate "line", 390
-    (rx1108_rep, rx1108_pos, $I10, $P10) = rx1108_cur."!mark_fail"(0)
-    lt rx1108_pos, -1, rx1108_done
-    eq rx1108_pos, -1, rx1108_fail
+    rx1107_cur."!cursor_pass"(rx1107_pos, "infix:sym<lt>")
+    rx1107_cur."!cursor_debug"("PASS  ", "infix:sym<lt>", " at pos=", rx1107_pos)
+    .return (rx1107_cur)
+  rx1107_fail:
+.annotate "line", 400
+    (rx1107_rep, rx1107_pos, $I10, $P10) = rx1107_cur."!mark_fail"(0)
+    lt rx1107_pos, -1, rx1107_done
+    eq rx1107_pos, -1, rx1107_fail
     jump $I10
-  rx1108_done:
-    rx1108_cur."!cursor_fail"()
-    rx1108_cur."!cursor_debug"("FAIL  ", "infix:sym<&&>")
-    .return (rx1108_cur)
+  rx1107_done:
+    rx1107_cur."!cursor_fail"()
+    rx1107_cur."!cursor_debug"("FAIL  ", "infix:sym<lt>")
+    .return (rx1107_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__infix:sym<&&>"  :subid("284_1259103982.97329") :method
-.annotate "line", 390
-    $P1110 = self."!PREFIX__!subrule"("O", "&&")
-    new $P1111, "ResizablePMCArray"
-    push $P1111, $P1110
-    .return ($P1111)
+.sub "!PREFIX__infix:sym<lt>"  :subid("282_1259177761.22934") :method
+.annotate "line", 400
+    $P1109 = self."!PREFIX__!subrule"("O", "lt")
+    new $P1110, "ResizablePMCArray"
+    push $P1110, $P1109
+    .return ($P1110)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "infix:sym<||>"  :subid("285_1259103982.97329") :method :outer("11_1259103982.97329")
-.annotate "line", 390
-    .local string rx1115_tgt
-    .local int rx1115_pos
-    .local int rx1115_off
-    .local int rx1115_eos
-    .local int rx1115_rep
-    .local pmc rx1115_cur
-    (rx1115_cur, rx1115_pos, rx1115_tgt) = self."!cursor_start"()
-    rx1115_cur."!cursor_debug"("START ", "infix:sym<||>")
-    .lex unicode:"$\x{a2}", rx1115_cur
-    .local pmc match
-    .lex "$/", match
-    length rx1115_eos, rx1115_tgt
-    set rx1115_off, 0
-    lt rx1115_pos, 2, rx1115_start
-    sub rx1115_off, rx1115_pos, 1
-    substr rx1115_tgt, rx1115_tgt, rx1115_off
-  rx1115_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan1119_done
-    goto rxscan1119_scan
-  rxscan1119_loop:
-    ($P10) = rx1115_cur."from"()
-    inc $P10
-    set rx1115_pos, $P10
-    ge rx1115_pos, rx1115_eos, rxscan1119_done
-  rxscan1119_scan:
-    set_addr $I10, rxscan1119_loop
-    rx1115_cur."!mark_push"(0, rx1115_pos, $I10)
-  rxscan1119_done:
-.annotate "line", 475
+.sub "infix:sym<gt>"  :subid("283_1259177761.22934") :method :outer("11_1259177761.22934")
+.annotate "line", 400
+    .local string rx1114_tgt
+    .local int rx1114_pos
+    .local int rx1114_off
+    .local int rx1114_eos
+    .local int rx1114_rep
+    .local pmc rx1114_cur
+    (rx1114_cur, rx1114_pos, rx1114_tgt) = self."!cursor_start"()
+    rx1114_cur."!cursor_debug"("START ", "infix:sym<gt>")
+    .lex unicode:"$\x{a2}", rx1114_cur
+    .local pmc match
+    .lex "$/", match
+    length rx1114_eos, rx1114_tgt
+    set rx1114_off, 0
+    lt rx1114_pos, 2, rx1114_start
+    sub rx1114_off, rx1114_pos, 1
+    substr rx1114_tgt, rx1114_tgt, rx1114_off
+  rx1114_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan1118_done
+    goto rxscan1118_scan
+  rxscan1118_loop:
+    ($P10) = rx1114_cur."from"()
+    inc $P10
+    set rx1114_pos, $P10
+    ge rx1114_pos, rx1114_eos, rxscan1118_done
+  rxscan1118_scan:
+    set_addr $I10, rxscan1118_loop
+    rx1114_cur."!mark_push"(0, rx1114_pos, $I10)
+  rxscan1118_done:
+.annotate "line", 480
   # rx subcapture "sym"
-    set_addr $I10, rxcap_1120_fail
-    rx1115_cur."!mark_push"(0, rx1115_pos, $I10)
-  # rx literal  "||"
-    add $I11, rx1115_pos, 2
-    gt $I11, rx1115_eos, rx1115_fail
-    sub $I11, rx1115_pos, rx1115_off
-    substr $S10, rx1115_tgt, $I11, 2
-    ne $S10, "||", rx1115_fail
-    add rx1115_pos, 2
-    set_addr $I10, rxcap_1120_fail
-    ($I12, $I11) = rx1115_cur."!mark_peek"($I10)
-    rx1115_cur."!cursor_pos"($I11)
-    ($P10) = rx1115_cur."!cursor_start"()
-    $P10."!cursor_pass"(rx1115_pos, "")
-    rx1115_cur."!mark_push"(0, -1, 0, $P10)
+    set_addr $I10, rxcap_1119_fail
+    rx1114_cur."!mark_push"(0, rx1114_pos, $I10)
+  # rx literal  "gt"
+    add $I11, rx1114_pos, 2
+    gt $I11, rx1114_eos, rx1114_fail
+    sub $I11, rx1114_pos, rx1114_off
+    substr $S10, rx1114_tgt, $I11, 2
+    ne $S10, "gt", rx1114_fail
+    add rx1114_pos, 2
+    set_addr $I10, rxcap_1119_fail
+    ($I12, $I11) = rx1114_cur."!mark_peek"($I10)
+    rx1114_cur."!cursor_pos"($I11)
+    ($P10) = rx1114_cur."!cursor_start"()
+    $P10."!cursor_pass"(rx1114_pos, "")
+    rx1114_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("sym")
-    goto rxcap_1120_done
-  rxcap_1120_fail:
-    goto rx1115_fail
-  rxcap_1120_done:
+    goto rxcap_1119_done
+  rxcap_1119_fail:
+    goto rx1114_fail
+  rxcap_1119_done:
   # rx subrule "O" subtype=capture negate=
-    rx1115_cur."!cursor_pos"(rx1115_pos)
-    $P10 = rx1115_cur."O"("%tight_or, :pasttype<unless>")
-    unless $P10, rx1115_fail
-    rx1115_cur."!mark_push"(0, -1, 0, $P10)
+    rx1114_cur."!cursor_pos"(rx1114_pos)
+    $P10 = rx1114_cur."O"("%relational, :pirop<isgt ISs>")
+    unless $P10, rx1114_fail
+    rx1114_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("O")
-    rx1115_pos = $P10."pos"()
+    rx1114_pos = $P10."pos"()
   # rx pass
-    rx1115_cur."!cursor_pass"(rx1115_pos, "infix:sym<||>")
-    rx1115_cur."!cursor_debug"("PASS  ", "infix:sym<||>", " at pos=", rx1115_pos)
-    .return (rx1115_cur)
-  rx1115_fail:
-.annotate "line", 390
-    (rx1115_rep, rx1115_pos, $I10, $P10) = rx1115_cur."!mark_fail"(0)
-    lt rx1115_pos, -1, rx1115_done
-    eq rx1115_pos, -1, rx1115_fail
+    rx1114_cur."!cursor_pass"(rx1114_pos, "infix:sym<gt>")
+    rx1114_cur."!cursor_debug"("PASS  ", "infix:sym<gt>", " at pos=", rx1114_pos)
+    .return (rx1114_cur)
+  rx1114_fail:
+.annotate "line", 400
+    (rx1114_rep, rx1114_pos, $I10, $P10) = rx1114_cur."!mark_fail"(0)
+    lt rx1114_pos, -1, rx1114_done
+    eq rx1114_pos, -1, rx1114_fail
     jump $I10
-  rx1115_done:
-    rx1115_cur."!cursor_fail"()
-    rx1115_cur."!cursor_debug"("FAIL  ", "infix:sym<||>")
-    .return (rx1115_cur)
+  rx1114_done:
+    rx1114_cur."!cursor_fail"()
+    rx1114_cur."!cursor_debug"("FAIL  ", "infix:sym<gt>")
+    .return (rx1114_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__infix:sym<||>"  :subid("286_1259103982.97329") :method
-.annotate "line", 390
-    $P1117 = self."!PREFIX__!subrule"("O", "||")
-    new $P1118, "ResizablePMCArray"
-    push $P1118, $P1117
-    .return ($P1118)
+.sub "!PREFIX__infix:sym<gt>"  :subid("284_1259177761.22934") :method
+.annotate "line", 400
+    $P1116 = self."!PREFIX__!subrule"("O", "gt")
+    new $P1117, "ResizablePMCArray"
+    push $P1117, $P1116
+    .return ($P1117)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "infix:sym<//>"  :subid("287_1259103982.97329") :method :outer("11_1259103982.97329")
-.annotate "line", 390
-    .local string rx1122_tgt
-    .local int rx1122_pos
-    .local int rx1122_off
-    .local int rx1122_eos
-    .local int rx1122_rep
-    .local pmc rx1122_cur
-    (rx1122_cur, rx1122_pos, rx1122_tgt) = self."!cursor_start"()
-    rx1122_cur."!cursor_debug"("START ", "infix:sym<//>")
-    .lex unicode:"$\x{a2}", rx1122_cur
-    .local pmc match
-    .lex "$/", match
-    length rx1122_eos, rx1122_tgt
-    set rx1122_off, 0
-    lt rx1122_pos, 2, rx1122_start
-    sub rx1122_off, rx1122_pos, 1
-    substr rx1122_tgt, rx1122_tgt, rx1122_off
-  rx1122_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan1126_done
-    goto rxscan1126_scan
-  rxscan1126_loop:
-    ($P10) = rx1122_cur."from"()
-    inc $P10
-    set rx1122_pos, $P10
-    ge rx1122_pos, rx1122_eos, rxscan1126_done
-  rxscan1126_scan:
-    set_addr $I10, rxscan1126_loop
-    rx1122_cur."!mark_push"(0, rx1122_pos, $I10)
-  rxscan1126_done:
-.annotate "line", 476
+.sub "infix:sym<=:=>"  :subid("285_1259177761.22934") :method :outer("11_1259177761.22934")
+.annotate "line", 400
+    .local string rx1121_tgt
+    .local int rx1121_pos
+    .local int rx1121_off
+    .local int rx1121_eos
+    .local int rx1121_rep
+    .local pmc rx1121_cur
+    (rx1121_cur, rx1121_pos, rx1121_tgt) = self."!cursor_start"()
+    rx1121_cur."!cursor_debug"("START ", "infix:sym<=:=>")
+    .lex unicode:"$\x{a2}", rx1121_cur
+    .local pmc match
+    .lex "$/", match
+    length rx1121_eos, rx1121_tgt
+    set rx1121_off, 0
+    lt rx1121_pos, 2, rx1121_start
+    sub rx1121_off, rx1121_pos, 1
+    substr rx1121_tgt, rx1121_tgt, rx1121_off
+  rx1121_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan1125_done
+    goto rxscan1125_scan
+  rxscan1125_loop:
+    ($P10) = rx1121_cur."from"()
+    inc $P10
+    set rx1121_pos, $P10
+    ge rx1121_pos, rx1121_eos, rxscan1125_done
+  rxscan1125_scan:
+    set_addr $I10, rxscan1125_loop
+    rx1121_cur."!mark_push"(0, rx1121_pos, $I10)
+  rxscan1125_done:
+.annotate "line", 481
   # rx subcapture "sym"
-    set_addr $I10, rxcap_1127_fail
-    rx1122_cur."!mark_push"(0, rx1122_pos, $I10)
-  # rx literal  "//"
-    add $I11, rx1122_pos, 2
-    gt $I11, rx1122_eos, rx1122_fail
-    sub $I11, rx1122_pos, rx1122_off
-    substr $S10, rx1122_tgt, $I11, 2
-    ne $S10, "//", rx1122_fail
-    add rx1122_pos, 2
-    set_addr $I10, rxcap_1127_fail
-    ($I12, $I11) = rx1122_cur."!mark_peek"($I10)
-    rx1122_cur."!cursor_pos"($I11)
-    ($P10) = rx1122_cur."!cursor_start"()
-    $P10."!cursor_pass"(rx1122_pos, "")
-    rx1122_cur."!mark_push"(0, -1, 0, $P10)
+    set_addr $I10, rxcap_1126_fail
+    rx1121_cur."!mark_push"(0, rx1121_pos, $I10)
+  # rx literal  "=:="
+    add $I11, rx1121_pos, 3
+    gt $I11, rx1121_eos, rx1121_fail
+    sub $I11, rx1121_pos, rx1121_off
+    substr $S10, rx1121_tgt, $I11, 3
+    ne $S10, "=:=", rx1121_fail
+    add rx1121_pos, 3
+    set_addr $I10, rxcap_1126_fail
+    ($I12, $I11) = rx1121_cur."!mark_peek"($I10)
+    rx1121_cur."!cursor_pos"($I11)
+    ($P10) = rx1121_cur."!cursor_start"()
+    $P10."!cursor_pass"(rx1121_pos, "")
+    rx1121_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("sym")
-    goto rxcap_1127_done
-  rxcap_1127_fail:
-    goto rx1122_fail
-  rxcap_1127_done:
+    goto rxcap_1126_done
+  rxcap_1126_fail:
+    goto rx1121_fail
+  rxcap_1126_done:
   # rx subrule "O" subtype=capture negate=
-    rx1122_cur."!cursor_pos"(rx1122_pos)
-    $P10 = rx1122_cur."O"("%tight_or, :pasttype<def_or>")
-    unless $P10, rx1122_fail
-    rx1122_cur."!mark_push"(0, -1, 0, $P10)
+    rx1121_cur."!cursor_pos"(rx1121_pos)
+    $P10 = rx1121_cur."O"("%relational, :pirop<issame>")
+    unless $P10, rx1121_fail
+    rx1121_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("O")
-    rx1122_pos = $P10."pos"()
+    rx1121_pos = $P10."pos"()
   # rx pass
-    rx1122_cur."!cursor_pass"(rx1122_pos, "infix:sym<//>")
-    rx1122_cur."!cursor_debug"("PASS  ", "infix:sym<//>", " at pos=", rx1122_pos)
-    .return (rx1122_cur)
-  rx1122_fail:
-.annotate "line", 390
-    (rx1122_rep, rx1122_pos, $I10, $P10) = rx1122_cur."!mark_fail"(0)
-    lt rx1122_pos, -1, rx1122_done
-    eq rx1122_pos, -1, rx1122_fail
+    rx1121_cur."!cursor_pass"(rx1121_pos, "infix:sym<=:=>")
+    rx1121_cur."!cursor_debug"("PASS  ", "infix:sym<=:=>", " at pos=", rx1121_pos)
+    .return (rx1121_cur)
+  rx1121_fail:
+.annotate "line", 400
+    (rx1121_rep, rx1121_pos, $I10, $P10) = rx1121_cur."!mark_fail"(0)
+    lt rx1121_pos, -1, rx1121_done
+    eq rx1121_pos, -1, rx1121_fail
     jump $I10
-  rx1122_done:
-    rx1122_cur."!cursor_fail"()
-    rx1122_cur."!cursor_debug"("FAIL  ", "infix:sym<//>")
-    .return (rx1122_cur)
+  rx1121_done:
+    rx1121_cur."!cursor_fail"()
+    rx1121_cur."!cursor_debug"("FAIL  ", "infix:sym<=:=>")
+    .return (rx1121_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__infix:sym<//>"  :subid("288_1259103982.97329") :method
-.annotate "line", 390
-    $P1124 = self."!PREFIX__!subrule"("O", "//")
-    new $P1125, "ResizablePMCArray"
-    push $P1125, $P1124
-    .return ($P1125)
+.sub "!PREFIX__infix:sym<=:=>"  :subid("286_1259177761.22934") :method
+.annotate "line", 400
+    $P1123 = self."!PREFIX__!subrule"("O", "=:=")
+    new $P1124, "ResizablePMCArray"
+    push $P1124, $P1123
+    .return ($P1124)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "infix:sym<?? !!>"  :subid("289_1259103982.97329") :method :outer("11_1259103982.97329")
-.annotate "line", 390
-    .local string rx1129_tgt
-    .local int rx1129_pos
-    .local int rx1129_off
-    .local int rx1129_eos
-    .local int rx1129_rep
-    .local pmc rx1129_cur
-    (rx1129_cur, rx1129_pos, rx1129_tgt) = self."!cursor_start"()
-    rx1129_cur."!cursor_debug"("START ", "infix:sym<?? !!>")
-    .lex unicode:"$\x{a2}", rx1129_cur
-    .local pmc match
-    .lex "$/", match
-    length rx1129_eos, rx1129_tgt
-    set rx1129_off, 0
-    lt rx1129_pos, 2, rx1129_start
-    sub rx1129_off, rx1129_pos, 1
-    substr rx1129_tgt, rx1129_tgt, rx1129_off
-  rx1129_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan1133_done
-    goto rxscan1133_scan
-  rxscan1133_loop:
-    ($P10) = rx1129_cur."from"()
-    inc $P10
-    set rx1129_pos, $P10
-    ge rx1129_pos, rx1129_eos, rxscan1133_done
-  rxscan1133_scan:
-    set_addr $I10, rxscan1133_loop
-    rx1129_cur."!mark_push"(0, rx1129_pos, $I10)
-  rxscan1133_done:
-.annotate "line", 479
-  # rx literal  "??"
-    add $I11, rx1129_pos, 2
-    gt $I11, rx1129_eos, rx1129_fail
-    sub $I11, rx1129_pos, rx1129_off
-    substr $S10, rx1129_tgt, $I11, 2
-    ne $S10, "??", rx1129_fail
-    add rx1129_pos, 2
-.annotate "line", 480
-  # rx subrule "ws" subtype=method negate=
-    rx1129_cur."!cursor_pos"(rx1129_pos)
-    $P10 = rx1129_cur."ws"()
-    unless $P10, rx1129_fail
-    rx1129_pos = $P10."pos"()
-.annotate "line", 481
-  # rx subrule "EXPR" subtype=capture negate=
-    rx1129_cur."!cursor_pos"(rx1129_pos)
-    $P10 = rx1129_cur."EXPR"("i=")
-    unless $P10, rx1129_fail
-    rx1129_cur."!mark_push"(0, -1, 0, $P10)
-    $P10."!cursor_names"("EXPR")
-    rx1129_pos = $P10."pos"()
-.annotate "line", 482
-  # rx literal  "!!"
-    add $I11, rx1129_pos, 2
-    gt $I11, rx1129_eos, rx1129_fail
-    sub $I11, rx1129_pos, rx1129_off
-    substr $S10, rx1129_tgt, $I11, 2
-    ne $S10, "!!", rx1129_fail
-    add rx1129_pos, 2
+.sub "infix:sym<&&>"  :subid("287_1259177761.22934") :method :outer("11_1259177761.22934")
+.annotate "line", 400
+    .local string rx1128_tgt
+    .local int rx1128_pos
+    .local int rx1128_off
+    .local int rx1128_eos
+    .local int rx1128_rep
+    .local pmc rx1128_cur
+    (rx1128_cur, rx1128_pos, rx1128_tgt) = self."!cursor_start"()
+    rx1128_cur."!cursor_debug"("START ", "infix:sym<&&>")
+    .lex unicode:"$\x{a2}", rx1128_cur
+    .local pmc match
+    .lex "$/", match
+    length rx1128_eos, rx1128_tgt
+    set rx1128_off, 0
+    lt rx1128_pos, 2, rx1128_start
+    sub rx1128_off, rx1128_pos, 1
+    substr rx1128_tgt, rx1128_tgt, rx1128_off
+  rx1128_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan1132_done
+    goto rxscan1132_scan
+  rxscan1132_loop:
+    ($P10) = rx1128_cur."from"()
+    inc $P10
+    set rx1128_pos, $P10
+    ge rx1128_pos, rx1128_eos, rxscan1132_done
+  rxscan1132_scan:
+    set_addr $I10, rxscan1132_loop
+    rx1128_cur."!mark_push"(0, rx1128_pos, $I10)
+  rxscan1132_done:
 .annotate "line", 483
+  # rx subcapture "sym"
+    set_addr $I10, rxcap_1133_fail
+    rx1128_cur."!mark_push"(0, rx1128_pos, $I10)
+  # rx literal  "&&"
+    add $I11, rx1128_pos, 2
+    gt $I11, rx1128_eos, rx1128_fail
+    sub $I11, rx1128_pos, rx1128_off
+    substr $S10, rx1128_tgt, $I11, 2
+    ne $S10, "&&", rx1128_fail
+    add rx1128_pos, 2
+    set_addr $I10, rxcap_1133_fail
+    ($I12, $I11) = rx1128_cur."!mark_peek"($I10)
+    rx1128_cur."!cursor_pos"($I11)
+    ($P10) = rx1128_cur."!cursor_start"()
+    $P10."!cursor_pass"(rx1128_pos, "")
+    rx1128_cur."!mark_push"(0, -1, 0, $P10)
+    $P10."!cursor_names"("sym")
+    goto rxcap_1133_done
+  rxcap_1133_fail:
+    goto rx1128_fail
+  rxcap_1133_done:
   # rx subrule "O" subtype=capture negate=
-    rx1129_cur."!cursor_pos"(rx1129_pos)
-    $P10 = rx1129_cur."O"("%conditional, :reducecheck<ternary>, :pasttype<if>")
-    unless $P10, rx1129_fail
-    rx1129_cur."!mark_push"(0, -1, 0, $P10)
+    rx1128_cur."!cursor_pos"(rx1128_pos)
+    $P10 = rx1128_cur."O"("%tight_and, :pasttype<if>")
+    unless $P10, rx1128_fail
+    rx1128_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("O")
-    rx1129_pos = $P10."pos"()
-.annotate "line", 478
+    rx1128_pos = $P10."pos"()
   # rx pass
-    rx1129_cur."!cursor_pass"(rx1129_pos, "infix:sym<?? !!>")
-    rx1129_cur."!cursor_debug"("PASS  ", "infix:sym<?? !!>", " at pos=", rx1129_pos)
-    .return (rx1129_cur)
-  rx1129_fail:
-.annotate "line", 390
-    (rx1129_rep, rx1129_pos, $I10, $P10) = rx1129_cur."!mark_fail"(0)
-    lt rx1129_pos, -1, rx1129_done
-    eq rx1129_pos, -1, rx1129_fail
+    rx1128_cur."!cursor_pass"(rx1128_pos, "infix:sym<&&>")
+    rx1128_cur."!cursor_debug"("PASS  ", "infix:sym<&&>", " at pos=", rx1128_pos)
+    .return (rx1128_cur)
+  rx1128_fail:
+.annotate "line", 400
+    (rx1128_rep, rx1128_pos, $I10, $P10) = rx1128_cur."!mark_fail"(0)
+    lt rx1128_pos, -1, rx1128_done
+    eq rx1128_pos, -1, rx1128_fail
     jump $I10
-  rx1129_done:
-    rx1129_cur."!cursor_fail"()
-    rx1129_cur."!cursor_debug"("FAIL  ", "infix:sym<?? !!>")
-    .return (rx1129_cur)
+  rx1128_done:
+    rx1128_cur."!cursor_fail"()
+    rx1128_cur."!cursor_debug"("FAIL  ", "infix:sym<&&>")
+    .return (rx1128_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__infix:sym<?? !!>"  :subid("290_1259103982.97329") :method
-.annotate "line", 390
-    $P1131 = self."!PREFIX__!subrule"("", "??")
-    new $P1132, "ResizablePMCArray"
-    push $P1132, $P1131
-    .return ($P1132)
+.sub "!PREFIX__infix:sym<&&>"  :subid("288_1259177761.22934") :method
+.annotate "line", 400
+    $P1130 = self."!PREFIX__!subrule"("O", "&&")
+    new $P1131, "ResizablePMCArray"
+    push $P1131, $P1130
+    .return ($P1131)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "infix:sym<=>"  :subid("291_1259103982.97329") :method :outer("11_1259103982.97329")
-.annotate "line", 390
+.sub "infix:sym<||>"  :subid("289_1259177761.22934") :method :outer("11_1259177761.22934")
+.annotate "line", 400
     .local string rx1135_tgt
     .local int rx1135_pos
     .local int rx1135_off
@@ -13883,7 +13826,7 @@
     .local int rx1135_rep
     .local pmc rx1135_cur
     (rx1135_cur, rx1135_pos, rx1135_tgt) = self."!cursor_start"()
-    rx1135_cur."!cursor_debug"("START ", "infix:sym<=>")
+    rx1135_cur."!cursor_debug"("START ", "infix:sym<||>")
     .lex unicode:"$\x{a2}", rx1135_cur
     .local pmc match
     .lex "$/", match
@@ -13905,17 +13848,17 @@
     set_addr $I10, rxscan1139_loop
     rx1135_cur."!mark_push"(0, rx1135_pos, $I10)
   rxscan1139_done:
-.annotate "line", 487
+.annotate "line", 485
   # rx subcapture "sym"
     set_addr $I10, rxcap_1140_fail
     rx1135_cur."!mark_push"(0, rx1135_pos, $I10)
-  # rx literal  "="
-    add $I11, rx1135_pos, 1
+  # rx literal  "||"
+    add $I11, rx1135_pos, 2
     gt $I11, rx1135_eos, rx1135_fail
     sub $I11, rx1135_pos, rx1135_off
-    substr $S10, rx1135_tgt, $I11, 1
-    ne $S10, "=", rx1135_fail
-    add rx1135_pos, 1
+    substr $S10, rx1135_tgt, $I11, 2
+    ne $S10, "||", rx1135_fail
+    add rx1135_pos, 2
     set_addr $I10, rxcap_1140_fail
     ($I12, $I11) = rx1135_cur."!mark_peek"($I10)
     rx1135_cur."!cursor_pos"($I11)
@@ -13927,34 +13870,35 @@
   rxcap_1140_fail:
     goto rx1135_fail
   rxcap_1140_done:
-  # rx subrule "panic" subtype=method negate=
+  # rx subrule "O" subtype=capture negate=
     rx1135_cur."!cursor_pos"(rx1135_pos)
-    $P10 = rx1135_cur."panic"("Assignment (\"=\") not supported in NQP, use \":=\" instead")
+    $P10 = rx1135_cur."O"("%tight_or, :pasttype<unless>")
     unless $P10, rx1135_fail
+    rx1135_cur."!mark_push"(0, -1, 0, $P10)
+    $P10."!cursor_names"("O")
     rx1135_pos = $P10."pos"()
-.annotate "line", 486
   # rx pass
-    rx1135_cur."!cursor_pass"(rx1135_pos, "infix:sym<=>")
-    rx1135_cur."!cursor_debug"("PASS  ", "infix:sym<=>", " at pos=", rx1135_pos)
+    rx1135_cur."!cursor_pass"(rx1135_pos, "infix:sym<||>")
+    rx1135_cur."!cursor_debug"("PASS  ", "infix:sym<||>", " at pos=", rx1135_pos)
     .return (rx1135_cur)
   rx1135_fail:
-.annotate "line", 390
+.annotate "line", 400
     (rx1135_rep, rx1135_pos, $I10, $P10) = rx1135_cur."!mark_fail"(0)
     lt rx1135_pos, -1, rx1135_done
     eq rx1135_pos, -1, rx1135_fail
     jump $I10
   rx1135_done:
     rx1135_cur."!cursor_fail"()
-    rx1135_cur."!cursor_debug"("FAIL  ", "infix:sym<=>")
+    rx1135_cur."!cursor_debug"("FAIL  ", "infix:sym<||>")
     .return (rx1135_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__infix:sym<=>"  :subid("292_1259103982.97329") :method
-.annotate "line", 390
-    $P1137 = self."!PREFIX__!subrule"("", "=")
+.sub "!PREFIX__infix:sym<||>"  :subid("290_1259177761.22934") :method
+.annotate "line", 400
+    $P1137 = self."!PREFIX__!subrule"("O", "||")
     new $P1138, "ResizablePMCArray"
     push $P1138, $P1137
     .return ($P1138)
@@ -13962,8 +13906,8 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "infix:sym<:=>"  :subid("293_1259103982.97329") :method :outer("11_1259103982.97329")
-.annotate "line", 390
+.sub "infix:sym<//>"  :subid("291_1259177761.22934") :method :outer("11_1259177761.22934")
+.annotate "line", 400
     .local string rx1142_tgt
     .local int rx1142_pos
     .local int rx1142_off
@@ -13971,7 +13915,7 @@
     .local int rx1142_rep
     .local pmc rx1142_cur
     (rx1142_cur, rx1142_pos, rx1142_tgt) = self."!cursor_start"()
-    rx1142_cur."!cursor_debug"("START ", "infix:sym<:=>")
+    rx1142_cur."!cursor_debug"("START ", "infix:sym<//>")
     .lex unicode:"$\x{a2}", rx1142_cur
     .local pmc match
     .lex "$/", match
@@ -13993,16 +13937,16 @@
     set_addr $I10, rxscan1146_loop
     rx1142_cur."!mark_push"(0, rx1142_pos, $I10)
   rxscan1146_done:
-.annotate "line", 489
+.annotate "line", 486
   # rx subcapture "sym"
     set_addr $I10, rxcap_1147_fail
     rx1142_cur."!mark_push"(0, rx1142_pos, $I10)
-  # rx literal  ":="
+  # rx literal  "//"
     add $I11, rx1142_pos, 2
     gt $I11, rx1142_eos, rx1142_fail
     sub $I11, rx1142_pos, rx1142_off
     substr $S10, rx1142_tgt, $I11, 2
-    ne $S10, ":=", rx1142_fail
+    ne $S10, "//", rx1142_fail
     add rx1142_pos, 2
     set_addr $I10, rxcap_1147_fail
     ($I12, $I11) = rx1142_cur."!mark_peek"($I10)
@@ -14017,33 +13961,33 @@
   rxcap_1147_done:
   # rx subrule "O" subtype=capture negate=
     rx1142_cur."!cursor_pos"(rx1142_pos)
-    $P10 = rx1142_cur."O"("%assignment, :pasttype<bind>")
+    $P10 = rx1142_cur."O"("%tight_or, :pasttype<def_or>")
     unless $P10, rx1142_fail
     rx1142_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("O")
     rx1142_pos = $P10."pos"()
   # rx pass
-    rx1142_cur."!cursor_pass"(rx1142_pos, "infix:sym<:=>")
-    rx1142_cur."!cursor_debug"("PASS  ", "infix:sym<:=>", " at pos=", rx1142_pos)
+    rx1142_cur."!cursor_pass"(rx1142_pos, "infix:sym<//>")
+    rx1142_cur."!cursor_debug"("PASS  ", "infix:sym<//>", " at pos=", rx1142_pos)
     .return (rx1142_cur)
   rx1142_fail:
-.annotate "line", 390
+.annotate "line", 400
     (rx1142_rep, rx1142_pos, $I10, $P10) = rx1142_cur."!mark_fail"(0)
     lt rx1142_pos, -1, rx1142_done
     eq rx1142_pos, -1, rx1142_fail
     jump $I10
   rx1142_done:
     rx1142_cur."!cursor_fail"()
-    rx1142_cur."!cursor_debug"("FAIL  ", "infix:sym<:=>")
+    rx1142_cur."!cursor_debug"("FAIL  ", "infix:sym<//>")
     .return (rx1142_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__infix:sym<:=>"  :subid("294_1259103982.97329") :method
-.annotate "line", 390
-    $P1144 = self."!PREFIX__!subrule"("O", ":=")
+.sub "!PREFIX__infix:sym<//>"  :subid("292_1259177761.22934") :method
+.annotate "line", 400
+    $P1144 = self."!PREFIX__!subrule"("O", "//")
     new $P1145, "ResizablePMCArray"
     push $P1145, $P1144
     .return ($P1145)
@@ -14051,8 +13995,8 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "infix:sym<::=>"  :subid("295_1259103982.97329") :method :outer("11_1259103982.97329")
-.annotate "line", 390
+.sub "infix:sym<?? !!>"  :subid("293_1259177761.22934") :method :outer("11_1259177761.22934")
+.annotate "line", 400
     .local string rx1149_tgt
     .local int rx1149_pos
     .local int rx1149_off
@@ -14060,7 +14004,7 @@
     .local int rx1149_rep
     .local pmc rx1149_cur
     (rx1149_cur, rx1149_pos, rx1149_tgt) = self."!cursor_start"()
-    rx1149_cur."!cursor_debug"("START ", "infix:sym<::=>")
+    rx1149_cur."!cursor_debug"("START ", "infix:sym<?? !!>")
     .lex unicode:"$\x{a2}", rx1149_cur
     .local pmc match
     .lex "$/", match
@@ -14082,57 +14026,67 @@
     set_addr $I10, rxscan1153_loop
     rx1149_cur."!mark_push"(0, rx1149_pos, $I10)
   rxscan1153_done:
-.annotate "line", 490
-  # rx subcapture "sym"
-    set_addr $I10, rxcap_1154_fail
-    rx1149_cur."!mark_push"(0, rx1149_pos, $I10)
-  # rx literal  "::="
-    add $I11, rx1149_pos, 3
+.annotate "line", 489
+  # rx literal  "??"
+    add $I11, rx1149_pos, 2
     gt $I11, rx1149_eos, rx1149_fail
     sub $I11, rx1149_pos, rx1149_off
-    substr $S10, rx1149_tgt, $I11, 3
-    ne $S10, "::=", rx1149_fail
-    add rx1149_pos, 3
-    set_addr $I10, rxcap_1154_fail
-    ($I12, $I11) = rx1149_cur."!mark_peek"($I10)
-    rx1149_cur."!cursor_pos"($I11)
-    ($P10) = rx1149_cur."!cursor_start"()
-    $P10."!cursor_pass"(rx1149_pos, "")
+    substr $S10, rx1149_tgt, $I11, 2
+    ne $S10, "??", rx1149_fail
+    add rx1149_pos, 2
+.annotate "line", 490
+  # rx subrule "ws" subtype=method negate=
+    rx1149_cur."!cursor_pos"(rx1149_pos)
+    $P10 = rx1149_cur."ws"()
+    unless $P10, rx1149_fail
+    rx1149_pos = $P10."pos"()
+.annotate "line", 491
+  # rx subrule "EXPR" subtype=capture negate=
+    rx1149_cur."!cursor_pos"(rx1149_pos)
+    $P10 = rx1149_cur."EXPR"("i=")
+    unless $P10, rx1149_fail
     rx1149_cur."!mark_push"(0, -1, 0, $P10)
-    $P10."!cursor_names"("sym")
-    goto rxcap_1154_done
-  rxcap_1154_fail:
-    goto rx1149_fail
-  rxcap_1154_done:
+    $P10."!cursor_names"("EXPR")
+    rx1149_pos = $P10."pos"()
+.annotate "line", 492
+  # rx literal  "!!"
+    add $I11, rx1149_pos, 2
+    gt $I11, rx1149_eos, rx1149_fail
+    sub $I11, rx1149_pos, rx1149_off
+    substr $S10, rx1149_tgt, $I11, 2
+    ne $S10, "!!", rx1149_fail
+    add rx1149_pos, 2
+.annotate "line", 493
   # rx subrule "O" subtype=capture negate=
     rx1149_cur."!cursor_pos"(rx1149_pos)
-    $P10 = rx1149_cur."O"("%assignment, :pasttype<bind>")
+    $P10 = rx1149_cur."O"("%conditional, :reducecheck<ternary>, :pasttype<if>")
     unless $P10, rx1149_fail
     rx1149_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("O")
     rx1149_pos = $P10."pos"()
+.annotate "line", 488
   # rx pass
-    rx1149_cur."!cursor_pass"(rx1149_pos, "infix:sym<::=>")
-    rx1149_cur."!cursor_debug"("PASS  ", "infix:sym<::=>", " at pos=", rx1149_pos)
+    rx1149_cur."!cursor_pass"(rx1149_pos, "infix:sym<?? !!>")
+    rx1149_cur."!cursor_debug"("PASS  ", "infix:sym<?? !!>", " at pos=", rx1149_pos)
     .return (rx1149_cur)
   rx1149_fail:
-.annotate "line", 390
+.annotate "line", 400
     (rx1149_rep, rx1149_pos, $I10, $P10) = rx1149_cur."!mark_fail"(0)
     lt rx1149_pos, -1, rx1149_done
     eq rx1149_pos, -1, rx1149_fail
     jump $I10
   rx1149_done:
     rx1149_cur."!cursor_fail"()
-    rx1149_cur."!cursor_debug"("FAIL  ", "infix:sym<::=>")
+    rx1149_cur."!cursor_debug"("FAIL  ", "infix:sym<?? !!>")
     .return (rx1149_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__infix:sym<::=>"  :subid("296_1259103982.97329") :method
-.annotate "line", 390
-    $P1151 = self."!PREFIX__!subrule"("O", "::=")
+.sub "!PREFIX__infix:sym<?? !!>"  :subid("294_1259177761.22934") :method
+.annotate "line", 400
+    $P1151 = self."!PREFIX__!subrule"("", "??")
     new $P1152, "ResizablePMCArray"
     push $P1152, $P1151
     .return ($P1152)
@@ -14140,191 +14094,185 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "infix:sym<,>"  :subid("297_1259103982.97329") :method :outer("11_1259103982.97329")
-.annotate "line", 390
-    .local string rx1156_tgt
-    .local int rx1156_pos
-    .local int rx1156_off
-    .local int rx1156_eos
-    .local int rx1156_rep
-    .local pmc rx1156_cur
-    (rx1156_cur, rx1156_pos, rx1156_tgt) = self."!cursor_start"()
-    rx1156_cur."!cursor_debug"("START ", "infix:sym<,>")
-    .lex unicode:"$\x{a2}", rx1156_cur
-    .local pmc match
-    .lex "$/", match
-    length rx1156_eos, rx1156_tgt
-    set rx1156_off, 0
-    lt rx1156_pos, 2, rx1156_start
-    sub rx1156_off, rx1156_pos, 1
-    substr rx1156_tgt, rx1156_tgt, rx1156_off
-  rx1156_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan1160_done
-    goto rxscan1160_scan
-  rxscan1160_loop:
-    ($P10) = rx1156_cur."from"()
-    inc $P10
-    set rx1156_pos, $P10
-    ge rx1156_pos, rx1156_eos, rxscan1160_done
-  rxscan1160_scan:
-    set_addr $I10, rxscan1160_loop
-    rx1156_cur."!mark_push"(0, rx1156_pos, $I10)
-  rxscan1160_done:
-.annotate "line", 492
+.sub "infix:sym<=>"  :subid("295_1259177761.22934") :method :outer("11_1259177761.22934")
+.annotate "line", 400
+    .local string rx1155_tgt
+    .local int rx1155_pos
+    .local int rx1155_off
+    .local int rx1155_eos
+    .local int rx1155_rep
+    .local pmc rx1155_cur
+    (rx1155_cur, rx1155_pos, rx1155_tgt) = self."!cursor_start"()
+    rx1155_cur."!cursor_debug"("START ", "infix:sym<=>")
+    .lex unicode:"$\x{a2}", rx1155_cur
+    .local pmc match
+    .lex "$/", match
+    length rx1155_eos, rx1155_tgt
+    set rx1155_off, 0
+    lt rx1155_pos, 2, rx1155_start
+    sub rx1155_off, rx1155_pos, 1
+    substr rx1155_tgt, rx1155_tgt, rx1155_off
+  rx1155_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan1159_done
+    goto rxscan1159_scan
+  rxscan1159_loop:
+    ($P10) = rx1155_cur."from"()
+    inc $P10
+    set rx1155_pos, $P10
+    ge rx1155_pos, rx1155_eos, rxscan1159_done
+  rxscan1159_scan:
+    set_addr $I10, rxscan1159_loop
+    rx1155_cur."!mark_push"(0, rx1155_pos, $I10)
+  rxscan1159_done:
+.annotate "line", 497
   # rx subcapture "sym"
-    set_addr $I10, rxcap_1161_fail
-    rx1156_cur."!mark_push"(0, rx1156_pos, $I10)
-  # rx literal  ","
-    add $I11, rx1156_pos, 1
-    gt $I11, rx1156_eos, rx1156_fail
-    sub $I11, rx1156_pos, rx1156_off
-    substr $S10, rx1156_tgt, $I11, 1
-    ne $S10, ",", rx1156_fail
-    add rx1156_pos, 1
-    set_addr $I10, rxcap_1161_fail
-    ($I12, $I11) = rx1156_cur."!mark_peek"($I10)
-    rx1156_cur."!cursor_pos"($I11)
-    ($P10) = rx1156_cur."!cursor_start"()
-    $P10."!cursor_pass"(rx1156_pos, "")
-    rx1156_cur."!mark_push"(0, -1, 0, $P10)
+    set_addr $I10, rxcap_1160_fail
+    rx1155_cur."!mark_push"(0, rx1155_pos, $I10)
+  # rx literal  "="
+    add $I11, rx1155_pos, 1
+    gt $I11, rx1155_eos, rx1155_fail
+    sub $I11, rx1155_pos, rx1155_off
+    substr $S10, rx1155_tgt, $I11, 1
+    ne $S10, "=", rx1155_fail
+    add rx1155_pos, 1
+    set_addr $I10, rxcap_1160_fail
+    ($I12, $I11) = rx1155_cur."!mark_peek"($I10)
+    rx1155_cur."!cursor_pos"($I11)
+    ($P10) = rx1155_cur."!cursor_start"()
+    $P10."!cursor_pass"(rx1155_pos, "")
+    rx1155_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("sym")
-    goto rxcap_1161_done
-  rxcap_1161_fail:
-    goto rx1156_fail
-  rxcap_1161_done:
-  # rx subrule "O" subtype=capture negate=
-    rx1156_cur."!cursor_pos"(rx1156_pos)
-    $P10 = rx1156_cur."O"("%comma, :pasttype<list>")
-    unless $P10, rx1156_fail
-    rx1156_cur."!mark_push"(0, -1, 0, $P10)
-    $P10."!cursor_names"("O")
-    rx1156_pos = $P10."pos"()
+    goto rxcap_1160_done
+  rxcap_1160_fail:
+    goto rx1155_fail
+  rxcap_1160_done:
+  # rx subrule "panic" subtype=method negate=
+    rx1155_cur."!cursor_pos"(rx1155_pos)
+    $P10 = rx1155_cur."panic"("Assignment (\"=\") not supported in NQP, use \":=\" instead")
+    unless $P10, rx1155_fail
+    rx1155_pos = $P10."pos"()
+.annotate "line", 496
   # rx pass
-    rx1156_cur."!cursor_pass"(rx1156_pos, "infix:sym<,>")
-    rx1156_cur."!cursor_debug"("PASS  ", "infix:sym<,>", " at pos=", rx1156_pos)
-    .return (rx1156_cur)
-  rx1156_fail:
-.annotate "line", 390
-    (rx1156_rep, rx1156_pos, $I10, $P10) = rx1156_cur."!mark_fail"(0)
-    lt rx1156_pos, -1, rx1156_done
-    eq rx1156_pos, -1, rx1156_fail
+    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", 400
+    (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
-  rx1156_done:
-    rx1156_cur."!cursor_fail"()
-    rx1156_cur."!cursor_debug"("FAIL  ", "infix:sym<,>")
-    .return (rx1156_cur)
+  rx1155_done:
+    rx1155_cur."!cursor_fail"()
+    rx1155_cur."!cursor_debug"("FAIL  ", "infix:sym<=>")
+    .return (rx1155_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__infix:sym<,>"  :subid("298_1259103982.97329") :method
-.annotate "line", 390
-    $P1158 = self."!PREFIX__!subrule"("O", ",")
-    new $P1159, "ResizablePMCArray"
-    push $P1159, $P1158
-    .return ($P1159)
+.sub "!PREFIX__infix:sym<=>"  :subid("296_1259177761.22934") :method
+.annotate "line", 400
+    $P1157 = self."!PREFIX__!subrule"("", "=")
+    new $P1158, "ResizablePMCArray"
+    push $P1158, $P1157
+    .return ($P1158)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "prefix:sym<return>"  :subid("299_1259103982.97329") :method :outer("11_1259103982.97329")
-.annotate "line", 390
-    .local string rx1163_tgt
-    .local int rx1163_pos
-    .local int rx1163_off
-    .local int rx1163_eos
-    .local int rx1163_rep
-    .local pmc rx1163_cur
-    (rx1163_cur, rx1163_pos, rx1163_tgt) = self."!cursor_start"()
-    rx1163_cur."!cursor_debug"("START ", "prefix:sym<return>")
-    .lex unicode:"$\x{a2}", rx1163_cur
-    .local pmc match
-    .lex "$/", match
-    length rx1163_eos, rx1163_tgt
-    set rx1163_off, 0
-    lt rx1163_pos, 2, rx1163_start
-    sub rx1163_off, rx1163_pos, 1
-    substr rx1163_tgt, rx1163_tgt, rx1163_off
-  rx1163_start:
+.sub "infix:sym<:=>"  :subid("297_1259177761.22934") :method :outer("11_1259177761.22934")
+.annotate "line", 400
+    .local string rx1162_tgt
+    .local int rx1162_pos
+    .local int rx1162_off
+    .local int rx1162_eos
+    .local int rx1162_rep
+    .local pmc rx1162_cur
+    (rx1162_cur, rx1162_pos, rx1162_tgt) = self."!cursor_start"()
+    rx1162_cur."!cursor_debug"("START ", "infix:sym<:=>")
+    .lex unicode:"$\x{a2}", rx1162_cur
+    .local pmc match
+    .lex "$/", match
+    length rx1162_eos, rx1162_tgt
+    set rx1162_off, 0
+    lt rx1162_pos, 2, rx1162_start
+    sub rx1162_off, rx1162_pos, 1
+    substr rx1162_tgt, rx1162_tgt, rx1162_off
+  rx1162_start:
     $I10 = self.'from'()
     ne $I10, -1, rxscan1166_done
     goto rxscan1166_scan
   rxscan1166_loop:
-    ($P10) = rx1163_cur."from"()
+    ($P10) = rx1162_cur."from"()
     inc $P10
-    set rx1163_pos, $P10
-    ge rx1163_pos, rx1163_eos, rxscan1166_done
+    set rx1162_pos, $P10
+    ge rx1162_pos, rx1162_eos, rxscan1166_done
   rxscan1166_scan:
     set_addr $I10, rxscan1166_loop
-    rx1163_cur."!mark_push"(0, rx1163_pos, $I10)
+    rx1162_cur."!mark_push"(0, rx1162_pos, $I10)
   rxscan1166_done:
-.annotate "line", 494
+.annotate "line", 499
   # rx subcapture "sym"
     set_addr $I10, rxcap_1167_fail
-    rx1163_cur."!mark_push"(0, rx1163_pos, $I10)
-  # rx literal  "return"
-    add $I11, rx1163_pos, 6
-    gt $I11, rx1163_eos, rx1163_fail
-    sub $I11, rx1163_pos, rx1163_off
-    substr $S10, rx1163_tgt, $I11, 6
-    ne $S10, "return", rx1163_fail
-    add rx1163_pos, 6
+    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
+    add rx1162_pos, 2
     set_addr $I10, rxcap_1167_fail
-    ($I12, $I11) = rx1163_cur."!mark_peek"($I10)
-    rx1163_cur."!cursor_pos"($I11)
-    ($P10) = rx1163_cur."!cursor_start"()
-    $P10."!cursor_pass"(rx1163_pos, "")
-    rx1163_cur."!mark_push"(0, -1, 0, $P10)
+    ($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 rx1163_fail
+    goto rx1162_fail
   rxcap_1167_done:
-  # rx charclass s
-    ge rx1163_pos, rx1163_eos, rx1163_fail
-    sub $I10, rx1163_pos, rx1163_off
-    is_cclass $I11, 32, rx1163_tgt, $I10
-    unless $I11, rx1163_fail
-    inc rx1163_pos
   # rx subrule "O" subtype=capture negate=
-    rx1163_cur."!cursor_pos"(rx1163_pos)
-    $P10 = rx1163_cur."O"("%list_prefix, :pasttype<return>")
-    unless $P10, rx1163_fail
-    rx1163_cur."!mark_push"(0, -1, 0, $P10)
+    rx1162_cur."!cursor_pos"(rx1162_pos)
+    $P10 = rx1162_cur."O"("%assignment, :pasttype<bind>")
+    unless $P10, rx1162_fail
+    rx1162_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("O")
-    rx1163_pos = $P10."pos"()
+    rx1162_pos = $P10."pos"()
   # rx pass
-    rx1163_cur."!cursor_pass"(rx1163_pos, "prefix:sym<return>")
-    rx1163_cur."!cursor_debug"("PASS  ", "prefix:sym<return>", " at pos=", rx1163_pos)
-    .return (rx1163_cur)
-  rx1163_fail:
-.annotate "line", 390
-    (rx1163_rep, rx1163_pos, $I10, $P10) = rx1163_cur."!mark_fail"(0)
-    lt rx1163_pos, -1, rx1163_done
-    eq rx1163_pos, -1, rx1163_fail
+    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", 400
+    (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
-  rx1163_done:
-    rx1163_cur."!cursor_fail"()
-    rx1163_cur."!cursor_debug"("FAIL  ", "prefix:sym<return>")
-    .return (rx1163_cur)
+  rx1162_done:
+    rx1162_cur."!cursor_fail"()
+    rx1162_cur."!cursor_debug"("FAIL  ", "infix:sym<:=>")
+    .return (rx1162_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__prefix:sym<return>"  :subid("300_1259103982.97329") :method
-.annotate "line", 390
+.sub "!PREFIX__infix:sym<:=>"  :subid("298_1259177761.22934") :method
+.annotate "line", 400
+    $P1164 = self."!PREFIX__!subrule"("O", ":=")
     new $P1165, "ResizablePMCArray"
-    push $P1165, "return"
+    push $P1165, $P1164
     .return ($P1165)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "prefix:sym<make>"  :subid("301_1259103982.97329") :method :outer("11_1259103982.97329")
-.annotate "line", 390
+.sub "infix:sym<::=>"  :subid("299_1259177761.22934") :method :outer("11_1259177761.22934")
+.annotate "line", 400
     .local string rx1169_tgt
     .local int rx1169_pos
     .local int rx1169_off
@@ -14332,7 +14280,7 @@
     .local int rx1169_rep
     .local pmc rx1169_cur
     (rx1169_cur, rx1169_pos, rx1169_tgt) = self."!cursor_start"()
-    rx1169_cur."!cursor_debug"("START ", "prefix:sym<make>")
+    rx1169_cur."!cursor_debug"("START ", "infix:sym<::=>")
     .lex unicode:"$\x{a2}", rx1169_cur
     .local pmc match
     .lex "$/", match
@@ -14343,196 +14291,166 @@
     substr rx1169_tgt, rx1169_tgt, rx1169_off
   rx1169_start:
     $I10 = self.'from'()
-    ne $I10, -1, rxscan1172_done
-    goto rxscan1172_scan
-  rxscan1172_loop:
+    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, rxscan1172_done
-  rxscan1172_scan:
-    set_addr $I10, rxscan1172_loop
+    ge rx1169_pos, rx1169_eos, rxscan1173_done
+  rxscan1173_scan:
+    set_addr $I10, rxscan1173_loop
     rx1169_cur."!mark_push"(0, rx1169_pos, $I10)
-  rxscan1172_done:
-.annotate "line", 495
+  rxscan1173_done:
+.annotate "line", 500
   # rx subcapture "sym"
-    set_addr $I10, rxcap_1173_fail
+    set_addr $I10, rxcap_1174_fail
     rx1169_cur."!mark_push"(0, rx1169_pos, $I10)
-  # rx literal  "make"
-    add $I11, rx1169_pos, 4
+  # rx literal  "::="
+    add $I11, rx1169_pos, 3
     gt $I11, rx1169_eos, rx1169_fail
     sub $I11, rx1169_pos, rx1169_off
-    substr $S10, rx1169_tgt, $I11, 4
-    ne $S10, "make", rx1169_fail
-    add rx1169_pos, 4
-    set_addr $I10, rxcap_1173_fail
+    substr $S10, rx1169_tgt, $I11, 3
+    ne $S10, "::=", rx1169_fail
+    add rx1169_pos, 3
+    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 rxcap_1174_done
+  rxcap_1174_fail:
     goto rx1169_fail
-  rxcap_1173_done:
-  # rx charclass s
-    ge rx1169_pos, rx1169_eos, rx1169_fail
-    sub $I10, rx1169_pos, rx1169_off
-    is_cclass $I11, 32, rx1169_tgt, $I10
-    unless $I11, rx1169_fail
-    inc rx1169_pos
+  rxcap_1174_done:
   # rx subrule "O" subtype=capture negate=
     rx1169_cur."!cursor_pos"(rx1169_pos)
-    $P10 = rx1169_cur."O"("%list_prefix")
+    $P10 = rx1169_cur."O"("%assignment, :pasttype<bind>")
     unless $P10, rx1169_fail
     rx1169_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("O")
     rx1169_pos = $P10."pos"()
   # rx pass
-    rx1169_cur."!cursor_pass"(rx1169_pos, "prefix:sym<make>")
-    rx1169_cur."!cursor_debug"("PASS  ", "prefix:sym<make>", " at pos=", rx1169_pos)
+    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", 390
+.annotate "line", 400
     (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
   rx1169_done:
     rx1169_cur."!cursor_fail"()
-    rx1169_cur."!cursor_debug"("FAIL  ", "prefix:sym<make>")
+    rx1169_cur."!cursor_debug"("FAIL  ", "infix:sym<::=>")
     .return (rx1169_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__prefix:sym<make>"  :subid("302_1259103982.97329") :method
-.annotate "line", 390
-    new $P1171, "ResizablePMCArray"
-    push $P1171, "make"
-    .return ($P1171)
-.end
-
-
-.namespace ["NQP";"Regex"]
-.sub "_block1174"  :subid("303_1259103982.97329") :outer("11_1259103982.97329")
-.annotate "line", 498
-    .const 'Sub' $P1208 = "314_1259103982.97329" 
-    capture_lex $P1208
-    .const 'Sub' $P1195 = "311_1259103982.97329" 
-    capture_lex $P1195
-    .const 'Sub' $P1190 = "309_1259103982.97329" 
-    capture_lex $P1190
-    .const 'Sub' $P1185 = "307_1259103982.97329" 
-    capture_lex $P1185
-    .const 'Sub' $P1176 = "304_1259103982.97329" 
-    capture_lex $P1176
-    .const 'Sub' $P1208 = "314_1259103982.97329" 
-    capture_lex $P1208
-    .return ($P1208)
+.sub "!PREFIX__infix:sym<::=>"  :subid("300_1259177761.22934") :method
+.annotate "line", 400
+    $P1171 = self."!PREFIX__!subrule"("O", "::=")
+    new $P1172, "ResizablePMCArray"
+    push $P1172, $P1171
+    .return ($P1172)
 .end
 
 
-.namespace ["NQP";"Regex"]
-.sub "metachar:sym<:my>"  :subid("304_1259103982.97329") :method :outer("303_1259103982.97329")
-.annotate "line", 498
-    .const 'Sub' $P1182 = "306_1259103982.97329" 
-    capture_lex $P1182
-    .local string rx1177_tgt
-    .local int rx1177_pos
-    .local int rx1177_off
-    .local int rx1177_eos
-    .local int rx1177_rep
-    .local pmc rx1177_cur
-    (rx1177_cur, rx1177_pos, rx1177_tgt) = self."!cursor_start"()
-    rx1177_cur."!cursor_debug"("START ", "metachar:sym<:my>")
-    .lex unicode:"$\x{a2}", rx1177_cur
-    .local pmc match
-    .lex "$/", match
-    length rx1177_eos, rx1177_tgt
-    set rx1177_off, 0
-    lt rx1177_pos, 2, rx1177_start
-    sub rx1177_off, rx1177_pos, 1
-    substr rx1177_tgt, rx1177_tgt, rx1177_off
-  rx1177_start:
+.namespace ["NQP";"Grammar"]
+.sub "infix:sym<,>"  :subid("301_1259177761.22934") :method :outer("11_1259177761.22934")
+.annotate "line", 400
+    .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) = rx1177_cur."from"()
+    ($P10) = rx1176_cur."from"()
     inc $P10
-    set rx1177_pos, $P10
-    ge rx1177_pos, rx1177_eos, rxscan1180_done
+    set rx1176_pos, $P10
+    ge rx1176_pos, rx1176_eos, rxscan1180_done
   rxscan1180_scan:
     set_addr $I10, rxscan1180_loop
-    rx1177_cur."!mark_push"(0, rx1177_pos, $I10)
+    rx1176_cur."!mark_push"(0, rx1176_pos, $I10)
   rxscan1180_done:
-.annotate "line", 500
-  # rx literal  ":"
-    add $I11, rx1177_pos, 1
-    gt $I11, rx1177_eos, rx1177_fail
-    sub $I11, rx1177_pos, rx1177_off
-    substr $S10, rx1177_tgt, $I11, 1
-    ne $S10, ":", rx1177_fail
-    add rx1177_pos, 1
-  # rx subrule "before" subtype=zerowidth negate=
-    rx1177_cur."!cursor_pos"(rx1177_pos)
-    .const 'Sub' $P1182 = "306_1259103982.97329" 
-    capture_lex $P1182
-    $P10 = rx1177_cur."before"($P1182)
-    unless $P10, rx1177_fail
-  # rx subrule "LANG" subtype=capture negate=
-    rx1177_cur."!cursor_pos"(rx1177_pos)
-    $P10 = rx1177_cur."LANG"("MAIN", "statement")
-    unless $P10, rx1177_fail
-    rx1177_cur."!mark_push"(0, -1, 0, $P10)
-    $P10."!cursor_names"("statement")
-    rx1177_pos = $P10."pos"()
-  # rx subrule "ws" subtype=method negate=
-    rx1177_cur."!cursor_pos"(rx1177_pos)
-    $P10 = rx1177_cur."ws"()
-    unless $P10, rx1177_fail
-    rx1177_pos = $P10."pos"()
-  # rx literal  ";"
-    add $I11, rx1177_pos, 1
-    gt $I11, rx1177_eos, rx1177_fail
-    sub $I11, rx1177_pos, rx1177_off
-    substr $S10, rx1177_tgt, $I11, 1
-    ne $S10, ";", rx1177_fail
-    add rx1177_pos, 1
-.annotate "line", 499
+.annotate "line", 502
+  # rx subcapture "sym"
+    set_addr $I10, rxcap_1181_fail
+    rx1176_cur."!mark_push"(0, rx1176_pos, $I10)
+  # rx literal  ","
+    add $I11, rx1176_pos, 1
+    gt $I11, rx1176_eos, rx1176_fail
+    sub $I11, rx1176_pos, rx1176_off
+    substr $S10, rx1176_tgt, $I11, 1
+    ne $S10, ",", rx1176_fail
+    add rx1176_pos, 1
+    set_addr $I10, rxcap_1181_fail
+    ($I12, $I11) = rx1176_cur."!mark_peek"($I10)
+    rx1176_cur."!cursor_pos"($I11)
+    ($P10) = rx1176_cur."!cursor_start"()
+    $P10."!cursor_pass"(rx1176_pos, "")
+    rx1176_cur."!mark_push"(0, -1, 0, $P10)
+    $P10."!cursor_names"("sym")
+    goto rxcap_1181_done
+  rxcap_1181_fail:
+    goto rx1176_fail
+  rxcap_1181_done:
+  # rx subrule "O" subtype=capture negate=
+    rx1176_cur."!cursor_pos"(rx1176_pos)
+    $P10 = rx1176_cur."O"("%comma, :pasttype<list>")
+    unless $P10, rx1176_fail
+    rx1176_cur."!mark_push"(0, -1, 0, $P10)
+    $P10."!cursor_names"("O")
+    rx1176_pos = $P10."pos"()
   # rx pass
-    rx1177_cur."!cursor_pass"(rx1177_pos, "metachar:sym<:my>")
-    rx1177_cur."!cursor_debug"("PASS  ", "metachar:sym<:my>", " at pos=", rx1177_pos)
-    .return (rx1177_cur)
-  rx1177_fail:
-.annotate "line", 498
-    (rx1177_rep, rx1177_pos, $I10, $P10) = rx1177_cur."!mark_fail"(0)
-    lt rx1177_pos, -1, rx1177_done
-    eq rx1177_pos, -1, rx1177_fail
-    jump $I10
-  rx1177_done:
-    rx1177_cur."!cursor_fail"()
-    rx1177_cur."!cursor_debug"("FAIL  ", "metachar:sym<:my>")
-    .return (rx1177_cur)
+    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", 400
+    (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
+  rx1176_done:
+    rx1176_cur."!cursor_fail"()
+    rx1176_cur."!cursor_debug"("FAIL  ", "infix:sym<,>")
+    .return (rx1176_cur)
     .return ()
 .end
 
 
-.namespace ["NQP";"Regex"]
-.sub "!PREFIX__metachar:sym<:my>"  :subid("305_1259103982.97329") :method
-.annotate "line", 498
+.namespace ["NQP";"Grammar"]
+.sub "!PREFIX__infix:sym<,>"  :subid("302_1259177761.22934") :method
+.annotate "line", 400
+    $P1178 = self."!PREFIX__!subrule"("O", ",")
     new $P1179, "ResizablePMCArray"
-    push $P1179, ":"
+    push $P1179, $P1178
     .return ($P1179)
 .end
 
 
-.namespace ["NQP";"Regex"]
-.sub "_block1181"  :anon :subid("306_1259103982.97329") :method :outer("304_1259103982.97329")
-.annotate "line", 500
+.namespace ["NQP";"Grammar"]
+.sub "prefix:sym<return>"  :subid("303_1259177761.22934") :method :outer("11_1259177761.22934")
+.annotate "line", 400
     .local string rx1183_tgt
     .local int rx1183_pos
     .local int rx1183_off
@@ -14540,7 +14458,7 @@
     .local int rx1183_rep
     .local pmc rx1183_cur
     (rx1183_cur, rx1183_pos, rx1183_tgt) = self."!cursor_start"()
-    rx1183_cur."!cursor_debug"("START ", "")
+    rx1183_cur."!cursor_debug"("START ", "prefix:sym<return>")
     .lex unicode:"$\x{a2}", rx1183_cur
     .local pmc match
     .lex "$/", match
@@ -14551,764 +14469,1080 @@
     substr rx1183_tgt, rx1183_tgt, rx1183_off
   rx1183_start:
     $I10 = self.'from'()
-    ne $I10, -1, rxscan1184_done
-    goto rxscan1184_scan
-  rxscan1184_loop:
+    ne $I10, -1, rxscan1186_done
+    goto rxscan1186_scan
+  rxscan1186_loop:
     ($P10) = rx1183_cur."from"()
     inc $P10
     set rx1183_pos, $P10
-    ge rx1183_pos, rx1183_eos, rxscan1184_done
-  rxscan1184_scan:
-    set_addr $I10, rxscan1184_loop
+    ge rx1183_pos, rx1183_eos, rxscan1186_done
+  rxscan1186_scan:
+    set_addr $I10, rxscan1186_loop
     rx1183_cur."!mark_push"(0, rx1183_pos, $I10)
-  rxscan1184_done:
-  # rx literal  "my"
-    add $I11, rx1183_pos, 2
+  rxscan1186_done:
+.annotate "line", 504
+  # rx subcapture "sym"
+    set_addr $I10, rxcap_1187_fail
+    rx1183_cur."!mark_push"(0, rx1183_pos, $I10)
+  # rx literal  "return"
+    add $I11, rx1183_pos, 6
     gt $I11, rx1183_eos, rx1183_fail
     sub $I11, rx1183_pos, rx1183_off
-    substr $S10, rx1183_tgt, $I11, 2
-    ne $S10, "my", rx1183_fail
-    add rx1183_pos, 2
+    substr $S10, rx1183_tgt, $I11, 6
+    ne $S10, "return", rx1183_fail
+    add rx1183_pos, 6
+    set_addr $I10, rxcap_1187_fail
+    ($I12, $I11) = rx1183_cur."!mark_peek"($I10)
+    rx1183_cur."!cursor_pos"($I11)
+    ($P10) = rx1183_cur."!cursor_start"()
+    $P10."!cursor_pass"(rx1183_pos, "")
+    rx1183_cur."!mark_push"(0, -1, 0, $P10)
+    $P10."!cursor_names"("sym")
+    goto rxcap_1187_done
+  rxcap_1187_fail:
+    goto rx1183_fail
+  rxcap_1187_done:
+  # rx charclass s
+    ge rx1183_pos, rx1183_eos, rx1183_fail
+    sub $I10, rx1183_pos, rx1183_off
+    is_cclass $I11, 32, rx1183_tgt, $I10
+    unless $I11, rx1183_fail
+    inc rx1183_pos
+  # rx subrule "O" subtype=capture negate=
+    rx1183_cur."!cursor_pos"(rx1183_pos)
+    $P10 = rx1183_cur."O"("%list_prefix, :pasttype<return>")
+    unless $P10, rx1183_fail
+    rx1183_cur."!mark_push"(0, -1, 0, $P10)
+    $P10."!cursor_names"("O")
+    rx1183_pos = $P10."pos"()
   # rx pass
-    rx1183_cur."!cursor_pass"(rx1183_pos, "")
-    rx1183_cur."!cursor_debug"("PASS  ", "", " at pos=", rx1183_pos)
+    rx1183_cur."!cursor_pass"(rx1183_pos, "prefix:sym<return>")
+    rx1183_cur."!cursor_debug"("PASS  ", "prefix:sym<return>", " at pos=", rx1183_pos)
     .return (rx1183_cur)
   rx1183_fail:
+.annotate "line", 400
     (rx1183_rep, rx1183_pos, $I10, $P10) = rx1183_cur."!mark_fail"(0)
     lt rx1183_pos, -1, rx1183_done
     eq rx1183_pos, -1, rx1183_fail
     jump $I10
   rx1183_done:
     rx1183_cur."!cursor_fail"()
-    rx1183_cur."!cursor_debug"("FAIL  ", "")
+    rx1183_cur."!cursor_debug"("FAIL  ", "prefix:sym<return>")
     .return (rx1183_cur)
     .return ()
 .end
 
 
+.namespace ["NQP";"Grammar"]
+.sub "!PREFIX__prefix:sym<return>"  :subid("304_1259177761.22934") :method
+.annotate "line", 400
+    new $P1185, "ResizablePMCArray"
+    push $P1185, "return"
+    .return ($P1185)
+.end
+
+
+.namespace ["NQP";"Grammar"]
+.sub "prefix:sym<make>"  :subid("305_1259177761.22934") :method :outer("11_1259177761.22934")
+.annotate "line", 400
+    .local string rx1189_tgt
+    .local int rx1189_pos
+    .local int rx1189_off
+    .local int rx1189_eos
+    .local int rx1189_rep
+    .local pmc rx1189_cur
+    (rx1189_cur, rx1189_pos, rx1189_tgt) = self."!cursor_start"()
+    rx1189_cur."!cursor_debug"("START ", "prefix:sym<make>")
+    .lex unicode:"$\x{a2}", rx1189_cur
+    .local pmc match
+    .lex "$/", match
+    length rx1189_eos, rx1189_tgt
+    set rx1189_off, 0
+    lt rx1189_pos, 2, rx1189_start
+    sub rx1189_off, rx1189_pos, 1
+    substr rx1189_tgt, rx1189_tgt, rx1189_off
+  rx1189_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan1192_done
+    goto rxscan1192_scan
+  rxscan1192_loop:
+    ($P10) = rx1189_cur."from"()
+    inc $P10
+    set rx1189_pos, $P10
+    ge rx1189_pos, rx1189_eos, rxscan1192_done
+  rxscan1192_scan:
+    set_addr $I10, rxscan1192_loop
+    rx1189_cur."!mark_push"(0, rx1189_pos, $I10)
+  rxscan1192_done:
+.annotate "line", 505
+  # rx subcapture "sym"
+    set_addr $I10, rxcap_1193_fail
+    rx1189_cur."!mark_push"(0, rx1189_pos, $I10)
+  # rx literal  "make"
+    add $I11, rx1189_pos, 4
+    gt $I11, rx1189_eos, rx1189_fail
+    sub $I11, rx1189_pos, rx1189_off
+    substr $S10, rx1189_tgt, $I11, 4
+    ne $S10, "make", rx1189_fail
+    add rx1189_pos, 4
+    set_addr $I10, rxcap_1193_fail
+    ($I12, $I11) = rx1189_cur."!mark_peek"($I10)
+    rx1189_cur."!cursor_pos"($I11)
+    ($P10) = rx1189_cur."!cursor_start"()
+    $P10."!cursor_pass"(rx1189_pos, "")
+    rx1189_cur."!mark_push"(0, -1, 0, $P10)
+    $P10."!cursor_names"("sym")
+    goto rxcap_1193_done
+  rxcap_1193_fail:
+    goto rx1189_fail
+  rxcap_1193_done:
+  # rx charclass s
+    ge rx1189_pos, rx1189_eos, rx1189_fail
+    sub $I10, rx1189_pos, rx1189_off
+    is_cclass $I11, 32, rx1189_tgt, $I10
+    unless $I11, rx1189_fail
+    inc rx1189_pos
+  # rx subrule "O" subtype=capture negate=
+    rx1189_cur."!cursor_pos"(rx1189_pos)
+    $P10 = rx1189_cur."O"("%list_prefix")
+    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, "prefix:sym<make>")
+    rx1189_cur."!cursor_debug"("PASS  ", "prefix:sym<make>", " at pos=", rx1189_pos)
+    .return (rx1189_cur)
+  rx1189_fail:
+.annotate "line", 400
+    (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  ", "prefix:sym<make>")
+    .return (rx1189_cur)
+    .return ()
+.end
+
+
+.namespace ["NQP";"Grammar"]
+.sub "!PREFIX__prefix:sym<make>"  :subid("306_1259177761.22934") :method
+.annotate "line", 400
+    new $P1191, "ResizablePMCArray"
+    push $P1191, "make"
+    .return ($P1191)
+.end
+
+
 .namespace ["NQP";"Regex"]
-.sub "metachar:sym<{ }>"  :subid("307_1259103982.97329") :method :outer("303_1259103982.97329")
-.annotate "line", 498
-    .local string rx1186_tgt
-    .local int rx1186_pos
-    .local int rx1186_off
-    .local int rx1186_eos
-    .local int rx1186_rep
-    .local pmc rx1186_cur
-    (rx1186_cur, rx1186_pos, rx1186_tgt) = self."!cursor_start"()
-    rx1186_cur."!cursor_debug"("START ", "metachar:sym<{ }>")
-    .lex unicode:"$\x{a2}", rx1186_cur
-    .local pmc match
-    .lex "$/", match
-    length rx1186_eos, rx1186_tgt
-    set rx1186_off, 0
-    lt rx1186_pos, 2, rx1186_start
-    sub rx1186_off, rx1186_pos, 1
-    substr rx1186_tgt, rx1186_tgt, rx1186_off
-  rx1186_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan1189_done
-    goto rxscan1189_scan
-  rxscan1189_loop:
-    ($P10) = rx1186_cur."from"()
-    inc $P10
-    set rx1186_pos, $P10
-    ge rx1186_pos, rx1186_eos, rxscan1189_done
-  rxscan1189_scan:
-    set_addr $I10, rxscan1189_loop
-    rx1186_cur."!mark_push"(0, rx1186_pos, $I10)
-  rxscan1189_done:
-.annotate "line", 504
+.sub "_block1194"  :subid("307_1259177761.22934") :outer("11_1259177761.22934")
+.annotate "line", 508
+    .const 'Sub' $P1230 = "318_1259177761.22934" 
+    capture_lex $P1230
+    .const 'Sub' $P1216 = "315_1259177761.22934" 
+    capture_lex $P1216
+    .const 'Sub' $P1211 = "313_1259177761.22934" 
+    capture_lex $P1211
+    .const 'Sub' $P1206 = "311_1259177761.22934" 
+    capture_lex $P1206
+    .const 'Sub' $P1196 = "308_1259177761.22934" 
+    capture_lex $P1196
+    .const 'Sub' $P1230 = "318_1259177761.22934" 
+    capture_lex $P1230
+    .return ($P1230)
+.end
+
+
+.namespace ["NQP";"Regex"]
+.sub "metachar:sym<:my>"  :subid("308_1259177761.22934") :method :outer("307_1259177761.22934")
+.annotate "line", 508
+    .const 'Sub' $P1202 = "310_1259177761.22934" 
+    capture_lex $P1202
+    .local string rx1197_tgt
+    .local int rx1197_pos
+    .local int rx1197_off
+    .local int rx1197_eos
+    .local int rx1197_rep
+    .local pmc rx1197_cur
+    (rx1197_cur, rx1197_pos, rx1197_tgt) = self."!cursor_start"()
+    rx1197_cur."!cursor_debug"("START ", "metachar:sym<:my>")
+    .lex unicode:"$\x{a2}", rx1197_cur
+    .local pmc match
+    .lex "$/", match
+    length rx1197_eos, rx1197_tgt
+    set rx1197_off, 0
+    lt rx1197_pos, 2, rx1197_start
+    sub rx1197_off, rx1197_pos, 1
+    substr rx1197_tgt, rx1197_tgt, rx1197_off
+  rx1197_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan1200_done
+    goto rxscan1200_scan
+  rxscan1200_loop:
+    ($P10) = rx1197_cur."from"()
+    inc $P10
+    set rx1197_pos, $P10
+    ge rx1197_pos, rx1197_eos, rxscan1200_done
+  rxscan1200_scan:
+    set_addr $I10, rxscan1200_loop
+    rx1197_cur."!mark_push"(0, rx1197_pos, $I10)
+  rxscan1200_done:
+.annotate "line", 510
+  # rx literal  ":"
+    add $I11, rx1197_pos, 1
+    gt $I11, rx1197_eos, rx1197_fail
+    sub $I11, rx1197_pos, rx1197_off
+    substr $S10, rx1197_tgt, $I11, 1
+    ne $S10, ":", rx1197_fail
+    add rx1197_pos, 1
+  # rx subrule "before" subtype=zerowidth negate=
+    rx1197_cur."!cursor_pos"(rx1197_pos)
+    .const 'Sub' $P1202 = "310_1259177761.22934" 
+    capture_lex $P1202
+    $P10 = rx1197_cur."before"($P1202)
+    unless $P10, rx1197_fail
+  # rx subrule "LANG" subtype=capture negate=
+    rx1197_cur."!cursor_pos"(rx1197_pos)
+    $P10 = rx1197_cur."LANG"("MAIN", "statement")
+    unless $P10, rx1197_fail
+    rx1197_cur."!mark_push"(0, -1, 0, $P10)
+    $P10."!cursor_names"("statement")
+    rx1197_pos = $P10."pos"()
+  # rx subrule "ws" subtype=method negate=
+    rx1197_cur."!cursor_pos"(rx1197_pos)
+    $P10 = rx1197_cur."ws"()
+    unless $P10, rx1197_fail
+    rx1197_pos = $P10."pos"()
+  # rx literal  ";"
+    add $I11, rx1197_pos, 1
+    gt $I11, rx1197_eos, rx1197_fail
+    sub $I11, rx1197_pos, rx1197_off
+    substr $S10, rx1197_tgt, $I11, 1
+    ne $S10, ";", rx1197_fail
+    add rx1197_pos, 1
+.annotate "line", 509
+  # rx pass
+    rx1197_cur."!cursor_pass"(rx1197_pos, "metachar:sym<:my>")
+    rx1197_cur."!cursor_debug"("PASS  ", "metachar:sym<:my>", " at pos=", rx1197_pos)
+    .return (rx1197_cur)
+  rx1197_fail:
+.annotate "line", 508
+    (rx1197_rep, rx1197_pos, $I10, $P10) = rx1197_cur."!mark_fail"(0)
+    lt rx1197_pos, -1, rx1197_done
+    eq rx1197_pos, -1, rx1197_fail
+    jump $I10
+  rx1197_done:
+    rx1197_cur."!cursor_fail"()
+    rx1197_cur."!cursor_debug"("FAIL  ", "metachar:sym<:my>")
+    .return (rx1197_cur)
+    .return ()
+.end
+
+
+.namespace ["NQP";"Regex"]
+.sub "!PREFIX__metachar:sym<:my>"  :subid("309_1259177761.22934") :method
+.annotate "line", 508
+    new $P1199, "ResizablePMCArray"
+    push $P1199, ":"
+    .return ($P1199)
+.end
+
+
+.namespace ["NQP";"Regex"]
+.sub "_block1201"  :anon :subid("310_1259177761.22934") :method :outer("308_1259177761.22934")
+.annotate "line", 510
+    .lex unicode:"$\x{a2}", $P1203
+    .local string rx1204_tgt
+    .local int rx1204_pos
+    .local int rx1204_off
+    .local int rx1204_eos
+    .local int rx1204_rep
+    .local pmc rx1204_cur
+    (rx1204_cur, rx1204_pos, rx1204_tgt) = self."!cursor_start"()
+    rx1204_cur."!cursor_debug"("START ", "")
+    .lex unicode:"$\x{a2}", rx1204_cur
+    .local pmc match
+    .lex "$/", match
+    length rx1204_eos, rx1204_tgt
+    set rx1204_off, 0
+    lt rx1204_pos, 2, rx1204_start
+    sub rx1204_off, rx1204_pos, 1
+    substr rx1204_tgt, rx1204_tgt, rx1204_off
+  rx1204_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan1205_done
+    goto rxscan1205_scan
+  rxscan1205_loop:
+    ($P10) = rx1204_cur."from"()
+    inc $P10
+    set rx1204_pos, $P10
+    ge rx1204_pos, rx1204_eos, rxscan1205_done
+  rxscan1205_scan:
+    set_addr $I10, rxscan1205_loop
+    rx1204_cur."!mark_push"(0, rx1204_pos, $I10)
+  rxscan1205_done:
+  # rx literal  "my"
+    add $I11, rx1204_pos, 2
+    gt $I11, rx1204_eos, rx1204_fail
+    sub $I11, rx1204_pos, rx1204_off
+    substr $S10, rx1204_tgt, $I11, 2
+    ne $S10, "my", rx1204_fail
+    add rx1204_pos, 2
+  # rx pass
+    rx1204_cur."!cursor_pass"(rx1204_pos, "")
+    rx1204_cur."!cursor_debug"("PASS  ", "", " at pos=", rx1204_pos)
+    .return (rx1204_cur)
+  rx1204_fail:
+    (rx1204_rep, rx1204_pos, $I10, $P10) = rx1204_cur."!mark_fail"(0)
+    lt rx1204_pos, -1, rx1204_done
+    eq rx1204_pos, -1, rx1204_fail
+    jump $I10
+  rx1204_done:
+    rx1204_cur."!cursor_fail"()
+    rx1204_cur."!cursor_debug"("FAIL  ", "")
+    .return (rx1204_cur)
+    .return ()
+.end
+
+
+.namespace ["NQP";"Regex"]
+.sub "metachar:sym<{ }>"  :subid("311_1259177761.22934") :method :outer("307_1259177761.22934")
+.annotate "line", 508
+    .local string rx1207_tgt
+    .local int rx1207_pos
+    .local int rx1207_off
+    .local int rx1207_eos
+    .local int rx1207_rep
+    .local pmc rx1207_cur
+    (rx1207_cur, rx1207_pos, rx1207_tgt) = self."!cursor_start"()
+    rx1207_cur."!cursor_debug"("START ", "metachar:sym<{ }>")
+    .lex unicode:"$\x{a2}", rx1207_cur
+    .local pmc match
+    .lex "$/", match
+    length rx1207_eos, rx1207_tgt
+    set rx1207_off, 0
+    lt rx1207_pos, 2, rx1207_start
+    sub rx1207_off, rx1207_pos, 1
+    substr rx1207_tgt, rx1207_tgt, rx1207_off
+  rx1207_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan1210_done
+    goto rxscan1210_scan
+  rxscan1210_loop:
+    ($P10) = rx1207_cur."from"()
+    inc $P10
+    set rx1207_pos, $P10
+    ge rx1207_pos, rx1207_eos, rxscan1210_done
+  rxscan1210_scan:
+    set_addr $I10, rxscan1210_loop
+    rx1207_cur."!mark_push"(0, rx1207_pos, $I10)
+  rxscan1210_done:
+.annotate "line", 514
   # rx enumcharlist negate=0 zerowidth
-    ge rx1186_pos, rx1186_eos, rx1186_fail
-    sub $I10, rx1186_pos, rx1186_off
-    substr $S10, rx1186_tgt, $I10, 1
+    ge rx1207_pos, rx1207_eos, rx1207_fail
+    sub $I10, rx1207_pos, rx1207_off
+    substr $S10, rx1207_tgt, $I10, 1
     index $I11, "{", $S10
-    lt $I11, 0, rx1186_fail
+    lt $I11, 0, rx1207_fail
   # rx subrule "codeblock" subtype=capture negate=
-    rx1186_cur."!cursor_pos"(rx1186_pos)
-    $P10 = rx1186_cur."codeblock"()
-    unless $P10, rx1186_fail
-    rx1186_cur."!mark_push"(0, -1, 0, $P10)
+    rx1207_cur."!cursor_pos"(rx1207_pos)
+    $P10 = rx1207_cur."codeblock"()
+    unless $P10, rx1207_fail
+    rx1207_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("codeblock")
-    rx1186_pos = $P10."pos"()
-.annotate "line", 503
+    rx1207_pos = $P10."pos"()
+.annotate "line", 513
   # rx pass
-    rx1186_cur."!cursor_pass"(rx1186_pos, "metachar:sym<{ }>")
-    rx1186_cur."!cursor_debug"("PASS  ", "metachar:sym<{ }>", " at pos=", rx1186_pos)
-    .return (rx1186_cur)
-  rx1186_fail:
-.annotate "line", 498
-    (rx1186_rep, rx1186_pos, $I10, $P10) = rx1186_cur."!mark_fail"(0)
-    lt rx1186_pos, -1, rx1186_done
-    eq rx1186_pos, -1, rx1186_fail
-    jump $I10
-  rx1186_done:
-    rx1186_cur."!cursor_fail"()
-    rx1186_cur."!cursor_debug"("FAIL  ", "metachar:sym<{ }>")
-    .return (rx1186_cur)
+    rx1207_cur."!cursor_pass"(rx1207_pos, "metachar:sym<{ }>")
+    rx1207_cur."!cursor_debug"("PASS  ", "metachar:sym<{ }>", " at pos=", rx1207_pos)
+    .return (rx1207_cur)
+  rx1207_fail:
+.annotate "line", 508
+    (rx1207_rep, rx1207_pos, $I10, $P10) = rx1207_cur."!mark_fail"(0)
+    lt rx1207_pos, -1, rx1207_done
+    eq rx1207_pos, -1, rx1207_fail
+    jump $I10
+  rx1207_done:
+    rx1207_cur."!cursor_fail"()
+    rx1207_cur."!cursor_debug"("FAIL  ", "metachar:sym<{ }>")
+    .return (rx1207_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Regex"]
-.sub "!PREFIX__metachar:sym<{ }>"  :subid("308_1259103982.97329") :method
-.annotate "line", 498
-    new $P1188, "ResizablePMCArray"
-    push $P1188, "{"
-    .return ($P1188)
+.sub "!PREFIX__metachar:sym<{ }>"  :subid("312_1259177761.22934") :method
+.annotate "line", 508
+    new $P1209, "ResizablePMCArray"
+    push $P1209, "{"
+    .return ($P1209)
 .end
 
 
 .namespace ["NQP";"Regex"]
-.sub "assertion:sym<{ }>"  :subid("309_1259103982.97329") :method :outer("303_1259103982.97329")
-.annotate "line", 498
-    .local string rx1191_tgt
-    .local int rx1191_pos
-    .local int rx1191_off
-    .local int rx1191_eos
-    .local int rx1191_rep
-    .local pmc rx1191_cur
-    (rx1191_cur, rx1191_pos, rx1191_tgt) = self."!cursor_start"()
-    rx1191_cur."!cursor_debug"("START ", "assertion:sym<{ }>")
-    .lex unicode:"$\x{a2}", rx1191_cur
-    .local pmc match
-    .lex "$/", match
-    length rx1191_eos, rx1191_tgt
-    set rx1191_off, 0
-    lt rx1191_pos, 2, rx1191_start
-    sub rx1191_off, rx1191_pos, 1
-    substr rx1191_tgt, rx1191_tgt, rx1191_off
-  rx1191_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan1194_done
-    goto rxscan1194_scan
-  rxscan1194_loop:
-    ($P10) = rx1191_cur."from"()
-    inc $P10
-    set rx1191_pos, $P10
-    ge rx1191_pos, rx1191_eos, rxscan1194_done
-  rxscan1194_scan:
-    set_addr $I10, rxscan1194_loop
-    rx1191_cur."!mark_push"(0, rx1191_pos, $I10)
-  rxscan1194_done:
+.sub "assertion:sym<{ }>"  :subid("313_1259177761.22934") :method :outer("307_1259177761.22934")
 .annotate "line", 508
+    .local string rx1212_tgt
+    .local int rx1212_pos
+    .local int rx1212_off
+    .local int rx1212_eos
+    .local int rx1212_rep
+    .local pmc rx1212_cur
+    (rx1212_cur, rx1212_pos, rx1212_tgt) = self."!cursor_start"()
+    rx1212_cur."!cursor_debug"("START ", "assertion:sym<{ }>")
+    .lex unicode:"$\x{a2}", rx1212_cur
+    .local pmc match
+    .lex "$/", match
+    length rx1212_eos, rx1212_tgt
+    set rx1212_off, 0
+    lt rx1212_pos, 2, rx1212_start
+    sub rx1212_off, rx1212_pos, 1
+    substr rx1212_tgt, rx1212_tgt, rx1212_off
+  rx1212_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan1215_done
+    goto rxscan1215_scan
+  rxscan1215_loop:
+    ($P10) = rx1212_cur."from"()
+    inc $P10
+    set rx1212_pos, $P10
+    ge rx1212_pos, rx1212_eos, rxscan1215_done
+  rxscan1215_scan:
+    set_addr $I10, rxscan1215_loop
+    rx1212_cur."!mark_push"(0, rx1212_pos, $I10)
+  rxscan1215_done:
+.annotate "line", 518
   # rx enumcharlist negate=0 zerowidth
-    ge rx1191_pos, rx1191_eos, rx1191_fail
-    sub $I10, rx1191_pos, rx1191_off
-    substr $S10, rx1191_tgt, $I10, 1
+    ge rx1212_pos, rx1212_eos, rx1212_fail
+    sub $I10, rx1212_pos, rx1212_off
+    substr $S10, rx1212_tgt, $I10, 1
     index $I11, "{", $S10
-    lt $I11, 0, rx1191_fail
+    lt $I11, 0, rx1212_fail
   # rx subrule "codeblock" subtype=capture negate=
-    rx1191_cur."!cursor_pos"(rx1191_pos)
-    $P10 = rx1191_cur."codeblock"()
-    unless $P10, rx1191_fail
-    rx1191_cur."!mark_push"(0, -1, 0, $P10)
+    rx1212_cur."!cursor_pos"(rx1212_pos)
+    $P10 = rx1212_cur."codeblock"()
+    unless $P10, rx1212_fail
+    rx1212_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("codeblock")
-    rx1191_pos = $P10."pos"()
-.annotate "line", 507
+    rx1212_pos = $P10."pos"()
+.annotate "line", 517
   # rx pass
-    rx1191_cur."!cursor_pass"(rx1191_pos, "assertion:sym<{ }>")
-    rx1191_cur."!cursor_debug"("PASS  ", "assertion:sym<{ }>", " at pos=", rx1191_pos)
-    .return (rx1191_cur)
-  rx1191_fail:
-.annotate "line", 498
-    (rx1191_rep, rx1191_pos, $I10, $P10) = rx1191_cur."!mark_fail"(0)
-    lt rx1191_pos, -1, rx1191_done
-    eq rx1191_pos, -1, rx1191_fail
-    jump $I10
-  rx1191_done:
-    rx1191_cur."!cursor_fail"()
-    rx1191_cur."!cursor_debug"("FAIL  ", "assertion:sym<{ }>")
-    .return (rx1191_cur)
+    rx1212_cur."!cursor_pass"(rx1212_pos, "assertion:sym<{ }>")
+    rx1212_cur."!cursor_debug"("PASS  ", "assertion:sym<{ }>", " at pos=", rx1212_pos)
+    .return (rx1212_cur)
+  rx1212_fail:
+.annotate "line", 508
+    (rx1212_rep, rx1212_pos, $I10, $P10) = rx1212_cur."!mark_fail"(0)
+    lt rx1212_pos, -1, rx1212_done
+    eq rx1212_pos, -1, rx1212_fail
+    jump $I10
+  rx1212_done:
+    rx1212_cur."!cursor_fail"()
+    rx1212_cur."!cursor_debug"("FAIL  ", "assertion:sym<{ }>")
+    .return (rx1212_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Regex"]
-.sub "!PREFIX__assertion:sym<{ }>"  :subid("310_1259103982.97329") :method
-.annotate "line", 498
-    new $P1193, "ResizablePMCArray"
-    push $P1193, "{"
-    .return ($P1193)
+.sub "!PREFIX__assertion:sym<{ }>"  :subid("314_1259177761.22934") :method
+.annotate "line", 508
+    new $P1214, "ResizablePMCArray"
+    push $P1214, "{"
+    .return ($P1214)
 .end
 
 
 .namespace ["NQP";"Regex"]
-.sub "assertion:sym<name>"  :subid("311_1259103982.97329") :method :outer("303_1259103982.97329")
-.annotate "line", 498
-    .const 'Sub' $P1204 = "313_1259103982.97329" 
-    capture_lex $P1204
-    .local string rx1196_tgt
-    .local int rx1196_pos
-    .local int rx1196_off
-    .local int rx1196_eos
-    .local int rx1196_rep
-    .local pmc rx1196_cur
-    (rx1196_cur, rx1196_pos, rx1196_tgt) = self."!cursor_start"()
-    rx1196_cur."!cursor_debug"("START ", "assertion:sym<name>")
-    rx1196_cur."!cursor_caparray"("assertion", "nibbler", "arglist")
-    .lex unicode:"$\x{a2}", rx1196_cur
-    .local pmc match
-    .lex "$/", match
-    length rx1196_eos, rx1196_tgt
-    set rx1196_off, 0
-    lt rx1196_pos, 2, rx1196_start
-    sub rx1196_off, rx1196_pos, 1
-    substr rx1196_tgt, rx1196_tgt, rx1196_off
-  rx1196_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan1199_done
-    goto rxscan1199_scan
-  rxscan1199_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
-    rx1196_cur."!mark_push"(0, rx1196_pos, $I10)
-  rxscan1199_done:
-.annotate "line", 512
+.sub "assertion:sym<name>"  :subid("315_1259177761.22934") :method :outer("307_1259177761.22934")
+.annotate "line", 508
+    .const 'Sub' $P1225 = "317_1259177761.22934" 
+    capture_lex $P1225
+    .local string rx1217_tgt
+    .local int rx1217_pos
+    .local int rx1217_off
+    .local int rx1217_eos
+    .local int rx1217_rep
+    .local pmc rx1217_cur
+    (rx1217_cur, rx1217_pos, rx1217_tgt) = self."!cursor_start"()
+    rx1217_cur."!cursor_debug"("START ", "assertion:sym<name>")
+    rx1217_cur."!cursor_caparray"("nibbler", "arglist", "assertion")
+    .lex unicode:"$\x{a2}", rx1217_cur
+    .local pmc match
+    .lex "$/", match
+    length rx1217_eos, rx1217_tgt
+    set rx1217_off, 0
+    lt rx1217_pos, 2, rx1217_start
+    sub rx1217_off, rx1217_pos, 1
+    substr rx1217_tgt, rx1217_tgt, rx1217_off
+  rx1217_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan1220_done
+    goto rxscan1220_scan
+  rxscan1220_loop:
+    ($P10) = rx1217_cur."from"()
+    inc $P10
+    set rx1217_pos, $P10
+    ge rx1217_pos, rx1217_eos, rxscan1220_done
+  rxscan1220_scan:
+    set_addr $I10, rxscan1220_loop
+    rx1217_cur."!mark_push"(0, rx1217_pos, $I10)
+  rxscan1220_done:
+.annotate "line", 522
   # rx subcapture "longname"
-    set_addr $I10, rxcap_1200_fail
-    rx1196_cur."!mark_push"(0, rx1196_pos, $I10)
+    set_addr $I10, rxcap_1221_fail
+    rx1217_cur."!mark_push"(0, rx1217_pos, $I10)
   # rx charclass_q w r 1..-1
-    sub $I10, rx1196_pos, rx1196_off
-    find_not_cclass $I11, 8192, rx1196_tgt, $I10, rx1196_eos
+    sub $I10, rx1217_pos, rx1217_off
+    find_not_cclass $I11, 8192, rx1217_tgt, $I10, rx1217_eos
     add $I12, $I10, 1
-    lt $I11, $I12, rx1196_fail
-    add rx1196_pos, rx1196_off, $I11
-    set_addr $I10, rxcap_1200_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)
+    lt $I11, $I12, rx1217_fail
+    add rx1217_pos, rx1217_off, $I11
+    set_addr $I10, rxcap_1221_fail
+    ($I12, $I11) = rx1217_cur."!mark_peek"($I10)
+    rx1217_cur."!cursor_pos"($I11)
+    ($P10) = rx1217_cur."!cursor_start"()
+    $P10."!cursor_pass"(rx1217_pos, "")
+    rx1217_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("longname")
-    goto rxcap_1200_done
-  rxcap_1200_fail:
-    goto rx1196_fail
-  rxcap_1200_done:
-.annotate "line", 519
-  # rx rxquantr1201 ** 0..1
-    set_addr $I1207, rxquantr1201_done
-    rx1196_cur."!mark_push"(0, rx1196_pos, $I1207)
-  rxquantr1201_loop:
-  alt1202_0:
-.annotate "line", 513
-    set_addr $I10, alt1202_1
-    rx1196_cur."!mark_push"(0, rx1196_pos, $I10)
-.annotate "line", 514
+    goto rxcap_1221_done
+  rxcap_1221_fail:
+    goto rx1217_fail
+  rxcap_1221_done:
+.annotate "line", 529
+  # rx rxquantr1222 ** 0..1
+    set_addr $I1229, rxquantr1222_done
+    rx1217_cur."!mark_push"(0, rx1217_pos, $I1229)
+  rxquantr1222_loop:
+  alt1223_0:
+.annotate "line", 523
+    set_addr $I10, alt1223_1
+    rx1217_cur."!mark_push"(0, rx1217_pos, $I10)
+.annotate "line", 524
   # rx subrule "before" subtype=zerowidth negate=
-    rx1196_cur."!cursor_pos"(rx1196_pos)
-    .const 'Sub' $P1204 = "313_1259103982.97329" 
-    capture_lex $P1204
-    $P10 = rx1196_cur."before"($P1204)
-    unless $P10, rx1196_fail
-    goto alt1202_end
-  alt1202_1:
-    set_addr $I10, alt1202_2
-    rx1196_cur."!mark_push"(0, rx1196_pos, $I10)
-.annotate "line", 515
+    rx1217_cur."!cursor_pos"(rx1217_pos)
+    .const 'Sub' $P1225 = "317_1259177761.22934" 
+    capture_lex $P1225
+    $P10 = rx1217_cur."before"($P1225)
+    unless $P10, rx1217_fail
+    goto alt1223_end
+  alt1223_1:
+    set_addr $I10, alt1223_2
+    rx1217_cur."!mark_push"(0, rx1217_pos, $I10)
+.annotate "line", 525
   # rx literal  "="
-    add $I11, rx1196_pos, 1
-    gt $I11, rx1196_eos, rx1196_fail
-    sub $I11, rx1196_pos, rx1196_off
-    substr $S10, rx1196_tgt, $I11, 1
-    ne $S10, "=", rx1196_fail
-    add rx1196_pos, 1
+    add $I11, rx1217_pos, 1
+    gt $I11, rx1217_eos, rx1217_fail
+    sub $I11, rx1217_pos, rx1217_off
+    substr $S10, rx1217_tgt, $I11, 1
+    ne $S10, "=", rx1217_fail
+    add rx1217_pos, 1
   # rx subrule "assertion" subtype=capture negate=
-    rx1196_cur."!cursor_pos"(rx1196_pos)
-    $P10 = rx1196_cur."assertion"()
-    unless $P10, rx1196_fail
-    rx1196_cur."!mark_push"(0, -1, 0, $P10)
+    rx1217_cur."!cursor_pos"(rx1217_pos)
+    $P10 = rx1217_cur."assertion"()
+    unless $P10, rx1217_fail
+    rx1217_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("assertion")
-    rx1196_pos = $P10."pos"()
-    goto alt1202_end
-  alt1202_2:
-    set_addr $I10, alt1202_3
-    rx1196_cur."!mark_push"(0, rx1196_pos, $I10)
-.annotate "line", 516
+    rx1217_pos = $P10."pos"()
+    goto alt1223_end
+  alt1223_2:
+    set_addr $I10, alt1223_3
+    rx1217_cur."!mark_push"(0, rx1217_pos, $I10)
+.annotate "line", 526
   # rx literal  ":"
-    add $I11, rx1196_pos, 1
-    gt $I11, rx1196_eos, rx1196_fail
-    sub $I11, rx1196_pos, rx1196_off
-    substr $S10, rx1196_tgt, $I11, 1
-    ne $S10, ":", rx1196_fail
-    add rx1196_pos, 1
+    add $I11, rx1217_pos, 1
+    gt $I11, rx1217_eos, rx1217_fail
+    sub $I11, rx1217_pos, rx1217_off
+    substr $S10, rx1217_tgt, $I11, 1
+    ne $S10, ":", rx1217_fail
+    add rx1217_pos, 1
   # rx subrule "arglist" subtype=capture negate=
-    rx1196_cur."!cursor_pos"(rx1196_pos)
-    $P10 = rx1196_cur."arglist"()
-    unless $P10, rx1196_fail
-    rx1196_cur."!mark_push"(0, -1, 0, $P10)
+    rx1217_cur."!cursor_pos"(rx1217_pos)
+    $P10 = rx1217_cur."arglist"()
+    unless $P10, rx1217_fail
+    rx1217_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("arglist")
-    rx1196_pos = $P10."pos"()
-    goto alt1202_end
-  alt1202_3:
-    set_addr $I10, alt1202_4
-    rx1196_cur."!mark_push"(0, rx1196_pos, $I10)
-.annotate "line", 517
+    rx1217_pos = $P10."pos"()
+    goto alt1223_end
+  alt1223_3:
+    set_addr $I10, alt1223_4
+    rx1217_cur."!mark_push"(0, rx1217_pos, $I10)
+.annotate "line", 527
   # rx literal  "("
-    add $I11, rx1196_pos, 1
-    gt $I11, rx1196_eos, rx1196_fail
-    sub $I11, rx1196_pos, rx1196_off
-    substr $S10, rx1196_tgt, $I11, 1
-    ne $S10, "(", rx1196_fail
-    add rx1196_pos, 1
+    add $I11, rx1217_pos, 1
+    gt $I11, rx1217_eos, rx1217_fail
+    sub $I11, rx1217_pos, rx1217_off
+    substr $S10, rx1217_tgt, $I11, 1
+    ne $S10, "(", rx1217_fail
+    add rx1217_pos, 1
   # rx subrule "LANG" subtype=capture negate=
-    rx1196_cur."!cursor_pos"(rx1196_pos)
-    $P10 = rx1196_cur."LANG"("MAIN", "arglist")
-    unless $P10, rx1196_fail
-    rx1196_cur."!mark_push"(0, -1, 0, $P10)
+    rx1217_cur."!cursor_pos"(rx1217_pos)
+    $P10 = rx1217_cur."LANG"("MAIN", "arglist")
+    unless $P10, rx1217_fail
+    rx1217_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("arglist")
-    rx1196_pos = $P10."pos"()
+    rx1217_pos = $P10."pos"()
   # rx literal  ")"
-    add $I11, rx1196_pos, 1
-    gt $I11, rx1196_eos, rx1196_fail
-    sub $I11, rx1196_pos, rx1196_off
-    substr $S10, rx1196_tgt, $I11, 1
-    ne $S10, ")", rx1196_fail
-    add rx1196_pos, 1
-    goto alt1202_end
-  alt1202_4:
-.annotate "line", 518
+    add $I11, rx1217_pos, 1
+    gt $I11, rx1217_eos, rx1217_fail
+    sub $I11, rx1217_pos, rx1217_off
+    substr $S10, rx1217_tgt, $I11, 1
+    ne $S10, ")", rx1217_fail
+    add rx1217_pos, 1
+    goto alt1223_end
+  alt1223_4:
+.annotate "line", 528
   # rx subrule "normspace" subtype=method negate=
-    rx1196_cur."!cursor_pos"(rx1196_pos)
-    $P10 = rx1196_cur."normspace"()
-    unless $P10, rx1196_fail
-    rx1196_pos = $P10."pos"()
+    rx1217_cur."!cursor_pos"(rx1217_pos)
+    $P10 = rx1217_cur."normspace"()
+    unless $P10, rx1217_fail
+    rx1217_pos = $P10."pos"()
   # rx subrule "nibbler" subtype=capture negate=
-    rx1196_cur."!cursor_pos"(rx1196_pos)
-    $P10 = rx1196_cur."nibbler"()
-    unless $P10, rx1196_fail
-    rx1196_cur."!mark_push"(0, -1, 0, $P10)
+    rx1217_cur."!cursor_pos"(rx1217_pos)
+    $P10 = rx1217_cur."nibbler"()
+    unless $P10, rx1217_fail
+    rx1217_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("nibbler")
-    rx1196_pos = $P10."pos"()
-  alt1202_end:
-.annotate "line", 519
-    (rx1196_rep) = rx1196_cur."!mark_commit"($I1207)
-  rxquantr1201_done:
-.annotate "line", 511
-  # rx pass
-    rx1196_cur."!cursor_pass"(rx1196_pos, "assertion:sym<name>")
-    rx1196_cur."!cursor_debug"("PASS  ", "assertion:sym<name>", " at pos=", rx1196_pos)
-    .return (rx1196_cur)
-  rx1196_fail:
-.annotate "line", 498
-    (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  ", "assertion:sym<name>")
-    .return (rx1196_cur)
+    rx1217_pos = $P10."pos"()
+  alt1223_end:
+.annotate "line", 529
+    (rx1217_rep) = rx1217_cur."!mark_commit"($I1229)
+  rxquantr1222_done:
+.annotate "line", 521
+  # rx pass
+    rx1217_cur."!cursor_pass"(rx1217_pos, "assertion:sym<name>")
+    rx1217_cur."!cursor_debug"("PASS  ", "assertion:sym<name>", " at pos=", rx1217_pos)
+    .return (rx1217_cur)
+  rx1217_fail:
+.annotate "line", 508
+    (rx1217_rep, rx1217_pos, $I10, $P10) = rx1217_cur."!mark_fail"(0)
+    lt rx1217_pos, -1, rx1217_done
+    eq rx1217_pos, -1, rx1217_fail
+    jump $I10
+  rx1217_done:
+    rx1217_cur."!cursor_fail"()
+    rx1217_cur."!cursor_debug"("FAIL  ", "assertion:sym<name>")
+    .return (rx1217_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Regex"]
-.sub "!PREFIX__assertion:sym<name>"  :subid("312_1259103982.97329") :method
-.annotate "line", 498
-    new $P1198, "ResizablePMCArray"
-    push $P1198, ""
-    .return ($P1198)
+.sub "!PREFIX__assertion:sym<name>"  :subid("316_1259177761.22934") :method
+.annotate "line", 508
+    new $P1219, "ResizablePMCArray"
+    push $P1219, ""
+    .return ($P1219)
 .end
 
 
 .namespace ["NQP";"Regex"]
-.sub "_block1203"  :anon :subid("313_1259103982.97329") :method :outer("311_1259103982.97329")
-.annotate "line", 514
-    .local string rx1205_tgt
-    .local int rx1205_pos
-    .local int rx1205_off
-    .local int rx1205_eos
-    .local int rx1205_rep
-    .local pmc rx1205_cur
-    (rx1205_cur, rx1205_pos, rx1205_tgt) = self."!cursor_start"()
-    rx1205_cur."!cursor_debug"("START ", "")
-    .lex unicode:"$\x{a2}", rx1205_cur
-    .local pmc match
-    .lex "$/", match
-    length rx1205_eos, rx1205_tgt
-    set rx1205_off, 0
-    lt rx1205_pos, 2, rx1205_start
-    sub rx1205_off, rx1205_pos, 1
-    substr rx1205_tgt, rx1205_tgt, rx1205_off
-  rx1205_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan1206_done
-    goto rxscan1206_scan
-  rxscan1206_loop:
-    ($P10) = rx1205_cur."from"()
-    inc $P10
-    set rx1205_pos, $P10
-    ge rx1205_pos, rx1205_eos, rxscan1206_done
-  rxscan1206_scan:
-    set_addr $I10, rxscan1206_loop
-    rx1205_cur."!mark_push"(0, rx1205_pos, $I10)
-  rxscan1206_done:
+.sub "_block1224"  :anon :subid("317_1259177761.22934") :method :outer("315_1259177761.22934")
+.annotate "line", 524
+    .lex unicode:"$\x{a2}", $P1226
+    .local string rx1227_tgt
+    .local int rx1227_pos
+    .local int rx1227_off
+    .local int rx1227_eos
+    .local int rx1227_rep
+    .local pmc rx1227_cur
+    (rx1227_cur, rx1227_pos, rx1227_tgt) = self."!cursor_start"()
+    rx1227_cur."!cursor_debug"("START ", "")
+    .lex unicode:"$\x{a2}", rx1227_cur
+    .local pmc match
+    .lex "$/", match
+    length rx1227_eos, rx1227_tgt
+    set rx1227_off, 0
+    lt rx1227_pos, 2, rx1227_start
+    sub rx1227_off, rx1227_pos, 1
+    substr rx1227_tgt, rx1227_tgt, rx1227_off
+  rx1227_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan1228_done
+    goto rxscan1228_scan
+  rxscan1228_loop:
+    ($P10) = rx1227_cur."from"()
+    inc $P10
+    set rx1227_pos, $P10
+    ge rx1227_pos, rx1227_eos, rxscan1228_done
+  rxscan1228_scan:
+    set_addr $I10, rxscan1228_loop
+    rx1227_cur."!mark_push"(0, rx1227_pos, $I10)
+  rxscan1228_done:
   # rx literal  ">"
-    add $I11, rx1205_pos, 1
-    gt $I11, rx1205_eos, rx1205_fail
-    sub $I11, rx1205_pos, rx1205_off
-    substr $S10, rx1205_tgt, $I11, 1
-    ne $S10, ">", rx1205_fail
-    add rx1205_pos, 1
-  # rx pass
-    rx1205_cur."!cursor_pass"(rx1205_pos, "")
-    rx1205_cur."!cursor_debug"("PASS  ", "", " at pos=", rx1205_pos)
-    .return (rx1205_cur)
-  rx1205_fail:
-    (rx1205_rep, rx1205_pos, $I10, $P10) = rx1205_cur."!mark_fail"(0)
-    lt rx1205_pos, -1, rx1205_done
-    eq rx1205_pos, -1, rx1205_fail
-    jump $I10
-  rx1205_done:
-    rx1205_cur."!cursor_fail"()
-    rx1205_cur."!cursor_debug"("FAIL  ", "")
-    .return (rx1205_cur)
+    add $I11, rx1227_pos, 1
+    gt $I11, rx1227_eos, rx1227_fail
+    sub $I11, rx1227_pos, rx1227_off
+    substr $S10, rx1227_tgt, $I11, 1
+    ne $S10, ">", rx1227_fail
+    add rx1227_pos, 1
+  # rx pass
+    rx1227_cur."!cursor_pass"(rx1227_pos, "")
+    rx1227_cur."!cursor_debug"("PASS  ", "", " at pos=", rx1227_pos)
+    .return (rx1227_cur)
+  rx1227_fail:
+    (rx1227_rep, rx1227_pos, $I10, $P10) = rx1227_cur."!mark_fail"(0)
+    lt rx1227_pos, -1, rx1227_done
+    eq rx1227_pos, -1, rx1227_fail
+    jump $I10
+  rx1227_done:
+    rx1227_cur."!cursor_fail"()
+    rx1227_cur."!cursor_debug"("FAIL  ", "")
+    .return (rx1227_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Regex"]
-.sub "codeblock"  :subid("314_1259103982.97329") :method :outer("303_1259103982.97329")
-.annotate "line", 498
-    .local string rx1209_tgt
-    .local int rx1209_pos
-    .local int rx1209_off
-    .local int rx1209_eos
-    .local int rx1209_rep
-    .local pmc rx1209_cur
-    (rx1209_cur, rx1209_pos, rx1209_tgt) = self."!cursor_start"()
-    rx1209_cur."!cursor_debug"("START ", "codeblock")
-    .lex unicode:"$\x{a2}", rx1209_cur
-    .local pmc match
-    .lex "$/", match
-    length rx1209_eos, rx1209_tgt
-    set rx1209_off, 0
-    lt rx1209_pos, 2, rx1209_start
-    sub rx1209_off, rx1209_pos, 1
-    substr rx1209_tgt, rx1209_tgt, rx1209_off
-  rx1209_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan1213_done
-    goto rxscan1213_scan
-  rxscan1213_loop:
-    ($P10) = rx1209_cur."from"()
-    inc $P10
-    set rx1209_pos, $P10
-    ge rx1209_pos, rx1209_eos, rxscan1213_done
-  rxscan1213_scan:
-    set_addr $I10, rxscan1213_loop
-    rx1209_cur."!mark_push"(0, rx1209_pos, $I10)
-  rxscan1213_done:
-.annotate "line", 524
+.sub "codeblock"  :subid("318_1259177761.22934") :method :outer("307_1259177761.22934")
+.annotate "line", 508
+    .local string rx1231_tgt
+    .local int rx1231_pos
+    .local int rx1231_off
+    .local int rx1231_eos
+    .local int rx1231_rep
+    .local pmc rx1231_cur
+    (rx1231_cur, rx1231_pos, rx1231_tgt) = self."!cursor_start"()
+    rx1231_cur."!cursor_debug"("START ", "codeblock")
+    .lex unicode:"$\x{a2}", rx1231_cur
+    .local pmc match
+    .lex "$/", match
+    length rx1231_eos, rx1231_tgt
+    set rx1231_off, 0
+    lt rx1231_pos, 2, rx1231_start
+    sub rx1231_off, rx1231_pos, 1
+    substr rx1231_tgt, rx1231_tgt, rx1231_off
+  rx1231_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan1235_done
+    goto rxscan1235_scan
+  rxscan1235_loop:
+    ($P10) = rx1231_cur."from"()
+    inc $P10
+    set rx1231_pos, $P10
+    ge rx1231_pos, rx1231_eos, rxscan1235_done
+  rxscan1235_scan:
+    set_addr $I10, rxscan1235_loop
+    rx1231_cur."!mark_push"(0, rx1231_pos, $I10)
+  rxscan1235_done:
+.annotate "line", 534
   # rx subrule "LANG" subtype=capture negate=
-    rx1209_cur."!cursor_pos"(rx1209_pos)
-    $P10 = rx1209_cur."LANG"("MAIN", "pblock")
-    unless $P10, rx1209_fail
-    rx1209_cur."!mark_push"(0, -1, 0, $P10)
+    rx1231_cur."!cursor_pos"(rx1231_pos)
+    $P10 = rx1231_cur."LANG"("MAIN", "pblock")
+    unless $P10, rx1231_fail
+    rx1231_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("block")
-    rx1209_pos = $P10."pos"()
-.annotate "line", 523
+    rx1231_pos = $P10."pos"()
+.annotate "line", 533
   # rx pass
-    rx1209_cur."!cursor_pass"(rx1209_pos, "codeblock")
-    rx1209_cur."!cursor_debug"("PASS  ", "codeblock", " at pos=", rx1209_pos)
-    .return (rx1209_cur)
-  rx1209_fail:
-.annotate "line", 498
-    (rx1209_rep, rx1209_pos, $I10, $P10) = rx1209_cur."!mark_fail"(0)
-    lt rx1209_pos, -1, rx1209_done
-    eq rx1209_pos, -1, rx1209_fail
-    jump $I10
-  rx1209_done:
-    rx1209_cur."!cursor_fail"()
-    rx1209_cur."!cursor_debug"("FAIL  ", "codeblock")
-    .return (rx1209_cur)
+    rx1231_cur."!cursor_pass"(rx1231_pos, "codeblock")
+    rx1231_cur."!cursor_debug"("PASS  ", "codeblock", " at pos=", rx1231_pos)
+    .return (rx1231_cur)
+  rx1231_fail:
+.annotate "line", 508
+    (rx1231_rep, rx1231_pos, $I10, $P10) = rx1231_cur."!mark_fail"(0)
+    lt rx1231_pos, -1, rx1231_done
+    eq rx1231_pos, -1, rx1231_fail
+    jump $I10
+  rx1231_done:
+    rx1231_cur."!cursor_fail"()
+    rx1231_cur."!cursor_debug"("FAIL  ", "codeblock")
+    .return (rx1231_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Regex"]
-.sub "!PREFIX__codeblock"  :subid("315_1259103982.97329") :method
-.annotate "line", 498
-    $P1211 = self."!PREFIX__!subrule"("block", "")
-    new $P1212, "ResizablePMCArray"
-    push $P1212, $P1211
-    .return ($P1212)
+.sub "!PREFIX__codeblock"  :subid("319_1259177761.22934") :method
+.annotate "line", 508
+    $P1233 = self."!PREFIX__!subrule"("block", "")
+    new $P1234, "ResizablePMCArray"
+    push $P1234, $P1233
+    .return ($P1234)
 .end
 
 ### .include 'gen/nqp-actions.pir'
 
 .namespace []
-.sub "_block11"  :anon :subid("10_1259103989.89791")
+.sub "_block11"  :anon :subid("10_1259177779.79485")
 .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
-    $P1962 = $P14()
+    $P2056 = $P14()
 .annotate "line", 1
-    .return ($P1962)
+    .return ($P2056)
 .end
 
 
 .namespace []
-.sub "" :load :init :subid("post116") :outer("10_1259103989.89791")
+.sub "" :load :init :subid("post119") :outer("10_1259177779.79485")
 .annotate "line", 0
-    .const 'Sub' $P12 = "10_1259103989.89791" 
+    .const 'Sub' $P12 = "10_1259177779.79485" 
     .local pmc block
     set block, $P12
-    $P1963 = get_root_global ["parrot"], "P6metaclass"
-    $P1963."new_class"("NQP::Actions", "HLL::Actions" :named("parent"))
+    $P2057 = get_root_global ["parrot"], "P6metaclass"
+    $P2057."new_class"("NQP::Actions", "HLL::Actions" :named("parent"))
 .end
 
 
 .namespace ["NQP";"Actions"]
-.sub "_block13"  :subid("11_1259103989.89791") :outer("10_1259103989.89791")
+.sub "_block13"  :subid("11_1259177779.79485") :outer("10_1259177779.79485")
 .annotate "line", 3
-    .const 'Sub' $P1958 = "115_1259103989.89791" 
-    capture_lex $P1958
-    get_hll_global $P1894, ["NQP";"RegexActions"], "_block1893" 
-    capture_lex $P1894
-    .const 'Sub' $P1881 = "109_1259103989.89791" 
-    capture_lex $P1881
-    .const 'Sub' $P1871 = "108_1259103989.89791" 
-    capture_lex $P1871
-    .const 'Sub' $P1861 = "107_1259103989.89791" 
-    capture_lex $P1861
-    .const 'Sub' $P1851 = "106_1259103989.89791" 
-    capture_lex $P1851
-    .const 'Sub' $P1837 = "105_1259103989.89791" 
-    capture_lex $P1837
-    .const 'Sub' $P1827 = "104_1259103989.89791" 
-    capture_lex $P1827
-    .const 'Sub' $P1813 = "103_1259103989.89791" 
-    capture_lex $P1813
-    .const 'Sub' $P1803 = "102_1259103989.89791" 
-    capture_lex $P1803
-    .const 'Sub' $P1793 = "101_1259103989.89791" 
-    capture_lex $P1793
-    .const 'Sub' $P1783 = "100_1259103989.89791" 
-    capture_lex $P1783
-    .const 'Sub' $P1773 = "99_1259103989.89791" 
-    capture_lex $P1773
-    .const 'Sub' $P1763 = "98_1259103989.89791" 
-    capture_lex $P1763
-    .const 'Sub' $P1735 = "97_1259103989.89791" 
-    capture_lex $P1735
-    .const 'Sub' $P1718 = "96_1259103989.89791" 
-    capture_lex $P1718
-    .const 'Sub' $P1708 = "95_1259103989.89791" 
-    capture_lex $P1708
-    .const 'Sub' $P1696 = "94_1259103989.89791" 
-    capture_lex $P1696
-    .const 'Sub' $P1684 = "93_1259103989.89791" 
-    capture_lex $P1684
-    .const 'Sub' $P1672 = "92_1259103989.89791" 
-    capture_lex $P1672
-    .const 'Sub' $P1662 = "91_1259103989.89791" 
-    capture_lex $P1662
-    .const 'Sub' $P1633 = "90_1259103989.89791" 
-    capture_lex $P1633
-    .const 'Sub' $P1609 = "89_1259103989.89791" 
-    capture_lex $P1609
-    .const 'Sub' $P1599 = "88_1259103989.89791" 
-    capture_lex $P1599
-    .const 'Sub' $P1572 = "87_1259103989.89791" 
-    capture_lex $P1572
-    .const 'Sub' $P1554 = "86_1259103989.89791" 
+    .const 'Sub' $P2052 = "118_1259177779.79485" 
+    capture_lex $P2052
+    get_hll_global $P1988, ["NQP";"RegexActions"], "_block1987" 
+    capture_lex $P1988
+    .const 'Sub' $P1975 = "112_1259177779.79485" 
+    capture_lex $P1975
+    .const 'Sub' $P1965 = "111_1259177779.79485" 
+    capture_lex $P1965
+    .const 'Sub' $P1955 = "110_1259177779.79485" 
+    capture_lex $P1955
+    .const 'Sub' $P1945 = "109_1259177779.79485" 
+    capture_lex $P1945
+    .const 'Sub' $P1931 = "108_1259177779.79485" 
+    capture_lex $P1931
+    .const 'Sub' $P1921 = "107_1259177779.79485" 
+    capture_lex $P1921
+    .const 'Sub' $P1907 = "106_1259177779.79485" 
+    capture_lex $P1907
+    .const 'Sub' $P1897 = "105_1259177779.79485" 
+    capture_lex $P1897
+    .const 'Sub' $P1887 = "104_1259177779.79485" 
+    capture_lex $P1887
+    .const 'Sub' $P1877 = "103_1259177779.79485" 
+    capture_lex $P1877
+    .const 'Sub' $P1867 = "102_1259177779.79485" 
+    capture_lex $P1867
+    .const 'Sub' $P1857 = "101_1259177779.79485" 
+    capture_lex $P1857
+    .const 'Sub' $P1829 = "100_1259177779.79485" 
+    capture_lex $P1829
+    .const 'Sub' $P1812 = "99_1259177779.79485" 
+    capture_lex $P1812
+    .const 'Sub' $P1802 = "98_1259177779.79485" 
+    capture_lex $P1802
+    .const 'Sub' $P1790 = "97_1259177779.79485" 
+    capture_lex $P1790
+    .const 'Sub' $P1778 = "96_1259177779.79485" 
+    capture_lex $P1778
+    .const 'Sub' $P1766 = "95_1259177779.79485" 
+    capture_lex $P1766
+    .const 'Sub' $P1756 = "94_1259177779.79485" 
+    capture_lex $P1756
+    .const 'Sub' $P1727 = "93_1259177779.79485" 
+    capture_lex $P1727
+    .const 'Sub' $P1703 = "92_1259177779.79485" 
+    capture_lex $P1703
+    .const 'Sub' $P1693 = "91_1259177779.79485" 
+    capture_lex $P1693
+    .const 'Sub' $P1666 = "90_1259177779.79485" 
+    capture_lex $P1666
+    .const 'Sub' $P1648 = "89_1259177779.79485" 
+    capture_lex $P1648
+    .const 'Sub' $P1638 = "88_1259177779.79485" 
+    capture_lex $P1638
+    .const 'Sub' $P1554 = "85_1259177779.79485" 
     capture_lex $P1554
-    .const 'Sub' $P1544 = "85_1259103989.89791" 
+    .const 'Sub' $P1544 = "84_1259177779.79485" 
     capture_lex $P1544
-    .const 'Sub' $P1460 = "82_1259103989.89791" 
-    capture_lex $P1460
-    .const 'Sub' $P1450 = "81_1259103989.89791" 
-    capture_lex $P1450
-    .const 'Sub' $P1421 = "80_1259103989.89791" 
-    capture_lex $P1421
-    .const 'Sub' $P1379 = "79_1259103989.89791" 
-    capture_lex $P1379
-    .const 'Sub' $P1363 = "78_1259103989.89791" 
-    capture_lex $P1363
-    .const 'Sub' $P1354 = "77_1259103989.89791" 
-    capture_lex $P1354
-    .const 'Sub' $P1322 = "76_1259103989.89791" 
-    capture_lex $P1322
-    .const 'Sub' $P1235 = "74_1259103989.89791" 
-    capture_lex $P1235
-    .const 'Sub' $P1218 = "73_1259103989.89791" 
-    capture_lex $P1218
-    .const 'Sub' $P1198 = "72_1259103989.89791" 
-    capture_lex $P1198
-    .const 'Sub' $P1114 = "71_1259103989.89791" 
-    capture_lex $P1114
-    .const 'Sub' $P1090 = "69_1259103989.89791" 
-    capture_lex $P1090
-    .const 'Sub' $P1056 = "67_1259103989.89791" 
-    capture_lex $P1056
-    .const 'Sub' $P1010 = "65_1259103989.89791" 
-    capture_lex $P1010
-    .const 'Sub' $P1000 = "64_1259103989.89791" 
-    capture_lex $P1000
-    .const 'Sub' $P990 = "63_1259103989.89791" 
-    capture_lex $P990
-    .const 'Sub' $P919 = "61_1259103989.89791" 
-    capture_lex $P919
-    .const 'Sub' $P902 = "60_1259103989.89791" 
-    capture_lex $P902
-    .const 'Sub' $P892 = "59_1259103989.89791" 
-    capture_lex $P892
-    .const 'Sub' $P882 = "58_1259103989.89791" 
-    capture_lex $P882
-    .const 'Sub' $P872 = "57_1259103989.89791" 
-    capture_lex $P872
-    .const 'Sub' $P848 = "56_1259103989.89791" 
-    capture_lex $P848
-    .const 'Sub' $P795 = "55_1259103989.89791" 
-    capture_lex $P795
-    .const 'Sub' $P785 = "54_1259103989.89791" 
-    capture_lex $P785
-    .const 'Sub' $P696 = "52_1259103989.89791" 
-    capture_lex $P696
-    .const 'Sub' $P670 = "51_1259103989.89791" 
-    capture_lex $P670
-    .const 'Sub' $P660 = "50_1259103989.89791" 
-    capture_lex $P660
-    .const 'Sub' $P650 = "49_1259103989.89791" 
-    capture_lex $P650
-    .const 'Sub' $P640 = "48_1259103989.89791" 
-    capture_lex $P640
-    .const 'Sub' $P630 = "47_1259103989.89791" 
-    capture_lex $P630
-    .const 'Sub' $P620 = "46_1259103989.89791" 
-    capture_lex $P620
-    .const 'Sub' $P610 = "45_1259103989.89791" 
-    capture_lex $P610
-    .const 'Sub' $P600 = "44_1259103989.89791" 
-    capture_lex $P600
-    .const 'Sub' $P590 = "43_1259103989.89791" 
-    capture_lex $P590
-    .const 'Sub' $P580 = "42_1259103989.89791" 
-    capture_lex $P580
-    .const 'Sub' $P570 = "41_1259103989.89791" 
-    capture_lex $P570
-    .const 'Sub' $P560 = "40_1259103989.89791" 
-    capture_lex $P560
-    .const 'Sub' $P550 = "39_1259103989.89791" 
-    capture_lex $P550
-    .const 'Sub' $P532 = "38_1259103989.89791" 
-    capture_lex $P532
-    .const 'Sub' $P498 = "37_1259103989.89791" 
-    capture_lex $P498
-    .const 'Sub' $P482 = "36_1259103989.89791" 
-    capture_lex $P482
-    .const 'Sub' $P469 = "35_1259103989.89791" 
-    capture_lex $P469
-    .const 'Sub' $P443 = "34_1259103989.89791" 
-    capture_lex $P443
-    .const 'Sub' $P407 = "33_1259103989.89791" 
-    capture_lex $P407
-    .const 'Sub' $P390 = "32_1259103989.89791" 
-    capture_lex $P390
-    .const 'Sub' $P376 = "31_1259103989.89791" 
-    capture_lex $P376
-    .const 'Sub' $P321 = "29_1259103989.89791" 
+    .const 'Sub' $P1515 = "83_1259177779.79485" 
+    capture_lex $P1515
+    .const 'Sub' $P1473 = "82_1259177779.79485" 
+    capture_lex $P1473
+    .const 'Sub' $P1457 = "81_1259177779.79485" 
+    capture_lex $P1457
+    .const 'Sub' $P1448 = "80_1259177779.79485" 
+    capture_lex $P1448
+    .const 'Sub' $P1416 = "79_1259177779.79485" 
+    capture_lex $P1416
+    .const 'Sub' $P1329 = "77_1259177779.79485" 
+    capture_lex $P1329
+    .const 'Sub' $P1312 = "76_1259177779.79485" 
+    capture_lex $P1312
+    .const 'Sub' $P1292 = "75_1259177779.79485" 
+    capture_lex $P1292
+    .const 'Sub' $P1208 = "74_1259177779.79485" 
+    capture_lex $P1208
+    .const 'Sub' $P1184 = "72_1259177779.79485" 
+    capture_lex $P1184
+    .const 'Sub' $P1150 = "70_1259177779.79485" 
+    capture_lex $P1150
+    .const 'Sub' $P1104 = "68_1259177779.79485" 
+    capture_lex $P1104
+    .const 'Sub' $P1094 = "67_1259177779.79485" 
+    capture_lex $P1094
+    .const 'Sub' $P1084 = "66_1259177779.79485" 
+    capture_lex $P1084
+    .const 'Sub' $P1013 = "64_1259177779.79485" 
+    capture_lex $P1013
+    .const 'Sub' $P996 = "63_1259177779.79485" 
+    capture_lex $P996
+    .const 'Sub' $P986 = "62_1259177779.79485" 
+    capture_lex $P986
+    .const 'Sub' $P976 = "61_1259177779.79485" 
+    capture_lex $P976
+    .const 'Sub' $P966 = "60_1259177779.79485" 
+    capture_lex $P966
+    .const 'Sub' $P942 = "59_1259177779.79485" 
+    capture_lex $P942
+    .const 'Sub' $P889 = "58_1259177779.79485" 
+    capture_lex $P889
+    .const 'Sub' $P879 = "57_1259177779.79485" 
+    capture_lex $P879
+    .const 'Sub' $P790 = "55_1259177779.79485" 
+    capture_lex $P790
+    .const 'Sub' $P764 = "54_1259177779.79485" 
+    capture_lex $P764
+    .const 'Sub' $P754 = "53_1259177779.79485" 
+    capture_lex $P754
+    .const 'Sub' $P744 = "52_1259177779.79485" 
+    capture_lex $P744
+    .const 'Sub' $P734 = "51_1259177779.79485" 
+    capture_lex $P734
+    .const 'Sub' $P724 = "50_1259177779.79485" 
+    capture_lex $P724
+    .const 'Sub' $P714 = "49_1259177779.79485" 
+    capture_lex $P714
+    .const 'Sub' $P704 = "48_1259177779.79485" 
+    capture_lex $P704
+    .const 'Sub' $P694 = "47_1259177779.79485" 
+    capture_lex $P694
+    .const 'Sub' $P684 = "46_1259177779.79485" 
+    capture_lex $P684
+    .const 'Sub' $P674 = "45_1259177779.79485" 
+    capture_lex $P674
+    .const 'Sub' $P664 = "44_1259177779.79485" 
+    capture_lex $P664
+    .const 'Sub' $P654 = "43_1259177779.79485" 
+    capture_lex $P654
+    .const 'Sub' $P644 = "42_1259177779.79485" 
+    capture_lex $P644
+    .const 'Sub' $P626 = "41_1259177779.79485" 
+    capture_lex $P626
+    .const 'Sub' $P591 = "40_1259177779.79485" 
+    capture_lex $P591
+    .const 'Sub' $P575 = "39_1259177779.79485" 
+    capture_lex $P575
+    .const 'Sub' $P554 = "38_1259177779.79485" 
+    capture_lex $P554
+    .const 'Sub' $P534 = "37_1259177779.79485" 
+    capture_lex $P534
+    .const 'Sub' $P521 = "36_1259177779.79485" 
+    capture_lex $P521
+    .const 'Sub' $P495 = "35_1259177779.79485" 
+    capture_lex $P495
+    .const 'Sub' $P459 = "34_1259177779.79485" 
+    capture_lex $P459
+    .const 'Sub' $P442 = "33_1259177779.79485" 
+    capture_lex $P442
+    .const 'Sub' $P428 = "32_1259177779.79485" 
+    capture_lex $P428
+    .const 'Sub' $P373 = "30_1259177779.79485" 
+    capture_lex $P373
+    .const 'Sub' $P360 = "29_1259177779.79485" 
+    capture_lex $P360
+    .const 'Sub' $P341 = "28_1259177779.79485" 
+    capture_lex $P341
+    .const 'Sub' $P331 = "27_1259177779.79485" 
+    capture_lex $P331
+    .const 'Sub' $P321 = "26_1259177779.79485" 
     capture_lex $P321
-    .const 'Sub' $P308 = "28_1259103989.89791" 
-    capture_lex $P308
-    .const 'Sub' $P289 = "27_1259103989.89791" 
-    capture_lex $P289
-    .const 'Sub' $P279 = "26_1259103989.89791" 
-    capture_lex $P279
-    .const 'Sub' $P269 = "25_1259103989.89791" 
-    capture_lex $P269
-    .const 'Sub' $P253 = "24_1259103989.89791" 
-    capture_lex $P253
-    .const 'Sub' $P175 = "22_1259103989.89791" 
-    capture_lex $P175
-    .const 'Sub' $P132 = "20_1259103989.89791" 
-    capture_lex $P132
-    .const 'Sub' $P113 = "19_1259103989.89791" 
-    capture_lex $P113
-    .const 'Sub' $P89 = "18_1259103989.89791" 
-    capture_lex $P89
-    .const 'Sub' $P79 = "17_1259103989.89791" 
+    .const 'Sub' $P305 = "25_1259177779.79485" 
+    capture_lex $P305
+    .const 'Sub' $P227 = "23_1259177779.79485" 
+    capture_lex $P227
+    .const 'Sub' $P184 = "21_1259177779.79485" 
+    capture_lex $P184
+    .const 'Sub' $P165 = "20_1259177779.79485" 
+    capture_lex $P165
+    .const 'Sub' $P143 = "19_1259177779.79485" 
+    capture_lex $P143
+    .const 'Sub' $P133 = "18_1259177779.79485" 
+    capture_lex $P133
+    .const 'Sub' $P79 = "17_1259177779.79485" 
     capture_lex $P79
-    .const 'Sub' $P57 = "16_1259103989.89791" 
-    capture_lex $P57
-    .const 'Sub' $P26 = "13_1259103989.89791" 
+    .const 'Sub' $P61 = "16_1259177779.79485" 
+    capture_lex $P61
+    .const 'Sub' $P26 = "13_1259177779.79485" 
     capture_lex $P26
-    .const 'Sub' $P16 = "12_1259103989.89791" 
+    .const 'Sub' $P16 = "12_1259177779.79485" 
     capture_lex $P16
     get_global $P15, "@BLOCK"
-    unless_null $P15, vivify_119
+    unless_null $P15, vivify_122
     new $P15, "ResizablePMCArray"
     set_global "@BLOCK", $P15
-  vivify_119:
+  vivify_122:
 .annotate "line", 9
-    .const 'Sub' $P16 = "12_1259103989.89791" 
+    .const 'Sub' $P16 = "12_1259177779.79485" 
     capture_lex $P16
     .lex "xblock_immediate", $P16
 .annotate "line", 14
-    .const 'Sub' $P26 = "13_1259103989.89791" 
+    .const 'Sub' $P26 = "13_1259177779.79485" 
     capture_lex $P26
     .lex "block_immediate", $P26
 .annotate "line", 24
-    .const 'Sub' $P57 = "16_1259103989.89791" 
-    capture_lex $P57
-    .lex "sigiltype", $P57
+    .const 'Sub' $P61 = "16_1259177779.79485" 
+    capture_lex $P61
+    .lex "sigiltype", $P61
+.annotate "line", 179
+    .const 'Sub' $P79 = "17_1259177779.79485" 
+    capture_lex $P79
+    .lex "push_block_handler", $P79
 .annotate "line", 3
-    get_global $P75, "@BLOCK"
+    get_global $P129, "@BLOCK"
 .annotate "line", 5
-    find_lex $P76, "xblock_immediate"
-    find_lex $P77, "block_immediate"
-    find_lex $P78, "sigiltype"
-.annotate "line", 661
-    get_hll_global $P1894, ["NQP";"RegexActions"], "_block1893" 
-    capture_lex $P1894
-    $P1956 = $P1894()
+    find_lex $P130, "xblock_immediate"
+    find_lex $P131, "block_immediate"
+    find_lex $P132, "sigiltype"
+.annotate "line", 172
+    find_lex $P574, "push_block_handler"
+.annotate "line", 714
+    get_hll_global $P1988, ["NQP";"RegexActions"], "_block1987" 
+    capture_lex $P1988
+    $P2050 = $P1988()
 .annotate "line", 3
-    .return ($P1956)
+    .return ($P2050)
 .end
 
 
 .namespace ["NQP";"Actions"]
-.sub "" :load :init :subid("post117") :outer("11_1259103989.89791")
+.sub "" :load :init :subid("post120") :outer("11_1259177779.79485")
 .annotate "line", 3
     get_hll_global $P14, ["NQP";"Actions"], "_block13" 
     .local pmc block
     set block, $P14
 .annotate "line", 5
-    .const 'Sub' $P1958 = "115_1259103989.89791" 
-    capture_lex $P1958
-    $P1958()
-    $P1961 = get_root_global ["parrot"], "P6metaclass"
-    $P1961."new_class"("NQP::RegexActions", "Regex::P6Regex::Actions" :named("parent"))
+    .const 'Sub' $P2052 = "118_1259177779.79485" 
+    capture_lex $P2052
+    $P2052()
+    $P2055 = get_root_global ["parrot"], "P6metaclass"
+    $P2055."new_class"("NQP::RegexActions", "Regex::P6Regex::Actions" :named("parent"))
 .end
 
 
 .namespace ["NQP";"Actions"]
-.sub "_block1957"  :anon :subid("115_1259103989.89791") :outer("11_1259103989.89791")
+.sub "_block2051"  :anon :subid("118_1259177779.79485") :outer("11_1259177779.79485")
 .annotate "line", 6
-    get_global $P1959, "@BLOCK"
-    unless_null $P1959, vivify_118
-    new $P1959, "ResizablePMCArray"
-    set_global "@BLOCK", $P1959
-  vivify_118:
- $P1960 = new ['ResizablePMCArray'] 
-    set_global "@BLOCK", $P1960
+    get_global $P2053, "@BLOCK"
+    unless_null $P2053, vivify_121
+    new $P2053, "ResizablePMCArray"
+    set_global "@BLOCK", $P2053
+  vivify_121:
+ $P2054 = new ['ResizablePMCArray'] 
+    set_global "@BLOCK", $P2054
 .annotate "line", 5
-    .return ($P1960)
+    .return ($P2054)
 .end
 
 
 .namespace ["NQP";"Actions"]
-.sub "xblock_immediate"  :subid("12_1259103989.89791") :outer("11_1259103989.89791")
+.sub "xblock_immediate"  :subid("12_1259177779.79485") :outer("11_1259177779.79485")
     .param pmc param_19
 .annotate "line", 9
     new $P18, 'ExceptionHandler'
@@ -15318,19 +15552,19 @@
     .lex "$xblock", param_19
 .annotate "line", 10
     find_lex $P20, "$xblock"
-    unless_null $P20, vivify_120
+    unless_null $P20, vivify_123
     new $P20, "ResizablePMCArray"
-  vivify_120:
+  vivify_123:
     set $P21, $P20[1]
-    unless_null $P21, vivify_121
+    unless_null $P21, vivify_124
     new $P21, "Undef"
-  vivify_121:
+  vivify_124:
     $P22 = "block_immediate"($P21)
     find_lex $P23, "$xblock"
-    unless_null $P23, vivify_122
+    unless_null $P23, vivify_125
     new $P23, "ResizablePMCArray"
     store_lex "$xblock", $P23
-  vivify_122:
+  vivify_125:
     set $P23[1], $P22
     find_lex $P24, "$xblock"
 .annotate "line", 9
@@ -15344,11 +15578,11 @@
 
 
 .namespace ["NQP";"Actions"]
-.sub "block_immediate"  :subid("13_1259103989.89791") :outer("11_1259103989.89791")
+.sub "block_immediate"  :subid("13_1259177779.79485") :outer("11_1259177779.79485")
     .param pmc param_29
 .annotate "line", 14
-    .const 'Sub' $P35 = "14_1259103989.89791" 
-    capture_lex $P35
+    .const 'Sub' $P39 = "14_1259177779.79485" 
+    capture_lex $P39
     new $P28, 'ExceptionHandler'
     set_addr $P28, control_27
     $P28."handle_types"(58)
@@ -15358,4307 +15592,4370 @@
     find_lex $P30, "$block"
     $P30."blocktype"("immediate")
 .annotate "line", 16
-    find_lex $P32, "$block"
-    $P33 = $P32."symtable"()
-    if $P33, unless_31_end
-    .const 'Sub' $P35 = "14_1259103989.89791" 
-    capture_lex $P35
-    $P35()
+    find_lex $P34, "$block"
+    $P35 = $P34."symtable"()
+    unless $P35, unless_33
+    set $P32, $P35
+    goto unless_33_end
+  unless_33:
+    find_lex $P36, "$block"
+    $P37 = $P36."handlers"()
+    set $P32, $P37
+  unless_33_end:
+    if $P32, unless_31_end
+    .const 'Sub' $P39 = "14_1259177779.79485" 
+    capture_lex $P39
+    $P39()
   unless_31_end:
-    find_lex $P55, "$block"
+    find_lex $P59, "$block"
 .annotate "line", 14
-    .return ($P55)
+    .return ($P59)
   control_27:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P56, exception, "payload"
-    .return ($P56)
+    getattribute $P60, exception, "payload"
+    .return ($P60)
 .end
 
 
 .namespace ["NQP";"Actions"]
-.sub "_block34"  :anon :subid("14_1259103989.89791") :outer("13_1259103989.89791")
+.sub "_block38"  :anon :subid("14_1259177779.79485") :outer("13_1259177779.79485")
 .annotate "line", 16
-    .const 'Sub' $P46 = "15_1259103989.89791" 
-    capture_lex $P46
+    .const 'Sub' $P50 = "15_1259177779.79485" 
+    capture_lex $P50
 .annotate "line", 17
-    new $P36, "Undef"
-    .lex "$stmts", $P36
-    get_hll_global $P37, ["PAST"], "Stmts"
-    find_lex $P38, "$block"
-    $P39 = $P37."new"($P38 :named("node"))
-    store_lex "$stmts", $P39
+    new $P40, "Undef"
+    .lex "$stmts", $P40
+    get_hll_global $P41, ["PAST"], "Stmts"
+    find_lex $P42, "$block"
+    $P43 = $P41."new"($P42 :named("node"))
+    store_lex "$stmts", $P43
 .annotate "line", 18
-    find_lex $P41, "$block"
-    $P42 = $P41."list"()
-    defined $I43, $P42
-    unless $I43, for_undef_123
-    iter $P40, $P42
-    new $P52, 'ExceptionHandler'
-    set_addr $P52, loop51_handler
-    $P52."handle_types"(65, 67, 66)
-    push_eh $P52
-  loop51_test:
-    unless $P40, loop51_done
-    shift $P44, $P40
-  loop51_redo:
-    .const 'Sub' $P46 = "15_1259103989.89791" 
-    capture_lex $P46
-    $P46($P44)
-  loop51_next:
-    goto loop51_test
-  loop51_handler:
-    .local pmc exception 
-    .get_results (exception) 
-    getattribute $P53, exception, 'type'
-    eq $P53, 65, loop51_next
-    eq $P53, 67, loop51_redo
-  loop51_done:
+    find_lex $P45, "$block"
+    $P46 = $P45."list"()
+    defined $I47, $P46
+    unless $I47, for_undef_126
+    iter $P44, $P46
+    new $P56, 'ExceptionHandler'
+    set_addr $P56, loop55_handler
+    $P56."handle_types"(65, 67, 66)
+    push_eh $P56
+  loop55_test:
+    unless $P44, loop55_done
+    shift $P48, $P44
+  loop55_redo:
+    .const 'Sub' $P50 = "15_1259177779.79485" 
+    capture_lex $P50
+    $P50($P48)
+  loop55_next:
+    goto loop55_test
+  loop55_handler:
+    .local pmc exception 
+    .get_results (exception) 
+    getattribute $P57, exception, 'type'
+    eq $P57, 65, loop55_next
+    eq $P57, 67, loop55_redo
+  loop55_done:
     pop_eh 
-  for_undef_123:
+  for_undef_126:
 .annotate "line", 19
-    find_lex $P54, "$stmts"
-    store_lex "$block", $P54
+    find_lex $P58, "$stmts"
+    store_lex "$block", $P58
 .annotate "line", 16
-    .return ($P54)
+    .return ($P58)
 .end
 
 
 .namespace ["NQP";"Actions"]
-.sub "_block45"  :anon :subid("15_1259103989.89791") :outer("14_1259103989.89791")
-    .param pmc param_47
+.sub "_block49"  :anon :subid("15_1259177779.79485") :outer("14_1259177779.79485")
+    .param pmc param_51
 .annotate "line", 18
-    .lex "$_", param_47
-    find_lex $P48, "$stmts"
-    find_lex $P49, "$_"
-    $P50 = $P48."push"($P49)
-    .return ($P50)
+    .lex "$_", param_51
+    find_lex $P52, "$stmts"
+    find_lex $P53, "$_"
+    $P54 = $P52."push"($P53)
+    .return ($P54)
 .end
 
 
 .namespace ["NQP";"Actions"]
-.sub "sigiltype"  :subid("16_1259103989.89791") :outer("11_1259103989.89791")
-    .param pmc param_60
+.sub "sigiltype"  :subid("16_1259177779.79485") :outer("11_1259177779.79485")
+    .param pmc param_64
 .annotate "line", 24
-    new $P59, 'ExceptionHandler'
-    set_addr $P59, control_58
-    $P59."handle_types"(58)
-    push_eh $P59
-    .lex "$sigil", param_60
+    new $P63, 'ExceptionHandler'
+    set_addr $P63, control_62
+    $P63."handle_types"(58)
+    push_eh $P63
+    .lex "$sigil", param_64
 .annotate "line", 25
-    find_lex $P63, "$sigil"
-    set $S64, $P63
-    iseq $I65, $S64, "%"
-    if $I65, if_62
+    find_lex $P67, "$sigil"
+    set $S68, $P67
+    iseq $I69, $S68, "%"
+    if $I69, if_66
 .annotate "line", 27
-    find_lex $P69, "$sigil"
-    set $S70, $P69
-    iseq $I71, $S70, "@"
-    if $I71, if_68
-    new $P73, "String"
-    assign $P73, "Undef"
-    set $P67, $P73
-    goto if_68_end
-  if_68:
-    new $P72, "String"
-    assign $P72, "ResizablePMCArray"
-    set $P67, $P72
-  if_68_end:
-    set $P61, $P67
+    find_lex $P73, "$sigil"
+    set $S74, $P73
+    iseq $I75, $S74, "@"
+    if $I75, if_72
+    new $P77, "String"
+    assign $P77, "Undef"
+    set $P71, $P77
+    goto if_72_end
+  if_72:
+    new $P76, "String"
+    assign $P76, "ResizablePMCArray"
+    set $P71, $P76
+  if_72_end:
+    set $P65, $P71
 .annotate "line", 25
-    goto if_62_end
-  if_62:
-    new $P66, "String"
-    assign $P66, "Hash"
-    set $P61, $P66
-  if_62_end:
+    goto if_66_end
+  if_66:
+    new $P70, "String"
+    assign $P70, "Hash"
+    set $P65, $P70
+  if_66_end:
 .annotate "line", 24
-    .return ($P61)
-  control_58:
+    .return ($P65)
+  control_62:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P74, exception, "payload"
-    .return ($P74)
+    getattribute $P78, exception, "payload"
+    .return ($P78)
 .end
 
 
 .namespace ["NQP";"Actions"]
-.sub "TOP"  :subid("17_1259103989.89791") :method :outer("11_1259103989.89791")
+.sub "push_block_handler"  :subid("17_1259177779.79485") :outer("11_1259177779.79485")
     .param pmc param_82
-.annotate "line", 30
+    .param pmc param_83
+.annotate "line", 179
     new $P81, 'ExceptionHandler'
     set_addr $P81, control_80
     $P81."handle_types"(58)
     push_eh $P81
-    .lex "self", self
     .lex "$/", param_82
-    find_lex $P83, "$/"
-    find_lex $P84, "$/"
-    unless_null $P84, vivify_124
-    new $P84, "Hash"
-  vivify_124:
-    set $P85, $P84["comp_unit"]
-    unless_null $P85, vivify_125
-    new $P85, "Undef"
-  vivify_125:
-    $P86 = $P85."ast"()
-    $P87 = $P83."!make"($P86)
-    .return ($P87)
+    .lex "$block", param_83
+.annotate "line", 180
+    get_global $P85, "@BLOCK"
+    unless_null $P85, vivify_127
+    new $P85, "ResizablePMCArray"
+  vivify_127:
+    set $P86, $P85[0]
+    unless_null $P86, vivify_128
+    new $P86, "Undef"
+  vivify_128:
+    $P87 = $P86."handlers"()
+    if $P87, unless_84_end
+.annotate "line", 181
+    get_global $P88, "@BLOCK"
+    unless_null $P88, vivify_129
+    new $P88, "ResizablePMCArray"
+  vivify_129:
+    set $P89, $P88[0]
+    unless_null $P89, vivify_130
+    new $P89, "Undef"
+  vivify_130:
+    new $P90, "ResizablePMCArray"
+    $P89."handlers"($P90)
+  unless_84_end:
+.annotate "line", 183
+    find_lex $P92, "$block"
+    $P93 = $P92."arity"()
+    if $P93, unless_91_end
+.annotate "line", 184
+    find_lex $P94, "$block"
+.annotate "line", 185
+    get_hll_global $P95, ["PAST"], "Op"
+.annotate "line", 186
+    get_hll_global $P96, ["PAST"], "Var"
+    $P97 = $P96."new"("lexical" :named("scope"), "$!" :named("name"), 1 :named("isdecl"))
+.annotate "line", 187
+    get_hll_global $P98, ["PAST"], "Var"
+    $P99 = $P98."new"("lexical" :named("scope"), "$_" :named("name"))
+    $P100 = $P95."new"($P97, $P99, "bind" :named("pasttype"))
+.annotate "line", 185
+    $P94."unshift"($P100)
+.annotate "line", 190
+    find_lex $P101, "$block"
+    get_hll_global $P102, ["PAST"], "Var"
+    $P103 = $P102."new"("$_" :named("name"), "parameter" :named("scope"))
+    $P101."unshift"($P103)
+.annotate "line", 191
+    find_lex $P104, "$block"
+    $P104."symbol"("$_", "lexical" :named("scope"))
+.annotate "line", 192
+    find_lex $P105, "$block"
+    $P105."symbol"("$!", "lexical" :named("scope"))
+.annotate "line", 193
+    find_lex $P106, "$block"
+    $P106."arity"(1)
+  unless_91_end:
+.annotate "line", 195
+    find_lex $P107, "$block"
+    $P107."blocktype"("declaration")
+.annotate "line", 196
+    get_global $P108, "@BLOCK"
+    unless_null $P108, vivify_131
+    new $P108, "ResizablePMCArray"
+  vivify_131:
+    set $P109, $P108[0]
+    unless_null $P109, vivify_132
+    new $P109, "Undef"
+  vivify_132:
+    $P110 = $P109."handlers"()
+.annotate "line", 197
+    get_hll_global $P111, ["PAST"], "Control"
+    find_lex $P112, "$/"
+.annotate "line", 199
+    get_hll_global $P113, ["PAST"], "Stmts"
+.annotate "line", 200
+    get_hll_global $P114, ["PAST"], "Op"
+    find_lex $P115, "$block"
+.annotate "line", 202
+    get_hll_global $P116, ["PAST"], "Var"
+    $P117 = $P116."new"("register" :named("scope"), "exception" :named("name"))
+    $P118 = $P114."new"($P115, $P117, "call" :named("pasttype"))
+.annotate "line", 204
+    get_hll_global $P119, ["PAST"], "Op"
+.annotate "line", 205
+    get_hll_global $P120, ["PAST"], "Var"
+.annotate "line", 206
+    get_hll_global $P121, ["PAST"], "Var"
+    $P122 = $P121."new"("register" :named("scope"), "exception" :named("name"))
+    $P123 = $P120."new"($P122, "handled", "keyed" :named("scope"))
+.annotate "line", 205
+    $P124 = $P119."new"($P123, 1, "bind" :named("pasttype"))
+.annotate "line", 204
+    $P125 = $P113."new"($P118, $P124)
+.annotate "line", 199
+    $P126 = $P111."new"($P125, $P112 :named("node"))
+.annotate "line", 197
+    $P127 = $P110."unshift"($P126)
+.annotate "line", 179
+    .return ($P127)
   control_80:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P88, exception, "payload"
-    .return ($P88)
+    getattribute $P128, exception, "payload"
+    .return ($P128)
+.end
+
+
+.namespace ["NQP";"Actions"]
+.sub "TOP"  :subid("18_1259177779.79485") :method :outer("11_1259177779.79485")
+    .param pmc param_136
+.annotate "line", 30
+    new $P135, 'ExceptionHandler'
+    set_addr $P135, control_134
+    $P135."handle_types"(58)
+    push_eh $P135
+    .lex "self", self
+    .lex "$/", param_136
+    find_lex $P137, "$/"
+    find_lex $P138, "$/"
+    unless_null $P138, vivify_133
+    new $P138, "Hash"
+  vivify_133:
+    set $P139, $P138["comp_unit"]
+    unless_null $P139, vivify_134
+    new $P139, "Undef"
+  vivify_134:
+    $P140 = $P139."ast"()
+    $P141 = $P137."!make"($P140)
+    .return ($P141)
+  control_134:
+    .local pmc exception 
+    .get_results (exception) 
+    getattribute $P142, exception, "payload"
+    .return ($P142)
 .end
 
 
 .namespace ["NQP";"Actions"]
-.sub "deflongname"  :subid("18_1259103989.89791") :method :outer("11_1259103989.89791")
-    .param pmc param_92
+.sub "deflongname"  :subid("19_1259177779.79485") :method :outer("11_1259177779.79485")
+    .param pmc param_146
 .annotate "line", 32
-    new $P91, 'ExceptionHandler'
-    set_addr $P91, control_90
-    $P91."handle_types"(58)
-    push_eh $P91
+    new $P145, 'ExceptionHandler'
+    set_addr $P145, control_144
+    $P145."handle_types"(58)
+    push_eh $P145
     .lex "self", self
-    .lex "$/", param_92
+    .lex "$/", param_146
 .annotate "line", 33
-    find_lex $P93, "$/"
-    find_lex $P96, "$/"
-    unless_null $P96, vivify_126
-    new $P96, "Hash"
-  vivify_126:
-    set $P97, $P96["sym"]
-    unless_null $P97, vivify_127
-    new $P97, "Undef"
-  vivify_127:
-    if $P97, if_95
-    find_lex $P109, "$/"
-    set $S110, $P109
-    new $P94, 'String'
-    set $P94, $S110
-    goto if_95_end
-  if_95:
-    find_lex $P98, "$/"
-    unless_null $P98, vivify_128
-    new $P98, "Hash"
-  vivify_128:
-    set $P99, $P98["identifier"]
-    unless_null $P99, vivify_129
-    new $P99, "Undef"
-  vivify_129:
-    set $S100, $P99
-    new $P101, 'String'
-    set $P101, $S100
-    concat $P102, $P101, ":sym<"
-    find_lex $P103, "$/"
-    unless_null $P103, vivify_130
-    new $P103, "Hash"
-  vivify_130:
-    set $P104, $P103["sym"]
-    unless_null $P104, vivify_131
-    new $P104, "ResizablePMCArray"
-  vivify_131:
-    set $P105, $P104[0]
-    unless_null $P105, vivify_132
-    new $P105, "Undef"
-  vivify_132:
-    set $S106, $P105
-    concat $P107, $P102, $S106
-    concat $P108, $P107, ">"
-    set $P94, $P108
-  if_95_end:
-    $P111 = $P93."!make"($P94)
+    find_lex $P149, "$/"
+    unless_null $P149, vivify_135
+    new $P149, "Hash"
+  vivify_135:
+    set $P150, $P149["sym"]
+    unless_null $P150, vivify_136
+    new $P150, "Undef"
+  vivify_136:
+    if $P150, if_148
+    set $P147, $P150
+    goto if_148_end
+  if_148:
+    find_lex $P151, "$/"
+    find_lex $P152, "$/"
+    unless_null $P152, vivify_137
+    new $P152, "Hash"
+  vivify_137:
+    set $P153, $P152["identifier"]
+    unless_null $P153, vivify_138
+    new $P153, "Undef"
+  vivify_138:
+    set $S154, $P153
+    new $P155, 'String'
+    set $P155, $S154
+    concat $P156, $P155, ":sym<"
+    find_lex $P157, "$/"
+    unless_null $P157, vivify_139
+    new $P157, "Hash"
+  vivify_139:
+    set $P158, $P157["sym"]
+    unless_null $P158, vivify_140
+    new $P158, "ResizablePMCArray"
+  vivify_140:
+    set $P159, $P158[0]
+    unless_null $P159, vivify_141
+    new $P159, "Undef"
+  vivify_141:
+    set $S160, $P159
+    concat $P161, $P156, $S160
+    concat $P162, $P161, ">"
+    $P163 = $P151."!make"($P162)
+    set $P147, $P163
+  if_148_end:
 .annotate "line", 32
-    .return ($P111)
-  control_90:
+    .return ($P147)
+  control_144:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P112, exception, "payload"
-    .return ($P112)
+    getattribute $P164, exception, "payload"
+    .return ($P164)
 .end
 
 
 .namespace ["NQP";"Actions"]
-.sub "comp_unit"  :subid("19_1259103989.89791") :method :outer("11_1259103989.89791")
-    .param pmc param_116
+.sub "comp_unit"  :subid("20_1259177779.79485") :method :outer("11_1259177779.79485")
+    .param pmc param_168
 .annotate "line", 36
-    new $P115, 'ExceptionHandler'
-    set_addr $P115, control_114
-    $P115."handle_types"(58)
-    push_eh $P115
+    new $P167, 'ExceptionHandler'
+    set_addr $P167, control_166
+    $P167."handle_types"(58)
+    push_eh $P167
     .lex "self", self
-    .lex "$/", param_116
+    .lex "$/", param_168
 .annotate "line", 37
-    new $P117, "Undef"
-    .lex "$past", $P117
+    new $P169, "Undef"
+    .lex "$past", $P169
 .annotate "line", 38
-    new $P118, "Undef"
-    .lex "$BLOCK", $P118
+    new $P170, "Undef"
+    .lex "$BLOCK", $P170
 .annotate "line", 37
-    find_lex $P119, "$/"
-    unless_null $P119, vivify_133
-    new $P119, "Hash"
-  vivify_133:
-    set $P120, $P119["statementlist"]
-    unless_null $P120, vivify_134
-    new $P120, "Undef"
-  vivify_134:
-    $P121 = $P120."ast"()
-    store_lex "$past", $P121
+    find_lex $P171, "$/"
+    unless_null $P171, vivify_142
+    new $P171, "Hash"
+  vivify_142:
+    set $P172, $P171["statementlist"]
+    unless_null $P172, vivify_143
+    new $P172, "Undef"
+  vivify_143:
+    $P173 = $P172."ast"()
+    store_lex "$past", $P173
 .annotate "line", 38
-    get_global $P122, "@BLOCK"
-    $P123 = $P122."shift"()
-    store_lex "$BLOCK", $P123
+    get_global $P174, "@BLOCK"
+    $P175 = $P174."shift"()
+    store_lex "$BLOCK", $P175
 .annotate "line", 39
-    find_lex $P124, "$BLOCK"
-    find_lex $P125, "$past"
-    $P124."push"($P125)
+    find_lex $P176, "$BLOCK"
+    find_lex $P177, "$past"
+    $P176."push"($P177)
 .annotate "line", 40
-    find_lex $P126, "$BLOCK"
-    find_lex $P127, "$/"
-    $P126."node"($P127)
+    find_lex $P178, "$BLOCK"
+    find_lex $P179, "$/"
+    $P178."node"($P179)
 .annotate "line", 41
-    find_lex $P128, "$/"
-    find_lex $P129, "$BLOCK"
-    $P130 = $P128."!make"($P129)
+    find_lex $P180, "$/"
+    find_lex $P181, "$BLOCK"
+    $P182 = $P180."!make"($P181)
 .annotate "line", 36
-    .return ($P130)
-  control_114:
+    .return ($P182)
+  control_166:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P131, exception, "payload"
-    .return ($P131)
+    getattribute $P183, exception, "payload"
+    .return ($P183)
 .end
 
 
 .namespace ["NQP";"Actions"]
-.sub "statementlist"  :subid("20_1259103989.89791") :method :outer("11_1259103989.89791")
-    .param pmc param_135
+.sub "statementlist"  :subid("21_1259177779.79485") :method :outer("11_1259177779.79485")
+    .param pmc param_187
 .annotate "line", 44
-    .const 'Sub' $P149 = "21_1259103989.89791" 
-    capture_lex $P149
-    new $P134, 'ExceptionHandler'
-    set_addr $P134, control_133
-    $P134."handle_types"(58)
-    push_eh $P134
+    .const 'Sub' $P201 = "22_1259177779.79485" 
+    capture_lex $P201
+    new $P186, 'ExceptionHandler'
+    set_addr $P186, control_185
+    $P186."handle_types"(58)
+    push_eh $P186
     .lex "self", self
-    .lex "$/", param_135
+    .lex "$/", param_187
 .annotate "line", 45
-    new $P136, "Undef"
-    .lex "$past", $P136
-    get_hll_global $P137, ["PAST"], "Stmts"
-    find_lex $P138, "$/"
-    $P139 = $P137."new"($P138 :named("node"))
-    store_lex "$past", $P139
+    new $P188, "Undef"
+    .lex "$past", $P188
+    get_hll_global $P189, ["PAST"], "Stmts"
+    find_lex $P190, "$/"
+    $P191 = $P189."new"($P190 :named("node"))
+    store_lex "$past", $P191
 .annotate "line", 46
-    find_lex $P141, "$/"
-    unless_null $P141, vivify_135
-    new $P141, "Hash"
-  vivify_135:
-    set $P142, $P141["statement"]
-    unless_null $P142, vivify_136
-    new $P142, "Undef"
-  vivify_136:
-    unless $P142, if_140_end
+    find_lex $P193, "$/"
+    unless_null $P193, vivify_144
+    new $P193, "Hash"
+  vivify_144:
+    set $P194, $P193["statement"]
+    unless_null $P194, vivify_145
+    new $P194, "Undef"
+  vivify_145:
+    unless $P194, if_192_end
 .annotate "line", 47
-    find_lex $P144, "$/"
-    unless_null $P144, vivify_137
-    new $P144, "Hash"
-  vivify_137:
-    set $P145, $P144["statement"]
-    unless_null $P145, vivify_138
-    new $P145, "Undef"
-  vivify_138:
-    defined $I146, $P145
-    unless $I146, for_undef_139
-    iter $P143, $P145
-    new $P169, 'ExceptionHandler'
-    set_addr $P169, loop168_handler
-    $P169."handle_types"(65, 67, 66)
-    push_eh $P169
-  loop168_test:
-    unless $P143, loop168_done
-    shift $P147, $P143
-  loop168_redo:
-    .const 'Sub' $P149 = "21_1259103989.89791" 
-    capture_lex $P149
-    $P149($P147)
-  loop168_next:
-    goto loop168_test
-  loop168_handler:
-    .local pmc exception 
-    .get_results (exception) 
-    getattribute $P170, exception, 'type'
-    eq $P170, 65, loop168_next
-    eq $P170, 67, loop168_redo
-  loop168_done:
+    find_lex $P196, "$/"
+    unless_null $P196, vivify_146
+    new $P196, "Hash"
+  vivify_146:
+    set $P197, $P196["statement"]
+    unless_null $P197, vivify_147
+    new $P197, "Undef"
+  vivify_147:
+    defined $I198, $P197
+    unless $I198, for_undef_148
+    iter $P195, $P197
+    new $P221, 'ExceptionHandler'
+    set_addr $P221, loop220_handler
+    $P221."handle_types"(65, 67, 66)
+    push_eh $P221
+  loop220_test:
+    unless $P195, loop220_done
+    shift $P199, $P195
+  loop220_redo:
+    .const 'Sub' $P201 = "22_1259177779.79485" 
+    capture_lex $P201
+    $P201($P199)
+  loop220_next:
+    goto loop220_test
+  loop220_handler:
+    .local pmc exception 
+    .get_results (exception) 
+    getattribute $P222, exception, 'type'
+    eq $P222, 65, loop220_next
+    eq $P222, 67, loop220_redo
+  loop220_done:
     pop_eh 
-  for_undef_139:
-  if_140_end:
+  for_undef_148:
+  if_192_end:
 .annotate "line", 55
-    find_lex $P171, "$/"
-    find_lex $P172, "$past"
-    $P173 = $P171."!make"($P172)
+    find_lex $P223, "$/"
+    find_lex $P224, "$past"
+    $P225 = $P223."!make"($P224)
 .annotate "line", 44
-    .return ($P173)
-  control_133:
+    .return ($P225)
+  control_185:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P174, exception, "payload"
-    .return ($P174)
+    getattribute $P226, exception, "payload"
+    .return ($P226)
 .end
 
 
 .namespace ["NQP";"Actions"]
-.sub "_block148"  :anon :subid("21_1259103989.89791") :outer("20_1259103989.89791")
-    .param pmc param_151
+.sub "_block200"  :anon :subid("22_1259177779.79485") :outer("21_1259177779.79485")
+    .param pmc param_203
 .annotate "line", 48
-    new $P150, "Undef"
-    .lex "$ast", $P150
-    .lex "$_", param_151
-    find_lex $P152, "$_"
-    $P153 = $P152."ast"()
-    store_lex "$ast", $P153
+    new $P202, "Undef"
+    .lex "$ast", $P202
+    .lex "$_", param_203
+    find_lex $P204, "$_"
+    $P205 = $P204."ast"()
+    store_lex "$ast", $P205
 .annotate "line", 49
-    find_lex $P157, "$ast"
-    get_hll_global $P158, ["PAST"], "Block"
-    $P159 = $P157."isa"($P158)
-    if $P159, if_156
-    set $P155, $P159
-    goto if_156_end
-  if_156:
-    find_lex $P160, "$ast"
-    $P161 = $P160."blocktype"()
-    isfalse $I162, $P161
-    new $P155, 'Integer'
-    set $P155, $I162
-  if_156_end:
-    unless $P155, if_154_end
+    find_lex $P209, "$ast"
+    get_hll_global $P210, ["PAST"], "Block"
+    $P211 = $P209."isa"($P210)
+    if $P211, if_208
+    set $P207, $P211
+    goto if_208_end
+  if_208:
+    find_lex $P212, "$ast"
+    $P213 = $P212."blocktype"()
+    isfalse $I214, $P213
+    new $P207, 'Integer'
+    set $P207, $I214
+  if_208_end:
+    unless $P207, if_206_end
 .annotate "line", 50
-    find_lex $P163, "$ast"
-    $P164 = "block_immediate"($P163)
-    store_lex "$ast", $P164
-  if_154_end:
+    find_lex $P215, "$ast"
+    $P216 = "block_immediate"($P215)
+    store_lex "$ast", $P216
+  if_206_end:
 .annotate "line", 52
-    find_lex $P165, "$past"
-    find_lex $P166, "$ast"
-    $P167 = $P165."push"($P166)
+    find_lex $P217, "$past"
+    find_lex $P218, "$ast"
+    $P219 = $P217."push"($P218)
 .annotate "line", 47
-    .return ($P167)
+    .return ($P219)
 .end
 
 
 .namespace ["NQP";"Actions"]
-.sub "statement"  :subid("22_1259103989.89791") :method :outer("11_1259103989.89791")
-    .param pmc param_178
-    .param pmc param_179 :optional
-    .param int has_param_179 :opt_flag
+.sub "statement"  :subid("23_1259177779.79485") :method :outer("11_1259177779.79485")
+    .param pmc param_230
+    .param pmc param_231 :optional
+    .param int has_param_231 :opt_flag
 .annotate "line", 58
-    .const 'Sub' $P187 = "23_1259103989.89791" 
-    capture_lex $P187
-    new $P177, 'ExceptionHandler'
-    set_addr $P177, control_176
-    $P177."handle_types"(58)
-    push_eh $P177
-    .lex "self", self
-    .lex "$/", param_178
-    if has_param_179, optparam_140
-    new $P180, "Undef"
-    set param_179, $P180
-  optparam_140:
-    .lex "$key", param_179
-.annotate "line", 59
-    new $P181, "Undef"
-    .lex "$past", $P181
+    .const 'Sub' $P239 = "24_1259177779.79485" 
+    capture_lex $P239
+    new $P229, 'ExceptionHandler'
+    set_addr $P229, control_228
+    $P229."handle_types"(58)
+    push_eh $P229
+    .lex "self", self
+    .lex "$/", param_230
+    if has_param_231, optparam_149
+    new $P232, "Undef"
+    set param_231, $P232
+  optparam_149:
+    .lex "$key", param_231
+.annotate "line", 59
+    new $P233, "Undef"
+    .lex "$past", $P233
 .annotate "line", 58
-    find_lex $P182, "$past"
+    find_lex $P234, "$past"
 .annotate "line", 60
-    find_lex $P184, "$/"
-    unless_null $P184, vivify_141
-    new $P184, "Hash"
-  vivify_141:
-    set $P185, $P184["EXPR"]
-    unless_null $P185, vivify_142
-    new $P185, "Undef"
-  vivify_142:
-    if $P185, if_183
+    find_lex $P236, "$/"
+    unless_null $P236, vivify_150
+    new $P236, "Hash"
+  vivify_150:
+    set $P237, $P236["EXPR"]
+    unless_null $P237, vivify_151
+    new $P237, "Undef"
+  vivify_151:
+    if $P237, if_235
 .annotate "line", 74
-    find_lex $P243, "$/"
-    unless_null $P243, vivify_143
-    new $P243, "Hash"
-  vivify_143:
-    set $P244, $P243["statement_control"]
-    unless_null $P244, vivify_144
-    new $P244, "Undef"
-  vivify_144:
-    if $P244, if_242
+    find_lex $P295, "$/"
+    unless_null $P295, vivify_152
+    new $P295, "Hash"
+  vivify_152:
+    set $P296, $P295["statement_control"]
+    unless_null $P296, vivify_153
+    new $P296, "Undef"
+  vivify_153:
+    if $P296, if_294
 .annotate "line", 75
-    new $P248, "Integer"
-    assign $P248, 0
-    store_lex "$past", $P248
-    goto if_242_end
-  if_242:
+    new $P300, "Integer"
+    assign $P300, 0
+    store_lex "$past", $P300
+    goto if_294_end
+  if_294:
 .annotate "line", 74
-    find_lex $P245, "$/"
-    unless_null $P245, vivify_145
-    new $P245, "Hash"
-  vivify_145:
-    set $P246, $P245["statement_control"]
-    unless_null $P246, vivify_146
-    new $P246, "Undef"
-  vivify_146:
-    $P247 = $P246."ast"()
-    store_lex "$past", $P247
-  if_242_end:
-    goto if_183_end
-  if_183:
+    find_lex $P297, "$/"
+    unless_null $P297, vivify_154
+    new $P297, "Hash"
+  vivify_154:
+    set $P298, $P297["statement_control"]
+    unless_null $P298, vivify_155
+    new $P298, "Undef"
+  vivify_155:
+    $P299 = $P298."ast"()
+    store_lex "$past", $P299
+  if_294_end:
+    goto if_235_end
+  if_235:
 .annotate "line", 60
-    .const 'Sub' $P187 = "23_1259103989.89791" 
-    capture_lex $P187
-    $P187()
-  if_183_end:
+    .const 'Sub' $P239 = "24_1259177779.79485" 
+    capture_lex $P239
+    $P239()
+  if_235_end:
 .annotate "line", 76
-    find_lex $P249, "$/"
-    find_lex $P250, "$past"
-    $P251 = $P249."!make"($P250)
+    find_lex $P301, "$/"
+    find_lex $P302, "$past"
+    $P303 = $P301."!make"($P302)
 .annotate "line", 58
-    .return ($P251)
-  control_176:
+    .return ($P303)
+  control_228:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P252, exception, "payload"
-    .return ($P252)
+    getattribute $P304, exception, "payload"
+    .return ($P304)
 .end
 
 
 .namespace ["NQP";"Actions"]
-.sub "_block186"  :anon :subid("23_1259103989.89791") :outer("22_1259103989.89791")
+.sub "_block238"  :anon :subid("24_1259177779.79485") :outer("23_1259177779.79485")
 .annotate "line", 61
-    new $P188, "Undef"
-    .lex "$mc", $P188
+    new $P240, "Undef"
+    .lex "$mc", $P240
 .annotate "line", 62
-    new $P189, "Undef"
-    .lex "$ml", $P189
+    new $P241, "Undef"
+    .lex "$ml", $P241
 .annotate "line", 61
-    find_lex $P190, "$/"
-    unless_null $P190, vivify_147
-    new $P190, "Hash"
-  vivify_147:
-    set $P191, $P190["statement_mod_cond"]
-    unless_null $P191, vivify_148
-    new $P191, "ResizablePMCArray"
-  vivify_148:
-    set $P192, $P191[0]
-    unless_null $P192, vivify_149
-    new $P192, "Undef"
-  vivify_149:
-    store_lex "$mc", $P192
-.annotate "line", 62
-    find_lex $P193, "$/"
-    unless_null $P193, vivify_150
-    new $P193, "Hash"
-  vivify_150:
-    set $P194, $P193["statement_mod_loop"]
-    unless_null $P194, vivify_151
-    new $P194, "ResizablePMCArray"
-  vivify_151:
-    set $P195, $P194[0]
-    unless_null $P195, vivify_152
-    new $P195, "Undef"
-  vivify_152:
-    store_lex "$ml", $P195
-.annotate "line", 63
-    find_lex $P198, "$mc"
-    if $P198, if_197
-.annotate "line", 68
-    find_lex $P226, "$ml"
-    if $P226, if_225
-.annotate "line", 71
-    find_lex $P239, "$/"
-    unless_null $P239, vivify_153
-    new $P239, "Hash"
-  vivify_153:
-    set $P240, $P239["EXPR"]
-    unless_null $P240, vivify_154
-    new $P240, "Undef"
-  vivify_154:
-    $P241 = $P240."ast"()
-    store_lex "$past", $P241
-.annotate "line", 70
-    set $P224, $P241
-.annotate "line", 68
-    goto if_225_end
-  if_225:
-.annotate "line", 69
-    get_hll_global $P227, ["PAST"], "Op"
-    find_lex $P228, "$ml"
-    unless_null $P228, vivify_155
-    new $P228, "Hash"
-  vivify_155:
-    set $P229, $P228["cond"]
-    unless_null $P229, vivify_156
-    new $P229, "Undef"
+    find_lex $P242, "$/"
+    unless_null $P242, vivify_156
+    new $P242, "Hash"
   vivify_156:
-    $P230 = $P229."ast"()
-    find_lex $P231, "$/"
-    unless_null $P231, vivify_157
-    new $P231, "Hash"
+    set $P243, $P242["statement_mod_cond"]
+    unless_null $P243, vivify_157
+    new $P243, "ResizablePMCArray"
   vivify_157:
-    set $P232, $P231["EXPR"]
-    unless_null $P232, vivify_158
-    new $P232, "Undef"
+    set $P244, $P243[0]
+    unless_null $P244, vivify_158
+    new $P244, "Undef"
   vivify_158:
-    $P233 = $P232."ast"()
-    find_lex $P234, "$ml"
-    unless_null $P234, vivify_159
-    new $P234, "Hash"
+    store_lex "$mc", $P244
+.annotate "line", 62
+    find_lex $P245, "$/"
+    unless_null $P245, vivify_159
+    new $P245, "Hash"
   vivify_159:
-    set $P235, $P234["sym"]
-    unless_null $P235, vivify_160
-    new $P235, "Undef"
+    set $P246, $P245["statement_mod_loop"]
+    unless_null $P246, vivify_160
+    new $P246, "ResizablePMCArray"
   vivify_160:
-    set $S236, $P235
-    find_lex $P237, "$/"
-    $P238 = $P227."new"($P230, $P233, $S236 :named("pasttype"), $P237 :named("node"))
-    store_lex "$past", $P238
-.annotate "line", 68
-    set $P224, $P238
-  if_225_end:
-    set $P196, $P224
-.annotate "line", 63
-    goto if_197_end
-  if_197:
-.annotate "line", 64
-    get_hll_global $P199, ["PAST"], "Op"
-    find_lex $P200, "$mc"
-    unless_null $P200, vivify_161
-    new $P200, "Hash"
+    set $P247, $P246[0]
+    unless_null $P247, vivify_161
+    new $P247, "Undef"
   vivify_161:
-    set $P201, $P200["cond"]
-    unless_null $P201, vivify_162
-    new $P201, "Undef"
+    store_lex "$ml", $P247
+.annotate "line", 63
+    find_lex $P250, "$mc"
+    if $P250, if_249
+.annotate "line", 68
+    find_lex $P278, "$ml"
+    if $P278, if_277
+.annotate "line", 71
+    find_lex $P291, "$/"
+    unless_null $P291, vivify_162
+    new $P291, "Hash"
   vivify_162:
-    $P202 = $P201."ast"()
-    find_lex $P203, "$/"
-    unless_null $P203, vivify_163
-    new $P203, "Hash"
+    set $P292, $P291["EXPR"]
+    unless_null $P292, vivify_163
+    new $P292, "Undef"
   vivify_163:
-    set $P204, $P203["EXPR"]
-    unless_null $P204, vivify_164
-    new $P204, "Undef"
+    $P293 = $P292."ast"()
+    store_lex "$past", $P293
+.annotate "line", 70
+    set $P276, $P293
+.annotate "line", 68
+    goto if_277_end
+  if_277:
+.annotate "line", 69
+    get_hll_global $P279, ["PAST"], "Op"
+    find_lex $P280, "$ml"
+    unless_null $P280, vivify_164
+    new $P280, "Hash"
   vivify_164:
-    $P205 = $P204."ast"()
-    find_lex $P206, "$mc"
-    unless_null $P206, vivify_165
-    new $P206, "Hash"
+    set $P281, $P280["cond"]
+    unless_null $P281, vivify_165
+    new $P281, "Undef"
   vivify_165:
-    set $P207, $P206["sym"]
-    unless_null $P207, vivify_166
-    new $P207, "Undef"
+    $P282 = $P281."ast"()
+    find_lex $P283, "$/"
+    unless_null $P283, vivify_166
+    new $P283, "Hash"
   vivify_166:
-    set $S208, $P207
-    find_lex $P209, "$/"
-    $P210 = $P199."new"($P202, $P205, $S208 :named("pasttype"), $P209 :named("node"))
-    store_lex "$past", $P210
-.annotate "line", 65
-    find_lex $P213, "$ml"
-    if $P213, if_212
-    set $P211, $P213
-    goto if_212_end
-  if_212:
-.annotate "line", 66
-    get_hll_global $P214, ["PAST"], "Op"
-    find_lex $P215, "$ml"
-    unless_null $P215, vivify_167
-    new $P215, "Hash"
+    set $P284, $P283["EXPR"]
+    unless_null $P284, vivify_167
+    new $P284, "Undef"
   vivify_167:
-    set $P216, $P215["cond"]
-    unless_null $P216, vivify_168
-    new $P216, "Undef"
+    $P285 = $P284."ast"()
+    find_lex $P286, "$ml"
+    unless_null $P286, vivify_168
+    new $P286, "Hash"
   vivify_168:
-    $P217 = $P216."ast"()
-    find_lex $P218, "$past"
-    find_lex $P219, "$ml"
-    unless_null $P219, vivify_169
-    new $P219, "Hash"
+    set $P287, $P286["sym"]
+    unless_null $P287, vivify_169
+    new $P287, "Undef"
   vivify_169:
-    set $P220, $P219["sym"]
-    unless_null $P220, vivify_170
-    new $P220, "Undef"
+    set $S288, $P287
+    find_lex $P289, "$/"
+    $P290 = $P279."new"($P282, $P285, $S288 :named("pasttype"), $P289 :named("node"))
+    store_lex "$past", $P290
+.annotate "line", 68
+    set $P276, $P290
+  if_277_end:
+    set $P248, $P276
+.annotate "line", 63
+    goto if_249_end
+  if_249:
+.annotate "line", 64
+    get_hll_global $P251, ["PAST"], "Op"
+    find_lex $P252, "$mc"
+    unless_null $P252, vivify_170
+    new $P252, "Hash"
   vivify_170:
-    set $S221, $P220
-    find_lex $P222, "$/"
-    $P223 = $P214."new"($P217, $P218, $S221 :named("pasttype"), $P222 :named("node"))
-    store_lex "$past", $P223
+    set $P253, $P252["cond"]
+    unless_null $P253, vivify_171
+    new $P253, "Undef"
+  vivify_171:
+    $P254 = $P253."ast"()
+    find_lex $P255, "$/"
+    unless_null $P255, vivify_172
+    new $P255, "Hash"
+  vivify_172:
+    set $P256, $P255["EXPR"]
+    unless_null $P256, vivify_173
+    new $P256, "Undef"
+  vivify_173:
+    $P257 = $P256."ast"()
+    find_lex $P258, "$mc"
+    unless_null $P258, vivify_174
+    new $P258, "Hash"
+  vivify_174:
+    set $P259, $P258["sym"]
+    unless_null $P259, vivify_175
+    new $P259, "Undef"
+  vivify_175:
+    set $S260, $P259
+    find_lex $P261, "$/"
+    $P262 = $P251."new"($P254, $P257, $S260 :named("pasttype"), $P261 :named("node"))
+    store_lex "$past", $P262
+.annotate "line", 65
+    find_lex $P265, "$ml"
+    if $P265, if_264
+    set $P263, $P265
+    goto if_264_end
+  if_264:
+.annotate "line", 66
+    get_hll_global $P266, ["PAST"], "Op"
+    find_lex $P267, "$ml"
+    unless_null $P267, vivify_176
+    new $P267, "Hash"
+  vivify_176:
+    set $P268, $P267["cond"]
+    unless_null $P268, vivify_177
+    new $P268, "Undef"
+  vivify_177:
+    $P269 = $P268."ast"()
+    find_lex $P270, "$past"
+    find_lex $P271, "$ml"
+    unless_null $P271, vivify_178
+    new $P271, "Hash"
+  vivify_178:
+    set $P272, $P271["sym"]
+    unless_null $P272, vivify_179
+    new $P272, "Undef"
+  vivify_179:
+    set $S273, $P272
+    find_lex $P274, "$/"
+    $P275 = $P266."new"($P269, $P270, $S273 :named("pasttype"), $P274 :named("node"))
+    store_lex "$past", $P275
 .annotate "line", 65
-    set $P211, $P223
-  if_212_end:
+    set $P263, $P275
+  if_264_end:
 .annotate "line", 63
-    set $P196, $P211
-  if_197_end:
+    set $P248, $P263
+  if_249_end:
 .annotate "line", 60
-    .return ($P196)
+    .return ($P248)
 .end
 
 
 .namespace ["NQP";"Actions"]
-.sub "xblock"  :subid("24_1259103989.89791") :method :outer("11_1259103989.89791")
-    .param pmc param_256
+.sub "xblock"  :subid("25_1259177779.79485") :method :outer("11_1259177779.79485")
+    .param pmc param_308
 .annotate "line", 79
-    new $P255, 'ExceptionHandler'
-    set_addr $P255, control_254
-    $P255."handle_types"(58)
-    push_eh $P255
+    new $P307, 'ExceptionHandler'
+    set_addr $P307, control_306
+    $P307."handle_types"(58)
+    push_eh $P307
     .lex "self", self
-    .lex "$/", param_256
+    .lex "$/", param_308
 .annotate "line", 80
-    find_lex $P257, "$/"
-    get_hll_global $P258, ["PAST"], "Op"
-    find_lex $P259, "$/"
-    unless_null $P259, vivify_171
-    new $P259, "Hash"
-  vivify_171:
-    set $P260, $P259["EXPR"]
-    unless_null $P260, vivify_172
-    new $P260, "Undef"
-  vivify_172:
-    $P261 = $P260."ast"()
-    find_lex $P262, "$/"
-    unless_null $P262, vivify_173
-    new $P262, "Hash"
-  vivify_173:
-    set $P263, $P262["pblock"]
-    unless_null $P263, vivify_174
-    new $P263, "Undef"
-  vivify_174:
-    $P264 = $P263."ast"()
-    find_lex $P265, "$/"
-    $P266 = $P258."new"($P261, $P264, "if" :named("pasttype"), $P265 :named("node"))
-    $P267 = $P257."!make"($P266)
+    find_lex $P309, "$/"
+    get_hll_global $P310, ["PAST"], "Op"
+    find_lex $P311, "$/"
+    unless_null $P311, vivify_180
+    new $P311, "Hash"
+  vivify_180:
+    set $P312, $P311["EXPR"]
+    unless_null $P312, vivify_181
+    new $P312, "Undef"
+  vivify_181:
+    $P313 = $P312."ast"()
+    find_lex $P314, "$/"
+    unless_null $P314, vivify_182
+    new $P314, "Hash"
+  vivify_182:
+    set $P315, $P314["pblock"]
+    unless_null $P315, vivify_183
+    new $P315, "Undef"
+  vivify_183:
+    $P316 = $P315."ast"()
+    find_lex $P317, "$/"
+    $P318 = $P310."new"($P313, $P316, "if" :named("pasttype"), $P317 :named("node"))
+    $P319 = $P309."!make"($P318)
 .annotate "line", 79
-    .return ($P267)
-  control_254:
+    .return ($P319)
+  control_306:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P268, exception, "payload"
-    .return ($P268)
+    getattribute $P320, exception, "payload"
+    .return ($P320)
 .end
 
 
 .namespace ["NQP";"Actions"]
-.sub "pblock"  :subid("25_1259103989.89791") :method :outer("11_1259103989.89791")
-    .param pmc param_272
+.sub "pblock"  :subid("26_1259177779.79485") :method :outer("11_1259177779.79485")
+    .param pmc param_324
 .annotate "line", 83
-    new $P271, 'ExceptionHandler'
-    set_addr $P271, control_270
-    $P271."handle_types"(58)
-    push_eh $P271
+    new $P323, 'ExceptionHandler'
+    set_addr $P323, control_322
+    $P323."handle_types"(58)
+    push_eh $P323
     .lex "self", self
-    .lex "$/", param_272
+    .lex "$/", param_324
 .annotate "line", 84
-    find_lex $P273, "$/"
-    find_lex $P274, "$/"
-    unless_null $P274, vivify_175
-    new $P274, "Hash"
-  vivify_175:
-    set $P275, $P274["blockoid"]
-    unless_null $P275, vivify_176
-    new $P275, "Undef"
-  vivify_176:
-    $P276 = $P275."ast"()
-    $P277 = $P273."!make"($P276)
+    find_lex $P325, "$/"
+    find_lex $P326, "$/"
+    unless_null $P326, vivify_184
+    new $P326, "Hash"
+  vivify_184:
+    set $P327, $P326["blockoid"]
+    unless_null $P327, vivify_185
+    new $P327, "Undef"
+  vivify_185:
+    $P328 = $P327."ast"()
+    $P329 = $P325."!make"($P328)
 .annotate "line", 83
-    .return ($P277)
-  control_270:
+    .return ($P329)
+  control_322:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P278, exception, "payload"
-    .return ($P278)
+    getattribute $P330, exception, "payload"
+    .return ($P330)
 .end
 
 
 .namespace ["NQP";"Actions"]
-.sub "block"  :subid("26_1259103989.89791") :method :outer("11_1259103989.89791")
-    .param pmc param_282
+.sub "block"  :subid("27_1259177779.79485") :method :outer("11_1259177779.79485")
+    .param pmc param_334
 .annotate "line", 87
-    new $P281, 'ExceptionHandler'
-    set_addr $P281, control_280
-    $P281."handle_types"(58)
-    push_eh $P281
+    new $P333, 'ExceptionHandler'
+    set_addr $P333, control_332
+    $P333."handle_types"(58)
+    push_eh $P333
     .lex "self", self
-    .lex "$/", param_282
+    .lex "$/", param_334
 .annotate "line", 88
-    find_lex $P283, "$/"
-    find_lex $P284, "$/"
-    unless_null $P284, vivify_177
-    new $P284, "Hash"
-  vivify_177:
-    set $P285, $P284["blockoid"]
-    unless_null $P285, vivify_178
-    new $P285, "Undef"
-  vivify_178:
-    $P286 = $P285."ast"()
-    $P287 = $P283."!make"($P286)
+    find_lex $P335, "$/"
+    find_lex $P336, "$/"
+    unless_null $P336, vivify_186
+    new $P336, "Hash"
+  vivify_186:
+    set $P337, $P336["blockoid"]
+    unless_null $P337, vivify_187
+    new $P337, "Undef"
+  vivify_187:
+    $P338 = $P337."ast"()
+    $P339 = $P335."!make"($P338)
 .annotate "line", 87
-    .return ($P287)
-  control_280:
+    .return ($P339)
+  control_332:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P288, exception, "payload"
-    .return ($P288)
+    getattribute $P340, exception, "payload"
+    .return ($P340)
 .end
 
 
 .namespace ["NQP";"Actions"]
-.sub "blockoid"  :subid("27_1259103989.89791") :method :outer("11_1259103989.89791")
-    .param pmc param_292
+.sub "blockoid"  :subid("28_1259177779.79485") :method :outer("11_1259177779.79485")
+    .param pmc param_344
 .annotate "line", 91
-    new $P291, 'ExceptionHandler'
-    set_addr $P291, control_290
-    $P291."handle_types"(58)
-    push_eh $P291
+    new $P343, 'ExceptionHandler'
+    set_addr $P343, control_342
+    $P343."handle_types"(58)
+    push_eh $P343
     .lex "self", self
-    .lex "$/", param_292
+    .lex "$/", param_344
 .annotate "line", 92
-    new $P293, "Undef"
-    .lex "$past", $P293
+    new $P345, "Undef"
+    .lex "$past", $P345
 .annotate "line", 93
-    new $P294, "Undef"
-    .lex "$BLOCK", $P294
+    new $P346, "Undef"
+    .lex "$BLOCK", $P346
 .annotate "line", 92
-    find_lex $P295, "$/"
-    unless_null $P295, vivify_179
-    new $P295, "Hash"
-  vivify_179:
-    set $P296, $P295["statementlist"]
-    unless_null $P296, vivify_180
-    new $P296, "Undef"
-  vivify_180:
-    $P297 = $P296."ast"()
-    store_lex "$past", $P297
+    find_lex $P347, "$/"
+    unless_null $P347, vivify_188
+    new $P347, "Hash"
+  vivify_188:
+    set $P348, $P347["statementlist"]
+    unless_null $P348, vivify_189
+    new $P348, "Undef"
+  vivify_189:
+    $P349 = $P348."ast"()
+    store_lex "$past", $P349
 .annotate "line", 93
-    get_global $P298, "@BLOCK"
-    $P299 = $P298."shift"()
-    store_lex "$BLOCK", $P299
+    get_global $P350, "@BLOCK"
+    $P351 = $P350."shift"()
+    store_lex "$BLOCK", $P351
 .annotate "line", 94
-    find_lex $P300, "$BLOCK"
-    find_lex $P301, "$past"
-    $P300."push"($P301)
+    find_lex $P352, "$BLOCK"
+    find_lex $P353, "$past"
+    $P352."push"($P353)
 .annotate "line", 95
-    find_lex $P302, "$BLOCK"
-    find_lex $P303, "$/"
-    $P302."node"($P303)
+    find_lex $P354, "$BLOCK"
+    find_lex $P355, "$/"
+    $P354."node"($P355)
 .annotate "line", 96
-    find_lex $P304, "$/"
-    find_lex $P305, "$BLOCK"
-    $P306 = $P304."!make"($P305)
+    find_lex $P356, "$/"
+    find_lex $P357, "$BLOCK"
+    $P358 = $P356."!make"($P357)
 .annotate "line", 91
-    .return ($P306)
-  control_290:
+    .return ($P358)
+  control_342:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P307, exception, "payload"
-    .return ($P307)
+    getattribute $P359, exception, "payload"
+    .return ($P359)
 .end
 
 
 .namespace ["NQP";"Actions"]
-.sub "newpad"  :subid("28_1259103989.89791") :method :outer("11_1259103989.89791")
-    .param pmc param_311
+.sub "newpad"  :subid("29_1259177779.79485") :method :outer("11_1259177779.79485")
+    .param pmc param_363
 .annotate "line", 99
-    new $P310, 'ExceptionHandler'
-    set_addr $P310, control_309
-    $P310."handle_types"(58)
-    push_eh $P310
+    new $P362, 'ExceptionHandler'
+    set_addr $P362, control_361
+    $P362."handle_types"(58)
+    push_eh $P362
     .lex "self", self
-    .lex "$/", param_311
+    .lex "$/", param_363
 .annotate "line", 100
-    get_global $P312, "@BLOCK"
-    unless_null $P312, vivify_181
-    new $P312, "ResizablePMCArray"
-    set_global "@BLOCK", $P312
-  vivify_181:
+    get_global $P364, "@BLOCK"
+    unless_null $P364, vivify_190
+    new $P364, "ResizablePMCArray"
+    set_global "@BLOCK", $P364
+  vivify_190:
 .annotate "line", 99
-    get_global $P313, "@BLOCK"
+    get_global $P365, "@BLOCK"
 .annotate "line", 101
-    get_global $P314, "@BLOCK"
-    get_hll_global $P315, ["PAST"], "Block"
-    get_hll_global $P316, ["PAST"], "Stmts"
-    $P317 = $P316."new"()
-    $P318 = $P315."new"($P317)
-    $P319 = $P314."unshift"($P318)
+    get_global $P366, "@BLOCK"
+    get_hll_global $P367, ["PAST"], "Block"
+    get_hll_global $P368, ["PAST"], "Stmts"
+    $P369 = $P368."new"()
+    $P370 = $P367."new"($P369)
+    $P371 = $P366."unshift"($P370)
 .annotate "line", 99
-    .return ($P319)
-  control_309:
+    .return ($P371)
+  control_361:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P320, exception, "payload"
-    .return ($P320)
+    getattribute $P372, exception, "payload"
+    .return ($P372)
 .end
 
 
 .namespace ["NQP";"Actions"]
-.sub "statement_control:sym<if>"  :subid("29_1259103989.89791") :method :outer("11_1259103989.89791")
-    .param pmc param_324
+.sub "statement_control:sym<if>"  :subid("30_1259177779.79485") :method :outer("11_1259177779.79485")
+    .param pmc param_376
 .annotate "line", 106
-    .const 'Sub' $P354 = "30_1259103989.89791" 
-    capture_lex $P354
-    new $P323, 'ExceptionHandler'
-    set_addr $P323, control_322
-    $P323."handle_types"(58)
-    push_eh $P323
+    .const 'Sub' $P406 = "31_1259177779.79485" 
+    capture_lex $P406
+    new $P375, 'ExceptionHandler'
+    set_addr $P375, control_374
+    $P375."handle_types"(58)
+    push_eh $P375
     .lex "self", self
-    .lex "$/", param_324
+    .lex "$/", param_376
 .annotate "line", 107
-    new $P325, "Undef"
-    .lex "$count", $P325
+    new $P377, "Undef"
+    .lex "$count", $P377
 .annotate "line", 108
-    new $P326, "Undef"
-    .lex "$past", $P326
+    new $P378, "Undef"
+    .lex "$past", $P378
 .annotate "line", 107
-    find_lex $P327, "$/"
-    unless_null $P327, vivify_182
-    new $P327, "Hash"
-  vivify_182:
-    set $P328, $P327["xblock"]
-    unless_null $P328, vivify_183
-    new $P328, "Undef"
-  vivify_183:
-    set $N329, $P328
-    new $P330, 'Float'
-    set $P330, $N329
-    sub $P331, $P330, 1
-    store_lex "$count", $P331
+    find_lex $P379, "$/"
+    unless_null $P379, vivify_191
+    new $P379, "Hash"
+  vivify_191:
+    set $P380, $P379["xblock"]
+    unless_null $P380, vivify_192
+    new $P380, "Undef"
+  vivify_192:
+    set $N381, $P380
+    new $P382, 'Float'
+    set $P382, $N381
+    sub $P383, $P382, 1
+    store_lex "$count", $P383
 .annotate "line", 108
-    find_lex $P332, "$count"
-    set $I333, $P332
-    find_lex $P334, "$/"
-    unless_null $P334, vivify_184
-    new $P334, "Hash"
-  vivify_184:
-    set $P335, $P334["xblock"]
-    unless_null $P335, vivify_185
-    new $P335, "ResizablePMCArray"
-  vivify_185:
-    set $P336, $P335[$I333]
-    unless_null $P336, vivify_186
-    new $P336, "Undef"
-  vivify_186:
-    $P337 = $P336."ast"()
-    $P338 = "xblock_immediate"($P337)
-    store_lex "$past", $P338
+    find_lex $P384, "$count"
+    set $I385, $P384
+    find_lex $P386, "$/"
+    unless_null $P386, vivify_193
+    new $P386, "Hash"
+  vivify_193:
+    set $P387, $P386["xblock"]
+    unless_null $P387, vivify_194
+    new $P387, "ResizablePMCArray"
+  vivify_194:
+    set $P388, $P387[$I385]
+    unless_null $P388, vivify_195
+    new $P388, "Undef"
+  vivify_195:
+    $P389 = $P388."ast"()
+    $P390 = "xblock_immediate"($P389)
+    store_lex "$past", $P390
 .annotate "line", 109
-    find_lex $P340, "$/"
-    unless_null $P340, vivify_187
-    new $P340, "Hash"
-  vivify_187:
-    set $P341, $P340["else"]
-    unless_null $P341, vivify_188
-    new $P341, "Undef"
-  vivify_188:
-    unless $P341, if_339_end
+    find_lex $P392, "$/"
+    unless_null $P392, vivify_196
+    new $P392, "Hash"
+  vivify_196:
+    set $P393, $P392["else"]
+    unless_null $P393, vivify_197
+    new $P393, "Undef"
+  vivify_197:
+    unless $P393, if_391_end
 .annotate "line", 110
-    find_lex $P342, "$past"
-    find_lex $P343, "$/"
-    unless_null $P343, vivify_189
-    new $P343, "Hash"
-  vivify_189:
-    set $P344, $P343["else"]
-    unless_null $P344, vivify_190
-    new $P344, "ResizablePMCArray"
-  vivify_190:
-    set $P345, $P344[0]
-    unless_null $P345, vivify_191
-    new $P345, "Undef"
-  vivify_191:
-    $P346 = $P345."ast"()
-    $P347 = "block_immediate"($P346)
-    $P342."push"($P347)
-  if_339_end:
+    find_lex $P394, "$past"
+    find_lex $P395, "$/"
+    unless_null $P395, vivify_198
+    new $P395, "Hash"
+  vivify_198:
+    set $P396, $P395["else"]
+    unless_null $P396, vivify_199
+    new $P396, "ResizablePMCArray"
+  vivify_199:
+    set $P397, $P396[0]
+    unless_null $P397, vivify_200
+    new $P397, "Undef"
+  vivify_200:
+    $P398 = $P397."ast"()
+    $P399 = "block_immediate"($P398)
+    $P394."push"($P399)
+  if_391_end:
 .annotate "line", 113
-    new $P370, 'ExceptionHandler'
-    set_addr $P370, loop369_handler
-    $P370."handle_types"(65, 67, 66)
-    push_eh $P370
-  loop369_test:
-    find_lex $P348, "$count"
-    set $N349, $P348
-    new $P350, "Integer"
-    assign $P350, 0
-    set $N351, $P350
-    isgt $I352, $N349, $N351
-    unless $I352, loop369_done
-  loop369_redo:
-    .const 'Sub' $P354 = "30_1259103989.89791" 
-    capture_lex $P354
-    $P354()
-  loop369_next:
-    goto loop369_test
-  loop369_handler:
-    .local pmc exception 
-    .get_results (exception) 
-    getattribute $P371, exception, 'type'
-    eq $P371, 65, loop369_next
-    eq $P371, 67, loop369_redo
-  loop369_done:
+    new $P422, 'ExceptionHandler'
+    set_addr $P422, loop421_handler
+    $P422."handle_types"(65, 67, 66)
+    push_eh $P422
+  loop421_test:
+    find_lex $P400, "$count"
+    set $N401, $P400
+    new $P402, "Integer"
+    assign $P402, 0
+    set $N403, $P402
+    isgt $I404, $N401, $N403
+    unless $I404, loop421_done
+  loop421_redo:
+    .const 'Sub' $P406 = "31_1259177779.79485" 
+    capture_lex $P406
+    $P406()
+  loop421_next:
+    goto loop421_test
+  loop421_handler:
+    .local pmc exception 
+    .get_results (exception) 
+    getattribute $P423, exception, 'type'
+    eq $P423, 65, loop421_next
+    eq $P423, 67, loop421_redo
+  loop421_done:
     pop_eh 
 .annotate "line", 119
-    find_lex $P372, "$/"
-    find_lex $P373, "$past"
-    $P374 = $P372."!make"($P373)
+    find_lex $P424, "$/"
+    find_lex $P425, "$past"
+    $P426 = $P424."!make"($P425)
 .annotate "line", 106
-    .return ($P374)
-  control_322:
+    .return ($P426)
+  control_374:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P375, exception, "payload"
-    .return ($P375)
+    getattribute $P427, exception, "payload"
+    .return ($P427)
 .end
 
 
 .namespace ["NQP";"Actions"]
-.sub "_block353"  :anon :subid("30_1259103989.89791") :outer("29_1259103989.89791")
+.sub "_block405"  :anon :subid("31_1259177779.79485") :outer("30_1259177779.79485")
 .annotate "line", 115
-    new $P355, "Undef"
-    .lex "$else", $P355
+    new $P407, "Undef"
+    .lex "$else", $P407
 .annotate "line", 113
-    find_lex $P356, "$count"
-    clone $P357, $P356
-    dec $P356
+    find_lex $P408, "$count"
+    clone $P409, $P408
+    dec $P408
 .annotate "line", 115
-    find_lex $P358, "$past"
-    store_lex "$else", $P358
+    find_lex $P410, "$past"
+    store_lex "$else", $P410
 .annotate "line", 116
-    find_lex $P359, "$count"
-    set $I360, $P359
-    find_lex $P361, "$/"
-    unless_null $P361, vivify_192
-    new $P361, "Hash"
-  vivify_192:
-    set $P362, $P361["xblock"]
-    unless_null $P362, vivify_193
-    new $P362, "ResizablePMCArray"
-  vivify_193:
-    set $P363, $P362[$I360]
-    unless_null $P363, vivify_194
-    new $P363, "Undef"
-  vivify_194:
-    $P364 = $P363."ast"()
-    $P365 = "xblock_immediate"($P364)
-    store_lex "$past", $P365
+    find_lex $P411, "$count"
+    set $I412, $P411
+    find_lex $P413, "$/"
+    unless_null $P413, vivify_201
+    new $P413, "Hash"
+  vivify_201:
+    set $P414, $P413["xblock"]
+    unless_null $P414, vivify_202
+    new $P414, "ResizablePMCArray"
+  vivify_202:
+    set $P415, $P414[$I412]
+    unless_null $P415, vivify_203
+    new $P415, "Undef"
+  vivify_203:
+    $P416 = $P415."ast"()
+    $P417 = "xblock_immediate"($P416)
+    store_lex "$past", $P417
 .annotate "line", 117
-    find_lex $P366, "$past"
-    find_lex $P367, "$else"
-    $P368 = $P366."push"($P367)
+    find_lex $P418, "$past"
+    find_lex $P419, "$else"
+    $P420 = $P418."push"($P419)
 .annotate "line", 113
-    .return ($P368)
+    .return ($P420)
 .end
 
 
 .namespace ["NQP";"Actions"]
-.sub "statement_control:sym<unless>"  :subid("31_1259103989.89791") :method :outer("11_1259103989.89791")
-    .param pmc param_379
+.sub "statement_control:sym<unless>"  :subid("32_1259177779.79485") :method :outer("11_1259177779.79485")
+    .param pmc param_431
 .annotate "line", 122
-    new $P378, 'ExceptionHandler'
-    set_addr $P378, control_377
-    $P378."handle_types"(58)
-    push_eh $P378
+    new $P430, 'ExceptionHandler'
+    set_addr $P430, control_429
+    $P430."handle_types"(58)
+    push_eh $P430
     .lex "self", self
-    .lex "$/", param_379
+    .lex "$/", param_431
 .annotate "line", 123
-    new $P380, "Undef"
-    .lex "$past", $P380
-    find_lex $P381, "$/"
-    unless_null $P381, vivify_195
-    new $P381, "Hash"
-  vivify_195:
-    set $P382, $P381["xblock"]
-    unless_null $P382, vivify_196
-    new $P382, "Undef"
-  vivify_196:
-    $P383 = $P382."ast"()
-    $P384 = "xblock_immediate"($P383)
-    store_lex "$past", $P384
+    new $P432, "Undef"
+    .lex "$past", $P432
+    find_lex $P433, "$/"
+    unless_null $P433, vivify_204
+    new $P433, "Hash"
+  vivify_204:
+    set $P434, $P433["xblock"]
+    unless_null $P434, vivify_205
+    new $P434, "Undef"
+  vivify_205:
+    $P435 = $P434."ast"()
+    $P436 = "xblock_immediate"($P435)
+    store_lex "$past", $P436
 .annotate "line", 124
-    find_lex $P385, "$past"
-    $P385."pasttype"("unless")
+    find_lex $P437, "$past"
+    $P437."pasttype"("unless")
 .annotate "line", 125
-    find_lex $P386, "$/"
-    find_lex $P387, "$past"
-    $P388 = $P386."!make"($P387)
+    find_lex $P438, "$/"
+    find_lex $P439, "$past"
+    $P440 = $P438."!make"($P439)
 .annotate "line", 122
-    .return ($P388)
-  control_377:
+    .return ($P440)
+  control_429:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P389, exception, "payload"
-    .return ($P389)
+    getattribute $P441, exception, "payload"
+    .return ($P441)
 .end
 
 
 .namespace ["NQP";"Actions"]
-.sub "statement_control:sym<while>"  :subid("32_1259103989.89791") :method :outer("11_1259103989.89791")
-    .param pmc param_393
+.sub "statement_control:sym<while>"  :subid("33_1259177779.79485") :method :outer("11_1259177779.79485")
+    .param pmc param_445
 .annotate "line", 128
-    new $P392, 'ExceptionHandler'
-    set_addr $P392, control_391
-    $P392."handle_types"(58)
-    push_eh $P392
+    new $P444, 'ExceptionHandler'
+    set_addr $P444, control_443
+    $P444."handle_types"(58)
+    push_eh $P444
     .lex "self", self
-    .lex "$/", param_393
+    .lex "$/", param_445
 .annotate "line", 129
-    new $P394, "Undef"
-    .lex "$past", $P394
-    find_lex $P395, "$/"
-    unless_null $P395, vivify_197
-    new $P395, "Hash"
-  vivify_197:
-    set $P396, $P395["xblock"]
-    unless_null $P396, vivify_198
-    new $P396, "Undef"
-  vivify_198:
-    $P397 = $P396."ast"()
-    $P398 = "xblock_immediate"($P397)
-    store_lex "$past", $P398
+    new $P446, "Undef"
+    .lex "$past", $P446
+    find_lex $P447, "$/"
+    unless_null $P447, vivify_206
+    new $P447, "Hash"
+  vivify_206:
+    set $P448, $P447["xblock"]
+    unless_null $P448, vivify_207
+    new $P448, "Undef"
+  vivify_207:
+    $P449 = $P448."ast"()
+    $P450 = "xblock_immediate"($P449)
+    store_lex "$past", $P450
 .annotate "line", 130
-    find_lex $P399, "$past"
-    find_lex $P400, "$/"
-    unless_null $P400, vivify_199
-    new $P400, "Hash"
-  vivify_199:
-    set $P401, $P400["sym"]
-    unless_null $P401, vivify_200
-    new $P401, "Undef"
-  vivify_200:
-    set $S402, $P401
-    $P399."pasttype"($S402)
+    find_lex $P451, "$past"
+    find_lex $P452, "$/"
+    unless_null $P452, vivify_208
+    new $P452, "Hash"
+  vivify_208:
+    set $P453, $P452["sym"]
+    unless_null $P453, vivify_209
+    new $P453, "Undef"
+  vivify_209:
+    set $S454, $P453
+    $P451."pasttype"($S454)
 .annotate "line", 131
-    find_lex $P403, "$/"
-    find_lex $P404, "$past"
-    $P405 = $P403."!make"($P404)
+    find_lex $P455, "$/"
+    find_lex $P456, "$past"
+    $P457 = $P455."!make"($P456)
 .annotate "line", 128
-    .return ($P405)
-  control_391:
+    .return ($P457)
+  control_443:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P406, exception, "payload"
-    .return ($P406)
+    getattribute $P458, exception, "payload"
+    .return ($P458)
 .end
 
 
 .namespace ["NQP";"Actions"]
-.sub "statement_control:sym<repeat>"  :subid("33_1259103989.89791") :method :outer("11_1259103989.89791")
-    .param pmc param_410
+.sub "statement_control:sym<repeat>"  :subid("34_1259177779.79485") :method :outer("11_1259177779.79485")
+    .param pmc param_462
 .annotate "line", 134
-    new $P409, 'ExceptionHandler'
-    set_addr $P409, control_408
-    $P409."handle_types"(58)
-    push_eh $P409
+    new $P461, 'ExceptionHandler'
+    set_addr $P461, control_460
+    $P461."handle_types"(58)
+    push_eh $P461
     .lex "self", self
-    .lex "$/", param_410
+    .lex "$/", param_462
 .annotate "line", 135
-    new $P411, "Undef"
-    .lex "$pasttype", $P411
+    new $P463, "Undef"
+    .lex "$pasttype", $P463
 .annotate "line", 136
-    new $P412, "Undef"
-    .lex "$past", $P412
+    new $P464, "Undef"
+    .lex "$past", $P464
 .annotate "line", 135
-    new $P413, "String"
-    assign $P413, "repeat_"
-    find_lex $P414, "$/"
-    unless_null $P414, vivify_201
-    new $P414, "Hash"
-  vivify_201:
-    set $P415, $P414["wu"]
-    unless_null $P415, vivify_202
-    new $P415, "Undef"
-  vivify_202:
-    set $S416, $P415
-    concat $P417, $P413, $S416
-    store_lex "$pasttype", $P417
-    find_lex $P418, "$past"
+    new $P465, "String"
+    assign $P465, "repeat_"
+    find_lex $P466, "$/"
+    unless_null $P466, vivify_210
+    new $P466, "Hash"
+  vivify_210:
+    set $P467, $P466["wu"]
+    unless_null $P467, vivify_211
+    new $P467, "Undef"
+  vivify_211:
+    set $S468, $P467
+    concat $P469, $P465, $S468
+    store_lex "$pasttype", $P469
+    find_lex $P470, "$past"
 .annotate "line", 137
-    find_lex $P420, "$/"
-    unless_null $P420, vivify_203
-    new $P420, "Hash"
-  vivify_203:
-    set $P421, $P420["xblock"]
-    unless_null $P421, vivify_204
-    new $P421, "Undef"
-  vivify_204:
-    if $P421, if_419
+    find_lex $P472, "$/"
+    unless_null $P472, vivify_212
+    new $P472, "Hash"
+  vivify_212:
+    set $P473, $P472["xblock"]
+    unless_null $P473, vivify_213
+    new $P473, "Undef"
+  vivify_213:
+    if $P473, if_471
 .annotate "line", 142
-    get_hll_global $P428, ["PAST"], "Op"
-    find_lex $P429, "$/"
-    unless_null $P429, vivify_205
-    new $P429, "Hash"
-  vivify_205:
-    set $P430, $P429["EXPR"]
-    unless_null $P430, vivify_206
-    new $P430, "Undef"
-  vivify_206:
-    $P431 = $P430."ast"()
-    find_lex $P432, "$/"
-    unless_null $P432, vivify_207
-    new $P432, "Hash"
-  vivify_207:
-    set $P433, $P432["pblock"]
-    unless_null $P433, vivify_208
-    new $P433, "Undef"
-  vivify_208:
-    $P434 = $P433."ast"()
-    $P435 = "block_immediate"($P434)
-    find_lex $P436, "$pasttype"
-    find_lex $P437, "$/"
-    $P438 = $P428."new"($P431, $P435, $P436 :named("pasttype"), $P437 :named("node"))
-    store_lex "$past", $P438
+    get_hll_global $P480, ["PAST"], "Op"
+    find_lex $P481, "$/"
+    unless_null $P481, vivify_214
+    new $P481, "Hash"
+  vivify_214:
+    set $P482, $P481["EXPR"]
+    unless_null $P482, vivify_215
+    new $P482, "Undef"
+  vivify_215:
+    $P483 = $P482."ast"()
+    find_lex $P484, "$/"
+    unless_null $P484, vivify_216
+    new $P484, "Hash"
+  vivify_216:
+    set $P485, $P484["pblock"]
+    unless_null $P485, vivify_217
+    new $P485, "Undef"
+  vivify_217:
+    $P486 = $P485."ast"()
+    $P487 = "block_immediate"($P486)
+    find_lex $P488, "$pasttype"
+    find_lex $P489, "$/"
+    $P490 = $P480."new"($P483, $P487, $P488 :named("pasttype"), $P489 :named("node"))
+    store_lex "$past", $P490
 .annotate "line", 141
-    goto if_419_end
-  if_419:
+    goto if_471_end
+  if_471:
 .annotate "line", 138
-    find_lex $P422, "$/"
-    unless_null $P422, vivify_209
-    new $P422, "Hash"
-  vivify_209:
-    set $P423, $P422["xblock"]
-    unless_null $P423, vivify_210
-    new $P423, "Undef"
-  vivify_210:
-    $P424 = $P423."ast"()
-    $P425 = "xblock_immediate"($P424)
-    store_lex "$past", $P425
+    find_lex $P474, "$/"
+    unless_null $P474, vivify_218
+    new $P474, "Hash"
+  vivify_218:
+    set $P475, $P474["xblock"]
+    unless_null $P475, vivify_219
+    new $P475, "Undef"
+  vivify_219:
+    $P476 = $P475."ast"()
+    $P477 = "xblock_immediate"($P476)
+    store_lex "$past", $P477
 .annotate "line", 139
-    find_lex $P426, "$past"
-    find_lex $P427, "$pasttype"
-    $P426."pasttype"($P427)
-  if_419_end:
+    find_lex $P478, "$past"
+    find_lex $P479, "$pasttype"
+    $P478."pasttype"($P479)
+  if_471_end:
 .annotate "line", 145
-    find_lex $P439, "$/"
-    find_lex $P440, "$past"
-    $P441 = $P439."!make"($P440)
+    find_lex $P491, "$/"
+    find_lex $P492, "$past"
+    $P493 = $P491."!make"($P492)
 .annotate "line", 134
-    .return ($P441)
-  control_408:
+    .return ($P493)
+  control_460:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P442, exception, "payload"
-    .return ($P442)
+    getattribute $P494, exception, "payload"
+    .return ($P494)
 .end
 
 
 .namespace ["NQP";"Actions"]
-.sub "statement_control:sym<for>"  :subid("34_1259103989.89791") :method :outer("11_1259103989.89791")
-    .param pmc param_446
+.sub "statement_control:sym<for>"  :subid("35_1259177779.79485") :method :outer("11_1259177779.79485")
+    .param pmc param_498
 .annotate "line", 148
-    new $P445, 'ExceptionHandler'
-    set_addr $P445, control_444
-    $P445."handle_types"(58)
-    push_eh $P445
+    new $P497, 'ExceptionHandler'
+    set_addr $P497, control_496
+    $P497."handle_types"(58)
+    push_eh $P497
     .lex "self", self
-    .lex "$/", param_446
+    .lex "$/", param_498
 .annotate "line", 149
-    new $P447, "Undef"
-    .lex "$past", $P447
+    new $P499, "Undef"
+    .lex "$past", $P499
 .annotate "line", 151
-    new $P448, "Undef"
-    .lex "$block", $P448
+    new $P500, "Undef"
+    .lex "$block", $P500
 .annotate "line", 149
-    find_lex $P449, "$/"
-    unless_null $P449, vivify_211
-    new $P449, "Hash"
-  vivify_211:
-    set $P450, $P449["xblock"]
-    unless_null $P450, vivify_212
-    new $P450, "Undef"
-  vivify_212:
-    $P451 = $P450."ast"()
-    store_lex "$past", $P451
+    find_lex $P501, "$/"
+    unless_null $P501, vivify_220
+    new $P501, "Hash"
+  vivify_220:
+    set $P502, $P501["xblock"]
+    unless_null $P502, vivify_221
+    new $P502, "Undef"
+  vivify_221:
+    $P503 = $P502."ast"()
+    store_lex "$past", $P503
 .annotate "line", 150
-    find_lex $P452, "$past"
-    $P452."pasttype"("for")
+    find_lex $P504, "$past"
+    $P504."pasttype"("for")
 .annotate "line", 151
-    find_lex $P453, "$past"
-    unless_null $P453, vivify_213
-    new $P453, "ResizablePMCArray"
-  vivify_213:
-    set $P454, $P453[1]
-    unless_null $P454, vivify_214
-    new $P454, "Undef"
-  vivify_214:
-    store_lex "$block", $P454
+    find_lex $P505, "$past"
+    unless_null $P505, vivify_222
+    new $P505, "ResizablePMCArray"
+  vivify_222:
+    set $P506, $P505[1]
+    unless_null $P506, vivify_223
+    new $P506, "Undef"
+  vivify_223:
+    store_lex "$block", $P506
 .annotate "line", 152
-    find_lex $P456, "$block"
-    $P457 = $P456."arity"()
-    if $P457, unless_455_end
+    find_lex $P508, "$block"
+    $P509 = $P508."arity"()
+    if $P509, unless_507_end
 .annotate "line", 153
-    find_lex $P458, "$block"
-    unless_null $P458, vivify_215
-    new $P458, "ResizablePMCArray"
-  vivify_215:
-    set $P459, $P458[0]
-    unless_null $P459, vivify_216
-    new $P459, "Undef"
-  vivify_216:
-    get_hll_global $P460, ["PAST"], "Var"
-    $P461 = $P460."new"("$_" :named("name"), "parameter" :named("scope"))
-    $P459."push"($P461)
+    find_lex $P510, "$block"
+    unless_null $P510, vivify_224
+    new $P510, "ResizablePMCArray"
+  vivify_224:
+    set $P511, $P510[0]
+    unless_null $P511, vivify_225
+    new $P511, "Undef"
+  vivify_225:
+    get_hll_global $P512, ["PAST"], "Var"
+    $P513 = $P512."new"("$_" :named("name"), "parameter" :named("scope"))
+    $P511."push"($P513)
 .annotate "line", 154
-    find_lex $P462, "$block"
-    $P462."symbol"("$_", "lexical" :named("scope"))
+    find_lex $P514, "$block"
+    $P514."symbol"("$_", "lexical" :named("scope"))
 .annotate "line", 155
-    find_lex $P463, "$block"
-    $P463."arity"(1)
-  unless_455_end:
+    find_lex $P515, "$block"
+    $P515."arity"(1)
+  unless_507_end:
 .annotate "line", 157
-    find_lex $P464, "$block"
-    $P464."blocktype"("immediate")
+    find_lex $P516, "$block"
+    $P516."blocktype"("immediate")
 .annotate "line", 158
-    find_lex $P465, "$/"
-    find_lex $P466, "$past"
-    $P467 = $P465."!make"($P466)
+    find_lex $P517, "$/"
+    find_lex $P518, "$past"
+    $P519 = $P517."!make"($P518)
 .annotate "line", 148
-    .return ($P467)
-  control_444:
+    .return ($P519)
+  control_496:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P468, exception, "payload"
-    .return ($P468)
+    getattribute $P520, exception, "payload"
+    .return ($P520)
 .end
 
 
 .namespace ["NQP";"Actions"]
-.sub "statement_control:sym<return>"  :subid("35_1259103989.89791") :method :outer("11_1259103989.89791")
-    .param pmc param_472
+.sub "statement_control:sym<return>"  :subid("36_1259177779.79485") :method :outer("11_1259177779.79485")
+    .param pmc param_524
 .annotate "line", 161
-    new $P471, 'ExceptionHandler'
-    set_addr $P471, control_470
-    $P471."handle_types"(58)
-    push_eh $P471
+    new $P523, 'ExceptionHandler'
+    set_addr $P523, control_522
+    $P523."handle_types"(58)
+    push_eh $P523
     .lex "self", self
-    .lex "$/", param_472
+    .lex "$/", param_524
 .annotate "line", 162
-    find_lex $P473, "$/"
-    get_hll_global $P474, ["PAST"], "Op"
-    find_lex $P475, "$/"
-    unless_null $P475, vivify_217
-    new $P475, "Hash"
-  vivify_217:
-    set $P476, $P475["EXPR"]
-    unless_null $P476, vivify_218
-    new $P476, "Undef"
-  vivify_218:
-    $P477 = $P476."ast"()
-    find_lex $P478, "$/"
-    $P479 = $P474."new"($P477, "return" :named("pasttype"), $P478 :named("node"))
-    $P480 = $P473."!make"($P479)
+    find_lex $P525, "$/"
+    get_hll_global $P526, ["PAST"], "Op"
+    find_lex $P527, "$/"
+    unless_null $P527, vivify_226
+    new $P527, "Hash"
+  vivify_226:
+    set $P528, $P527["EXPR"]
+    unless_null $P528, vivify_227
+    new $P528, "Undef"
+  vivify_227:
+    $P529 = $P528."ast"()
+    find_lex $P530, "$/"
+    $P531 = $P526."new"($P529, "return" :named("pasttype"), $P530 :named("node"))
+    $P532 = $P525."!make"($P531)
 .annotate "line", 161
-    .return ($P480)
-  control_470:
+    .return ($P532)
+  control_522:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P481, exception, "payload"
-    .return ($P481)
+    getattribute $P533, exception, "payload"
+    .return ($P533)
 .end
 
 
 .namespace ["NQP";"Actions"]
-.sub "statement_prefix:sym<INIT>"  :subid("36_1259103989.89791") :method :outer("11_1259103989.89791")
-    .param pmc param_485
+.sub "statement_control:sym<CATCH>"  :subid("37_1259177779.79485") :method :outer("11_1259177779.79485")
+    .param pmc param_537
 .annotate "line", 165
-    new $P484, 'ExceptionHandler'
-    set_addr $P484, control_483
-    $P484."handle_types"(58)
-    push_eh $P484
+    new $P536, 'ExceptionHandler'
+    set_addr $P536, control_535
+    $P536."handle_types"(58)
+    push_eh $P536
     .lex "self", self
-    .lex "$/", param_485
+    .lex "$/", param_537
 .annotate "line", 166
-    get_global $P486, "@BLOCK"
-    unless_null $P486, vivify_219
-    new $P486, "ResizablePMCArray"
-  vivify_219:
-    set $P487, $P486[0]
-    unless_null $P487, vivify_220
-    new $P487, "Undef"
-  vivify_220:
-    $P488 = $P487."loadinit"()
-    find_lex $P489, "$/"
-    unless_null $P489, vivify_221
-    new $P489, "Hash"
-  vivify_221:
-    set $P490, $P489["blorst"]
-    unless_null $P490, vivify_222
-    new $P490, "Undef"
-  vivify_222:
-    $P491 = $P490."ast"()
-    $P488."push"($P491)
+    new $P538, "Undef"
+    .lex "$block", $P538
+    find_lex $P539, "$/"
+    unless_null $P539, vivify_228
+    new $P539, "Hash"
+  vivify_228:
+    set $P540, $P539["block"]
+    unless_null $P540, vivify_229
+    new $P540, "Undef"
+  vivify_229:
+    $P541 = $P540."ast"()
+    store_lex "$block", $P541
 .annotate "line", 167
-    find_lex $P492, "$/"
-    get_hll_global $P493, ["PAST"], "Stmts"
-    find_lex $P494, "$/"
-    $P495 = $P493."new"($P494 :named("node"))
-    $P496 = $P492."!make"($P495)
+    find_lex $P542, "$/"
+    find_lex $P543, "$block"
+    "push_block_handler"($P542, $P543)
+.annotate "line", 168
+    get_global $P544, "@BLOCK"
+    unless_null $P544, vivify_230
+    new $P544, "ResizablePMCArray"
+  vivify_230:
+    set $P545, $P544[0]
+    unless_null $P545, vivify_231
+    new $P545, "Undef"
+  vivify_231:
+    $P546 = $P545."handlers"()
+    set $P547, $P546[0]
+    unless_null $P547, vivify_232
+    new $P547, "Undef"
+  vivify_232:
+    $P547."handle_types_except"("CONTROL")
+.annotate "line", 169
+    find_lex $P548, "$/"
+    get_hll_global $P549, ["PAST"], "Stmts"
+    find_lex $P550, "$/"
+    $P551 = $P549."new"($P550 :named("node"))
+    $P552 = $P548."!make"($P551)
 .annotate "line", 165
-    .return ($P496)
-  control_483:
+    .return ($P552)
+  control_535:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P497, exception, "payload"
-    .return ($P497)
+    getattribute $P553, exception, "payload"
+    .return ($P553)
 .end
 
 
 .namespace ["NQP";"Actions"]
-.sub "statement_prefix:sym<try>"  :subid("37_1259103989.89791") :method :outer("11_1259103989.89791")
-    .param pmc param_501
-.annotate "line", 170
-    new $P500, 'ExceptionHandler'
-    set_addr $P500, control_499
-    $P500."handle_types"(58)
-    push_eh $P500
-    .lex "self", self
-    .lex "$/", param_501
-.annotate "line", 171
-    new $P502, "Undef"
-    .lex "$past", $P502
-.annotate "line", 175
-    new $P503, "Undef"
-    .lex "$default", $P503
-.annotate "line", 171
-    find_lex $P504, "$/"
-    unless_null $P504, vivify_223
-    new $P504, "Hash"
-  vivify_223:
-    set $P505, $P504["blorst"]
-    unless_null $P505, vivify_224
-    new $P505, "Undef"
-  vivify_224:
-    $P506 = $P505."ast"()
-    store_lex "$past", $P506
+.sub "statement_control:sym<CONTROL>"  :subid("38_1259177779.79485") :method :outer("11_1259177779.79485")
+    .param pmc param_557
 .annotate "line", 172
-    find_lex $P508, "$past"
-    $S509 = $P508."WHAT"()
-    isne $I510, $S509, "PAST::Block()"
-    unless $I510, if_507_end
+    new $P556, 'ExceptionHandler'
+    set_addr $P556, control_555
+    $P556."handle_types"(58)
+    push_eh $P556
+    .lex "self", self
+    .lex "$/", param_557
 .annotate "line", 173
-    get_hll_global $P511, ["PAST"], "Block"
-    find_lex $P512, "$past"
-    find_lex $P513, "$/"
-    $P514 = $P511."new"($P512, "immediate" :named("blocktype"), $P513 :named("node"))
-    store_lex "$past", $P514
-  if_507_end:
+    new $P558, "Undef"
+    .lex "$block", $P558
+    find_lex $P559, "$/"
+    unless_null $P559, vivify_233
+    new $P559, "Hash"
+  vivify_233:
+    set $P560, $P559["block"]
+    unless_null $P560, vivify_234
+    new $P560, "Undef"
+  vivify_234:
+    $P561 = $P560."ast"()
+    store_lex "$block", $P561
+.annotate "line", 174
+    find_lex $P562, "$/"
+    find_lex $P563, "$block"
+    "push_block_handler"($P562, $P563)
 .annotate "line", 175
-    get_hll_global $P515, ["PAST"], "Control"
-.annotate "line", 177
-    get_hll_global $P516, ["PAST"], "Stmts"
-.annotate "line", 178
-    get_hll_global $P517, ["PAST"], "Op"
-.annotate "line", 179
-    get_hll_global $P518, ["PAST"], "Var"
-.annotate "line", 180
-    get_hll_global $P519, ["PAST"], "Var"
-    $P520 = $P519."new"("register" :named("scope"), "exception" :named("name"))
-    $P521 = $P518."new"($P520, "handled", "keyed" :named("scope"))
-.annotate "line", 179
-    $P522 = $P517."new"($P521, 1, "bind" :named("pasttype"))
-.annotate "line", 178
-    $P523 = $P516."new"($P522)
-.annotate "line", 177
-    $P524 = $P515."new"($P523, "CONTROL" :named("handle_types_except"))
-.annotate "line", 175
-    store_lex "$default", $P524
-.annotate "line", 187
-    find_lex $P525, "$past"
-    find_lex $P526, "$default"
-    new $P527, "ResizablePMCArray"
-    push $P527, $P526
-    $P525."handlers"($P527)
-.annotate "line", 188
-    find_lex $P528, "$/"
-    find_lex $P529, "$past"
-    $P530 = $P528."!make"($P529)
-.annotate "line", 170
-    .return ($P530)
-  control_499:
+    get_global $P564, "@BLOCK"
+    unless_null $P564, vivify_235
+    new $P564, "ResizablePMCArray"
+  vivify_235:
+    set $P565, $P564[0]
+    unless_null $P565, vivify_236
+    new $P565, "Undef"
+  vivify_236:
+    $P566 = $P565."handlers"()
+    set $P567, $P566[0]
+    unless_null $P567, vivify_237
+    new $P567, "Undef"
+  vivify_237:
+    $P567."handle_types"("CONTROL")
+.annotate "line", 176
+    find_lex $P568, "$/"
+    get_hll_global $P569, ["PAST"], "Stmts"
+    find_lex $P570, "$/"
+    $P571 = $P569."new"($P570 :named("node"))
+    $P572 = $P568."!make"($P571)
+.annotate "line", 172
+    .return ($P572)
+  control_555:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P531, exception, "payload"
-    .return ($P531)
+    getattribute $P573, exception, "payload"
+    .return ($P573)
 .end
 
 
 .namespace ["NQP";"Actions"]
-.sub "blorst"  :subid("38_1259103989.89791") :method :outer("11_1259103989.89791")
-    .param pmc param_535
-.annotate "line", 191
-    new $P534, 'ExceptionHandler'
-    set_addr $P534, control_533
-    $P534."handle_types"(58)
-    push_eh $P534
+.sub "statement_prefix:sym<INIT>"  :subid("39_1259177779.79485") :method :outer("11_1259177779.79485")
+    .param pmc param_578
+.annotate "line", 216
+    new $P577, 'ExceptionHandler'
+    set_addr $P577, control_576
+    $P577."handle_types"(58)
+    push_eh $P577
     .lex "self", self
-    .lex "$/", param_535
-.annotate "line", 192
-    find_lex $P536, "$/"
-.annotate "line", 193
-    find_lex $P539, "$/"
-    unless_null $P539, vivify_225
-    new $P539, "Hash"
-  vivify_225:
-    set $P540, $P539["block"]
-    unless_null $P540, vivify_226
-    new $P540, "Undef"
-  vivify_226:
-    if $P540, if_538
-.annotate "line", 194
-    find_lex $P545, "$/"
-    unless_null $P545, vivify_227
-    new $P545, "Hash"
-  vivify_227:
-    set $P546, $P545["statement"]
-    unless_null $P546, vivify_228
-    new $P546, "Undef"
-  vivify_228:
-    $P547 = $P546."ast"()
-    set $P537, $P547
-.annotate "line", 193
-    goto if_538_end
-  if_538:
-    find_lex $P541, "$/"
-    unless_null $P541, vivify_229
-    new $P541, "Hash"
-  vivify_229:
-    set $P542, $P541["block"]
-    unless_null $P542, vivify_230
-    new $P542, "Undef"
-  vivify_230:
-    $P543 = $P542."ast"()
-    $P544 = "block_immediate"($P543)
-    set $P537, $P544
-  if_538_end:
-    $P548 = $P536."!make"($P537)
-.annotate "line", 191
-    .return ($P548)
-  control_533:
+    .lex "$/", param_578
+.annotate "line", 217
+    get_global $P579, "@BLOCK"
+    unless_null $P579, vivify_238
+    new $P579, "ResizablePMCArray"
+  vivify_238:
+    set $P580, $P579[0]
+    unless_null $P580, vivify_239
+    new $P580, "Undef"
+  vivify_239:
+    $P581 = $P580."loadinit"()
+    find_lex $P582, "$/"
+    unless_null $P582, vivify_240
+    new $P582, "Hash"
+  vivify_240:
+    set $P583, $P582["blorst"]
+    unless_null $P583, vivify_241
+    new $P583, "Undef"
+  vivify_241:
+    $P584 = $P583."ast"()
+    $P581."push"($P584)
+.annotate "line", 218
+    find_lex $P585, "$/"
+    get_hll_global $P586, ["PAST"], "Stmts"
+    find_lex $P587, "$/"
+    $P588 = $P586."new"($P587 :named("node"))
+    $P589 = $P585."!make"($P588)
+.annotate "line", 216
+    .return ($P589)
+  control_576:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P549, exception, "payload"
-    .return ($P549)
+    getattribute $P590, exception, "payload"
+    .return ($P590)
 .end
 
 
 .namespace ["NQP";"Actions"]
-.sub "statement_mod_cond:sym<if>"  :subid("39_1259103989.89791") :method :outer("11_1259103989.89791")
-    .param pmc param_553
-.annotate "line", 199
-    new $P552, 'ExceptionHandler'
-    set_addr $P552, control_551
-    $P552."handle_types"(58)
-    push_eh $P552
-    .lex "self", self
-    .lex "$/", param_553
-    find_lex $P554, "$/"
-    find_lex $P555, "$/"
-    unless_null $P555, vivify_231
-    new $P555, "Hash"
-  vivify_231:
-    set $P556, $P555["cond"]
-    unless_null $P556, vivify_232
-    new $P556, "Undef"
-  vivify_232:
-    $P557 = $P556."ast"()
-    $P558 = $P554."!make"($P557)
-    .return ($P558)
-  control_551:
+.sub "statement_prefix:sym<try>"  :subid("40_1259177779.79485") :method :outer("11_1259177779.79485")
+    .param pmc param_594
+.annotate "line", 221
+    new $P593, 'ExceptionHandler'
+    set_addr $P593, control_592
+    $P593."handle_types"(58)
+    push_eh $P593
+    .lex "self", self
+    .lex "$/", param_594
+.annotate "line", 222
+    new $P595, "Undef"
+    .lex "$past", $P595
+    find_lex $P596, "$/"
+    unless_null $P596, vivify_242
+    new $P596, "Hash"
+  vivify_242:
+    set $P597, $P596["blorst"]
+    unless_null $P597, vivify_243
+    new $P597, "Undef"
+  vivify_243:
+    $P598 = $P597."ast"()
+    store_lex "$past", $P598
+.annotate "line", 223
+    find_lex $P600, "$past"
+    $S601 = $P600."WHAT"()
+    isne $I602, $S601, "PAST::Block()"
+    unless $I602, if_599_end
+.annotate "line", 224
+    get_hll_global $P603, ["PAST"], "Block"
+    find_lex $P604, "$past"
+    find_lex $P605, "$/"
+    $P606 = $P603."new"($P604, "immediate" :named("blocktype"), $P605 :named("node"))
+    store_lex "$past", $P606
+  if_599_end:
+.annotate "line", 226
+    find_lex $P608, "$past"
+    $P609 = $P608."handlers"()
+    if $P609, unless_607_end
+.annotate "line", 227
+    find_lex $P610, "$past"
+    get_hll_global $P611, ["PAST"], "Control"
+.annotate "line", 229
+    get_hll_global $P612, ["PAST"], "Stmts"
+.annotate "line", 230
+    get_hll_global $P613, ["PAST"], "Op"
+.annotate "line", 231
+    get_hll_global $P614, ["PAST"], "Var"
+.annotate "line", 232
+    get_hll_global $P615, ["PAST"], "Var"
+    $P616 = $P615."new"("register" :named("scope"), "exception" :named("name"))
+    $P617 = $P614."new"($P616, "handled", "keyed" :named("scope"))
+.annotate "line", 231
+    $P618 = $P613."new"($P617, 1, "bind" :named("pasttype"))
+.annotate "line", 230
+    $P619 = $P612."new"($P618)
+.annotate "line", 229
+    $P620 = $P611."new"($P619, "CONTROL" :named("handle_types_except"))
+.annotate "line", 227
+    new $P621, "ResizablePMCArray"
+    push $P621, $P620
+    $P610."handlers"($P621)
+  unless_607_end:
+.annotate "line", 241
+    find_lex $P622, "$/"
+    find_lex $P623, "$past"
+    $P624 = $P622."!make"($P623)
+.annotate "line", 221
+    .return ($P624)
+  control_592:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P559, exception, "payload"
-    .return ($P559)
+    getattribute $P625, exception, "payload"
+    .return ($P625)
 .end
 
 
 .namespace ["NQP";"Actions"]
-.sub "statement_mod_cond:sym<unless>"  :subid("40_1259103989.89791") :method :outer("11_1259103989.89791")
-    .param pmc param_563
-.annotate "line", 200
-    new $P562, 'ExceptionHandler'
-    set_addr $P562, control_561
-    $P562."handle_types"(58)
-    push_eh $P562
-    .lex "self", self
-    .lex "$/", param_563
-    find_lex $P564, "$/"
-    find_lex $P565, "$/"
-    unless_null $P565, vivify_233
-    new $P565, "Hash"
-  vivify_233:
-    set $P566, $P565["cond"]
-    unless_null $P566, vivify_234
-    new $P566, "Undef"
-  vivify_234:
-    $P567 = $P566."ast"()
-    $P568 = $P564."!make"($P567)
-    .return ($P568)
-  control_561:
+.sub "blorst"  :subid("41_1259177779.79485") :method :outer("11_1259177779.79485")
+    .param pmc param_629
+.annotate "line", 244
+    new $P628, 'ExceptionHandler'
+    set_addr $P628, control_627
+    $P628."handle_types"(58)
+    push_eh $P628
+    .lex "self", self
+    .lex "$/", param_629
+.annotate "line", 245
+    find_lex $P630, "$/"
+.annotate "line", 246
+    find_lex $P633, "$/"
+    unless_null $P633, vivify_244
+    new $P633, "Hash"
+  vivify_244:
+    set $P634, $P633["block"]
+    unless_null $P634, vivify_245
+    new $P634, "Undef"
+  vivify_245:
+    if $P634, if_632
+.annotate "line", 247
+    find_lex $P639, "$/"
+    unless_null $P639, vivify_246
+    new $P639, "Hash"
+  vivify_246:
+    set $P640, $P639["statement"]
+    unless_null $P640, vivify_247
+    new $P640, "Undef"
+  vivify_247:
+    $P641 = $P640."ast"()
+    set $P631, $P641
+.annotate "line", 246
+    goto if_632_end
+  if_632:
+    find_lex $P635, "$/"
+    unless_null $P635, vivify_248
+    new $P635, "Hash"
+  vivify_248:
+    set $P636, $P635["block"]
+    unless_null $P636, vivify_249
+    new $P636, "Undef"
+  vivify_249:
+    $P637 = $P636."ast"()
+    $P638 = "block_immediate"($P637)
+    set $P631, $P638
+  if_632_end:
+    $P642 = $P630."!make"($P631)
+.annotate "line", 244
+    .return ($P642)
+  control_627:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P569, exception, "payload"
-    .return ($P569)
+    getattribute $P643, exception, "payload"
+    .return ($P643)
 .end
 
 
 .namespace ["NQP";"Actions"]
-.sub "statement_mod_loop:sym<while>"  :subid("41_1259103989.89791") :method :outer("11_1259103989.89791")
-    .param pmc param_573
-.annotate "line", 202
-    new $P572, 'ExceptionHandler'
-    set_addr $P572, control_571
-    $P572."handle_types"(58)
-    push_eh $P572
-    .lex "self", self
-    .lex "$/", param_573
-    find_lex $P574, "$/"
-    find_lex $P575, "$/"
-    unless_null $P575, vivify_235
-    new $P575, "Hash"
-  vivify_235:
-    set $P576, $P575["cond"]
-    unless_null $P576, vivify_236
-    new $P576, "Undef"
-  vivify_236:
-    $P577 = $P576."ast"()
-    $P578 = $P574."!make"($P577)
-    .return ($P578)
-  control_571:
+.sub "statement_mod_cond:sym<if>"  :subid("42_1259177779.79485") :method :outer("11_1259177779.79485")
+    .param pmc param_647
+.annotate "line", 252
+    new $P646, 'ExceptionHandler'
+    set_addr $P646, control_645
+    $P646."handle_types"(58)
+    push_eh $P646
+    .lex "self", self
+    .lex "$/", param_647
+    find_lex $P648, "$/"
+    find_lex $P649, "$/"
+    unless_null $P649, vivify_250
+    new $P649, "Hash"
+  vivify_250:
+    set $P650, $P649["cond"]
+    unless_null $P650, vivify_251
+    new $P650, "Undef"
+  vivify_251:
+    $P651 = $P650."ast"()
+    $P652 = $P648."!make"($P651)
+    .return ($P652)
+  control_645:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P579, exception, "payload"
-    .return ($P579)
+    getattribute $P653, exception, "payload"
+    .return ($P653)
 .end
 
 
 .namespace ["NQP";"Actions"]
-.sub "statement_mod_loop:sym<until>"  :subid("42_1259103989.89791") :method :outer("11_1259103989.89791")
-    .param pmc param_583
-.annotate "line", 203
-    new $P582, 'ExceptionHandler'
-    set_addr $P582, control_581
-    $P582."handle_types"(58)
-    push_eh $P582
-    .lex "self", self
-    .lex "$/", param_583
-    find_lex $P584, "$/"
-    find_lex $P585, "$/"
-    unless_null $P585, vivify_237
-    new $P585, "Hash"
-  vivify_237:
-    set $P586, $P585["cond"]
-    unless_null $P586, vivify_238
-    new $P586, "Undef"
-  vivify_238:
-    $P587 = $P586."ast"()
-    $P588 = $P584."!make"($P587)
-    .return ($P588)
-  control_581:
+.sub "statement_mod_cond:sym<unless>"  :subid("43_1259177779.79485") :method :outer("11_1259177779.79485")
+    .param pmc param_657
+.annotate "line", 253
+    new $P656, 'ExceptionHandler'
+    set_addr $P656, control_655
+    $P656."handle_types"(58)
+    push_eh $P656
+    .lex "self", self
+    .lex "$/", param_657
+    find_lex $P658, "$/"
+    find_lex $P659, "$/"
+    unless_null $P659, vivify_252
+    new $P659, "Hash"
+  vivify_252:
+    set $P660, $P659["cond"]
+    unless_null $P660, vivify_253
+    new $P660, "Undef"
+  vivify_253:
+    $P661 = $P660."ast"()
+    $P662 = $P658."!make"($P661)
+    .return ($P662)
+  control_655:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P589, exception, "payload"
-    .return ($P589)
+    getattribute $P663, exception, "payload"
+    .return ($P663)
 .end
 
 
 .namespace ["NQP";"Actions"]
-.sub "term:sym<colonpair>"  :subid("43_1259103989.89791") :method :outer("11_1259103989.89791")
-    .param pmc param_593
-.annotate "line", 207
-    new $P592, 'ExceptionHandler'
-    set_addr $P592, control_591
-    $P592."handle_types"(58)
-    push_eh $P592
-    .lex "self", self
-    .lex "$/", param_593
-    find_lex $P594, "$/"
-    find_lex $P595, "$/"
-    unless_null $P595, vivify_239
-    new $P595, "Hash"
-  vivify_239:
-    set $P596, $P595["colonpair"]
-    unless_null $P596, vivify_240
-    new $P596, "Undef"
-  vivify_240:
-    $P597 = $P596."ast"()
-    $P598 = $P594."!make"($P597)
-    .return ($P598)
-  control_591:
+.sub "statement_mod_loop:sym<while>"  :subid("44_1259177779.79485") :method :outer("11_1259177779.79485")
+    .param pmc param_667
+.annotate "line", 255
+    new $P666, 'ExceptionHandler'
+    set_addr $P666, control_665
+    $P666."handle_types"(58)
+    push_eh $P666
+    .lex "self", self
+    .lex "$/", param_667
+    find_lex $P668, "$/"
+    find_lex $P669, "$/"
+    unless_null $P669, vivify_254
+    new $P669, "Hash"
+  vivify_254:
+    set $P670, $P669["cond"]
+    unless_null $P670, vivify_255
+    new $P670, "Undef"
+  vivify_255:
+    $P671 = $P670."ast"()
+    $P672 = $P668."!make"($P671)
+    .return ($P672)
+  control_665:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P599, exception, "payload"
-    .return ($P599)
+    getattribute $P673, exception, "payload"
+    .return ($P673)
 .end
 
 
 .namespace ["NQP";"Actions"]
-.sub "term:sym<variable>"  :subid("44_1259103989.89791") :method :outer("11_1259103989.89791")
-    .param pmc param_603
-.annotate "line", 208
-    new $P602, 'ExceptionHandler'
-    set_addr $P602, control_601
-    $P602."handle_types"(58)
-    push_eh $P602
+.sub "statement_mod_loop:sym<until>"  :subid("45_1259177779.79485") :method :outer("11_1259177779.79485")
+    .param pmc param_677
+.annotate "line", 256
+    new $P676, 'ExceptionHandler'
+    set_addr $P676, control_675
+    $P676."handle_types"(58)
+    push_eh $P676
     .lex "self", self
-    .lex "$/", param_603
-    find_lex $P604, "$/"
-    find_lex $P605, "$/"
-    unless_null $P605, vivify_241
-    new $P605, "Hash"
-  vivify_241:
-    set $P606, $P605["variable"]
-    unless_null $P606, vivify_242
-    new $P606, "Undef"
-  vivify_242:
-    $P607 = $P606."ast"()
-    $P608 = $P604."!make"($P607)
-    .return ($P608)
-  control_601:
+    .lex "$/", param_677
+    find_lex $P678, "$/"
+    find_lex $P679, "$/"
+    unless_null $P679, vivify_256
+    new $P679, "Hash"
+  vivify_256:
+    set $P680, $P679["cond"]
+    unless_null $P680, vivify_257
+    new $P680, "Undef"
+  vivify_257:
+    $P681 = $P680."ast"()
+    $P682 = $P678."!make"($P681)
+    .return ($P682)
+  control_675:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P609, exception, "payload"
-    .return ($P609)
+    getattribute $P683, exception, "payload"
+    .return ($P683)
 .end
 
 
 .namespace ["NQP";"Actions"]
-.sub "term:sym<package_declarator>"  :subid("45_1259103989.89791") :method :outer("11_1259103989.89791")
-    .param pmc param_613
-.annotate "line", 209
-    new $P612, 'ExceptionHandler'
-    set_addr $P612, control_611
-    $P612."handle_types"(58)
-    push_eh $P612
-    .lex "self", self
-    .lex "$/", param_613
-    find_lex $P614, "$/"
-    find_lex $P615, "$/"
-    unless_null $P615, vivify_243
-    new $P615, "Hash"
-  vivify_243:
-    set $P616, $P615["package_declarator"]
-    unless_null $P616, vivify_244
-    new $P616, "Undef"
-  vivify_244:
-    $P617 = $P616."ast"()
-    $P618 = $P614."!make"($P617)
-    .return ($P618)
-  control_611:
+.sub "term:sym<colonpair>"  :subid("46_1259177779.79485") :method :outer("11_1259177779.79485")
+    .param pmc param_687
+.annotate "line", 260
+    new $P686, 'ExceptionHandler'
+    set_addr $P686, control_685
+    $P686."handle_types"(58)
+    push_eh $P686
+    .lex "self", self
+    .lex "$/", param_687
+    find_lex $P688, "$/"
+    find_lex $P689, "$/"
+    unless_null $P689, vivify_258
+    new $P689, "Hash"
+  vivify_258:
+    set $P690, $P689["colonpair"]
+    unless_null $P690, vivify_259
+    new $P690, "Undef"
+  vivify_259:
+    $P691 = $P690."ast"()
+    $P692 = $P688."!make"($P691)
+    .return ($P692)
+  control_685:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P619, exception, "payload"
-    .return ($P619)
+    getattribute $P693, exception, "payload"
+    .return ($P693)
 .end
 
 
 .namespace ["NQP";"Actions"]
-.sub "term:sym<scope_declarator>"  :subid("46_1259103989.89791") :method :outer("11_1259103989.89791")
-    .param pmc param_623
-.annotate "line", 210
-    new $P622, 'ExceptionHandler'
-    set_addr $P622, control_621
-    $P622."handle_types"(58)
-    push_eh $P622
-    .lex "self", self
-    .lex "$/", param_623
-    find_lex $P624, "$/"
-    find_lex $P625, "$/"
-    unless_null $P625, vivify_245
-    new $P625, "Hash"
-  vivify_245:
-    set $P626, $P625["scope_declarator"]
-    unless_null $P626, vivify_246
-    new $P626, "Undef"
-  vivify_246:
-    $P627 = $P626."ast"()
-    $P628 = $P624."!make"($P627)
-    .return ($P628)
-  control_621:
+.sub "term:sym<variable>"  :subid("47_1259177779.79485") :method :outer("11_1259177779.79485")
+    .param pmc param_697
+.annotate "line", 261
+    new $P696, 'ExceptionHandler'
+    set_addr $P696, control_695
+    $P696."handle_types"(58)
+    push_eh $P696
+    .lex "self", self
+    .lex "$/", param_697
+    find_lex $P698, "$/"
+    find_lex $P699, "$/"
+    unless_null $P699, vivify_260
+    new $P699, "Hash"
+  vivify_260:
+    set $P700, $P699["variable"]
+    unless_null $P700, vivify_261
+    new $P700, "Undef"
+  vivify_261:
+    $P701 = $P700."ast"()
+    $P702 = $P698."!make"($P701)
+    .return ($P702)
+  control_695:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P629, exception, "payload"
-    .return ($P629)
+    getattribute $P703, exception, "payload"
+    .return ($P703)
 .end
 
 
 .namespace ["NQP";"Actions"]
-.sub "term:sym<routine_declarator>"  :subid("47_1259103989.89791") :method :outer("11_1259103989.89791")
-    .param pmc param_633
-.annotate "line", 211
-    new $P632, 'ExceptionHandler'
-    set_addr $P632, control_631
-    $P632."handle_types"(58)
-    push_eh $P632
-    .lex "self", self
-    .lex "$/", param_633
-    find_lex $P634, "$/"
-    find_lex $P635, "$/"
-    unless_null $P635, vivify_247
-    new $P635, "Hash"
-  vivify_247:
-    set $P636, $P635["routine_declarator"]
-    unless_null $P636, vivify_248
-    new $P636, "Undef"
-  vivify_248:
-    $P637 = $P636."ast"()
-    $P638 = $P634."!make"($P637)
-    .return ($P638)
-  control_631:
+.sub "term:sym<package_declarator>"  :subid("48_1259177779.79485") :method :outer("11_1259177779.79485")
+    .param pmc param_707
+.annotate "line", 262
+    new $P706, 'ExceptionHandler'
+    set_addr $P706, control_705
+    $P706."handle_types"(58)
+    push_eh $P706
+    .lex "self", self
+    .lex "$/", param_707
+    find_lex $P708, "$/"
+    find_lex $P709, "$/"
+    unless_null $P709, vivify_262
+    new $P709, "Hash"
+  vivify_262:
+    set $P710, $P709["package_declarator"]
+    unless_null $P710, vivify_263
+    new $P710, "Undef"
+  vivify_263:
+    $P711 = $P710."ast"()
+    $P712 = $P708."!make"($P711)
+    .return ($P712)
+  control_705:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P639, exception, "payload"
-    .return ($P639)
+    getattribute $P713, exception, "payload"
+    .return ($P713)
 .end
 
 
 .namespace ["NQP";"Actions"]
-.sub "term:sym<regex_declarator>"  :subid("48_1259103989.89791") :method :outer("11_1259103989.89791")
-    .param pmc param_643
-.annotate "line", 212
-    new $P642, 'ExceptionHandler'
-    set_addr $P642, control_641
-    $P642."handle_types"(58)
-    push_eh $P642
-    .lex "self", self
-    .lex "$/", param_643
-    find_lex $P644, "$/"
-    find_lex $P645, "$/"
-    unless_null $P645, vivify_249
-    new $P645, "Hash"
-  vivify_249:
-    set $P646, $P645["regex_declarator"]
-    unless_null $P646, vivify_250
-    new $P646, "Undef"
-  vivify_250:
-    $P647 = $P646."ast"()
-    $P648 = $P644."!make"($P647)
-    .return ($P648)
-  control_641:
+.sub "term:sym<scope_declarator>"  :subid("49_1259177779.79485") :method :outer("11_1259177779.79485")
+    .param pmc param_717
+.annotate "line", 263
+    new $P716, 'ExceptionHandler'
+    set_addr $P716, control_715
+    $P716."handle_types"(58)
+    push_eh $P716
+    .lex "self", self
+    .lex "$/", param_717
+    find_lex $P718, "$/"
+    find_lex $P719, "$/"
+    unless_null $P719, vivify_264
+    new $P719, "Hash"
+  vivify_264:
+    set $P720, $P719["scope_declarator"]
+    unless_null $P720, vivify_265
+    new $P720, "Undef"
+  vivify_265:
+    $P721 = $P720."ast"()
+    $P722 = $P718."!make"($P721)
+    .return ($P722)
+  control_715:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P649, exception, "payload"
-    .return ($P649)
+    getattribute $P723, exception, "payload"
+    .return ($P723)
 .end
 
 
 .namespace ["NQP";"Actions"]
-.sub "term:sym<statement_prefix>"  :subid("49_1259103989.89791") :method :outer("11_1259103989.89791")
-    .param pmc param_653
-.annotate "line", 213
-    new $P652, 'ExceptionHandler'
-    set_addr $P652, control_651
-    $P652."handle_types"(58)
-    push_eh $P652
-    .lex "self", self
-    .lex "$/", param_653
-    find_lex $P654, "$/"
-    find_lex $P655, "$/"
-    unless_null $P655, vivify_251
-    new $P655, "Hash"
-  vivify_251:
-    set $P656, $P655["statement_prefix"]
-    unless_null $P656, vivify_252
-    new $P656, "Undef"
-  vivify_252:
-    $P657 = $P656."ast"()
-    $P658 = $P654."!make"($P657)
-    .return ($P658)
-  control_651:
+.sub "term:sym<routine_declarator>"  :subid("50_1259177779.79485") :method :outer("11_1259177779.79485")
+    .param pmc param_727
+.annotate "line", 264
+    new $P726, 'ExceptionHandler'
+    set_addr $P726, control_725
+    $P726."handle_types"(58)
+    push_eh $P726
+    .lex "self", self
+    .lex "$/", param_727
+    find_lex $P728, "$/"
+    find_lex $P729, "$/"
+    unless_null $P729, vivify_266
+    new $P729, "Hash"
+  vivify_266:
+    set $P730, $P729["routine_declarator"]
+    unless_null $P730, vivify_267
+    new $P730, "Undef"
+  vivify_267:
+    $P731 = $P730."ast"()
+    $P732 = $P728."!make"($P731)
+    .return ($P732)
+  control_725:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P659, exception, "payload"
-    .return ($P659)
+    getattribute $P733, exception, "payload"
+    .return ($P733)
 .end
 
 
 .namespace ["NQP";"Actions"]
-.sub "term:sym<lambda>"  :subid("50_1259103989.89791") :method :outer("11_1259103989.89791")
-    .param pmc param_663
-.annotate "line", 214
-    new $P662, 'ExceptionHandler'
-    set_addr $P662, control_661
-    $P662."handle_types"(58)
-    push_eh $P662
-    .lex "self", self
-    .lex "$/", param_663
-    find_lex $P664, "$/"
-    find_lex $P665, "$/"
-    unless_null $P665, vivify_253
-    new $P665, "Hash"
-  vivify_253:
-    set $P666, $P665["pblock"]
-    unless_null $P666, vivify_254
-    new $P666, "Undef"
-  vivify_254:
-    $P667 = $P666."ast"()
-    $P668 = $P664."!make"($P667)
-    .return ($P668)
-  control_661:
+.sub "term:sym<regex_declarator>"  :subid("51_1259177779.79485") :method :outer("11_1259177779.79485")
+    .param pmc param_737
+.annotate "line", 265
+    new $P736, 'ExceptionHandler'
+    set_addr $P736, control_735
+    $P736."handle_types"(58)
+    push_eh $P736
+    .lex "self", self
+    .lex "$/", param_737
+    find_lex $P738, "$/"
+    find_lex $P739, "$/"
+    unless_null $P739, vivify_268
+    new $P739, "Hash"
+  vivify_268:
+    set $P740, $P739["regex_declarator"]
+    unless_null $P740, vivify_269
+    new $P740, "Undef"
+  vivify_269:
+    $P741 = $P740."ast"()
+    $P742 = $P738."!make"($P741)
+    .return ($P742)
+  control_735:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P669, exception, "payload"
-    .return ($P669)
+    getattribute $P743, exception, "payload"
+    .return ($P743)
 .end
 
 
 .namespace ["NQP";"Actions"]
-.sub "colonpair"  :subid("51_1259103989.89791") :method :outer("11_1259103989.89791")
-    .param pmc param_673
-.annotate "line", 216
-    new $P672, 'ExceptionHandler'
-    set_addr $P672, control_671
-    $P672."handle_types"(58)
-    push_eh $P672
+.sub "term:sym<statement_prefix>"  :subid("52_1259177779.79485") :method :outer("11_1259177779.79485")
+    .param pmc param_747
+.annotate "line", 266
+    new $P746, 'ExceptionHandler'
+    set_addr $P746, control_745
+    $P746."handle_types"(58)
+    push_eh $P746
     .lex "self", self
-    .lex "$/", param_673
-.annotate "line", 217
-    new $P674, "Undef"
-    .lex "$past", $P674
-.annotate "line", 218
-    find_lex $P677, "$/"
-    unless_null $P677, vivify_255
-    new $P677, "Hash"
-  vivify_255:
-    set $P678, $P677["circumfix"]
-    unless_null $P678, vivify_256
-    new $P678, "Undef"
-  vivify_256:
-    if $P678, if_676
-.annotate "line", 219
-    get_hll_global $P683, ["PAST"], "Val"
-    find_lex $P684, "$/"
-    unless_null $P684, vivify_257
-    new $P684, "Hash"
-  vivify_257:
-    set $P685, $P684["not"]
-    unless_null $P685, vivify_258
-    new $P685, "Undef"
-  vivify_258:
-    isfalse $I686, $P685
-    $P687 = $P683."new"($I686 :named("value"))
-    set $P675, $P687
-.annotate "line", 218
-    goto if_676_end
-  if_676:
-    find_lex $P679, "$/"
-    unless_null $P679, vivify_259
-    new $P679, "Hash"
-  vivify_259:
-    set $P680, $P679["circumfix"]
-    unless_null $P680, vivify_260
-    new $P680, "ResizablePMCArray"
-  vivify_260:
-    set $P681, $P680[0]
-    unless_null $P681, vivify_261
-    new $P681, "Undef"
-  vivify_261:
-    $P682 = $P681."ast"()
-    set $P675, $P682
-  if_676_end:
-    store_lex "$past", $P675
-.annotate "line", 220
-    find_lex $P688, "$past"
-    find_lex $P689, "$/"
-    unless_null $P689, vivify_262
-    new $P689, "Hash"
-  vivify_262:
-    set $P690, $P689["identifier"]
-    unless_null $P690, vivify_263
-    new $P690, "Undef"
-  vivify_263:
-    set $S691, $P690
-    $P688."named"($S691)
-.annotate "line", 221
-    find_lex $P692, "$/"
-    find_lex $P693, "$past"
-    $P694 = $P692."!make"($P693)
-.annotate "line", 216
-    .return ($P694)
-  control_671:
+    .lex "$/", param_747
+    find_lex $P748, "$/"
+    find_lex $P749, "$/"
+    unless_null $P749, vivify_270
+    new $P749, "Hash"
+  vivify_270:
+    set $P750, $P749["statement_prefix"]
+    unless_null $P750, vivify_271
+    new $P750, "Undef"
+  vivify_271:
+    $P751 = $P750."ast"()
+    $P752 = $P748."!make"($P751)
+    .return ($P752)
+  control_745:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P695, exception, "payload"
-    .return ($P695)
+    getattribute $P753, exception, "payload"
+    .return ($P753)
 .end
 
 
 .namespace ["NQP";"Actions"]
-.sub "variable"  :subid("52_1259103989.89791") :method :outer("11_1259103989.89791")
-    .param pmc param_699
-.annotate "line", 224
-    .const 'Sub' $P712 = "53_1259103989.89791" 
-    capture_lex $P712
-    new $P698, 'ExceptionHandler'
-    set_addr $P698, control_697
-    $P698."handle_types"(58)
-    push_eh $P698
+.sub "term:sym<lambda>"  :subid("53_1259177779.79485") :method :outer("11_1259177779.79485")
+    .param pmc param_757
+.annotate "line", 267
+    new $P756, 'ExceptionHandler'
+    set_addr $P756, control_755
+    $P756."handle_types"(58)
+    push_eh $P756
     .lex "self", self
-    .lex "$/", param_699
-.annotate "line", 225
-    new $P700, "Undef"
-    .lex "$past", $P700
-.annotate "line", 224
-    find_lex $P701, "$past"
-.annotate "line", 226
-    find_lex $P703, "$/"
-    unless_null $P703, vivify_264
-    new $P703, "Hash"
-  vivify_264:
-    set $P704, $P703["postcircumfix"]
-    unless_null $P704, vivify_265
-    new $P704, "Undef"
-  vivify_265:
-    if $P704, if_702
-.annotate "line", 230
-    .const 'Sub' $P712 = "53_1259103989.89791" 
-    capture_lex $P712
-    $P712()
-    goto if_702_end
-  if_702:
-.annotate "line", 227
-    find_lex $P705, "$/"
-    unless_null $P705, vivify_282
-    new $P705, "Hash"
-  vivify_282:
-    set $P706, $P705["postcircumfix"]
-    unless_null $P706, vivify_283
-    new $P706, "Undef"
-  vivify_283:
-    $P707 = $P706."ast"()
-    store_lex "$past", $P707
-.annotate "line", 228
-    find_lex $P708, "$past"
-    get_hll_global $P709, ["PAST"], "Var"
-    $P710 = $P709."new"("$/" :named("name"))
-    $P708."unshift"($P710)
-  if_702_end:
-.annotate "line", 259
-    find_lex $P781, "$/"
-    find_lex $P782, "$past"
-    $P783 = $P781."!make"($P782)
-.annotate "line", 224
-    .return ($P783)
-  control_697:
+    .lex "$/", param_757
+    find_lex $P758, "$/"
+    find_lex $P759, "$/"
+    unless_null $P759, vivify_272
+    new $P759, "Hash"
+  vivify_272:
+    set $P760, $P759["pblock"]
+    unless_null $P760, vivify_273
+    new $P760, "Undef"
+  vivify_273:
+    $P761 = $P760."ast"()
+    $P762 = $P758."!make"($P761)
+    .return ($P762)
+  control_755:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P784, exception, "payload"
-    .return ($P784)
+    getattribute $P763, exception, "payload"
+    .return ($P763)
 .end
 
 
 .namespace ["NQP";"Actions"]
-.sub "_block711"  :anon :subid("53_1259103989.89791") :outer("52_1259103989.89791")
-.annotate "line", 231
-    new $P713, "ResizablePMCArray"
-    .lex "@name", $P713
-    get_hll_global $P714, ["NQP"], "Compiler"
-    find_lex $P715, "$/"
-    set $S716, $P715
-    $P717 = $P714."parse_name"($S716)
-    store_lex "@name", $P717
-.annotate "line", 232
-    get_hll_global $P718, ["PAST"], "Var"
-    find_lex $P719, "@name"
-    $P720 = $P719."pop"()
-    set $S721, $P720
-    $P722 = $P718."new"($S721 :named("name"))
-    store_lex "$past", $P722
-.annotate "line", 233
-    find_lex $P724, "@name"
-    unless $P724, if_723_end
-.annotate "line", 234
-    find_lex $P726, "@name"
-    unless_null $P726, vivify_266
-    new $P726, "ResizablePMCArray"
-  vivify_266:
-    set $P727, $P726[0]
-    unless_null $P727, vivify_267
-    new $P727, "Undef"
-  vivify_267:
-    set $S728, $P727
-    iseq $I729, $S728, "GLOBAL"
-    unless $I729, if_725_end
-    find_lex $P730, "@name"
-    $P730."shift"()
-  if_725_end:
-.annotate "line", 235
-    find_lex $P731, "$past"
-    find_lex $P732, "@name"
-    $P731."namespace"($P732)
-.annotate "line", 236
-    find_lex $P733, "$past"
-    $P733."scope"("package")
-.annotate "line", 237
-    find_lex $P734, "$past"
-    find_lex $P735, "$/"
-    unless_null $P735, vivify_268
-    new $P735, "Hash"
-  vivify_268:
-    set $P736, $P735["sigil"]
-    unless_null $P736, vivify_269
-    new $P736, "Undef"
-  vivify_269:
-    $P737 = "sigiltype"($P736)
-    $P734."viviself"($P737)
-.annotate "line", 238
-    find_lex $P738, "$past"
-    $P738."lvalue"(1)
-  if_723_end:
-.annotate "line", 240
-    find_lex $P741, "$/"
-    unless_null $P741, vivify_270
-    new $P741, "Hash"
-  vivify_270:
-    set $P742, $P741["twigil"]
-    unless_null $P742, vivify_271
-    new $P742, "ResizablePMCArray"
-  vivify_271:
-    set $P743, $P742[0]
-    unless_null $P743, vivify_272
-    new $P743, "Undef"
-  vivify_272:
-    set $S744, $P743
-    iseq $I745, $S744, "*"
-    if $I745, if_740
-.annotate "line", 253
-    find_lex $P767, "$/"
-    unless_null $P767, vivify_273
-    new $P767, "Hash"
-  vivify_273:
-    set $P768, $P767["twigil"]
-    unless_null $P768, vivify_274
-    new $P768, "ResizablePMCArray"
+.sub "colonpair"  :subid("54_1259177779.79485") :method :outer("11_1259177779.79485")
+    .param pmc param_767
+.annotate "line", 269
+    new $P766, 'ExceptionHandler'
+    set_addr $P766, control_765
+    $P766."handle_types"(58)
+    push_eh $P766
+    .lex "self", self
+    .lex "$/", param_767
+.annotate "line", 270
+    new $P768, "Undef"
+    .lex "$past", $P768
+.annotate "line", 271
+    find_lex $P771, "$/"
+    unless_null $P771, vivify_274
+    new $P771, "Hash"
   vivify_274:
-    set $P769, $P768[0]
-    unless_null $P769, vivify_275
-    new $P769, "Undef"
+    set $P772, $P771["circumfix"]
+    unless_null $P772, vivify_275
+    new $P772, "Undef"
   vivify_275:
-    set $S770, $P769
-    iseq $I771, $S770, "!"
-    if $I771, if_766
-    new $P765, 'Integer'
-    set $P765, $I771
-    goto if_766_end
-  if_766:
-.annotate "line", 254
-    find_lex $P772, "$past"
-    get_hll_global $P773, ["PAST"], "Var"
-    $P774 = $P773."new"("self" :named("name"))
-    $P772."push"($P774)
-.annotate "line", 255
-    find_lex $P775, "$past"
-    $P775."scope"("attribute")
-.annotate "line", 256
-    find_lex $P776, "$past"
-    find_lex $P777, "$/"
-    unless_null $P777, vivify_276
-    new $P777, "Hash"
+    if $P772, if_770
+.annotate "line", 272
+    get_hll_global $P777, ["PAST"], "Val"
+    find_lex $P778, "$/"
+    unless_null $P778, vivify_276
+    new $P778, "Hash"
   vivify_276:
-    set $P778, $P777["sigil"]
-    unless_null $P778, vivify_277
-    new $P778, "Undef"
+    set $P779, $P778["not"]
+    unless_null $P779, vivify_277
+    new $P779, "Undef"
   vivify_277:
-    $P779 = "sigiltype"($P778)
-    $P780 = $P776."viviself"($P779)
-.annotate "line", 253
-    set $P765, $P780
-  if_766_end:
-    set $P739, $P765
-.annotate "line", 240
-    goto if_740_end
-  if_740:
-.annotate "line", 241
-    find_lex $P746, "$past"
-    $P746."scope"("contextual")
-.annotate "line", 242
-    find_lex $P747, "$past"
-.annotate "line", 243
-    get_hll_global $P748, ["PAST"], "Var"
-.annotate "line", 245
-    find_lex $P749, "$/"
-    unless_null $P749, vivify_278
-    new $P749, "Hash"
+    isfalse $I780, $P779
+    $P781 = $P777."new"($I780 :named("value"))
+    set $P769, $P781
+.annotate "line", 271
+    goto if_770_end
+  if_770:
+    find_lex $P773, "$/"
+    unless_null $P773, vivify_278
+    new $P773, "Hash"
   vivify_278:
-    set $P750, $P749["sigil"]
-    unless_null $P750, vivify_279
-    new $P750, "Undef"
+    set $P774, $P773["circumfix"]
+    unless_null $P774, vivify_279
+    new $P774, "ResizablePMCArray"
   vivify_279:
-    set $S751, $P750
-    new $P752, 'String'
-    set $P752, $S751
-    find_lex $P753, "$/"
-    unless_null $P753, vivify_280
-    new $P753, "Hash"
+    set $P775, $P774[0]
+    unless_null $P775, vivify_280
+    new $P775, "Undef"
   vivify_280:
-    set $P754, $P753["desigilname"]
-    unless_null $P754, vivify_281
-    new $P754, "Undef"
+    $P776 = $P775."ast"()
+    set $P769, $P776
+  if_770_end:
+    store_lex "$past", $P769
+.annotate "line", 273
+    find_lex $P782, "$past"
+    find_lex $P783, "$/"
+    unless_null $P783, vivify_281
+    new $P783, "Hash"
   vivify_281:
-    concat $P755, $P752, $P754
-.annotate "line", 247
-    get_hll_global $P756, ["PAST"], "Op"
-    new $P757, "String"
-    assign $P757, "Contextual "
-    find_lex $P758, "$/"
-    set $S759, $P758
-    concat $P760, $P757, $S759
-    concat $P761, $P760, " not found"
-    $P762 = $P756."new"($P761, "die" :named("pirop"))
-    $P763 = $P748."new"("package" :named("scope"), "" :named("namespace"), $P755 :named("name"), $P762 :named("viviself"))
-.annotate "line", 243
-    $P764 = $P747."viviself"($P763)
-.annotate "line", 240
-    set $P739, $P764
-  if_740_end:
-.annotate "line", 230
-    .return ($P739)
-.end
-
-
-.namespace ["NQP";"Actions"]
-.sub "package_declarator:sym<module>"  :subid("54_1259103989.89791") :method :outer("11_1259103989.89791")
-    .param pmc param_788
-.annotate "line", 262
-    new $P787, 'ExceptionHandler'
-    set_addr $P787, control_786
-    $P787."handle_types"(58)
-    push_eh $P787
-    .lex "self", self
-    .lex "$/", param_788
-    find_lex $P789, "$/"
-    find_lex $P790, "$/"
-    unless_null $P790, vivify_284
-    new $P790, "Hash"
-  vivify_284:
-    set $P791, $P790["package_def"]
-    unless_null $P791, vivify_285
-    new $P791, "Undef"
-  vivify_285:
-    $P792 = $P791."ast"()
-    $P793 = $P789."!make"($P792)
-    .return ($P793)
-  control_786:
+    set $P784, $P783["identifier"]
+    unless_null $P784, vivify_282
+    new $P784, "Undef"
+  vivify_282:
+    set $S785, $P784
+    $P782."named"($S785)
+.annotate "line", 274
+    find_lex $P786, "$/"
+    find_lex $P787, "$past"
+    $P788 = $P786."!make"($P787)
+.annotate "line", 269
+    .return ($P788)
+  control_765:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P794, exception, "payload"
-    .return ($P794)
+    getattribute $P789, exception, "payload"
+    .return ($P789)
 .end
 
 
 .namespace ["NQP";"Actions"]
-.sub "package_declarator:sym<class>"  :subid("55_1259103989.89791") :method :outer("11_1259103989.89791")
-    .param pmc param_798
-.annotate "line", 263
-    new $P797, 'ExceptionHandler'
-    set_addr $P797, control_796
-    $P797."handle_types"(58)
-    push_eh $P797
-    .lex "self", self
-    .lex "$/", param_798
-.annotate "line", 264
-    new $P799, "Undef"
-    .lex "$past", $P799
-.annotate "line", 265
+.sub "variable"  :subid("55_1259177779.79485") :method :outer("11_1259177779.79485")
+    .param pmc param_793
+.annotate "line", 277
+    .const 'Sub' $P806 = "56_1259177779.79485" 
+    capture_lex $P806
+    new $P792, 'ExceptionHandler'
+    set_addr $P792, control_791
+    $P792."handle_types"(58)
+    push_eh $P792
+    .lex "self", self
+    .lex "$/", param_793
+.annotate "line", 278
+    new $P794, "Undef"
+    .lex "$past", $P794
+.annotate "line", 277
+    find_lex $P795, "$past"
+.annotate "line", 279
+    find_lex $P797, "$/"
+    unless_null $P797, vivify_283
+    new $P797, "Hash"
+  vivify_283:
+    set $P798, $P797["postcircumfix"]
+    unless_null $P798, vivify_284
+    new $P798, "Undef"
+  vivify_284:
+    if $P798, if_796
+.annotate "line", 283
+    .const 'Sub' $P806 = "56_1259177779.79485" 
+    capture_lex $P806
+    $P806()
+    goto if_796_end
+  if_796:
+.annotate "line", 280
+    find_lex $P799, "$/"
+    unless_null $P799, vivify_301
+    new $P799, "Hash"
+  vivify_301:
+    set $P800, $P799["postcircumfix"]
+    unless_null $P800, vivify_302
     new $P800, "Undef"
-    .lex "$classinit", $P800
-.annotate "line", 274
-    new $P801, "Undef"
-    .lex "$parent", $P801
-.annotate "line", 264
-    find_lex $P802, "$/"
-    unless_null $P802, vivify_286
-    new $P802, "Hash"
+  vivify_302:
+    $P801 = $P800."ast"()
+    store_lex "$past", $P801
+.annotate "line", 281
+    find_lex $P802, "$past"
+    get_hll_global $P803, ["PAST"], "Var"
+    $P804 = $P803."new"("$/" :named("name"))
+    $P802."unshift"($P804)
+  if_796_end:
+.annotate "line", 312
+    find_lex $P875, "$/"
+    find_lex $P876, "$past"
+    $P877 = $P875."!make"($P876)
+.annotate "line", 277
+    .return ($P877)
+  control_791:
+    .local pmc exception 
+    .get_results (exception) 
+    getattribute $P878, exception, "payload"
+    .return ($P878)
+.end
+
+
+.namespace ["NQP";"Actions"]
+.sub "_block805"  :anon :subid("56_1259177779.79485") :outer("55_1259177779.79485")
+.annotate "line", 284
+    new $P807, "ResizablePMCArray"
+    .lex "@name", $P807
+    get_hll_global $P808, ["NQP"], "Compiler"
+    find_lex $P809, "$/"
+    set $S810, $P809
+    $P811 = $P808."parse_name"($S810)
+    store_lex "@name", $P811
+.annotate "line", 285
+    get_hll_global $P812, ["PAST"], "Var"
+    find_lex $P813, "@name"
+    $P814 = $P813."pop"()
+    set $S815, $P814
+    $P816 = $P812."new"($S815 :named("name"))
+    store_lex "$past", $P816
+.annotate "line", 286
+    find_lex $P818, "@name"
+    unless $P818, if_817_end
+.annotate "line", 287
+    find_lex $P820, "@name"
+    unless_null $P820, vivify_285
+    new $P820, "ResizablePMCArray"
+  vivify_285:
+    set $P821, $P820[0]
+    unless_null $P821, vivify_286
+    new $P821, "Undef"
   vivify_286:
-    set $P803, $P802["package_def"]
-    unless_null $P803, vivify_287
-    new $P803, "Undef"
+    set $S822, $P821
+    iseq $I823, $S822, "GLOBAL"
+    unless $I823, if_819_end
+    find_lex $P824, "@name"
+    $P824."shift"()
+  if_819_end:
+.annotate "line", 288
+    find_lex $P825, "$past"
+    find_lex $P826, "@name"
+    $P825."namespace"($P826)
+.annotate "line", 289
+    find_lex $P827, "$past"
+    $P827."scope"("package")
+.annotate "line", 290
+    find_lex $P828, "$past"
+    find_lex $P829, "$/"
+    unless_null $P829, vivify_287
+    new $P829, "Hash"
   vivify_287:
-    $P804 = $P803."ast"()
-    store_lex "$past", $P804
-.annotate "line", 266
-    get_hll_global $P805, ["PAST"], "Op"
-.annotate "line", 267
-    get_hll_global $P806, ["PAST"], "Op"
-    $P807 = $P806."new"("    %r = get_root_global [\"parrot\"], \"P6metaclass\"" :named("inline"))
-.annotate "line", 270
-    find_lex $P808, "$/"
-    unless_null $P808, vivify_288
-    new $P808, "Hash"
+    set $P830, $P829["sigil"]
+    unless_null $P830, vivify_288
+    new $P830, "Undef"
   vivify_288:
-    set $P809, $P808["package_def"]
-    unless_null $P809, vivify_289
-    new $P809, "Hash"
+    $P831 = "sigiltype"($P830)
+    $P828."viviself"($P831)
+.annotate "line", 291
+    find_lex $P832, "$past"
+    $P832."lvalue"(1)
+  if_817_end:
+.annotate "line", 293
+    find_lex $P835, "$/"
+    unless_null $P835, vivify_289
+    new $P835, "Hash"
   vivify_289:
-    set $P810, $P809["name"]
-    unless_null $P810, vivify_290
-    new $P810, "Undef"
+    set $P836, $P835["twigil"]
+    unless_null $P836, vivify_290
+    new $P836, "ResizablePMCArray"
   vivify_290:
-    set $S811, $P810
-    $P812 = $P805."new"($P807, $S811, "new_class" :named("name"), "callmethod" :named("pasttype"))
-.annotate "line", 266
-    store_lex "$classinit", $P812
-.annotate "line", 274
-    find_lex $P815, "$/"
-    unless_null $P815, vivify_291
-    new $P815, "Hash"
+    set $P837, $P836[0]
+    unless_null $P837, vivify_291
+    new $P837, "Undef"
   vivify_291:
-    set $P816, $P815["package_def"]
-    unless_null $P816, vivify_292
-    new $P816, "Hash"
+    set $S838, $P837
+    iseq $I839, $S838, "*"
+    if $I839, if_834
+.annotate "line", 306
+    find_lex $P861, "$/"
+    unless_null $P861, vivify_292
+    new $P861, "Hash"
   vivify_292:
-    set $P817, $P816["parent"]
-    unless_null $P817, vivify_293
-    new $P817, "ResizablePMCArray"
+    set $P862, $P861["twigil"]
+    unless_null $P862, vivify_293
+    new $P862, "ResizablePMCArray"
   vivify_293:
-    set $P818, $P817[0]
-    unless_null $P818, vivify_294
-    new $P818, "Undef"
+    set $P863, $P862[0]
+    unless_null $P863, vivify_294
+    new $P863, "Undef"
   vivify_294:
-    set $S819, $P818
-    unless $S819, unless_814
-    new $P813, 'String'
-    set $P813, $S819
-    goto unless_814_end
-  unless_814:
-.annotate "line", 275
-    find_lex $P822, "$/"
-    unless_null $P822, vivify_295
-    new $P822, "Hash"
+    set $S864, $P863
+    iseq $I865, $S864, "!"
+    if $I865, if_860
+    new $P859, 'Integer'
+    set $P859, $I865
+    goto if_860_end
+  if_860:
+.annotate "line", 307
+    find_lex $P866, "$past"
+    get_hll_global $P867, ["PAST"], "Var"
+    $P868 = $P867."new"("self" :named("name"))
+    $P866."push"($P868)
+.annotate "line", 308
+    find_lex $P869, "$past"
+    $P869."scope"("attribute")
+.annotate "line", 309
+    find_lex $P870, "$past"
+    find_lex $P871, "$/"
+    unless_null $P871, vivify_295
+    new $P871, "Hash"
   vivify_295:
-    set $P823, $P822["sym"]
-    unless_null $P823, vivify_296
-    new $P823, "Undef"
+    set $P872, $P871["sigil"]
+    unless_null $P872, vivify_296
+    new $P872, "Undef"
   vivify_296:
-    set $S824, $P823
-    iseq $I825, $S824, "grammar"
-    if $I825, if_821
-    new $P827, "String"
-    assign $P827, ""
-    set $P820, $P827
-    goto if_821_end
-  if_821:
-    new $P826, "String"
-    assign $P826, "Regex::Cursor"
-    set $P820, $P826
-  if_821_end:
-    set $P813, $P820
-  unless_814_end:
-    store_lex "$parent", $P813
-.annotate "line", 276
-    find_lex $P829, "$parent"
-    unless $P829, if_828_end
-.annotate "line", 277
-    find_lex $P830, "$classinit"
-    get_hll_global $P831, ["PAST"], "Val"
-    find_lex $P832, "$parent"
-    $P833 = $P831."new"($P832 :named("value"), "parent" :named("named"))
-    $P830."push"($P833)
-  if_828_end:
-.annotate "line", 279
-    find_lex $P835, "$past"
-    unless_null $P835, vivify_297
-    new $P835, "Hash"
+    $P873 = "sigiltype"($P872)
+    $P874 = $P870."viviself"($P873)
+.annotate "line", 306
+    set $P859, $P874
+  if_860_end:
+    set $P833, $P859
+.annotate "line", 293
+    goto if_834_end
+  if_834:
+.annotate "line", 294
+    find_lex $P840, "$past"
+    $P840."scope"("contextual")
+.annotate "line", 295
+    find_lex $P841, "$past"
+.annotate "line", 296
+    get_hll_global $P842, ["PAST"], "Var"
+.annotate "line", 298
+    find_lex $P843, "$/"
+    unless_null $P843, vivify_297
+    new $P843, "Hash"
   vivify_297:
-    set $P836, $P835["attributes"]
-    unless_null $P836, vivify_298
-    new $P836, "Undef"
+    set $P844, $P843["sigil"]
+    unless_null $P844, vivify_298
+    new $P844, "Undef"
   vivify_298:
-    unless $P836, if_834_end
-.annotate "line", 280
-    find_lex $P837, "$classinit"
-    find_lex $P838, "$past"
-    unless_null $P838, vivify_299
-    new $P838, "Hash"
+    set $S845, $P844
+    new $P846, 'String'
+    set $P846, $S845
+    find_lex $P847, "$/"
+    unless_null $P847, vivify_299
+    new $P847, "Hash"
   vivify_299:
-    set $P839, $P838["attributes"]
-    unless_null $P839, vivify_300
-    new $P839, "Undef"
+    set $P848, $P847["desigilname"]
+    unless_null $P848, vivify_300
+    new $P848, "Undef"
   vivify_300:
-    $P837."push"($P839)
+    concat $P849, $P846, $P848
+.annotate "line", 300
+    get_hll_global $P850, ["PAST"], "Op"
+    new $P851, "String"
+    assign $P851, "Contextual "
+    find_lex $P852, "$/"
+    set $S853, $P852
+    concat $P854, $P851, $S853
+    concat $P855, $P854, " not found"
+    $P856 = $P850."new"($P855, "die" :named("pirop"))
+    $P857 = $P842."new"("package" :named("scope"), "" :named("namespace"), $P849 :named("name"), $P856 :named("viviself"))
+.annotate "line", 296
+    $P858 = $P841."viviself"($P857)
+.annotate "line", 293
+    set $P833, $P858
   if_834_end:
-.annotate "line", 282
-    get_global $P840, "@BLOCK"
-    unless_null $P840, vivify_301
-    new $P840, "ResizablePMCArray"
-  vivify_301:
-    set $P841, $P840[0]
-    unless_null $P841, vivify_302
-    new $P841, "Undef"
-  vivify_302:
-    $P842 = $P841."loadinit"()
-    find_lex $P843, "$classinit"
-    $P842."push"($P843)
 .annotate "line", 283
-    find_lex $P844, "$/"
-    find_lex $P845, "$past"
-    $P846 = $P844."!make"($P845)
-.annotate "line", 263
-    .return ($P846)
-  control_796:
+    .return ($P833)
+.end
+
+
+.namespace ["NQP";"Actions"]
+.sub "package_declarator:sym<module>"  :subid("57_1259177779.79485") :method :outer("11_1259177779.79485")
+    .param pmc param_882
+.annotate "line", 315
+    new $P881, 'ExceptionHandler'
+    set_addr $P881, control_880
+    $P881."handle_types"(58)
+    push_eh $P881
+    .lex "self", self
+    .lex "$/", param_882
+    find_lex $P883, "$/"
+    find_lex $P884, "$/"
+    unless_null $P884, vivify_303
+    new $P884, "Hash"
+  vivify_303:
+    set $P885, $P884["package_def"]
+    unless_null $P885, vivify_304
+    new $P885, "Undef"
+  vivify_304:
+    $P886 = $P885."ast"()
+    $P887 = $P883."!make"($P886)
+    .return ($P887)
+  control_880:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P847, exception, "payload"
-    .return ($P847)
+    getattribute $P888, exception, "payload"
+    .return ($P888)
 .end
 
 
 .namespace ["NQP";"Actions"]
-.sub "package_def"  :subid("56_1259103989.89791") :method :outer("11_1259103989.89791")
-    .param pmc param_851
-.annotate "line", 286
-    new $P850, 'ExceptionHandler'
-    set_addr $P850, control_849
-    $P850."handle_types"(58)
-    push_eh $P850
+.sub "package_declarator:sym<class>"  :subid("58_1259177779.79485") :method :outer("11_1259177779.79485")
+    .param pmc param_892
+.annotate "line", 316
+    new $P891, 'ExceptionHandler'
+    set_addr $P891, control_890
+    $P891."handle_types"(58)
+    push_eh $P891
     .lex "self", self
-    .lex "$/", param_851
-.annotate "line", 287
-    new $P852, "Undef"
-    .lex "$past", $P852
-    find_lex $P855, "$/"
-    unless_null $P855, vivify_303
-    new $P855, "Hash"
-  vivify_303:
-    set $P856, $P855["block"]
-    unless_null $P856, vivify_304
-    new $P856, "Undef"
-  vivify_304:
-    if $P856, if_854
-    find_lex $P860, "$/"
-    unless_null $P860, vivify_305
-    new $P860, "Hash"
+    .lex "$/", param_892
+.annotate "line", 317
+    new $P893, "Undef"
+    .lex "$past", $P893
+.annotate "line", 318
+    new $P894, "Undef"
+    .lex "$classinit", $P894
+.annotate "line", 327
+    new $P895, "Undef"
+    .lex "$parent", $P895
+.annotate "line", 317
+    find_lex $P896, "$/"
+    unless_null $P896, vivify_305
+    new $P896, "Hash"
   vivify_305:
-    set $P861, $P860["comp_unit"]
-    unless_null $P861, vivify_306
-    new $P861, "Undef"
+    set $P897, $P896["package_def"]
+    unless_null $P897, vivify_306
+    new $P897, "Undef"
   vivify_306:
-    $P862 = $P861."ast"()
-    set $P853, $P862
-    goto if_854_end
-  if_854:
-    find_lex $P857, "$/"
-    unless_null $P857, vivify_307
-    new $P857, "Hash"
+    $P898 = $P897."ast"()
+    store_lex "$past", $P898
+.annotate "line", 319
+    get_hll_global $P899, ["PAST"], "Op"
+.annotate "line", 320
+    get_hll_global $P900, ["PAST"], "Op"
+    $P901 = $P900."new"("    %r = get_root_global [\"parrot\"], \"P6metaclass\"" :named("inline"))
+.annotate "line", 323
+    find_lex $P902, "$/"
+    unless_null $P902, vivify_307
+    new $P902, "Hash"
   vivify_307:
-    set $P858, $P857["block"]
-    unless_null $P858, vivify_308
-    new $P858, "Undef"
+    set $P903, $P902["package_def"]
+    unless_null $P903, vivify_308
+    new $P903, "Hash"
   vivify_308:
-    $P859 = $P858."ast"()
-    set $P853, $P859
-  if_854_end:
-    store_lex "$past", $P853
-.annotate "line", 288
-    find_lex $P863, "$past"
-    find_lex $P864, "$/"
-    unless_null $P864, vivify_309
-    new $P864, "Hash"
+    set $P904, $P903["name"]
+    unless_null $P904, vivify_309
+    new $P904, "Undef"
   vivify_309:
-    set $P865, $P864["name"]
-    unless_null $P865, vivify_310
-    new $P865, "Hash"
+    set $S905, $P904
+    $P906 = $P899."new"($P901, $S905, "new_class" :named("name"), "callmethod" :named("pasttype"))
+.annotate "line", 319
+    store_lex "$classinit", $P906
+.annotate "line", 327
+    find_lex $P909, "$/"
+    unless_null $P909, vivify_310
+    new $P909, "Hash"
   vivify_310:
-    set $P866, $P865["identifier"]
-    unless_null $P866, vivify_311
-    new $P866, "Undef"
+    set $P910, $P909["package_def"]
+    unless_null $P910, vivify_311
+    new $P910, "Hash"
   vivify_311:
-    $P863."namespace"($P866)
-.annotate "line", 289
-    find_lex $P867, "$past"
-    $P867."blocktype"("immediate")
-.annotate "line", 290
-    find_lex $P868, "$/"
-    find_lex $P869, "$past"
-    $P870 = $P868."!make"($P869)
-.annotate "line", 286
-    .return ($P870)
-  control_849:
-    .local pmc exception 
-    .get_results (exception) 
-    getattribute $P871, exception, "payload"
-    .return ($P871)
-.end
-
-
-.namespace ["NQP";"Actions"]
-.sub "scope_declarator:sym<my>"  :subid("57_1259103989.89791") :method :outer("11_1259103989.89791")
-    .param pmc param_875
-.annotate "line", 293
-    new $P874, 'ExceptionHandler'
-    set_addr $P874, control_873
-    $P874."handle_types"(58)
-    push_eh $P874
-    .lex "self", self
-    .lex "$/", param_875
-    find_lex $P876, "$/"
-    find_lex $P877, "$/"
-    unless_null $P877, vivify_312
-    new $P877, "Hash"
+    set $P911, $P910["parent"]
+    unless_null $P911, vivify_312
+    new $P911, "ResizablePMCArray"
   vivify_312:
-    set $P878, $P877["scoped"]
-    unless_null $P878, vivify_313
-    new $P878, "Undef"
+    set $P912, $P911[0]
+    unless_null $P912, vivify_313
+    new $P912, "Undef"
   vivify_313:
-    $P879 = $P878."ast"()
-    $P880 = $P876."!make"($P879)
-    .return ($P880)
-  control_873:
-    .local pmc exception 
-    .get_results (exception) 
-    getattribute $P881, exception, "payload"
-    .return ($P881)
-.end
-
-
-.namespace ["NQP";"Actions"]
-.sub "scope_declarator:sym<our>"  :subid("58_1259103989.89791") :method :outer("11_1259103989.89791")
-    .param pmc param_885
-.annotate "line", 294
-    new $P884, 'ExceptionHandler'
-    set_addr $P884, control_883
-    $P884."handle_types"(58)
-    push_eh $P884
-    .lex "self", self
-    .lex "$/", param_885
-    find_lex $P886, "$/"
-    find_lex $P887, "$/"
-    unless_null $P887, vivify_314
-    new $P887, "Hash"
+    set $S913, $P912
+    unless $S913, unless_908
+    new $P907, 'String'
+    set $P907, $S913
+    goto unless_908_end
+  unless_908:
+.annotate "line", 328
+    find_lex $P916, "$/"
+    unless_null $P916, vivify_314
+    new $P916, "Hash"
   vivify_314:
-    set $P888, $P887["scoped"]
-    unless_null $P888, vivify_315
-    new $P888, "Undef"
+    set $P917, $P916["sym"]
+    unless_null $P917, vivify_315
+    new $P917, "Undef"
   vivify_315:
-    $P889 = $P888."ast"()
-    $P890 = $P886."!make"($P889)
-    .return ($P890)
-  control_883:
-    .local pmc exception 
-    .get_results (exception) 
-    getattribute $P891, exception, "payload"
-    .return ($P891)
-.end
-
-
-.namespace ["NQP";"Actions"]
-.sub "scope_declarator:sym<has>"  :subid("59_1259103989.89791") :method :outer("11_1259103989.89791")
-    .param pmc param_895
-.annotate "line", 295
-    new $P894, 'ExceptionHandler'
-    set_addr $P894, control_893
-    $P894."handle_types"(58)
-    push_eh $P894
-    .lex "self", self
-    .lex "$/", param_895
-    find_lex $P896, "$/"
-    find_lex $P897, "$/"
-    unless_null $P897, vivify_316
-    new $P897, "Hash"
+    set $S918, $P917
+    iseq $I919, $S918, "grammar"
+    if $I919, if_915
+    new $P921, "String"
+    assign $P921, ""
+    set $P914, $P921
+    goto if_915_end
+  if_915:
+    new $P920, "String"
+    assign $P920, "Regex::Cursor"
+    set $P914, $P920
+  if_915_end:
+    set $P907, $P914
+  unless_908_end:
+    store_lex "$parent", $P907
+.annotate "line", 329
+    find_lex $P923, "$parent"
+    unless $P923, if_922_end
+.annotate "line", 330
+    find_lex $P924, "$classinit"
+    get_hll_global $P925, ["PAST"], "Val"
+    find_lex $P926, "$parent"
+    $P927 = $P925."new"($P926 :named("value"), "parent" :named("named"))
+    $P924."push"($P927)
+  if_922_end:
+.annotate "line", 332
+    find_lex $P929, "$past"
+    unless_null $P929, vivify_316
+    new $P929, "Hash"
   vivify_316:
-    set $P898, $P897["scoped"]
-    unless_null $P898, vivify_317
-    new $P898, "Undef"
+    set $P930, $P929["attributes"]
+    unless_null $P930, vivify_317
+    new $P930, "Undef"
   vivify_317:
-    $P899 = $P898."ast"()
-    $P900 = $P896."!make"($P899)
-    .return ($P900)
-  control_893:
-    .local pmc exception 
-    .get_results (exception) 
-    getattribute $P901, exception, "payload"
-    .return ($P901)
-.end
-
-
-.namespace ["NQP";"Actions"]
-.sub "scoped"  :subid("60_1259103989.89791") :method :outer("11_1259103989.89791")
-    .param pmc param_905
-.annotate "line", 297
-    new $P904, 'ExceptionHandler'
-    set_addr $P904, control_903
-    $P904."handle_types"(58)
-    push_eh $P904
-    .lex "self", self
-    .lex "$/", param_905
-.annotate "line", 298
-    find_lex $P906, "$/"
-.annotate "line", 299
-    find_lex $P909, "$/"
-    unless_null $P909, vivify_318
-    new $P909, "Hash"
+    unless $P930, if_928_end
+.annotate "line", 333
+    find_lex $P931, "$classinit"
+    find_lex $P932, "$past"
+    unless_null $P932, vivify_318
+    new $P932, "Hash"
   vivify_318:
-    set $P910, $P909["routine_declarator"]
-    unless_null $P910, vivify_319
-    new $P910, "Undef"
+    set $P933, $P932["attributes"]
+    unless_null $P933, vivify_319
+    new $P933, "Undef"
   vivify_319:
-    if $P910, if_908
-.annotate "line", 300
-    find_lex $P914, "$/"
-    unless_null $P914, vivify_320
-    new $P914, "Hash"
+    $P931."push"($P933)
+  if_928_end:
+.annotate "line", 335
+    get_global $P934, "@BLOCK"
+    unless_null $P934, vivify_320
+    new $P934, "ResizablePMCArray"
   vivify_320:
-    set $P915, $P914["variable_declarator"]
-    unless_null $P915, vivify_321
-    new $P915, "Undef"
+    set $P935, $P934[0]
+    unless_null $P935, vivify_321
+    new $P935, "Undef"
   vivify_321:
-    $P916 = $P915."ast"()
-    set $P907, $P916
-.annotate "line", 299
-    goto if_908_end
-  if_908:
-    find_lex $P911, "$/"
-    unless_null $P911, vivify_322
-    new $P911, "Hash"
-  vivify_322:
-    set $P912, $P911["routine_declarator"]
-    unless_null $P912, vivify_323
-    new $P912, "Undef"
-  vivify_323:
-    $P913 = $P912."ast"()
-    set $P907, $P913
-  if_908_end:
-    $P917 = $P906."!make"($P907)
-.annotate "line", 297
-    .return ($P917)
-  control_903:
+    $P936 = $P935."loadinit"()
+    find_lex $P937, "$classinit"
+    $P936."push"($P937)
+.annotate "line", 336
+    find_lex $P938, "$/"
+    find_lex $P939, "$past"
+    $P940 = $P938."!make"($P939)
+.annotate "line", 316
+    .return ($P940)
+  control_890:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P918, exception, "payload"
-    .return ($P918)
+    getattribute $P941, exception, "payload"
+    .return ($P941)
 .end
 
 
 .namespace ["NQP";"Actions"]
-.sub "variable_declarator"  :subid("61_1259103989.89791") :method :outer("11_1259103989.89791")
-    .param pmc param_922
-.annotate "line", 303
-    .const 'Sub' $P962 = "62_1259103989.89791" 
-    capture_lex $P962
-    new $P921, 'ExceptionHandler'
-    set_addr $P921, control_920
-    $P921."handle_types"(58)
-    push_eh $P921
+.sub "package_def"  :subid("59_1259177779.79485") :method :outer("11_1259177779.79485")
+    .param pmc param_945
+.annotate "line", 339
+    new $P944, 'ExceptionHandler'
+    set_addr $P944, control_943
+    $P944."handle_types"(58)
+    push_eh $P944
     .lex "self", self
-    .lex "$/", param_922
-.annotate "line", 304
-    new $P923, "Undef"
-    .lex "$past", $P923
-.annotate "line", 305
-    new $P924, "Undef"
-    .lex "$sigil", $P924
-.annotate "line", 306
-    new $P925, "Undef"
-    .lex "$name", $P925
-.annotate "line", 307
-    new $P926, "Undef"
-    .lex "$BLOCK", $P926
-.annotate "line", 304
-    find_lex $P927, "$/"
-    unless_null $P927, vivify_324
-    new $P927, "Hash"
+    .lex "$/", param_945
+.annotate "line", 340
+    new $P946, "Undef"
+    .lex "$past", $P946
+    find_lex $P949, "$/"
+    unless_null $P949, vivify_322
+    new $P949, "Hash"
+  vivify_322:
+    set $P950, $P949["block"]
+    unless_null $P950, vivify_323
+    new $P950, "Undef"
+  vivify_323:
+    if $P950, if_948
+    find_lex $P954, "$/"
+    unless_null $P954, vivify_324
+    new $P954, "Hash"
   vivify_324:
-    set $P928, $P927["variable"]
-    unless_null $P928, vivify_325
-    new $P928, "Undef"
+    set $P955, $P954["comp_unit"]
+    unless_null $P955, vivify_325
+    new $P955, "Undef"
   vivify_325:
-    $P929 = $P928."ast"()
-    store_lex "$past", $P929
-.annotate "line", 305
-    find_lex $P930, "$/"
-    unless_null $P930, vivify_326
-    new $P930, "Hash"
+    $P956 = $P955."ast"()
+    set $P947, $P956
+    goto if_948_end
+  if_948:
+    find_lex $P951, "$/"
+    unless_null $P951, vivify_326
+    new $P951, "Hash"
   vivify_326:
-    set $P931, $P930["variable"]
-    unless_null $P931, vivify_327
-    new $P931, "Hash"
+    set $P952, $P951["block"]
+    unless_null $P952, vivify_327
+    new $P952, "Undef"
   vivify_327:
-    set $P932, $P931["sigil"]
-    unless_null $P932, vivify_328
-    new $P932, "Undef"
+    $P953 = $P952."ast"()
+    set $P947, $P953
+  if_948_end:
+    store_lex "$past", $P947
+.annotate "line", 341
+    find_lex $P957, "$past"
+    find_lex $P958, "$/"
+    unless_null $P958, vivify_328
+    new $P958, "Hash"
   vivify_328:
-    store_lex "$sigil", $P932
-.annotate "line", 306
-    find_lex $P933, "$past"
-    $P934 = $P933."name"()
-    store_lex "$name", $P934
-.annotate "line", 307
-    get_global $P935, "@BLOCK"
-    unless_null $P935, vivify_329
-    new $P935, "ResizablePMCArray"
+    set $P959, $P958["name"]
+    unless_null $P959, vivify_329
+    new $P959, "Hash"
   vivify_329:
-    set $P936, $P935[0]
-    unless_null $P936, vivify_330
-    new $P936, "Undef"
+    set $P960, $P959["identifier"]
+    unless_null $P960, vivify_330
+    new $P960, "Undef"
   vivify_330:
-    store_lex "$BLOCK", $P936
-.annotate "line", 308
-    find_lex $P938, "$BLOCK"
-    find_lex $P939, "$name"
-    $P940 = $P938."symbol"($P939)
-    unless $P940, if_937_end
-.annotate "line", 309
-    find_lex $P941, "$/"
-    $P942 = $P941."CURSOR"()
-    find_lex $P943, "$name"
-    $P942."panic"("Redeclaration of symbol ", $P943)
-  if_937_end:
-.annotate "line", 311
-    find_dynamic_lex $P945, "$*SCOPE"
-    unless_null $P945, vivify_331
-    get_hll_global $P945, "$SCOPE"
-    unless_null $P945, vivify_332
-    die "Contextual $*SCOPE not found"
-  vivify_332:
+    $P957."namespace"($P960)
+.annotate "line", 342
+    find_lex $P961, "$past"
+    $P961."blocktype"("immediate")
+.annotate "line", 343
+    find_lex $P962, "$/"
+    find_lex $P963, "$past"
+    $P964 = $P962."!make"($P963)
+.annotate "line", 339
+    .return ($P964)
+  control_943:
+    .local pmc exception 
+    .get_results (exception) 
+    getattribute $P965, exception, "payload"
+    .return ($P965)
+.end
+
+
+.namespace ["NQP";"Actions"]
+.sub "scope_declarator:sym<my>"  :subid("60_1259177779.79485") :method :outer("11_1259177779.79485")
+    .param pmc param_969
+.annotate "line", 346
+    new $P968, 'ExceptionHandler'
+    set_addr $P968, control_967
+    $P968."handle_types"(58)
+    push_eh $P968
+    .lex "self", self
+    .lex "$/", param_969
+    find_lex $P970, "$/"
+    find_lex $P971, "$/"
+    unless_null $P971, vivify_331
+    new $P971, "Hash"
   vivify_331:
-    set $S946, $P945
-    iseq $I947, $S946, "has"
-    if $I947, if_944
-.annotate "line", 320
-    .const 'Sub' $P962 = "62_1259103989.89791" 
-    capture_lex $P962
-    $P962()
-    goto if_944_end
-  if_944:
-.annotate "line", 312
-    find_lex $P948, "$BLOCK"
-    find_lex $P949, "$name"
-    $P948."symbol"($P949, "attribute" :named("scope"))
-.annotate "line", 313
-    find_lex $P951, "$BLOCK"
-    unless_null $P951, vivify_337
-    new $P951, "Hash"
-  vivify_337:
-    set $P952, $P951["attributes"]
-    unless_null $P952, vivify_338
-    new $P952, "Undef"
-  vivify_338:
-    if $P952, unless_950_end
-.annotate "line", 315
-    get_hll_global $P953, ["PAST"], "Op"
-    $P954 = $P953."new"("list" :named("pasttype"), "attr" :named("named"))
-    find_lex $P955, "$BLOCK"
-    unless_null $P955, vivify_339
-    new $P955, "Hash"
-    store_lex "$BLOCK", $P955
-  vivify_339:
-    set $P955["attributes"], $P954
-  unless_950_end:
-.annotate "line", 317
-    find_lex $P956, "$BLOCK"
-    unless_null $P956, vivify_340
-    new $P956, "Hash"
-  vivify_340:
-    set $P957, $P956["attributes"]
-    unless_null $P957, vivify_341
-    new $P957, "Undef"
-  vivify_341:
-    find_lex $P958, "$name"
-    $P957."push"($P958)
-.annotate "line", 318
-    get_hll_global $P959, ["PAST"], "Stmts"
-    $P960 = $P959."new"()
-    store_lex "$past", $P960
-  if_944_end:
-.annotate "line", 328
-    find_lex $P986, "$/"
-    find_lex $P987, "$past"
-    $P988 = $P986."!make"($P987)
-.annotate "line", 303
-    .return ($P988)
-  control_920:
+    set $P972, $P971["scoped"]
+    unless_null $P972, vivify_332
+    new $P972, "Undef"
+  vivify_332:
+    $P973 = $P972."ast"()
+    $P974 = $P970."!make"($P973)
+    .return ($P974)
+  control_967:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P989, exception, "payload"
-    .return ($P989)
+    getattribute $P975, exception, "payload"
+    .return ($P975)
 .end
 
 
 .namespace ["NQP";"Actions"]
-.sub "_block961"  :anon :subid("62_1259103989.89791") :outer("61_1259103989.89791")
-.annotate "line", 321
-    new $P963, "Undef"
-    .lex "$scope", $P963
-.annotate "line", 322
-    new $P964, "Undef"
-    .lex "$decl", $P964
-.annotate "line", 321
-    find_dynamic_lex $P967, "$*SCOPE"
-    unless_null $P967, vivify_333
-    get_hll_global $P967, "$SCOPE"
-    unless_null $P967, vivify_334
-    die "Contextual $*SCOPE not found"
-  vivify_334:
+.sub "scope_declarator:sym<our>"  :subid("61_1259177779.79485") :method :outer("11_1259177779.79485")
+    .param pmc param_979
+.annotate "line", 347
+    new $P978, 'ExceptionHandler'
+    set_addr $P978, control_977
+    $P978."handle_types"(58)
+    push_eh $P978
+    .lex "self", self
+    .lex "$/", param_979
+    find_lex $P980, "$/"
+    find_lex $P981, "$/"
+    unless_null $P981, vivify_333
+    new $P981, "Hash"
   vivify_333:
-    set $S968, $P967
-    iseq $I969, $S968, "our"
-    if $I969, if_966
-    new $P971, "String"
-    assign $P971, "lexical"
-    set $P965, $P971
-    goto if_966_end
-  if_966:
-    new $P970, "String"
-    assign $P970, "package"
-    set $P965, $P970
-  if_966_end:
-    store_lex "$scope", $P965
-.annotate "line", 322
-    get_hll_global $P972, ["PAST"], "Var"
-    find_lex $P973, "$name"
-    find_lex $P974, "$scope"
-.annotate "line", 323
-    find_lex $P975, "$sigil"
-    $P976 = "sigiltype"($P975)
-    find_lex $P977, "$/"
-    $P978 = $P972."new"($P973 :named("name"), $P974 :named("scope"), 1 :named("isdecl"), 1 :named("lvalue"), $P976 :named("viviself"), $P977 :named("node"))
-.annotate "line", 322
-    store_lex "$decl", $P978
-.annotate "line", 325
-    find_lex $P979, "$BLOCK"
-    find_lex $P980, "$name"
-    find_lex $P981, "$scope"
-    $P979."symbol"($P980, $P981 :named("scope"))
-.annotate "line", 326
-    find_lex $P982, "$BLOCK"
-    unless_null $P982, vivify_335
-    new $P982, "ResizablePMCArray"
-  vivify_335:
-    set $P983, $P982[0]
-    unless_null $P983, vivify_336
-    new $P983, "Undef"
-  vivify_336:
-    find_lex $P984, "$decl"
-    $P985 = $P983."push"($P984)
-.annotate "line", 320
+    set $P982, $P981["scoped"]
+    unless_null $P982, vivify_334
+    new $P982, "Undef"
+  vivify_334:
+    $P983 = $P982."ast"()
+    $P984 = $P980."!make"($P983)
+    .return ($P984)
+  control_977:
+    .local pmc exception 
+    .get_results (exception) 
+    getattribute $P985, exception, "payload"
     .return ($P985)
 .end
 
 
 .namespace ["NQP";"Actions"]
-.sub "routine_declarator:sym<sub>"  :subid("63_1259103989.89791") :method :outer("11_1259103989.89791")
-    .param pmc param_993
-.annotate "line", 331
-    new $P992, 'ExceptionHandler'
-    set_addr $P992, control_991
-    $P992."handle_types"(58)
-    push_eh $P992
-    .lex "self", self
-    .lex "$/", param_993
-    find_lex $P994, "$/"
-    find_lex $P995, "$/"
-    unless_null $P995, vivify_342
-    new $P995, "Hash"
-  vivify_342:
-    set $P996, $P995["routine_def"]
-    unless_null $P996, vivify_343
-    new $P996, "Undef"
-  vivify_343:
-    $P997 = $P996."ast"()
-    $P998 = $P994."!make"($P997)
-    .return ($P998)
-  control_991:
+.sub "scope_declarator:sym<has>"  :subid("62_1259177779.79485") :method :outer("11_1259177779.79485")
+    .param pmc param_989
+.annotate "line", 348
+    new $P988, 'ExceptionHandler'
+    set_addr $P988, control_987
+    $P988."handle_types"(58)
+    push_eh $P988
+    .lex "self", self
+    .lex "$/", param_989
+    find_lex $P990, "$/"
+    find_lex $P991, "$/"
+    unless_null $P991, vivify_335
+    new $P991, "Hash"
+  vivify_335:
+    set $P992, $P991["scoped"]
+    unless_null $P992, vivify_336
+    new $P992, "Undef"
+  vivify_336:
+    $P993 = $P992."ast"()
+    $P994 = $P990."!make"($P993)
+    .return ($P994)
+  control_987:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P999, exception, "payload"
-    .return ($P999)
+    getattribute $P995, exception, "payload"
+    .return ($P995)
 .end
 
 
 .namespace ["NQP";"Actions"]
-.sub "routine_declarator:sym<method>"  :subid("64_1259103989.89791") :method :outer("11_1259103989.89791")
-    .param pmc param_1003
-.annotate "line", 332
-    new $P1002, 'ExceptionHandler'
-    set_addr $P1002, control_1001
-    $P1002."handle_types"(58)
-    push_eh $P1002
+.sub "scoped"  :subid("63_1259177779.79485") :method :outer("11_1259177779.79485")
+    .param pmc param_999
+.annotate "line", 350
+    new $P998, 'ExceptionHandler'
+    set_addr $P998, control_997
+    $P998."handle_types"(58)
+    push_eh $P998
     .lex "self", self
-    .lex "$/", param_1003
-    find_lex $P1004, "$/"
+    .lex "$/", param_999
+.annotate "line", 351
+    find_lex $P1000, "$/"
+.annotate "line", 352
+    find_lex $P1003, "$/"
+    unless_null $P1003, vivify_337
+    new $P1003, "Hash"
+  vivify_337:
+    set $P1004, $P1003["routine_declarator"]
+    unless_null $P1004, vivify_338
+    new $P1004, "Undef"
+  vivify_338:
+    if $P1004, if_1002
+.annotate "line", 353
+    find_lex $P1008, "$/"
+    unless_null $P1008, vivify_339
+    new $P1008, "Hash"
+  vivify_339:
+    set $P1009, $P1008["variable_declarator"]
+    unless_null $P1009, vivify_340
+    new $P1009, "Undef"
+  vivify_340:
+    $P1010 = $P1009."ast"()
+    set $P1001, $P1010
+.annotate "line", 352
+    goto if_1002_end
+  if_1002:
     find_lex $P1005, "$/"
-    unless_null $P1005, vivify_344
+    unless_null $P1005, vivify_341
     new $P1005, "Hash"
-  vivify_344:
-    set $P1006, $P1005["method_def"]
-    unless_null $P1006, vivify_345
+  vivify_341:
+    set $P1006, $P1005["routine_declarator"]
+    unless_null $P1006, vivify_342
     new $P1006, "Undef"
-  vivify_345:
+  vivify_342:
     $P1007 = $P1006."ast"()
-    $P1008 = $P1004."!make"($P1007)
-    .return ($P1008)
-  control_1001:
+    set $P1001, $P1007
+  if_1002_end:
+    $P1011 = $P1000."!make"($P1001)
+.annotate "line", 350
+    .return ($P1011)
+  control_997:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P1009, exception, "payload"
-    .return ($P1009)
+    getattribute $P1012, exception, "payload"
+    .return ($P1012)
 .end
 
 
 .namespace ["NQP";"Actions"]
-.sub "routine_def"  :subid("65_1259103989.89791") :method :outer("11_1259103989.89791")
-    .param pmc param_1013
-.annotate "line", 334
-    .const 'Sub' $P1024 = "66_1259103989.89791" 
-    capture_lex $P1024
-    new $P1012, 'ExceptionHandler'
-    set_addr $P1012, control_1011
-    $P1012."handle_types"(58)
-    push_eh $P1012
+.sub "variable_declarator"  :subid("64_1259177779.79485") :method :outer("11_1259177779.79485")
+    .param pmc param_1016
+.annotate "line", 356
+    .const 'Sub' $P1056 = "65_1259177779.79485" 
+    capture_lex $P1056
+    new $P1015, 'ExceptionHandler'
+    set_addr $P1015, control_1014
+    $P1015."handle_types"(58)
+    push_eh $P1015
     .lex "self", self
-    .lex "$/", param_1013
-.annotate "line", 335
-    new $P1014, "Undef"
-    .lex "$past", $P1014
-    find_lex $P1015, "$/"
-    unless_null $P1015, vivify_346
-    new $P1015, "Hash"
-  vivify_346:
-    set $P1016, $P1015["blockoid"]
-    unless_null $P1016, vivify_347
-    new $P1016, "Undef"
-  vivify_347:
-    $P1017 = $P1016."ast"()
-    store_lex "$past", $P1017
-.annotate "line", 336
-    find_lex $P1018, "$past"
-    $P1018."blocktype"("declaration")
-.annotate "line", 337
-    find_lex $P1019, "$past"
-    $P1019."control"("return_pir")
-.annotate "line", 338
+    .lex "$/", param_1016
+.annotate "line", 357
+    new $P1017, "Undef"
+    .lex "$past", $P1017
+.annotate "line", 358
+    new $P1018, "Undef"
+    .lex "$sigil", $P1018
+.annotate "line", 359
+    new $P1019, "Undef"
+    .lex "$name", $P1019
+.annotate "line", 360
+    new $P1020, "Undef"
+    .lex "$BLOCK", $P1020
+.annotate "line", 357
     find_lex $P1021, "$/"
-    unless_null $P1021, vivify_348
+    unless_null $P1021, vivify_343
     new $P1021, "Hash"
-  vivify_348:
-    set $P1022, $P1021["deflongname"]
-    unless_null $P1022, vivify_349
+  vivify_343:
+    set $P1022, $P1021["variable"]
+    unless_null $P1022, vivify_344
     new $P1022, "Undef"
+  vivify_344:
+    $P1023 = $P1022."ast"()
+    store_lex "$past", $P1023
+.annotate "line", 358
+    find_lex $P1024, "$/"
+    unless_null $P1024, vivify_345
+    new $P1024, "Hash"
+  vivify_345:
+    set $P1025, $P1024["variable"]
+    unless_null $P1025, vivify_346
+    new $P1025, "Hash"
+  vivify_346:
+    set $P1026, $P1025["sigil"]
+    unless_null $P1026, vivify_347
+    new $P1026, "Undef"
+  vivify_347:
+    store_lex "$sigil", $P1026
+.annotate "line", 359
+    find_lex $P1027, "$past"
+    $P1028 = $P1027."name"()
+    store_lex "$name", $P1028
+.annotate "line", 360
+    get_global $P1029, "@BLOCK"
+    unless_null $P1029, vivify_348
+    new $P1029, "ResizablePMCArray"
+  vivify_348:
+    set $P1030, $P1029[0]
+    unless_null $P1030, vivify_349
+    new $P1030, "Undef"
   vivify_349:
-    unless $P1022, if_1020_end
-    .const 'Sub' $P1024 = "66_1259103989.89791" 
-    capture_lex $P1024
-    $P1024()
-  if_1020_end:
-.annotate "line", 348
-    find_lex $P1052, "$/"
-    find_lex $P1053, "$past"
-    $P1054 = $P1052."!make"($P1053)
-.annotate "line", 334
-    .return ($P1054)
-  control_1011:
-    .local pmc exception 
-    .get_results (exception) 
-    getattribute $P1055, exception, "payload"
-    .return ($P1055)
-.end
-
-
-.namespace ["NQP";"Actions"]
-.sub "_block1023"  :anon :subid("66_1259103989.89791") :outer("65_1259103989.89791")
-.annotate "line", 339
-    new $P1025, "Undef"
-    .lex "$name", $P1025
-    find_lex $P1026, "$/"
-    unless_null $P1026, vivify_350
-    new $P1026, "Hash"
-  vivify_350:
-    set $P1027, $P1026["deflongname"]
-    unless_null $P1027, vivify_351
-    new $P1027, "ResizablePMCArray"
-  vivify_351:
-    set $P1028, $P1027[0]
-    unless_null $P1028, vivify_352
-    new $P1028, "Undef"
-  vivify_352:
-    $P1029 = $P1028."ast"()
-    set $S1030, $P1029
-    new $P1031, 'String'
-    set $P1031, $S1030
-    store_lex "$name", $P1031
-.annotate "line", 340
-    find_lex $P1032, "$past"
+    store_lex "$BLOCK", $P1030
+.annotate "line", 361
+    find_lex $P1032, "$BLOCK"
     find_lex $P1033, "$name"
-    $P1032."name"($P1033)
-.annotate "line", 341
-    find_dynamic_lex $P1036, "$*SCOPE"
-    unless_null $P1036, vivify_353
-    get_hll_global $P1036, "$SCOPE"
-    unless_null $P1036, vivify_354
+    $P1034 = $P1032."symbol"($P1033)
+    unless $P1034, if_1031_end
+.annotate "line", 362
+    find_lex $P1035, "$/"
+    $P1036 = $P1035."CURSOR"()
+    find_lex $P1037, "$name"
+    $P1036."panic"("Redeclaration of symbol ", $P1037)
+  if_1031_end:
+.annotate "line", 364
+    find_dynamic_lex $P1039, "$*SCOPE"
+    unless_null $P1039, vivify_350
+    get_hll_global $P1039, "$SCOPE"
+    unless_null $P1039, vivify_351
     die "Contextual $*SCOPE not found"
-  vivify_354:
-  vivify_353:
-    set $S1037, $P1036
-    isne $I1038, $S1037, "our"
-    if $I1038, if_1035
-    new $P1034, 'Integer'
-    set $P1034, $I1038
-    goto if_1035_end
-  if_1035:
-.annotate "line", 342
-    get_global $P1039, "@BLOCK"
-    unless_null $P1039, vivify_355
-    new $P1039, "ResizablePMCArray"
-  vivify_355:
-    set $P1040, $P1039[0]
-    unless_null $P1040, vivify_356
-    new $P1040, "ResizablePMCArray"
+  vivify_351:
+  vivify_350:
+    set $S1040, $P1039
+    iseq $I1041, $S1040, "has"
+    if $I1041, if_1038
+.annotate "line", 373
+    .const 'Sub' $P1056 = "65_1259177779.79485" 
+    capture_lex $P1056
+    $P1056()
+    goto if_1038_end
+  if_1038:
+.annotate "line", 365
+    find_lex $P1042, "$BLOCK"
+    find_lex $P1043, "$name"
+    $P1042."symbol"($P1043, "attribute" :named("scope"))
+.annotate "line", 366
+    find_lex $P1045, "$BLOCK"
+    unless_null $P1045, vivify_356
+    new $P1045, "Hash"
   vivify_356:
-    set $P1041, $P1040[0]
-    unless_null $P1041, vivify_357
-    new $P1041, "Undef"
+    set $P1046, $P1045["attributes"]
+    unless_null $P1046, vivify_357
+    new $P1046, "Undef"
   vivify_357:
-    get_hll_global $P1042, ["PAST"], "Var"
-    find_lex $P1043, "$name"
-    find_lex $P1044, "$past"
-    $P1045 = $P1042."new"($P1043 :named("name"), 1 :named("isdecl"), $P1044 :named("viviself"), "lexical" :named("scope"))
-    $P1041."push"($P1045)
-.annotate "line", 344
-    get_global $P1046, "@BLOCK"
-    unless_null $P1046, vivify_358
-    new $P1046, "ResizablePMCArray"
+    if $P1046, unless_1044_end
+.annotate "line", 368
+    get_hll_global $P1047, ["PAST"], "Op"
+    $P1048 = $P1047."new"("list" :named("pasttype"), "attr" :named("named"))
+    find_lex $P1049, "$BLOCK"
+    unless_null $P1049, vivify_358
+    new $P1049, "Hash"
+    store_lex "$BLOCK", $P1049
   vivify_358:
-    set $P1047, $P1046[0]
-    unless_null $P1047, vivify_359
-    new $P1047, "Undef"
+    set $P1049["attributes"], $P1048
+  unless_1044_end:
+.annotate "line", 370
+    find_lex $P1050, "$BLOCK"
+    unless_null $P1050, vivify_359
+    new $P1050, "Hash"
   vivify_359:
-    find_lex $P1048, "$name"
-    $P1047."symbol"($P1048, "lexical" :named("scope"))
-.annotate "line", 345
-    get_hll_global $P1049, ["PAST"], "Var"
-    find_lex $P1050, "$name"
-    $P1051 = $P1049."new"($P1050 :named("name"))
-    store_lex "$past", $P1051
-.annotate "line", 341
-    set $P1034, $P1051
-  if_1035_end:
-.annotate "line", 338
-    .return ($P1034)
-.end
-
-
-.namespace ["NQP";"Actions"]
-.sub "method_def"  :subid("67_1259103989.89791") :method :outer("11_1259103989.89791")
-    .param pmc param_1059
-.annotate "line", 352
-    .const 'Sub' $P1075 = "68_1259103989.89791" 
-    capture_lex $P1075
-    new $P1058, 'ExceptionHandler'
-    set_addr $P1058, control_1057
-    $P1058."handle_types"(58)
-    push_eh $P1058
-    .lex "self", self
-    .lex "$/", param_1059
-.annotate "line", 353
-    new $P1060, "Undef"
-    .lex "$past", $P1060
-    find_lex $P1061, "$/"
-    unless_null $P1061, vivify_360
-    new $P1061, "Hash"
+    set $P1051, $P1050["attributes"]
+    unless_null $P1051, vivify_360
+    new $P1051, "Undef"
   vivify_360:
-    set $P1062, $P1061["blockoid"]
-    unless_null $P1062, vivify_361
-    new $P1062, "Undef"
-  vivify_361:
-    $P1063 = $P1062."ast"()
-    store_lex "$past", $P1063
-.annotate "line", 354
-    find_lex $P1064, "$past"
-    $P1064."blocktype"("method")
-.annotate "line", 355
-    find_lex $P1065, "$past"
-    $P1065."control"("return_pir")
+    find_lex $P1052, "$name"
+    $P1051."push"($P1052)
+.annotate "line", 371
+    get_hll_global $P1053, ["PAST"], "Stmts"
+    $P1054 = $P1053."new"()
+    store_lex "$past", $P1054
+  if_1038_end:
+.annotate "line", 381
+    find_lex $P1080, "$/"
+    find_lex $P1081, "$past"
+    $P1082 = $P1080."!make"($P1081)
 .annotate "line", 356
-    find_lex $P1066, "$past"
-    unless_null $P1066, vivify_362
-    new $P1066, "ResizablePMCArray"
-  vivify_362:
-    set $P1067, $P1066[0]
-    unless_null $P1067, vivify_363
-    new $P1067, "Undef"
-  vivify_363:
-    get_hll_global $P1068, ["PAST"], "Op"
-    $P1069 = $P1068."new"("    .lex \"self\", self" :named("inline"))
-    $P1067."unshift"($P1069)
-.annotate "line", 357
-    find_lex $P1070, "$past"
-    $P1070."symbol"("self", "lexical" :named("scope"))
-.annotate "line", 358
-    find_lex $P1072, "$/"
-    unless_null $P1072, vivify_364
-    new $P1072, "Hash"
-  vivify_364:
-    set $P1073, $P1072["deflongname"]
-    unless_null $P1073, vivify_365
-    new $P1073, "Undef"
-  vivify_365:
-    unless $P1073, if_1071_end
-    .const 'Sub' $P1075 = "68_1259103989.89791" 
-    capture_lex $P1075
-    $P1075()
-  if_1071_end:
-.annotate "line", 362
-    find_lex $P1086, "$/"
-    find_lex $P1087, "$past"
-    $P1088 = $P1086."!make"($P1087)
-.annotate "line", 352
-    .return ($P1088)
-  control_1057:
+    .return ($P1082)
+  control_1014:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P1089, exception, "payload"
-    .return ($P1089)
+    getattribute $P1083, exception, "payload"
+    .return ($P1083)
 .end
 
 
 .namespace ["NQP";"Actions"]
-.sub "_block1074"  :anon :subid("68_1259103989.89791") :outer("67_1259103989.89791")
-.annotate "line", 359
-    new $P1076, "Undef"
-    .lex "$name", $P1076
-    find_lex $P1077, "$/"
-    unless_null $P1077, vivify_366
-    new $P1077, "Hash"
-  vivify_366:
-    set $P1078, $P1077["deflongname"]
-    unless_null $P1078, vivify_367
-    new $P1078, "ResizablePMCArray"
-  vivify_367:
-    set $P1079, $P1078[0]
-    unless_null $P1079, vivify_368
-    new $P1079, "Undef"
-  vivify_368:
-    $P1080 = $P1079."ast"()
-    set $S1081, $P1080
-    new $P1082, 'String'
-    set $P1082, $S1081
-    store_lex "$name", $P1082
-.annotate "line", 360
-    find_lex $P1083, "$past"
-    find_lex $P1084, "$name"
-    $P1085 = $P1083."name"($P1084)
-.annotate "line", 358
-    .return ($P1085)
+.sub "_block1055"  :anon :subid("65_1259177779.79485") :outer("64_1259177779.79485")
+.annotate "line", 374
+    new $P1057, "Undef"
+    .lex "$scope", $P1057
+.annotate "line", 375
+    new $P1058, "Undef"
+    .lex "$decl", $P1058
+.annotate "line", 374
+    find_dynamic_lex $P1061, "$*SCOPE"
+    unless_null $P1061, vivify_352
+    get_hll_global $P1061, "$SCOPE"
+    unless_null $P1061, vivify_353
+    die "Contextual $*SCOPE not found"
+  vivify_353:
+  vivify_352:
+    set $S1062, $P1061
+    iseq $I1063, $S1062, "our"
+    if $I1063, if_1060
+    new $P1065, "String"
+    assign $P1065, "lexical"
+    set $P1059, $P1065
+    goto if_1060_end
+  if_1060:
+    new $P1064, "String"
+    assign $P1064, "package"
+    set $P1059, $P1064
+  if_1060_end:
+    store_lex "$scope", $P1059
+.annotate "line", 375
+    get_hll_global $P1066, ["PAST"], "Var"
+    find_lex $P1067, "$name"
+    find_lex $P1068, "$scope"
+.annotate "line", 376
+    find_lex $P1069, "$sigil"
+    $P1070 = "sigiltype"($P1069)
+    find_lex $P1071, "$/"
+    $P1072 = $P1066."new"($P1067 :named("name"), $P1068 :named("scope"), 1 :named("isdecl"), 1 :named("lvalue"), $P1070 :named("viviself"), $P1071 :named("node"))
+.annotate "line", 375
+    store_lex "$decl", $P1072
+.annotate "line", 378
+    find_lex $P1073, "$BLOCK"
+    find_lex $P1074, "$name"
+    find_lex $P1075, "$scope"
+    $P1073."symbol"($P1074, $P1075 :named("scope"))
+.annotate "line", 379
+    find_lex $P1076, "$BLOCK"
+    unless_null $P1076, vivify_354
+    new $P1076, "ResizablePMCArray"
+  vivify_354:
+    set $P1077, $P1076[0]
+    unless_null $P1077, vivify_355
+    new $P1077, "Undef"
+  vivify_355:
+    find_lex $P1078, "$decl"
+    $P1079 = $P1077."push"($P1078)
+.annotate "line", 373
+    .return ($P1079)
 .end
 
 
 .namespace ["NQP";"Actions"]
-.sub "signature"  :subid("69_1259103989.89791") :method :outer("11_1259103989.89791")
-    .param pmc param_1093
-.annotate "line", 366
-    .const 'Sub' $P1104 = "70_1259103989.89791" 
-    capture_lex $P1104
-    new $P1092, 'ExceptionHandler'
-    set_addr $P1092, control_1091
-    $P1092."handle_types"(58)
-    push_eh $P1092
+.sub "routine_declarator:sym<sub>"  :subid("66_1259177779.79485") :method :outer("11_1259177779.79485")
+    .param pmc param_1087
+.annotate "line", 384
+    new $P1086, 'ExceptionHandler'
+    set_addr $P1086, control_1085
+    $P1086."handle_types"(58)
+    push_eh $P1086
+    .lex "self", self
+    .lex "$/", param_1087
+    find_lex $P1088, "$/"
+    find_lex $P1089, "$/"
+    unless_null $P1089, vivify_361
+    new $P1089, "Hash"
+  vivify_361:
+    set $P1090, $P1089["routine_def"]
+    unless_null $P1090, vivify_362
+    new $P1090, "Undef"
+  vivify_362:
+    $P1091 = $P1090."ast"()
+    $P1092 = $P1088."!make"($P1091)
+    .return ($P1092)
+  control_1085:
+    .local pmc exception 
+    .get_results (exception) 
+    getattribute $P1093, exception, "payload"
+    .return ($P1093)
+.end
+
+
+.namespace ["NQP";"Actions"]
+.sub "routine_declarator:sym<method>"  :subid("67_1259177779.79485") :method :outer("11_1259177779.79485")
+    .param pmc param_1097
+.annotate "line", 385
+    new $P1096, 'ExceptionHandler'
+    set_addr $P1096, control_1095
+    $P1096."handle_types"(58)
+    push_eh $P1096
     .lex "self", self
-    .lex "$/", param_1093
-.annotate "line", 367
-    new $P1094, "Undef"
-    .lex "$BLOCKINIT", $P1094
-    get_global $P1095, "@BLOCK"
-    unless_null $P1095, vivify_369
-    new $P1095, "ResizablePMCArray"
-  vivify_369:
-    set $P1096, $P1095[0]
-    unless_null $P1096, vivify_370
-    new $P1096, "ResizablePMCArray"
-  vivify_370:
-    set $P1097, $P1096[0]
-    unless_null $P1097, vivify_371
-    new $P1097, "Undef"
-  vivify_371:
-    store_lex "$BLOCKINIT", $P1097
-.annotate "line", 368
+    .lex "$/", param_1097
+    find_lex $P1098, "$/"
     find_lex $P1099, "$/"
-    unless_null $P1099, vivify_372
+    unless_null $P1099, vivify_363
     new $P1099, "Hash"
-  vivify_372:
-    set $P1100, $P1099["parameter"]
-    unless_null $P1100, vivify_373
+  vivify_363:
+    set $P1100, $P1099["method_def"]
+    unless_null $P1100, vivify_364
     new $P1100, "Undef"
-  vivify_373:
-    defined $I1101, $P1100
-    unless $I1101, for_undef_374
-    iter $P1098, $P1100
-    new $P1111, 'ExceptionHandler'
-    set_addr $P1111, loop1110_handler
-    $P1111."handle_types"(65, 67, 66)
-    push_eh $P1111
-  loop1110_test:
-    unless $P1098, loop1110_done
-    shift $P1102, $P1098
-  loop1110_redo:
-    .const 'Sub' $P1104 = "70_1259103989.89791" 
-    capture_lex $P1104
-    $P1104($P1102)
-  loop1110_next:
-    goto loop1110_test
-  loop1110_handler:
-    .local pmc exception 
-    .get_results (exception) 
-    getattribute $P1112, exception, 'type'
-    eq $P1112, 65, loop1110_next
-    eq $P1112, 67, loop1110_redo
-  loop1110_done:
-    pop_eh 
-  for_undef_374:
-.annotate "line", 366
-    .return ($P1098)
-  control_1091:
+  vivify_364:
+    $P1101 = $P1100."ast"()
+    $P1102 = $P1098."!make"($P1101)
+    .return ($P1102)
+  control_1095:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P1113, exception, "payload"
-    .return ($P1113)
+    getattribute $P1103, exception, "payload"
+    .return ($P1103)
 .end
 
 
 .namespace ["NQP";"Actions"]
-.sub "_block1103"  :anon :subid("70_1259103989.89791") :outer("69_1259103989.89791")
-    .param pmc param_1105
-.annotate "line", 368
-    .lex "$_", param_1105
-    find_lex $P1106, "$BLOCKINIT"
-    find_lex $P1107, "$_"
-    $P1108 = $P1107."ast"()
-    $P1109 = $P1106."push"($P1108)
-    .return ($P1109)
+.sub "routine_def"  :subid("68_1259177779.79485") :method :outer("11_1259177779.79485")
+    .param pmc param_1107
+.annotate "line", 387
+    .const 'Sub' $P1118 = "69_1259177779.79485" 
+    capture_lex $P1118
+    new $P1106, 'ExceptionHandler'
+    set_addr $P1106, control_1105
+    $P1106."handle_types"(58)
+    push_eh $P1106
+    .lex "self", self
+    .lex "$/", param_1107
+.annotate "line", 388
+    new $P1108, "Undef"
+    .lex "$past", $P1108
+    find_lex $P1109, "$/"
+    unless_null $P1109, vivify_365
+    new $P1109, "Hash"
+  vivify_365:
+    set $P1110, $P1109["blockoid"]
+    unless_null $P1110, vivify_366
+    new $P1110, "Undef"
+  vivify_366:
+    $P1111 = $P1110."ast"()
+    store_lex "$past", $P1111
+.annotate "line", 389
+    find_lex $P1112, "$past"
+    $P1112."blocktype"("declaration")
+.annotate "line", 390
+    find_lex $P1113, "$past"
+    $P1113."control"("return_pir")
+.annotate "line", 391
+    find_lex $P1115, "$/"
+    unless_null $P1115, vivify_367
+    new $P1115, "Hash"
+  vivify_367:
+    set $P1116, $P1115["deflongname"]
+    unless_null $P1116, vivify_368
+    new $P1116, "Undef"
+  vivify_368:
+    unless $P1116, if_1114_end
+    .const 'Sub' $P1118 = "69_1259177779.79485" 
+    capture_lex $P1118
+    $P1118()
+  if_1114_end:
+.annotate "line", 401
+    find_lex $P1146, "$/"
+    find_lex $P1147, "$past"
+    $P1148 = $P1146."!make"($P1147)
+.annotate "line", 387
+    .return ($P1148)
+  control_1105:
+    .local pmc exception 
+    .get_results (exception) 
+    getattribute $P1149, exception, "payload"
+    .return ($P1149)
 .end
 
 
 .namespace ["NQP";"Actions"]
-.sub "parameter"  :subid("71_1259103989.89791") :method :outer("11_1259103989.89791")
-    .param pmc param_1117
-.annotate "line", 371
-    new $P1116, 'ExceptionHandler'
-    set_addr $P1116, control_1115
-    $P1116."handle_types"(58)
-    push_eh $P1116
-    .lex "self", self
-    .lex "$/", param_1117
-.annotate "line", 372
-    new $P1118, "Undef"
-    .lex "$quant", $P1118
-.annotate "line", 373
+.sub "_block1117"  :anon :subid("69_1259177779.79485") :outer("68_1259177779.79485")
+.annotate "line", 392
     new $P1119, "Undef"
-    .lex "$past", $P1119
-.annotate "line", 372
+    .lex "$name", $P1119
     find_lex $P1120, "$/"
-    unless_null $P1120, vivify_375
+    unless_null $P1120, vivify_369
     new $P1120, "Hash"
+  vivify_369:
+    set $P1121, $P1120["deflongname"]
+    unless_null $P1121, vivify_370
+    new $P1121, "ResizablePMCArray"
+  vivify_370:
+    set $P1122, $P1121[0]
+    unless_null $P1122, vivify_371
+    new $P1122, "Undef"
+  vivify_371:
+    $P1123 = $P1122."ast"()
+    set $S1124, $P1123
+    new $P1125, 'String'
+    set $P1125, $S1124
+    store_lex "$name", $P1125
+.annotate "line", 393
+    find_lex $P1126, "$past"
+    find_lex $P1127, "$name"
+    $P1126."name"($P1127)
+.annotate "line", 394
+    find_dynamic_lex $P1130, "$*SCOPE"
+    unless_null $P1130, vivify_372
+    get_hll_global $P1130, "$SCOPE"
+    unless_null $P1130, vivify_373
+    die "Contextual $*SCOPE not found"
+  vivify_373:
+  vivify_372:
+    set $S1131, $P1130
+    isne $I1132, $S1131, "our"
+    if $I1132, if_1129
+    new $P1128, 'Integer'
+    set $P1128, $I1132
+    goto if_1129_end
+  if_1129:
+.annotate "line", 395
+    get_global $P1133, "@BLOCK"
+    unless_null $P1133, vivify_374
+    new $P1133, "ResizablePMCArray"
+  vivify_374:
+    set $P1134, $P1133[0]
+    unless_null $P1134, vivify_375
+    new $P1134, "ResizablePMCArray"
   vivify_375:
-    set $P1121, $P1120["quant"]
-    unless_null $P1121, vivify_376
-    new $P1121, "Undef"
+    set $P1135, $P1134[0]
+    unless_null $P1135, vivify_376
+    new $P1135, "Undef"
   vivify_376:
-    store_lex "$quant", $P1121
-    find_lex $P1122, "$past"
-.annotate "line", 374
-    find_lex $P1124, "$/"
-    unless_null $P1124, vivify_377
-    new $P1124, "Hash"
+    get_hll_global $P1136, ["PAST"], "Var"
+    find_lex $P1137, "$name"
+    find_lex $P1138, "$past"
+    $P1139 = $P1136."new"($P1137 :named("name"), 1 :named("isdecl"), $P1138 :named("viviself"), "lexical" :named("scope"))
+    $P1135."push"($P1139)
+.annotate "line", 397
+    get_global $P1140, "@BLOCK"
+    unless_null $P1140, vivify_377
+    new $P1140, "ResizablePMCArray"
   vivify_377:
-    set $P1125, $P1124["named_param"]
-    unless_null $P1125, vivify_378
-    new $P1125, "Undef"
+    set $P1141, $P1140[0]
+    unless_null $P1141, vivify_378
+    new $P1141, "Undef"
   vivify_378:
-    if $P1125, if_1123
-.annotate "line", 381
-    find_lex $P1139, "$/"
-    unless_null $P1139, vivify_379
-    new $P1139, "Hash"
+    find_lex $P1142, "$name"
+    $P1141."symbol"($P1142, "lexical" :named("scope"))
+.annotate "line", 398
+    get_hll_global $P1143, ["PAST"], "Var"
+    find_lex $P1144, "$name"
+    $P1145 = $P1143."new"($P1144 :named("name"))
+    store_lex "$past", $P1145
+.annotate "line", 394
+    set $P1128, $P1145
+  if_1129_end:
+.annotate "line", 391
+    .return ($P1128)
+.end
+
+
+.namespace ["NQP";"Actions"]
+.sub "method_def"  :subid("70_1259177779.79485") :method :outer("11_1259177779.79485")
+    .param pmc param_1153
+.annotate "line", 405
+    .const 'Sub' $P1169 = "71_1259177779.79485" 
+    capture_lex $P1169
+    new $P1152, 'ExceptionHandler'
+    set_addr $P1152, control_1151
+    $P1152."handle_types"(58)
+    push_eh $P1152
+    .lex "self", self
+    .lex "$/", param_1153
+.annotate "line", 406
+    new $P1154, "Undef"
+    .lex "$past", $P1154
+    find_lex $P1155, "$/"
+    unless_null $P1155, vivify_379
+    new $P1155, "Hash"
   vivify_379:
-    set $P1140, $P1139["param_var"]
-    unless_null $P1140, vivify_380
-    new $P1140, "Undef"
+    set $P1156, $P1155["blockoid"]
+    unless_null $P1156, vivify_380
+    new $P1156, "Undef"
   vivify_380:
-    $P1141 = $P1140."ast"()
-    store_lex "$past", $P1141
-.annotate "line", 382
-    find_lex $P1143, "$quant"
-    set $S1144, $P1143
-    iseq $I1145, $S1144, "*"
-    if $I1145, if_1142
-.annotate "line", 386
-    find_lex $P1154, "$quant"
-    set $S1155, $P1154
-    iseq $I1156, $S1155, "?"
-    unless $I1156, if_1153_end
-.annotate "line", 387
-    find_lex $P1157, "$past"
-    find_lex $P1158, "$/"
-    unless_null $P1158, vivify_381
-    new $P1158, "Hash"
+    $P1157 = $P1156."ast"()
+    store_lex "$past", $P1157
+.annotate "line", 407
+    find_lex $P1158, "$past"
+    $P1158."blocktype"("method")
+.annotate "line", 408
+    find_lex $P1159, "$past"
+    $P1159."control"("return_pir")
+.annotate "line", 409
+    find_lex $P1160, "$past"
+    unless_null $P1160, vivify_381
+    new $P1160, "ResizablePMCArray"
   vivify_381:
-    set $P1159, $P1158["param_var"]
-    unless_null $P1159, vivify_382
-    new $P1159, "Hash"
+    set $P1161, $P1160[0]
+    unless_null $P1161, vivify_382
+    new $P1161, "Undef"
   vivify_382:
-    set $P1160, $P1159["sigil"]
-    unless_null $P1160, vivify_383
-    new $P1160, "Undef"
+    get_hll_global $P1162, ["PAST"], "Op"
+    $P1163 = $P1162."new"("    .lex \"self\", self" :named("inline"))
+    $P1161."unshift"($P1163)
+.annotate "line", 410
+    find_lex $P1164, "$past"
+    $P1164."symbol"("self", "lexical" :named("scope"))
+.annotate "line", 411
+    find_lex $P1166, "$/"
+    unless_null $P1166, vivify_383
+    new $P1166, "Hash"
   vivify_383:
-    $P1161 = "sigiltype"($P1160)
-    $P1157."viviself"($P1161)
-  if_1153_end:
-.annotate "line", 386
-    goto if_1142_end
-  if_1142:
-.annotate "line", 383
-    find_lex $P1146, "$past"
-    $P1146."slurpy"(1)
-.annotate "line", 384
-    find_lex $P1147, "$past"
-    find_lex $P1148, "$/"
-    unless_null $P1148, vivify_384
-    new $P1148, "Hash"
+    set $P1167, $P1166["deflongname"]
+    unless_null $P1167, vivify_384
+    new $P1167, "Undef"
   vivify_384:
-    set $P1149, $P1148["param_var"]
-    unless_null $P1149, vivify_385
-    new $P1149, "Hash"
+    unless $P1167, if_1165_end
+    .const 'Sub' $P1169 = "71_1259177779.79485" 
+    capture_lex $P1169
+    $P1169()
+  if_1165_end:
+.annotate "line", 415
+    find_lex $P1180, "$/"
+    find_lex $P1181, "$past"
+    $P1182 = $P1180."!make"($P1181)
+.annotate "line", 405
+    .return ($P1182)
+  control_1151:
+    .local pmc exception 
+    .get_results (exception) 
+    getattribute $P1183, exception, "payload"
+    .return ($P1183)
+.end
+
+
+.namespace ["NQP";"Actions"]
+.sub "_block1168"  :anon :subid("71_1259177779.79485") :outer("70_1259177779.79485")
+.annotate "line", 412
+    new $P1170, "Undef"
+    .lex "$name", $P1170
+    find_lex $P1171, "$/"
+    unless_null $P1171, vivify_385
+    new $P1171, "Hash"
   vivify_385:
-    set $P1150, $P1149["sigil"]
-    unless_null $P1150, vivify_386
-    new $P1150, "Undef"
+    set $P1172, $P1171["deflongname"]
+    unless_null $P1172, vivify_386
+    new $P1172, "ResizablePMCArray"
   vivify_386:
-    set $S1151, $P1150
-    iseq $I1152, $S1151, "%"
-    $P1147."named"($I1152)
-  if_1142_end:
-.annotate "line", 380
-    goto if_1123_end
-  if_1123:
-.annotate "line", 375
-    find_lex $P1126, "$/"
-    unless_null $P1126, vivify_387
-    new $P1126, "Hash"
+    set $P1173, $P1172[0]
+    unless_null $P1173, vivify_387
+    new $P1173, "Undef"
   vivify_387:
-    set $P1127, $P1126["named_param"]
-    unless_null $P1127, vivify_388
-    new $P1127, "Undef"
+    $P1174 = $P1173."ast"()
+    set $S1175, $P1174
+    new $P1176, 'String'
+    set $P1176, $S1175
+    store_lex "$name", $P1176
+.annotate "line", 413
+    find_lex $P1177, "$past"
+    find_lex $P1178, "$name"
+    $P1179 = $P1177."name"($P1178)
+.annotate "line", 411
+    .return ($P1179)
+.end
+
+
+.namespace ["NQP";"Actions"]
+.sub "signature"  :subid("72_1259177779.79485") :method :outer("11_1259177779.79485")
+    .param pmc param_1187
+.annotate "line", 419
+    .const 'Sub' $P1198 = "73_1259177779.79485" 
+    capture_lex $P1198
+    new $P1186, 'ExceptionHandler'
+    set_addr $P1186, control_1185
+    $P1186."handle_types"(58)
+    push_eh $P1186
+    .lex "self", self
+    .lex "$/", param_1187
+.annotate "line", 420
+    new $P1188, "Undef"
+    .lex "$BLOCKINIT", $P1188
+    get_global $P1189, "@BLOCK"
+    unless_null $P1189, vivify_388
+    new $P1189, "ResizablePMCArray"
   vivify_388:
-    $P1128 = $P1127."ast"()
-    store_lex "$past", $P1128
-.annotate "line", 376
-    find_lex $P1130, "$quant"
-    set $S1131, $P1130
-    isne $I1132, $S1131, "!"
-    unless $I1132, if_1129_end
-.annotate "line", 377
-    find_lex $P1133, "$past"
-    find_lex $P1134, "$/"
-    unless_null $P1134, vivify_389
-    new $P1134, "Hash"
+    set $P1190, $P1189[0]
+    unless_null $P1190, vivify_389
+    new $P1190, "ResizablePMCArray"
   vivify_389:
-    set $P1135, $P1134["named_param"]
-    unless_null $P1135, vivify_390
-    new $P1135, "Hash"
+    set $P1191, $P1190[0]
+    unless_null $P1191, vivify_390
+    new $P1191, "Undef"
   vivify_390:
-    set $P1136, $P1135["param_var"]
-    unless_null $P1136, vivify_391
-    new $P1136, "Hash"
+    store_lex "$BLOCKINIT", $P1191
+.annotate "line", 421
+    find_lex $P1193, "$/"
+    unless_null $P1193, vivify_391
+    new $P1193, "Hash"
   vivify_391:
-    set $P1137, $P1136["sigil"]
-    unless_null $P1137, vivify_392
-    new $P1137, "Undef"
+    set $P1194, $P1193["parameter"]
+    unless_null $P1194, vivify_392
+    new $P1194, "Undef"
   vivify_392:
-    $P1138 = "sigiltype"($P1137)
-    $P1133."viviself"($P1138)
-  if_1129_end:
-  if_1123_end:
-.annotate "line", 390
-    find_lex $P1163, "$/"
-    unless_null $P1163, vivify_393
-    new $P1163, "Hash"
-  vivify_393:
-    set $P1164, $P1163["default_value"]
-    unless_null $P1164, vivify_394
-    new $P1164, "Undef"
-  vivify_394:
-    unless $P1164, if_1162_end
-.annotate "line", 391
-    find_lex $P1166, "$quant"
-    set $S1167, $P1166
-    iseq $I1168, $S1167, "*"
-    unless $I1168, if_1165_end
-.annotate "line", 392
-    find_lex $P1169, "$/"
-    $P1170 = $P1169."CURSOR"()
-    $P1170."panic"("Can't put default on slurpy parameter")
-  if_1165_end:
-.annotate "line", 394
-    find_lex $P1172, "$quant"
-    set $S1173, $P1172
-    iseq $I1174, $S1173, "!"
-    unless $I1174, if_1171_end
-.annotate "line", 395
-    find_lex $P1175, "$/"
-    $P1176 = $P1175."CURSOR"()
-    $P1176."panic"("Can't put default on required parameter")
-  if_1171_end:
-.annotate "line", 397
-    find_lex $P1177, "$past"
-    find_lex $P1178, "$/"
-    unless_null $P1178, vivify_395
-    new $P1178, "Hash"
-  vivify_395:
-    set $P1179, $P1178["default_value"]
-    unless_null $P1179, vivify_396
-    new $P1179, "ResizablePMCArray"
-  vivify_396:
-    set $P1180, $P1179[0]
-    unless_null $P1180, vivify_397
-    new $P1180, "Hash"
-  vivify_397:
-    set $P1181, $P1180["EXPR"]
-    unless_null $P1181, vivify_398
-    new $P1181, "Undef"
-  vivify_398:
-    $P1182 = $P1181."ast"()
-    $P1177."viviself"($P1182)
-  if_1162_end:
-.annotate "line", 399
-    find_lex $P1184, "$past"
-    $P1185 = $P1184."viviself"()
-    if $P1185, unless_1183_end
-    get_global $P1186, "@BLOCK"
-    unless_null $P1186, vivify_399
-    new $P1186, "ResizablePMCArray"
-  vivify_399:
-    set $P1187, $P1186[0]
-    unless_null $P1187, vivify_400
-    new $P1187, "Undef"
-  vivify_400:
-    get_global $P1188, "@BLOCK"
-    unless_null $P1188, vivify_401
-    new $P1188, "ResizablePMCArray"
-  vivify_401:
-    set $P1189, $P1188[0]
-    unless_null $P1189, vivify_402
-    new $P1189, "Undef"
-  vivify_402:
-    $P1190 = $P1189."arity"()
-    set $N1191, $P1190
-    new $P1192, 'Float'
-    set $P1192, $N1191
-    add $P1193, $P1192, 1
-    $P1187."arity"($P1193)
-  unless_1183_end:
-.annotate "line", 400
-    find_lex $P1194, "$/"
-    find_lex $P1195, "$past"
-    $P1196 = $P1194."!make"($P1195)
-.annotate "line", 371
-    .return ($P1196)
-  control_1115:
+    defined $I1195, $P1194
+    unless $I1195, for_undef_393
+    iter $P1192, $P1194
+    new $P1205, 'ExceptionHandler'
+    set_addr $P1205, loop1204_handler
+    $P1205."handle_types"(65, 67, 66)
+    push_eh $P1205
+  loop1204_test:
+    unless $P1192, loop1204_done
+    shift $P1196, $P1192
+  loop1204_redo:
+    .const 'Sub' $P1198 = "73_1259177779.79485" 
+    capture_lex $P1198
+    $P1198($P1196)
+  loop1204_next:
+    goto loop1204_test
+  loop1204_handler:
+    .local pmc exception 
+    .get_results (exception) 
+    getattribute $P1206, exception, 'type'
+    eq $P1206, 65, loop1204_next
+    eq $P1206, 67, loop1204_redo
+  loop1204_done:
+    pop_eh 
+  for_undef_393:
+.annotate "line", 419
+    .return ($P1192)
+  control_1185:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P1197, exception, "payload"
-    .return ($P1197)
+    getattribute $P1207, exception, "payload"
+    .return ($P1207)
 .end
 
 
 .namespace ["NQP";"Actions"]
-.sub "param_var"  :subid("72_1259103989.89791") :method :outer("11_1259103989.89791")
-    .param pmc param_1201
-.annotate "line", 403
-    new $P1200, 'ExceptionHandler'
-    set_addr $P1200, control_1199
-    $P1200."handle_types"(58)
-    push_eh $P1200
-    .lex "self", self
-    .lex "$/", param_1201
-.annotate "line", 404
-    new $P1202, "Undef"
-    .lex "$name", $P1202
-.annotate "line", 405
-    new $P1203, "Undef"
-    .lex "$past", $P1203
-.annotate "line", 404
-    find_lex $P1204, "$/"
-    set $S1205, $P1204
-    new $P1206, 'String'
-    set $P1206, $S1205
-    store_lex "$name", $P1206
-.annotate "line", 405
-    get_hll_global $P1207, ["PAST"], "Var"
-    find_lex $P1208, "$name"
-    find_lex $P1209, "$/"
-    $P1210 = $P1207."new"($P1208 :named("name"), "parameter" :named("scope"), 1 :named("isdecl"), $P1209 :named("node"))
-    store_lex "$past", $P1210
-.annotate "line", 407
-    get_global $P1211, "@BLOCK"
-    unless_null $P1211, vivify_403
-    new $P1211, "ResizablePMCArray"
-  vivify_403:
-    set $P1212, $P1211[0]
-    unless_null $P1212, vivify_404
-    new $P1212, "Undef"
-  vivify_404:
-    find_lex $P1213, "$name"
-    $P1212."symbol"($P1213, "lexical" :named("scope"))
-.annotate "line", 408
-    find_lex $P1214, "$/"
-    find_lex $P1215, "$past"
-    $P1216 = $P1214."!make"($P1215)
-.annotate "line", 403
-    .return ($P1216)
-  control_1199:
-    .local pmc exception 
-    .get_results (exception) 
-    getattribute $P1217, exception, "payload"
-    .return ($P1217)
+.sub "_block1197"  :anon :subid("73_1259177779.79485") :outer("72_1259177779.79485")
+    .param pmc param_1199
+.annotate "line", 421
+    .lex "$_", param_1199
+    find_lex $P1200, "$BLOCKINIT"
+    find_lex $P1201, "$_"
+    $P1202 = $P1201."ast"()
+    $P1203 = $P1200."push"($P1202)
+    .return ($P1203)
 .end
 
 
 .namespace ["NQP";"Actions"]
-.sub "named_param"  :subid("73_1259103989.89791") :method :outer("11_1259103989.89791")
-    .param pmc param_1221
-.annotate "line", 411
-    new $P1220, 'ExceptionHandler'
-    set_addr $P1220, control_1219
-    $P1220."handle_types"(58)
-    push_eh $P1220
+.sub "parameter"  :subid("74_1259177779.79485") :method :outer("11_1259177779.79485")
+    .param pmc param_1211
+.annotate "line", 424
+    new $P1210, 'ExceptionHandler'
+    set_addr $P1210, control_1209
+    $P1210."handle_types"(58)
+    push_eh $P1210
     .lex "self", self
-    .lex "$/", param_1221
-.annotate "line", 412
-    new $P1222, "Undef"
-    .lex "$past", $P1222
-    find_lex $P1223, "$/"
-    unless_null $P1223, vivify_405
-    new $P1223, "Hash"
+    .lex "$/", param_1211
+.annotate "line", 425
+    new $P1212, "Undef"
+    .lex "$quant", $P1212
+.annotate "line", 426
+    new $P1213, "Undef"
+    .lex "$past", $P1213
+.annotate "line", 425
+    find_lex $P1214, "$/"
+    unless_null $P1214, vivify_394
+    new $P1214, "Hash"
+  vivify_394:
+    set $P1215, $P1214["quant"]
+    unless_null $P1215, vivify_395
+    new $P1215, "Undef"
+  vivify_395:
+    store_lex "$quant", $P1215
+    find_lex $P1216, "$past"
+.annotate "line", 427
+    find_lex $P1218, "$/"
+    unless_null $P1218, vivify_396
+    new $P1218, "Hash"
+  vivify_396:
+    set $P1219, $P1218["named_param"]
+    unless_null $P1219, vivify_397
+    new $P1219, "Undef"
+  vivify_397:
+    if $P1219, if_1217
+.annotate "line", 434
+    find_lex $P1233, "$/"
+    unless_null $P1233, vivify_398
+    new $P1233, "Hash"
+  vivify_398:
+    set $P1234, $P1233["param_var"]
+    unless_null $P1234, vivify_399
+    new $P1234, "Undef"
+  vivify_399:
+    $P1235 = $P1234."ast"()
+    store_lex "$past", $P1235
+.annotate "line", 435
+    find_lex $P1237, "$quant"
+    set $S1238, $P1237
+    iseq $I1239, $S1238, "*"
+    if $I1239, if_1236
+.annotate "line", 439
+    find_lex $P1248, "$quant"
+    set $S1249, $P1248
+    iseq $I1250, $S1249, "?"
+    unless $I1250, if_1247_end
+.annotate "line", 440
+    find_lex $P1251, "$past"
+    find_lex $P1252, "$/"
+    unless_null $P1252, vivify_400
+    new $P1252, "Hash"
+  vivify_400:
+    set $P1253, $P1252["param_var"]
+    unless_null $P1253, vivify_401
+    new $P1253, "Hash"
+  vivify_401:
+    set $P1254, $P1253["sigil"]
+    unless_null $P1254, vivify_402
+    new $P1254, "Undef"
+  vivify_402:
+    $P1255 = "sigiltype"($P1254)
+    $P1251."viviself"($P1255)
+  if_1247_end:
+.annotate "line", 439
+    goto if_1236_end
+  if_1236:
+.annotate "line", 436
+    find_lex $P1240, "$past"
+    $P1240."slurpy"(1)
+.annotate "line", 437
+    find_lex $P1241, "$past"
+    find_lex $P1242, "$/"
+    unless_null $P1242, vivify_403
+    new $P1242, "Hash"
+  vivify_403:
+    set $P1243, $P1242["param_var"]
+    unless_null $P1243, vivify_404
+    new $P1243, "Hash"
+  vivify_404:
+    set $P1244, $P1243["sigil"]
+    unless_null $P1244, vivify_405
+    new $P1244, "Undef"
   vivify_405:
-    set $P1224, $P1223["param_var"]
-    unless_null $P1224, vivify_406
-    new $P1224, "Undef"
+    set $S1245, $P1244
+    iseq $I1246, $S1245, "%"
+    $P1241."named"($I1246)
+  if_1236_end:
+.annotate "line", 433
+    goto if_1217_end
+  if_1217:
+.annotate "line", 428
+    find_lex $P1220, "$/"
+    unless_null $P1220, vivify_406
+    new $P1220, "Hash"
   vivify_406:
-    $P1225 = $P1224."ast"()
-    store_lex "$past", $P1225
-.annotate "line", 413
-    find_lex $P1226, "$past"
-    find_lex $P1227, "$/"
-    unless_null $P1227, vivify_407
-    new $P1227, "Hash"
+    set $P1221, $P1220["named_param"]
+    unless_null $P1221, vivify_407
+    new $P1221, "Undef"
   vivify_407:
-    set $P1228, $P1227["param_var"]
+    $P1222 = $P1221."ast"()
+    store_lex "$past", $P1222
+.annotate "line", 429
+    find_lex $P1224, "$quant"
+    set $S1225, $P1224
+    isne $I1226, $S1225, "!"
+    unless $I1226, if_1223_end
+.annotate "line", 430
+    find_lex $P1227, "$past"
+    find_lex $P1228, "$/"
     unless_null $P1228, vivify_408
     new $P1228, "Hash"
   vivify_408:
-    set $P1229, $P1228["name"]
+    set $P1229, $P1228["named_param"]
     unless_null $P1229, vivify_409
-    new $P1229, "Undef"
+    new $P1229, "Hash"
   vivify_409:
-    set $S1230, $P1229
-    $P1226."named"($S1230)
-.annotate "line", 414
-    find_lex $P1231, "$/"
-    find_lex $P1232, "$past"
-    $P1233 = $P1231."!make"($P1232)
-.annotate "line", 411
-    .return ($P1233)
-  control_1219:
-    .local pmc exception 
-    .get_results (exception) 
-    getattribute $P1234, exception, "payload"
-    .return ($P1234)
-.end
-
-
-.namespace ["NQP";"Actions"]
-.sub "regex_declarator"  :subid("74_1259103989.89791") :method :outer("11_1259103989.89791")
-    .param pmc param_1238
-    .param pmc param_1239 :optional
-    .param int has_param_1239 :opt_flag
-.annotate "line", 417
-    .const 'Sub' $P1256 = "75_1259103989.89791" 
-    capture_lex $P1256
-    new $P1237, 'ExceptionHandler'
-    set_addr $P1237, control_1236
-    $P1237."handle_types"(58)
-    push_eh $P1237
-    .lex "self", self
-    .lex "$/", param_1238
-    if has_param_1239, optparam_410
-    new $P1240, "Undef"
-    set param_1239, $P1240
-  optparam_410:
-    .lex "$key", param_1239
-.annotate "line", 418
-    new $P1241, "ResizablePMCArray"
-    .lex "@MODIFIERS", $P1241
-.annotate "line", 421
-    new $P1242, "Undef"
-    .lex "$name", $P1242
-.annotate "line", 422
-    new $P1243, "Undef"
-    .lex "$past", $P1243
-.annotate "line", 418
-
-        $P1244 = get_hll_global ['Regex';'P6Regex';'Actions'], '@MODIFIERS'
-    
-    store_lex "@MODIFIERS", $P1244
-.annotate "line", 421
-    find_lex $P1245, "$/"
-    unless_null $P1245, vivify_411
-    new $P1245, "Hash"
+    set $P1230, $P1229["param_var"]
+    unless_null $P1230, vivify_410
+    new $P1230, "Hash"
+  vivify_410:
+    set $P1231, $P1230["sigil"]
+    unless_null $P1231, vivify_411
+    new $P1231, "Undef"
   vivify_411:
-    set $P1246, $P1245["deflongname"]
-    unless_null $P1246, vivify_412
-    new $P1246, "Undef"
+    $P1232 = "sigiltype"($P1231)
+    $P1227."viviself"($P1232)
+  if_1223_end:
+  if_1217_end:
+.annotate "line", 443
+    find_lex $P1257, "$/"
+    unless_null $P1257, vivify_412
+    new $P1257, "Hash"
   vivify_412:
-    $P1247 = $P1246."ast"()
-    set $S1248, $P1247
-    new $P1249, 'String'
-    set $P1249, $S1248
-    store_lex "$name", $P1249
-    find_lex $P1250, "$past"
-.annotate "line", 423
-    find_lex $P1252, "$key"
-    set $S1253, $P1252
-    iseq $I1254, $S1253, "open"
-    if $I1254, if_1251
-.annotate "line", 436
-    find_lex $P1284, "$/"
-    unless_null $P1284, vivify_413
-    new $P1284, "Hash"
+    set $P1258, $P1257["default_value"]
+    unless_null $P1258, vivify_413
+    new $P1258, "Undef"
   vivify_413:
-    set $P1285, $P1284["proto"]
-    unless_null $P1285, vivify_414
-    new $P1285, "Undef"
+    unless $P1258, if_1256_end
+.annotate "line", 444
+    find_lex $P1260, "$quant"
+    set $S1261, $P1260
+    iseq $I1262, $S1261, "*"
+    unless $I1262, if_1259_end
+.annotate "line", 445
+    find_lex $P1263, "$/"
+    $P1264 = $P1263."CURSOR"()
+    $P1264."panic"("Can't put default on slurpy parameter")
+  if_1259_end:
+.annotate "line", 447
+    find_lex $P1266, "$quant"
+    set $S1267, $P1266
+    iseq $I1268, $S1267, "!"
+    unless $I1268, if_1265_end
+.annotate "line", 448
+    find_lex $P1269, "$/"
+    $P1270 = $P1269."CURSOR"()
+    $P1270."panic"("Can't put default on required parameter")
+  if_1265_end:
+.annotate "line", 450
+    find_lex $P1271, "$past"
+    find_lex $P1272, "$/"
+    unless_null $P1272, vivify_414
+    new $P1272, "Hash"
   vivify_414:
-    if $P1285, if_1283
-.annotate "line", 465
-    get_hll_global $P1308, ["Regex";"P6Regex";"Actions"], "buildsub"
-    find_lex $P1309, "$/"
-    unless_null $P1309, vivify_415
-    new $P1309, "Hash"
+    set $P1273, $P1272["default_value"]
+    unless_null $P1273, vivify_415
+    new $P1273, "ResizablePMCArray"
   vivify_415:
-    set $P1310, $P1309["p6regex"]
-    unless_null $P1310, vivify_416
-    new $P1310, "Undef"
+    set $P1274, $P1273[0]
+    unless_null $P1274, vivify_416
+    new $P1274, "Hash"
   vivify_416:
-    $P1311 = $P1310."ast"()
-    get_global $P1312, "@BLOCK"
-    $P1313 = $P1312."shift"()
-    $P1314 = $P1308($P1311, $P1313)
-    store_lex "$past", $P1314
-.annotate "line", 466
-    find_lex $P1315, "$past"
-    find_lex $P1316, "$name"
-    $P1315."name"($P1316)
-.annotate "line", 467
-    find_lex $P1317, "@MODIFIERS"
-    $P1317."shift"()
-.annotate "line", 463
-    goto if_1283_end
-  if_1283:
-.annotate "line", 438
-    get_hll_global $P1286, ["PAST"], "Stmts"
-.annotate "line", 439
-    get_hll_global $P1287, ["PAST"], "Block"
-    find_lex $P1288, "$name"
-.annotate "line", 440
-    get_hll_global $P1289, ["PAST"], "Op"
-.annotate "line", 441
-    get_hll_global $P1290, ["PAST"], "Var"
-    $P1291 = $P1290."new"("self" :named("name"), "register" :named("scope"))
-    find_lex $P1292, "$name"
-    $P1293 = $P1289."new"($P1291, $P1292, "!protoregex" :named("name"), "callmethod" :named("pasttype"))
-.annotate "line", 440
-    find_lex $P1294, "$/"
-    $P1295 = $P1287."new"($P1293, $P1288 :named("name"), "method" :named("blocktype"), 0 :named("lexical"), $P1294 :named("node"))
-.annotate "line", 450
-    get_hll_global $P1296, ["PAST"], "Block"
-    new $P1297, "String"
-    assign $P1297, "!PREFIX__"
-    find_lex $P1298, "$name"
-    concat $P1299, $P1297, $P1298
-.annotate "line", 451
-    get_hll_global $P1300, ["PAST"], "Op"
+    set $P1275, $P1274["EXPR"]
+    unless_null $P1275, vivify_417
+    new $P1275, "Undef"
+  vivify_417:
+    $P1276 = $P1275."ast"()
+    $P1271."viviself"($P1276)
+  if_1256_end:
 .annotate "line", 452
-    get_hll_global $P1301, ["PAST"], "Var"
-    $P1302 = $P1301."new"("self" :named("name"), "register" :named("scope"))
-    find_lex $P1303, "$name"
-    $P1304 = $P1300."new"($P1302, $P1303, "!PREFIX__!protoregex" :named("name"), "callmethod" :named("pasttype"))
-.annotate "line", 451
-    find_lex $P1305, "$/"
-    $P1306 = $P1296."new"($P1304, $P1299 :named("name"), "method" :named("blocktype"), 0 :named("lexical"), $P1305 :named("node"))
-.annotate "line", 450
-    $P1307 = $P1286."new"($P1295, $P1306)
-.annotate "line", 438
-    store_lex "$past", $P1307
-  if_1283_end:
-.annotate "line", 436
-    goto if_1251_end
-  if_1251:
-.annotate "line", 423
-    .const 'Sub' $P1256 = "75_1259103989.89791" 
-    capture_lex $P1256
-    $P1256()
-  if_1251_end:
-.annotate "line", 469
-    find_lex $P1318, "$/"
-    find_lex $P1319, "$past"
-    $P1320 = $P1318."!make"($P1319)
-.annotate "line", 417
-    .return ($P1320)
-  control_1236:
+    find_lex $P1278, "$past"
+    $P1279 = $P1278."viviself"()
+    if $P1279, unless_1277_end
+    get_global $P1280, "@BLOCK"
+    unless_null $P1280, vivify_418
+    new $P1280, "ResizablePMCArray"
+  vivify_418:
+    set $P1281, $P1280[0]
+    unless_null $P1281, vivify_419
+    new $P1281, "Undef"
+  vivify_419:
+    get_global $P1282, "@BLOCK"
+    unless_null $P1282, vivify_420
+    new $P1282, "ResizablePMCArray"
+  vivify_420:
+    set $P1283, $P1282[0]
+    unless_null $P1283, vivify_421
+    new $P1283, "Undef"
+  vivify_421:
+    $P1284 = $P1283."arity"()
+    set $N1285, $P1284
+    new $P1286, 'Float'
+    set $P1286, $N1285
+    add $P1287, $P1286, 1
+    $P1281."arity"($P1287)
+  unless_1277_end:
+.annotate "line", 453
+    find_lex $P1288, "$/"
+    find_lex $P1289, "$past"
+    $P1290 = $P1288."!make"($P1289)
+.annotate "line", 424
+    .return ($P1290)
+  control_1209:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P1321, exception, "payload"
-    .return ($P1321)
+    getattribute $P1291, exception, "payload"
+    .return ($P1291)
 .end
 
 
 .namespace ["NQP";"Actions"]
-.sub "_block1255"  :anon :subid("75_1259103989.89791") :outer("74_1259103989.89791")
-.annotate "line", 424
-    new $P1257, "Hash"
-    .lex "%h", $P1257
-.annotate "line", 423
-    find_lex $P1258, "%h"
-.annotate "line", 425
-    find_lex $P1260, "$/"
-    unless_null $P1260, vivify_417
-    new $P1260, "Hash"
-  vivify_417:
-    set $P1261, $P1260["sym"]
-    unless_null $P1261, vivify_418
-    new $P1261, "Undef"
-  vivify_418:
-    set $S1262, $P1261
-    iseq $I1263, $S1262, "token"
-    unless $I1263, if_1259_end
-    new $P1264, "Integer"
-    assign $P1264, 1
-    find_lex $P1265, "%h"
-    unless_null $P1265, vivify_419
-    new $P1265, "Hash"
-    store_lex "%h", $P1265
-  vivify_419:
-    set $P1265["r"], $P1264
-  if_1259_end:
-.annotate "line", 426
-    find_lex $P1267, "$/"
-    unless_null $P1267, vivify_420
-    new $P1267, "Hash"
-  vivify_420:
-    set $P1268, $P1267["sym"]
-    unless_null $P1268, vivify_421
-    new $P1268, "Undef"
-  vivify_421:
-    set $S1269, $P1268
-    iseq $I1270, $S1269, "rule"
-    unless $I1270, if_1266_end
-    new $P1271, "Integer"
-    assign $P1271, 1
-    find_lex $P1272, "%h"
-    unless_null $P1272, vivify_422
-    new $P1272, "Hash"
-    store_lex "%h", $P1272
+.sub "param_var"  :subid("75_1259177779.79485") :method :outer("11_1259177779.79485")
+    .param pmc param_1295
+.annotate "line", 456
+    new $P1294, 'ExceptionHandler'
+    set_addr $P1294, control_1293
+    $P1294."handle_types"(58)
+    push_eh $P1294
+    .lex "self", self
+    .lex "$/", param_1295
+.annotate "line", 457
+    new $P1296, "Undef"
+    .lex "$name", $P1296
+.annotate "line", 458
+    new $P1297, "Undef"
+    .lex "$past", $P1297
+.annotate "line", 457
+    find_lex $P1298, "$/"
+    set $S1299, $P1298
+    new $P1300, 'String'
+    set $P1300, $S1299
+    store_lex "$name", $P1300
+.annotate "line", 458
+    get_hll_global $P1301, ["PAST"], "Var"
+    find_lex $P1302, "$name"
+    find_lex $P1303, "$/"
+    $P1304 = $P1301."new"($P1302 :named("name"), "parameter" :named("scope"), 1 :named("isdecl"), $P1303 :named("node"))
+    store_lex "$past", $P1304
+.annotate "line", 460
+    get_global $P1305, "@BLOCK"
+    unless_null $P1305, vivify_422
+    new $P1305, "ResizablePMCArray"
   vivify_422:
-    set $P1272["r"], $P1271
-    new $P1273, "Integer"
-    assign $P1273, 1
-    find_lex $P1274, "%h"
-    unless_null $P1274, vivify_423
-    new $P1274, "Hash"
-    store_lex "%h", $P1274
+    set $P1306, $P1305[0]
+    unless_null $P1306, vivify_423
+    new $P1306, "Undef"
   vivify_423:
-    set $P1274["s"], $P1273
-  if_1266_end:
-.annotate "line", 427
-    find_lex $P1275, "@MODIFIERS"
-    find_lex $P1276, "%h"
-    $P1275."unshift"($P1276)
-.annotate "line", 428
+    find_lex $P1307, "$name"
+    $P1306."symbol"($P1307, "lexical" :named("scope"))
+.annotate "line", 461
+    find_lex $P1308, "$/"
+    find_lex $P1309, "$past"
+    $P1310 = $P1308."!make"($P1309)
+.annotate "line", 456
+    .return ($P1310)
+  control_1293:
+    .local pmc exception 
+    .get_results (exception) 
+    getattribute $P1311, exception, "payload"
+    .return ($P1311)
+.end
 
-            $P0 = find_lex '$name'
-            set_hll_global ['Regex';'P6Regex';'Actions'], '$REGEXNAME', $P0
-        
-.annotate "line", 432
-    get_global $P1277, "@BLOCK"
-    unless_null $P1277, vivify_424
-    new $P1277, "ResizablePMCArray"
+
+.namespace ["NQP";"Actions"]
+.sub "named_param"  :subid("76_1259177779.79485") :method :outer("11_1259177779.79485")
+    .param pmc param_1315
+.annotate "line", 464
+    new $P1314, 'ExceptionHandler'
+    set_addr $P1314, control_1313
+    $P1314."handle_types"(58)
+    push_eh $P1314
+    .lex "self", self
+    .lex "$/", param_1315
+.annotate "line", 465
+    new $P1316, "Undef"
+    .lex "$past", $P1316
+    find_lex $P1317, "$/"
+    unless_null $P1317, vivify_424
+    new $P1317, "Hash"
   vivify_424:
-    set $P1278, $P1277[0]
-    unless_null $P1278, vivify_425
-    new $P1278, "Undef"
+    set $P1318, $P1317["param_var"]
+    unless_null $P1318, vivify_425
+    new $P1318, "Undef"
   vivify_425:
-    $P1278."symbol"(unicode:"$\x{a2}", "lexical" :named("scope"))
-.annotate "line", 433
-    get_global $P1279, "@BLOCK"
-    unless_null $P1279, vivify_426
-    new $P1279, "ResizablePMCArray"
+    $P1319 = $P1318."ast"()
+    store_lex "$past", $P1319
+.annotate "line", 466
+    find_lex $P1320, "$past"
+    find_lex $P1321, "$/"
+    unless_null $P1321, vivify_426
+    new $P1321, "Hash"
   vivify_426:
-    set $P1280, $P1279[0]
-    unless_null $P1280, vivify_427
-    new $P1280, "Undef"
+    set $P1322, $P1321["param_var"]
+    unless_null $P1322, vivify_427
+    new $P1322, "Hash"
   vivify_427:
-    $P1280."symbol"("$/", "lexical" :named("scope"))
-.annotate "line", 434
-    new $P1281, "Exception"
-    set $P1281['type'], 58
-    new $P1282, "Integer"
-    assign $P1282, 0
-    setattribute $P1281, 'payload', $P1282
-    throw $P1281
-.annotate "line", 423
-    .return ()
+    set $P1323, $P1322["name"]
+    unless_null $P1323, vivify_428
+    new $P1323, "Undef"
+  vivify_428:
+    set $S1324, $P1323
+    $P1320."named"($S1324)
+.annotate "line", 467
+    find_lex $P1325, "$/"
+    find_lex $P1326, "$past"
+    $P1327 = $P1325."!make"($P1326)
+.annotate "line", 464
+    .return ($P1327)
+  control_1313:
+    .local pmc exception 
+    .get_results (exception) 
+    getattribute $P1328, exception, "payload"
+    .return ($P1328)
 .end
 
 
 .namespace ["NQP";"Actions"]
-.sub "dotty"  :subid("76_1259103989.89791") :method :outer("11_1259103989.89791")
-    .param pmc param_1325
-.annotate "line", 473
-    new $P1324, 'ExceptionHandler'
-    set_addr $P1324, control_1323
-    $P1324."handle_types"(58)
-    push_eh $P1324
-    .lex "self", self
-    .lex "$/", param_1325
+.sub "regex_declarator"  :subid("77_1259177779.79485") :method :outer("11_1259177779.79485")
+    .param pmc param_1332
+    .param pmc param_1333 :optional
+    .param int has_param_1333 :opt_flag
+.annotate "line", 470
+    .const 'Sub' $P1350 = "78_1259177779.79485" 
+    capture_lex $P1350
+    new $P1331, 'ExceptionHandler'
+    set_addr $P1331, control_1330
+    $P1331."handle_types"(58)
+    push_eh $P1331
+    .lex "self", self
+    .lex "$/", param_1332
+    if has_param_1333, optparam_429
+    new $P1334, "Undef"
+    set param_1333, $P1334
+  optparam_429:
+    .lex "$key", param_1333
+.annotate "line", 471
+    new $P1335, "ResizablePMCArray"
+    .lex "@MODIFIERS", $P1335
 .annotate "line", 474
-    new $P1326, "Undef"
-    .lex "$past", $P1326
-    find_lex $P1329, "$/"
-    unless_null $P1329, vivify_428
-    new $P1329, "Hash"
-  vivify_428:
-    set $P1330, $P1329["args"]
-    unless_null $P1330, vivify_429
-    new $P1330, "Undef"
-  vivify_429:
-    if $P1330, if_1328
-    get_hll_global $P1335, ["PAST"], "Op"
-    find_lex $P1336, "$/"
-    $P1337 = $P1335."new"($P1336 :named("node"))
-    set $P1327, $P1337
-    goto if_1328_end
-  if_1328:
-    find_lex $P1331, "$/"
-    unless_null $P1331, vivify_430
-    new $P1331, "Hash"
+    new $P1336, "Undef"
+    .lex "$name", $P1336
+.annotate "line", 475
+    new $P1337, "Undef"
+    .lex "$past", $P1337
+.annotate "line", 471
+
+        $P1338 = get_hll_global ['Regex';'P6Regex';'Actions'], '@MODIFIERS'
+    
+    store_lex "@MODIFIERS", $P1338
+.annotate "line", 474
+    find_lex $P1339, "$/"
+    unless_null $P1339, vivify_430
+    new $P1339, "Hash"
   vivify_430:
-    set $P1332, $P1331["args"]
-    unless_null $P1332, vivify_431
-    new $P1332, "ResizablePMCArray"
+    set $P1340, $P1339["deflongname"]
+    unless_null $P1340, vivify_431
+    new $P1340, "Undef"
   vivify_431:
-    set $P1333, $P1332[0]
-    unless_null $P1333, vivify_432
-    new $P1333, "Undef"
+    $P1341 = $P1340."ast"()
+    set $S1342, $P1341
+    new $P1343, 'String'
+    set $P1343, $S1342
+    store_lex "$name", $P1343
+    find_lex $P1344, "$past"
+.annotate "line", 476
+    find_lex $P1346, "$key"
+    set $S1347, $P1346
+    iseq $I1348, $S1347, "open"
+    if $I1348, if_1345
+.annotate "line", 489
+    find_lex $P1378, "$/"
+    unless_null $P1378, vivify_432
+    new $P1378, "Hash"
   vivify_432:
-    $P1334 = $P1333."ast"()
-    set $P1327, $P1334
-  if_1328_end:
-    store_lex "$past", $P1327
-.annotate "line", 475
-    find_lex $P1338, "$past"
-    find_lex $P1341, "$/"
-    unless_null $P1341, vivify_433
-    new $P1341, "Hash"
+    set $P1379, $P1378["proto"]
+    unless_null $P1379, vivify_433
+    new $P1379, "Undef"
   vivify_433:
-    set $P1342, $P1341["quote"]
-    unless_null $P1342, vivify_434
-    new $P1342, "Undef"
+    if $P1379, if_1377
+.annotate "line", 518
+    get_hll_global $P1402, ["Regex";"P6Regex";"Actions"], "buildsub"
+    find_lex $P1403, "$/"
+    unless_null $P1403, vivify_434
+    new $P1403, "Hash"
   vivify_434:
-    if $P1342, if_1340
-    find_lex $P1346, "$/"
-    unless_null $P1346, vivify_435
-    new $P1346, "Hash"
+    set $P1404, $P1403["p6regex"]
+    unless_null $P1404, vivify_435
+    new $P1404, "Undef"
   vivify_435:
-    set $P1347, $P1346["longname"]
-    unless_null $P1347, vivify_436
-    new $P1347, "Undef"
-  vivify_436:
-    set $S1348, $P1347
-    new $P1339, 'String'
-    set $P1339, $S1348
-    goto if_1340_end
-  if_1340:
-    find_lex $P1343, "$/"
-    unless_null $P1343, vivify_437
-    new $P1343, "Hash"
-  vivify_437:
-    set $P1344, $P1343["quote"]
-    unless_null $P1344, vivify_438
-    new $P1344, "Undef"
-  vivify_438:
-    $P1345 = $P1344."ast"()
-    set $P1339, $P1345
-  if_1340_end:
-    $P1338."name"($P1339)
+    $P1405 = $P1404."ast"()
+    get_global $P1406, "@BLOCK"
+    $P1407 = $P1406."shift"()
+    $P1408 = $P1402($P1405, $P1407)
+    store_lex "$past", $P1408
+.annotate "line", 519
+    find_lex $P1409, "$past"
+    find_lex $P1410, "$name"
+    $P1409."name"($P1410)
+.annotate "line", 520
+    find_lex $P1411, "@MODIFIERS"
+    $P1411."shift"()
+.annotate "line", 516
+    goto if_1377_end
+  if_1377:
+.annotate "line", 491
+    get_hll_global $P1380, ["PAST"], "Stmts"
+.annotate "line", 492
+    get_hll_global $P1381, ["PAST"], "Block"
+    find_lex $P1382, "$name"
+.annotate "line", 493
+    get_hll_global $P1383, ["PAST"], "Op"
+.annotate "line", 494
+    get_hll_global $P1384, ["PAST"], "Var"
+    $P1385 = $P1384."new"("self" :named("name"), "register" :named("scope"))
+    find_lex $P1386, "$name"
+    $P1387 = $P1383."new"($P1385, $P1386, "!protoregex" :named("name"), "callmethod" :named("pasttype"))
+.annotate "line", 493
+    find_lex $P1388, "$/"
+    $P1389 = $P1381."new"($P1387, $P1382 :named("name"), "method" :named("blocktype"), 0 :named("lexical"), $P1388 :named("node"))
+.annotate "line", 503
+    get_hll_global $P1390, ["PAST"], "Block"
+    new $P1391, "String"
+    assign $P1391, "!PREFIX__"
+    find_lex $P1392, "$name"
+    concat $P1393, $P1391, $P1392
+.annotate "line", 504
+    get_hll_global $P1394, ["PAST"], "Op"
+.annotate "line", 505
+    get_hll_global $P1395, ["PAST"], "Var"
+    $P1396 = $P1395."new"("self" :named("name"), "register" :named("scope"))
+    find_lex $P1397, "$name"
+    $P1398 = $P1394."new"($P1396, $P1397, "!PREFIX__!protoregex" :named("name"), "callmethod" :named("pasttype"))
+.annotate "line", 504
+    find_lex $P1399, "$/"
+    $P1400 = $P1390."new"($P1398, $P1393 :named("name"), "method" :named("blocktype"), 0 :named("lexical"), $P1399 :named("node"))
+.annotate "line", 503
+    $P1401 = $P1380."new"($P1389, $P1400)
+.annotate "line", 491
+    store_lex "$past", $P1401
+  if_1377_end:
+.annotate "line", 489
+    goto if_1345_end
+  if_1345:
 .annotate "line", 476
-    find_lex $P1349, "$past"
-    $P1349."pasttype"("callmethod")
-.annotate "line", 477
-    find_lex $P1350, "$/"
-    find_lex $P1351, "$past"
-    $P1352 = $P1350."!make"($P1351)
-.annotate "line", 473
-    .return ($P1352)
-  control_1323:
-    .local pmc exception 
-    .get_results (exception) 
-    getattribute $P1353, exception, "payload"
-    .return ($P1353)
-.end
-
-
-.namespace ["NQP";"Actions"]
-.sub "term:sym<self>"  :subid("77_1259103989.89791") :method :outer("11_1259103989.89791")
-    .param pmc param_1357
-.annotate "line", 482
-    new $P1356, 'ExceptionHandler'
-    set_addr $P1356, control_1355
-    $P1356."handle_types"(58)
-    push_eh $P1356
-    .lex "self", self
-    .lex "$/", param_1357
-.annotate "line", 483
-    find_lex $P1358, "$/"
-    get_hll_global $P1359, ["PAST"], "Var"
-    $P1360 = $P1359."new"("self" :named("name"))
-    $P1361 = $P1358."!make"($P1360)
-.annotate "line", 482
-    .return ($P1361)
-  control_1355:
+    .const 'Sub' $P1350 = "78_1259177779.79485" 
+    capture_lex $P1350
+    $P1350()
+  if_1345_end:
+.annotate "line", 522
+    find_lex $P1412, "$/"
+    find_lex $P1413, "$past"
+    $P1414 = $P1412."!make"($P1413)
+.annotate "line", 470
+    .return ($P1414)
+  control_1330:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P1362, exception, "payload"
-    .return ($P1362)
+    getattribute $P1415, exception, "payload"
+    .return ($P1415)
 .end
 
 
 .namespace ["NQP";"Actions"]
-.sub "term:sym<identifier>"  :subid("78_1259103989.89791") :method :outer("11_1259103989.89791")
-    .param pmc param_1366
-.annotate "line", 486
-    new $P1365, 'ExceptionHandler'
-    set_addr $P1365, control_1364
-    $P1365."handle_types"(58)
-    push_eh $P1365
-    .lex "self", self
-    .lex "$/", param_1366
-.annotate "line", 487
-    new $P1367, "Undef"
-    .lex "$past", $P1367
-    find_lex $P1368, "$/"
-    unless_null $P1368, vivify_439
-    new $P1368, "Hash"
+.sub "_block1349"  :anon :subid("78_1259177779.79485") :outer("77_1259177779.79485")
+.annotate "line", 477
+    new $P1351, "Hash"
+    .lex "%h", $P1351
+.annotate "line", 476
+    find_lex $P1352, "%h"
+.annotate "line", 478
+    find_lex $P1354, "$/"
+    unless_null $P1354, vivify_436
+    new $P1354, "Hash"
+  vivify_436:
+    set $P1355, $P1354["sym"]
+    unless_null $P1355, vivify_437
+    new $P1355, "Undef"
+  vivify_437:
+    set $S1356, $P1355
+    iseq $I1357, $S1356, "token"
+    unless $I1357, if_1353_end
+    new $P1358, "Integer"
+    assign $P1358, 1
+    find_lex $P1359, "%h"
+    unless_null $P1359, vivify_438
+    new $P1359, "Hash"
+    store_lex "%h", $P1359
+  vivify_438:
+    set $P1359["r"], $P1358
+  if_1353_end:
+.annotate "line", 479
+    find_lex $P1361, "$/"
+    unless_null $P1361, vivify_439
+    new $P1361, "Hash"
   vivify_439:
-    set $P1369, $P1368["args"]
-    unless_null $P1369, vivify_440
-    new $P1369, "Undef"
+    set $P1362, $P1361["sym"]
+    unless_null $P1362, vivify_440
+    new $P1362, "Undef"
   vivify_440:
-    $P1370 = $P1369."ast"()
-    store_lex "$past", $P1370
-.annotate "line", 488
-    find_lex $P1371, "$past"
-    find_lex $P1372, "$/"
-    unless_null $P1372, vivify_441
-    new $P1372, "Hash"
+    set $S1363, $P1362
+    iseq $I1364, $S1363, "rule"
+    unless $I1364, if_1360_end
+    new $P1365, "Integer"
+    assign $P1365, 1
+    find_lex $P1366, "%h"
+    unless_null $P1366, vivify_441
+    new $P1366, "Hash"
+    store_lex "%h", $P1366
   vivify_441:
-    set $P1373, $P1372["identifier"]
-    unless_null $P1373, vivify_442
-    new $P1373, "Undef"
+    set $P1366["r"], $P1365
+    new $P1367, "Integer"
+    assign $P1367, 1
+    find_lex $P1368, "%h"
+    unless_null $P1368, vivify_442
+    new $P1368, "Hash"
+    store_lex "%h", $P1368
   vivify_442:
-    set $S1374, $P1373
-    $P1371."name"($S1374)
-.annotate "line", 489
-    find_lex $P1375, "$/"
-    find_lex $P1376, "$past"
-    $P1377 = $P1375."!make"($P1376)
+    set $P1368["s"], $P1367
+  if_1360_end:
+.annotate "line", 480
+    find_lex $P1369, "@MODIFIERS"
+    find_lex $P1370, "%h"
+    $P1369."unshift"($P1370)
+.annotate "line", 481
+
+            $P0 = find_lex '$name'
+            set_hll_global ['Regex';'P6Regex';'Actions'], '$REGEXNAME', $P0
+        
+.annotate "line", 485
+    get_global $P1371, "@BLOCK"
+    unless_null $P1371, vivify_443
+    new $P1371, "ResizablePMCArray"
+  vivify_443:
+    set $P1372, $P1371[0]
+    unless_null $P1372, vivify_444
+    new $P1372, "Undef"
+  vivify_444:
+    $P1372."symbol"(unicode:"$\x{a2}", "lexical" :named("scope"))
 .annotate "line", 486
-    .return ($P1377)
-  control_1364:
-    .local pmc exception 
-    .get_results (exception) 
-    getattribute $P1378, exception, "payload"
-    .return ($P1378)
+    get_global $P1373, "@BLOCK"
+    unless_null $P1373, vivify_445
+    new $P1373, "ResizablePMCArray"
+  vivify_445:
+    set $P1374, $P1373[0]
+    unless_null $P1374, vivify_446
+    new $P1374, "Undef"
+  vivify_446:
+    $P1374."symbol"("$/", "lexical" :named("scope"))
+.annotate "line", 487
+    new $P1375, "Exception"
+    set $P1375['type'], 58
+    new $P1376, "Integer"
+    assign $P1376, 0
+    setattribute $P1375, 'payload', $P1376
+    throw $P1375
+.annotate "line", 476
+    .return ()
 .end
 
 
 .namespace ["NQP";"Actions"]
-.sub "term:sym<name>"  :subid("79_1259103989.89791") :method :outer("11_1259103989.89791")
-    .param pmc param_1382
-.annotate "line", 492
-    new $P1381, 'ExceptionHandler'
-    set_addr $P1381, control_1380
-    $P1381."handle_types"(58)
-    push_eh $P1381
+.sub "dotty"  :subid("79_1259177779.79485") :method :outer("11_1259177779.79485")
+    .param pmc param_1419
+.annotate "line", 526
+    new $P1418, 'ExceptionHandler'
+    set_addr $P1418, control_1417
+    $P1418."handle_types"(58)
+    push_eh $P1418
     .lex "self", self
-    .lex "$/", param_1382
-.annotate "line", 493
-    new $P1383, "ResizablePMCArray"
-    .lex "@ns", $P1383
-.annotate "line", 494
-    new $P1384, "Undef"
-    .lex "$name", $P1384
-.annotate "line", 496
-    new $P1385, "Undef"
-    .lex "$var", $P1385
-.annotate "line", 498
-    new $P1386, "Undef"
-    .lex "$past", $P1386
-.annotate "line", 493
-    find_lex $P1387, "$/"
-    unless_null $P1387, vivify_443
-    new $P1387, "Hash"
-  vivify_443:
-    set $P1388, $P1387["name"]
-    unless_null $P1388, vivify_444
-    new $P1388, "Hash"
-  vivify_444:
-    set $P1389, $P1388["identifier"]
-    unless_null $P1389, vivify_445
-    new $P1389, "Undef"
-  vivify_445:
-    clone $P1390, $P1389
-    store_lex "@ns", $P1390
-.annotate "line", 494
-    find_lex $P1391, "@ns"
-    $P1392 = $P1391."pop"()
-    store_lex "$name", $P1392
-.annotate "line", 495
-    find_lex $P1396, "@ns"
-    if $P1396, if_1395
-    set $P1394, $P1396
-    goto if_1395_end
-  if_1395:
-    find_lex $P1397, "@ns"
-    unless_null $P1397, vivify_446
-    new $P1397, "ResizablePMCArray"
-  vivify_446:
-    set $P1398, $P1397[0]
-    unless_null $P1398, vivify_447
-    new $P1398, "Undef"
+    .lex "$/", param_1419
+.annotate "line", 527
+    new $P1420, "Undef"
+    .lex "$past", $P1420
+    find_lex $P1423, "$/"
+    unless_null $P1423, vivify_447
+    new $P1423, "Hash"
   vivify_447:
-    set $S1399, $P1398
-    iseq $I1400, $S1399, "GLOBAL"
-    new $P1394, 'Integer'
-    set $P1394, $I1400
-  if_1395_end:
-    unless $P1394, if_1393_end
-    find_lex $P1401, "@ns"
-    $P1401."shift"()
-  if_1393_end:
-.annotate "line", 497
-    get_hll_global $P1402, ["PAST"], "Var"
-    find_lex $P1403, "$name"
-    set $S1404, $P1403
-    find_lex $P1405, "@ns"
-    $P1406 = $P1402."new"($S1404 :named("name"), $P1405 :named("namespace"), "package" :named("scope"))
-    store_lex "$var", $P1406
-.annotate "line", 498
-    find_lex $P1407, "$var"
-    store_lex "$past", $P1407
-.annotate "line", 499
-    find_lex $P1409, "$/"
-    unless_null $P1409, vivify_448
-    new $P1409, "Hash"
+    set $P1424, $P1423["args"]
+    unless_null $P1424, vivify_448
+    new $P1424, "Undef"
   vivify_448:
-    set $P1410, $P1409["args"]
-    unless_null $P1410, vivify_449
-    new $P1410, "Undef"
+    if $P1424, if_1422
+    get_hll_global $P1429, ["PAST"], "Op"
+    find_lex $P1430, "$/"
+    $P1431 = $P1429."new"($P1430 :named("node"))
+    set $P1421, $P1431
+    goto if_1422_end
+  if_1422:
+    find_lex $P1425, "$/"
+    unless_null $P1425, vivify_449
+    new $P1425, "Hash"
   vivify_449:
-    unless $P1410, if_1408_end
-.annotate "line", 500
-    find_lex $P1411, "$/"
-    unless_null $P1411, vivify_450
-    new $P1411, "Hash"
+    set $P1426, $P1425["args"]
+    unless_null $P1426, vivify_450
+    new $P1426, "ResizablePMCArray"
   vivify_450:
-    set $P1412, $P1411["args"]
-    unless_null $P1412, vivify_451
-    new $P1412, "ResizablePMCArray"
+    set $P1427, $P1426[0]
+    unless_null $P1427, vivify_451
+    new $P1427, "Undef"
   vivify_451:
-    set $P1413, $P1412[0]
-    unless_null $P1413, vivify_452
-    new $P1413, "Undef"
+    $P1428 = $P1427."ast"()
+    set $P1421, $P1428
+  if_1422_end:
+    store_lex "$past", $P1421
+.annotate "line", 528
+    find_lex $P1432, "$past"
+    find_lex $P1435, "$/"
+    unless_null $P1435, vivify_452
+    new $P1435, "Hash"
   vivify_452:
-    $P1414 = $P1413."ast"()
-    store_lex "$past", $P1414
-.annotate "line", 501
-    find_lex $P1415, "$past"
-    find_lex $P1416, "$var"
-    $P1415."unshift"($P1416)
-  if_1408_end:
-.annotate "line", 503
-    find_lex $P1417, "$/"
-    find_lex $P1418, "$past"
-    $P1419 = $P1417."!make"($P1418)
-.annotate "line", 492
-    .return ($P1419)
-  control_1380:
-    .local pmc exception 
-    .get_results (exception) 
-    getattribute $P1420, exception, "payload"
-    .return ($P1420)
-.end
-
-
-.namespace ["NQP";"Actions"]
-.sub "term:sym<pir::op>"  :subid("80_1259103989.89791") :method :outer("11_1259103989.89791")
-    .param pmc param_1424
-.annotate "line", 506
-    new $P1423, 'ExceptionHandler'
-    set_addr $P1423, control_1422
-    $P1423."handle_types"(58)
-    push_eh $P1423
-    .lex "self", self
-    .lex "$/", param_1424
-.annotate "line", 507
-    new $P1425, "Undef"
-    .lex "$past", $P1425
-.annotate "line", 508
-    new $P1426, "Undef"
-    .lex "$pirop", $P1426
-.annotate "line", 507
-    find_lex $P1429, "$/"
-    unless_null $P1429, vivify_453
-    new $P1429, "Hash"
+    set $P1436, $P1435["quote"]
+    unless_null $P1436, vivify_453
+    new $P1436, "Undef"
   vivify_453:
-    set $P1430, $P1429["args"]
-    unless_null $P1430, vivify_454
-    new $P1430, "Undef"
+    if $P1436, if_1434
+    find_lex $P1440, "$/"
+    unless_null $P1440, vivify_454
+    new $P1440, "Hash"
   vivify_454:
-    if $P1430, if_1428
-    get_hll_global $P1435, ["PAST"], "Op"
-    find_lex $P1436, "$/"
-    $P1437 = $P1435."new"($P1436 :named("node"))
-    set $P1427, $P1437
-    goto if_1428_end
-  if_1428:
-    find_lex $P1431, "$/"
-    unless_null $P1431, vivify_455
-    new $P1431, "Hash"
+    set $P1441, $P1440["longname"]
+    unless_null $P1441, vivify_455
+    new $P1441, "Undef"
   vivify_455:
-    set $P1432, $P1431["args"]
-    unless_null $P1432, vivify_456
-    new $P1432, "ResizablePMCArray"
+    set $S1442, $P1441
+    new $P1433, 'String'
+    set $P1433, $S1442
+    goto if_1434_end
+  if_1434:
+    find_lex $P1437, "$/"
+    unless_null $P1437, vivify_456
+    new $P1437, "Hash"
   vivify_456:
-    set $P1433, $P1432[0]
-    unless_null $P1433, vivify_457
-    new $P1433, "Undef"
+    set $P1438, $P1437["quote"]
+    unless_null $P1438, vivify_457
+    new $P1438, "Undef"
   vivify_457:
-    $P1434 = $P1433."ast"()
-    set $P1427, $P1434
-  if_1428_end:
-    store_lex "$past", $P1427
-.annotate "line", 508
-    find_lex $P1438, "$/"
-    unless_null $P1438, vivify_458
-    new $P1438, "Hash"
-  vivify_458:
-    set $P1439, $P1438["op"]
-    unless_null $P1439, vivify_459
-    new $P1439, "Undef"
-  vivify_459:
-    set $S1440, $P1439
-    new $P1441, 'String'
-    set $P1441, $S1440
-    store_lex "$pirop", $P1441
-.annotate "line", 509
-
-        $P0 = find_lex '$pirop'
-        $S0 = $P0
-        $P0 = split '__', $S0
-        $S0 = join ' ', $P0
-        $P1442 = box $S0
-    
-    store_lex "$pirop", $P1442
-.annotate "line", 516
+    $P1439 = $P1438."ast"()
+    set $P1433, $P1439
+  if_1434_end:
+    $P1432."name"($P1433)
+.annotate "line", 529
     find_lex $P1443, "$past"
-    find_lex $P1444, "$pirop"
-    $P1443."pirop"($P1444)
-.annotate "line", 517
+    $P1443."pasttype"("callmethod")
+.annotate "line", 530
+    find_lex $P1444, "$/"
     find_lex $P1445, "$past"
-    $P1445."pasttype"("pirop")
-.annotate "line", 518
-    find_lex $P1446, "$/"
-    find_lex $P1447, "$past"
-    $P1448 = $P1446."!make"($P1447)
-.annotate "line", 506
-    .return ($P1448)
-  control_1422:
+    $P1446 = $P1444."!make"($P1445)
+.annotate "line", 526
+    .return ($P1446)
+  control_1417:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P1449, exception, "payload"
-    .return ($P1449)
+    getattribute $P1447, exception, "payload"
+    .return ($P1447)
 .end
 
 
 .namespace ["NQP";"Actions"]
-.sub "args"  :subid("81_1259103989.89791") :method :outer("11_1259103989.89791")
-    .param pmc param_1453
-.annotate "line", 521
-    new $P1452, 'ExceptionHandler'
-    set_addr $P1452, control_1451
-    $P1452."handle_types"(58)
-    push_eh $P1452
-    .lex "self", self
-    .lex "$/", param_1453
-    find_lex $P1454, "$/"
-    find_lex $P1455, "$/"
-    unless_null $P1455, vivify_460
-    new $P1455, "Hash"
+.sub "term:sym<self>"  :subid("80_1259177779.79485") :method :outer("11_1259177779.79485")
+    .param pmc param_1451
+.annotate "line", 535
+    new $P1450, 'ExceptionHandler'
+    set_addr $P1450, control_1449
+    $P1450."handle_types"(58)
+    push_eh $P1450
+    .lex "self", self
+    .lex "$/", param_1451
+.annotate "line", 536
+    find_lex $P1452, "$/"
+    get_hll_global $P1453, ["PAST"], "Var"
+    $P1454 = $P1453."new"("self" :named("name"))
+    $P1455 = $P1452."!make"($P1454)
+.annotate "line", 535
+    .return ($P1455)
+  control_1449:
+    .local pmc exception 
+    .get_results (exception) 
+    getattribute $P1456, exception, "payload"
+    .return ($P1456)
+.end
+
+
+.namespace ["NQP";"Actions"]
+.sub "term:sym<identifier>"  :subid("81_1259177779.79485") :method :outer("11_1259177779.79485")
+    .param pmc param_1460
+.annotate "line", 539
+    new $P1459, 'ExceptionHandler'
+    set_addr $P1459, control_1458
+    $P1459."handle_types"(58)
+    push_eh $P1459
+    .lex "self", self
+    .lex "$/", param_1460
+.annotate "line", 540
+    new $P1461, "Undef"
+    .lex "$past", $P1461
+    find_lex $P1462, "$/"
+    unless_null $P1462, vivify_458
+    new $P1462, "Hash"
+  vivify_458:
+    set $P1463, $P1462["args"]
+    unless_null $P1463, vivify_459
+    new $P1463, "Undef"
+  vivify_459:
+    $P1464 = $P1463."ast"()
+    store_lex "$past", $P1464
+.annotate "line", 541
+    find_lex $P1465, "$past"
+    find_lex $P1466, "$/"
+    unless_null $P1466, vivify_460
+    new $P1466, "Hash"
   vivify_460:
-    set $P1456, $P1455["arglist"]
-    unless_null $P1456, vivify_461
-    new $P1456, "Undef"
+    set $P1467, $P1466["identifier"]
+    unless_null $P1467, vivify_461
+    new $P1467, "Undef"
   vivify_461:
-    $P1457 = $P1456."ast"()
-    $P1458 = $P1454."!make"($P1457)
-    .return ($P1458)
-  control_1451:
+    set $S1468, $P1467
+    $P1465."name"($S1468)
+.annotate "line", 542
+    find_lex $P1469, "$/"
+    find_lex $P1470, "$past"
+    $P1471 = $P1469."!make"($P1470)
+.annotate "line", 539
+    .return ($P1471)
+  control_1458:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P1459, exception, "payload"
-    .return ($P1459)
+    getattribute $P1472, exception, "payload"
+    .return ($P1472)
 .end
 
 
 .namespace ["NQP";"Actions"]
-.sub "arglist"  :subid("82_1259103989.89791") :method :outer("11_1259103989.89791")
-    .param pmc param_1463
-.annotate "line", 523
-    .const 'Sub' $P1474 = "83_1259103989.89791" 
-    capture_lex $P1474
-    new $P1462, 'ExceptionHandler'
-    set_addr $P1462, control_1461
-    $P1462."handle_types"(58)
-    push_eh $P1462
-    .lex "self", self
-    .lex "$/", param_1463
-.annotate "line", 524
-    new $P1464, "Undef"
-    .lex "$past", $P1464
-.annotate "line", 532
-    new $P1465, "Undef"
-    .lex "$i", $P1465
-.annotate "line", 533
-    new $P1466, "Undef"
-    .lex "$n", $P1466
-.annotate "line", 524
-    get_hll_global $P1467, ["PAST"], "Op"
-    find_lex $P1468, "$/"
-    $P1469 = $P1467."new"("call" :named("pasttype"), $P1468 :named("node"))
-    store_lex "$past", $P1469
-.annotate "line", 525
-    find_lex $P1471, "$/"
-    unless_null $P1471, vivify_462
-    new $P1471, "Hash"
+.sub "term:sym<name>"  :subid("82_1259177779.79485") :method :outer("11_1259177779.79485")
+    .param pmc param_1476
+.annotate "line", 545
+    new $P1475, 'ExceptionHandler'
+    set_addr $P1475, control_1474
+    $P1475."handle_types"(58)
+    push_eh $P1475
+    .lex "self", self
+    .lex "$/", param_1476
+.annotate "line", 546
+    new $P1477, "ResizablePMCArray"
+    .lex "@ns", $P1477
+.annotate "line", 547
+    new $P1478, "Undef"
+    .lex "$name", $P1478
+.annotate "line", 549
+    new $P1479, "Undef"
+    .lex "$var", $P1479
+.annotate "line", 551
+    new $P1480, "Undef"
+    .lex "$past", $P1480
+.annotate "line", 546
+    find_lex $P1481, "$/"
+    unless_null $P1481, vivify_462
+    new $P1481, "Hash"
   vivify_462:
-    set $P1472, $P1471["EXPR"]
-    unless_null $P1472, vivify_463
-    new $P1472, "Undef"
+    set $P1482, $P1481["name"]
+    unless_null $P1482, vivify_463
+    new $P1482, "Hash"
   vivify_463:
-    unless $P1472, if_1470_end
-    .const 'Sub' $P1474 = "83_1259103989.89791" 
-    capture_lex $P1474
-    $P1474()
-  if_1470_end:
-.annotate "line", 532
-    new $P1506, "Integer"
-    assign $P1506, 0
-    store_lex "$i", $P1506
-.annotate "line", 533
-    find_lex $P1507, "$past"
-    $P1508 = $P1507."list"()
-    set $N1509, $P1508
-    new $P1510, 'Float'
-    set $P1510, $N1509
-    store_lex "$n", $P1510
-.annotate "line", 534
-    new $P1538, 'ExceptionHandler'
-    set_addr $P1538, loop1537_handler
-    $P1538."handle_types"(65, 67, 66)
-    push_eh $P1538
-  loop1537_test:
-    find_lex $P1511, "$i"
-    set $N1512, $P1511
-    find_lex $P1513, "$n"
-    set $N1514, $P1513
-    islt $I1515, $N1512, $N1514
-    unless $I1515, loop1537_done
-  loop1537_redo:
-.annotate "line", 535
-    find_lex $P1517, "$i"
-    set $I1518, $P1517
-    find_lex $P1519, "$past"
-    unless_null $P1519, vivify_467
-    new $P1519, "ResizablePMCArray"
+    set $P1483, $P1482["identifier"]
+    unless_null $P1483, vivify_464
+    new $P1483, "Undef"
+  vivify_464:
+    clone $P1484, $P1483
+    store_lex "@ns", $P1484
+.annotate "line", 547
+    find_lex $P1485, "@ns"
+    $P1486 = $P1485."pop"()
+    store_lex "$name", $P1486
+.annotate "line", 548
+    find_lex $P1490, "@ns"
+    if $P1490, if_1489
+    set $P1488, $P1490
+    goto if_1489_end
+  if_1489:
+    find_lex $P1491, "@ns"
+    unless_null $P1491, vivify_465
+    new $P1491, "ResizablePMCArray"
+  vivify_465:
+    set $P1492, $P1491[0]
+    unless_null $P1492, vivify_466
+    new $P1492, "Undef"
+  vivify_466:
+    set $S1493, $P1492
+    iseq $I1494, $S1493, "GLOBAL"
+    new $P1488, 'Integer'
+    set $P1488, $I1494
+  if_1489_end:
+    unless $P1488, if_1487_end
+    find_lex $P1495, "@ns"
+    $P1495."shift"()
+  if_1487_end:
+.annotate "line", 550
+    get_hll_global $P1496, ["PAST"], "Var"
+    find_lex $P1497, "$name"
+    set $S1498, $P1497
+    find_lex $P1499, "@ns"
+    $P1500 = $P1496."new"($S1498 :named("name"), $P1499 :named("namespace"), "package" :named("scope"))
+    store_lex "$var", $P1500
+.annotate "line", 551
+    find_lex $P1501, "$var"
+    store_lex "$past", $P1501
+.annotate "line", 552
+    find_lex $P1503, "$/"
+    unless_null $P1503, vivify_467
+    new $P1503, "Hash"
   vivify_467:
-    set $P1520, $P1519[$I1518]
-    unless_null $P1520, vivify_468
-    new $P1520, "Undef"
+    set $P1504, $P1503["args"]
+    unless_null $P1504, vivify_468
+    new $P1504, "Undef"
   vivify_468:
-    $S1521 = $P1520."name"()
-    iseq $I1522, $S1521, "&prefix:<|>"
-    unless $I1522, if_1516_end
-.annotate "line", 536
-    find_lex $P1523, "$i"
-    set $I1524, $P1523
-    find_lex $P1525, "$past"
-    unless_null $P1525, vivify_469
-    new $P1525, "ResizablePMCArray"
+    unless $P1504, if_1502_end
+.annotate "line", 553
+    find_lex $P1505, "$/"
+    unless_null $P1505, vivify_469
+    new $P1505, "Hash"
   vivify_469:
-    set $P1526, $P1525[$I1524]
-    unless_null $P1526, vivify_470
-    new $P1526, "ResizablePMCArray"
+    set $P1506, $P1505["args"]
+    unless_null $P1506, vivify_470
+    new $P1506, "ResizablePMCArray"
   vivify_470:
-    set $P1527, $P1526[0]
-    unless_null $P1527, vivify_471
-    new $P1527, "Undef"
+    set $P1507, $P1506[0]
+    unless_null $P1507, vivify_471
+    new $P1507, "Undef"
   vivify_471:
-    find_lex $P1528, "$i"
-    set $I1529, $P1528
-    find_lex $P1530, "$past"
-    unless_null $P1530, vivify_472
-    new $P1530, "ResizablePMCArray"
-    store_lex "$past", $P1530
+    $P1508 = $P1507."ast"()
+    store_lex "$past", $P1508
+.annotate "line", 554
+    find_lex $P1509, "$past"
+    find_lex $P1510, "$var"
+    $P1509."unshift"($P1510)
+  if_1502_end:
+.annotate "line", 556
+    find_lex $P1511, "$/"
+    find_lex $P1512, "$past"
+    $P1513 = $P1511."!make"($P1512)
+.annotate "line", 545
+    .return ($P1513)
+  control_1474:
+    .local pmc exception 
+    .get_results (exception) 
+    getattribute $P1514, exception, "payload"
+    .return ($P1514)
+.end
+
+
+.namespace ["NQP";"Actions"]
+.sub "term:sym<pir::op>"  :subid("83_1259177779.79485") :method :outer("11_1259177779.79485")
+    .param pmc param_1518
+.annotate "line", 559
+    new $P1517, 'ExceptionHandler'
+    set_addr $P1517, control_1516
+    $P1517."handle_types"(58)
+    push_eh $P1517
+    .lex "self", self
+    .lex "$/", param_1518
+.annotate "line", 560
+    new $P1519, "Undef"
+    .lex "$past", $P1519
+.annotate "line", 561
+    new $P1520, "Undef"
+    .lex "$pirop", $P1520
+.annotate "line", 560
+    find_lex $P1523, "$/"
+    unless_null $P1523, vivify_472
+    new $P1523, "Hash"
   vivify_472:
-    set $P1530[$I1529], $P1527
-.annotate "line", 537
-    find_lex $P1531, "$i"
-    set $I1532, $P1531
-    find_lex $P1533, "$past"
-    unless_null $P1533, vivify_473
-    new $P1533, "ResizablePMCArray"
+    set $P1524, $P1523["args"]
+    unless_null $P1524, vivify_473
+    new $P1524, "Undef"
   vivify_473:
-    set $P1534, $P1533[$I1532]
-    unless_null $P1534, vivify_474
-    new $P1534, "Undef"
+    if $P1524, if_1522
+    get_hll_global $P1529, ["PAST"], "Op"
+    find_lex $P1530, "$/"
+    $P1531 = $P1529."new"($P1530 :named("node"))
+    set $P1521, $P1531
+    goto if_1522_end
+  if_1522:
+    find_lex $P1525, "$/"
+    unless_null $P1525, vivify_474
+    new $P1525, "Hash"
   vivify_474:
-    $P1534."flat"(1)
-  if_1516_end:
-.annotate "line", 535
-    find_lex $P1535, "$i"
-    clone $P1536, $P1535
-    inc $P1535
-  loop1537_next:
-.annotate "line", 534
-    goto loop1537_test
-  loop1537_handler:
-    .local pmc exception 
-    .get_results (exception) 
-    getattribute $P1539, exception, 'type'
-    eq $P1539, 65, loop1537_next
-    eq $P1539, 67, loop1537_redo
-  loop1537_done:
-    pop_eh 
-.annotate "line", 541
+    set $P1526, $P1525["args"]
+    unless_null $P1526, vivify_475
+    new $P1526, "ResizablePMCArray"
+  vivify_475:
+    set $P1527, $P1526[0]
+    unless_null $P1527, vivify_476
+    new $P1527, "Undef"
+  vivify_476:
+    $P1528 = $P1527."ast"()
+    set $P1521, $P1528
+  if_1522_end:
+    store_lex "$past", $P1521
+.annotate "line", 561
+    find_lex $P1532, "$/"
+    unless_null $P1532, vivify_477
+    new $P1532, "Hash"
+  vivify_477:
+    set $P1533, $P1532["op"]
+    unless_null $P1533, vivify_478
+    new $P1533, "Undef"
+  vivify_478:
+    set $S1534, $P1533
+    new $P1535, 'String'
+    set $P1535, $S1534
+    store_lex "$pirop", $P1535
+.annotate "line", 562
+
+        $P0 = find_lex '$pirop'
+        $S0 = $P0
+        $P0 = split '__', $S0
+        $S0 = join ' ', $P0
+        $P1536 = box $S0
+    
+    store_lex "$pirop", $P1536
+.annotate "line", 569
+    find_lex $P1537, "$past"
+    find_lex $P1538, "$pirop"
+    $P1537."pirop"($P1538)
+.annotate "line", 570
+    find_lex $P1539, "$past"
+    $P1539."pasttype"("pirop")
+.annotate "line", 571
     find_lex $P1540, "$/"
     find_lex $P1541, "$past"
     $P1542 = $P1540."!make"($P1541)
-.annotate "line", 523
+.annotate "line", 559
     .return ($P1542)
-  control_1461:
+  control_1516:
     .local pmc exception 
     .get_results (exception) 
     getattribute $P1543, exception, "payload"
@@ -19667,99 +19964,9 @@
 
 
 .namespace ["NQP";"Actions"]
-.sub "_block1473"  :anon :subid("83_1259103989.89791") :outer("82_1259103989.89791")
-.annotate "line", 525
-    .const 'Sub' $P1495 = "84_1259103989.89791" 
-    capture_lex $P1495
-.annotate "line", 526
-    new $P1475, "Undef"
-    .lex "$expr", $P1475
-    find_lex $P1476, "$/"
-    unless_null $P1476, vivify_464
-    new $P1476, "Hash"
-  vivify_464:
-    set $P1477, $P1476["EXPR"]
-    unless_null $P1477, vivify_465
-    new $P1477, "Undef"
-  vivify_465:
-    $P1478 = $P1477."ast"()
-    store_lex "$expr", $P1478
-.annotate "line", 527
-    find_lex $P1483, "$expr"
-    $S1484 = $P1483."name"()
-    iseq $I1485, $S1484, "&infix:<,>"
-    if $I1485, if_1482
-    new $P1481, 'Integer'
-    set $P1481, $I1485
-    goto if_1482_end
-  if_1482:
-    find_lex $P1486, "$expr"
-    $P1487 = $P1486."named"()
-    isfalse $I1488, $P1487
-    new $P1481, 'Integer'
-    set $P1481, $I1488
-  if_1482_end:
-    if $P1481, if_1480
-.annotate "line", 530
-    find_lex $P1503, "$past"
-    find_lex $P1504, "$expr"
-    $P1505 = $P1503."push"($P1504)
-    set $P1479, $P1505
-.annotate "line", 527
-    goto if_1480_end
-  if_1480:
-.annotate "line", 528
-    find_lex $P1490, "$expr"
-    $P1491 = $P1490."list"()
-    defined $I1492, $P1491
-    unless $I1492, for_undef_466
-    iter $P1489, $P1491
-    new $P1501, 'ExceptionHandler'
-    set_addr $P1501, loop1500_handler
-    $P1501."handle_types"(65, 67, 66)
-    push_eh $P1501
-  loop1500_test:
-    unless $P1489, loop1500_done
-    shift $P1493, $P1489
-  loop1500_redo:
-    .const 'Sub' $P1495 = "84_1259103989.89791" 
-    capture_lex $P1495
-    $P1495($P1493)
-  loop1500_next:
-    goto loop1500_test
-  loop1500_handler:
-    .local pmc exception 
-    .get_results (exception) 
-    getattribute $P1502, exception, 'type'
-    eq $P1502, 65, loop1500_next
-    eq $P1502, 67, loop1500_redo
-  loop1500_done:
-    pop_eh 
-  for_undef_466:
-.annotate "line", 527
-    set $P1479, $P1489
-  if_1480_end:
-.annotate "line", 525
-    .return ($P1479)
-.end
-
-
-.namespace ["NQP";"Actions"]
-.sub "_block1494"  :anon :subid("84_1259103989.89791") :outer("83_1259103989.89791")
-    .param pmc param_1496
-.annotate "line", 528
-    .lex "$_", param_1496
-    find_lex $P1497, "$past"
-    find_lex $P1498, "$_"
-    $P1499 = $P1497."push"($P1498)
-    .return ($P1499)
-.end
-
-
-.namespace ["NQP";"Actions"]
-.sub "term:sym<value>"  :subid("85_1259103989.89791") :method :outer("11_1259103989.89791")
+.sub "args"  :subid("84_1259177779.79485") :method :outer("11_1259177779.79485")
     .param pmc param_1547
-.annotate "line", 545
+.annotate "line", 574
     new $P1546, 'ExceptionHandler'
     set_addr $P1546, control_1545
     $P1546."handle_types"(58)
@@ -19768,13 +19975,13 @@
     .lex "$/", param_1547
     find_lex $P1548, "$/"
     find_lex $P1549, "$/"
-    unless_null $P1549, vivify_475
+    unless_null $P1549, vivify_479
     new $P1549, "Hash"
-  vivify_475:
-    set $P1550, $P1549["value"]
-    unless_null $P1550, vivify_476
+  vivify_479:
+    set $P1550, $P1549["arglist"]
+    unless_null $P1550, vivify_480
     new $P1550, "Undef"
-  vivify_476:
+  vivify_480:
     $P1551 = $P1550."ast"()
     $P1552 = $P1548."!make"($P1551)
     .return ($P1552)
@@ -19787,1169 +19994,1432 @@
 
 
 .namespace ["NQP";"Actions"]
-.sub "circumfix:sym<( )>"  :subid("86_1259103989.89791") :method :outer("11_1259103989.89791")
+.sub "arglist"  :subid("85_1259177779.79485") :method :outer("11_1259177779.79485")
     .param pmc param_1557
-.annotate "line", 547
+.annotate "line", 576
+    .const 'Sub' $P1568 = "86_1259177779.79485" 
+    capture_lex $P1568
     new $P1556, 'ExceptionHandler'
     set_addr $P1556, control_1555
     $P1556."handle_types"(58)
     push_eh $P1556
     .lex "self", self
     .lex "$/", param_1557
-.annotate "line", 548
-    find_lex $P1558, "$/"
-.annotate "line", 549
-    find_lex $P1561, "$/"
-    unless_null $P1561, vivify_477
-    new $P1561, "Hash"
-  vivify_477:
-    set $P1562, $P1561["EXPR"]
-    unless_null $P1562, vivify_478
-    new $P1562, "Undef"
-  vivify_478:
-    if $P1562, if_1560
-.annotate "line", 550
-    get_hll_global $P1567, ["PAST"], "Op"
-    find_lex $P1568, "$/"
-    $P1569 = $P1567."new"("list" :named("pasttype"), $P1568 :named("node"))
-    set $P1559, $P1569
-.annotate "line", 549
-    goto if_1560_end
-  if_1560:
-    find_lex $P1563, "$/"
-    unless_null $P1563, vivify_479
-    new $P1563, "Hash"
-  vivify_479:
-    set $P1564, $P1563["EXPR"]
-    unless_null $P1564, vivify_480
-    new $P1564, "ResizablePMCArray"
-  vivify_480:
-    set $P1565, $P1564[0]
+.annotate "line", 577
+    new $P1558, "Undef"
+    .lex "$past", $P1558
+.annotate "line", 585
+    new $P1559, "Undef"
+    .lex "$i", $P1559
+.annotate "line", 586
+    new $P1560, "Undef"
+    .lex "$n", $P1560
+.annotate "line", 577
+    get_hll_global $P1561, ["PAST"], "Op"
+    find_lex $P1562, "$/"
+    $P1563 = $P1561."new"("call" :named("pasttype"), $P1562 :named("node"))
+    store_lex "$past", $P1563
+.annotate "line", 578
+    find_lex $P1565, "$/"
     unless_null $P1565, vivify_481
-    new $P1565, "Undef"
+    new $P1565, "Hash"
   vivify_481:
-    $P1566 = $P1565."ast"()
-    set $P1559, $P1566
-  if_1560_end:
-    $P1570 = $P1558."!make"($P1559)
-.annotate "line", 547
-    .return ($P1570)
+    set $P1566, $P1565["EXPR"]
+    unless_null $P1566, vivify_482
+    new $P1566, "Undef"
+  vivify_482:
+    unless $P1566, if_1564_end
+    .const 'Sub' $P1568 = "86_1259177779.79485" 
+    capture_lex $P1568
+    $P1568()
+  if_1564_end:
+.annotate "line", 585
+    new $P1600, "Integer"
+    assign $P1600, 0
+    store_lex "$i", $P1600
+.annotate "line", 586
+    find_lex $P1601, "$past"
+    $P1602 = $P1601."list"()
+    set $N1603, $P1602
+    new $P1604, 'Float'
+    set $P1604, $N1603
+    store_lex "$n", $P1604
+.annotate "line", 587
+    new $P1632, 'ExceptionHandler'
+    set_addr $P1632, loop1631_handler
+    $P1632."handle_types"(65, 67, 66)
+    push_eh $P1632
+  loop1631_test:
+    find_lex $P1605, "$i"
+    set $N1606, $P1605
+    find_lex $P1607, "$n"
+    set $N1608, $P1607
+    islt $I1609, $N1606, $N1608
+    unless $I1609, loop1631_done
+  loop1631_redo:
+.annotate "line", 588
+    find_lex $P1611, "$i"
+    set $I1612, $P1611
+    find_lex $P1613, "$past"
+    unless_null $P1613, vivify_486
+    new $P1613, "ResizablePMCArray"
+  vivify_486:
+    set $P1614, $P1613[$I1612]
+    unless_null $P1614, vivify_487
+    new $P1614, "Undef"
+  vivify_487:
+    $S1615 = $P1614."name"()
+    iseq $I1616, $S1615, "&prefix:<|>"
+    unless $I1616, if_1610_end
+.annotate "line", 589
+    find_lex $P1617, "$i"
+    set $I1618, $P1617
+    find_lex $P1619, "$past"
+    unless_null $P1619, vivify_488
+    new $P1619, "ResizablePMCArray"
+  vivify_488:
+    set $P1620, $P1619[$I1618]
+    unless_null $P1620, vivify_489
+    new $P1620, "ResizablePMCArray"
+  vivify_489:
+    set $P1621, $P1620[0]
+    unless_null $P1621, vivify_490
+    new $P1621, "Undef"
+  vivify_490:
+    find_lex $P1622, "$i"
+    set $I1623, $P1622
+    find_lex $P1624, "$past"
+    unless_null $P1624, vivify_491
+    new $P1624, "ResizablePMCArray"
+    store_lex "$past", $P1624
+  vivify_491:
+    set $P1624[$I1623], $P1621
+.annotate "line", 590
+    find_lex $P1625, "$i"
+    set $I1626, $P1625
+    find_lex $P1627, "$past"
+    unless_null $P1627, vivify_492
+    new $P1627, "ResizablePMCArray"
+  vivify_492:
+    set $P1628, $P1627[$I1626]
+    unless_null $P1628, vivify_493
+    new $P1628, "Undef"
+  vivify_493:
+    $P1628."flat"(1)
+  if_1610_end:
+.annotate "line", 588
+    find_lex $P1629, "$i"
+    clone $P1630, $P1629
+    inc $P1629
+  loop1631_next:
+.annotate "line", 587
+    goto loop1631_test
+  loop1631_handler:
+    .local pmc exception 
+    .get_results (exception) 
+    getattribute $P1633, exception, 'type'
+    eq $P1633, 65, loop1631_next
+    eq $P1633, 67, loop1631_redo
+  loop1631_done:
+    pop_eh 
+.annotate "line", 594
+    find_lex $P1634, "$/"
+    find_lex $P1635, "$past"
+    $P1636 = $P1634."!make"($P1635)
+.annotate "line", 576
+    .return ($P1636)
   control_1555:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P1571, exception, "payload"
-    .return ($P1571)
+    getattribute $P1637, exception, "payload"
+    .return ($P1637)
 .end
 
 
 .namespace ["NQP";"Actions"]
-.sub "circumfix:sym<[ ]>"  :subid("87_1259103989.89791") :method :outer("11_1259103989.89791")
-    .param pmc param_1575
-.annotate "line", 553
-    new $P1574, 'ExceptionHandler'
-    set_addr $P1574, control_1573
-    $P1574."handle_types"(58)
-    push_eh $P1574
-    .lex "self", self
-    .lex "$/", param_1575
-.annotate "line", 554
-    new $P1576, "Undef"
-    .lex "$past", $P1576
-.annotate "line", 553
-    find_lex $P1577, "$past"
-.annotate "line", 555
-    find_lex $P1579, "$/"
-    unless_null $P1579, vivify_482
-    new $P1579, "Hash"
-  vivify_482:
-    set $P1580, $P1579["EXPR"]
-    unless_null $P1580, vivify_483
-    new $P1580, "Undef"
+.sub "_block1567"  :anon :subid("86_1259177779.79485") :outer("85_1259177779.79485")
+.annotate "line", 578
+    .const 'Sub' $P1589 = "87_1259177779.79485" 
+    capture_lex $P1589
+.annotate "line", 579
+    new $P1569, "Undef"
+    .lex "$expr", $P1569
+    find_lex $P1570, "$/"
+    unless_null $P1570, vivify_483
+    new $P1570, "Hash"
   vivify_483:
-    if $P1580, if_1578
-.annotate "line", 562
-    get_hll_global $P1592, ["PAST"], "Op"
-    $P1593 = $P1592."new"("list" :named("pasttype"))
-    store_lex "$past", $P1593
-.annotate "line", 561
-    goto if_1578_end
-  if_1578:
-.annotate "line", 556
-    find_lex $P1581, "$/"
-    unless_null $P1581, vivify_484
-    new $P1581, "Hash"
+    set $P1571, $P1570["EXPR"]
+    unless_null $P1571, vivify_484
+    new $P1571, "Undef"
   vivify_484:
-    set $P1582, $P1581["EXPR"]
-    unless_null $P1582, vivify_485
-    new $P1582, "ResizablePMCArray"
-  vivify_485:
-    set $P1583, $P1582[0]
-    unless_null $P1583, vivify_486
-    new $P1583, "Undef"
-  vivify_486:
-    $P1584 = $P1583."ast"()
-    store_lex "$past", $P1584
-.annotate "line", 557
-    find_lex $P1586, "$past"
-    $S1587 = $P1586."name"()
-    isne $I1588, $S1587, "&infix:<,>"
-    unless $I1588, if_1585_end
-.annotate "line", 558
-    get_hll_global $P1589, ["PAST"], "Op"
-    find_lex $P1590, "$past"
-    $P1591 = $P1589."new"($P1590, "list" :named("pasttype"))
-    store_lex "$past", $P1591
-  if_1585_end:
-  if_1578_end:
-.annotate "line", 564
-    find_lex $P1594, "$past"
-    $P1594."name"("&circumfix:<[ ]>")
-.annotate "line", 565
-    find_lex $P1595, "$/"
-    find_lex $P1596, "$past"
-    $P1597 = $P1595."!make"($P1596)
-.annotate "line", 553
-    .return ($P1597)
-  control_1573:
-    .local pmc exception 
-    .get_results (exception) 
-    getattribute $P1598, exception, "payload"
-    .return ($P1598)
+    $P1572 = $P1571."ast"()
+    store_lex "$expr", $P1572
+.annotate "line", 580
+    find_lex $P1577, "$expr"
+    $S1578 = $P1577."name"()
+    iseq $I1579, $S1578, "&infix:<,>"
+    if $I1579, if_1576
+    new $P1575, 'Integer'
+    set $P1575, $I1579
+    goto if_1576_end
+  if_1576:
+    find_lex $P1580, "$expr"
+    $P1581 = $P1580."named"()
+    isfalse $I1582, $P1581
+    new $P1575, 'Integer'
+    set $P1575, $I1582
+  if_1576_end:
+    if $P1575, if_1574
+.annotate "line", 583
+    find_lex $P1597, "$past"
+    find_lex $P1598, "$expr"
+    $P1599 = $P1597."push"($P1598)
+    set $P1573, $P1599
+.annotate "line", 580
+    goto if_1574_end
+  if_1574:
+.annotate "line", 581
+    find_lex $P1584, "$expr"
+    $P1585 = $P1584."list"()
+    defined $I1586, $P1585
+    unless $I1586, for_undef_485
+    iter $P1583, $P1585
+    new $P1595, 'ExceptionHandler'
+    set_addr $P1595, loop1594_handler
+    $P1595."handle_types"(65, 67, 66)
+    push_eh $P1595
+  loop1594_test:
+    unless $P1583, loop1594_done
+    shift $P1587, $P1583
+  loop1594_redo:
+    .const 'Sub' $P1589 = "87_1259177779.79485" 
+    capture_lex $P1589
+    $P1589($P1587)
+  loop1594_next:
+    goto loop1594_test
+  loop1594_handler:
+    .local pmc exception 
+    .get_results (exception) 
+    getattribute $P1596, exception, 'type'
+    eq $P1596, 65, loop1594_next
+    eq $P1596, 67, loop1594_redo
+  loop1594_done:
+    pop_eh 
+  for_undef_485:
+.annotate "line", 580
+    set $P1573, $P1583
+  if_1574_end:
+.annotate "line", 578
+    .return ($P1573)
 .end
 
 
 .namespace ["NQP";"Actions"]
-.sub "circumfix:sym<ang>"  :subid("88_1259103989.89791") :method :outer("11_1259103989.89791")
-    .param pmc param_1602
-.annotate "line", 568
-    new $P1601, 'ExceptionHandler'
-    set_addr $P1601, control_1600
-    $P1601."handle_types"(58)
-    push_eh $P1601
-    .lex "self", self
-    .lex "$/", param_1602
-    find_lex $P1603, "$/"
-    find_lex $P1604, "$/"
-    unless_null $P1604, vivify_487
-    new $P1604, "Hash"
-  vivify_487:
-    set $P1605, $P1604["quote_EXPR"]
-    unless_null $P1605, vivify_488
-    new $P1605, "Undef"
-  vivify_488:
-    $P1606 = $P1605."ast"()
-    $P1607 = $P1603."!make"($P1606)
-    .return ($P1607)
-  control_1600:
-    .local pmc exception 
-    .get_results (exception) 
-    getattribute $P1608, exception, "payload"
-    .return ($P1608)
+.sub "_block1588"  :anon :subid("87_1259177779.79485") :outer("86_1259177779.79485")
+    .param pmc param_1590
+.annotate "line", 581
+    .lex "$_", param_1590
+    find_lex $P1591, "$past"
+    find_lex $P1592, "$_"
+    $P1593 = $P1591."push"($P1592)
+    .return ($P1593)
 .end
 
 
 .namespace ["NQP";"Actions"]
-.sub "circumfix:sym<{ }>"  :subid("89_1259103989.89791") :method :outer("11_1259103989.89791")
-    .param pmc param_1612
-.annotate "line", 570
-    new $P1611, 'ExceptionHandler'
-    set_addr $P1611, control_1610
-    $P1611."handle_types"(58)
-    push_eh $P1611
-    .lex "self", self
-    .lex "$/", param_1612
-.annotate "line", 571
-    find_lex $P1613, "$/"
-    find_lex $P1616, "$/"
-    unless_null $P1616, vivify_489
-    new $P1616, "Hash"
-  vivify_489:
-    set $P1617, $P1616["pblock"]
-    unless_null $P1617, vivify_490
-    new $P1617, "Hash"
-  vivify_490:
-    set $P1618, $P1617["blockoid"]
-    unless_null $P1618, vivify_491
-    new $P1618, "Hash"
-  vivify_491:
-    set $P1619, $P1618["statementlist"]
-    unless_null $P1619, vivify_492
-    new $P1619, "Hash"
-  vivify_492:
-    set $P1620, $P1619["statement"]
-    unless_null $P1620, vivify_493
-    new $P1620, "Undef"
-  vivify_493:
-    set $N1621, $P1620
-    new $P1622, "Integer"
-    assign $P1622, 0
-    set $N1623, $P1622
-    isgt $I1624, $N1621, $N1623
-    if $I1624, if_1615
-.annotate "line", 573
-    get_hll_global $P1628, ["PAST"], "Op"
-    find_lex $P1629, "$/"
-    $P1630 = $P1628."new"("    %r = new [\"Hash\"]" :named("inline"), $P1629 :named("node"))
-    set $P1614, $P1630
-.annotate "line", 571
-    goto if_1615_end
-  if_1615:
-.annotate "line", 572
-    find_lex $P1625, "$/"
-    unless_null $P1625, vivify_494
-    new $P1625, "Hash"
+.sub "term:sym<value>"  :subid("88_1259177779.79485") :method :outer("11_1259177779.79485")
+    .param pmc param_1641
+.annotate "line", 598
+    new $P1640, 'ExceptionHandler'
+    set_addr $P1640, control_1639
+    $P1640."handle_types"(58)
+    push_eh $P1640
+    .lex "self", self
+    .lex "$/", param_1641
+    find_lex $P1642, "$/"
+    find_lex $P1643, "$/"
+    unless_null $P1643, vivify_494
+    new $P1643, "Hash"
   vivify_494:
-    set $P1626, $P1625["pblock"]
-    unless_null $P1626, vivify_495
-    new $P1626, "Undef"
+    set $P1644, $P1643["value"]
+    unless_null $P1644, vivify_495
+    new $P1644, "Undef"
   vivify_495:
-    $P1627 = $P1626."ast"()
-    set $P1614, $P1627
-  if_1615_end:
-    $P1631 = $P1613."!make"($P1614)
-.annotate "line", 570
-    .return ($P1631)
-  control_1610:
+    $P1645 = $P1644."ast"()
+    $P1646 = $P1642."!make"($P1645)
+    .return ($P1646)
+  control_1639:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P1632, exception, "payload"
-    .return ($P1632)
+    getattribute $P1647, exception, "payload"
+    .return ($P1647)
 .end
 
 
 .namespace ["NQP";"Actions"]
-.sub "circumfix:sym<sigil>"  :subid("90_1259103989.89791") :method :outer("11_1259103989.89791")
-    .param pmc param_1636
-.annotate "line", 576
-    new $P1635, 'ExceptionHandler'
-    set_addr $P1635, control_1634
-    $P1635."handle_types"(58)
-    push_eh $P1635
+.sub "circumfix:sym<( )>"  :subid("89_1259177779.79485") :method :outer("11_1259177779.79485")
+    .param pmc param_1651
+.annotate "line", 600
+    new $P1650, 'ExceptionHandler'
+    set_addr $P1650, control_1649
+    $P1650."handle_types"(58)
+    push_eh $P1650
     .lex "self", self
-    .lex "$/", param_1636
-.annotate "line", 577
-    new $P1637, "Undef"
-    .lex "$name", $P1637
-    find_lex $P1640, "$/"
-    unless_null $P1640, vivify_496
-    new $P1640, "Hash"
+    .lex "$/", param_1651
+.annotate "line", 601
+    find_lex $P1652, "$/"
+.annotate "line", 602
+    find_lex $P1655, "$/"
+    unless_null $P1655, vivify_496
+    new $P1655, "Hash"
   vivify_496:
-    set $P1641, $P1640["sigil"]
-    unless_null $P1641, vivify_497
-    new $P1641, "Undef"
+    set $P1656, $P1655["EXPR"]
+    unless_null $P1656, vivify_497
+    new $P1656, "Undef"
   vivify_497:
-    set $S1642, $P1641
-    iseq $I1643, $S1642, "@"
-    if $I1643, if_1639
-.annotate "line", 578
-    find_lex $P1647, "$/"
-    unless_null $P1647, vivify_498
-    new $P1647, "Hash"
+    if $P1656, if_1654
+.annotate "line", 603
+    get_hll_global $P1661, ["PAST"], "Op"
+    find_lex $P1662, "$/"
+    $P1663 = $P1661."new"("list" :named("pasttype"), $P1662 :named("node"))
+    set $P1653, $P1663
+.annotate "line", 602
+    goto if_1654_end
+  if_1654:
+    find_lex $P1657, "$/"
+    unless_null $P1657, vivify_498
+    new $P1657, "Hash"
   vivify_498:
-    set $P1648, $P1647["sigil"]
-    unless_null $P1648, vivify_499
-    new $P1648, "Undef"
+    set $P1658, $P1657["EXPR"]
+    unless_null $P1658, vivify_499
+    new $P1658, "ResizablePMCArray"
   vivify_499:
-    set $S1649, $P1648
-    iseq $I1650, $S1649, "%"
-    if $I1650, if_1646
-    new $P1652, "String"
-    assign $P1652, "item"
-    set $P1645, $P1652
-    goto if_1646_end
-  if_1646:
-    new $P1651, "String"
-    assign $P1651, "hash"
-    set $P1645, $P1651
-  if_1646_end:
-    set $P1638, $P1645
-.annotate "line", 577
-    goto if_1639_end
-  if_1639:
-    new $P1644, "String"
-    assign $P1644, "list"
-    set $P1638, $P1644
-  if_1639_end:
-    store_lex "$name", $P1638
-.annotate "line", 580
-    find_lex $P1653, "$/"
-    get_hll_global $P1654, ["PAST"], "Op"
-    find_lex $P1655, "$name"
-    find_lex $P1656, "$/"
-    unless_null $P1656, vivify_500
-    new $P1656, "Hash"
+    set $P1659, $P1658[0]
+    unless_null $P1659, vivify_500
+    new $P1659, "Undef"
   vivify_500:
-    set $P1657, $P1656["semilist"]
-    unless_null $P1657, vivify_501
-    new $P1657, "Undef"
-  vivify_501:
-    $P1658 = $P1657."ast"()
-    $P1659 = $P1654."new"($P1658, "callmethod" :named("pasttype"), $P1655 :named("name"))
-    $P1660 = $P1653."!make"($P1659)
-.annotate "line", 576
-    .return ($P1660)
-  control_1634:
+    $P1660 = $P1659."ast"()
+    set $P1653, $P1660
+  if_1654_end:
+    $P1664 = $P1652."!make"($P1653)
+.annotate "line", 600
+    .return ($P1664)
+  control_1649:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P1661, exception, "payload"
-    .return ($P1661)
+    getattribute $P1665, exception, "payload"
+    .return ($P1665)
 .end
 
 
 .namespace ["NQP";"Actions"]
-.sub "semilist"  :subid("91_1259103989.89791") :method :outer("11_1259103989.89791")
-    .param pmc param_1665
-.annotate "line", 583
-    new $P1664, 'ExceptionHandler'
-    set_addr $P1664, control_1663
-    $P1664."handle_types"(58)
-    push_eh $P1664
-    .lex "self", self
-    .lex "$/", param_1665
-    find_lex $P1666, "$/"
-    find_lex $P1667, "$/"
-    unless_null $P1667, vivify_502
-    new $P1667, "Hash"
+.sub "circumfix:sym<[ ]>"  :subid("90_1259177779.79485") :method :outer("11_1259177779.79485")
+    .param pmc param_1669
+.annotate "line", 606
+    new $P1668, 'ExceptionHandler'
+    set_addr $P1668, control_1667
+    $P1668."handle_types"(58)
+    push_eh $P1668
+    .lex "self", self
+    .lex "$/", param_1669
+.annotate "line", 607
+    new $P1670, "Undef"
+    .lex "$past", $P1670
+.annotate "line", 606
+    find_lex $P1671, "$past"
+.annotate "line", 608
+    find_lex $P1673, "$/"
+    unless_null $P1673, vivify_501
+    new $P1673, "Hash"
+  vivify_501:
+    set $P1674, $P1673["EXPR"]
+    unless_null $P1674, vivify_502
+    new $P1674, "Undef"
   vivify_502:
-    set $P1668, $P1667["statement"]
-    unless_null $P1668, vivify_503
-    new $P1668, "Undef"
+    if $P1674, if_1672
+.annotate "line", 615
+    get_hll_global $P1686, ["PAST"], "Op"
+    $P1687 = $P1686."new"("list" :named("pasttype"))
+    store_lex "$past", $P1687
+.annotate "line", 614
+    goto if_1672_end
+  if_1672:
+.annotate "line", 609
+    find_lex $P1675, "$/"
+    unless_null $P1675, vivify_503
+    new $P1675, "Hash"
   vivify_503:
-    $P1669 = $P1668."ast"()
-    $P1670 = $P1666."!make"($P1669)
-    .return ($P1670)
-  control_1663:
-    .local pmc exception 
-    .get_results (exception) 
-    getattribute $P1671, exception, "payload"
-    .return ($P1671)
-.end
-
-
-.namespace ["NQP";"Actions"]
-.sub "postcircumfix:sym<[ ]>"  :subid("92_1259103989.89791") :method :outer("11_1259103989.89791")
-    .param pmc param_1675
-.annotate "line", 585
-    new $P1674, 'ExceptionHandler'
-    set_addr $P1674, control_1673
-    $P1674."handle_types"(58)
-    push_eh $P1674
-    .lex "self", self
-    .lex "$/", param_1675
-.annotate "line", 586
-    find_lex $P1676, "$/"
-    get_hll_global $P1677, ["PAST"], "Var"
-    find_lex $P1678, "$/"
-    unless_null $P1678, vivify_504
-    new $P1678, "Hash"
+    set $P1676, $P1675["EXPR"]
+    unless_null $P1676, vivify_504
+    new $P1676, "ResizablePMCArray"
   vivify_504:
-    set $P1679, $P1678["EXPR"]
-    unless_null $P1679, vivify_505
-    new $P1679, "Undef"
+    set $P1677, $P1676[0]
+    unless_null $P1677, vivify_505
+    new $P1677, "Undef"
   vivify_505:
-    $P1680 = $P1679."ast"()
-    $P1681 = $P1677."new"($P1680, "keyed_int" :named("scope"), "Undef" :named("viviself"), "ResizablePMCArray" :named("vivibase"))
-    $P1682 = $P1676."!make"($P1681)
-.annotate "line", 585
-    .return ($P1682)
-  control_1673:
+    $P1678 = $P1677."ast"()
+    store_lex "$past", $P1678
+.annotate "line", 610
+    find_lex $P1680, "$past"
+    $S1681 = $P1680."name"()
+    isne $I1682, $S1681, "&infix:<,>"
+    unless $I1682, if_1679_end
+.annotate "line", 611
+    get_hll_global $P1683, ["PAST"], "Op"
+    find_lex $P1684, "$past"
+    $P1685 = $P1683."new"($P1684, "list" :named("pasttype"))
+    store_lex "$past", $P1685
+  if_1679_end:
+  if_1672_end:
+.annotate "line", 617
+    find_lex $P1688, "$past"
+    $P1688."name"("&circumfix:<[ ]>")
+.annotate "line", 618
+    find_lex $P1689, "$/"
+    find_lex $P1690, "$past"
+    $P1691 = $P1689."!make"($P1690)
+.annotate "line", 606
+    .return ($P1691)
+  control_1667:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P1683, exception, "payload"
-    .return ($P1683)
+    getattribute $P1692, exception, "payload"
+    .return ($P1692)
 .end
 
 
 .namespace ["NQP";"Actions"]
-.sub "postcircumfix:sym<{ }>"  :subid("93_1259103989.89791") :method :outer("11_1259103989.89791")
-    .param pmc param_1687
-.annotate "line", 591
-    new $P1686, 'ExceptionHandler'
-    set_addr $P1686, control_1685
-    $P1686."handle_types"(58)
-    push_eh $P1686
-    .lex "self", self
-    .lex "$/", param_1687
-.annotate "line", 592
-    find_lex $P1688, "$/"
-    get_hll_global $P1689, ["PAST"], "Var"
-    find_lex $P1690, "$/"
-    unless_null $P1690, vivify_506
-    new $P1690, "Hash"
+.sub "circumfix:sym<ang>"  :subid("91_1259177779.79485") :method :outer("11_1259177779.79485")
+    .param pmc param_1696
+.annotate "line", 621
+    new $P1695, 'ExceptionHandler'
+    set_addr $P1695, control_1694
+    $P1695."handle_types"(58)
+    push_eh $P1695
+    .lex "self", self
+    .lex "$/", param_1696
+    find_lex $P1697, "$/"
+    find_lex $P1698, "$/"
+    unless_null $P1698, vivify_506
+    new $P1698, "Hash"
   vivify_506:
-    set $P1691, $P1690["EXPR"]
-    unless_null $P1691, vivify_507
-    new $P1691, "Undef"
+    set $P1699, $P1698["quote_EXPR"]
+    unless_null $P1699, vivify_507
+    new $P1699, "Undef"
   vivify_507:
-    $P1692 = $P1691."ast"()
-    $P1693 = $P1689."new"($P1692, "keyed" :named("scope"), "Undef" :named("viviself"), "Hash" :named("vivibase"))
-    $P1694 = $P1688."!make"($P1693)
-.annotate "line", 591
-    .return ($P1694)
-  control_1685:
+    $P1700 = $P1699."ast"()
+    $P1701 = $P1697."!make"($P1700)
+    .return ($P1701)
+  control_1694:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P1695, exception, "payload"
-    .return ($P1695)
+    getattribute $P1702, exception, "payload"
+    .return ($P1702)
 .end
 
 
 .namespace ["NQP";"Actions"]
-.sub "postcircumfix:sym<ang>"  :subid("94_1259103989.89791") :method :outer("11_1259103989.89791")
-    .param pmc param_1699
-.annotate "line", 597
-    new $P1698, 'ExceptionHandler'
-    set_addr $P1698, control_1697
-    $P1698."handle_types"(58)
-    push_eh $P1698
-    .lex "self", self
-    .lex "$/", param_1699
-.annotate "line", 598
-    find_lex $P1700, "$/"
-    get_hll_global $P1701, ["PAST"], "Var"
-    find_lex $P1702, "$/"
-    unless_null $P1702, vivify_508
-    new $P1702, "Hash"
+.sub "circumfix:sym<{ }>"  :subid("92_1259177779.79485") :method :outer("11_1259177779.79485")
+    .param pmc param_1706
+.annotate "line", 623
+    new $P1705, 'ExceptionHandler'
+    set_addr $P1705, control_1704
+    $P1705."handle_types"(58)
+    push_eh $P1705
+    .lex "self", self
+    .lex "$/", param_1706
+.annotate "line", 624
+    find_lex $P1707, "$/"
+    find_lex $P1710, "$/"
+    unless_null $P1710, vivify_508
+    new $P1710, "Hash"
   vivify_508:
-    set $P1703, $P1702["quote_EXPR"]
-    unless_null $P1703, vivify_509
-    new $P1703, "Undef"
+    set $P1711, $P1710["pblock"]
+    unless_null $P1711, vivify_509
+    new $P1711, "Hash"
   vivify_509:
-    $P1704 = $P1703."ast"()
-    $P1705 = $P1701."new"($P1704, "keyed" :named("scope"), "Undef" :named("viviself"), "Hash" :named("vivibase"))
-    $P1706 = $P1700."!make"($P1705)
-.annotate "line", 597
-    .return ($P1706)
-  control_1697:
-    .local pmc exception 
-    .get_results (exception) 
-    getattribute $P1707, exception, "payload"
-    .return ($P1707)
-.end
-
-
-.namespace ["NQP";"Actions"]
-.sub "postcircumfix:sym<( )>"  :subid("95_1259103989.89791") :method :outer("11_1259103989.89791")
-    .param pmc param_1711
-.annotate "line", 603
-    new $P1710, 'ExceptionHandler'
-    set_addr $P1710, control_1709
-    $P1710."handle_types"(58)
-    push_eh $P1710
-    .lex "self", self
-    .lex "$/", param_1711
-.annotate "line", 604
-    find_lex $P1712, "$/"
-    find_lex $P1713, "$/"
-    unless_null $P1713, vivify_510
-    new $P1713, "Hash"
+    set $P1712, $P1711["blockoid"]
+    unless_null $P1712, vivify_510
+    new $P1712, "Hash"
   vivify_510:
-    set $P1714, $P1713["arglist"]
-    unless_null $P1714, vivify_511
-    new $P1714, "Undef"
+    set $P1713, $P1712["statementlist"]
+    unless_null $P1713, vivify_511
+    new $P1713, "Hash"
   vivify_511:
-    $P1715 = $P1714."ast"()
-    $P1716 = $P1712."!make"($P1715)
-.annotate "line", 603
-    .return ($P1716)
-  control_1709:
+    set $P1714, $P1713["statement"]
+    unless_null $P1714, vivify_512
+    new $P1714, "Undef"
+  vivify_512:
+    set $N1715, $P1714
+    new $P1716, "Integer"
+    assign $P1716, 0
+    set $N1717, $P1716
+    isgt $I1718, $N1715, $N1717
+    if $I1718, if_1709
+.annotate "line", 626
+    get_hll_global $P1722, ["PAST"], "Op"
+    find_lex $P1723, "$/"
+    $P1724 = $P1722."new"("    %r = new [\"Hash\"]" :named("inline"), $P1723 :named("node"))
+    set $P1708, $P1724
+.annotate "line", 624
+    goto if_1709_end
+  if_1709:
+.annotate "line", 625
+    find_lex $P1719, "$/"
+    unless_null $P1719, vivify_513
+    new $P1719, "Hash"
+  vivify_513:
+    set $P1720, $P1719["pblock"]
+    unless_null $P1720, vivify_514
+    new $P1720, "Undef"
+  vivify_514:
+    $P1721 = $P1720."ast"()
+    set $P1708, $P1721
+  if_1709_end:
+    $P1725 = $P1707."!make"($P1708)
+.annotate "line", 623
+    .return ($P1725)
+  control_1704:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P1717, exception, "payload"
-    .return ($P1717)
+    getattribute $P1726, exception, "payload"
+    .return ($P1726)
 .end
 
 
 .namespace ["NQP";"Actions"]
-.sub "value"  :subid("96_1259103989.89791") :method :outer("11_1259103989.89791")
-    .param pmc param_1721
-.annotate "line", 607
-    new $P1720, 'ExceptionHandler'
-    set_addr $P1720, control_1719
-    $P1720."handle_types"(58)
-    push_eh $P1720
+.sub "circumfix:sym<sigil>"  :subid("93_1259177779.79485") :method :outer("11_1259177779.79485")
+    .param pmc param_1730
+.annotate "line", 629
+    new $P1729, 'ExceptionHandler'
+    set_addr $P1729, control_1728
+    $P1729."handle_types"(58)
+    push_eh $P1729
     .lex "self", self
-    .lex "$/", param_1721
-.annotate "line", 608
-    find_lex $P1722, "$/"
-    find_lex $P1725, "$/"
-    unless_null $P1725, vivify_512
-    new $P1725, "Hash"
-  vivify_512:
-    set $P1726, $P1725["quote"]
-    unless_null $P1726, vivify_513
-    new $P1726, "Undef"
-  vivify_513:
-    if $P1726, if_1724
-    find_lex $P1730, "$/"
-    unless_null $P1730, vivify_514
-    new $P1730, "Hash"
-  vivify_514:
-    set $P1731, $P1730["number"]
-    unless_null $P1731, vivify_515
+    .lex "$/", param_1730
+.annotate "line", 630
     new $P1731, "Undef"
+    .lex "$name", $P1731
+    find_lex $P1734, "$/"
+    unless_null $P1734, vivify_515
+    new $P1734, "Hash"
   vivify_515:
-    $P1732 = $P1731."ast"()
-    set $P1723, $P1732
-    goto if_1724_end
-  if_1724:
-    find_lex $P1727, "$/"
-    unless_null $P1727, vivify_516
-    new $P1727, "Hash"
+    set $P1735, $P1734["sigil"]
+    unless_null $P1735, vivify_516
+    new $P1735, "Undef"
   vivify_516:
-    set $P1728, $P1727["quote"]
-    unless_null $P1728, vivify_517
-    new $P1728, "Undef"
+    set $S1736, $P1735
+    iseq $I1737, $S1736, "@"
+    if $I1737, if_1733
+.annotate "line", 631
+    find_lex $P1741, "$/"
+    unless_null $P1741, vivify_517
+    new $P1741, "Hash"
   vivify_517:
-    $P1729 = $P1728."ast"()
-    set $P1723, $P1729
-  if_1724_end:
-    $P1733 = $P1722."!make"($P1723)
-.annotate "line", 607
-    .return ($P1733)
-  control_1719:
+    set $P1742, $P1741["sigil"]
+    unless_null $P1742, vivify_518
+    new $P1742, "Undef"
+  vivify_518:
+    set $S1743, $P1742
+    iseq $I1744, $S1743, "%"
+    if $I1744, if_1740
+    new $P1746, "String"
+    assign $P1746, "item"
+    set $P1739, $P1746
+    goto if_1740_end
+  if_1740:
+    new $P1745, "String"
+    assign $P1745, "hash"
+    set $P1739, $P1745
+  if_1740_end:
+    set $P1732, $P1739
+.annotate "line", 630
+    goto if_1733_end
+  if_1733:
+    new $P1738, "String"
+    assign $P1738, "list"
+    set $P1732, $P1738
+  if_1733_end:
+    store_lex "$name", $P1732
+.annotate "line", 633
+    find_lex $P1747, "$/"
+    get_hll_global $P1748, ["PAST"], "Op"
+    find_lex $P1749, "$name"
+    find_lex $P1750, "$/"
+    unless_null $P1750, vivify_519
+    new $P1750, "Hash"
+  vivify_519:
+    set $P1751, $P1750["semilist"]
+    unless_null $P1751, vivify_520
+    new $P1751, "Undef"
+  vivify_520:
+    $P1752 = $P1751."ast"()
+    $P1753 = $P1748."new"($P1752, "callmethod" :named("pasttype"), $P1749 :named("name"))
+    $P1754 = $P1747."!make"($P1753)
+.annotate "line", 629
+    .return ($P1754)
+  control_1728:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P1734, exception, "payload"
-    .return ($P1734)
+    getattribute $P1755, exception, "payload"
+    .return ($P1755)
 .end
 
 
 .namespace ["NQP";"Actions"]
-.sub "number"  :subid("97_1259103989.89791") :method :outer("11_1259103989.89791")
-    .param pmc param_1738
-.annotate "line", 611
-    new $P1737, 'ExceptionHandler'
-    set_addr $P1737, control_1736
-    $P1737."handle_types"(58)
-    push_eh $P1737
-    .lex "self", self
-    .lex "$/", param_1738
-.annotate "line", 612
-    new $P1739, "Undef"
-    .lex "$value", $P1739
-    find_lex $P1742, "$/"
-    unless_null $P1742, vivify_518
-    new $P1742, "Hash"
-  vivify_518:
-    set $P1743, $P1742["dec_number"]
-    unless_null $P1743, vivify_519
-    new $P1743, "Undef"
-  vivify_519:
-    if $P1743, if_1741
-    find_lex $P1747, "$/"
-    unless_null $P1747, vivify_520
-    new $P1747, "Hash"
-  vivify_520:
-    set $P1748, $P1747["integer"]
-    unless_null $P1748, vivify_521
-    new $P1748, "Undef"
+.sub "semilist"  :subid("94_1259177779.79485") :method :outer("11_1259177779.79485")
+    .param pmc param_1759
+.annotate "line", 636
+    new $P1758, 'ExceptionHandler'
+    set_addr $P1758, control_1757
+    $P1758."handle_types"(58)
+    push_eh $P1758
+    .lex "self", self
+    .lex "$/", param_1759
+    find_lex $P1760, "$/"
+    find_lex $P1761, "$/"
+    unless_null $P1761, vivify_521
+    new $P1761, "Hash"
   vivify_521:
-    $P1749 = $P1748."ast"()
-    set $P1740, $P1749
-    goto if_1741_end
-  if_1741:
-    find_lex $P1744, "$/"
-    unless_null $P1744, vivify_522
-    new $P1744, "Hash"
+    set $P1762, $P1761["statement"]
+    unless_null $P1762, vivify_522
+    new $P1762, "Undef"
   vivify_522:
-    set $P1745, $P1744["dec_number"]
-    unless_null $P1745, vivify_523
-    new $P1745, "Undef"
+    $P1763 = $P1762."ast"()
+    $P1764 = $P1760."!make"($P1763)
+    .return ($P1764)
+  control_1757:
+    .local pmc exception 
+    .get_results (exception) 
+    getattribute $P1765, exception, "payload"
+    .return ($P1765)
+.end
+
+
+.namespace ["NQP";"Actions"]
+.sub "postcircumfix:sym<[ ]>"  :subid("95_1259177779.79485") :method :outer("11_1259177779.79485")
+    .param pmc param_1769
+.annotate "line", 638
+    new $P1768, 'ExceptionHandler'
+    set_addr $P1768, control_1767
+    $P1768."handle_types"(58)
+    push_eh $P1768
+    .lex "self", self
+    .lex "$/", param_1769
+.annotate "line", 639
+    find_lex $P1770, "$/"
+    get_hll_global $P1771, ["PAST"], "Var"
+    find_lex $P1772, "$/"
+    unless_null $P1772, vivify_523
+    new $P1772, "Hash"
   vivify_523:
-    $P1746 = $P1745."ast"()
-    set $P1740, $P1746
-  if_1741_end:
-    store_lex "$value", $P1740
-.annotate "line", 613
-    find_lex $P1751, "$/"
-    unless_null $P1751, vivify_524
-    new $P1751, "Hash"
+    set $P1773, $P1772["EXPR"]
+    unless_null $P1773, vivify_524
+    new $P1773, "Undef"
   vivify_524:
-    set $P1752, $P1751["sign"]
-    unless_null $P1752, vivify_525
-    new $P1752, "Undef"
-  vivify_525:
-    set $S1753, $P1752
-    iseq $I1754, $S1753, "-"
-    unless $I1754, if_1750_end
-    find_lex $P1755, "$value"
-    neg $P1756, $P1755
-    store_lex "$value", $P1756
-  if_1750_end:
-.annotate "line", 614
-    find_lex $P1757, "$/"
-    get_hll_global $P1758, ["PAST"], "Val"
-    find_lex $P1759, "$value"
-    $P1760 = $P1758."new"($P1759 :named("value"))
-    $P1761 = $P1757."!make"($P1760)
-.annotate "line", 611
-    .return ($P1761)
-  control_1736:
+    $P1774 = $P1773."ast"()
+    $P1775 = $P1771."new"($P1774, "keyed_int" :named("scope"), "Undef" :named("viviself"), "ResizablePMCArray" :named("vivibase"))
+    $P1776 = $P1770."!make"($P1775)
+.annotate "line", 638
+    .return ($P1776)
+  control_1767:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P1762, exception, "payload"
-    .return ($P1762)
+    getattribute $P1777, exception, "payload"
+    .return ($P1777)
 .end
 
 
 .namespace ["NQP";"Actions"]
-.sub "quote:sym<apos>"  :subid("98_1259103989.89791") :method :outer("11_1259103989.89791")
-    .param pmc param_1766
-.annotate "line", 617
-    new $P1765, 'ExceptionHandler'
-    set_addr $P1765, control_1764
-    $P1765."handle_types"(58)
-    push_eh $P1765
-    .lex "self", self
-    .lex "$/", param_1766
-    find_lex $P1767, "$/"
-    find_lex $P1768, "$/"
-    unless_null $P1768, vivify_526
-    new $P1768, "Hash"
+.sub "postcircumfix:sym<{ }>"  :subid("96_1259177779.79485") :method :outer("11_1259177779.79485")
+    .param pmc param_1781
+.annotate "line", 644
+    new $P1780, 'ExceptionHandler'
+    set_addr $P1780, control_1779
+    $P1780."handle_types"(58)
+    push_eh $P1780
+    .lex "self", self
+    .lex "$/", param_1781
+.annotate "line", 645
+    find_lex $P1782, "$/"
+    get_hll_global $P1783, ["PAST"], "Var"
+    find_lex $P1784, "$/"
+    unless_null $P1784, vivify_525
+    new $P1784, "Hash"
+  vivify_525:
+    set $P1785, $P1784["EXPR"]
+    unless_null $P1785, vivify_526
+    new $P1785, "Undef"
   vivify_526:
-    set $P1769, $P1768["quote_EXPR"]
-    unless_null $P1769, vivify_527
-    new $P1769, "Undef"
-  vivify_527:
-    $P1770 = $P1769."ast"()
-    $P1771 = $P1767."!make"($P1770)
-    .return ($P1771)
-  control_1764:
+    $P1786 = $P1785."ast"()
+    $P1787 = $P1783."new"($P1786, "keyed" :named("scope"), "Undef" :named("viviself"), "Hash" :named("vivibase"))
+    $P1788 = $P1782."!make"($P1787)
+.annotate "line", 644
+    .return ($P1788)
+  control_1779:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P1772, exception, "payload"
-    .return ($P1772)
+    getattribute $P1789, exception, "payload"
+    .return ($P1789)
 .end
 
 
 .namespace ["NQP";"Actions"]
-.sub "quote:sym<dblq>"  :subid("99_1259103989.89791") :method :outer("11_1259103989.89791")
-    .param pmc param_1776
-.annotate "line", 618
-    new $P1775, 'ExceptionHandler'
-    set_addr $P1775, control_1774
-    $P1775."handle_types"(58)
-    push_eh $P1775
-    .lex "self", self
-    .lex "$/", param_1776
-    find_lex $P1777, "$/"
-    find_lex $P1778, "$/"
-    unless_null $P1778, vivify_528
-    new $P1778, "Hash"
+.sub "postcircumfix:sym<ang>"  :subid("97_1259177779.79485") :method :outer("11_1259177779.79485")
+    .param pmc param_1793
+.annotate "line", 650
+    new $P1792, 'ExceptionHandler'
+    set_addr $P1792, control_1791
+    $P1792."handle_types"(58)
+    push_eh $P1792
+    .lex "self", self
+    .lex "$/", param_1793
+.annotate "line", 651
+    find_lex $P1794, "$/"
+    get_hll_global $P1795, ["PAST"], "Var"
+    find_lex $P1796, "$/"
+    unless_null $P1796, vivify_527
+    new $P1796, "Hash"
+  vivify_527:
+    set $P1797, $P1796["quote_EXPR"]
+    unless_null $P1797, vivify_528
+    new $P1797, "Undef"
   vivify_528:
-    set $P1779, $P1778["quote_EXPR"]
-    unless_null $P1779, vivify_529
-    new $P1779, "Undef"
-  vivify_529:
-    $P1780 = $P1779."ast"()
-    $P1781 = $P1777."!make"($P1780)
-    .return ($P1781)
-  control_1774:
+    $P1798 = $P1797."ast"()
+    $P1799 = $P1795."new"($P1798, "keyed" :named("scope"), "Undef" :named("viviself"), "Hash" :named("vivibase"))
+    $P1800 = $P1794."!make"($P1799)
+.annotate "line", 650
+    .return ($P1800)
+  control_1791:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P1782, exception, "payload"
-    .return ($P1782)
+    getattribute $P1801, exception, "payload"
+    .return ($P1801)
 .end
 
 
 .namespace ["NQP";"Actions"]
-.sub "quote:sym<qq>"  :subid("100_1259103989.89791") :method :outer("11_1259103989.89791")
-    .param pmc param_1786
-.annotate "line", 619
-    new $P1785, 'ExceptionHandler'
-    set_addr $P1785, control_1784
-    $P1785."handle_types"(58)
-    push_eh $P1785
-    .lex "self", self
-    .lex "$/", param_1786
-    find_lex $P1787, "$/"
-    find_lex $P1788, "$/"
-    unless_null $P1788, vivify_530
-    new $P1788, "Hash"
+.sub "postcircumfix:sym<( )>"  :subid("98_1259177779.79485") :method :outer("11_1259177779.79485")
+    .param pmc param_1805
+.annotate "line", 656
+    new $P1804, 'ExceptionHandler'
+    set_addr $P1804, control_1803
+    $P1804."handle_types"(58)
+    push_eh $P1804
+    .lex "self", self
+    .lex "$/", param_1805
+.annotate "line", 657
+    find_lex $P1806, "$/"
+    find_lex $P1807, "$/"
+    unless_null $P1807, vivify_529
+    new $P1807, "Hash"
+  vivify_529:
+    set $P1808, $P1807["arglist"]
+    unless_null $P1808, vivify_530
+    new $P1808, "Undef"
   vivify_530:
-    set $P1789, $P1788["quote_EXPR"]
-    unless_null $P1789, vivify_531
-    new $P1789, "Undef"
-  vivify_531:
-    $P1790 = $P1789."ast"()
-    $P1791 = $P1787."!make"($P1790)
-    .return ($P1791)
-  control_1784:
+    $P1809 = $P1808."ast"()
+    $P1810 = $P1806."!make"($P1809)
+.annotate "line", 656
+    .return ($P1810)
+  control_1803:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P1792, exception, "payload"
-    .return ($P1792)
+    getattribute $P1811, exception, "payload"
+    .return ($P1811)
 .end
 
 
 .namespace ["NQP";"Actions"]
-.sub "quote:sym<q>"  :subid("101_1259103989.89791") :method :outer("11_1259103989.89791")
-    .param pmc param_1796
-.annotate "line", 620
-    new $P1795, 'ExceptionHandler'
-    set_addr $P1795, control_1794
-    $P1795."handle_types"(58)
-    push_eh $P1795
+.sub "value"  :subid("99_1259177779.79485") :method :outer("11_1259177779.79485")
+    .param pmc param_1815
+.annotate "line", 660
+    new $P1814, 'ExceptionHandler'
+    set_addr $P1814, control_1813
+    $P1814."handle_types"(58)
+    push_eh $P1814
     .lex "self", self
-    .lex "$/", param_1796
-    find_lex $P1797, "$/"
-    find_lex $P1798, "$/"
-    unless_null $P1798, vivify_532
-    new $P1798, "Hash"
+    .lex "$/", param_1815
+.annotate "line", 661
+    find_lex $P1816, "$/"
+    find_lex $P1819, "$/"
+    unless_null $P1819, vivify_531
+    new $P1819, "Hash"
+  vivify_531:
+    set $P1820, $P1819["quote"]
+    unless_null $P1820, vivify_532
+    new $P1820, "Undef"
   vivify_532:
-    set $P1799, $P1798["quote_EXPR"]
-    unless_null $P1799, vivify_533
-    new $P1799, "Undef"
+    if $P1820, if_1818
+    find_lex $P1824, "$/"
+    unless_null $P1824, vivify_533
+    new $P1824, "Hash"
   vivify_533:
-    $P1800 = $P1799."ast"()
-    $P1801 = $P1797."!make"($P1800)
-    .return ($P1801)
-  control_1794:
+    set $P1825, $P1824["number"]
+    unless_null $P1825, vivify_534
+    new $P1825, "Undef"
+  vivify_534:
+    $P1826 = $P1825."ast"()
+    set $P1817, $P1826
+    goto if_1818_end
+  if_1818:
+    find_lex $P1821, "$/"
+    unless_null $P1821, vivify_535
+    new $P1821, "Hash"
+  vivify_535:
+    set $P1822, $P1821["quote"]
+    unless_null $P1822, vivify_536
+    new $P1822, "Undef"
+  vivify_536:
+    $P1823 = $P1822."ast"()
+    set $P1817, $P1823
+  if_1818_end:
+    $P1827 = $P1816."!make"($P1817)
+.annotate "line", 660
+    .return ($P1827)
+  control_1813:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P1802, exception, "payload"
-    .return ($P1802)
+    getattribute $P1828, exception, "payload"
+    .return ($P1828)
 .end
 
 
 .namespace ["NQP";"Actions"]
-.sub "quote:sym<Q>"  :subid("102_1259103989.89791") :method :outer("11_1259103989.89791")
-    .param pmc param_1806
-.annotate "line", 621
-    new $P1805, 'ExceptionHandler'
-    set_addr $P1805, control_1804
-    $P1805."handle_types"(58)
-    push_eh $P1805
+.sub "number"  :subid("100_1259177779.79485") :method :outer("11_1259177779.79485")
+    .param pmc param_1832
+.annotate "line", 664
+    new $P1831, 'ExceptionHandler'
+    set_addr $P1831, control_1830
+    $P1831."handle_types"(58)
+    push_eh $P1831
     .lex "self", self
-    .lex "$/", param_1806
-    find_lex $P1807, "$/"
-    find_lex $P1808, "$/"
-    unless_null $P1808, vivify_534
-    new $P1808, "Hash"
-  vivify_534:
-    set $P1809, $P1808["quote_EXPR"]
-    unless_null $P1809, vivify_535
-    new $P1809, "Undef"
-  vivify_535:
-    $P1810 = $P1809."ast"()
-    $P1811 = $P1807."!make"($P1810)
-    .return ($P1811)
-  control_1804:
+    .lex "$/", param_1832
+.annotate "line", 665
+    new $P1833, "Undef"
+    .lex "$value", $P1833
+    find_lex $P1836, "$/"
+    unless_null $P1836, vivify_537
+    new $P1836, "Hash"
+  vivify_537:
+    set $P1837, $P1836["dec_number"]
+    unless_null $P1837, vivify_538
+    new $P1837, "Undef"
+  vivify_538:
+    if $P1837, if_1835
+    find_lex $P1841, "$/"
+    unless_null $P1841, vivify_539
+    new $P1841, "Hash"
+  vivify_539:
+    set $P1842, $P1841["integer"]
+    unless_null $P1842, vivify_540
+    new $P1842, "Undef"
+  vivify_540:
+    $P1843 = $P1842."ast"()
+    set $P1834, $P1843
+    goto if_1835_end
+  if_1835:
+    find_lex $P1838, "$/"
+    unless_null $P1838, vivify_541
+    new $P1838, "Hash"
+  vivify_541:
+    set $P1839, $P1838["dec_number"]
+    unless_null $P1839, vivify_542
+    new $P1839, "Undef"
+  vivify_542:
+    $P1840 = $P1839."ast"()
+    set $P1834, $P1840
+  if_1835_end:
+    store_lex "$value", $P1834
+.annotate "line", 666
+    find_lex $P1845, "$/"
+    unless_null $P1845, vivify_543
+    new $P1845, "Hash"
+  vivify_543:
+    set $P1846, $P1845["sign"]
+    unless_null $P1846, vivify_544
+    new $P1846, "Undef"
+  vivify_544:
+    set $S1847, $P1846
+    iseq $I1848, $S1847, "-"
+    unless $I1848, if_1844_end
+    find_lex $P1849, "$value"
+    neg $P1850, $P1849
+    store_lex "$value", $P1850
+  if_1844_end:
+.annotate "line", 667
+    find_lex $P1851, "$/"
+    get_hll_global $P1852, ["PAST"], "Val"
+    find_lex $P1853, "$value"
+    $P1854 = $P1852."new"($P1853 :named("value"))
+    $P1855 = $P1851."!make"($P1854)
+.annotate "line", 664
+    .return ($P1855)
+  control_1830:
+    .local pmc exception 
+    .get_results (exception) 
+    getattribute $P1856, exception, "payload"
+    .return ($P1856)
+.end
+
+
+.namespace ["NQP";"Actions"]
+.sub "quote:sym<apos>"  :subid("101_1259177779.79485") :method :outer("11_1259177779.79485")
+    .param pmc param_1860
+.annotate "line", 670
+    new $P1859, 'ExceptionHandler'
+    set_addr $P1859, control_1858
+    $P1859."handle_types"(58)
+    push_eh $P1859
+    .lex "self", self
+    .lex "$/", param_1860
+    find_lex $P1861, "$/"
+    find_lex $P1862, "$/"
+    unless_null $P1862, vivify_545
+    new $P1862, "Hash"
+  vivify_545:
+    set $P1863, $P1862["quote_EXPR"]
+    unless_null $P1863, vivify_546
+    new $P1863, "Undef"
+  vivify_546:
+    $P1864 = $P1863."ast"()
+    $P1865 = $P1861."!make"($P1864)
+    .return ($P1865)
+  control_1858:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P1812, exception, "payload"
-    .return ($P1812)
+    getattribute $P1866, exception, "payload"
+    .return ($P1866)
 .end
 
 
 .namespace ["NQP";"Actions"]
-.sub "quote:sym<Q:PIR>"  :subid("103_1259103989.89791") :method :outer("11_1259103989.89791")
-    .param pmc param_1816
-.annotate "line", 622
-    new $P1815, 'ExceptionHandler'
-    set_addr $P1815, control_1814
-    $P1815."handle_types"(58)
-    push_eh $P1815
+.sub "quote:sym<dblq>"  :subid("102_1259177779.79485") :method :outer("11_1259177779.79485")
+    .param pmc param_1870
+.annotate "line", 671
+    new $P1869, 'ExceptionHandler'
+    set_addr $P1869, control_1868
+    $P1869."handle_types"(58)
+    push_eh $P1869
     .lex "self", self
-    .lex "$/", param_1816
-.annotate "line", 623
-    find_lex $P1817, "$/"
-    get_hll_global $P1818, ["PAST"], "Op"
-    find_lex $P1819, "$/"
-    unless_null $P1819, vivify_536
-    new $P1819, "Hash"
-  vivify_536:
-    set $P1820, $P1819["quote_EXPR"]
-    unless_null $P1820, vivify_537
-    new $P1820, "Undef"
-  vivify_537:
-    $P1821 = $P1820."ast"()
-    $P1822 = $P1821."value"()
-    find_lex $P1823, "$/"
-    $P1824 = $P1818."new"($P1822 :named("inline"), "inline" :named("pasttype"), $P1823 :named("node"))
-    $P1825 = $P1817."!make"($P1824)
-.annotate "line", 622
-    .return ($P1825)
-  control_1814:
-    .local pmc exception 
-    .get_results (exception) 
-    getattribute $P1826, exception, "payload"
-    .return ($P1826)
+    .lex "$/", param_1870
+    find_lex $P1871, "$/"
+    find_lex $P1872, "$/"
+    unless_null $P1872, vivify_547
+    new $P1872, "Hash"
+  vivify_547:
+    set $P1873, $P1872["quote_EXPR"]
+    unless_null $P1873, vivify_548
+    new $P1873, "Undef"
+  vivify_548:
+    $P1874 = $P1873."ast"()
+    $P1875 = $P1871."!make"($P1874)
+    .return ($P1875)
+  control_1868:
+    .local pmc exception 
+    .get_results (exception) 
+    getattribute $P1876, exception, "payload"
+    .return ($P1876)
 .end
 
 
 .namespace ["NQP";"Actions"]
-.sub "quote_escape:sym<$>"  :subid("104_1259103989.89791") :method :outer("11_1259103989.89791")
-    .param pmc param_1830
-.annotate "line", 628
-    new $P1829, 'ExceptionHandler'
-    set_addr $P1829, control_1828
-    $P1829."handle_types"(58)
-    push_eh $P1829
-    .lex "self", self
-    .lex "$/", param_1830
-    find_lex $P1831, "$/"
-    find_lex $P1832, "$/"
-    unless_null $P1832, vivify_538
-    new $P1832, "Hash"
-  vivify_538:
-    set $P1833, $P1832["variable"]
-    unless_null $P1833, vivify_539
-    new $P1833, "Undef"
-  vivify_539:
-    $P1834 = $P1833."ast"()
-    $P1835 = $P1831."!make"($P1834)
-    .return ($P1835)
-  control_1828:
+.sub "quote:sym<qq>"  :subid("103_1259177779.79485") :method :outer("11_1259177779.79485")
+    .param pmc param_1880
+.annotate "line", 672
+    new $P1879, 'ExceptionHandler'
+    set_addr $P1879, control_1878
+    $P1879."handle_types"(58)
+    push_eh $P1879
+    .lex "self", self
+    .lex "$/", param_1880
+    find_lex $P1881, "$/"
+    find_lex $P1882, "$/"
+    unless_null $P1882, vivify_549
+    new $P1882, "Hash"
+  vivify_549:
+    set $P1883, $P1882["quote_EXPR"]
+    unless_null $P1883, vivify_550
+    new $P1883, "Undef"
+  vivify_550:
+    $P1884 = $P1883."ast"()
+    $P1885 = $P1881."!make"($P1884)
+    .return ($P1885)
+  control_1878:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P1836, exception, "payload"
-    .return ($P1836)
+    getattribute $P1886, exception, "payload"
+    .return ($P1886)
 .end
 
 
 .namespace ["NQP";"Actions"]
-.sub "quote_escape:sym<{ }>"  :subid("105_1259103989.89791") :method :outer("11_1259103989.89791")
-    .param pmc param_1840
-.annotate "line", 629
-    new $P1839, 'ExceptionHandler'
-    set_addr $P1839, control_1838
-    $P1839."handle_types"(58)
-    push_eh $P1839
-    .lex "self", self
-    .lex "$/", param_1840
-.annotate "line", 630
-    find_lex $P1841, "$/"
-    get_hll_global $P1842, ["PAST"], "Op"
-.annotate "line", 631
-    find_lex $P1843, "$/"
-    unless_null $P1843, vivify_540
-    new $P1843, "Hash"
-  vivify_540:
-    set $P1844, $P1843["block"]
-    unless_null $P1844, vivify_541
-    new $P1844, "Undef"
-  vivify_541:
-    $P1845 = $P1844."ast"()
-    $P1846 = "block_immediate"($P1845)
-    find_lex $P1847, "$/"
-    $P1848 = $P1842."new"($P1846, "set S*" :named("pirop"), $P1847 :named("node"))
-.annotate "line", 630
-    $P1849 = $P1841."!make"($P1848)
-.annotate "line", 629
-    .return ($P1849)
-  control_1838:
+.sub "quote:sym<q>"  :subid("104_1259177779.79485") :method :outer("11_1259177779.79485")
+    .param pmc param_1890
+.annotate "line", 673
+    new $P1889, 'ExceptionHandler'
+    set_addr $P1889, control_1888
+    $P1889."handle_types"(58)
+    push_eh $P1889
+    .lex "self", self
+    .lex "$/", param_1890
+    find_lex $P1891, "$/"
+    find_lex $P1892, "$/"
+    unless_null $P1892, vivify_551
+    new $P1892, "Hash"
+  vivify_551:
+    set $P1893, $P1892["quote_EXPR"]
+    unless_null $P1893, vivify_552
+    new $P1893, "Undef"
+  vivify_552:
+    $P1894 = $P1893."ast"()
+    $P1895 = $P1891."!make"($P1894)
+    .return ($P1895)
+  control_1888:
+    .local pmc exception 
+    .get_results (exception) 
+    getattribute $P1896, exception, "payload"
+    .return ($P1896)
+.end
+
+
+.namespace ["NQP";"Actions"]
+.sub "quote:sym<Q>"  :subid("105_1259177779.79485") :method :outer("11_1259177779.79485")
+    .param pmc param_1900
+.annotate "line", 674
+    new $P1899, 'ExceptionHandler'
+    set_addr $P1899, control_1898
+    $P1899."handle_types"(58)
+    push_eh $P1899
+    .lex "self", self
+    .lex "$/", param_1900
+    find_lex $P1901, "$/"
+    find_lex $P1902, "$/"
+    unless_null $P1902, vivify_553
+    new $P1902, "Hash"
+  vivify_553:
+    set $P1903, $P1902["quote_EXPR"]
+    unless_null $P1903, vivify_554
+    new $P1903, "Undef"
+  vivify_554:
+    $P1904 = $P1903."ast"()
+    $P1905 = $P1901."!make"($P1904)
+    .return ($P1905)
+  control_1898:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P1850, exception, "payload"
-    .return ($P1850)
+    getattribute $P1906, exception, "payload"
+    .return ($P1906)
 .end
 
 
 .namespace ["NQP";"Actions"]
-.sub "postfix:sym<.>"  :subid("106_1259103989.89791") :method :outer("11_1259103989.89791")
-    .param pmc param_1854
-.annotate "line", 637
-    new $P1853, 'ExceptionHandler'
-    set_addr $P1853, control_1852
-    $P1853."handle_types"(58)
-    push_eh $P1853
+.sub "quote:sym<Q:PIR>"  :subid("106_1259177779.79485") :method :outer("11_1259177779.79485")
+    .param pmc param_1910
+.annotate "line", 675
+    new $P1909, 'ExceptionHandler'
+    set_addr $P1909, control_1908
+    $P1909."handle_types"(58)
+    push_eh $P1909
     .lex "self", self
-    .lex "$/", param_1854
-    find_lex $P1855, "$/"
-    find_lex $P1856, "$/"
-    unless_null $P1856, vivify_542
-    new $P1856, "Hash"
-  vivify_542:
-    set $P1857, $P1856["dotty"]
-    unless_null $P1857, vivify_543
-    new $P1857, "Undef"
-  vivify_543:
-    $P1858 = $P1857."ast"()
-    $P1859 = $P1855."!make"($P1858)
-    .return ($P1859)
-  control_1852:
+    .lex "$/", param_1910
+.annotate "line", 676
+    find_lex $P1911, "$/"
+    get_hll_global $P1912, ["PAST"], "Op"
+    find_lex $P1913, "$/"
+    unless_null $P1913, vivify_555
+    new $P1913, "Hash"
+  vivify_555:
+    set $P1914, $P1913["quote_EXPR"]
+    unless_null $P1914, vivify_556
+    new $P1914, "Undef"
+  vivify_556:
+    $P1915 = $P1914."ast"()
+    $P1916 = $P1915."value"()
+    find_lex $P1917, "$/"
+    $P1918 = $P1912."new"($P1916 :named("inline"), "inline" :named("pasttype"), $P1917 :named("node"))
+    $P1919 = $P1911."!make"($P1918)
+.annotate "line", 675
+    .return ($P1919)
+  control_1908:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P1860, exception, "payload"
-    .return ($P1860)
+    getattribute $P1920, exception, "payload"
+    .return ($P1920)
 .end
 
 
 .namespace ["NQP";"Actions"]
-.sub "postfix:sym<++>"  :subid("107_1259103989.89791") :method :outer("11_1259103989.89791")
-    .param pmc param_1864
-.annotate "line", 639
-    new $P1863, 'ExceptionHandler'
-    set_addr $P1863, control_1862
-    $P1863."handle_types"(58)
-    push_eh $P1863
-    .lex "self", self
-    .lex "$/", param_1864
-.annotate "line", 640
-    find_lex $P1865, "$/"
-    get_hll_global $P1866, ["PAST"], "Op"
-.annotate "line", 641
-    new $P1867, "ResizablePMCArray"
-    push $P1867, "    clone %r, %0"
-    push $P1867, "    inc %0"
-    $P1868 = $P1866."new"("postfix:<++>" :named("name"), $P1867 :named("inline"), "inline" :named("pasttype"))
-.annotate "line", 640
-    $P1869 = $P1865."!make"($P1868)
-.annotate "line", 639
-    .return ($P1869)
-  control_1862:
+.sub "quote_escape:sym<$>"  :subid("107_1259177779.79485") :method :outer("11_1259177779.79485")
+    .param pmc param_1924
+.annotate "line", 681
+    new $P1923, 'ExceptionHandler'
+    set_addr $P1923, control_1922
+    $P1923."handle_types"(58)
+    push_eh $P1923
+    .lex "self", self
+    .lex "$/", param_1924
+    find_lex $P1925, "$/"
+    find_lex $P1926, "$/"
+    unless_null $P1926, vivify_557
+    new $P1926, "Hash"
+  vivify_557:
+    set $P1927, $P1926["variable"]
+    unless_null $P1927, vivify_558
+    new $P1927, "Undef"
+  vivify_558:
+    $P1928 = $P1927."ast"()
+    $P1929 = $P1925."!make"($P1928)
+    .return ($P1929)
+  control_1922:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P1870, exception, "payload"
-    .return ($P1870)
+    getattribute $P1930, exception, "payload"
+    .return ($P1930)
 .end
 
 
 .namespace ["NQP";"Actions"]
-.sub "postfix:sym<-->"  :subid("108_1259103989.89791") :method :outer("11_1259103989.89791")
-    .param pmc param_1874
-.annotate "line", 645
-    new $P1873, 'ExceptionHandler'
-    set_addr $P1873, control_1872
-    $P1873."handle_types"(58)
-    push_eh $P1873
-    .lex "self", self
-    .lex "$/", param_1874
-.annotate "line", 646
-    find_lex $P1875, "$/"
-    get_hll_global $P1876, ["PAST"], "Op"
-.annotate "line", 647
-    new $P1877, "ResizablePMCArray"
-    push $P1877, "    clone %r, %0"
-    push $P1877, "    dec %0"
-    $P1878 = $P1876."new"("postfix:<-->" :named("name"), $P1877 :named("inline"), "inline" :named("pasttype"))
-.annotate "line", 646
-    $P1879 = $P1875."!make"($P1878)
-.annotate "line", 645
-    .return ($P1879)
-  control_1872:
+.sub "quote_escape:sym<{ }>"  :subid("108_1259177779.79485") :method :outer("11_1259177779.79485")
+    .param pmc param_1934
+.annotate "line", 682
+    new $P1933, 'ExceptionHandler'
+    set_addr $P1933, control_1932
+    $P1933."handle_types"(58)
+    push_eh $P1933
+    .lex "self", self
+    .lex "$/", param_1934
+.annotate "line", 683
+    find_lex $P1935, "$/"
+    get_hll_global $P1936, ["PAST"], "Op"
+.annotate "line", 684
+    find_lex $P1937, "$/"
+    unless_null $P1937, vivify_559
+    new $P1937, "Hash"
+  vivify_559:
+    set $P1938, $P1937["block"]
+    unless_null $P1938, vivify_560
+    new $P1938, "Undef"
+  vivify_560:
+    $P1939 = $P1938."ast"()
+    $P1940 = "block_immediate"($P1939)
+    find_lex $P1941, "$/"
+    $P1942 = $P1936."new"($P1940, "set S*" :named("pirop"), $P1941 :named("node"))
+.annotate "line", 683
+    $P1943 = $P1935."!make"($P1942)
+.annotate "line", 682
+    .return ($P1943)
+  control_1932:
+    .local pmc exception 
+    .get_results (exception) 
+    getattribute $P1944, exception, "payload"
+    .return ($P1944)
+.end
+
+
+.namespace ["NQP";"Actions"]
+.sub "postfix:sym<.>"  :subid("109_1259177779.79485") :method :outer("11_1259177779.79485")
+    .param pmc param_1948
+.annotate "line", 690
+    new $P1947, 'ExceptionHandler'
+    set_addr $P1947, control_1946
+    $P1947."handle_types"(58)
+    push_eh $P1947
+    .lex "self", self
+    .lex "$/", param_1948
+    find_lex $P1949, "$/"
+    find_lex $P1950, "$/"
+    unless_null $P1950, vivify_561
+    new $P1950, "Hash"
+  vivify_561:
+    set $P1951, $P1950["dotty"]
+    unless_null $P1951, vivify_562
+    new $P1951, "Undef"
+  vivify_562:
+    $P1952 = $P1951."ast"()
+    $P1953 = $P1949."!make"($P1952)
+    .return ($P1953)
+  control_1946:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P1880, exception, "payload"
-    .return ($P1880)
+    getattribute $P1954, exception, "payload"
+    .return ($P1954)
 .end
 
 
 .namespace ["NQP";"Actions"]
-.sub "prefix:sym<make>"  :subid("109_1259103989.89791") :method :outer("11_1259103989.89791")
-    .param pmc param_1884
-.annotate "line", 651
-    new $P1883, 'ExceptionHandler'
-    set_addr $P1883, control_1882
-    $P1883."handle_types"(58)
-    push_eh $P1883
-    .lex "self", self
-    .lex "$/", param_1884
-.annotate "line", 652
-    find_lex $P1885, "$/"
-    get_hll_global $P1886, ["PAST"], "Op"
-.annotate "line", 653
-    get_hll_global $P1887, ["PAST"], "Var"
-    $P1888 = $P1887."new"("$/" :named("name"), "contextual" :named("scope"))
-    find_lex $P1889, "$/"
-    $P1890 = $P1886."new"($P1888, "callmethod" :named("pasttype"), "!make" :named("name"), $P1889 :named("node"))
-.annotate "line", 652
-    $P1891 = $P1885."!make"($P1890)
-.annotate "line", 651
-    .return ($P1891)
-  control_1882:
+.sub "postfix:sym<++>"  :subid("110_1259177779.79485") :method :outer("11_1259177779.79485")
+    .param pmc param_1958
+.annotate "line", 692
+    new $P1957, 'ExceptionHandler'
+    set_addr $P1957, control_1956
+    $P1957."handle_types"(58)
+    push_eh $P1957
+    .lex "self", self
+    .lex "$/", param_1958
+.annotate "line", 693
+    find_lex $P1959, "$/"
+    get_hll_global $P1960, ["PAST"], "Op"
+.annotate "line", 694
+    new $P1961, "ResizablePMCArray"
+    push $P1961, "    clone %r, %0"
+    push $P1961, "    inc %0"
+    $P1962 = $P1960."new"("postfix:<++>" :named("name"), $P1961 :named("inline"), "inline" :named("pasttype"))
+.annotate "line", 693
+    $P1963 = $P1959."!make"($P1962)
+.annotate "line", 692
+    .return ($P1963)
+  control_1956:
+    .local pmc exception 
+    .get_results (exception) 
+    getattribute $P1964, exception, "payload"
+    .return ($P1964)
+.end
+
+
+.namespace ["NQP";"Actions"]
+.sub "postfix:sym<-->"  :subid("111_1259177779.79485") :method :outer("11_1259177779.79485")
+    .param pmc param_1968
+.annotate "line", 698
+    new $P1967, 'ExceptionHandler'
+    set_addr $P1967, control_1966
+    $P1967."handle_types"(58)
+    push_eh $P1967
+    .lex "self", self
+    .lex "$/", param_1968
+.annotate "line", 699
+    find_lex $P1969, "$/"
+    get_hll_global $P1970, ["PAST"], "Op"
+.annotate "line", 700
+    new $P1971, "ResizablePMCArray"
+    push $P1971, "    clone %r, %0"
+    push $P1971, "    dec %0"
+    $P1972 = $P1970."new"("postfix:<-->" :named("name"), $P1971 :named("inline"), "inline" :named("pasttype"))
+.annotate "line", 699
+    $P1973 = $P1969."!make"($P1972)
+.annotate "line", 698
+    .return ($P1973)
+  control_1966:
+    .local pmc exception 
+    .get_results (exception) 
+    getattribute $P1974, exception, "payload"
+    .return ($P1974)
+.end
+
+
+.namespace ["NQP";"Actions"]
+.sub "prefix:sym<make>"  :subid("112_1259177779.79485") :method :outer("11_1259177779.79485")
+    .param pmc param_1978
+.annotate "line", 704
+    new $P1977, 'ExceptionHandler'
+    set_addr $P1977, control_1976
+    $P1977."handle_types"(58)
+    push_eh $P1977
+    .lex "self", self
+    .lex "$/", param_1978
+.annotate "line", 705
+    find_lex $P1979, "$/"
+    get_hll_global $P1980, ["PAST"], "Op"
+.annotate "line", 706
+    get_hll_global $P1981, ["PAST"], "Var"
+    $P1982 = $P1981."new"("$/" :named("name"), "contextual" :named("scope"))
+    find_lex $P1983, "$/"
+    $P1984 = $P1980."new"($P1982, "callmethod" :named("pasttype"), "!make" :named("name"), $P1983 :named("node"))
+.annotate "line", 705
+    $P1985 = $P1979."!make"($P1984)
+.annotate "line", 704
+    .return ($P1985)
+  control_1976:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P1892, exception, "payload"
-    .return ($P1892)
+    getattribute $P1986, exception, "payload"
+    .return ($P1986)
 .end
 
 
 .namespace ["NQP";"RegexActions"]
-.sub "_block1893"  :subid("110_1259103989.89791") :outer("11_1259103989.89791")
-.annotate "line", 661
-    .const 'Sub' $P1929 = "114_1259103989.89791" 
-    capture_lex $P1929
-    .const 'Sub' $P1919 = "113_1259103989.89791" 
-    capture_lex $P1919
-    .const 'Sub' $P1909 = "112_1259103989.89791" 
-    capture_lex $P1909
-    .const 'Sub' $P1895 = "111_1259103989.89791" 
-    capture_lex $P1895
-.annotate "line", 672
-    .const 'Sub' $P1929 = "114_1259103989.89791" 
-    capture_lex $P1929
-.annotate "line", 661
-    .return ($P1929)
+.sub "_block1987"  :subid("113_1259177779.79485") :outer("11_1259177779.79485")
+.annotate "line", 714
+    .const 'Sub' $P2023 = "117_1259177779.79485" 
+    capture_lex $P2023
+    .const 'Sub' $P2013 = "116_1259177779.79485" 
+    capture_lex $P2013
+    .const 'Sub' $P2003 = "115_1259177779.79485" 
+    capture_lex $P2003
+    .const 'Sub' $P1989 = "114_1259177779.79485" 
+    capture_lex $P1989
+.annotate "line", 725
+    .const 'Sub' $P2023 = "117_1259177779.79485" 
+    capture_lex $P2023
+.annotate "line", 714
+    .return ($P2023)
 .end
 
 
 .namespace ["NQP";"RegexActions"]
-.sub "metachar:sym<:my>"  :subid("111_1259103989.89791") :method :outer("110_1259103989.89791")
-    .param pmc param_1898
-.annotate "line", 663
-    new $P1897, 'ExceptionHandler'
-    set_addr $P1897, control_1896
-    $P1897."handle_types"(58)
-    push_eh $P1897
-    .lex "self", self
-    .lex "$/", param_1898
-.annotate "line", 664
-    new $P1899, "Undef"
-    .lex "$past", $P1899
-    find_lex $P1900, "$/"
-    unless_null $P1900, vivify_544
-    new $P1900, "Hash"
-  vivify_544:
-    set $P1901, $P1900["statement"]
-    unless_null $P1901, vivify_545
-    new $P1901, "Undef"
-  vivify_545:
-    $P1902 = $P1901."ast"()
-    store_lex "$past", $P1902
-.annotate "line", 665
-    find_lex $P1903, "$/"
-    get_hll_global $P1904, ["PAST"], "Regex"
-    find_lex $P1905, "$past"
-    $P1906 = $P1904."new"($P1905, "pastnode" :named("pasttype"))
-    $P1907 = $P1903."!make"($P1906)
-.annotate "line", 663
-    .return ($P1907)
-  control_1896:
+.sub "metachar:sym<:my>"  :subid("114_1259177779.79485") :method :outer("113_1259177779.79485")
+    .param pmc param_1992
+.annotate "line", 716
+    new $P1991, 'ExceptionHandler'
+    set_addr $P1991, control_1990
+    $P1991."handle_types"(58)
+    push_eh $P1991
+    .lex "self", self
+    .lex "$/", param_1992
+.annotate "line", 717
+    new $P1993, "Undef"
+    .lex "$past", $P1993
+    find_lex $P1994, "$/"
+    unless_null $P1994, vivify_563
+    new $P1994, "Hash"
+  vivify_563:
+    set $P1995, $P1994["statement"]
+    unless_null $P1995, vivify_564
+    new $P1995, "Undef"
+  vivify_564:
+    $P1996 = $P1995."ast"()
+    store_lex "$past", $P1996
+.annotate "line", 718
+    find_lex $P1997, "$/"
+    get_hll_global $P1998, ["PAST"], "Regex"
+    find_lex $P1999, "$past"
+    $P2000 = $P1998."new"($P1999, "pastnode" :named("pasttype"))
+    $P2001 = $P1997."!make"($P2000)
+.annotate "line", 716
+    .return ($P2001)
+  control_1990:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P1908, exception, "payload"
-    .return ($P1908)
+    getattribute $P2002, exception, "payload"
+    .return ($P2002)
 .end
 
 
 .namespace ["NQP";"RegexActions"]
-.sub "metachar:sym<{ }>"  :subid("112_1259103989.89791") :method :outer("110_1259103989.89791")
-    .param pmc param_1912
-.annotate "line", 668
-    new $P1911, 'ExceptionHandler'
-    set_addr $P1911, control_1910
-    $P1911."handle_types"(58)
-    push_eh $P1911
-    .lex "self", self
-    .lex "$/", param_1912
-    find_lex $P1913, "$/"
-    find_lex $P1914, "$/"
-    unless_null $P1914, vivify_546
-    new $P1914, "Hash"
-  vivify_546:
-    set $P1915, $P1914["codeblock"]
-    unless_null $P1915, vivify_547
-    new $P1915, "Undef"
-  vivify_547:
-    $P1916 = $P1915."ast"()
-    $P1917 = $P1913."!make"($P1916)
-    .return ($P1917)
-  control_1910:
+.sub "metachar:sym<{ }>"  :subid("115_1259177779.79485") :method :outer("113_1259177779.79485")
+    .param pmc param_2006
+.annotate "line", 721
+    new $P2005, 'ExceptionHandler'
+    set_addr $P2005, control_2004
+    $P2005."handle_types"(58)
+    push_eh $P2005
+    .lex "self", self
+    .lex "$/", param_2006
+    find_lex $P2007, "$/"
+    find_lex $P2008, "$/"
+    unless_null $P2008, vivify_565
+    new $P2008, "Hash"
+  vivify_565:
+    set $P2009, $P2008["codeblock"]
+    unless_null $P2009, vivify_566
+    new $P2009, "Undef"
+  vivify_566:
+    $P2010 = $P2009."ast"()
+    $P2011 = $P2007."!make"($P2010)
+    .return ($P2011)
+  control_2004:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P1918, exception, "payload"
-    .return ($P1918)
+    getattribute $P2012, exception, "payload"
+    .return ($P2012)
 .end
 
 
 .namespace ["NQP";"RegexActions"]
-.sub "assertion:sym<{ }>"  :subid("113_1259103989.89791") :method :outer("110_1259103989.89791")
-    .param pmc param_1922
-.annotate "line", 670
-    new $P1921, 'ExceptionHandler'
-    set_addr $P1921, control_1920
-    $P1921."handle_types"(58)
-    push_eh $P1921
-    .lex "self", self
-    .lex "$/", param_1922
-    find_lex $P1923, "$/"
-    find_lex $P1924, "$/"
-    unless_null $P1924, vivify_548
-    new $P1924, "Hash"
-  vivify_548:
-    set $P1925, $P1924["codeblock"]
-    unless_null $P1925, vivify_549
-    new $P1925, "Undef"
-  vivify_549:
-    $P1926 = $P1925."ast"()
-    $P1927 = $P1923."!make"($P1926)
-    .return ($P1927)
-  control_1920:
+.sub "assertion:sym<{ }>"  :subid("116_1259177779.79485") :method :outer("113_1259177779.79485")
+    .param pmc param_2016
+.annotate "line", 723
+    new $P2015, 'ExceptionHandler'
+    set_addr $P2015, control_2014
+    $P2015."handle_types"(58)
+    push_eh $P2015
+    .lex "self", self
+    .lex "$/", param_2016
+    find_lex $P2017, "$/"
+    find_lex $P2018, "$/"
+    unless_null $P2018, vivify_567
+    new $P2018, "Hash"
+  vivify_567:
+    set $P2019, $P2018["codeblock"]
+    unless_null $P2019, vivify_568
+    new $P2019, "Undef"
+  vivify_568:
+    $P2020 = $P2019."ast"()
+    $P2021 = $P2017."!make"($P2020)
+    .return ($P2021)
+  control_2014:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P1928, exception, "payload"
-    .return ($P1928)
+    getattribute $P2022, exception, "payload"
+    .return ($P2022)
 .end
 
 
 .namespace ["NQP";"RegexActions"]
-.sub "codeblock"  :subid("114_1259103989.89791") :method :outer("110_1259103989.89791")
-    .param pmc param_1932
-.annotate "line", 672
-    new $P1931, 'ExceptionHandler'
-    set_addr $P1931, control_1930
-    $P1931."handle_types"(58)
-    push_eh $P1931
-    .lex "self", self
-    .lex "$/", param_1932
-.annotate "line", 673
-    new $P1933, "Undef"
-    .lex "$block", $P1933
-.annotate "line", 675
-    new $P1934, "Undef"
-    .lex "$past", $P1934
-.annotate "line", 673
-    find_lex $P1935, "$/"
-    unless_null $P1935, vivify_550
-    new $P1935, "Hash"
-  vivify_550:
-    set $P1936, $P1935["block"]
-    unless_null $P1936, vivify_551
-    new $P1936, "Undef"
-  vivify_551:
-    $P1937 = $P1936."ast"()
-    store_lex "$block", $P1937
-.annotate "line", 674
-    find_lex $P1938, "$block"
-    $P1938."blocktype"("immediate")
-.annotate "line", 676
-    get_hll_global $P1939, ["PAST"], "Regex"
-.annotate "line", 677
-    get_hll_global $P1940, ["PAST"], "Stmts"
-.annotate "line", 678
-    get_hll_global $P1941, ["PAST"], "Op"
-.annotate "line", 679
-    get_hll_global $P1942, ["PAST"], "Var"
-    $P1943 = $P1942."new"("$/" :named("name"))
-.annotate "line", 680
-    get_hll_global $P1944, ["PAST"], "Op"
-.annotate "line", 681
-    get_hll_global $P1945, ["PAST"], "Var"
-    $P1946 = $P1945."new"(unicode:"$\x{a2}" :named("name"))
-    $P1947 = $P1944."new"($P1946, "MATCH" :named("name"), "callmethod" :named("pasttype"))
-.annotate "line", 680
-    $P1948 = $P1941."new"($P1943, $P1947, "bind" :named("pasttype"))
-.annotate "line", 678
-    find_lex $P1949, "$block"
-    $P1950 = $P1940."new"($P1948, $P1949)
-.annotate "line", 677
-    $P1951 = $P1939."new"($P1950, "pastnode" :named("pasttype"))
-.annotate "line", 676
-    store_lex "$past", $P1951
-.annotate "line", 691
-    find_lex $P1952, "$/"
-    find_lex $P1953, "$past"
-    $P1954 = $P1952."!make"($P1953)
-.annotate "line", 672
-    .return ($P1954)
-  control_1930:
+.sub "codeblock"  :subid("117_1259177779.79485") :method :outer("113_1259177779.79485")
+    .param pmc param_2026
+.annotate "line", 725
+    new $P2025, 'ExceptionHandler'
+    set_addr $P2025, control_2024
+    $P2025."handle_types"(58)
+    push_eh $P2025
+    .lex "self", self
+    .lex "$/", param_2026
+.annotate "line", 726
+    new $P2027, "Undef"
+    .lex "$block", $P2027
+.annotate "line", 728
+    new $P2028, "Undef"
+    .lex "$past", $P2028
+.annotate "line", 726
+    find_lex $P2029, "$/"
+    unless_null $P2029, vivify_569
+    new $P2029, "Hash"
+  vivify_569:
+    set $P2030, $P2029["block"]
+    unless_null $P2030, vivify_570
+    new $P2030, "Undef"
+  vivify_570:
+    $P2031 = $P2030."ast"()
+    store_lex "$block", $P2031
+.annotate "line", 727
+    find_lex $P2032, "$block"
+    $P2032."blocktype"("immediate")
+.annotate "line", 729
+    get_hll_global $P2033, ["PAST"], "Regex"
+.annotate "line", 730
+    get_hll_global $P2034, ["PAST"], "Stmts"
+.annotate "line", 731
+    get_hll_global $P2035, ["PAST"], "Op"
+.annotate "line", 732
+    get_hll_global $P2036, ["PAST"], "Var"
+    $P2037 = $P2036."new"("$/" :named("name"))
+.annotate "line", 733
+    get_hll_global $P2038, ["PAST"], "Op"
+.annotate "line", 734
+    get_hll_global $P2039, ["PAST"], "Var"
+    $P2040 = $P2039."new"(unicode:"$\x{a2}" :named("name"))
+    $P2041 = $P2038."new"($P2040, "MATCH" :named("name"), "callmethod" :named("pasttype"))
+.annotate "line", 733
+    $P2042 = $P2035."new"($P2037, $P2041, "bind" :named("pasttype"))
+.annotate "line", 731
+    find_lex $P2043, "$block"
+    $P2044 = $P2034."new"($P2042, $P2043)
+.annotate "line", 730
+    $P2045 = $P2033."new"($P2044, "pastnode" :named("pasttype"))
+.annotate "line", 729
+    store_lex "$past", $P2045
+.annotate "line", 744
+    find_lex $P2046, "$/"
+    find_lex $P2047, "$past"
+    $P2048 = $P2046."!make"($P2047)
+.annotate "line", 725
+    .return ($P2048)
+  control_2024:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P1955, exception, "payload"
-    .return ($P1955)
+    getattribute $P2049, exception, "payload"
+    .return ($P2049)
 .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 Nov 25 15:55:29 2009	(r42805)
+++ trunk/ext/nqp-rx/src/stage0/P6Regex-s0.pir	Wed Nov 25 20:09:43 2009	(r42806)
@@ -16,165 +16,165 @@
 ### .include 'gen/p6regex-grammar.pir'
 
 .namespace []
-.sub "_block11"  :anon :subid("10_1259103974.80122")
+.sub "_block11"  :anon :subid("10_1259177736.62303")
 .annotate "line", 0
     get_hll_global $P14, ["Regex";"P6Regex";"Grammar"], "_block13" 
     capture_lex $P14
 .annotate "line", 3
     get_hll_global $P14, ["Regex";"P6Regex";"Grammar"], "_block13" 
     capture_lex $P14
-    $P579 = $P14()
+    $P592 = $P14()
 .annotate "line", 1
-    .return ($P579)
+    .return ($P592)
 .end
 
 
 .namespace []
-.sub "" :load :init :subid("post158") :outer("10_1259103974.80122")
+.sub "" :load :init :subid("post158") :outer("10_1259177736.62303")
 .annotate "line", 0
-    .const 'Sub' $P12 = "10_1259103974.80122" 
+    .const 'Sub' $P12 = "10_1259177736.62303" 
     .local pmc block
     set block, $P12
-    $P580 = get_root_global ["parrot"], "P6metaclass"
-    $P580."new_class"("Regex::P6Regex::Grammar", "HLL::Grammar" :named("parent"))
+    $P593 = get_root_global ["parrot"], "P6metaclass"
+    $P593."new_class"("Regex::P6Regex::Grammar", "HLL::Grammar" :named("parent"))
 .end
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "_block13"  :subid("11_1259103974.80122") :outer("10_1259103974.80122")
+.sub "_block13"  :subid("11_1259177736.62303") :outer("10_1259177736.62303")
 .annotate "line", 3
-    .const 'Sub' $P571 = "156_1259103974.80122" 
-    capture_lex $P571
-    .const 'Sub' $P563 = "154_1259103974.80122" 
-    capture_lex $P563
-    .const 'Sub' $P555 = "152_1259103974.80122" 
-    capture_lex $P555
-    .const 'Sub' $P534 = "147_1259103974.80122" 
-    capture_lex $P534
-    .const 'Sub' $P499 = "141_1259103974.80122" 
-    capture_lex $P499
-    .const 'Sub' $P487 = "138_1259103974.80122" 
-    capture_lex $P487
-    .const 'Sub' $P474 = "135_1259103974.80122" 
+    .const 'Sub' $P584 = "156_1259177736.62303" 
+    capture_lex $P584
+    .const 'Sub' $P576 = "154_1259177736.62303" 
+    capture_lex $P576
+    .const 'Sub' $P568 = "152_1259177736.62303" 
+    capture_lex $P568
+    .const 'Sub' $P546 = "147_1259177736.62303" 
+    capture_lex $P546
+    .const 'Sub' $P507 = "141_1259177736.62303" 
+    capture_lex $P507
+    .const 'Sub' $P494 = "138_1259177736.62303" 
+    capture_lex $P494
+    .const 'Sub' $P480 = "135_1259177736.62303" 
+    capture_lex $P480
+    .const 'Sub' $P474 = "133_1259177736.62303" 
     capture_lex $P474
-    .const 'Sub' $P468 = "133_1259103974.80122" 
-    capture_lex $P468
-    .const 'Sub' $P457 = "130_1259103974.80122" 
-    capture_lex $P457
-    .const 'Sub' $P446 = "127_1259103974.80122" 
-    capture_lex $P446
-    .const 'Sub' $P437 = "123_1259103974.80122" 
-    capture_lex $P437
-    .const 'Sub' $P431 = "121_1259103974.80122" 
-    capture_lex $P431
-    .const 'Sub' $P425 = "119_1259103974.80122" 
-    capture_lex $P425
-    .const 'Sub' $P419 = "117_1259103974.80122" 
-    capture_lex $P419
-    .const 'Sub' $P413 = "115_1259103974.80122" 
-    capture_lex $P413
-    .const 'Sub' $P402 = "113_1259103974.80122" 
-    capture_lex $P402
-    .const 'Sub' $P391 = "111_1259103974.80122" 
-    capture_lex $P391
-    .const 'Sub' $P383 = "109_1259103974.80122" 
-    capture_lex $P383
-    .const 'Sub' $P377 = "107_1259103974.80122" 
-    capture_lex $P377
-    .const 'Sub' $P371 = "105_1259103974.80122" 
-    capture_lex $P371
-    .const 'Sub' $P365 = "103_1259103974.80122" 
-    capture_lex $P365
-    .const 'Sub' $P359 = "101_1259103974.80122" 
-    capture_lex $P359
-    .const 'Sub' $P353 = "99_1259103974.80122" 
-    capture_lex $P353
-    .const 'Sub' $P347 = "97_1259103974.80122" 
-    capture_lex $P347
-    .const 'Sub' $P341 = "95_1259103974.80122" 
-    capture_lex $P341
-    .const 'Sub' $P335 = "93_1259103974.80122" 
-    capture_lex $P335
-    .const 'Sub' $P323 = "89_1259103974.80122" 
-    capture_lex $P323
-    .const 'Sub' $P311 = "87_1259103974.80122" 
-    capture_lex $P311
-    .const 'Sub' $P304 = "85_1259103974.80122" 
-    capture_lex $P304
-    .const 'Sub' $P287 = "83_1259103974.80122" 
-    capture_lex $P287
-    .const 'Sub' $P280 = "81_1259103974.80122" 
-    capture_lex $P280
-    .const 'Sub' $P274 = "79_1259103974.80122" 
-    capture_lex $P274
-    .const 'Sub' $P268 = "77_1259103974.80122" 
-    capture_lex $P268
-    .const 'Sub' $P261 = "75_1259103974.80122" 
-    capture_lex $P261
-    .const 'Sub' $P254 = "73_1259103974.80122" 
-    capture_lex $P254
-    .const 'Sub' $P247 = "71_1259103974.80122" 
-    capture_lex $P247
-    .const 'Sub' $P240 = "69_1259103974.80122" 
-    capture_lex $P240
-    .const 'Sub' $P234 = "67_1259103974.80122" 
-    capture_lex $P234
-    .const 'Sub' $P228 = "65_1259103974.80122" 
-    capture_lex $P228
-    .const 'Sub' $P222 = "63_1259103974.80122" 
-    capture_lex $P222
-    .const 'Sub' $P216 = "61_1259103974.80122" 
-    capture_lex $P216
-    .const 'Sub' $P210 = "59_1259103974.80122" 
-    capture_lex $P210
-    .const 'Sub' $P205 = "57_1259103974.80122" 
-    capture_lex $P205
-    .const 'Sub' $P200 = "55_1259103974.80122" 
-    capture_lex $P200
-    .const 'Sub' $P194 = "53_1259103974.80122" 
-    capture_lex $P194
-    .const 'Sub' $P188 = "51_1259103974.80122" 
-    capture_lex $P188
-    .const 'Sub' $P182 = "49_1259103974.80122" 
-    capture_lex $P182
-    .const 'Sub' $P166 = "44_1259103974.80122" 
-    capture_lex $P166
-    .const 'Sub' $P154 = "42_1259103974.80122" 
-    capture_lex $P154
-    .const 'Sub' $P147 = "40_1259103974.80122" 
-    capture_lex $P147
-    .const 'Sub' $P140 = "38_1259103974.80122" 
-    capture_lex $P140
-    .const 'Sub' $P133 = "36_1259103974.80122" 
-    capture_lex $P133
-    .const 'Sub' $P114 = "31_1259103974.80122" 
-    capture_lex $P114
-    .const 'Sub' $P101 = "28_1259103974.80122" 
-    capture_lex $P101
-    .const 'Sub' $P94 = "26_1259103974.80122" 
-    capture_lex $P94
-    .const 'Sub' $P82 = "24_1259103974.80122" 
-    capture_lex $P82
-    .const 'Sub' $P75 = "22_1259103974.80122" 
-    capture_lex $P75
-    .const 'Sub' $P63 = "20_1259103974.80122" 
-    capture_lex $P63
-    .const 'Sub' $P56 = "18_1259103974.80122" 
-    capture_lex $P56
-    .const 'Sub' $P46 = "15_1259103974.80122" 
+    .const 'Sub' $P462 = "130_1259177736.62303" 
+    capture_lex $P462
+    .const 'Sub' $P450 = "127_1259177736.62303" 
+    capture_lex $P450
+    .const 'Sub' $P441 = "123_1259177736.62303" 
+    capture_lex $P441
+    .const 'Sub' $P435 = "121_1259177736.62303" 
+    capture_lex $P435
+    .const 'Sub' $P429 = "119_1259177736.62303" 
+    capture_lex $P429
+    .const 'Sub' $P423 = "117_1259177736.62303" 
+    capture_lex $P423
+    .const 'Sub' $P417 = "115_1259177736.62303" 
+    capture_lex $P417
+    .const 'Sub' $P406 = "113_1259177736.62303" 
+    capture_lex $P406
+    .const 'Sub' $P395 = "111_1259177736.62303" 
+    capture_lex $P395
+    .const 'Sub' $P387 = "109_1259177736.62303" 
+    capture_lex $P387
+    .const 'Sub' $P381 = "107_1259177736.62303" 
+    capture_lex $P381
+    .const 'Sub' $P375 = "105_1259177736.62303" 
+    capture_lex $P375
+    .const 'Sub' $P369 = "103_1259177736.62303" 
+    capture_lex $P369
+    .const 'Sub' $P363 = "101_1259177736.62303" 
+    capture_lex $P363
+    .const 'Sub' $P357 = "99_1259177736.62303" 
+    capture_lex $P357
+    .const 'Sub' $P351 = "97_1259177736.62303" 
+    capture_lex $P351
+    .const 'Sub' $P345 = "95_1259177736.62303" 
+    capture_lex $P345
+    .const 'Sub' $P339 = "93_1259177736.62303" 
+    capture_lex $P339
+    .const 'Sub' $P327 = "89_1259177736.62303" 
+    capture_lex $P327
+    .const 'Sub' $P315 = "87_1259177736.62303" 
+    capture_lex $P315
+    .const 'Sub' $P308 = "85_1259177736.62303" 
+    capture_lex $P308
+    .const 'Sub' $P291 = "83_1259177736.62303" 
+    capture_lex $P291
+    .const 'Sub' $P284 = "81_1259177736.62303" 
+    capture_lex $P284
+    .const 'Sub' $P278 = "79_1259177736.62303" 
+    capture_lex $P278
+    .const 'Sub' $P272 = "77_1259177736.62303" 
+    capture_lex $P272
+    .const 'Sub' $P265 = "75_1259177736.62303" 
+    capture_lex $P265
+    .const 'Sub' $P258 = "73_1259177736.62303" 
+    capture_lex $P258
+    .const 'Sub' $P251 = "71_1259177736.62303" 
+    capture_lex $P251
+    .const 'Sub' $P244 = "69_1259177736.62303" 
+    capture_lex $P244
+    .const 'Sub' $P238 = "67_1259177736.62303" 
+    capture_lex $P238
+    .const 'Sub' $P232 = "65_1259177736.62303" 
+    capture_lex $P232
+    .const 'Sub' $P226 = "63_1259177736.62303" 
+    capture_lex $P226
+    .const 'Sub' $P220 = "61_1259177736.62303" 
+    capture_lex $P220
+    .const 'Sub' $P214 = "59_1259177736.62303" 
+    capture_lex $P214
+    .const 'Sub' $P209 = "57_1259177736.62303" 
+    capture_lex $P209
+    .const 'Sub' $P204 = "55_1259177736.62303" 
+    capture_lex $P204
+    .const 'Sub' $P198 = "53_1259177736.62303" 
+    capture_lex $P198
+    .const 'Sub' $P192 = "51_1259177736.62303" 
+    capture_lex $P192
+    .const 'Sub' $P186 = "49_1259177736.62303" 
+    capture_lex $P186
+    .const 'Sub' $P169 = "44_1259177736.62303" 
+    capture_lex $P169
+    .const 'Sub' $P157 = "42_1259177736.62303" 
+    capture_lex $P157
+    .const 'Sub' $P150 = "40_1259177736.62303" 
+    capture_lex $P150
+    .const 'Sub' $P143 = "38_1259177736.62303" 
+    capture_lex $P143
+    .const 'Sub' $P136 = "36_1259177736.62303" 
+    capture_lex $P136
+    .const 'Sub' $P116 = "31_1259177736.62303" 
+    capture_lex $P116
+    .const 'Sub' $P102 = "28_1259177736.62303" 
+    capture_lex $P102
+    .const 'Sub' $P95 = "26_1259177736.62303" 
+    capture_lex $P95
+    .const 'Sub' $P83 = "24_1259177736.62303" 
+    capture_lex $P83
+    .const 'Sub' $P76 = "22_1259177736.62303" 
+    capture_lex $P76
+    .const 'Sub' $P64 = "20_1259177736.62303" 
+    capture_lex $P64
+    .const 'Sub' $P57 = "18_1259177736.62303" 
+    capture_lex $P57
+    .const 'Sub' $P46 = "15_1259177736.62303" 
     capture_lex $P46
-    .const 'Sub' $P38 = "13_1259103974.80122" 
+    .const 'Sub' $P38 = "13_1259177736.62303" 
     capture_lex $P38
-    .const 'Sub' $P15 = "12_1259103974.80122" 
+    .const 'Sub' $P15 = "12_1259177736.62303" 
     capture_lex $P15
-    .const 'Sub' $P571 = "156_1259103974.80122" 
-    capture_lex $P571
-    .return ($P571)
+    .const 'Sub' $P584 = "156_1259177736.62303" 
+    capture_lex $P584
+    .return ($P584)
 .end
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "obs"  :subid("12_1259103974.80122") :method :outer("11_1259103974.80122")
+.sub "obs"  :subid("12_1259177736.62303") :method :outer("11_1259177736.62303")
     .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_1259103974.80122") :method :outer("11_1259103974.80122")
+.sub "ws"  :subid("13_1259177736.62303") :method :outer("11_1259177736.62303")
 .annotate "line", 3
     .local string rx39_tgt
     .local int rx39_pos
@@ -304,7 +304,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__ws"  :subid("14_1259103974.80122") :method
+.sub "!PREFIX__ws"  :subid("14_1259177736.62303") :method
 .annotate "line", 3
     new $P41, "ResizablePMCArray"
     push $P41, ""
@@ -313,9 +313,9 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "normspace"  :subid("15_1259103974.80122") :method :outer("11_1259103974.80122")
+.sub "normspace"  :subid("15_1259177736.62303") :method :outer("11_1259177736.62303")
 .annotate "line", 3
-    .const 'Sub' $P52 = "17_1259103974.80122" 
+    .const 'Sub' $P52 = "17_1259177736.62303" 
     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_1259103974.80122" 
+    .const 'Sub' $P52 = "17_1259177736.62303" 
     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_1259103974.80122") :method
+.sub "!PREFIX__normspace"  :subid("16_1259177736.62303") :method
 .annotate "line", 3
     new $P49, "ResizablePMCArray"
     push $P49, ""
@@ -386,5339 +386,5267 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "_block51"  :anon :subid("17_1259103974.80122") :method :outer("15_1259103974.80122")
+.sub "_block51"  :anon :subid("17_1259177736.62303") :method :outer("15_1259177736.62303")
 .annotate "line", 10
-    .local string rx53_tgt
-    .local int rx53_pos
-    .local int rx53_off
-    .local int rx53_eos
-    .local int rx53_rep
-    .local pmc rx53_cur
-    (rx53_cur, rx53_pos, rx53_tgt) = self."!cursor_start"()
-    rx53_cur."!cursor_debug"("START ", "")
-    .lex unicode:"$\x{a2}", rx53_cur
-    .local pmc match
-    .lex "$/", match
-    length rx53_eos, rx53_tgt
-    set rx53_off, 0
-    lt rx53_pos, 2, rx53_start
-    sub rx53_off, rx53_pos, 1
-    substr rx53_tgt, rx53_tgt, rx53_off
-  rx53_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan54_done
-    goto rxscan54_scan
-  rxscan54_loop:
-    ($P10) = rx53_cur."from"()
-    inc $P10
-    set rx53_pos, $P10
-    ge rx53_pos, rx53_eos, rxscan54_done
-  rxscan54_scan:
-    set_addr $I10, rxscan54_loop
-    rx53_cur."!mark_push"(0, rx53_pos, $I10)
-  rxscan54_done:
-  alt55_0:
-    set_addr $I10, alt55_1
-    rx53_cur."!mark_push"(0, rx53_pos, $I10)
+    .lex unicode:"$\x{a2}", $P53
+    .local string rx54_tgt
+    .local int rx54_pos
+    .local int rx54_off
+    .local int rx54_eos
+    .local int rx54_rep
+    .local pmc rx54_cur
+    (rx54_cur, rx54_pos, rx54_tgt) = self."!cursor_start"()
+    rx54_cur."!cursor_debug"("START ", "")
+    .lex unicode:"$\x{a2}", rx54_cur
+    .local pmc match
+    .lex "$/", match
+    length rx54_eos, rx54_tgt
+    set rx54_off, 0
+    lt rx54_pos, 2, rx54_start
+    sub rx54_off, rx54_pos, 1
+    substr rx54_tgt, rx54_tgt, rx54_off
+  rx54_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan55_done
+    goto rxscan55_scan
+  rxscan55_loop:
+    ($P10) = rx54_cur."from"()
+    inc $P10
+    set rx54_pos, $P10
+    ge rx54_pos, rx54_eos, rxscan55_done
+  rxscan55_scan:
+    set_addr $I10, rxscan55_loop
+    rx54_cur."!mark_push"(0, rx54_pos, $I10)
+  rxscan55_done:
+  alt56_0:
+    set_addr $I10, alt56_1
+    rx54_cur."!mark_push"(0, rx54_pos, $I10)
   # rx charclass s
-    ge rx53_pos, rx53_eos, rx53_fail
-    sub $I10, rx53_pos, rx53_off
-    is_cclass $I11, 32, rx53_tgt, $I10
-    unless $I11, rx53_fail
-    inc rx53_pos
-    goto alt55_end
-  alt55_1:
+    ge rx54_pos, rx54_eos, rx54_fail
+    sub $I10, rx54_pos, rx54_off
+    is_cclass $I11, 32, rx54_tgt, $I10
+    unless $I11, rx54_fail
+    inc rx54_pos
+    goto alt56_end
+  alt56_1:
   # rx literal  "#"
-    add $I11, rx53_pos, 1
-    gt $I11, rx53_eos, rx53_fail
-    sub $I11, rx53_pos, rx53_off
-    substr $S10, rx53_tgt, $I11, 1
-    ne $S10, "#", rx53_fail
-    add rx53_pos, 1
-  alt55_end:
-  # rx pass
-    rx53_cur."!cursor_pass"(rx53_pos, "")
-    rx53_cur."!cursor_debug"("PASS  ", "", " at pos=", rx53_pos)
-    .return (rx53_cur)
-  rx53_fail:
-    (rx53_rep, rx53_pos, $I10, $P10) = rx53_cur."!mark_fail"(0)
-    lt rx53_pos, -1, rx53_done
-    eq rx53_pos, -1, rx53_fail
-    jump $I10
-  rx53_done:
-    rx53_cur."!cursor_fail"()
-    rx53_cur."!cursor_debug"("FAIL  ", "")
-    .return (rx53_cur)
+    add $I11, rx54_pos, 1
+    gt $I11, rx54_eos, rx54_fail
+    sub $I11, rx54_pos, rx54_off
+    substr $S10, rx54_tgt, $I11, 1
+    ne $S10, "#", rx54_fail
+    add rx54_pos, 1
+  alt56_end:
+  # rx pass
+    rx54_cur."!cursor_pass"(rx54_pos, "")
+    rx54_cur."!cursor_debug"("PASS  ", "", " at pos=", rx54_pos)
+    .return (rx54_cur)
+  rx54_fail:
+    (rx54_rep, rx54_pos, $I10, $P10) = rx54_cur."!mark_fail"(0)
+    lt rx54_pos, -1, rx54_done
+    eq rx54_pos, -1, rx54_fail
+    jump $I10
+  rx54_done:
+    rx54_cur."!cursor_fail"()
+    rx54_cur."!cursor_debug"("FAIL  ", "")
+    .return (rx54_cur)
     .return ()
 .end
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "arg"  :subid("18_1259103974.80122") :method :outer("11_1259103974.80122")
-.annotate "line", 3
-    .local string rx57_tgt
-    .local int rx57_pos
-    .local int rx57_off
-    .local int rx57_eos
-    .local int rx57_rep
-    .local pmc rx57_cur
-    (rx57_cur, rx57_pos, rx57_tgt) = self."!cursor_start"()
-    rx57_cur."!cursor_debug"("START ", "arg")
-    .lex unicode:"$\x{a2}", rx57_cur
-    .local pmc match
-    .lex "$/", match
-    length rx57_eos, rx57_tgt
-    set rx57_off, 0
-    lt rx57_pos, 2, rx57_start
-    sub rx57_off, rx57_pos, 1
-    substr rx57_tgt, rx57_tgt, rx57_off
-  rx57_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan60_done
-    goto rxscan60_scan
-  rxscan60_loop:
-    ($P10) = rx57_cur."from"()
-    inc $P10
-    set rx57_pos, $P10
-    ge rx57_pos, rx57_eos, rxscan60_done
-  rxscan60_scan:
-    set_addr $I10, rxscan60_loop
-    rx57_cur."!mark_push"(0, rx57_pos, $I10)
-  rxscan60_done:
-  alt61_0:
+.sub "arg"  :subid("18_1259177736.62303") :method :outer("11_1259177736.62303")
+.annotate "line", 3
+    .local string rx58_tgt
+    .local int rx58_pos
+    .local int rx58_off
+    .local int rx58_eos
+    .local int rx58_rep
+    .local pmc rx58_cur
+    (rx58_cur, rx58_pos, rx58_tgt) = self."!cursor_start"()
+    rx58_cur."!cursor_debug"("START ", "arg")
+    .lex unicode:"$\x{a2}", rx58_cur
+    .local pmc match
+    .lex "$/", match
+    length rx58_eos, rx58_tgt
+    set rx58_off, 0
+    lt rx58_pos, 2, rx58_start
+    sub rx58_off, rx58_pos, 1
+    substr rx58_tgt, rx58_tgt, rx58_off
+  rx58_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan61_done
+    goto rxscan61_scan
+  rxscan61_loop:
+    ($P10) = rx58_cur."from"()
+    inc $P10
+    set rx58_pos, $P10
+    ge rx58_pos, rx58_eos, rxscan61_done
+  rxscan61_scan:
+    set_addr $I10, rxscan61_loop
+    rx58_cur."!mark_push"(0, rx58_pos, $I10)
+  rxscan61_done:
+  alt62_0:
 .annotate "line", 13
-    set_addr $I10, alt61_1
-    rx57_cur."!mark_push"(0, rx57_pos, $I10)
+    set_addr $I10, alt62_1
+    rx58_cur."!mark_push"(0, rx58_pos, $I10)
 .annotate "line", 14
   # rx enumcharlist negate=0 zerowidth
-    ge rx57_pos, rx57_eos, rx57_fail
-    sub $I10, rx57_pos, rx57_off
-    substr $S10, rx57_tgt, $I10, 1
+    ge rx58_pos, rx58_eos, rx58_fail
+    sub $I10, rx58_pos, rx58_off
+    substr $S10, rx58_tgt, $I10, 1
     index $I11, "'", $S10
-    lt $I11, 0, rx57_fail
+    lt $I11, 0, rx58_fail
   # rx subrule "quote_EXPR" subtype=capture negate=
-    rx57_cur."!cursor_pos"(rx57_pos)
-    $P10 = rx57_cur."quote_EXPR"(":q")
-    unless $P10, rx57_fail
-    rx57_cur."!mark_push"(0, -1, 0, $P10)
+    rx58_cur."!cursor_pos"(rx58_pos)
+    $P10 = rx58_cur."quote_EXPR"(":q")
+    unless $P10, rx58_fail
+    rx58_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("quote_EXPR")
-    rx57_pos = $P10."pos"()
-    goto alt61_end
-  alt61_1:
-    set_addr $I10, alt61_2
-    rx57_cur."!mark_push"(0, rx57_pos, $I10)
+    rx58_pos = $P10."pos"()
+    goto alt62_end
+  alt62_1:
+    set_addr $I10, alt62_2
+    rx58_cur."!mark_push"(0, rx58_pos, $I10)
 .annotate "line", 15
   # rx enumcharlist negate=0 zerowidth
-    ge rx57_pos, rx57_eos, rx57_fail
-    sub $I10, rx57_pos, rx57_off
-    substr $S10, rx57_tgt, $I10, 1
+    ge rx58_pos, rx58_eos, rx58_fail
+    sub $I10, rx58_pos, rx58_off
+    substr $S10, rx58_tgt, $I10, 1
     index $I11, "\"", $S10
-    lt $I11, 0, rx57_fail
+    lt $I11, 0, rx58_fail
   # rx subrule "quote_EXPR" subtype=capture negate=
-    rx57_cur."!cursor_pos"(rx57_pos)
-    $P10 = rx57_cur."quote_EXPR"(":qq")
-    unless $P10, rx57_fail
-    rx57_cur."!mark_push"(0, -1, 0, $P10)
+    rx58_cur."!cursor_pos"(rx58_pos)
+    $P10 = rx58_cur."quote_EXPR"(":qq")
+    unless $P10, rx58_fail
+    rx58_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("quote_EXPR")
-    rx57_pos = $P10."pos"()
-    goto alt61_end
-  alt61_2:
+    rx58_pos = $P10."pos"()
+    goto alt62_end
+  alt62_2:
 .annotate "line", 16
   # rx subcapture "val"
-    set_addr $I10, rxcap_62_fail
-    rx57_cur."!mark_push"(0, rx57_pos, $I10)
+    set_addr $I10, rxcap_63_fail
+    rx58_cur."!mark_push"(0, rx58_pos, $I10)
   # rx charclass_q d r 1..-1
-    sub $I10, rx57_pos, rx57_off
-    find_not_cclass $I11, 8, rx57_tgt, $I10, rx57_eos
+    sub $I10, rx58_pos, rx58_off
+    find_not_cclass $I11, 8, rx58_tgt, $I10, rx58_eos
     add $I12, $I10, 1
-    lt $I11, $I12, rx57_fail
-    add rx57_pos, rx57_off, $I11
-    set_addr $I10, rxcap_62_fail
-    ($I12, $I11) = rx57_cur."!mark_peek"($I10)
-    rx57_cur."!cursor_pos"($I11)
-    ($P10) = rx57_cur."!cursor_start"()
-    $P10."!cursor_pass"(rx57_pos, "")
-    rx57_cur."!mark_push"(0, -1, 0, $P10)
+    lt $I11, $I12, rx58_fail
+    add rx58_pos, rx58_off, $I11
+    set_addr $I10, rxcap_63_fail
+    ($I12, $I11) = rx58_cur."!mark_peek"($I10)
+    rx58_cur."!cursor_pos"($I11)
+    ($P10) = rx58_cur."!cursor_start"()
+    $P10."!cursor_pass"(rx58_pos, "")
+    rx58_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("val")
-    goto rxcap_62_done
-  rxcap_62_fail:
-    goto rx57_fail
-  rxcap_62_done:
-  alt61_end:
+    goto rxcap_63_done
+  rxcap_63_fail:
+    goto rx58_fail
+  rxcap_63_done:
+  alt62_end:
 .annotate "line", 12
   # rx pass
-    rx57_cur."!cursor_pass"(rx57_pos, "arg")
-    rx57_cur."!cursor_debug"("PASS  ", "arg", " at pos=", rx57_pos)
-    .return (rx57_cur)
-  rx57_fail:
+    rx58_cur."!cursor_pass"(rx58_pos, "arg")
+    rx58_cur."!cursor_debug"("PASS  ", "arg", " at pos=", rx58_pos)
+    .return (rx58_cur)
+  rx58_fail:
 .annotate "line", 3
-    (rx57_rep, rx57_pos, $I10, $P10) = rx57_cur."!mark_fail"(0)
-    lt rx57_pos, -1, rx57_done
-    eq rx57_pos, -1, rx57_fail
+    (rx58_rep, rx58_pos, $I10, $P10) = rx58_cur."!mark_fail"(0)
+    lt rx58_pos, -1, rx58_done
+    eq rx58_pos, -1, rx58_fail
     jump $I10
-  rx57_done:
-    rx57_cur."!cursor_fail"()
-    rx57_cur."!cursor_debug"("FAIL  ", "arg")
-    .return (rx57_cur)
+  rx58_done:
+    rx58_cur."!cursor_fail"()
+    rx58_cur."!cursor_debug"("FAIL  ", "arg")
+    .return (rx58_cur)
     .return ()
 .end
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__arg"  :subid("19_1259103974.80122") :method
+.sub "!PREFIX__arg"  :subid("19_1259177736.62303") :method
 .annotate "line", 3
-    new $P59, "ResizablePMCArray"
-    push $P59, ""
-    push $P59, "\""
-    push $P59, "'"
-    .return ($P59)
+    new $P60, "ResizablePMCArray"
+    push $P60, ""
+    push $P60, "\""
+    push $P60, "'"
+    .return ($P60)
 .end
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "arglist"  :subid("20_1259103974.80122") :method :outer("11_1259103974.80122")
+.sub "arglist"  :subid("20_1259177736.62303") :method :outer("11_1259177736.62303")
 .annotate "line", 3
-    .local string rx64_tgt
-    .local int rx64_pos
-    .local int rx64_off
-    .local int rx64_eos
-    .local int rx64_rep
-    .local pmc rx64_cur
-    (rx64_cur, rx64_pos, rx64_tgt) = self."!cursor_start"()
-    rx64_cur."!cursor_debug"("START ", "arglist")
-    rx64_cur."!cursor_caparray"("arg")
-    .lex unicode:"$\x{a2}", rx64_cur
+    .local string rx65_tgt
+    .local int rx65_pos
+    .local int rx65_off
+    .local int rx65_eos
+    .local int rx65_rep
+    .local pmc rx65_cur
+    (rx65_cur, rx65_pos, rx65_tgt) = self."!cursor_start"()
+    rx65_cur."!cursor_debug"("START ", "arglist")
+    rx65_cur."!cursor_caparray"("arg")
+    .lex unicode:"$\x{a2}", rx65_cur
     .local pmc match
     .lex "$/", match
-    length rx64_eos, rx64_tgt
-    set rx64_off, 0
-    lt rx64_pos, 2, rx64_start
-    sub rx64_off, rx64_pos, 1
-    substr rx64_tgt, rx64_tgt, rx64_off
-  rx64_start:
+    length rx65_eos, rx65_tgt
+    set rx65_off, 0
+    lt rx65_pos, 2, rx65_start
+    sub rx65_off, rx65_pos, 1
+    substr rx65_tgt, rx65_tgt, rx65_off
+  rx65_start:
     $I10 = self.'from'()
-    ne $I10, -1, rxscan67_done
-    goto rxscan67_scan
-  rxscan67_loop:
-    ($P10) = rx64_cur."from"()
+    ne $I10, -1, rxscan68_done
+    goto rxscan68_scan
+  rxscan68_loop:
+    ($P10) = rx65_cur."from"()
     inc $P10
-    set rx64_pos, $P10
-    ge rx64_pos, rx64_eos, rxscan67_done
-  rxscan67_scan:
-    set_addr $I10, rxscan67_loop
-    rx64_cur."!mark_push"(0, rx64_pos, $I10)
-  rxscan67_done:
+    set rx65_pos, $P10
+    ge rx65_pos, rx65_eos, rxscan68_done
+  rxscan68_scan:
+    set_addr $I10, rxscan68_loop
+    rx65_cur."!mark_push"(0, rx65_pos, $I10)
+  rxscan68_done:
 .annotate "line", 20
   # rx subrule "ws" subtype=method negate=
-    rx64_cur."!cursor_pos"(rx64_pos)
-    $P10 = rx64_cur."ws"()
-    unless $P10, rx64_fail
-    rx64_pos = $P10."pos"()
+    rx65_cur."!cursor_pos"(rx65_pos)
+    $P10 = rx65_cur."ws"()
+    unless $P10, rx65_fail
+    rx65_pos = $P10."pos"()
   # rx subrule "arg" subtype=capture negate=
-    rx64_cur."!cursor_pos"(rx64_pos)
-    $P10 = rx64_cur."arg"()
-    unless $P10, rx64_fail
-    rx64_cur."!mark_push"(0, -1, 0, $P10)
+    rx65_cur."!cursor_pos"(rx65_pos)
+    $P10 = rx65_cur."arg"()
+    unless $P10, rx65_fail
+    rx65_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("arg")
-    rx64_pos = $P10."pos"()
+    rx65_pos = $P10."pos"()
   # rx subrule "ws" subtype=method negate=
-    rx64_cur."!cursor_pos"(rx64_pos)
-    $P10 = rx64_cur."ws"()
-    unless $P10, rx64_fail
-    rx64_pos = $P10."pos"()
-  # rx rxquantr70 ** 0..*
-    set_addr $I73, rxquantr70_done
-    rx64_cur."!mark_push"(0, rx64_pos, $I73)
-  rxquantr70_loop:
+    rx65_cur."!cursor_pos"(rx65_pos)
+    $P10 = rx65_cur."ws"()
+    unless $P10, rx65_fail
+    rx65_pos = $P10."pos"()
+  # rx rxquantr71 ** 0..*
+    set_addr $I74, rxquantr71_done
+    rx65_cur."!mark_push"(0, rx65_pos, $I74)
+  rxquantr71_loop:
   # rx subrule "ws" subtype=method negate=
-    rx64_cur."!cursor_pos"(rx64_pos)
-    $P10 = rx64_cur."ws"()
-    unless $P10, rx64_fail
-    rx64_pos = $P10."pos"()
+    rx65_cur."!cursor_pos"(rx65_pos)
+    $P10 = rx65_cur."ws"()
+    unless $P10, rx65_fail
+    rx65_pos = $P10."pos"()
   # rx literal  ","
-    add $I11, rx64_pos, 1
-    gt $I11, rx64_eos, rx64_fail
-    sub $I11, rx64_pos, rx64_off
-    substr $S10, rx64_tgt, $I11, 1
-    ne $S10, ",", rx64_fail
-    add rx64_pos, 1
+    add $I11, rx65_pos, 1
+    gt $I11, rx65_eos, rx65_fail
+    sub $I11, rx65_pos, rx65_off
+    substr $S10, rx65_tgt, $I11, 1
+    ne $S10, ",", rx65_fail
+    add rx65_pos, 1
   # rx subrule "ws" subtype=method negate=
-    rx64_cur."!cursor_pos"(rx64_pos)
-    $P10 = rx64_cur."ws"()
-    unless $P10, rx64_fail
-    rx64_pos = $P10."pos"()
+    rx65_cur."!cursor_pos"(rx65_pos)
+    $P10 = rx65_cur."ws"()
+    unless $P10, rx65_fail
+    rx65_pos = $P10."pos"()
   # rx subrule "arg" subtype=capture negate=
-    rx64_cur."!cursor_pos"(rx64_pos)
-    $P10 = rx64_cur."arg"()
-    unless $P10, rx64_fail
-    rx64_cur."!mark_push"(0, -1, 0, $P10)
+    rx65_cur."!cursor_pos"(rx65_pos)
+    $P10 = rx65_cur."arg"()
+    unless $P10, rx65_fail
+    rx65_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("arg")
-    rx64_pos = $P10."pos"()
-    (rx64_rep) = rx64_cur."!mark_commit"($I73)
-    rx64_cur."!mark_push"(rx64_rep, rx64_pos, $I73)
-    goto rxquantr70_loop
-  rxquantr70_done:
+    rx65_pos = $P10."pos"()
+    (rx65_rep) = rx65_cur."!mark_commit"($I74)
+    rx65_cur."!mark_push"(rx65_rep, rx65_pos, $I74)
+    goto rxquantr71_loop
+  rxquantr71_done:
   # rx subrule "ws" subtype=method negate=
-    rx64_cur."!cursor_pos"(rx64_pos)
-    $P10 = rx64_cur."ws"()
-    unless $P10, rx64_fail
-    rx64_pos = $P10."pos"()
+    rx65_cur."!cursor_pos"(rx65_pos)
+    $P10 = rx65_cur."ws"()
+    unless $P10, rx65_fail
+    rx65_pos = $P10."pos"()
   # rx pass
-    rx64_cur."!cursor_pass"(rx64_pos, "arglist")
-    rx64_cur."!cursor_debug"("PASS  ", "arglist", " at pos=", rx64_pos)
-    .return (rx64_cur)
-  rx64_fail:
+    rx65_cur."!cursor_pass"(rx65_pos, "arglist")
+    rx65_cur."!cursor_debug"("PASS  ", "arglist", " at pos=", rx65_pos)
+    .return (rx65_cur)
+  rx65_fail:
 .annotate "line", 3
-    (rx64_rep, rx64_pos, $I10, $P10) = rx64_cur."!mark_fail"(0)
-    lt rx64_pos, -1, rx64_done
-    eq rx64_pos, -1, rx64_fail
+    (rx65_rep, rx65_pos, $I10, $P10) = rx65_cur."!mark_fail"(0)
+    lt rx65_pos, -1, rx65_done
+    eq rx65_pos, -1, rx65_fail
     jump $I10
-  rx64_done:
-    rx64_cur."!cursor_fail"()
-    rx64_cur."!cursor_debug"("FAIL  ", "arglist")
-    .return (rx64_cur)
+  rx65_done:
+    rx65_cur."!cursor_fail"()
+    rx65_cur."!cursor_debug"("FAIL  ", "arglist")
+    .return (rx65_cur)
     .return ()
 .end
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__arglist"  :subid("21_1259103974.80122") :method
+.sub "!PREFIX__arglist"  :subid("21_1259177736.62303") :method
 .annotate "line", 3
-    new $P66, "ResizablePMCArray"
-    push $P66, ""
-    .return ($P66)
+    new $P67, "ResizablePMCArray"
+    push $P67, ""
+    .return ($P67)
 .end
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "TOP"  :subid("22_1259103974.80122") :method :outer("11_1259103974.80122")
+.sub "TOP"  :subid("22_1259177736.62303") :method :outer("11_1259177736.62303")
 .annotate "line", 3
-    .local string rx76_tgt
-    .local int rx76_pos
-    .local int rx76_off
-    .local int rx76_eos
-    .local int rx76_rep
-    .local pmc rx76_cur
-    (rx76_cur, rx76_pos, rx76_tgt) = self."!cursor_start"()
-    rx76_cur."!cursor_debug"("START ", "TOP")
-    .lex unicode:"$\x{a2}", rx76_cur
+    .local string rx77_tgt
+    .local int rx77_pos
+    .local int rx77_off
+    .local int rx77_eos
+    .local int rx77_rep
+    .local pmc rx77_cur
+    (rx77_cur, rx77_pos, rx77_tgt) = self."!cursor_start"()
+    rx77_cur."!cursor_debug"("START ", "TOP")
+    .lex unicode:"$\x{a2}", rx77_cur
     .local pmc match
     .lex "$/", match
-    length rx76_eos, rx76_tgt
-    set rx76_off, 0
-    lt rx76_pos, 2, rx76_start
-    sub rx76_off, rx76_pos, 1
-    substr rx76_tgt, rx76_tgt, rx76_off
-  rx76_start:
+    length rx77_eos, rx77_tgt
+    set rx77_off, 0
+    lt rx77_pos, 2, rx77_start
+    sub rx77_off, rx77_pos, 1
+    substr rx77_tgt, rx77_tgt, rx77_off
+  rx77_start:
     $I10 = self.'from'()
-    ne $I10, -1, rxscan80_done
-    goto rxscan80_scan
-  rxscan80_loop:
-    ($P10) = rx76_cur."from"()
+    ne $I10, -1, rxscan81_done
+    goto rxscan81_scan
+  rxscan81_loop:
+    ($P10) = rx77_cur."from"()
     inc $P10
-    set rx76_pos, $P10
-    ge rx76_pos, rx76_eos, rxscan80_done
-  rxscan80_scan:
-    set_addr $I10, rxscan80_loop
-    rx76_cur."!mark_push"(0, rx76_pos, $I10)
-  rxscan80_done:
+    set rx77_pos, $P10
+    ge rx77_pos, rx77_eos, rxscan81_done
+  rxscan81_scan:
+    set_addr $I10, rxscan81_loop
+    rx77_cur."!mark_push"(0, rx77_pos, $I10)
+  rxscan81_done:
 .annotate "line", 23
   # rx subrule "nibbler" subtype=capture negate=
-    rx76_cur."!cursor_pos"(rx76_pos)
-    $P10 = rx76_cur."nibbler"()
-    unless $P10, rx76_fail
-    rx76_cur."!mark_push"(0, -1, 0, $P10)
+    rx77_cur."!cursor_pos"(rx77_pos)
+    $P10 = rx77_cur."nibbler"()
+    unless $P10, rx77_fail
+    rx77_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("nibbler")
-    rx76_pos = $P10."pos"()
-  alt81_0:
+    rx77_pos = $P10."pos"()
+  alt82_0:
 .annotate "line", 24
-    set_addr $I10, alt81_1
-    rx76_cur."!mark_push"(0, rx76_pos, $I10)
+    set_addr $I10, alt82_1
+    rx77_cur."!mark_push"(0, rx77_pos, $I10)
   # rxanchor eos
-    ne rx76_pos, rx76_eos, rx76_fail
-    goto alt81_end
-  alt81_1:
+    ne rx77_pos, rx77_eos, rx77_fail
+    goto alt82_end
+  alt82_1:
   # rx subrule "panic" subtype=method negate=
-    rx76_cur."!cursor_pos"(rx76_pos)
-    $P10 = rx76_cur."panic"("Confused")
-    unless $P10, rx76_fail
-    rx76_pos = $P10."pos"()
-  alt81_end:
+    rx77_cur."!cursor_pos"(rx77_pos)
+    $P10 = rx77_cur."panic"("Confused")
+    unless $P10, rx77_fail
+    rx77_pos = $P10."pos"()
+  alt82_end:
 .annotate "line", 22
   # rx pass
-    rx76_cur."!cursor_pass"(rx76_pos, "TOP")
-    rx76_cur."!cursor_debug"("PASS  ", "TOP", " at pos=", rx76_pos)
-    .return (rx76_cur)
-  rx76_fail:
+    rx77_cur."!cursor_pass"(rx77_pos, "TOP")
+    rx77_cur."!cursor_debug"("PASS  ", "TOP", " at pos=", rx77_pos)
+    .return (rx77_cur)
+  rx77_fail:
 .annotate "line", 3
-    (rx76_rep, rx76_pos, $I10, $P10) = rx76_cur."!mark_fail"(0)
-    lt rx76_pos, -1, rx76_done
-    eq rx76_pos, -1, rx76_fail
+    (rx77_rep, rx77_pos, $I10, $P10) = rx77_cur."!mark_fail"(0)
+    lt rx77_pos, -1, rx77_done
+    eq rx77_pos, -1, rx77_fail
     jump $I10
-  rx76_done:
-    rx76_cur."!cursor_fail"()
-    rx76_cur."!cursor_debug"("FAIL  ", "TOP")
-    .return (rx76_cur)
+  rx77_done:
+    rx77_cur."!cursor_fail"()
+    rx77_cur."!cursor_debug"("FAIL  ", "TOP")
+    .return (rx77_cur)
     .return ()
 .end
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__TOP"  :subid("23_1259103974.80122") :method
+.sub "!PREFIX__TOP"  :subid("23_1259177736.62303") :method
 .annotate "line", 3
-    $P78 = self."!PREFIX__!subrule"("nibbler", "")
-    new $P79, "ResizablePMCArray"
-    push $P79, $P78
-    .return ($P79)
+    $P79 = self."!PREFIX__!subrule"("nibbler", "")
+    new $P80, "ResizablePMCArray"
+    push $P80, $P79
+    .return ($P80)
 .end
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "nibbler"  :subid("24_1259103974.80122") :method :outer("11_1259103974.80122")
+.sub "nibbler"  :subid("24_1259177736.62303") :method :outer("11_1259177736.62303")
 .annotate "line", 3
-    .local string rx83_tgt
-    .local int rx83_pos
-    .local int rx83_off
-    .local int rx83_eos
-    .local int rx83_rep
-    .local pmc rx83_cur
-    (rx83_cur, rx83_pos, rx83_tgt) = self."!cursor_start"()
-    rx83_cur."!cursor_debug"("START ", "nibbler")
-    rx83_cur."!cursor_caparray"("termish")
-    .lex unicode:"$\x{a2}", rx83_cur
+    .local string rx84_tgt
+    .local int rx84_pos
+    .local int rx84_off
+    .local int rx84_eos
+    .local int rx84_rep
+    .local pmc rx84_cur
+    (rx84_cur, rx84_pos, rx84_tgt) = self."!cursor_start"()
+    rx84_cur."!cursor_debug"("START ", "nibbler")
+    rx84_cur."!cursor_caparray"("termish")
+    .lex unicode:"$\x{a2}", rx84_cur
     .local pmc match
     .lex "$/", match
-    length rx83_eos, rx83_tgt
-    set rx83_off, 0
-    lt rx83_pos, 2, rx83_start
-    sub rx83_off, rx83_pos, 1
-    substr rx83_tgt, rx83_tgt, rx83_off
-  rx83_start:
+    length rx84_eos, rx84_tgt
+    set rx84_off, 0
+    lt rx84_pos, 2, rx84_start
+    sub rx84_off, rx84_pos, 1
+    substr rx84_tgt, rx84_tgt, rx84_off
+  rx84_start:
     $I10 = self.'from'()
-    ne $I10, -1, rxscan86_done
-    goto rxscan86_scan
-  rxscan86_loop:
-    ($P10) = rx83_cur."from"()
+    ne $I10, -1, rxscan87_done
+    goto rxscan87_scan
+  rxscan87_loop:
+    ($P10) = rx84_cur."from"()
     inc $P10
-    set rx83_pos, $P10
-    ge rx83_pos, rx83_eos, rxscan86_done
-  rxscan86_scan:
-    set_addr $I10, rxscan86_loop
-    rx83_cur."!mark_push"(0, rx83_pos, $I10)
-  rxscan86_done:
+    set rx84_pos, $P10
+    ge rx84_pos, rx84_eos, rxscan87_done
+  rxscan87_scan:
+    set_addr $I10, rxscan87_loop
+    rx84_cur."!mark_push"(0, rx84_pos, $I10)
+  rxscan87_done:
 .annotate "line", 28
   # rx reduce name="nibbler" key="open"
-    rx83_cur."!cursor_pos"(rx83_pos)
-    rx83_cur."!reduce"("nibbler", "open")
+    rx84_cur."!cursor_pos"(rx84_pos)
+    rx84_cur."!reduce"("nibbler", "open")
 .annotate "line", 29
-  # rx rxquantr87 ** 0..1
-    set_addr $I89, rxquantr87_done
-    rx83_cur."!mark_push"(0, rx83_pos, $I89)
-  rxquantr87_loop:
+  # rx rxquantr88 ** 0..1
+    set_addr $I90, rxquantr88_done
+    rx84_cur."!mark_push"(0, rx84_pos, $I90)
+  rxquantr88_loop:
   # rx subrule "ws" subtype=method negate=
-    rx83_cur."!cursor_pos"(rx83_pos)
-    $P10 = rx83_cur."ws"()
-    unless $P10, rx83_fail
-    rx83_pos = $P10."pos"()
-  alt88_0:
-    set_addr $I10, alt88_1
-    rx83_cur."!mark_push"(0, rx83_pos, $I10)
+    rx84_cur."!cursor_pos"(rx84_pos)
+    $P10 = rx84_cur."ws"()
+    unless $P10, rx84_fail
+    rx84_pos = $P10."pos"()
+  alt89_0:
+    set_addr $I10, alt89_1
+    rx84_cur."!mark_push"(0, rx84_pos, $I10)
   # rx literal  "||"
-    add $I11, rx83_pos, 2
-    gt $I11, rx83_eos, rx83_fail
-    sub $I11, rx83_pos, rx83_off
-    substr $S10, rx83_tgt, $I11, 2
-    ne $S10, "||", rx83_fail
-    add rx83_pos, 2
-    goto alt88_end
-  alt88_1:
-    set_addr $I10, alt88_2
-    rx83_cur."!mark_push"(0, rx83_pos, $I10)
+    add $I11, rx84_pos, 2
+    gt $I11, rx84_eos, rx84_fail
+    sub $I11, rx84_pos, rx84_off
+    substr $S10, rx84_tgt, $I11, 2
+    ne $S10, "||", rx84_fail
+    add rx84_pos, 2
+    goto alt89_end
+  alt89_1:
+    set_addr $I10, alt89_2
+    rx84_cur."!mark_push"(0, rx84_pos, $I10)
   # rx literal  "|"
-    add $I11, rx83_pos, 1
-    gt $I11, rx83_eos, rx83_fail
-    sub $I11, rx83_pos, rx83_off
-    substr $S10, rx83_tgt, $I11, 1
-    ne $S10, "|", rx83_fail
-    add rx83_pos, 1
-    goto alt88_end
-  alt88_2:
-    set_addr $I10, alt88_3
-    rx83_cur."!mark_push"(0, rx83_pos, $I10)
+    add $I11, rx84_pos, 1
+    gt $I11, rx84_eos, rx84_fail
+    sub $I11, rx84_pos, rx84_off
+    substr $S10, rx84_tgt, $I11, 1
+    ne $S10, "|", rx84_fail
+    add rx84_pos, 1
+    goto alt89_end
+  alt89_2:
+    set_addr $I10, alt89_3
+    rx84_cur."!mark_push"(0, rx84_pos, $I10)
   # rx literal  "&&"
-    add $I11, rx83_pos, 2
-    gt $I11, rx83_eos, rx83_fail
-    sub $I11, rx83_pos, rx83_off
-    substr $S10, rx83_tgt, $I11, 2
-    ne $S10, "&&", rx83_fail
-    add rx83_pos, 2
-    goto alt88_end
-  alt88_3:
+    add $I11, rx84_pos, 2
+    gt $I11, rx84_eos, rx84_fail
+    sub $I11, rx84_pos, rx84_off
+    substr $S10, rx84_tgt, $I11, 2
+    ne $S10, "&&", rx84_fail
+    add rx84_pos, 2
+    goto alt89_end
+  alt89_3:
   # rx literal  "&"
-    add $I11, rx83_pos, 1
-    gt $I11, rx83_eos, rx83_fail
-    sub $I11, rx83_pos, rx83_off
-    substr $S10, rx83_tgt, $I11, 1
-    ne $S10, "&", rx83_fail
-    add rx83_pos, 1
-  alt88_end:
-    (rx83_rep) = rx83_cur."!mark_commit"($I89)
-  rxquantr87_done:
+    add $I11, rx84_pos, 1
+    gt $I11, rx84_eos, rx84_fail
+    sub $I11, rx84_pos, rx84_off
+    substr $S10, rx84_tgt, $I11, 1
+    ne $S10, "&", rx84_fail
+    add rx84_pos, 1
+  alt89_end:
+    (rx84_rep) = rx84_cur."!mark_commit"($I90)
+  rxquantr88_done:
 .annotate "line", 30
   # rx subrule "termish" subtype=capture negate=
-    rx83_cur."!cursor_pos"(rx83_pos)
-    $P10 = rx83_cur."termish"()
-    unless $P10, rx83_fail
-    rx83_cur."!mark_push"(0, -1, 0, $P10)
+    rx84_cur."!cursor_pos"(rx84_pos)
+    $P10 = rx84_cur."termish"()
+    unless $P10, rx84_fail
+    rx84_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("termish")
-    rx83_pos = $P10."pos"()
+    rx84_pos = $P10."pos"()
 .annotate "line", 33
-  # rx rxquantr90 ** 0..*
-    set_addr $I93, rxquantr90_done
-    rx83_cur."!mark_push"(0, rx83_pos, $I93)
-  rxquantr90_loop:
-  alt91_0:
+  # rx rxquantr91 ** 0..*
+    set_addr $I94, rxquantr91_done
+    rx84_cur."!mark_push"(0, rx84_pos, $I94)
+  rxquantr91_loop:
+  alt92_0:
 .annotate "line", 31
-    set_addr $I10, alt91_1
-    rx83_cur."!mark_push"(0, rx83_pos, $I10)
+    set_addr $I10, alt92_1
+    rx84_cur."!mark_push"(0, rx84_pos, $I10)
   # rx literal  "||"
-    add $I11, rx83_pos, 2
-    gt $I11, rx83_eos, rx83_fail
-    sub $I11, rx83_pos, rx83_off
-    substr $S10, rx83_tgt, $I11, 2
-    ne $S10, "||", rx83_fail
-    add rx83_pos, 2
-    goto alt91_end
-  alt91_1:
+    add $I11, rx84_pos, 2
+    gt $I11, rx84_eos, rx84_fail
+    sub $I11, rx84_pos, rx84_off
+    substr $S10, rx84_tgt, $I11, 2
+    ne $S10, "||", rx84_fail
+    add rx84_pos, 2
+    goto alt92_end
+  alt92_1:
   # rx literal  "|"
-    add $I11, rx83_pos, 1
-    gt $I11, rx83_eos, rx83_fail
-    sub $I11, rx83_pos, rx83_off
-    substr $S10, rx83_tgt, $I11, 1
-    ne $S10, "|", rx83_fail
-    add rx83_pos, 1
-  alt91_end:
-  alt92_0:
+    add $I11, rx84_pos, 1
+    gt $I11, rx84_eos, rx84_fail
+    sub $I11, rx84_pos, rx84_off
+    substr $S10, rx84_tgt, $I11, 1
+    ne $S10, "|", rx84_fail
+    add rx84_pos, 1
+  alt92_end:
+  alt93_0:
 .annotate "line", 32
-    set_addr $I10, alt92_1
-    rx83_cur."!mark_push"(0, rx83_pos, $I10)
+    set_addr $I10, alt93_1
+    rx84_cur."!mark_push"(0, rx84_pos, $I10)
   # rx subrule "termish" subtype=capture negate=
-    rx83_cur."!cursor_pos"(rx83_pos)
-    $P10 = rx83_cur."termish"()
-    unless $P10, rx83_fail
-    rx83_cur."!mark_push"(0, -1, 0, $P10)
+    rx84_cur."!cursor_pos"(rx84_pos)
+    $P10 = rx84_cur."termish"()
+    unless $P10, rx84_fail
+    rx84_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("termish")
-    rx83_pos = $P10."pos"()
-    goto alt92_end
-  alt92_1:
+    rx84_pos = $P10."pos"()
+    goto alt93_end
+  alt93_1:
   # rx subrule "panic" subtype=method negate=
-    rx83_cur."!cursor_pos"(rx83_pos)
-    $P10 = rx83_cur."panic"("Null pattern not allowed")
-    unless $P10, rx83_fail
-    rx83_pos = $P10."pos"()
-  alt92_end:
+    rx84_cur."!cursor_pos"(rx84_pos)
+    $P10 = rx84_cur."panic"("Null pattern not allowed")
+    unless $P10, rx84_fail
+    rx84_pos = $P10."pos"()
+  alt93_end:
 .annotate "line", 33
-    (rx83_rep) = rx83_cur."!mark_commit"($I93)
-    rx83_cur."!mark_push"(rx83_rep, rx83_pos, $I93)
-    goto rxquantr90_loop
-  rxquantr90_done:
+    (rx84_rep) = rx84_cur."!mark_commit"($I94)
+    rx84_cur."!mark_push"(rx84_rep, rx84_pos, $I94)
+    goto rxquantr91_loop
+  rxquantr91_done:
 .annotate "line", 27
   # rx pass
-    rx83_cur."!cursor_pass"(rx83_pos, "nibbler")
-    rx83_cur."!cursor_debug"("PASS  ", "nibbler", " at pos=", rx83_pos)
-    .return (rx83_cur)
-  rx83_fail:
+    rx84_cur."!cursor_pass"(rx84_pos, "nibbler")
+    rx84_cur."!cursor_debug"("PASS  ", "nibbler", " at pos=", rx84_pos)
+    .return (rx84_cur)
+  rx84_fail:
 .annotate "line", 3
-    (rx83_rep, rx83_pos, $I10, $P10) = rx83_cur."!mark_fail"(0)
-    lt rx83_pos, -1, rx83_done
-    eq rx83_pos, -1, rx83_fail
+    (rx84_rep, rx84_pos, $I10, $P10) = rx84_cur."!mark_fail"(0)
+    lt rx84_pos, -1, rx84_done
+    eq rx84_pos, -1, rx84_fail
     jump $I10
-  rx83_done:
-    rx83_cur."!cursor_fail"()
-    rx83_cur."!cursor_debug"("FAIL  ", "nibbler")
-    .return (rx83_cur)
+  rx84_done:
+    rx84_cur."!cursor_fail"()
+    rx84_cur."!cursor_debug"("FAIL  ", "nibbler")
+    .return (rx84_cur)
     .return ()
 .end
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__nibbler"  :subid("25_1259103974.80122") :method
+.sub "!PREFIX__nibbler"  :subid("25_1259177736.62303") :method
 .annotate "line", 3
-    new $P85, "ResizablePMCArray"
-    push $P85, ""
-    .return ($P85)
+    new $P86, "ResizablePMCArray"
+    push $P86, ""
+    .return ($P86)
 .end
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "termish"  :subid("26_1259103974.80122") :method :outer("11_1259103974.80122")
+.sub "termish"  :subid("26_1259177736.62303") :method :outer("11_1259177736.62303")
 .annotate "line", 3
-    .local string rx95_tgt
-    .local int rx95_pos
-    .local int rx95_off
-    .local int rx95_eos
-    .local int rx95_rep
-    .local pmc rx95_cur
-    (rx95_cur, rx95_pos, rx95_tgt) = self."!cursor_start"()
-    rx95_cur."!cursor_debug"("START ", "termish")
-    rx95_cur."!cursor_caparray"("noun")
-    .lex unicode:"$\x{a2}", rx95_cur
+    .local string rx96_tgt
+    .local int rx96_pos
+    .local int rx96_off
+    .local int rx96_eos
+    .local int rx96_rep
+    .local pmc rx96_cur
+    (rx96_cur, rx96_pos, rx96_tgt) = self."!cursor_start"()
+    rx96_cur."!cursor_debug"("START ", "termish")
+    rx96_cur."!cursor_caparray"("noun")
+    .lex unicode:"$\x{a2}", rx96_cur
     .local pmc match
     .lex "$/", match
-    length rx95_eos, rx95_tgt
-    set rx95_off, 0
-    lt rx95_pos, 2, rx95_start
-    sub rx95_off, rx95_pos, 1
-    substr rx95_tgt, rx95_tgt, rx95_off
-  rx95_start:
+    length rx96_eos, rx96_tgt
+    set rx96_off, 0
+    lt rx96_pos, 2, rx96_start
+    sub rx96_off, rx96_pos, 1
+    substr rx96_tgt, rx96_tgt, rx96_off
+  rx96_start:
     $I10 = self.'from'()
-    ne $I10, -1, rxscan98_done
-    goto rxscan98_scan
-  rxscan98_loop:
-    ($P10) = rx95_cur."from"()
+    ne $I10, -1, rxscan99_done
+    goto rxscan99_scan
+  rxscan99_loop:
+    ($P10) = rx96_cur."from"()
     inc $P10
-    set rx95_pos, $P10
-    ge rx95_pos, rx95_eos, rxscan98_done
-  rxscan98_scan:
-    set_addr $I10, rxscan98_loop
-    rx95_cur."!mark_push"(0, rx95_pos, $I10)
-  rxscan98_done:
+    set rx96_pos, $P10
+    ge rx96_pos, rx96_eos, rxscan99_done
+  rxscan99_scan:
+    set_addr $I10, rxscan99_loop
+    rx96_cur."!mark_push"(0, rx96_pos, $I10)
+  rxscan99_done:
 .annotate "line", 37
-  # rx rxquantr99 ** 1..*
-    set_addr $I100, rxquantr99_done
-    rx95_cur."!mark_push"(0, -1, $I100)
-  rxquantr99_loop:
+  # rx rxquantr100 ** 1..*
+    set_addr $I101, rxquantr100_done
+    rx96_cur."!mark_push"(0, -1, $I101)
+  rxquantr100_loop:
   # rx subrule "quantified_atom" subtype=capture negate=
-    rx95_cur."!cursor_pos"(rx95_pos)
-    $P10 = rx95_cur."quantified_atom"()
-    unless $P10, rx95_fail
-    rx95_cur."!mark_push"(0, -1, 0, $P10)
+    rx96_cur."!cursor_pos"(rx96_pos)
+    $P10 = rx96_cur."quantified_atom"()
+    unless $P10, rx96_fail
+    rx96_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("noun")
-    rx95_pos = $P10."pos"()
-    (rx95_rep) = rx95_cur."!mark_commit"($I100)
-    rx95_cur."!mark_push"(rx95_rep, rx95_pos, $I100)
-    goto rxquantr99_loop
-  rxquantr99_done:
+    rx96_pos = $P10."pos"()
+    (rx96_rep) = rx96_cur."!mark_commit"($I101)
+    rx96_cur."!mark_push"(rx96_rep, rx96_pos, $I101)
+    goto rxquantr100_loop
+  rxquantr100_done:
 .annotate "line", 36
   # rx pass
-    rx95_cur."!cursor_pass"(rx95_pos, "termish")
-    rx95_cur."!cursor_debug"("PASS  ", "termish", " at pos=", rx95_pos)
-    .return (rx95_cur)
-  rx95_fail:
+    rx96_cur."!cursor_pass"(rx96_pos, "termish")
+    rx96_cur."!cursor_debug"("PASS  ", "termish", " at pos=", rx96_pos)
+    .return (rx96_cur)
+  rx96_fail:
 .annotate "line", 3
-    (rx95_rep, rx95_pos, $I10, $P10) = rx95_cur."!mark_fail"(0)
-    lt rx95_pos, -1, rx95_done
-    eq rx95_pos, -1, rx95_fail
+    (rx96_rep, rx96_pos, $I10, $P10) = rx96_cur."!mark_fail"(0)
+    lt rx96_pos, -1, rx96_done
+    eq rx96_pos, -1, rx96_fail
     jump $I10
-  rx95_done:
-    rx95_cur."!cursor_fail"()
-    rx95_cur."!cursor_debug"("FAIL  ", "termish")
-    .return (rx95_cur)
+  rx96_done:
+    rx96_cur."!cursor_fail"()
+    rx96_cur."!cursor_debug"("FAIL  ", "termish")
+    .return (rx96_cur)
     .return ()
 .end
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__termish"  :subid("27_1259103974.80122") :method
+.sub "!PREFIX__termish"  :subid("27_1259177736.62303") :method
 .annotate "line", 3
-    new $P97, "ResizablePMCArray"
-    push $P97, ""
-    .return ($P97)
+    new $P98, "ResizablePMCArray"
+    push $P98, ""
+    .return ($P98)
 .end
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "quantified_atom"  :subid("28_1259103974.80122") :method :outer("11_1259103974.80122")
+.sub "quantified_atom"  :subid("28_1259177736.62303") :method :outer("11_1259177736.62303")
 .annotate "line", 3
-    .const 'Sub' $P110 = "30_1259103974.80122" 
-    capture_lex $P110
-    .local string rx102_tgt
-    .local int rx102_pos
-    .local int rx102_off
-    .local int rx102_eos
-    .local int rx102_rep
-    .local pmc rx102_cur
-    (rx102_cur, rx102_pos, rx102_tgt) = self."!cursor_start"()
-    rx102_cur."!cursor_debug"("START ", "quantified_atom")
-    rx102_cur."!cursor_caparray"("quantifier", "backmod")
-    .lex unicode:"$\x{a2}", rx102_cur
+    .const 'Sub' $P111 = "30_1259177736.62303" 
+    capture_lex $P111
+    .local string rx103_tgt
+    .local int rx103_pos
+    .local int rx103_off
+    .local int rx103_eos
+    .local int rx103_rep
+    .local pmc rx103_cur
+    (rx103_cur, rx103_pos, rx103_tgt) = self."!cursor_start"()
+    rx103_cur."!cursor_debug"("START ", "quantified_atom")
+    rx103_cur."!cursor_caparray"("quantifier", "backmod")
+    .lex unicode:"$\x{a2}", rx103_cur
     .local pmc match
     .lex "$/", match
-    length rx102_eos, rx102_tgt
-    set rx102_off, 0
-    lt rx102_pos, 2, rx102_start
-    sub rx102_off, rx102_pos, 1
-    substr rx102_tgt, rx102_tgt, rx102_off
-  rx102_start:
+    length rx103_eos, rx103_tgt
+    set rx103_off, 0
+    lt rx103_pos, 2, rx103_start
+    sub rx103_off, rx103_pos, 1
+    substr rx103_tgt, rx103_tgt, rx103_off
+  rx103_start:
     $I10 = self.'from'()
-    ne $I10, -1, rxscan106_done
-    goto rxscan106_scan
-  rxscan106_loop:
-    ($P10) = rx102_cur."from"()
+    ne $I10, -1, rxscan107_done
+    goto rxscan107_scan
+  rxscan107_loop:
+    ($P10) = rx103_cur."from"()
     inc $P10
-    set rx102_pos, $P10
-    ge rx102_pos, rx102_eos, rxscan106_done
-  rxscan106_scan:
-    set_addr $I10, rxscan106_loop
-    rx102_cur."!mark_push"(0, rx102_pos, $I10)
-  rxscan106_done:
+    set rx103_pos, $P10
+    ge rx103_pos, rx103_eos, rxscan107_done
+  rxscan107_scan:
+    set_addr $I10, rxscan107_loop
+    rx103_cur."!mark_push"(0, rx103_pos, $I10)
+  rxscan107_done:
 .annotate "line", 41
   # rx subrule "atom" subtype=capture negate=
-    rx102_cur."!cursor_pos"(rx102_pos)
-    $P10 = rx102_cur."atom"()
-    unless $P10, rx102_fail
-    rx102_cur."!mark_push"(0, -1, 0, $P10)
+    rx103_cur."!cursor_pos"(rx103_pos)
+    $P10 = rx103_cur."atom"()
+    unless $P10, rx103_fail
+    rx103_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("atom")
-    rx102_pos = $P10."pos"()
-  # rx rxquantr107 ** 0..1
-    set_addr $I113, rxquantr107_done
-    rx102_cur."!mark_push"(0, rx102_pos, $I113)
-  rxquantr107_loop:
+    rx103_pos = $P10."pos"()
+  # rx rxquantr108 ** 0..1
+    set_addr $I115, rxquantr108_done
+    rx103_cur."!mark_push"(0, rx103_pos, $I115)
+  rxquantr108_loop:
   # rx subrule "ws" subtype=method negate=
-    rx102_cur."!cursor_pos"(rx102_pos)
-    $P10 = rx102_cur."ws"()
-    unless $P10, rx102_fail
-    rx102_pos = $P10."pos"()
-  alt108_0:
-    set_addr $I10, alt108_1
-    rx102_cur."!mark_push"(0, rx102_pos, $I10)
+    rx103_cur."!cursor_pos"(rx103_pos)
+    $P10 = rx103_cur."ws"()
+    unless $P10, rx103_fail
+    rx103_pos = $P10."pos"()
+  alt109_0:
+    set_addr $I10, alt109_1
+    rx103_cur."!mark_push"(0, rx103_pos, $I10)
   # rx subrule "quantifier" subtype=capture negate=
-    rx102_cur."!cursor_pos"(rx102_pos)
-    $P10 = rx102_cur."quantifier"()
-    unless $P10, rx102_fail
-    rx102_cur."!mark_push"(0, -1, 0, $P10)
+    rx103_cur."!cursor_pos"(rx103_pos)
+    $P10 = rx103_cur."quantifier"()
+    unless $P10, rx103_fail
+    rx103_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("quantifier")
-    rx102_pos = $P10."pos"()
-    goto alt108_end
-  alt108_1:
+    rx103_pos = $P10."pos"()
+    goto alt109_end
+  alt109_1:
   # rx subrule "before" subtype=zerowidth negate=
-    rx102_cur."!cursor_pos"(rx102_pos)
-    .const 'Sub' $P110 = "30_1259103974.80122" 
-    capture_lex $P110
-    $P10 = rx102_cur."before"($P110)
-    unless $P10, rx102_fail
+    rx103_cur."!cursor_pos"(rx103_pos)
+    .const 'Sub' $P111 = "30_1259177736.62303" 
+    capture_lex $P111
+    $P10 = rx103_cur."before"($P111)
+    unless $P10, rx103_fail
   # rx subrule "backmod" subtype=capture negate=
-    rx102_cur."!cursor_pos"(rx102_pos)
-    $P10 = rx102_cur."backmod"()
-    unless $P10, rx102_fail
-    rx102_cur."!mark_push"(0, -1, 0, $P10)
+    rx103_cur."!cursor_pos"(rx103_pos)
+    $P10 = rx103_cur."backmod"()
+    unless $P10, rx103_fail
+    rx103_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("backmod")
-    rx102_pos = $P10."pos"()
+    rx103_pos = $P10."pos"()
   # rx subrule "alpha" subtype=zerowidth negate=1
-    rx102_cur."!cursor_pos"(rx102_pos)
-    $P10 = rx102_cur."alpha"()
-    if $P10, rx102_fail
-  alt108_end:
-    (rx102_rep) = rx102_cur."!mark_commit"($I113)
-  rxquantr107_done:
+    rx103_cur."!cursor_pos"(rx103_pos)
+    $P10 = rx103_cur."alpha"()
+    if $P10, rx103_fail
+  alt109_end:
+    (rx103_rep) = rx103_cur."!mark_commit"($I115)
+  rxquantr108_done:
 .annotate "line", 40
   # rx pass
-    rx102_cur."!cursor_pass"(rx102_pos, "quantified_atom")
-    rx102_cur."!cursor_debug"("PASS  ", "quantified_atom", " at pos=", rx102_pos)
-    .return (rx102_cur)
-  rx102_fail:
+    rx103_cur."!cursor_pass"(rx103_pos, "quantified_atom")
+    rx103_cur."!cursor_debug"("PASS  ", "quantified_atom", " at pos=", rx103_pos)
+    .return (rx103_cur)
+  rx103_fail:
 .annotate "line", 3
-    (rx102_rep, rx102_pos, $I10, $P10) = rx102_cur."!mark_fail"(0)
-    lt rx102_pos, -1, rx102_done
-    eq rx102_pos, -1, rx102_fail
+    (rx103_rep, rx103_pos, $I10, $P10) = rx103_cur."!mark_fail"(0)
+    lt rx103_pos, -1, rx103_done
+    eq rx103_pos, -1, rx103_fail
     jump $I10
-  rx102_done:
-    rx102_cur."!cursor_fail"()
-    rx102_cur."!cursor_debug"("FAIL  ", "quantified_atom")
-    .return (rx102_cur)
+  rx103_done:
+    rx103_cur."!cursor_fail"()
+    rx103_cur."!cursor_debug"("FAIL  ", "quantified_atom")
+    .return (rx103_cur)
     .return ()
 .end
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__quantified_atom"  :subid("29_1259103974.80122") :method
+.sub "!PREFIX__quantified_atom"  :subid("29_1259177736.62303") :method
 .annotate "line", 3
-    $P104 = self."!PREFIX__!subrule"("atom", "")
-    new $P105, "ResizablePMCArray"
-    push $P105, $P104
-    .return ($P105)
+    $P105 = self."!PREFIX__!subrule"("atom", "")
+    new $P106, "ResizablePMCArray"
+    push $P106, $P105
+    .return ($P106)
 .end
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "_block109"  :anon :subid("30_1259103974.80122") :method :outer("28_1259103974.80122")
+.sub "_block110"  :anon :subid("30_1259177736.62303") :method :outer("28_1259177736.62303")
 .annotate "line", 41
-    .local string rx111_tgt
-    .local int rx111_pos
-    .local int rx111_off
-    .local int rx111_eos
-    .local int rx111_rep
-    .local pmc rx111_cur
-    (rx111_cur, rx111_pos, rx111_tgt) = self."!cursor_start"()
-    rx111_cur."!cursor_debug"("START ", "")
-    .lex unicode:"$\x{a2}", rx111_cur
-    .local pmc match
-    .lex "$/", match
-    length rx111_eos, rx111_tgt
-    set rx111_off, 0
-    lt rx111_pos, 2, rx111_start
-    sub rx111_off, rx111_pos, 1
-    substr rx111_tgt, rx111_tgt, rx111_off
-  rx111_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan112_done
-    goto rxscan112_scan
-  rxscan112_loop:
-    ($P10) = rx111_cur."from"()
-    inc $P10
-    set rx111_pos, $P10
-    ge rx111_pos, rx111_eos, rxscan112_done
-  rxscan112_scan:
-    set_addr $I10, rxscan112_loop
-    rx111_cur."!mark_push"(0, rx111_pos, $I10)
-  rxscan112_done:
+    .lex unicode:"$\x{a2}", $P112
+    .local string rx113_tgt
+    .local int rx113_pos
+    .local int rx113_off
+    .local int rx113_eos
+    .local int rx113_rep
+    .local pmc rx113_cur
+    (rx113_cur, rx113_pos, rx113_tgt) = self."!cursor_start"()
+    rx113_cur."!cursor_debug"("START ", "")
+    .lex unicode:"$\x{a2}", rx113_cur
+    .local pmc match
+    .lex "$/", match
+    length rx113_eos, rx113_tgt
+    set rx113_off, 0
+    lt rx113_pos, 2, rx113_start
+    sub rx113_off, rx113_pos, 1
+    substr rx113_tgt, rx113_tgt, rx113_off
+  rx113_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan114_done
+    goto rxscan114_scan
+  rxscan114_loop:
+    ($P10) = rx113_cur."from"()
+    inc $P10
+    set rx113_pos, $P10
+    ge rx113_pos, rx113_eos, rxscan114_done
+  rxscan114_scan:
+    set_addr $I10, rxscan114_loop
+    rx113_cur."!mark_push"(0, rx113_pos, $I10)
+  rxscan114_done:
   # rx literal  ":"
-    add $I11, rx111_pos, 1
-    gt $I11, rx111_eos, rx111_fail
-    sub $I11, rx111_pos, rx111_off
-    substr $S10, rx111_tgt, $I11, 1
-    ne $S10, ":", rx111_fail
-    add rx111_pos, 1
-  # rx pass
-    rx111_cur."!cursor_pass"(rx111_pos, "")
-    rx111_cur."!cursor_debug"("PASS  ", "", " at pos=", rx111_pos)
-    .return (rx111_cur)
-  rx111_fail:
-    (rx111_rep, rx111_pos, $I10, $P10) = rx111_cur."!mark_fail"(0)
-    lt rx111_pos, -1, rx111_done
-    eq rx111_pos, -1, rx111_fail
-    jump $I10
-  rx111_done:
-    rx111_cur."!cursor_fail"()
-    rx111_cur."!cursor_debug"("FAIL  ", "")
-    .return (rx111_cur)
+    add $I11, rx113_pos, 1
+    gt $I11, rx113_eos, rx113_fail
+    sub $I11, rx113_pos, rx113_off
+    substr $S10, rx113_tgt, $I11, 1
+    ne $S10, ":", rx113_fail
+    add rx113_pos, 1
+  # rx pass
+    rx113_cur."!cursor_pass"(rx113_pos, "")
+    rx113_cur."!cursor_debug"("PASS  ", "", " at pos=", rx113_pos)
+    .return (rx113_cur)
+  rx113_fail:
+    (rx113_rep, rx113_pos, $I10, $P10) = rx113_cur."!mark_fail"(0)
+    lt rx113_pos, -1, rx113_done
+    eq rx113_pos, -1, rx113_fail
+    jump $I10
+  rx113_done:
+    rx113_cur."!cursor_fail"()
+    rx113_cur."!cursor_debug"("FAIL  ", "")
+    .return (rx113_cur)
     .return ()
 .end
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "atom"  :subid("31_1259103974.80122") :method :outer("11_1259103974.80122")
-.annotate "line", 3
-    .const 'Sub' $P125 = "33_1259103974.80122" 
-    capture_lex $P125
-    .local string rx115_tgt
-    .local int rx115_pos
-    .local int rx115_off
-    .local int rx115_eos
-    .local int rx115_rep
-    .local pmc rx115_cur
-    (rx115_cur, rx115_pos, rx115_tgt) = self."!cursor_start"()
-    rx115_cur."!cursor_debug"("START ", "atom")
-    .lex unicode:"$\x{a2}", rx115_cur
-    .local pmc match
-    .lex "$/", match
-    length rx115_eos, rx115_tgt
-    set rx115_off, 0
-    lt rx115_pos, 2, rx115_start
-    sub rx115_off, rx115_pos, 1
-    substr rx115_tgt, rx115_tgt, rx115_off
-  rx115_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan119_done
-    goto rxscan119_scan
-  rxscan119_loop:
-    ($P10) = rx115_cur."from"()
-    inc $P10
-    set rx115_pos, $P10
-    ge rx115_pos, rx115_eos, rxscan119_done
-  rxscan119_scan:
-    set_addr $I10, rxscan119_loop
-    rx115_cur."!mark_push"(0, rx115_pos, $I10)
-  rxscan119_done:
-  alt120_0:
+.sub "atom"  :subid("31_1259177736.62303") :method :outer("11_1259177736.62303")
+.annotate "line", 3
+    .const 'Sub' $P127 = "33_1259177736.62303" 
+    capture_lex $P127
+    .local string rx117_tgt
+    .local int rx117_pos
+    .local int rx117_off
+    .local int rx117_eos
+    .local int rx117_rep
+    .local pmc rx117_cur
+    (rx117_cur, rx117_pos, rx117_tgt) = self."!cursor_start"()
+    rx117_cur."!cursor_debug"("START ", "atom")
+    .lex unicode:"$\x{a2}", rx117_cur
+    .local pmc match
+    .lex "$/", match
+    length rx117_eos, rx117_tgt
+    set rx117_off, 0
+    lt rx117_pos, 2, rx117_start
+    sub rx117_off, rx117_pos, 1
+    substr rx117_tgt, rx117_tgt, rx117_off
+  rx117_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan121_done
+    goto rxscan121_scan
+  rxscan121_loop:
+    ($P10) = rx117_cur."from"()
+    inc $P10
+    set rx117_pos, $P10
+    ge rx117_pos, rx117_eos, rxscan121_done
+  rxscan121_scan:
+    set_addr $I10, rxscan121_loop
+    rx117_cur."!mark_push"(0, rx117_pos, $I10)
+  rxscan121_done:
+  alt122_0:
 .annotate "line", 46
-    set_addr $I10, alt120_1
-    rx115_cur."!mark_push"(0, rx115_pos, $I10)
+    set_addr $I10, alt122_1
+    rx117_cur."!mark_push"(0, rx117_pos, $I10)
 .annotate "line", 47
   # rx charclass w
-    ge rx115_pos, rx115_eos, rx115_fail
-    sub $I10, rx115_pos, rx115_off
-    is_cclass $I11, 8192, rx115_tgt, $I10
-    unless $I11, rx115_fail
-    inc rx115_pos
-  # rx rxquantr121 ** 0..1
-    set_addr $I128, rxquantr121_done
-    rx115_cur."!mark_push"(0, rx115_pos, $I128)
-  rxquantr121_loop:
-  # rx rxquantg122 ** 1..*
-    set_addr $I123, rxquantg122_done
-  rxquantg122_loop:
+    ge rx117_pos, rx117_eos, rx117_fail
+    sub $I10, rx117_pos, rx117_off
+    is_cclass $I11, 8192, rx117_tgt, $I10
+    unless $I11, rx117_fail
+    inc rx117_pos
+  # rx rxquantr123 ** 0..1
+    set_addr $I131, rxquantr123_done
+    rx117_cur."!mark_push"(0, rx117_pos, $I131)
+  rxquantr123_loop:
+  # rx rxquantg124 ** 1..*
+    set_addr $I125, rxquantg124_done
+  rxquantg124_loop:
   # rx charclass w
-    ge rx115_pos, rx115_eos, rx115_fail
-    sub $I10, rx115_pos, rx115_off
-    is_cclass $I11, 8192, rx115_tgt, $I10
-    unless $I11, rx115_fail
-    inc rx115_pos
-    rx115_cur."!mark_push"(rx115_rep, rx115_pos, $I123)
-    goto rxquantg122_loop
-  rxquantg122_done:
+    ge rx117_pos, rx117_eos, rx117_fail
+    sub $I10, rx117_pos, rx117_off
+    is_cclass $I11, 8192, rx117_tgt, $I10
+    unless $I11, rx117_fail
+    inc rx117_pos
+    rx117_cur."!mark_push"(rx117_rep, rx117_pos, $I125)
+    goto rxquantg124_loop
+  rxquantg124_done:
   # rx subrule "before" subtype=zerowidth negate=
-    rx115_cur."!cursor_pos"(rx115_pos)
-    .const 'Sub' $P125 = "33_1259103974.80122" 
-    capture_lex $P125
-    $P10 = rx115_cur."before"($P125)
-    unless $P10, rx115_fail
-    (rx115_rep) = rx115_cur."!mark_commit"($I128)
-  rxquantr121_done:
-    goto alt120_end
-  alt120_1:
+    rx117_cur."!cursor_pos"(rx117_pos)
+    .const 'Sub' $P127 = "33_1259177736.62303" 
+    capture_lex $P127
+    $P10 = rx117_cur."before"($P127)
+    unless $P10, rx117_fail
+    (rx117_rep) = rx117_cur."!mark_commit"($I131)
+  rxquantr123_done:
+    goto alt122_end
+  alt122_1:
 .annotate "line", 48
   # rx subrule "metachar" subtype=capture negate=
-    rx115_cur."!cursor_pos"(rx115_pos)
-    $P10 = rx115_cur."metachar"()
-    unless $P10, rx115_fail
-    rx115_cur."!mark_push"(0, -1, 0, $P10)
+    rx117_cur."!cursor_pos"(rx117_pos)
+    $P10 = rx117_cur."metachar"()
+    unless $P10, rx117_fail
+    rx117_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("metachar")
-    rx115_pos = $P10."pos"()
-  alt120_end:
+    rx117_pos = $P10."pos"()
+  alt122_end:
 .annotate "line", 44
   # rx pass
-    rx115_cur."!cursor_pass"(rx115_pos, "atom")
-    rx115_cur."!cursor_debug"("PASS  ", "atom", " at pos=", rx115_pos)
-    .return (rx115_cur)
-  rx115_fail:
+    rx117_cur."!cursor_pass"(rx117_pos, "atom")
+    rx117_cur."!cursor_debug"("PASS  ", "atom", " at pos=", rx117_pos)
+    .return (rx117_cur)
+  rx117_fail:
 .annotate "line", 3
-    (rx115_rep, rx115_pos, $I10, $P10) = rx115_cur."!mark_fail"(0)
-    lt rx115_pos, -1, rx115_done
-    eq rx115_pos, -1, rx115_fail
+    (rx117_rep, rx117_pos, $I10, $P10) = rx117_cur."!mark_fail"(0)
+    lt rx117_pos, -1, rx117_done
+    eq rx117_pos, -1, rx117_fail
     jump $I10
-  rx115_done:
-    rx115_cur."!cursor_fail"()
-    rx115_cur."!cursor_debug"("FAIL  ", "atom")
-    .return (rx115_cur)
+  rx117_done:
+    rx117_cur."!cursor_fail"()
+    rx117_cur."!cursor_debug"("FAIL  ", "atom")
+    .return (rx117_cur)
     .return ()
 .end
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__atom"  :subid("32_1259103974.80122") :method
+.sub "!PREFIX__atom"  :subid("32_1259177736.62303") :method
 .annotate "line", 3
-    $P117 = self."!PREFIX__!subrule"("metachar", "")
-    new $P118, "ResizablePMCArray"
-    push $P118, $P117
-    push $P118, ""
-    .return ($P118)
+    $P119 = self."!PREFIX__!subrule"("metachar", "")
+    new $P120, "ResizablePMCArray"
+    push $P120, $P119
+    push $P120, ""
+    .return ($P120)
 .end
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "_block124"  :anon :subid("33_1259103974.80122") :method :outer("31_1259103974.80122")
+.sub "_block126"  :anon :subid("33_1259177736.62303") :method :outer("31_1259177736.62303")
 .annotate "line", 47
-    .local string rx126_tgt
-    .local int rx126_pos
-    .local int rx126_off
-    .local int rx126_eos
-    .local int rx126_rep
-    .local pmc rx126_cur
-    (rx126_cur, rx126_pos, rx126_tgt) = self."!cursor_start"()
-    rx126_cur."!cursor_debug"("START ", "")
-    .lex unicode:"$\x{a2}", rx126_cur
-    .local pmc match
-    .lex "$/", match
-    length rx126_eos, rx126_tgt
-    set rx126_off, 0
-    lt rx126_pos, 2, rx126_start
-    sub rx126_off, rx126_pos, 1
-    substr rx126_tgt, rx126_tgt, rx126_off
-  rx126_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan127_done
-    goto rxscan127_scan
-  rxscan127_loop:
-    ($P10) = rx126_cur."from"()
-    inc $P10
-    set rx126_pos, $P10
-    ge rx126_pos, rx126_eos, rxscan127_done
-  rxscan127_scan:
-    set_addr $I10, rxscan127_loop
-    rx126_cur."!mark_push"(0, rx126_pos, $I10)
-  rxscan127_done:
+    .lex unicode:"$\x{a2}", $P128
+    .local string rx129_tgt
+    .local int rx129_pos
+    .local int rx129_off
+    .local int rx129_eos
+    .local int rx129_rep
+    .local pmc rx129_cur
+    (rx129_cur, rx129_pos, rx129_tgt) = self."!cursor_start"()
+    rx129_cur."!cursor_debug"("START ", "")
+    .lex unicode:"$\x{a2}", rx129_cur
+    .local pmc match
+    .lex "$/", match
+    length rx129_eos, rx129_tgt
+    set rx129_off, 0
+    lt rx129_pos, 2, rx129_start
+    sub rx129_off, rx129_pos, 1
+    substr rx129_tgt, rx129_tgt, rx129_off
+  rx129_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan130_done
+    goto rxscan130_scan
+  rxscan130_loop:
+    ($P10) = rx129_cur."from"()
+    inc $P10
+    set rx129_pos, $P10
+    ge rx129_pos, rx129_eos, rxscan130_done
+  rxscan130_scan:
+    set_addr $I10, rxscan130_loop
+    rx129_cur."!mark_push"(0, rx129_pos, $I10)
+  rxscan130_done:
   # rx charclass w
-    ge rx126_pos, rx126_eos, rx126_fail
-    sub $I10, rx126_pos, rx126_off
-    is_cclass $I11, 8192, rx126_tgt, $I10
-    unless $I11, rx126_fail
-    inc rx126_pos
+    ge rx129_pos, rx129_eos, rx129_fail
+    sub $I10, rx129_pos, rx129_off
+    is_cclass $I11, 8192, rx129_tgt, $I10
+    unless $I11, rx129_fail
+    inc rx129_pos
   # rx pass
-    rx126_cur."!cursor_pass"(rx126_pos, "")
-    rx126_cur."!cursor_debug"("PASS  ", "", " at pos=", rx126_pos)
-    .return (rx126_cur)
-  rx126_fail:
-    (rx126_rep, rx126_pos, $I10, $P10) = rx126_cur."!mark_fail"(0)
-    lt rx126_pos, -1, rx126_done
-    eq rx126_pos, -1, rx126_fail
+    rx129_cur."!cursor_pass"(rx129_pos, "")
+    rx129_cur."!cursor_debug"("PASS  ", "", " at pos=", rx129_pos)
+    .return (rx129_cur)
+  rx129_fail:
+    (rx129_rep, rx129_pos, $I10, $P10) = rx129_cur."!mark_fail"(0)
+    lt rx129_pos, -1, rx129_done
+    eq rx129_pos, -1, rx129_fail
     jump $I10
-  rx126_done:
-    rx126_cur."!cursor_fail"()
-    rx126_cur."!cursor_debug"("FAIL  ", "")
-    .return (rx126_cur)
+  rx129_done:
+    rx129_cur."!cursor_fail"()
+    rx129_cur."!cursor_debug"("FAIL  ", "")
+    .return (rx129_cur)
     .return ()
 .end
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "quantifier"  :subid("34_1259103974.80122") :method
+.sub "quantifier"  :subid("34_1259177736.62303") :method
 .annotate "line", 52
-    $P130 = self."!protoregex"("quantifier")
-    .return ($P130)
+    $P133 = self."!protoregex"("quantifier")
+    .return ($P133)
 .end
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__quantifier"  :subid("35_1259103974.80122") :method
+.sub "!PREFIX__quantifier"  :subid("35_1259177736.62303") :method
 .annotate "line", 52
-    $P132 = self."!PREFIX__!protoregex"("quantifier")
-    .return ($P132)
+    $P135 = self."!PREFIX__!protoregex"("quantifier")
+    .return ($P135)
 .end
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "quantifier:sym<*>"  :subid("36_1259103974.80122") :method :outer("11_1259103974.80122")
+.sub "quantifier:sym<*>"  :subid("36_1259177736.62303") :method :outer("11_1259177736.62303")
 .annotate "line", 3
-    .local string rx134_tgt
-    .local int rx134_pos
-    .local int rx134_off
-    .local int rx134_eos
-    .local int rx134_rep
-    .local pmc rx134_cur
-    (rx134_cur, rx134_pos, rx134_tgt) = self."!cursor_start"()
-    rx134_cur."!cursor_debug"("START ", "quantifier:sym<*>")
-    .lex unicode:"$\x{a2}", rx134_cur
-    .local pmc match
-    .lex "$/", match
-    length rx134_eos, rx134_tgt
-    set rx134_off, 0
-    lt rx134_pos, 2, rx134_start
-    sub rx134_off, rx134_pos, 1
-    substr rx134_tgt, rx134_tgt, rx134_off
-  rx134_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan138_done
-    goto rxscan138_scan
-  rxscan138_loop:
-    ($P10) = rx134_cur."from"()
-    inc $P10
-    set rx134_pos, $P10
-    ge rx134_pos, rx134_eos, rxscan138_done
-  rxscan138_scan:
-    set_addr $I10, rxscan138_loop
-    rx134_cur."!mark_push"(0, rx134_pos, $I10)
-  rxscan138_done:
+    .local string rx137_tgt
+    .local int rx137_pos
+    .local int rx137_off
+    .local int rx137_eos
+    .local int rx137_rep
+    .local pmc rx137_cur
+    (rx137_cur, rx137_pos, rx137_tgt) = self."!cursor_start"()
+    rx137_cur."!cursor_debug"("START ", "quantifier:sym<*>")
+    .lex unicode:"$\x{a2}", rx137_cur
+    .local pmc match
+    .lex "$/", match
+    length rx137_eos, rx137_tgt
+    set rx137_off, 0
+    lt rx137_pos, 2, rx137_start
+    sub rx137_off, rx137_pos, 1
+    substr rx137_tgt, rx137_tgt, rx137_off
+  rx137_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan141_done
+    goto rxscan141_scan
+  rxscan141_loop:
+    ($P10) = rx137_cur."from"()
+    inc $P10
+    set rx137_pos, $P10
+    ge rx137_pos, rx137_eos, rxscan141_done
+  rxscan141_scan:
+    set_addr $I10, rxscan141_loop
+    rx137_cur."!mark_push"(0, rx137_pos, $I10)
+  rxscan141_done:
 .annotate "line", 53
   # rx subcapture "sym"
-    set_addr $I10, rxcap_139_fail
-    rx134_cur."!mark_push"(0, rx134_pos, $I10)
+    set_addr $I10, rxcap_142_fail
+    rx137_cur."!mark_push"(0, rx137_pos, $I10)
   # rx literal  "*"
-    add $I11, rx134_pos, 1
-    gt $I11, rx134_eos, rx134_fail
-    sub $I11, rx134_pos, rx134_off
-    substr $S10, rx134_tgt, $I11, 1
-    ne $S10, "*", rx134_fail
-    add rx134_pos, 1
-    set_addr $I10, rxcap_139_fail
-    ($I12, $I11) = rx134_cur."!mark_peek"($I10)
-    rx134_cur."!cursor_pos"($I11)
-    ($P10) = rx134_cur."!cursor_start"()
-    $P10."!cursor_pass"(rx134_pos, "")
-    rx134_cur."!mark_push"(0, -1, 0, $P10)
+    add $I11, rx137_pos, 1
+    gt $I11, rx137_eos, rx137_fail
+    sub $I11, rx137_pos, rx137_off
+    substr $S10, rx137_tgt, $I11, 1
+    ne $S10, "*", rx137_fail
+    add rx137_pos, 1
+    set_addr $I10, rxcap_142_fail
+    ($I12, $I11) = rx137_cur."!mark_peek"($I10)
+    rx137_cur."!cursor_pos"($I11)
+    ($P10) = rx137_cur."!cursor_start"()
+    $P10."!cursor_pass"(rx137_pos, "")
+    rx137_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("sym")
-    goto rxcap_139_done
-  rxcap_139_fail:
-    goto rx134_fail
-  rxcap_139_done:
+    goto rxcap_142_done
+  rxcap_142_fail:
+    goto rx137_fail
+  rxcap_142_done:
   # rx subrule "backmod" subtype=capture negate=
-    rx134_cur."!cursor_pos"(rx134_pos)
-    $P10 = rx134_cur."backmod"()
-    unless $P10, rx134_fail
-    rx134_cur."!mark_push"(0, -1, 0, $P10)
+    rx137_cur."!cursor_pos"(rx137_pos)
+    $P10 = rx137_cur."backmod"()
+    unless $P10, rx137_fail
+    rx137_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("backmod")
-    rx134_pos = $P10."pos"()
+    rx137_pos = $P10."pos"()
   # rx pass
-    rx134_cur."!cursor_pass"(rx134_pos, "quantifier:sym<*>")
-    rx134_cur."!cursor_debug"("PASS  ", "quantifier:sym<*>", " at pos=", rx134_pos)
-    .return (rx134_cur)
-  rx134_fail:
+    rx137_cur."!cursor_pass"(rx137_pos, "quantifier:sym<*>")
+    rx137_cur."!cursor_debug"("PASS  ", "quantifier:sym<*>", " at pos=", rx137_pos)
+    .return (rx137_cur)
+  rx137_fail:
 .annotate "line", 3
-    (rx134_rep, rx134_pos, $I10, $P10) = rx134_cur."!mark_fail"(0)
-    lt rx134_pos, -1, rx134_done
-    eq rx134_pos, -1, rx134_fail
+    (rx137_rep, rx137_pos, $I10, $P10) = rx137_cur."!mark_fail"(0)
+    lt rx137_pos, -1, rx137_done
+    eq rx137_pos, -1, rx137_fail
     jump $I10
-  rx134_done:
-    rx134_cur."!cursor_fail"()
-    rx134_cur."!cursor_debug"("FAIL  ", "quantifier:sym<*>")
-    .return (rx134_cur)
+  rx137_done:
+    rx137_cur."!cursor_fail"()
+    rx137_cur."!cursor_debug"("FAIL  ", "quantifier:sym<*>")
+    .return (rx137_cur)
     .return ()
 .end
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__quantifier:sym<*>"  :subid("37_1259103974.80122") :method
+.sub "!PREFIX__quantifier:sym<*>"  :subid("37_1259177736.62303") :method
 .annotate "line", 3
-    $P136 = self."!PREFIX__!subrule"("backmod", "*")
-    new $P137, "ResizablePMCArray"
-    push $P137, $P136
-    .return ($P137)
+    $P139 = self."!PREFIX__!subrule"("backmod", "*")
+    new $P140, "ResizablePMCArray"
+    push $P140, $P139
+    .return ($P140)
 .end
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "quantifier:sym<+>"  :subid("38_1259103974.80122") :method :outer("11_1259103974.80122")
+.sub "quantifier:sym<+>"  :subid("38_1259177736.62303") :method :outer("11_1259177736.62303")
 .annotate "line", 3
-    .local string rx141_tgt
-    .local int rx141_pos
-    .local int rx141_off
-    .local int rx141_eos
-    .local int rx141_rep
-    .local pmc rx141_cur
-    (rx141_cur, rx141_pos, rx141_tgt) = self."!cursor_start"()
-    rx141_cur."!cursor_debug"("START ", "quantifier:sym<+>")
-    .lex unicode:"$\x{a2}", rx141_cur
+    .local string rx144_tgt
+    .local int rx144_pos
+    .local int rx144_off
+    .local int rx144_eos
+    .local int rx144_rep
+    .local pmc rx144_cur
+    (rx144_cur, rx144_pos, rx144_tgt) = self."!cursor_start"()
+    rx144_cur."!cursor_debug"("START ", "quantifier:sym<+>")
+    .lex unicode:"$\x{a2}", rx144_cur
     .local pmc match
     .lex "$/", match
-    length rx141_eos, rx141_tgt
-    set rx141_off, 0
-    lt rx141_pos, 2, rx141_start
-    sub rx141_off, rx141_pos, 1
-    substr rx141_tgt, rx141_tgt, rx141_off
-  rx141_start:
+    length rx144_eos, rx144_tgt
+    set rx144_off, 0
+    lt rx144_pos, 2, rx144_start
+    sub rx144_off, rx144_pos, 1
+    substr rx144_tgt, rx144_tgt, rx144_off
+  rx144_start:
     $I10 = self.'from'()
-    ne $I10, -1, rxscan145_done
-    goto rxscan145_scan
-  rxscan145_loop:
-    ($P10) = rx141_cur."from"()
+    ne $I10, -1, rxscan148_done
+    goto rxscan148_scan
+  rxscan148_loop:
+    ($P10) = rx144_cur."from"()
     inc $P10
-    set rx141_pos, $P10
-    ge rx141_pos, rx141_eos, rxscan145_done
-  rxscan145_scan:
-    set_addr $I10, rxscan145_loop
-    rx141_cur."!mark_push"(0, rx141_pos, $I10)
-  rxscan145_done:
+    set rx144_pos, $P10
+    ge rx144_pos, rx144_eos, rxscan148_done
+  rxscan148_scan:
+    set_addr $I10, rxscan148_loop
+    rx144_cur."!mark_push"(0, rx144_pos, $I10)
+  rxscan148_done:
 .annotate "line", 54
   # rx subcapture "sym"
-    set_addr $I10, rxcap_146_fail
-    rx141_cur."!mark_push"(0, rx141_pos, $I10)
+    set_addr $I10, rxcap_149_fail
+    rx144_cur."!mark_push"(0, rx144_pos, $I10)
   # rx literal  "+"
-    add $I11, rx141_pos, 1
-    gt $I11, rx141_eos, rx141_fail
-    sub $I11, rx141_pos, rx141_off
-    substr $S10, rx141_tgt, $I11, 1
-    ne $S10, "+", rx141_fail
-    add rx141_pos, 1
-    set_addr $I10, rxcap_146_fail
-    ($I12, $I11) = rx141_cur."!mark_peek"($I10)
-    rx141_cur."!cursor_pos"($I11)
-    ($P10) = rx141_cur."!cursor_start"()
-    $P10."!cursor_pass"(rx141_pos, "")
-    rx141_cur."!mark_push"(0, -1, 0, $P10)
+    add $I11, rx144_pos, 1
+    gt $I11, rx144_eos, rx144_fail
+    sub $I11, rx144_pos, rx144_off
+    substr $S10, rx144_tgt, $I11, 1
+    ne $S10, "+", rx144_fail
+    add rx144_pos, 1
+    set_addr $I10, rxcap_149_fail
+    ($I12, $I11) = rx144_cur."!mark_peek"($I10)
+    rx144_cur."!cursor_pos"($I11)
+    ($P10) = rx144_cur."!cursor_start"()
+    $P10."!cursor_pass"(rx144_pos, "")
+    rx144_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("sym")
-    goto rxcap_146_done
-  rxcap_146_fail:
-    goto rx141_fail
-  rxcap_146_done:
+    goto rxcap_149_done
+  rxcap_149_fail:
+    goto rx144_fail
+  rxcap_149_done:
   # rx subrule "backmod" subtype=capture negate=
-    rx141_cur."!cursor_pos"(rx141_pos)
-    $P10 = rx141_cur."backmod"()
-    unless $P10, rx141_fail
-    rx141_cur."!mark_push"(0, -1, 0, $P10)
+    rx144_cur."!cursor_pos"(rx144_pos)
+    $P10 = rx144_cur."backmod"()
+    unless $P10, rx144_fail
+    rx144_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("backmod")
-    rx141_pos = $P10."pos"()
+    rx144_pos = $P10."pos"()
   # rx pass
-    rx141_cur."!cursor_pass"(rx141_pos, "quantifier:sym<+>")
-    rx141_cur."!cursor_debug"("PASS  ", "quantifier:sym<+>", " at pos=", rx141_pos)
-    .return (rx141_cur)
-  rx141_fail:
+    rx144_cur."!cursor_pass"(rx144_pos, "quantifier:sym<+>")
+    rx144_cur."!cursor_debug"("PASS  ", "quantifier:sym<+>", " at pos=", rx144_pos)
+    .return (rx144_cur)
+  rx144_fail:
 .annotate "line", 3
-    (rx141_rep, rx141_pos, $I10, $P10) = rx141_cur."!mark_fail"(0)
-    lt rx141_pos, -1, rx141_done
-    eq rx141_pos, -1, rx141_fail
+    (rx144_rep, rx144_pos, $I10, $P10) = rx144_cur."!mark_fail"(0)
+    lt rx144_pos, -1, rx144_done
+    eq rx144_pos, -1, rx144_fail
     jump $I10
-  rx141_done:
-    rx141_cur."!cursor_fail"()
-    rx141_cur."!cursor_debug"("FAIL  ", "quantifier:sym<+>")
-    .return (rx141_cur)
+  rx144_done:
+    rx144_cur."!cursor_fail"()
+    rx144_cur."!cursor_debug"("FAIL  ", "quantifier:sym<+>")
+    .return (rx144_cur)
     .return ()
 .end
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__quantifier:sym<+>"  :subid("39_1259103974.80122") :method
+.sub "!PREFIX__quantifier:sym<+>"  :subid("39_1259177736.62303") :method
 .annotate "line", 3
-    $P143 = self."!PREFIX__!subrule"("backmod", "+")
-    new $P144, "ResizablePMCArray"
-    push $P144, $P143
-    .return ($P144)
+    $P146 = self."!PREFIX__!subrule"("backmod", "+")
+    new $P147, "ResizablePMCArray"
+    push $P147, $P146
+    .return ($P147)
 .end
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "quantifier:sym<?>"  :subid("40_1259103974.80122") :method :outer("11_1259103974.80122")
+.sub "quantifier:sym<?>"  :subid("40_1259177736.62303") :method :outer("11_1259177736.62303")
 .annotate "line", 3
-    .local string rx148_tgt
-    .local int rx148_pos
-    .local int rx148_off
-    .local int rx148_eos
-    .local int rx148_rep
-    .local pmc rx148_cur
-    (rx148_cur, rx148_pos, rx148_tgt) = self."!cursor_start"()
-    rx148_cur."!cursor_debug"("START ", "quantifier:sym<?>")
-    .lex unicode:"$\x{a2}", rx148_cur
+    .local string rx151_tgt
+    .local int rx151_pos
+    .local int rx151_off
+    .local int rx151_eos
+    .local int rx151_rep
+    .local pmc rx151_cur
+    (rx151_cur, rx151_pos, rx151_tgt) = self."!cursor_start"()
+    rx151_cur."!cursor_debug"("START ", "quantifier:sym<?>")
+    .lex unicode:"$\x{a2}", rx151_cur
     .local pmc match
     .lex "$/", match
-    length rx148_eos, rx148_tgt
-    set rx148_off, 0
-    lt rx148_pos, 2, rx148_start
-    sub rx148_off, rx148_pos, 1
-    substr rx148_tgt, rx148_tgt, rx148_off
-  rx148_start:
+    length rx151_eos, rx151_tgt
+    set rx151_off, 0
+    lt rx151_pos, 2, rx151_start
+    sub rx151_off, rx151_pos, 1
+    substr rx151_tgt, rx151_tgt, rx151_off
+  rx151_start:
     $I10 = self.'from'()
-    ne $I10, -1, rxscan152_done
-    goto rxscan152_scan
-  rxscan152_loop:
-    ($P10) = rx148_cur."from"()
+    ne $I10, -1, rxscan155_done
+    goto rxscan155_scan
+  rxscan155_loop:
+    ($P10) = rx151_cur."from"()
     inc $P10
-    set rx148_pos, $P10
-    ge rx148_pos, rx148_eos, rxscan152_done
-  rxscan152_scan:
-    set_addr $I10, rxscan152_loop
-    rx148_cur."!mark_push"(0, rx148_pos, $I10)
-  rxscan152_done:
+    set rx151_pos, $P10
+    ge rx151_pos, rx151_eos, rxscan155_done
+  rxscan155_scan:
+    set_addr $I10, rxscan155_loop
+    rx151_cur."!mark_push"(0, rx151_pos, $I10)
+  rxscan155_done:
 .annotate "line", 55
   # rx subcapture "sym"
-    set_addr $I10, rxcap_153_fail
-    rx148_cur."!mark_push"(0, rx148_pos, $I10)
+    set_addr $I10, rxcap_156_fail
+    rx151_cur."!mark_push"(0, rx151_pos, $I10)
   # rx literal  "?"
-    add $I11, rx148_pos, 1
-    gt $I11, rx148_eos, rx148_fail
-    sub $I11, rx148_pos, rx148_off
-    substr $S10, rx148_tgt, $I11, 1
-    ne $S10, "?", rx148_fail
-    add rx148_pos, 1
-    set_addr $I10, rxcap_153_fail
-    ($I12, $I11) = rx148_cur."!mark_peek"($I10)
-    rx148_cur."!cursor_pos"($I11)
-    ($P10) = rx148_cur."!cursor_start"()
-    $P10."!cursor_pass"(rx148_pos, "")
-    rx148_cur."!mark_push"(0, -1, 0, $P10)
+    add $I11, rx151_pos, 1
+    gt $I11, rx151_eos, rx151_fail
+    sub $I11, rx151_pos, rx151_off
+    substr $S10, rx151_tgt, $I11, 1
+    ne $S10, "?", rx151_fail
+    add rx151_pos, 1
+    set_addr $I10, rxcap_156_fail
+    ($I12, $I11) = rx151_cur."!mark_peek"($I10)
+    rx151_cur."!cursor_pos"($I11)
+    ($P10) = rx151_cur."!cursor_start"()
+    $P10."!cursor_pass"(rx151_pos, "")
+    rx151_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("sym")
-    goto rxcap_153_done
-  rxcap_153_fail:
-    goto rx148_fail
-  rxcap_153_done:
+    goto rxcap_156_done
+  rxcap_156_fail:
+    goto rx151_fail
+  rxcap_156_done:
   # rx subrule "backmod" subtype=capture negate=
-    rx148_cur."!cursor_pos"(rx148_pos)
-    $P10 = rx148_cur."backmod"()
-    unless $P10, rx148_fail
-    rx148_cur."!mark_push"(0, -1, 0, $P10)
+    rx151_cur."!cursor_pos"(rx151_pos)
+    $P10 = rx151_cur."backmod"()
+    unless $P10, rx151_fail
+    rx151_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("backmod")
-    rx148_pos = $P10."pos"()
+    rx151_pos = $P10."pos"()
   # rx pass
-    rx148_cur."!cursor_pass"(rx148_pos, "quantifier:sym<?>")
-    rx148_cur."!cursor_debug"("PASS  ", "quantifier:sym<?>", " at pos=", rx148_pos)
-    .return (rx148_cur)
-  rx148_fail:
+    rx151_cur."!cursor_pass"(rx151_pos, "quantifier:sym<?>")
+    rx151_cur."!cursor_debug"("PASS  ", "quantifier:sym<?>", " at pos=", rx151_pos)
+    .return (rx151_cur)
+  rx151_fail:
 .annotate "line", 3
-    (rx148_rep, rx148_pos, $I10, $P10) = rx148_cur."!mark_fail"(0)
-    lt rx148_pos, -1, rx148_done
-    eq rx148_pos, -1, rx148_fail
+    (rx151_rep, rx151_pos, $I10, $P10) = rx151_cur."!mark_fail"(0)
+    lt rx151_pos, -1, rx151_done
+    eq rx151_pos, -1, rx151_fail
     jump $I10
-  rx148_done:
-    rx148_cur."!cursor_fail"()
-    rx148_cur."!cursor_debug"("FAIL  ", "quantifier:sym<?>")
-    .return (rx148_cur)
+  rx151_done:
+    rx151_cur."!cursor_fail"()
+    rx151_cur."!cursor_debug"("FAIL  ", "quantifier:sym<?>")
+    .return (rx151_cur)
     .return ()
 .end
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__quantifier:sym<?>"  :subid("41_1259103974.80122") :method
+.sub "!PREFIX__quantifier:sym<?>"  :subid("41_1259177736.62303") :method
 .annotate "line", 3
-    $P150 = self."!PREFIX__!subrule"("backmod", "?")
-    new $P151, "ResizablePMCArray"
-    push $P151, $P150
-    .return ($P151)
+    $P153 = self."!PREFIX__!subrule"("backmod", "?")
+    new $P154, "ResizablePMCArray"
+    push $P154, $P153
+    .return ($P154)
 .end
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "quantifier:sym<**>"  :subid("42_1259103974.80122") :method :outer("11_1259103974.80122")
+.sub "quantifier:sym<**>"  :subid("42_1259177736.62303") :method :outer("11_1259177736.62303")
 .annotate "line", 3
-    .local string rx155_tgt
-    .local int rx155_pos
-    .local int rx155_off
-    .local int rx155_eos
-    .local int rx155_rep
-    .local pmc rx155_cur
-    (rx155_cur, rx155_pos, rx155_tgt) = self."!cursor_start"()
-    rx155_cur."!cursor_debug"("START ", "quantifier:sym<**>")
-    rx155_cur."!cursor_caparray"("max")
-    .lex unicode:"$\x{a2}", rx155_cur
+    .local string rx158_tgt
+    .local int rx158_pos
+    .local int rx158_off
+    .local int rx158_eos
+    .local int rx158_rep
+    .local pmc rx158_cur
+    (rx158_cur, rx158_pos, rx158_tgt) = self."!cursor_start"()
+    rx158_cur."!cursor_debug"("START ", "quantifier:sym<**>")
+    rx158_cur."!cursor_caparray"("max")
+    .lex unicode:"$\x{a2}", rx158_cur
     .local pmc match
     .lex "$/", match
-    length rx155_eos, rx155_tgt
-    set rx155_off, 0
-    lt rx155_pos, 2, rx155_start
-    sub rx155_off, rx155_pos, 1
-    substr rx155_tgt, rx155_tgt, rx155_off
-  rx155_start:
+    length rx158_eos, rx158_tgt
+    set rx158_off, 0
+    lt rx158_pos, 2, rx158_start
+    sub rx158_off, rx158_pos, 1
+    substr rx158_tgt, rx158_tgt, rx158_off
+  rx158_start:
     $I10 = self.'from'()
-    ne $I10, -1, rxscan158_done
-    goto rxscan158_scan
-  rxscan158_loop:
-    ($P10) = rx155_cur."from"()
+    ne $I10, -1, rxscan161_done
+    goto rxscan161_scan
+  rxscan161_loop:
+    ($P10) = rx158_cur."from"()
     inc $P10
-    set rx155_pos, $P10
-    ge rx155_pos, rx155_eos, rxscan158_done
-  rxscan158_scan:
-    set_addr $I10, rxscan158_loop
-    rx155_cur."!mark_push"(0, rx155_pos, $I10)
-  rxscan158_done:
+    set rx158_pos, $P10
+    ge rx158_pos, rx158_eos, rxscan161_done
+  rxscan161_scan:
+    set_addr $I10, rxscan161_loop
+    rx158_cur."!mark_push"(0, rx158_pos, $I10)
+  rxscan161_done:
 .annotate "line", 57
   # rx subcapture "sym"
-    set_addr $I10, rxcap_159_fail
-    rx155_cur."!mark_push"(0, rx155_pos, $I10)
+    set_addr $I10, rxcap_162_fail
+    rx158_cur."!mark_push"(0, rx158_pos, $I10)
   # rx literal  "**"
-    add $I11, rx155_pos, 2
-    gt $I11, rx155_eos, rx155_fail
-    sub $I11, rx155_pos, rx155_off
-    substr $S10, rx155_tgt, $I11, 2
-    ne $S10, "**", rx155_fail
-    add rx155_pos, 2
-    set_addr $I10, rxcap_159_fail
-    ($I12, $I11) = rx155_cur."!mark_peek"($I10)
-    rx155_cur."!cursor_pos"($I11)
-    ($P10) = rx155_cur."!cursor_start"()
-    $P10."!cursor_pass"(rx155_pos, "")
-    rx155_cur."!mark_push"(0, -1, 0, $P10)
+    add $I11, rx158_pos, 2
+    gt $I11, rx158_eos, rx158_fail
+    sub $I11, rx158_pos, rx158_off
+    substr $S10, rx158_tgt, $I11, 2
+    ne $S10, "**", rx158_fail
+    add rx158_pos, 2
+    set_addr $I10, rxcap_162_fail
+    ($I12, $I11) = rx158_cur."!mark_peek"($I10)
+    rx158_cur."!cursor_pos"($I11)
+    ($P10) = rx158_cur."!cursor_start"()
+    $P10."!cursor_pass"(rx158_pos, "")
+    rx158_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("sym")
-    goto rxcap_159_done
-  rxcap_159_fail:
-    goto rx155_fail
-  rxcap_159_done:
+    goto rxcap_162_done
+  rxcap_162_fail:
+    goto rx158_fail
+  rxcap_162_done:
   # rx charclass_q s r 0..-1
-    sub $I10, rx155_pos, rx155_off
-    find_not_cclass $I11, 32, rx155_tgt, $I10, rx155_eos
-    add rx155_pos, rx155_off, $I11
+    sub $I10, rx158_pos, rx158_off
+    find_not_cclass $I11, 32, rx158_tgt, $I10, rx158_eos
+    add rx158_pos, rx158_off, $I11
   # rx subrule "backmod" subtype=capture negate=
-    rx155_cur."!cursor_pos"(rx155_pos)
-    $P10 = rx155_cur."backmod"()
-    unless $P10, rx155_fail
-    rx155_cur."!mark_push"(0, -1, 0, $P10)
+    rx158_cur."!cursor_pos"(rx158_pos)
+    $P10 = rx158_cur."backmod"()
+    unless $P10, rx158_fail
+    rx158_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("backmod")
-    rx155_pos = $P10."pos"()
+    rx158_pos = $P10."pos"()
   # rx charclass_q s r 0..-1
-    sub $I10, rx155_pos, rx155_off
-    find_not_cclass $I11, 32, rx155_tgt, $I10, rx155_eos
-    add rx155_pos, rx155_off, $I11
-  alt160_0:
+    sub $I10, rx158_pos, rx158_off
+    find_not_cclass $I11, 32, rx158_tgt, $I10, rx158_eos
+    add rx158_pos, rx158_off, $I11
+  alt163_0:
 .annotate "line", 58
-    set_addr $I10, alt160_1
-    rx155_cur."!mark_push"(0, rx155_pos, $I10)
+    set_addr $I10, alt163_1
+    rx158_cur."!mark_push"(0, rx158_pos, $I10)
 .annotate "line", 59
   # rx subcapture "min"
-    set_addr $I10, rxcap_161_fail
-    rx155_cur."!mark_push"(0, rx155_pos, $I10)
+    set_addr $I10, rxcap_164_fail
+    rx158_cur."!mark_push"(0, rx158_pos, $I10)
   # rx charclass_q d r 1..-1
-    sub $I10, rx155_pos, rx155_off
-    find_not_cclass $I11, 8, rx155_tgt, $I10, rx155_eos
+    sub $I10, rx158_pos, rx158_off
+    find_not_cclass $I11, 8, rx158_tgt, $I10, rx158_eos
     add $I12, $I10, 1
-    lt $I11, $I12, rx155_fail
-    add rx155_pos, rx155_off, $I11
-    set_addr $I10, rxcap_161_fail
-    ($I12, $I11) = rx155_cur."!mark_peek"($I10)
-    rx155_cur."!cursor_pos"($I11)
-    ($P10) = rx155_cur."!cursor_start"()
-    $P10."!cursor_pass"(rx155_pos, "")
-    rx155_cur."!mark_push"(0, -1, 0, $P10)
+    lt $I11, $I12, rx158_fail
+    add rx158_pos, rx158_off, $I11
+    set_addr $I10, rxcap_164_fail
+    ($I12, $I11) = rx158_cur."!mark_peek"($I10)
+    rx158_cur."!cursor_pos"($I11)
+    ($P10) = rx158_cur."!cursor_start"()
+    $P10."!cursor_pass"(rx158_pos, "")
+    rx158_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("min")
-    goto rxcap_161_done
-  rxcap_161_fail:
-    goto rx155_fail
-  rxcap_161_done:
+    goto rxcap_164_done
+  rxcap_164_fail:
+    goto rx158_fail
+  rxcap_164_done:
 .annotate "line", 66
-  # rx rxquantr162 ** 0..1
-    set_addr $I165, rxquantr162_done
-    rx155_cur."!mark_push"(0, rx155_pos, $I165)
-  rxquantr162_loop:
+  # rx rxquantr165 ** 0..1
+    set_addr $I168, rxquantr165_done
+    rx158_cur."!mark_push"(0, rx158_pos, $I168)
+  rxquantr165_loop:
 .annotate "line", 60
   # rx literal  ".."
-    add $I11, rx155_pos, 2
-    gt $I11, rx155_eos, rx155_fail
-    sub $I11, rx155_pos, rx155_off
-    substr $S10, rx155_tgt, $I11, 2
-    ne $S10, "..", rx155_fail
-    add rx155_pos, 2
+    add $I11, rx158_pos, 2
+    gt $I11, rx158_eos, rx158_fail
+    sub $I11, rx158_pos, rx158_off
+    substr $S10, rx158_tgt, $I11, 2
+    ne $S10, "..", rx158_fail
+    add rx158_pos, 2
 .annotate "line", 61
   # rx subcapture "max"
-    set_addr $I10, rxcap_164_fail
-    rx155_cur."!mark_push"(0, rx155_pos, $I10)
-  alt163_0:
-    set_addr $I10, alt163_1
-    rx155_cur."!mark_push"(0, rx155_pos, $I10)
+    set_addr $I10, rxcap_167_fail
+    rx158_cur."!mark_push"(0, rx158_pos, $I10)
+  alt166_0:
+    set_addr $I10, alt166_1
+    rx158_cur."!mark_push"(0, rx158_pos, $I10)
 .annotate "line", 62
   # rx charclass_q d r 1..-1
-    sub $I10, rx155_pos, rx155_off
-    find_not_cclass $I11, 8, rx155_tgt, $I10, rx155_eos
+    sub $I10, rx158_pos, rx158_off
+    find_not_cclass $I11, 8, rx158_tgt, $I10, rx158_eos
     add $I12, $I10, 1
-    lt $I11, $I12, rx155_fail
-    add rx155_pos, rx155_off, $I11
-    goto alt163_end
-  alt163_1:
-    set_addr $I10, alt163_2
-    rx155_cur."!mark_push"(0, rx155_pos, $I10)
+    lt $I11, $I12, rx158_fail
+    add rx158_pos, rx158_off, $I11
+    goto alt166_end
+  alt166_1:
+    set_addr $I10, alt166_2
+    rx158_cur."!mark_push"(0, rx158_pos, $I10)
 .annotate "line", 63
   # rx literal  "*"
-    add $I11, rx155_pos, 1
-    gt $I11, rx155_eos, rx155_fail
-    sub $I11, rx155_pos, rx155_off
-    substr $S10, rx155_tgt, $I11, 1
-    ne $S10, "*", rx155_fail
-    add rx155_pos, 1
-    goto alt163_end
-  alt163_2:
+    add $I11, rx158_pos, 1
+    gt $I11, rx158_eos, rx158_fail
+    sub $I11, rx158_pos, rx158_off
+    substr $S10, rx158_tgt, $I11, 1
+    ne $S10, "*", rx158_fail
+    add rx158_pos, 1
+    goto alt166_end
+  alt166_2:
 .annotate "line", 64
   # rx subrule "panic" subtype=method negate=
-    rx155_cur."!cursor_pos"(rx155_pos)
-    $P10 = rx155_cur."panic"("Only integers or '*' allowed as range quantifier endpoint")
-    unless $P10, rx155_fail
-    rx155_pos = $P10."pos"()
-  alt163_end:
+    rx158_cur."!cursor_pos"(rx158_pos)
+    $P10 = rx158_cur."panic"("Only integers or '*' allowed as range quantifier endpoint")
+    unless $P10, rx158_fail
+    rx158_pos = $P10."pos"()
+  alt166_end:
 .annotate "line", 61
-    set_addr $I10, rxcap_164_fail
-    ($I12, $I11) = rx155_cur."!mark_peek"($I10)
-    rx155_cur."!cursor_pos"($I11)
-    ($P10) = rx155_cur."!cursor_start"()
-    $P10."!cursor_pass"(rx155_pos, "")
-    rx155_cur."!mark_push"(0, -1, 0, $P10)
+    set_addr $I10, rxcap_167_fail
+    ($I12, $I11) = rx158_cur."!mark_peek"($I10)
+    rx158_cur."!cursor_pos"($I11)
+    ($P10) = rx158_cur."!cursor_start"()
+    $P10."!cursor_pass"(rx158_pos, "")
+    rx158_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("max")
-    goto rxcap_164_done
-  rxcap_164_fail:
-    goto rx155_fail
-  rxcap_164_done:
+    goto rxcap_167_done
+  rxcap_167_fail:
+    goto rx158_fail
+  rxcap_167_done:
 .annotate "line", 66
-    (rx155_rep) = rx155_cur."!mark_commit"($I165)
-  rxquantr162_done:
+    (rx158_rep) = rx158_cur."!mark_commit"($I168)
+  rxquantr165_done:
 .annotate "line", 59
-    goto alt160_end
-  alt160_1:
+    goto alt163_end
+  alt163_1:
 .annotate "line", 67
   # rx subrule "quantified_atom" subtype=capture negate=
-    rx155_cur."!cursor_pos"(rx155_pos)
-    $P10 = rx155_cur."quantified_atom"()
-    unless $P10, rx155_fail
-    rx155_cur."!mark_push"(0, -1, 0, $P10)
+    rx158_cur."!cursor_pos"(rx158_pos)
+    $P10 = rx158_cur."quantified_atom"()
+    unless $P10, rx158_fail
+    rx158_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("quantified_atom")
-    rx155_pos = $P10."pos"()
-  alt160_end:
+    rx158_pos = $P10."pos"()
+  alt163_end:
 .annotate "line", 56
   # rx pass
-    rx155_cur."!cursor_pass"(rx155_pos, "quantifier:sym<**>")
-    rx155_cur."!cursor_debug"("PASS  ", "quantifier:sym<**>", " at pos=", rx155_pos)
-    .return (rx155_cur)
-  rx155_fail:
+    rx158_cur."!cursor_pass"(rx158_pos, "quantifier:sym<**>")
+    rx158_cur."!cursor_debug"("PASS  ", "quantifier:sym<**>", " at pos=", rx158_pos)
+    .return (rx158_cur)
+  rx158_fail:
 .annotate "line", 3
-    (rx155_rep, rx155_pos, $I10, $P10) = rx155_cur."!mark_fail"(0)
-    lt rx155_pos, -1, rx155_done
-    eq rx155_pos, -1, rx155_fail
+    (rx158_rep, rx158_pos, $I10, $P10) = rx158_cur."!mark_fail"(0)
+    lt rx158_pos, -1, rx158_done
+    eq rx158_pos, -1, rx158_fail
     jump $I10
-  rx155_done:
-    rx155_cur."!cursor_fail"()
-    rx155_cur."!cursor_debug"("FAIL  ", "quantifier:sym<**>")
-    .return (rx155_cur)
+  rx158_done:
+    rx158_cur."!cursor_fail"()
+    rx158_cur."!cursor_debug"("FAIL  ", "quantifier:sym<**>")
+    .return (rx158_cur)
     .return ()
 .end
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__quantifier:sym<**>"  :subid("43_1259103974.80122") :method
+.sub "!PREFIX__quantifier:sym<**>"  :subid("43_1259177736.62303") :method
 .annotate "line", 3
-    new $P157, "ResizablePMCArray"
-    push $P157, "**"
-    .return ($P157)
+    new $P160, "ResizablePMCArray"
+    push $P160, "**"
+    .return ($P160)
 .end
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "backmod"  :subid("44_1259103974.80122") :method :outer("11_1259103974.80122")
+.sub "backmod"  :subid("44_1259177736.62303") :method :outer("11_1259177736.62303")
 .annotate "line", 3
-    .const 'Sub' $P175 = "46_1259103974.80122" 
-    capture_lex $P175
-    .local string rx167_tgt
-    .local int rx167_pos
-    .local int rx167_off
-    .local int rx167_eos
-    .local int rx167_rep
-    .local pmc rx167_cur
-    (rx167_cur, rx167_pos, rx167_tgt) = self."!cursor_start"()
-    rx167_cur."!cursor_debug"("START ", "backmod")
-    .lex unicode:"$\x{a2}", rx167_cur
+    .const 'Sub' $P178 = "46_1259177736.62303" 
+    capture_lex $P178
+    .local string rx170_tgt
+    .local int rx170_pos
+    .local int rx170_off
+    .local int rx170_eos
+    .local int rx170_rep
+    .local pmc rx170_cur
+    (rx170_cur, rx170_pos, rx170_tgt) = self."!cursor_start"()
+    rx170_cur."!cursor_debug"("START ", "backmod")
+    .lex unicode:"$\x{a2}", rx170_cur
     .local pmc match
     .lex "$/", match
-    length rx167_eos, rx167_tgt
-    set rx167_off, 0
-    lt rx167_pos, 2, rx167_start
-    sub rx167_off, rx167_pos, 1
-    substr rx167_tgt, rx167_tgt, rx167_off
-  rx167_start:
+    length rx170_eos, rx170_tgt
+    set rx170_off, 0
+    lt rx170_pos, 2, rx170_start
+    sub rx170_off, rx170_pos, 1
+    substr rx170_tgt, rx170_tgt, rx170_off
+  rx170_start:
     $I10 = self.'from'()
-    ne $I10, -1, rxscan170_done
-    goto rxscan170_scan
-  rxscan170_loop:
-    ($P10) = rx167_cur."from"()
+    ne $I10, -1, rxscan173_done
+    goto rxscan173_scan
+  rxscan173_loop:
+    ($P10) = rx170_cur."from"()
     inc $P10
-    set rx167_pos, $P10
-    ge rx167_pos, rx167_eos, rxscan170_done
-  rxscan170_scan:
-    set_addr $I10, rxscan170_loop
-    rx167_cur."!mark_push"(0, rx167_pos, $I10)
-  rxscan170_done:
+    set rx170_pos, $P10
+    ge rx170_pos, rx170_eos, rxscan173_done
+  rxscan173_scan:
+    set_addr $I10, rxscan173_loop
+    rx170_cur."!mark_push"(0, rx170_pos, $I10)
+  rxscan173_done:
 .annotate "line", 71
-  # rx rxquantr171 ** 0..1
-    set_addr $I172, rxquantr171_done
-    rx167_cur."!mark_push"(0, rx167_pos, $I172)
-  rxquantr171_loop:
+  # rx rxquantr174 ** 0..1
+    set_addr $I175, rxquantr174_done
+    rx170_cur."!mark_push"(0, rx170_pos, $I175)
+  rxquantr174_loop:
   # rx literal  ":"
-    add $I11, rx167_pos, 1
-    gt $I11, rx167_eos, rx167_fail
-    sub $I11, rx167_pos, rx167_off
-    substr $S10, rx167_tgt, $I11, 1
-    ne $S10, ":", rx167_fail
-    add rx167_pos, 1
-    (rx167_rep) = rx167_cur."!mark_commit"($I172)
-  rxquantr171_done:
-  alt173_0:
-    set_addr $I10, alt173_1
-    rx167_cur."!mark_push"(0, rx167_pos, $I10)
+    add $I11, rx170_pos, 1
+    gt $I11, rx170_eos, rx170_fail
+    sub $I11, rx170_pos, rx170_off
+    substr $S10, rx170_tgt, $I11, 1
+    ne $S10, ":", rx170_fail
+    add rx170_pos, 1
+    (rx170_rep) = rx170_cur."!mark_commit"($I175)
+  rxquantr174_done:
+  alt176_0:
+    set_addr $I10, alt176_1
+    rx170_cur."!mark_push"(0, rx170_pos, $I10)
   # rx literal  "?"
-    add $I11, rx167_pos, 1
-    gt $I11, rx167_eos, rx167_fail
-    sub $I11, rx167_pos, rx167_off
-    substr $S10, rx167_tgt, $I11, 1
-    ne $S10, "?", rx167_fail
-    add rx167_pos, 1
-    goto alt173_end
-  alt173_1:
-    set_addr $I10, alt173_2
-    rx167_cur."!mark_push"(0, rx167_pos, $I10)
+    add $I11, rx170_pos, 1
+    gt $I11, rx170_eos, rx170_fail
+    sub $I11, rx170_pos, rx170_off
+    substr $S10, rx170_tgt, $I11, 1
+    ne $S10, "?", rx170_fail
+    add rx170_pos, 1
+    goto alt176_end
+  alt176_1:
+    set_addr $I10, alt176_2
+    rx170_cur."!mark_push"(0, rx170_pos, $I10)
   # rx literal  "!"
-    add $I11, rx167_pos, 1
-    gt $I11, rx167_eos, rx167_fail
-    sub $I11, rx167_pos, rx167_off
-    substr $S10, rx167_tgt, $I11, 1
-    ne $S10, "!", rx167_fail
-    add rx167_pos, 1
-    goto alt173_end
-  alt173_2:
+    add $I11, rx170_pos, 1
+    gt $I11, rx170_eos, rx170_fail
+    sub $I11, rx170_pos, rx170_off
+    substr $S10, rx170_tgt, $I11, 1
+    ne $S10, "!", rx170_fail
+    add rx170_pos, 1
+    goto alt176_end
+  alt176_2:
   # rx subrule "before" subtype=zerowidth negate=1
-    rx167_cur."!cursor_pos"(rx167_pos)
-    .const 'Sub' $P175 = "46_1259103974.80122" 
-    capture_lex $P175
-    $P10 = rx167_cur."before"($P175)
-    if $P10, rx167_fail
-  alt173_end:
+    rx170_cur."!cursor_pos"(rx170_pos)
+    .const 'Sub' $P178 = "46_1259177736.62303" 
+    capture_lex $P178
+    $P10 = rx170_cur."before"($P178)
+    if $P10, rx170_fail
+  alt176_end:
   # rx pass
-    rx167_cur."!cursor_pass"(rx167_pos, "backmod")
-    rx167_cur."!cursor_debug"("PASS  ", "backmod", " at pos=", rx167_pos)
-    .return (rx167_cur)
-  rx167_fail:
+    rx170_cur."!cursor_pass"(rx170_pos, "backmod")
+    rx170_cur."!cursor_debug"("PASS  ", "backmod", " at pos=", rx170_pos)
+    .return (rx170_cur)
+  rx170_fail:
 .annotate "line", 3
-    (rx167_rep, rx167_pos, $I10, $P10) = rx167_cur."!mark_fail"(0)
-    lt rx167_pos, -1, rx167_done
-    eq rx167_pos, -1, rx167_fail
+    (rx170_rep, rx170_pos, $I10, $P10) = rx170_cur."!mark_fail"(0)
+    lt rx170_pos, -1, rx170_done
+    eq rx170_pos, -1, rx170_fail
     jump $I10
-  rx167_done:
-    rx167_cur."!cursor_fail"()
-    rx167_cur."!cursor_debug"("FAIL  ", "backmod")
-    .return (rx167_cur)
+  rx170_done:
+    rx170_cur."!cursor_fail"()
+    rx170_cur."!cursor_debug"("FAIL  ", "backmod")
+    .return (rx170_cur)
     .return ()
 .end
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__backmod"  :subid("45_1259103974.80122") :method
+.sub "!PREFIX__backmod"  :subid("45_1259177736.62303") :method
 .annotate "line", 3
-    new $P169, "ResizablePMCArray"
-    push $P169, ""
-    .return ($P169)
+    new $P172, "ResizablePMCArray"
+    push $P172, ""
+    .return ($P172)
 .end
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "_block174"  :anon :subid("46_1259103974.80122") :method :outer("44_1259103974.80122")
+.sub "_block177"  :anon :subid("46_1259177736.62303") :method :outer("44_1259177736.62303")
 .annotate "line", 71
-    .local string rx176_tgt
-    .local int rx176_pos
-    .local int rx176_off
-    .local int rx176_eos
-    .local int rx176_rep
-    .local pmc rx176_cur
-    (rx176_cur, rx176_pos, rx176_tgt) = self."!cursor_start"()
-    rx176_cur."!cursor_debug"("START ", "")
-    .lex unicode:"$\x{a2}", rx176_cur
-    .local pmc match
-    .lex "$/", match
-    length rx176_eos, rx176_tgt
-    set rx176_off, 0
-    lt rx176_pos, 2, rx176_start
-    sub rx176_off, rx176_pos, 1
-    substr rx176_tgt, rx176_tgt, rx176_off
-  rx176_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan177_done
-    goto rxscan177_scan
-  rxscan177_loop:
-    ($P10) = rx176_cur."from"()
-    inc $P10
-    set rx176_pos, $P10
-    ge rx176_pos, rx176_eos, rxscan177_done
-  rxscan177_scan:
-    set_addr $I10, rxscan177_loop
-    rx176_cur."!mark_push"(0, rx176_pos, $I10)
-  rxscan177_done:
+    .lex unicode:"$\x{a2}", $P179
+    .local string rx180_tgt
+    .local int rx180_pos
+    .local int rx180_off
+    .local int rx180_eos
+    .local int rx180_rep
+    .local pmc rx180_cur
+    (rx180_cur, rx180_pos, rx180_tgt) = self."!cursor_start"()
+    rx180_cur."!cursor_debug"("START ", "")
+    .lex unicode:"$\x{a2}", rx180_cur
+    .local pmc match
+    .lex "$/", match
+    length rx180_eos, rx180_tgt
+    set rx180_off, 0
+    lt rx180_pos, 2, rx180_start
+    sub rx180_off, rx180_pos, 1
+    substr rx180_tgt, rx180_tgt, rx180_off
+  rx180_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan181_done
+    goto rxscan181_scan
+  rxscan181_loop:
+    ($P10) = rx180_cur."from"()
+    inc $P10
+    set rx180_pos, $P10
+    ge rx180_pos, rx180_eos, rxscan181_done
+  rxscan181_scan:
+    set_addr $I10, rxscan181_loop
+    rx180_cur."!mark_push"(0, rx180_pos, $I10)
+  rxscan181_done:
   # rx literal  ":"
-    add $I11, rx176_pos, 1
-    gt $I11, rx176_eos, rx176_fail
-    sub $I11, rx176_pos, rx176_off
-    substr $S10, rx176_tgt, $I11, 1
-    ne $S10, ":", rx176_fail
-    add rx176_pos, 1
+    add $I11, rx180_pos, 1
+    gt $I11, rx180_eos, rx180_fail
+    sub $I11, rx180_pos, rx180_off
+    substr $S10, rx180_tgt, $I11, 1
+    ne $S10, ":", rx180_fail
+    add rx180_pos, 1
   # rx pass
-    rx176_cur."!cursor_pass"(rx176_pos, "")
-    rx176_cur."!cursor_debug"("PASS  ", "", " at pos=", rx176_pos)
-    .return (rx176_cur)
-  rx176_fail:
-    (rx176_rep, rx176_pos, $I10, $P10) = rx176_cur."!mark_fail"(0)
-    lt rx176_pos, -1, rx176_done
-    eq rx176_pos, -1, rx176_fail
+    rx180_cur."!cursor_pass"(rx180_pos, "")
+    rx180_cur."!cursor_debug"("PASS  ", "", " at pos=", rx180_pos)
+    .return (rx180_cur)
+  rx180_fail:
+    (rx180_rep, rx180_pos, $I10, $P10) = rx180_cur."!mark_fail"(0)
+    lt rx180_pos, -1, rx180_done
+    eq rx180_pos, -1, rx180_fail
     jump $I10
-  rx176_done:
-    rx176_cur."!cursor_fail"()
-    rx176_cur."!cursor_debug"("FAIL  ", "")
-    .return (rx176_cur)
+  rx180_done:
+    rx180_cur."!cursor_fail"()
+    rx180_cur."!cursor_debug"("FAIL  ", "")
+    .return (rx180_cur)
     .return ()
 .end
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "metachar"  :subid("47_1259103974.80122") :method
+.sub "metachar"  :subid("47_1259177736.62303") :method
 .annotate "line", 73
-    $P179 = self."!protoregex"("metachar")
-    .return ($P179)
+    $P183 = self."!protoregex"("metachar")
+    .return ($P183)
 .end
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__metachar"  :subid("48_1259103974.80122") :method
+.sub "!PREFIX__metachar"  :subid("48_1259177736.62303") :method
 .annotate "line", 73
-    $P181 = self."!PREFIX__!protoregex"("metachar")
-    .return ($P181)
+    $P185 = self."!PREFIX__!protoregex"("metachar")
+    .return ($P185)
 .end
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "metachar:sym<ws>"  :subid("49_1259103974.80122") :method :outer("11_1259103974.80122")
+.sub "metachar:sym<ws>"  :subid("49_1259177736.62303") :method :outer("11_1259177736.62303")
 .annotate "line", 3
-    .local string rx183_tgt
-    .local int rx183_pos
-    .local int rx183_off
-    .local int rx183_eos
-    .local int rx183_rep
-    .local pmc rx183_cur
-    (rx183_cur, rx183_pos, rx183_tgt) = self."!cursor_start"()
-    rx183_cur."!cursor_debug"("START ", "metachar:sym<ws>")
-    .lex unicode:"$\x{a2}", rx183_cur
-    .local pmc match
-    .lex "$/", match
-    length rx183_eos, rx183_tgt
-    set rx183_off, 0
-    lt rx183_pos, 2, rx183_start
-    sub rx183_off, rx183_pos, 1
-    substr rx183_tgt, rx183_tgt, rx183_off
-  rx183_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan187_done
-    goto rxscan187_scan
-  rxscan187_loop:
-    ($P10) = rx183_cur."from"()
-    inc $P10
-    set rx183_pos, $P10
-    ge rx183_pos, rx183_eos, rxscan187_done
-  rxscan187_scan:
-    set_addr $I10, rxscan187_loop
-    rx183_cur."!mark_push"(0, rx183_pos, $I10)
-  rxscan187_done:
+    .local string rx187_tgt
+    .local int rx187_pos
+    .local int rx187_off
+    .local int rx187_eos
+    .local int rx187_rep
+    .local pmc rx187_cur
+    (rx187_cur, rx187_pos, rx187_tgt) = self."!cursor_start"()
+    rx187_cur."!cursor_debug"("START ", "metachar:sym<ws>")
+    .lex unicode:"$\x{a2}", rx187_cur
+    .local pmc match
+    .lex "$/", match
+    length rx187_eos, rx187_tgt
+    set rx187_off, 0
+    lt rx187_pos, 2, rx187_start
+    sub rx187_off, rx187_pos, 1
+    substr rx187_tgt, rx187_tgt, rx187_off
+  rx187_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan191_done
+    goto rxscan191_scan
+  rxscan191_loop:
+    ($P10) = rx187_cur."from"()
+    inc $P10
+    set rx187_pos, $P10
+    ge rx187_pos, rx187_eos, rxscan191_done
+  rxscan191_scan:
+    set_addr $I10, rxscan191_loop
+    rx187_cur."!mark_push"(0, rx187_pos, $I10)
+  rxscan191_done:
 .annotate "line", 74
   # rx subrule "normspace" subtype=method negate=
-    rx183_cur."!cursor_pos"(rx183_pos)
-    $P10 = rx183_cur."normspace"()
-    unless $P10, rx183_fail
-    rx183_pos = $P10."pos"()
+    rx187_cur."!cursor_pos"(rx187_pos)
+    $P10 = rx187_cur."normspace"()
+    unless $P10, rx187_fail
+    rx187_pos = $P10."pos"()
   # rx pass
-    rx183_cur."!cursor_pass"(rx183_pos, "metachar:sym<ws>")
-    rx183_cur."!cursor_debug"("PASS  ", "metachar:sym<ws>", " at pos=", rx183_pos)
-    .return (rx183_cur)
-  rx183_fail:
+    rx187_cur."!cursor_pass"(rx187_pos, "metachar:sym<ws>")
+    rx187_cur."!cursor_debug"("PASS  ", "metachar:sym<ws>", " at pos=", rx187_pos)
+    .return (rx187_cur)
+  rx187_fail:
 .annotate "line", 3
-    (rx183_rep, rx183_pos, $I10, $P10) = rx183_cur."!mark_fail"(0)
-    lt rx183_pos, -1, rx183_done
-    eq rx183_pos, -1, rx183_fail
+    (rx187_rep, rx187_pos, $I10, $P10) = rx187_cur."!mark_fail"(0)
+    lt rx187_pos, -1, rx187_done
+    eq rx187_pos, -1, rx187_fail
     jump $I10
-  rx183_done:
-    rx183_cur."!cursor_fail"()
-    rx183_cur."!cursor_debug"("FAIL  ", "metachar:sym<ws>")
-    .return (rx183_cur)
+  rx187_done:
+    rx187_cur."!cursor_fail"()
+    rx187_cur."!cursor_debug"("FAIL  ", "metachar:sym<ws>")
+    .return (rx187_cur)
     .return ()
 .end
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__metachar:sym<ws>"  :subid("50_1259103974.80122") :method
+.sub "!PREFIX__metachar:sym<ws>"  :subid("50_1259177736.62303") :method
 .annotate "line", 3
-    $P185 = self."!PREFIX__!subrule"("", "")
-    new $P186, "ResizablePMCArray"
-    push $P186, $P185
-    .return ($P186)
+    $P189 = self."!PREFIX__!subrule"("", "")
+    new $P190, "ResizablePMCArray"
+    push $P190, $P189
+    .return ($P190)
 .end
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "metachar:sym<[ ]>"  :subid("51_1259103974.80122") :method :outer("11_1259103974.80122")
+.sub "metachar:sym<[ ]>"  :subid("51_1259177736.62303") :method :outer("11_1259177736.62303")
 .annotate "line", 3
-    .local string rx189_tgt
-    .local int rx189_pos
-    .local int rx189_off
-    .local int rx189_eos
-    .local int rx189_rep
-    .local pmc rx189_cur
-    (rx189_cur, rx189_pos, rx189_tgt) = self."!cursor_start"()
-    rx189_cur."!cursor_debug"("START ", "metachar:sym<[ ]>")
-    .lex unicode:"$\x{a2}", rx189_cur
+    .local string rx193_tgt
+    .local int rx193_pos
+    .local int rx193_off
+    .local int rx193_eos
+    .local int rx193_rep
+    .local pmc rx193_cur
+    (rx193_cur, rx193_pos, rx193_tgt) = self."!cursor_start"()
+    rx193_cur."!cursor_debug"("START ", "metachar:sym<[ ]>")
+    .lex unicode:"$\x{a2}", rx193_cur
     .local pmc match
     .lex "$/", match
-    length rx189_eos, rx189_tgt
-    set rx189_off, 0
-    lt rx189_pos, 2, rx189_start
-    sub rx189_off, rx189_pos, 1
-    substr rx189_tgt, rx189_tgt, rx189_off
-  rx189_start:
+    length rx193_eos, rx193_tgt
+    set rx193_off, 0
+    lt rx193_pos, 2, rx193_start
+    sub rx193_off, rx193_pos, 1
+    substr rx193_tgt, rx193_tgt, rx193_off
+  rx193_start:
     $I10 = self.'from'()
-    ne $I10, -1, rxscan193_done
-    goto rxscan193_scan
-  rxscan193_loop:
-    ($P10) = rx189_cur."from"()
+    ne $I10, -1, rxscan197_done
+    goto rxscan197_scan
+  rxscan197_loop:
+    ($P10) = rx193_cur."from"()
     inc $P10
-    set rx189_pos, $P10
-    ge rx189_pos, rx189_eos, rxscan193_done
-  rxscan193_scan:
-    set_addr $I10, rxscan193_loop
-    rx189_cur."!mark_push"(0, rx189_pos, $I10)
-  rxscan193_done:
+    set rx193_pos, $P10
+    ge rx193_pos, rx193_eos, rxscan197_done
+  rxscan197_scan:
+    set_addr $I10, rxscan197_loop
+    rx193_cur."!mark_push"(0, rx193_pos, $I10)
+  rxscan197_done:
 .annotate "line", 75
   # rx literal  "["
-    add $I11, rx189_pos, 1
-    gt $I11, rx189_eos, rx189_fail
-    sub $I11, rx189_pos, rx189_off
-    substr $S10, rx189_tgt, $I11, 1
-    ne $S10, "[", rx189_fail
-    add rx189_pos, 1
+    add $I11, rx193_pos, 1
+    gt $I11, rx193_eos, rx193_fail
+    sub $I11, rx193_pos, rx193_off
+    substr $S10, rx193_tgt, $I11, 1
+    ne $S10, "[", rx193_fail
+    add rx193_pos, 1
   # rx subrule "nibbler" subtype=capture negate=
-    rx189_cur."!cursor_pos"(rx189_pos)
-    $P10 = rx189_cur."nibbler"()
-    unless $P10, rx189_fail
-    rx189_cur."!mark_push"(0, -1, 0, $P10)
+    rx193_cur."!cursor_pos"(rx193_pos)
+    $P10 = rx193_cur."nibbler"()
+    unless $P10, rx193_fail
+    rx193_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("nibbler")
-    rx189_pos = $P10."pos"()
+    rx193_pos = $P10."pos"()
   # rx literal  "]"
-    add $I11, rx189_pos, 1
-    gt $I11, rx189_eos, rx189_fail
-    sub $I11, rx189_pos, rx189_off
-    substr $S10, rx189_tgt, $I11, 1
-    ne $S10, "]", rx189_fail
-    add rx189_pos, 1
+    add $I11, rx193_pos, 1
+    gt $I11, rx193_eos, rx193_fail
+    sub $I11, rx193_pos, rx193_off
+    substr $S10, rx193_tgt, $I11, 1
+    ne $S10, "]", rx193_fail
+    add rx193_pos, 1
   # rx pass
-    rx189_cur."!cursor_pass"(rx189_pos, "metachar:sym<[ ]>")
-    rx189_cur."!cursor_debug"("PASS  ", "metachar:sym<[ ]>", " at pos=", rx189_pos)
-    .return (rx189_cur)
-  rx189_fail:
+    rx193_cur."!cursor_pass"(rx193_pos, "metachar:sym<[ ]>")
+    rx193_cur."!cursor_debug"("PASS  ", "metachar:sym<[ ]>", " at pos=", rx193_pos)
+    .return (rx193_cur)
+  rx193_fail:
 .annotate "line", 3
-    (rx189_rep, rx189_pos, $I10, $P10) = rx189_cur."!mark_fail"(0)
-    lt rx189_pos, -1, rx189_done
-    eq rx189_pos, -1, rx189_fail
+    (rx193_rep, rx193_pos, $I10, $P10) = rx193_cur."!mark_fail"(0)
+    lt rx193_pos, -1, rx193_done
+    eq rx193_pos, -1, rx193_fail
     jump $I10
-  rx189_done:
-    rx189_cur."!cursor_fail"()
-    rx189_cur."!cursor_debug"("FAIL  ", "metachar:sym<[ ]>")
-    .return (rx189_cur)
+  rx193_done:
+    rx193_cur."!cursor_fail"()
+    rx193_cur."!cursor_debug"("FAIL  ", "metachar:sym<[ ]>")
+    .return (rx193_cur)
     .return ()
 .end
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__metachar:sym<[ ]>"  :subid("52_1259103974.80122") :method
+.sub "!PREFIX__metachar:sym<[ ]>"  :subid("52_1259177736.62303") :method
 .annotate "line", 3
-    $P191 = self."!PREFIX__!subrule"("nibbler", "[")
-    new $P192, "ResizablePMCArray"
-    push $P192, $P191
-    .return ($P192)
+    $P195 = self."!PREFIX__!subrule"("nibbler", "[")
+    new $P196, "ResizablePMCArray"
+    push $P196, $P195
+    .return ($P196)
 .end
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "metachar:sym<( )>"  :subid("53_1259103974.80122") :method :outer("11_1259103974.80122")
+.sub "metachar:sym<( )>"  :subid("53_1259177736.62303") :method :outer("11_1259177736.62303")
 .annotate "line", 3
-    .local string rx195_tgt
-    .local int rx195_pos
-    .local int rx195_off
-    .local int rx195_eos
-    .local int rx195_rep
-    .local pmc rx195_cur
-    (rx195_cur, rx195_pos, rx195_tgt) = self."!cursor_start"()
-    rx195_cur."!cursor_debug"("START ", "metachar:sym<( )>")
-    .lex unicode:"$\x{a2}", rx195_cur
+    .local string rx199_tgt
+    .local int rx199_pos
+    .local int rx199_off
+    .local int rx199_eos
+    .local int rx199_rep
+    .local pmc rx199_cur
+    (rx199_cur, rx199_pos, rx199_tgt) = self."!cursor_start"()
+    rx199_cur."!cursor_debug"("START ", "metachar:sym<( )>")
+    .lex unicode:"$\x{a2}", rx199_cur
     .local pmc match
     .lex "$/", match
-    length rx195_eos, rx195_tgt
-    set rx195_off, 0
-    lt rx195_pos, 2, rx195_start
-    sub rx195_off, rx195_pos, 1
-    substr rx195_tgt, rx195_tgt, rx195_off
-  rx195_start:
+    length rx199_eos, rx199_tgt
+    set rx199_off, 0
+    lt rx199_pos, 2, rx199_start
+    sub rx199_off, rx199_pos, 1
+    substr rx199_tgt, rx199_tgt, rx199_off
+  rx199_start:
     $I10 = self.'from'()
-    ne $I10, -1, rxscan199_done
-    goto rxscan199_scan
-  rxscan199_loop:
-    ($P10) = rx195_cur."from"()
+    ne $I10, -1, rxscan203_done
+    goto rxscan203_scan
+  rxscan203_loop:
+    ($P10) = rx199_cur."from"()
     inc $P10
-    set rx195_pos, $P10
-    ge rx195_pos, rx195_eos, rxscan199_done
-  rxscan199_scan:
-    set_addr $I10, rxscan199_loop
-    rx195_cur."!mark_push"(0, rx195_pos, $I10)
-  rxscan199_done:
+    set rx199_pos, $P10
+    ge rx199_pos, rx199_eos, rxscan203_done
+  rxscan203_scan:
+    set_addr $I10, rxscan203_loop
+    rx199_cur."!mark_push"(0, rx199_pos, $I10)
+  rxscan203_done:
 .annotate "line", 76
   # rx literal  "("
-    add $I11, rx195_pos, 1
-    gt $I11, rx195_eos, rx195_fail
-    sub $I11, rx195_pos, rx195_off
-    substr $S10, rx195_tgt, $I11, 1
-    ne $S10, "(", rx195_fail
-    add rx195_pos, 1
+    add $I11, rx199_pos, 1
+    gt $I11, rx199_eos, rx199_fail
+    sub $I11, rx199_pos, rx199_off
+    substr $S10, rx199_tgt, $I11, 1
+    ne $S10, "(", rx199_fail
+    add rx199_pos, 1
   # rx subrule "nibbler" subtype=capture negate=
-    rx195_cur."!cursor_pos"(rx195_pos)
-    $P10 = rx195_cur."nibbler"()
-    unless $P10, rx195_fail
-    rx195_cur."!mark_push"(0, -1, 0, $P10)
+    rx199_cur."!cursor_pos"(rx199_pos)
+    $P10 = rx199_cur."nibbler"()
+    unless $P10, rx199_fail
+    rx199_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("nibbler")
-    rx195_pos = $P10."pos"()
+    rx199_pos = $P10."pos"()
   # rx literal  ")"
-    add $I11, rx195_pos, 1
-    gt $I11, rx195_eos, rx195_fail
-    sub $I11, rx195_pos, rx195_off
-    substr $S10, rx195_tgt, $I11, 1
-    ne $S10, ")", rx195_fail
-    add rx195_pos, 1
+    add $I11, rx199_pos, 1
+    gt $I11, rx199_eos, rx199_fail
+    sub $I11, rx199_pos, rx199_off
+    substr $S10, rx199_tgt, $I11, 1
+    ne $S10, ")", rx199_fail
+    add rx199_pos, 1
   # rx pass
-    rx195_cur."!cursor_pass"(rx195_pos, "metachar:sym<( )>")
-    rx195_cur."!cursor_debug"("PASS  ", "metachar:sym<( )>", " at pos=", rx195_pos)
-    .return (rx195_cur)
-  rx195_fail:
+    rx199_cur."!cursor_pass"(rx199_pos, "metachar:sym<( )>")
+    rx199_cur."!cursor_debug"("PASS  ", "metachar:sym<( )>", " at pos=", rx199_pos)
+    .return (rx199_cur)
+  rx199_fail:
 .annotate "line", 3
-    (rx195_rep, rx195_pos, $I10, $P10) = rx195_cur."!mark_fail"(0)
-    lt rx195_pos, -1, rx195_done
-    eq rx195_pos, -1, rx195_fail
+    (rx199_rep, rx199_pos, $I10, $P10) = rx199_cur."!mark_fail"(0)
+    lt rx199_pos, -1, rx199_done
+    eq rx199_pos, -1, rx199_fail
     jump $I10
-  rx195_done:
-    rx195_cur."!cursor_fail"()
-    rx195_cur."!cursor_debug"("FAIL  ", "metachar:sym<( )>")
-    .return (rx195_cur)
+  rx199_done:
+    rx199_cur."!cursor_fail"()
+    rx199_cur."!cursor_debug"("FAIL  ", "metachar:sym<( )>")
+    .return (rx199_cur)
     .return ()
 .end
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__metachar:sym<( )>"  :subid("54_1259103974.80122") :method
+.sub "!PREFIX__metachar:sym<( )>"  :subid("54_1259177736.62303") :method
 .annotate "line", 3
-    $P197 = self."!PREFIX__!subrule"("nibbler", "(")
-    new $P198, "ResizablePMCArray"
-    push $P198, $P197
-    .return ($P198)
+    $P201 = self."!PREFIX__!subrule"("nibbler", "(")
+    new $P202, "ResizablePMCArray"
+    push $P202, $P201
+    .return ($P202)
 .end
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "metachar:sym<'>"  :subid("55_1259103974.80122") :method :outer("11_1259103974.80122")
+.sub "metachar:sym<'>"  :subid("55_1259177736.62303") :method :outer("11_1259177736.62303")
 .annotate "line", 3
-    .local string rx201_tgt
-    .local int rx201_pos
-    .local int rx201_off
-    .local int rx201_eos
-    .local int rx201_rep
-    .local pmc rx201_cur
-    (rx201_cur, rx201_pos, rx201_tgt) = self."!cursor_start"()
-    rx201_cur."!cursor_debug"("START ", "metachar:sym<'>")
-    .lex unicode:"$\x{a2}", rx201_cur
+    .local string rx205_tgt
+    .local int rx205_pos
+    .local int rx205_off
+    .local int rx205_eos
+    .local int rx205_rep
+    .local pmc rx205_cur
+    (rx205_cur, rx205_pos, rx205_tgt) = self."!cursor_start"()
+    rx205_cur."!cursor_debug"("START ", "metachar:sym<'>")
+    .lex unicode:"$\x{a2}", rx205_cur
     .local pmc match
     .lex "$/", match
-    length rx201_eos, rx201_tgt
-    set rx201_off, 0
-    lt rx201_pos, 2, rx201_start
-    sub rx201_off, rx201_pos, 1
-    substr rx201_tgt, rx201_tgt, rx201_off
-  rx201_start:
+    length rx205_eos, rx205_tgt
+    set rx205_off, 0
+    lt rx205_pos, 2, rx205_start
+    sub rx205_off, rx205_pos, 1
+    substr rx205_tgt, rx205_tgt, rx205_off
+  rx205_start:
     $I10 = self.'from'()
-    ne $I10, -1, rxscan204_done
-    goto rxscan204_scan
-  rxscan204_loop:
-    ($P10) = rx201_cur."from"()
+    ne $I10, -1, rxscan208_done
+    goto rxscan208_scan
+  rxscan208_loop:
+    ($P10) = rx205_cur."from"()
     inc $P10
-    set rx201_pos, $P10
-    ge rx201_pos, rx201_eos, rxscan204_done
-  rxscan204_scan:
-    set_addr $I10, rxscan204_loop
-    rx201_cur."!mark_push"(0, rx201_pos, $I10)
-  rxscan204_done:
+    set rx205_pos, $P10
+    ge rx205_pos, rx205_eos, rxscan208_done
+  rxscan208_scan:
+    set_addr $I10, rxscan208_loop
+    rx205_cur."!mark_push"(0, rx205_pos, $I10)
+  rxscan208_done:
 .annotate "line", 77
   # rx enumcharlist negate=0 zerowidth
-    ge rx201_pos, rx201_eos, rx201_fail
-    sub $I10, rx201_pos, rx201_off
-    substr $S10, rx201_tgt, $I10, 1
+    ge rx205_pos, rx205_eos, rx205_fail
+    sub $I10, rx205_pos, rx205_off
+    substr $S10, rx205_tgt, $I10, 1
     index $I11, "'", $S10
-    lt $I11, 0, rx201_fail
+    lt $I11, 0, rx205_fail
   # rx subrule "quote_EXPR" subtype=capture negate=
-    rx201_cur."!cursor_pos"(rx201_pos)
-    $P10 = rx201_cur."quote_EXPR"(":q")
-    unless $P10, rx201_fail
-    rx201_cur."!mark_push"(0, -1, 0, $P10)
+    rx205_cur."!cursor_pos"(rx205_pos)
+    $P10 = rx205_cur."quote_EXPR"(":q")
+    unless $P10, rx205_fail
+    rx205_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("quote_EXPR")
-    rx201_pos = $P10."pos"()
+    rx205_pos = $P10."pos"()
   # rx pass
-    rx201_cur."!cursor_pass"(rx201_pos, "metachar:sym<'>")
-    rx201_cur."!cursor_debug"("PASS  ", "metachar:sym<'>", " at pos=", rx201_pos)
-    .return (rx201_cur)
-  rx201_fail:
+    rx205_cur."!cursor_pass"(rx205_pos, "metachar:sym<'>")
+    rx205_cur."!cursor_debug"("PASS  ", "metachar:sym<'>", " at pos=", rx205_pos)
+    .return (rx205_cur)
+  rx205_fail:
 .annotate "line", 3
-    (rx201_rep, rx201_pos, $I10, $P10) = rx201_cur."!mark_fail"(0)
-    lt rx201_pos, -1, rx201_done
-    eq rx201_pos, -1, rx201_fail
+    (rx205_rep, rx205_pos, $I10, $P10) = rx205_cur."!mark_fail"(0)
+    lt rx205_pos, -1, rx205_done
+    eq rx205_pos, -1, rx205_fail
     jump $I10
-  rx201_done:
-    rx201_cur."!cursor_fail"()
-    rx201_cur."!cursor_debug"("FAIL  ", "metachar:sym<'>")
-    .return (rx201_cur)
+  rx205_done:
+    rx205_cur."!cursor_fail"()
+    rx205_cur."!cursor_debug"("FAIL  ", "metachar:sym<'>")
+    .return (rx205_cur)
     .return ()
 .end
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__metachar:sym<'>"  :subid("56_1259103974.80122") :method
+.sub "!PREFIX__metachar:sym<'>"  :subid("56_1259177736.62303") :method
 .annotate "line", 3
-    new $P203, "ResizablePMCArray"
-    push $P203, "'"
-    .return ($P203)
+    new $P207, "ResizablePMCArray"
+    push $P207, "'"
+    .return ($P207)
 .end
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "metachar:sym<\">"  :subid("57_1259103974.80122") :method :outer("11_1259103974.80122")
+.sub "metachar:sym<\">"  :subid("57_1259177736.62303") :method :outer("11_1259177736.62303")
 .annotate "line", 3
-    .local string rx206_tgt
-    .local int rx206_pos
-    .local int rx206_off
-    .local int rx206_eos
-    .local int rx206_rep
-    .local pmc rx206_cur
-    (rx206_cur, rx206_pos, rx206_tgt) = self."!cursor_start"()
-    rx206_cur."!cursor_debug"("START ", "metachar:sym<\">")
-    .lex unicode:"$\x{a2}", rx206_cur
+    .local string rx210_tgt
+    .local int rx210_pos
+    .local int rx210_off
+    .local int rx210_eos
+    .local int rx210_rep
+    .local pmc rx210_cur
+    (rx210_cur, rx210_pos, rx210_tgt) = self."!cursor_start"()
+    rx210_cur."!cursor_debug"("START ", "metachar:sym<\">")
+    .lex unicode:"$\x{a2}", rx210_cur
     .local pmc match
     .lex "$/", match
-    length rx206_eos, rx206_tgt
-    set rx206_off, 0
-    lt rx206_pos, 2, rx206_start
-    sub rx206_off, rx206_pos, 1
-    substr rx206_tgt, rx206_tgt, rx206_off
-  rx206_start:
+    length rx210_eos, rx210_tgt
+    set rx210_off, 0
+    lt rx210_pos, 2, rx210_start
+    sub rx210_off, rx210_pos, 1
+    substr rx210_tgt, rx210_tgt, rx210_off
+  rx210_start:
     $I10 = self.'from'()
-    ne $I10, -1, rxscan209_done
-    goto rxscan209_scan
-  rxscan209_loop:
-    ($P10) = rx206_cur."from"()
+    ne $I10, -1, rxscan213_done
+    goto rxscan213_scan
+  rxscan213_loop:
+    ($P10) = rx210_cur."from"()
     inc $P10
-    set rx206_pos, $P10
-    ge rx206_pos, rx206_eos, rxscan209_done
-  rxscan209_scan:
-    set_addr $I10, rxscan209_loop
-    rx206_cur."!mark_push"(0, rx206_pos, $I10)
-  rxscan209_done:
+    set rx210_pos, $P10
+    ge rx210_pos, rx210_eos, rxscan213_done
+  rxscan213_scan:
+    set_addr $I10, rxscan213_loop
+    rx210_cur."!mark_push"(0, rx210_pos, $I10)
+  rxscan213_done:
 .annotate "line", 78
   # rx enumcharlist negate=0 zerowidth
-    ge rx206_pos, rx206_eos, rx206_fail
-    sub $I10, rx206_pos, rx206_off
-    substr $S10, rx206_tgt, $I10, 1
+    ge rx210_pos, rx210_eos, rx210_fail
+    sub $I10, rx210_pos, rx210_off
+    substr $S10, rx210_tgt, $I10, 1
     index $I11, "\"", $S10
-    lt $I11, 0, rx206_fail
+    lt $I11, 0, rx210_fail
   # rx subrule "quote_EXPR" subtype=capture negate=
-    rx206_cur."!cursor_pos"(rx206_pos)
-    $P10 = rx206_cur."quote_EXPR"(":qq")
-    unless $P10, rx206_fail
-    rx206_cur."!mark_push"(0, -1, 0, $P10)
+    rx210_cur."!cursor_pos"(rx210_pos)
+    $P10 = rx210_cur."quote_EXPR"(":qq")
+    unless $P10, rx210_fail
+    rx210_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("quote_EXPR")
-    rx206_pos = $P10."pos"()
+    rx210_pos = $P10."pos"()
   # rx pass
-    rx206_cur."!cursor_pass"(rx206_pos, "metachar:sym<\">")
-    rx206_cur."!cursor_debug"("PASS  ", "metachar:sym<\">", " at pos=", rx206_pos)
-    .return (rx206_cur)
-  rx206_fail:
+    rx210_cur."!cursor_pass"(rx210_pos, "metachar:sym<\">")
+    rx210_cur."!cursor_debug"("PASS  ", "metachar:sym<\">", " at pos=", rx210_pos)
+    .return (rx210_cur)
+  rx210_fail:
 .annotate "line", 3
-    (rx206_rep, rx206_pos, $I10, $P10) = rx206_cur."!mark_fail"(0)
-    lt rx206_pos, -1, rx206_done
-    eq rx206_pos, -1, rx206_fail
+    (rx210_rep, rx210_pos, $I10, $P10) = rx210_cur."!mark_fail"(0)
+    lt rx210_pos, -1, rx210_done
+    eq rx210_pos, -1, rx210_fail
     jump $I10
-  rx206_done:
-    rx206_cur."!cursor_fail"()
-    rx206_cur."!cursor_debug"("FAIL  ", "metachar:sym<\">")
-    .return (rx206_cur)
+  rx210_done:
+    rx210_cur."!cursor_fail"()
+    rx210_cur."!cursor_debug"("FAIL  ", "metachar:sym<\">")
+    .return (rx210_cur)
     .return ()
 .end
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__metachar:sym<\">"  :subid("58_1259103974.80122") :method
+.sub "!PREFIX__metachar:sym<\">"  :subid("58_1259177736.62303") :method
 .annotate "line", 3
-    new $P208, "ResizablePMCArray"
-    push $P208, "\""
-    .return ($P208)
+    new $P212, "ResizablePMCArray"
+    push $P212, "\""
+    .return ($P212)
 .end
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "metachar:sym<.>"  :subid("59_1259103974.80122") :method :outer("11_1259103974.80122")
+.sub "metachar:sym<.>"  :subid("59_1259177736.62303") :method :outer("11_1259177736.62303")
 .annotate "line", 3
-    .local string rx211_tgt
-    .local int rx211_pos
-    .local int rx211_off
-    .local int rx211_eos
-    .local int rx211_rep
-    .local pmc rx211_cur
-    (rx211_cur, rx211_pos, rx211_tgt) = self."!cursor_start"()
-    rx211_cur."!cursor_debug"("START ", "metachar:sym<.>")
-    .lex unicode:"$\x{a2}", rx211_cur
+    .local string rx215_tgt
+    .local int rx215_pos
+    .local int rx215_off
+    .local int rx215_eos
+    .local int rx215_rep
+    .local pmc rx215_cur
+    (rx215_cur, rx215_pos, rx215_tgt) = self."!cursor_start"()
+    rx215_cur."!cursor_debug"("START ", "metachar:sym<.>")
+    .lex unicode:"$\x{a2}", rx215_cur
     .local pmc match
     .lex "$/", match
-    length rx211_eos, rx211_tgt
-    set rx211_off, 0
-    lt rx211_pos, 2, rx211_start
-    sub rx211_off, rx211_pos, 1
-    substr rx211_tgt, rx211_tgt, rx211_off
-  rx211_start:
+    length rx215_eos, rx215_tgt
+    set rx215_off, 0
+    lt rx215_pos, 2, rx215_start
+    sub rx215_off, rx215_pos, 1
+    substr rx215_tgt, rx215_tgt, rx215_off
+  rx215_start:
     $I10 = self.'from'()
-    ne $I10, -1, rxscan214_done
-    goto rxscan214_scan
-  rxscan214_loop:
-    ($P10) = rx211_cur."from"()
+    ne $I10, -1, rxscan218_done
+    goto rxscan218_scan
+  rxscan218_loop:
+    ($P10) = rx215_cur."from"()
     inc $P10
-    set rx211_pos, $P10
-    ge rx211_pos, rx211_eos, rxscan214_done
-  rxscan214_scan:
-    set_addr $I10, rxscan214_loop
-    rx211_cur."!mark_push"(0, rx211_pos, $I10)
-  rxscan214_done:
+    set rx215_pos, $P10
+    ge rx215_pos, rx215_eos, rxscan218_done
+  rxscan218_scan:
+    set_addr $I10, rxscan218_loop
+    rx215_cur."!mark_push"(0, rx215_pos, $I10)
+  rxscan218_done:
 .annotate "line", 79
   # rx subcapture "sym"
-    set_addr $I10, rxcap_215_fail
-    rx211_cur."!mark_push"(0, rx211_pos, $I10)
+    set_addr $I10, rxcap_219_fail
+    rx215_cur."!mark_push"(0, rx215_pos, $I10)
   # rx literal  "."
-    add $I11, rx211_pos, 1
-    gt $I11, rx211_eos, rx211_fail
-    sub $I11, rx211_pos, rx211_off
-    substr $S10, rx211_tgt, $I11, 1
-    ne $S10, ".", rx211_fail
-    add rx211_pos, 1
-    set_addr $I10, rxcap_215_fail
-    ($I12, $I11) = rx211_cur."!mark_peek"($I10)
-    rx211_cur."!cursor_pos"($I11)
-    ($P10) = rx211_cur."!cursor_start"()
-    $P10."!cursor_pass"(rx211_pos, "")
-    rx211_cur."!mark_push"(0, -1, 0, $P10)
+    add $I11, rx215_pos, 1
+    gt $I11, rx215_eos, rx215_fail
+    sub $I11, rx215_pos, rx215_off
+    substr $S10, rx215_tgt, $I11, 1
+    ne $S10, ".", rx215_fail
+    add rx215_pos, 1
+    set_addr $I10, rxcap_219_fail
+    ($I12, $I11) = rx215_cur."!mark_peek"($I10)
+    rx215_cur."!cursor_pos"($I11)
+    ($P10) = rx215_cur."!cursor_start"()
+    $P10."!cursor_pass"(rx215_pos, "")
+    rx215_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("sym")
-    goto rxcap_215_done
-  rxcap_215_fail:
-    goto rx211_fail
-  rxcap_215_done:
+    goto rxcap_219_done
+  rxcap_219_fail:
+    goto rx215_fail
+  rxcap_219_done:
   # rx pass
-    rx211_cur."!cursor_pass"(rx211_pos, "metachar:sym<.>")
-    rx211_cur."!cursor_debug"("PASS  ", "metachar:sym<.>", " at pos=", rx211_pos)
-    .return (rx211_cur)
-  rx211_fail:
+    rx215_cur."!cursor_pass"(rx215_pos, "metachar:sym<.>")
+    rx215_cur."!cursor_debug"("PASS  ", "metachar:sym<.>", " at pos=", rx215_pos)
+    .return (rx215_cur)
+  rx215_fail:
 .annotate "line", 3
-    (rx211_rep, rx211_pos, $I10, $P10) = rx211_cur."!mark_fail"(0)
-    lt rx211_pos, -1, rx211_done
-    eq rx211_pos, -1, rx211_fail
+    (rx215_rep, rx215_pos, $I10, $P10) = rx215_cur."!mark_fail"(0)
+    lt rx215_pos, -1, rx215_done
+    eq rx215_pos, -1, rx215_fail
     jump $I10
-  rx211_done:
-    rx211_cur."!cursor_fail"()
-    rx211_cur."!cursor_debug"("FAIL  ", "metachar:sym<.>")
-    .return (rx211_cur)
+  rx215_done:
+    rx215_cur."!cursor_fail"()
+    rx215_cur."!cursor_debug"("FAIL  ", "metachar:sym<.>")
+    .return (rx215_cur)
     .return ()
 .end
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__metachar:sym<.>"  :subid("60_1259103974.80122") :method
+.sub "!PREFIX__metachar:sym<.>"  :subid("60_1259177736.62303") :method
 .annotate "line", 3
-    new $P213, "ResizablePMCArray"
-    push $P213, "."
-    .return ($P213)
+    new $P217, "ResizablePMCArray"
+    push $P217, "."
+    .return ($P217)
 .end
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "metachar:sym<^>"  :subid("61_1259103974.80122") :method :outer("11_1259103974.80122")
+.sub "metachar:sym<^>"  :subid("61_1259177736.62303") :method :outer("11_1259177736.62303")
 .annotate "line", 3
-    .local string rx217_tgt
-    .local int rx217_pos
-    .local int rx217_off
-    .local int rx217_eos
-    .local int rx217_rep
-    .local pmc rx217_cur
-    (rx217_cur, rx217_pos, rx217_tgt) = self."!cursor_start"()
-    rx217_cur."!cursor_debug"("START ", "metachar:sym<^>")
-    .lex unicode:"$\x{a2}", rx217_cur
+    .local string rx221_tgt
+    .local int rx221_pos
+    .local int rx221_off
+    .local int rx221_eos
+    .local int rx221_rep
+    .local pmc rx221_cur
+    (rx221_cur, rx221_pos, rx221_tgt) = self."!cursor_start"()
+    rx221_cur."!cursor_debug"("START ", "metachar:sym<^>")
+    .lex unicode:"$\x{a2}", rx221_cur
     .local pmc match
     .lex "$/", match
-    length rx217_eos, rx217_tgt
-    set rx217_off, 0
-    lt rx217_pos, 2, rx217_start
-    sub rx217_off, rx217_pos, 1
-    substr rx217_tgt, rx217_tgt, rx217_off
-  rx217_start:
+    length rx221_eos, rx221_tgt
+    set rx221_off, 0
+    lt rx221_pos, 2, rx221_start
+    sub rx221_off, rx221_pos, 1
+    substr rx221_tgt, rx221_tgt, rx221_off
+  rx221_start:
     $I10 = self.'from'()
-    ne $I10, -1, rxscan220_done
-    goto rxscan220_scan
-  rxscan220_loop:
-    ($P10) = rx217_cur."from"()
+    ne $I10, -1, rxscan224_done
+    goto rxscan224_scan
+  rxscan224_loop:
+    ($P10) = rx221_cur."from"()
     inc $P10
-    set rx217_pos, $P10
-    ge rx217_pos, rx217_eos, rxscan220_done
-  rxscan220_scan:
-    set_addr $I10, rxscan220_loop
-    rx217_cur."!mark_push"(0, rx217_pos, $I10)
-  rxscan220_done:
+    set rx221_pos, $P10
+    ge rx221_pos, rx221_eos, rxscan224_done
+  rxscan224_scan:
+    set_addr $I10, rxscan224_loop
+    rx221_cur."!mark_push"(0, rx221_pos, $I10)
+  rxscan224_done:
 .annotate "line", 80
   # rx subcapture "sym"
-    set_addr $I10, rxcap_221_fail
-    rx217_cur."!mark_push"(0, rx217_pos, $I10)
+    set_addr $I10, rxcap_225_fail
+    rx221_cur."!mark_push"(0, rx221_pos, $I10)
   # rx literal  "^"
-    add $I11, rx217_pos, 1
-    gt $I11, rx217_eos, rx217_fail
-    sub $I11, rx217_pos, rx217_off
-    substr $S10, rx217_tgt, $I11, 1
-    ne $S10, "^", rx217_fail
-    add rx217_pos, 1
-    set_addr $I10, rxcap_221_fail
-    ($I12, $I11) = rx217_cur."!mark_peek"($I10)
-    rx217_cur."!cursor_pos"($I11)
-    ($P10) = rx217_cur."!cursor_start"()
-    $P10."!cursor_pass"(rx217_pos, "")
-    rx217_cur."!mark_push"(0, -1, 0, $P10)
+    add $I11, rx221_pos, 1
+    gt $I11, rx221_eos, rx221_fail
+    sub $I11, rx221_pos, rx221_off
+    substr $S10, rx221_tgt, $I11, 1
+    ne $S10, "^", rx221_fail
+    add rx221_pos, 1
+    set_addr $I10, rxcap_225_fail
+    ($I12, $I11) = rx221_cur."!mark_peek"($I10)
+    rx221_cur."!cursor_pos"($I11)
+    ($P10) = rx221_cur."!cursor_start"()
+    $P10."!cursor_pass"(rx221_pos, "")
+    rx221_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("sym")
-    goto rxcap_221_done
-  rxcap_221_fail:
-    goto rx217_fail
-  rxcap_221_done:
+    goto rxcap_225_done
+  rxcap_225_fail:
+    goto rx221_fail
+  rxcap_225_done:
   # rx pass
-    rx217_cur."!cursor_pass"(rx217_pos, "metachar:sym<^>")
-    rx217_cur."!cursor_debug"("PASS  ", "metachar:sym<^>", " at pos=", rx217_pos)
-    .return (rx217_cur)
-  rx217_fail:
+    rx221_cur."!cursor_pass"(rx221_pos, "metachar:sym<^>")
+    rx221_cur."!cursor_debug"("PASS  ", "metachar:sym<^>", " at pos=", rx221_pos)
+    .return (rx221_cur)
+  rx221_fail:
 .annotate "line", 3
-    (rx217_rep, rx217_pos, $I10, $P10) = rx217_cur."!mark_fail"(0)
-    lt rx217_pos, -1, rx217_done
-    eq rx217_pos, -1, rx217_fail
+    (rx221_rep, rx221_pos, $I10, $P10) = rx221_cur."!mark_fail"(0)
+    lt rx221_pos, -1, rx221_done
+    eq rx221_pos, -1, rx221_fail
     jump $I10
-  rx217_done:
-    rx217_cur."!cursor_fail"()
-    rx217_cur."!cursor_debug"("FAIL  ", "metachar:sym<^>")
-    .return (rx217_cur)
+  rx221_done:
+    rx221_cur."!cursor_fail"()
+    rx221_cur."!cursor_debug"("FAIL  ", "metachar:sym<^>")
+    .return (rx221_cur)
     .return ()
 .end
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__metachar:sym<^>"  :subid("62_1259103974.80122") :method
+.sub "!PREFIX__metachar:sym<^>"  :subid("62_1259177736.62303") :method
 .annotate "line", 3
-    new $P219, "ResizablePMCArray"
-    push $P219, "^"
-    .return ($P219)
+    new $P223, "ResizablePMCArray"
+    push $P223, "^"
+    .return ($P223)
 .end
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "metachar:sym<^^>"  :subid("63_1259103974.80122") :method :outer("11_1259103974.80122")
+.sub "metachar:sym<^^>"  :subid("63_1259177736.62303") :method :outer("11_1259177736.62303")
 .annotate "line", 3
-    .local string rx223_tgt
-    .local int rx223_pos
-    .local int rx223_off
-    .local int rx223_eos
-    .local int rx223_rep
-    .local pmc rx223_cur
-    (rx223_cur, rx223_pos, rx223_tgt) = self."!cursor_start"()
-    rx223_cur."!cursor_debug"("START ", "metachar:sym<^^>")
-    .lex unicode:"$\x{a2}", rx223_cur
+    .local string rx227_tgt
+    .local int rx227_pos
+    .local int rx227_off
+    .local int rx227_eos
+    .local int rx227_rep
+    .local pmc rx227_cur
+    (rx227_cur, rx227_pos, rx227_tgt) = self."!cursor_start"()
+    rx227_cur."!cursor_debug"("START ", "metachar:sym<^^>")
+    .lex unicode:"$\x{a2}", rx227_cur
     .local pmc match
     .lex "$/", match
-    length rx223_eos, rx223_tgt
-    set rx223_off, 0
-    lt rx223_pos, 2, rx223_start
-    sub rx223_off, rx223_pos, 1
-    substr rx223_tgt, rx223_tgt, rx223_off
-  rx223_start:
+    length rx227_eos, rx227_tgt
+    set rx227_off, 0
+    lt rx227_pos, 2, rx227_start
+    sub rx227_off, rx227_pos, 1
+    substr rx227_tgt, rx227_tgt, rx227_off
+  rx227_start:
     $I10 = self.'from'()
-    ne $I10, -1, rxscan226_done
-    goto rxscan226_scan
-  rxscan226_loop:
-    ($P10) = rx223_cur."from"()
+    ne $I10, -1, rxscan230_done
+    goto rxscan230_scan
+  rxscan230_loop:
+    ($P10) = rx227_cur."from"()
     inc $P10
-    set rx223_pos, $P10
-    ge rx223_pos, rx223_eos, rxscan226_done
-  rxscan226_scan:
-    set_addr $I10, rxscan226_loop
-    rx223_cur."!mark_push"(0, rx223_pos, $I10)
-  rxscan226_done:
+    set rx227_pos, $P10
+    ge rx227_pos, rx227_eos, rxscan230_done
+  rxscan230_scan:
+    set_addr $I10, rxscan230_loop
+    rx227_cur."!mark_push"(0, rx227_pos, $I10)
+  rxscan230_done:
 .annotate "line", 81
   # rx subcapture "sym"
-    set_addr $I10, rxcap_227_fail
-    rx223_cur."!mark_push"(0, rx223_pos, $I10)
+    set_addr $I10, rxcap_231_fail
+    rx227_cur."!mark_push"(0, rx227_pos, $I10)
   # rx literal  "^^"
-    add $I11, rx223_pos, 2
-    gt $I11, rx223_eos, rx223_fail
-    sub $I11, rx223_pos, rx223_off
-    substr $S10, rx223_tgt, $I11, 2
-    ne $S10, "^^", rx223_fail
-    add rx223_pos, 2
-    set_addr $I10, rxcap_227_fail
-    ($I12, $I11) = rx223_cur."!mark_peek"($I10)
-    rx223_cur."!cursor_pos"($I11)
-    ($P10) = rx223_cur."!cursor_start"()
-    $P10."!cursor_pass"(rx223_pos, "")
-    rx223_cur."!mark_push"(0, -1, 0, $P10)
+    add $I11, rx227_pos, 2
+    gt $I11, rx227_eos, rx227_fail
+    sub $I11, rx227_pos, rx227_off
+    substr $S10, rx227_tgt, $I11, 2
+    ne $S10, "^^", rx227_fail
+    add rx227_pos, 2
+    set_addr $I10, rxcap_231_fail
+    ($I12, $I11) = rx227_cur."!mark_peek"($I10)
+    rx227_cur."!cursor_pos"($I11)
+    ($P10) = rx227_cur."!cursor_start"()
+    $P10."!cursor_pass"(rx227_pos, "")
+    rx227_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("sym")
-    goto rxcap_227_done
-  rxcap_227_fail:
-    goto rx223_fail
-  rxcap_227_done:
+    goto rxcap_231_done
+  rxcap_231_fail:
+    goto rx227_fail
+  rxcap_231_done:
   # rx pass
-    rx223_cur."!cursor_pass"(rx223_pos, "metachar:sym<^^>")
-    rx223_cur."!cursor_debug"("PASS  ", "metachar:sym<^^>", " at pos=", rx223_pos)
-    .return (rx223_cur)
-  rx223_fail:
+    rx227_cur."!cursor_pass"(rx227_pos, "metachar:sym<^^>")
+    rx227_cur."!cursor_debug"("PASS  ", "metachar:sym<^^>", " at pos=", rx227_pos)
+    .return (rx227_cur)
+  rx227_fail:
 .annotate "line", 3
-    (rx223_rep, rx223_pos, $I10, $P10) = rx223_cur."!mark_fail"(0)
-    lt rx223_pos, -1, rx223_done
-    eq rx223_pos, -1, rx223_fail
+    (rx227_rep, rx227_pos, $I10, $P10) = rx227_cur."!mark_fail"(0)
+    lt rx227_pos, -1, rx227_done
+    eq rx227_pos, -1, rx227_fail
     jump $I10
-  rx223_done:
-    rx223_cur."!cursor_fail"()
-    rx223_cur."!cursor_debug"("FAIL  ", "metachar:sym<^^>")
-    .return (rx223_cur)
+  rx227_done:
+    rx227_cur."!cursor_fail"()
+    rx227_cur."!cursor_debug"("FAIL  ", "metachar:sym<^^>")
+    .return (rx227_cur)
     .return ()
 .end
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__metachar:sym<^^>"  :subid("64_1259103974.80122") :method
+.sub "!PREFIX__metachar:sym<^^>"  :subid("64_1259177736.62303") :method
 .annotate "line", 3
-    new $P225, "ResizablePMCArray"
-    push $P225, "^^"
-    .return ($P225)
+    new $P229, "ResizablePMCArray"
+    push $P229, "^^"
+    .return ($P229)
 .end
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "metachar:sym<$>"  :subid("65_1259103974.80122") :method :outer("11_1259103974.80122")
+.sub "metachar:sym<$>"  :subid("65_1259177736.62303") :method :outer("11_1259177736.62303")
 .annotate "line", 3
-    .local string rx229_tgt
-    .local int rx229_pos
-    .local int rx229_off
-    .local int rx229_eos
-    .local int rx229_rep
-    .local pmc rx229_cur
-    (rx229_cur, rx229_pos, rx229_tgt) = self."!cursor_start"()
-    rx229_cur."!cursor_debug"("START ", "metachar:sym<$>")
-    .lex unicode:"$\x{a2}", rx229_cur
+    .local string rx233_tgt
+    .local int rx233_pos
+    .local int rx233_off
+    .local int rx233_eos
+    .local int rx233_rep
+    .local pmc rx233_cur
+    (rx233_cur, rx233_pos, rx233_tgt) = self."!cursor_start"()
+    rx233_cur."!cursor_debug"("START ", "metachar:sym<$>")
+    .lex unicode:"$\x{a2}", rx233_cur
     .local pmc match
     .lex "$/", match
-    length rx229_eos, rx229_tgt
-    set rx229_off, 0
-    lt rx229_pos, 2, rx229_start
-    sub rx229_off, rx229_pos, 1
-    substr rx229_tgt, rx229_tgt, rx229_off
-  rx229_start:
+    length rx233_eos, rx233_tgt
+    set rx233_off, 0
+    lt rx233_pos, 2, rx233_start
+    sub rx233_off, rx233_pos, 1
+    substr rx233_tgt, rx233_tgt, rx233_off
+  rx233_start:
     $I10 = self.'from'()
-    ne $I10, -1, rxscan232_done
-    goto rxscan232_scan
-  rxscan232_loop:
-    ($P10) = rx229_cur."from"()
+    ne $I10, -1, rxscan236_done
+    goto rxscan236_scan
+  rxscan236_loop:
+    ($P10) = rx233_cur."from"()
     inc $P10
-    set rx229_pos, $P10
-    ge rx229_pos, rx229_eos, rxscan232_done
-  rxscan232_scan:
-    set_addr $I10, rxscan232_loop
-    rx229_cur."!mark_push"(0, rx229_pos, $I10)
-  rxscan232_done:
+    set rx233_pos, $P10
+    ge rx233_pos, rx233_eos, rxscan236_done
+  rxscan236_scan:
+    set_addr $I10, rxscan236_loop
+    rx233_cur."!mark_push"(0, rx233_pos, $I10)
+  rxscan236_done:
 .annotate "line", 82
   # rx subcapture "sym"
-    set_addr $I10, rxcap_233_fail
-    rx229_cur."!mark_push"(0, rx229_pos, $I10)
+    set_addr $I10, rxcap_237_fail
+    rx233_cur."!mark_push"(0, rx233_pos, $I10)
   # rx literal  "$"
-    add $I11, rx229_pos, 1
-    gt $I11, rx229_eos, rx229_fail
-    sub $I11, rx229_pos, rx229_off
-    substr $S10, rx229_tgt, $I11, 1
-    ne $S10, "$", rx229_fail
-    add rx229_pos, 1
-    set_addr $I10, rxcap_233_fail
-    ($I12, $I11) = rx229_cur."!mark_peek"($I10)
-    rx229_cur."!cursor_pos"($I11)
-    ($P10) = rx229_cur."!cursor_start"()
-    $P10."!cursor_pass"(rx229_pos, "")
-    rx229_cur."!mark_push"(0, -1, 0, $P10)
+    add $I11, rx233_pos, 1
+    gt $I11, rx233_eos, rx233_fail
+    sub $I11, rx233_pos, rx233_off
+    substr $S10, rx233_tgt, $I11, 1
+    ne $S10, "$", rx233_fail
+    add rx233_pos, 1
+    set_addr $I10, rxcap_237_fail
+    ($I12, $I11) = rx233_cur."!mark_peek"($I10)
+    rx233_cur."!cursor_pos"($I11)
+    ($P10) = rx233_cur."!cursor_start"()
+    $P10."!cursor_pass"(rx233_pos, "")
+    rx233_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("sym")
-    goto rxcap_233_done
-  rxcap_233_fail:
-    goto rx229_fail
-  rxcap_233_done:
+    goto rxcap_237_done
+  rxcap_237_fail:
+    goto rx233_fail
+  rxcap_237_done:
   # rx pass
-    rx229_cur."!cursor_pass"(rx229_pos, "metachar:sym<$>")
-    rx229_cur."!cursor_debug"("PASS  ", "metachar:sym<$>", " at pos=", rx229_pos)
-    .return (rx229_cur)
-  rx229_fail:
+    rx233_cur."!cursor_pass"(rx233_pos, "metachar:sym<$>")
+    rx233_cur."!cursor_debug"("PASS  ", "metachar:sym<$>", " at pos=", rx233_pos)
+    .return (rx233_cur)
+  rx233_fail:
 .annotate "line", 3
-    (rx229_rep, rx229_pos, $I10, $P10) = rx229_cur."!mark_fail"(0)
-    lt rx229_pos, -1, rx229_done
-    eq rx229_pos, -1, rx229_fail
+    (rx233_rep, rx233_pos, $I10, $P10) = rx233_cur."!mark_fail"(0)
+    lt rx233_pos, -1, rx233_done
+    eq rx233_pos, -1, rx233_fail
     jump $I10
-  rx229_done:
-    rx229_cur."!cursor_fail"()
-    rx229_cur."!cursor_debug"("FAIL  ", "metachar:sym<$>")
-    .return (rx229_cur)
+  rx233_done:
+    rx233_cur."!cursor_fail"()
+    rx233_cur."!cursor_debug"("FAIL  ", "metachar:sym<$>")
+    .return (rx233_cur)
     .return ()
 .end
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__metachar:sym<$>"  :subid("66_1259103974.80122") :method
+.sub "!PREFIX__metachar:sym<$>"  :subid("66_1259177736.62303") :method
 .annotate "line", 3
-    new $P231, "ResizablePMCArray"
-    push $P231, "$"
-    .return ($P231)
+    new $P235, "ResizablePMCArray"
+    push $P235, "$"
+    .return ($P235)
 .end
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "metachar:sym<$$>"  :subid("67_1259103974.80122") :method :outer("11_1259103974.80122")
+.sub "metachar:sym<$$>"  :subid("67_1259177736.62303") :method :outer("11_1259177736.62303")
 .annotate "line", 3
-    .local string rx235_tgt
-    .local int rx235_pos
-    .local int rx235_off
-    .local int rx235_eos
-    .local int rx235_rep
-    .local pmc rx235_cur
-    (rx235_cur, rx235_pos, rx235_tgt) = self."!cursor_start"()
-    rx235_cur."!cursor_debug"("START ", "metachar:sym<$$>")
-    .lex unicode:"$\x{a2}", rx235_cur
+    .local string rx239_tgt
+    .local int rx239_pos
+    .local int rx239_off
+    .local int rx239_eos
+    .local int rx239_rep
+    .local pmc rx239_cur
+    (rx239_cur, rx239_pos, rx239_tgt) = self."!cursor_start"()
+    rx239_cur."!cursor_debug"("START ", "metachar:sym<$$>")
+    .lex unicode:"$\x{a2}", rx239_cur
     .local pmc match
     .lex "$/", match
-    length rx235_eos, rx235_tgt
-    set rx235_off, 0
-    lt rx235_pos, 2, rx235_start
-    sub rx235_off, rx235_pos, 1
-    substr rx235_tgt, rx235_tgt, rx235_off
-  rx235_start:
+    length rx239_eos, rx239_tgt
+    set rx239_off, 0
+    lt rx239_pos, 2, rx239_start
+    sub rx239_off, rx239_pos, 1
+    substr rx239_tgt, rx239_tgt, rx239_off
+  rx239_start:
     $I10 = self.'from'()
-    ne $I10, -1, rxscan238_done
-    goto rxscan238_scan
-  rxscan238_loop:
-    ($P10) = rx235_cur."from"()
+    ne $I10, -1, rxscan242_done
+    goto rxscan242_scan
+  rxscan242_loop:
+    ($P10) = rx239_cur."from"()
     inc $P10
-    set rx235_pos, $P10
-    ge rx235_pos, rx235_eos, rxscan238_done
-  rxscan238_scan:
-    set_addr $I10, rxscan238_loop
-    rx235_cur."!mark_push"(0, rx235_pos, $I10)
-  rxscan238_done:
+    set rx239_pos, $P10
+    ge rx239_pos, rx239_eos, rxscan242_done
+  rxscan242_scan:
+    set_addr $I10, rxscan242_loop
+    rx239_cur."!mark_push"(0, rx239_pos, $I10)
+  rxscan242_done:
 .annotate "line", 83
   # rx subcapture "sym"
-    set_addr $I10, rxcap_239_fail
-    rx235_cur."!mark_push"(0, rx235_pos, $I10)
+    set_addr $I10, rxcap_243_fail
+    rx239_cur."!mark_push"(0, rx239_pos, $I10)
   # rx literal  "$$"
-    add $I11, rx235_pos, 2
-    gt $I11, rx235_eos, rx235_fail
-    sub $I11, rx235_pos, rx235_off
-    substr $S10, rx235_tgt, $I11, 2
-    ne $S10, "$$", rx235_fail
-    add rx235_pos, 2
-    set_addr $I10, rxcap_239_fail
-    ($I12, $I11) = rx235_cur."!mark_peek"($I10)
-    rx235_cur."!cursor_pos"($I11)
-    ($P10) = rx235_cur."!cursor_start"()
-    $P10."!cursor_pass"(rx235_pos, "")
-    rx235_cur."!mark_push"(0, -1, 0, $P10)
+    add $I11, rx239_pos, 2
+    gt $I11, rx239_eos, rx239_fail
+    sub $I11, rx239_pos, rx239_off
+    substr $S10, rx239_tgt, $I11, 2
+    ne $S10, "$$", rx239_fail
+    add rx239_pos, 2
+    set_addr $I10, rxcap_243_fail
+    ($I12, $I11) = rx239_cur."!mark_peek"($I10)
+    rx239_cur."!cursor_pos"($I11)
+    ($P10) = rx239_cur."!cursor_start"()
+    $P10."!cursor_pass"(rx239_pos, "")
+    rx239_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("sym")
-    goto rxcap_239_done
-  rxcap_239_fail:
-    goto rx235_fail
-  rxcap_239_done:
+    goto rxcap_243_done
+  rxcap_243_fail:
+    goto rx239_fail
+  rxcap_243_done:
   # rx pass
-    rx235_cur."!cursor_pass"(rx235_pos, "metachar:sym<$$>")
-    rx235_cur."!cursor_debug"("PASS  ", "metachar:sym<$$>", " at pos=", rx235_pos)
-    .return (rx235_cur)
-  rx235_fail:
+    rx239_cur."!cursor_pass"(rx239_pos, "metachar:sym<$$>")
+    rx239_cur."!cursor_debug"("PASS  ", "metachar:sym<$$>", " at pos=", rx239_pos)
+    .return (rx239_cur)
+  rx239_fail:
 .annotate "line", 3
-    (rx235_rep, rx235_pos, $I10, $P10) = rx235_cur."!mark_fail"(0)
-    lt rx235_pos, -1, rx235_done
-    eq rx235_pos, -1, rx235_fail
+    (rx239_rep, rx239_pos, $I10, $P10) = rx239_cur."!mark_fail"(0)
+    lt rx239_pos, -1, rx239_done
+    eq rx239_pos, -1, rx239_fail
     jump $I10
-  rx235_done:
-    rx235_cur."!cursor_fail"()
-    rx235_cur."!cursor_debug"("FAIL  ", "metachar:sym<$$>")
-    .return (rx235_cur)
+  rx239_done:
+    rx239_cur."!cursor_fail"()
+    rx239_cur."!cursor_debug"("FAIL  ", "metachar:sym<$$>")
+    .return (rx239_cur)
     .return ()
 .end
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__metachar:sym<$$>"  :subid("68_1259103974.80122") :method
+.sub "!PREFIX__metachar:sym<$$>"  :subid("68_1259177736.62303") :method
 .annotate "line", 3
-    new $P237, "ResizablePMCArray"
-    push $P237, "$$"
-    .return ($P237)
+    new $P241, "ResizablePMCArray"
+    push $P241, "$$"
+    .return ($P241)
 .end
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "metachar:sym<:::>"  :subid("69_1259103974.80122") :method :outer("11_1259103974.80122")
+.sub "metachar:sym<:::>"  :subid("69_1259177736.62303") :method :outer("11_1259177736.62303")
 .annotate "line", 3
-    .local string rx241_tgt
-    .local int rx241_pos
-    .local int rx241_off
-    .local int rx241_eos
-    .local int rx241_rep
-    .local pmc rx241_cur
-    (rx241_cur, rx241_pos, rx241_tgt) = self."!cursor_start"()
-    rx241_cur."!cursor_debug"("START ", "metachar:sym<:::>")
-    .lex unicode:"$\x{a2}", rx241_cur
+    .local string rx245_tgt
+    .local int rx245_pos
+    .local int rx245_off
+    .local int rx245_eos
+    .local int rx245_rep
+    .local pmc rx245_cur
+    (rx245_cur, rx245_pos, rx245_tgt) = self."!cursor_start"()
+    rx245_cur."!cursor_debug"("START ", "metachar:sym<:::>")
+    .lex unicode:"$\x{a2}", rx245_cur
     .local pmc match
     .lex "$/", match
-    length rx241_eos, rx241_tgt
-    set rx241_off, 0
-    lt rx241_pos, 2, rx241_start
-    sub rx241_off, rx241_pos, 1
-    substr rx241_tgt, rx241_tgt, rx241_off
-  rx241_start:
+    length rx245_eos, rx245_tgt
+    set rx245_off, 0
+    lt rx245_pos, 2, rx245_start
+    sub rx245_off, rx245_pos, 1
+    substr rx245_tgt, rx245_tgt, rx245_off
+  rx245_start:
     $I10 = self.'from'()
-    ne $I10, -1, rxscan245_done
-    goto rxscan245_scan
-  rxscan245_loop:
-    ($P10) = rx241_cur."from"()
+    ne $I10, -1, rxscan249_done
+    goto rxscan249_scan
+  rxscan249_loop:
+    ($P10) = rx245_cur."from"()
     inc $P10
-    set rx241_pos, $P10
-    ge rx241_pos, rx241_eos, rxscan245_done
-  rxscan245_scan:
-    set_addr $I10, rxscan245_loop
-    rx241_cur."!mark_push"(0, rx241_pos, $I10)
-  rxscan245_done:
+    set rx245_pos, $P10
+    ge rx245_pos, rx245_eos, rxscan249_done
+  rxscan249_scan:
+    set_addr $I10, rxscan249_loop
+    rx245_cur."!mark_push"(0, rx245_pos, $I10)
+  rxscan249_done:
 .annotate "line", 84
   # rx subcapture "sym"
-    set_addr $I10, rxcap_246_fail
-    rx241_cur."!mark_push"(0, rx241_pos, $I10)
+    set_addr $I10, rxcap_250_fail
+    rx245_cur."!mark_push"(0, rx245_pos, $I10)
   # rx literal  ":::"
-    add $I11, rx241_pos, 3
-    gt $I11, rx241_eos, rx241_fail
-    sub $I11, rx241_pos, rx241_off
-    substr $S10, rx241_tgt, $I11, 3
-    ne $S10, ":::", rx241_fail
-    add rx241_pos, 3
-    set_addr $I10, rxcap_246_fail
-    ($I12, $I11) = rx241_cur."!mark_peek"($I10)
-    rx241_cur."!cursor_pos"($I11)
-    ($P10) = rx241_cur."!cursor_start"()
-    $P10."!cursor_pass"(rx241_pos, "")
-    rx241_cur."!mark_push"(0, -1, 0, $P10)
+    add $I11, rx245_pos, 3
+    gt $I11, rx245_eos, rx245_fail
+    sub $I11, rx245_pos, rx245_off
+    substr $S10, rx245_tgt, $I11, 3
+    ne $S10, ":::", rx245_fail
+    add rx245_pos, 3
+    set_addr $I10, rxcap_250_fail
+    ($I12, $I11) = rx245_cur."!mark_peek"($I10)
+    rx245_cur."!cursor_pos"($I11)
+    ($P10) = rx245_cur."!cursor_start"()
+    $P10."!cursor_pass"(rx245_pos, "")
+    rx245_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("sym")
-    goto rxcap_246_done
-  rxcap_246_fail:
-    goto rx241_fail
-  rxcap_246_done:
+    goto rxcap_250_done
+  rxcap_250_fail:
+    goto rx245_fail
+  rxcap_250_done:
   # rx subrule "panic" subtype=method negate=
-    rx241_cur."!cursor_pos"(rx241_pos)
-    $P10 = rx241_cur."panic"("::: not yet implemented")
-    unless $P10, rx241_fail
-    rx241_pos = $P10."pos"()
+    rx245_cur."!cursor_pos"(rx245_pos)
+    $P10 = rx245_cur."panic"("::: not yet implemented")
+    unless $P10, rx245_fail
+    rx245_pos = $P10."pos"()
   # rx pass
-    rx241_cur."!cursor_pass"(rx241_pos, "metachar:sym<:::>")
-    rx241_cur."!cursor_debug"("PASS  ", "metachar:sym<:::>", " at pos=", rx241_pos)
-    .return (rx241_cur)
-  rx241_fail:
+    rx245_cur."!cursor_pass"(rx245_pos, "metachar:sym<:::>")
+    rx245_cur."!cursor_debug"("PASS  ", "metachar:sym<:::>", " at pos=", rx245_pos)
+    .return (rx245_cur)
+  rx245_fail:
 .annotate "line", 3
-    (rx241_rep, rx241_pos, $I10, $P10) = rx241_cur."!mark_fail"(0)
-    lt rx241_pos, -1, rx241_done
-    eq rx241_pos, -1, rx241_fail
+    (rx245_rep, rx245_pos, $I10, $P10) = rx245_cur."!mark_fail"(0)
+    lt rx245_pos, -1, rx245_done
+    eq rx245_pos, -1, rx245_fail
     jump $I10
-  rx241_done:
-    rx241_cur."!cursor_fail"()
-    rx241_cur."!cursor_debug"("FAIL  ", "metachar:sym<:::>")
-    .return (rx241_cur)
+  rx245_done:
+    rx245_cur."!cursor_fail"()
+    rx245_cur."!cursor_debug"("FAIL  ", "metachar:sym<:::>")
+    .return (rx245_cur)
     .return ()
 .end
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__metachar:sym<:::>"  :subid("70_1259103974.80122") :method
+.sub "!PREFIX__metachar:sym<:::>"  :subid("70_1259177736.62303") :method
 .annotate "line", 3
-    $P243 = self."!PREFIX__!subrule"("", ":::")
-    new $P244, "ResizablePMCArray"
-    push $P244, $P243
-    .return ($P244)
+    $P247 = self."!PREFIX__!subrule"("", ":::")
+    new $P248, "ResizablePMCArray"
+    push $P248, $P247
+    .return ($P248)
 .end
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "metachar:sym<::>"  :subid("71_1259103974.80122") :method :outer("11_1259103974.80122")
+.sub "metachar:sym<::>"  :subid("71_1259177736.62303") :method :outer("11_1259177736.62303")
 .annotate "line", 3
-    .local string rx248_tgt
-    .local int rx248_pos
-    .local int rx248_off
-    .local int rx248_eos
-    .local int rx248_rep
-    .local pmc rx248_cur
-    (rx248_cur, rx248_pos, rx248_tgt) = self."!cursor_start"()
-    rx248_cur."!cursor_debug"("START ", "metachar:sym<::>")
-    .lex unicode:"$\x{a2}", rx248_cur
+    .local string rx252_tgt
+    .local int rx252_pos
+    .local int rx252_off
+    .local int rx252_eos
+    .local int rx252_rep
+    .local pmc rx252_cur
+    (rx252_cur, rx252_pos, rx252_tgt) = self."!cursor_start"()
+    rx252_cur."!cursor_debug"("START ", "metachar:sym<::>")
+    .lex unicode:"$\x{a2}", rx252_cur
     .local pmc match
     .lex "$/", match
-    length rx248_eos, rx248_tgt
-    set rx248_off, 0
-    lt rx248_pos, 2, rx248_start
-    sub rx248_off, rx248_pos, 1
-    substr rx248_tgt, rx248_tgt, rx248_off
-  rx248_start:
+    length rx252_eos, rx252_tgt
+    set rx252_off, 0
+    lt rx252_pos, 2, rx252_start
+    sub rx252_off, rx252_pos, 1
+    substr rx252_tgt, rx252_tgt, rx252_off
+  rx252_start:
     $I10 = self.'from'()
-    ne $I10, -1, rxscan252_done
-    goto rxscan252_scan
-  rxscan252_loop:
-    ($P10) = rx248_cur."from"()
+    ne $I10, -1, rxscan256_done
+    goto rxscan256_scan
+  rxscan256_loop:
+    ($P10) = rx252_cur."from"()
     inc $P10
-    set rx248_pos, $P10
-    ge rx248_pos, rx248_eos, rxscan252_done
-  rxscan252_scan:
-    set_addr $I10, rxscan252_loop
-    rx248_cur."!mark_push"(0, rx248_pos, $I10)
-  rxscan252_done:
+    set rx252_pos, $P10
+    ge rx252_pos, rx252_eos, rxscan256_done
+  rxscan256_scan:
+    set_addr $I10, rxscan256_loop
+    rx252_cur."!mark_push"(0, rx252_pos, $I10)
+  rxscan256_done:
 .annotate "line", 85
   # rx subcapture "sym"
-    set_addr $I10, rxcap_253_fail
-    rx248_cur."!mark_push"(0, rx248_pos, $I10)
+    set_addr $I10, rxcap_257_fail
+    rx252_cur."!mark_push"(0, rx252_pos, $I10)
   # rx literal  "::"
-    add $I11, rx248_pos, 2
-    gt $I11, rx248_eos, rx248_fail
-    sub $I11, rx248_pos, rx248_off
-    substr $S10, rx248_tgt, $I11, 2
-    ne $S10, "::", rx248_fail
-    add rx248_pos, 2
-    set_addr $I10, rxcap_253_fail
-    ($I12, $I11) = rx248_cur."!mark_peek"($I10)
-    rx248_cur."!cursor_pos"($I11)
-    ($P10) = rx248_cur."!cursor_start"()
-    $P10."!cursor_pass"(rx248_pos, "")
-    rx248_cur."!mark_push"(0, -1, 0, $P10)
+    add $I11, rx252_pos, 2
+    gt $I11, rx252_eos, rx252_fail
+    sub $I11, rx252_pos, rx252_off
+    substr $S10, rx252_tgt, $I11, 2
+    ne $S10, "::", rx252_fail
+    add rx252_pos, 2
+    set_addr $I10, rxcap_257_fail
+    ($I12, $I11) = rx252_cur."!mark_peek"($I10)
+    rx252_cur."!cursor_pos"($I11)
+    ($P10) = rx252_cur."!cursor_start"()
+    $P10."!cursor_pass"(rx252_pos, "")
+    rx252_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("sym")
-    goto rxcap_253_done
-  rxcap_253_fail:
-    goto rx248_fail
-  rxcap_253_done:
+    goto rxcap_257_done
+  rxcap_257_fail:
+    goto rx252_fail
+  rxcap_257_done:
   # rx subrule "panic" subtype=method negate=
-    rx248_cur."!cursor_pos"(rx248_pos)
-    $P10 = rx248_cur."panic"(":: not yet implemented")
-    unless $P10, rx248_fail
-    rx248_pos = $P10."pos"()
+    rx252_cur."!cursor_pos"(rx252_pos)
+    $P10 = rx252_cur."panic"(":: not yet implemented")
+    unless $P10, rx252_fail
+    rx252_pos = $P10."pos"()
   # rx pass
-    rx248_cur."!cursor_pass"(rx248_pos, "metachar:sym<::>")
-    rx248_cur."!cursor_debug"("PASS  ", "metachar:sym<::>", " at pos=", rx248_pos)
-    .return (rx248_cur)
-  rx248_fail:
+    rx252_cur."!cursor_pass"(rx252_pos, "metachar:sym<::>")
+    rx252_cur."!cursor_debug"("PASS  ", "metachar:sym<::>", " at pos=", rx252_pos)
+    .return (rx252_cur)
+  rx252_fail:
 .annotate "line", 3
-    (rx248_rep, rx248_pos, $I10, $P10) = rx248_cur."!mark_fail"(0)
-    lt rx248_pos, -1, rx248_done
-    eq rx248_pos, -1, rx248_fail
+    (rx252_rep, rx252_pos, $I10, $P10) = rx252_cur."!mark_fail"(0)
+    lt rx252_pos, -1, rx252_done
+    eq rx252_pos, -1, rx252_fail
     jump $I10
-  rx248_done:
-    rx248_cur."!cursor_fail"()
-    rx248_cur."!cursor_debug"("FAIL  ", "metachar:sym<::>")
-    .return (rx248_cur)
+  rx252_done:
+    rx252_cur."!cursor_fail"()
+    rx252_cur."!cursor_debug"("FAIL  ", "metachar:sym<::>")
+    .return (rx252_cur)
     .return ()
 .end
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__metachar:sym<::>"  :subid("72_1259103974.80122") :method
+.sub "!PREFIX__metachar:sym<::>"  :subid("72_1259177736.62303") :method
 .annotate "line", 3
-    $P250 = self."!PREFIX__!subrule"("", "::")
-    new $P251, "ResizablePMCArray"
-    push $P251, $P250
-    .return ($P251)
+    $P254 = self."!PREFIX__!subrule"("", "::")
+    new $P255, "ResizablePMCArray"
+    push $P255, $P254
+    .return ($P255)
 .end
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "metachar:sym<lwb>"  :subid("73_1259103974.80122") :method :outer("11_1259103974.80122")
+.sub "metachar:sym<lwb>"  :subid("73_1259177736.62303") :method :outer("11_1259177736.62303")
 .annotate "line", 3
-    .local string rx255_tgt
-    .local int rx255_pos
-    .local int rx255_off
-    .local int rx255_eos
-    .local int rx255_rep
-    .local pmc rx255_cur
-    (rx255_cur, rx255_pos, rx255_tgt) = self."!cursor_start"()
-    rx255_cur."!cursor_debug"("START ", "metachar:sym<lwb>")
-    .lex unicode:"$\x{a2}", rx255_cur
+    .local string rx259_tgt
+    .local int rx259_pos
+    .local int rx259_off
+    .local int rx259_eos
+    .local int rx259_rep
+    .local pmc rx259_cur
+    (rx259_cur, rx259_pos, rx259_tgt) = self."!cursor_start"()
+    rx259_cur."!cursor_debug"("START ", "metachar:sym<lwb>")
+    .lex unicode:"$\x{a2}", rx259_cur
     .local pmc match
     .lex "$/", match
-    length rx255_eos, rx255_tgt
-    set rx255_off, 0
-    lt rx255_pos, 2, rx255_start
-    sub rx255_off, rx255_pos, 1
-    substr rx255_tgt, rx255_tgt, rx255_off
-  rx255_start:
+    length rx259_eos, rx259_tgt
+    set rx259_off, 0
+    lt rx259_pos, 2, rx259_start
+    sub rx259_off, rx259_pos, 1
+    substr rx259_tgt, rx259_tgt, rx259_off
+  rx259_start:
     $I10 = self.'from'()
-    ne $I10, -1, rxscan258_done
-    goto rxscan258_scan
-  rxscan258_loop:
-    ($P10) = rx255_cur."from"()
+    ne $I10, -1, rxscan262_done
+    goto rxscan262_scan
+  rxscan262_loop:
+    ($P10) = rx259_cur."from"()
     inc $P10
-    set rx255_pos, $P10
-    ge rx255_pos, rx255_eos, rxscan258_done
-  rxscan258_scan:
-    set_addr $I10, rxscan258_loop
-    rx255_cur."!mark_push"(0, rx255_pos, $I10)
-  rxscan258_done:
+    set rx259_pos, $P10
+    ge rx259_pos, rx259_eos, rxscan262_done
+  rxscan262_scan:
+    set_addr $I10, rxscan262_loop
+    rx259_cur."!mark_push"(0, rx259_pos, $I10)
+  rxscan262_done:
 .annotate "line", 86
   # rx subcapture "sym"
-    set_addr $I10, rxcap_260_fail
-    rx255_cur."!mark_push"(0, rx255_pos, $I10)
-  alt259_0:
-    set_addr $I10, alt259_1
-    rx255_cur."!mark_push"(0, rx255_pos, $I10)
+    set_addr $I10, rxcap_264_fail
+    rx259_cur."!mark_push"(0, rx259_pos, $I10)
+  alt263_0:
+    set_addr $I10, alt263_1
+    rx259_cur."!mark_push"(0, rx259_pos, $I10)
   # rx literal  "<<"
-    add $I11, rx255_pos, 2
-    gt $I11, rx255_eos, rx255_fail
-    sub $I11, rx255_pos, rx255_off
-    substr $S10, rx255_tgt, $I11, 2
-    ne $S10, "<<", rx255_fail
-    add rx255_pos, 2
-    goto alt259_end
-  alt259_1:
+    add $I11, rx259_pos, 2
+    gt $I11, rx259_eos, rx259_fail
+    sub $I11, rx259_pos, rx259_off
+    substr $S10, rx259_tgt, $I11, 2
+    ne $S10, "<<", rx259_fail
+    add rx259_pos, 2
+    goto alt263_end
+  alt263_1:
   # rx literal  unicode:"\x{ab}"
-    add $I11, rx255_pos, 1
-    gt $I11, rx255_eos, rx255_fail
-    sub $I11, rx255_pos, rx255_off
-    substr $S10, rx255_tgt, $I11, 1
-    ne $S10, unicode:"\x{ab}", rx255_fail
-    add rx255_pos, 1
-  alt259_end:
-    set_addr $I10, rxcap_260_fail
-    ($I12, $I11) = rx255_cur."!mark_peek"($I10)
-    rx255_cur."!cursor_pos"($I11)
-    ($P10) = rx255_cur."!cursor_start"()
-    $P10."!cursor_pass"(rx255_pos, "")
-    rx255_cur."!mark_push"(0, -1, 0, $P10)
+    add $I11, rx259_pos, 1
+    gt $I11, rx259_eos, rx259_fail
+    sub $I11, rx259_pos, rx259_off
+    substr $S10, rx259_tgt, $I11, 1
+    ne $S10, unicode:"\x{ab}", rx259_fail
+    add rx259_pos, 1
+  alt263_end:
+    set_addr $I10, rxcap_264_fail
+    ($I12, $I11) = rx259_cur."!mark_peek"($I10)
+    rx259_cur."!cursor_pos"($I11)
+    ($P10) = rx259_cur."!cursor_start"()
+    $P10."!cursor_pass"(rx259_pos, "")
+    rx259_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("sym")
-    goto rxcap_260_done
-  rxcap_260_fail:
-    goto rx255_fail
-  rxcap_260_done:
+    goto rxcap_264_done
+  rxcap_264_fail:
+    goto rx259_fail
+  rxcap_264_done:
   # rx pass
-    rx255_cur."!cursor_pass"(rx255_pos, "metachar:sym<lwb>")
-    rx255_cur."!cursor_debug"("PASS  ", "metachar:sym<lwb>", " at pos=", rx255_pos)
-    .return (rx255_cur)
-  rx255_fail:
+    rx259_cur."!cursor_pass"(rx259_pos, "metachar:sym<lwb>")
+    rx259_cur."!cursor_debug"("PASS  ", "metachar:sym<lwb>", " at pos=", rx259_pos)
+    .return (rx259_cur)
+  rx259_fail:
 .annotate "line", 3
-    (rx255_rep, rx255_pos, $I10, $P10) = rx255_cur."!mark_fail"(0)
-    lt rx255_pos, -1, rx255_done
-    eq rx255_pos, -1, rx255_fail
+    (rx259_rep, rx259_pos, $I10, $P10) = rx259_cur."!mark_fail"(0)
+    lt rx259_pos, -1, rx259_done
+    eq rx259_pos, -1, rx259_fail
     jump $I10
-  rx255_done:
-    rx255_cur."!cursor_fail"()
-    rx255_cur."!cursor_debug"("FAIL  ", "metachar:sym<lwb>")
-    .return (rx255_cur)
+  rx259_done:
+    rx259_cur."!cursor_fail"()
+    rx259_cur."!cursor_debug"("FAIL  ", "metachar:sym<lwb>")
+    .return (rx259_cur)
     .return ()
 .end
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__metachar:sym<lwb>"  :subid("74_1259103974.80122") :method
+.sub "!PREFIX__metachar:sym<lwb>"  :subid("74_1259177736.62303") :method
 .annotate "line", 3
-    new $P257, "ResizablePMCArray"
-    push $P257, unicode:"\x{ab}"
-    push $P257, "<<"
-    .return ($P257)
+    new $P261, "ResizablePMCArray"
+    push $P261, unicode:"\x{ab}"
+    push $P261, "<<"
+    .return ($P261)
 .end
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "metachar:sym<rwb>"  :subid("75_1259103974.80122") :method :outer("11_1259103974.80122")
+.sub "metachar:sym<rwb>"  :subid("75_1259177736.62303") :method :outer("11_1259177736.62303")
 .annotate "line", 3
-    .local string rx262_tgt
-    .local int rx262_pos
-    .local int rx262_off
-    .local int rx262_eos
-    .local int rx262_rep
-    .local pmc rx262_cur
-    (rx262_cur, rx262_pos, rx262_tgt) = self."!cursor_start"()
-    rx262_cur."!cursor_debug"("START ", "metachar:sym<rwb>")
-    .lex unicode:"$\x{a2}", rx262_cur
+    .local string rx266_tgt
+    .local int rx266_pos
+    .local int rx266_off
+    .local int rx266_eos
+    .local int rx266_rep
+    .local pmc rx266_cur
+    (rx266_cur, rx266_pos, rx266_tgt) = self."!cursor_start"()
+    rx266_cur."!cursor_debug"("START ", "metachar:sym<rwb>")
+    .lex unicode:"$\x{a2}", rx266_cur
     .local pmc match
     .lex "$/", match
-    length rx262_eos, rx262_tgt
-    set rx262_off, 0
-    lt rx262_pos, 2, rx262_start
-    sub rx262_off, rx262_pos, 1
-    substr rx262_tgt, rx262_tgt, rx262_off
-  rx262_start:
+    length rx266_eos, rx266_tgt
+    set rx266_off, 0
+    lt rx266_pos, 2, rx266_start
+    sub rx266_off, rx266_pos, 1
+    substr rx266_tgt, rx266_tgt, rx266_off
+  rx266_start:
     $I10 = self.'from'()
-    ne $I10, -1, rxscan265_done
-    goto rxscan265_scan
-  rxscan265_loop:
-    ($P10) = rx262_cur."from"()
+    ne $I10, -1, rxscan269_done
+    goto rxscan269_scan
+  rxscan269_loop:
+    ($P10) = rx266_cur."from"()
     inc $P10
-    set rx262_pos, $P10
-    ge rx262_pos, rx262_eos, rxscan265_done
-  rxscan265_scan:
-    set_addr $I10, rxscan265_loop
-    rx262_cur."!mark_push"(0, rx262_pos, $I10)
-  rxscan265_done:
+    set rx266_pos, $P10
+    ge rx266_pos, rx266_eos, rxscan269_done
+  rxscan269_scan:
+    set_addr $I10, rxscan269_loop
+    rx266_cur."!mark_push"(0, rx266_pos, $I10)
+  rxscan269_done:
 .annotate "line", 87
   # rx subcapture "sym"
-    set_addr $I10, rxcap_267_fail
-    rx262_cur."!mark_push"(0, rx262_pos, $I10)
-  alt266_0:
-    set_addr $I10, alt266_1
-    rx262_cur."!mark_push"(0, rx262_pos, $I10)
+    set_addr $I10, rxcap_271_fail
+    rx266_cur."!mark_push"(0, rx266_pos, $I10)
+  alt270_0:
+    set_addr $I10, alt270_1
+    rx266_cur."!mark_push"(0, rx266_pos, $I10)
   # rx literal  ">>"
-    add $I11, rx262_pos, 2
-    gt $I11, rx262_eos, rx262_fail
-    sub $I11, rx262_pos, rx262_off
-    substr $S10, rx262_tgt, $I11, 2
-    ne $S10, ">>", rx262_fail
-    add rx262_pos, 2
-    goto alt266_end
-  alt266_1:
+    add $I11, rx266_pos, 2
+    gt $I11, rx266_eos, rx266_fail
+    sub $I11, rx266_pos, rx266_off
+    substr $S10, rx266_tgt, $I11, 2
+    ne $S10, ">>", rx266_fail
+    add rx266_pos, 2
+    goto alt270_end
+  alt270_1:
   # rx literal  unicode:"\x{bb}"
-    add $I11, rx262_pos, 1
-    gt $I11, rx262_eos, rx262_fail
-    sub $I11, rx262_pos, rx262_off
-    substr $S10, rx262_tgt, $I11, 1
-    ne $S10, unicode:"\x{bb}", rx262_fail
-    add rx262_pos, 1
-  alt266_end:
-    set_addr $I10, rxcap_267_fail
-    ($I12, $I11) = rx262_cur."!mark_peek"($I10)
-    rx262_cur."!cursor_pos"($I11)
-    ($P10) = rx262_cur."!cursor_start"()
-    $P10."!cursor_pass"(rx262_pos, "")
-    rx262_cur."!mark_push"(0, -1, 0, $P10)
+    add $I11, rx266_pos, 1
+    gt $I11, rx266_eos, rx266_fail
+    sub $I11, rx266_pos, rx266_off
+    substr $S10, rx266_tgt, $I11, 1
+    ne $S10, unicode:"\x{bb}", rx266_fail
+    add rx266_pos, 1
+  alt270_end:
+    set_addr $I10, rxcap_271_fail
+    ($I12, $I11) = rx266_cur."!mark_peek"($I10)
+    rx266_cur."!cursor_pos"($I11)
+    ($P10) = rx266_cur."!cursor_start"()
+    $P10."!cursor_pass"(rx266_pos, "")
+    rx266_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("sym")
-    goto rxcap_267_done
-  rxcap_267_fail:
-    goto rx262_fail
-  rxcap_267_done:
+    goto rxcap_271_done
+  rxcap_271_fail:
+    goto rx266_fail
+  rxcap_271_done:
   # rx pass
-    rx262_cur."!cursor_pass"(rx262_pos, "metachar:sym<rwb>")
-    rx262_cur."!cursor_debug"("PASS  ", "metachar:sym<rwb>", " at pos=", rx262_pos)
-    .return (rx262_cur)
-  rx262_fail:
+    rx266_cur."!cursor_pass"(rx266_pos, "metachar:sym<rwb>")
+    rx266_cur."!cursor_debug"("PASS  ", "metachar:sym<rwb>", " at pos=", rx266_pos)
+    .return (rx266_cur)
+  rx266_fail:
 .annotate "line", 3
-    (rx262_rep, rx262_pos, $I10, $P10) = rx262_cur."!mark_fail"(0)
-    lt rx262_pos, -1, rx262_done
-    eq rx262_pos, -1, rx262_fail
+    (rx266_rep, rx266_pos, $I10, $P10) = rx266_cur."!mark_fail"(0)
+    lt rx266_pos, -1, rx266_done
+    eq rx266_pos, -1, rx266_fail
     jump $I10
-  rx262_done:
-    rx262_cur."!cursor_fail"()
-    rx262_cur."!cursor_debug"("FAIL  ", "metachar:sym<rwb>")
-    .return (rx262_cur)
+  rx266_done:
+    rx266_cur."!cursor_fail"()
+    rx266_cur."!cursor_debug"("FAIL  ", "metachar:sym<rwb>")
+    .return (rx266_cur)
     .return ()
 .end
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__metachar:sym<rwb>"  :subid("76_1259103974.80122") :method
+.sub "!PREFIX__metachar:sym<rwb>"  :subid("76_1259177736.62303") :method
 .annotate "line", 3
-    new $P264, "ResizablePMCArray"
-    push $P264, unicode:"\x{bb}"
-    push $P264, ">>"
-    .return ($P264)
+    new $P268, "ResizablePMCArray"
+    push $P268, unicode:"\x{bb}"
+    push $P268, ">>"
+    .return ($P268)
 .end
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "metachar:sym<bs>"  :subid("77_1259103974.80122") :method :outer("11_1259103974.80122")
+.sub "metachar:sym<bs>"  :subid("77_1259177736.62303") :method :outer("11_1259177736.62303")
 .annotate "line", 3
-    .local string rx269_tgt
-    .local int rx269_pos
-    .local int rx269_off
-    .local int rx269_eos
-    .local int rx269_rep
-    .local pmc rx269_cur
-    (rx269_cur, rx269_pos, rx269_tgt) = self."!cursor_start"()
-    rx269_cur."!cursor_debug"("START ", "metachar:sym<bs>")
-    .lex unicode:"$\x{a2}", rx269_cur
+    .local string rx273_tgt
+    .local int rx273_pos
+    .local int rx273_off
+    .local int rx273_eos
+    .local int rx273_rep
+    .local pmc rx273_cur
+    (rx273_cur, rx273_pos, rx273_tgt) = self."!cursor_start"()
+    rx273_cur."!cursor_debug"("START ", "metachar:sym<bs>")
+    .lex unicode:"$\x{a2}", rx273_cur
     .local pmc match
     .lex "$/", match
-    length rx269_eos, rx269_tgt
-    set rx269_off, 0
-    lt rx269_pos, 2, rx269_start
-    sub rx269_off, rx269_pos, 1
-    substr rx269_tgt, rx269_tgt, rx269_off
-  rx269_start:
+    length rx273_eos, rx273_tgt
+    set rx273_off, 0
+    lt rx273_pos, 2, rx273_start
+    sub rx273_off, rx273_pos, 1
+    substr rx273_tgt, rx273_tgt, rx273_off
+  rx273_start:
     $I10 = self.'from'()
-    ne $I10, -1, rxscan273_done
-    goto rxscan273_scan
-  rxscan273_loop:
-    ($P10) = rx269_cur."from"()
+    ne $I10, -1, rxscan277_done
+    goto rxscan277_scan
+  rxscan277_loop:
+    ($P10) = rx273_cur."from"()
     inc $P10
-    set rx269_pos, $P10
-    ge rx269_pos, rx269_eos, rxscan273_done
-  rxscan273_scan:
-    set_addr $I10, rxscan273_loop
-    rx269_cur."!mark_push"(0, rx269_pos, $I10)
-  rxscan273_done:
+    set rx273_pos, $P10
+    ge rx273_pos, rx273_eos, rxscan277_done
+  rxscan277_scan:
+    set_addr $I10, rxscan277_loop
+    rx273_cur."!mark_push"(0, rx273_pos, $I10)
+  rxscan277_done:
 .annotate "line", 88
   # rx literal  "\\"
-    add $I11, rx269_pos, 1
-    gt $I11, rx269_eos, rx269_fail
-    sub $I11, rx269_pos, rx269_off
-    substr $S10, rx269_tgt, $I11, 1
-    ne $S10, "\\", rx269_fail
-    add rx269_pos, 1
+    add $I11, rx273_pos, 1
+    gt $I11, rx273_eos, rx273_fail
+    sub $I11, rx273_pos, rx273_off
+    substr $S10, rx273_tgt, $I11, 1
+    ne $S10, "\\", rx273_fail
+    add rx273_pos, 1
   # rx subrule "backslash" subtype=capture negate=
-    rx269_cur."!cursor_pos"(rx269_pos)
-    $P10 = rx269_cur."backslash"()
-    unless $P10, rx269_fail
-    rx269_cur."!mark_push"(0, -1, 0, $P10)
+    rx273_cur."!cursor_pos"(rx273_pos)
+    $P10 = rx273_cur."backslash"()
+    unless $P10, rx273_fail
+    rx273_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("backslash")
-    rx269_pos = $P10."pos"()
+    rx273_pos = $P10."pos"()
   # rx pass
-    rx269_cur."!cursor_pass"(rx269_pos, "metachar:sym<bs>")
-    rx269_cur."!cursor_debug"("PASS  ", "metachar:sym<bs>", " at pos=", rx269_pos)
-    .return (rx269_cur)
-  rx269_fail:
+    rx273_cur."!cursor_pass"(rx273_pos, "metachar:sym<bs>")
+    rx273_cur."!cursor_debug"("PASS  ", "metachar:sym<bs>", " at pos=", rx273_pos)
+    .return (rx273_cur)
+  rx273_fail:
 .annotate "line", 3
-    (rx269_rep, rx269_pos, $I10, $P10) = rx269_cur."!mark_fail"(0)
-    lt rx269_pos, -1, rx269_done
-    eq rx269_pos, -1, rx269_fail
+    (rx273_rep, rx273_pos, $I10, $P10) = rx273_cur."!mark_fail"(0)
+    lt rx273_pos, -1, rx273_done
+    eq rx273_pos, -1, rx273_fail
     jump $I10
-  rx269_done:
-    rx269_cur."!cursor_fail"()
-    rx269_cur."!cursor_debug"("FAIL  ", "metachar:sym<bs>")
-    .return (rx269_cur)
+  rx273_done:
+    rx273_cur."!cursor_fail"()
+    rx273_cur."!cursor_debug"("FAIL  ", "metachar:sym<bs>")
+    .return (rx273_cur)
     .return ()
 .end
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__metachar:sym<bs>"  :subid("78_1259103974.80122") :method
+.sub "!PREFIX__metachar:sym<bs>"  :subid("78_1259177736.62303") :method
 .annotate "line", 3
-    $P271 = self."!PREFIX__!subrule"("backslash", "\\")
-    new $P272, "ResizablePMCArray"
-    push $P272, $P271
-    .return ($P272)
+    $P275 = self."!PREFIX__!subrule"("backslash", "\\")
+    new $P276, "ResizablePMCArray"
+    push $P276, $P275
+    .return ($P276)
 .end
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "metachar:sym<mod>"  :subid("79_1259103974.80122") :method :outer("11_1259103974.80122")
+.sub "metachar:sym<mod>"  :subid("79_1259177736.62303") :method :outer("11_1259177736.62303")
 .annotate "line", 3
-    .local string rx275_tgt
-    .local int rx275_pos
-    .local int rx275_off
-    .local int rx275_eos
-    .local int rx275_rep
-    .local pmc rx275_cur
-    (rx275_cur, rx275_pos, rx275_tgt) = self."!cursor_start"()
-    rx275_cur."!cursor_debug"("START ", "metachar:sym<mod>")
-    .lex unicode:"$\x{a2}", rx275_cur
+    .local string rx279_tgt
+    .local int rx279_pos
+    .local int rx279_off
+    .local int rx279_eos
+    .local int rx279_rep
+    .local pmc rx279_cur
+    (rx279_cur, rx279_pos, rx279_tgt) = self."!cursor_start"()
+    rx279_cur."!cursor_debug"("START ", "metachar:sym<mod>")
+    .lex unicode:"$\x{a2}", rx279_cur
     .local pmc match
     .lex "$/", match
-    length rx275_eos, rx275_tgt
-    set rx275_off, 0
-    lt rx275_pos, 2, rx275_start
-    sub rx275_off, rx275_pos, 1
-    substr rx275_tgt, rx275_tgt, rx275_off
-  rx275_start:
+    length rx279_eos, rx279_tgt
+    set rx279_off, 0
+    lt rx279_pos, 2, rx279_start
+    sub rx279_off, rx279_pos, 1
+    substr rx279_tgt, rx279_tgt, rx279_off
+  rx279_start:
     $I10 = self.'from'()
-    ne $I10, -1, rxscan279_done
-    goto rxscan279_scan
-  rxscan279_loop:
-    ($P10) = rx275_cur."from"()
+    ne $I10, -1, rxscan283_done
+    goto rxscan283_scan
+  rxscan283_loop:
+    ($P10) = rx279_cur."from"()
     inc $P10
-    set rx275_pos, $P10
-    ge rx275_pos, rx275_eos, rxscan279_done
-  rxscan279_scan:
-    set_addr $I10, rxscan279_loop
-    rx275_cur."!mark_push"(0, rx275_pos, $I10)
-  rxscan279_done:
+    set rx279_pos, $P10
+    ge rx279_pos, rx279_eos, rxscan283_done
+  rxscan283_scan:
+    set_addr $I10, rxscan283_loop
+    rx279_cur."!mark_push"(0, rx279_pos, $I10)
+  rxscan283_done:
 .annotate "line", 89
   # rx subrule "mod_internal" subtype=capture negate=
-    rx275_cur."!cursor_pos"(rx275_pos)
-    $P10 = rx275_cur."mod_internal"()
-    unless $P10, rx275_fail
-    rx275_cur."!mark_push"(0, -1, 0, $P10)
+    rx279_cur."!cursor_pos"(rx279_pos)
+    $P10 = rx279_cur."mod_internal"()
+    unless $P10, rx279_fail
+    rx279_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("mod_internal")
-    rx275_pos = $P10."pos"()
+    rx279_pos = $P10."pos"()
   # rx pass
-    rx275_cur."!cursor_pass"(rx275_pos, "metachar:sym<mod>")
-    rx275_cur."!cursor_debug"("PASS  ", "metachar:sym<mod>", " at pos=", rx275_pos)
-    .return (rx275_cur)
-  rx275_fail:
+    rx279_cur."!cursor_pass"(rx279_pos, "metachar:sym<mod>")
+    rx279_cur."!cursor_debug"("PASS  ", "metachar:sym<mod>", " at pos=", rx279_pos)
+    .return (rx279_cur)
+  rx279_fail:
 .annotate "line", 3
-    (rx275_rep, rx275_pos, $I10, $P10) = rx275_cur."!mark_fail"(0)
-    lt rx275_pos, -1, rx275_done
-    eq rx275_pos, -1, rx275_fail
+    (rx279_rep, rx279_pos, $I10, $P10) = rx279_cur."!mark_fail"(0)
+    lt rx279_pos, -1, rx279_done
+    eq rx279_pos, -1, rx279_fail
     jump $I10
-  rx275_done:
-    rx275_cur."!cursor_fail"()
-    rx275_cur."!cursor_debug"("FAIL  ", "metachar:sym<mod>")
-    .return (rx275_cur)
+  rx279_done:
+    rx279_cur."!cursor_fail"()
+    rx279_cur."!cursor_debug"("FAIL  ", "metachar:sym<mod>")
+    .return (rx279_cur)
     .return ()
 .end
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__metachar:sym<mod>"  :subid("80_1259103974.80122") :method
+.sub "!PREFIX__metachar:sym<mod>"  :subid("80_1259177736.62303") :method
 .annotate "line", 3
-    $P277 = self."!PREFIX__!subrule"("mod_internal", "")
-    new $P278, "ResizablePMCArray"
-    push $P278, $P277
-    .return ($P278)
+    $P281 = self."!PREFIX__!subrule"("mod_internal", "")
+    new $P282, "ResizablePMCArray"
+    push $P282, $P281
+    .return ($P282)
 .end
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "metachar:sym<~>"  :subid("81_1259103974.80122") :method :outer("11_1259103974.80122")
+.sub "metachar:sym<~>"  :subid("81_1259177736.62303") :method :outer("11_1259177736.62303")
 .annotate "line", 3
-    .local string rx281_tgt
-    .local int rx281_pos
-    .local int rx281_off
-    .local int rx281_eos
-    .local int rx281_rep
-    .local pmc rx281_cur
-    (rx281_cur, rx281_pos, rx281_tgt) = self."!cursor_start"()
-    rx281_cur."!cursor_debug"("START ", "metachar:sym<~>")
-    .lex unicode:"$\x{a2}", rx281_cur
+    .local string rx285_tgt
+    .local int rx285_pos
+    .local int rx285_off
+    .local int rx285_eos
+    .local int rx285_rep
+    .local pmc rx285_cur
+    (rx285_cur, rx285_pos, rx285_tgt) = self."!cursor_start"()
+    rx285_cur."!cursor_debug"("START ", "metachar:sym<~>")
+    .lex unicode:"$\x{a2}", rx285_cur
     .local pmc match
     .lex "$/", match
-    length rx281_eos, rx281_tgt
-    set rx281_off, 0
-    lt rx281_pos, 2, rx281_start
-    sub rx281_off, rx281_pos, 1
-    substr rx281_tgt, rx281_tgt, rx281_off
-  rx281_start:
+    length rx285_eos, rx285_tgt
+    set rx285_off, 0
+    lt rx285_pos, 2, rx285_start
+    sub rx285_off, rx285_pos, 1
+    substr rx285_tgt, rx285_tgt, rx285_off
+  rx285_start:
     $I10 = self.'from'()
-    ne $I10, -1, rxscan285_done
-    goto rxscan285_scan
-  rxscan285_loop:
-    ($P10) = rx281_cur."from"()
+    ne $I10, -1, rxscan289_done
+    goto rxscan289_scan
+  rxscan289_loop:
+    ($P10) = rx285_cur."from"()
     inc $P10
-    set rx281_pos, $P10
-    ge rx281_pos, rx281_eos, rxscan285_done
-  rxscan285_scan:
-    set_addr $I10, rxscan285_loop
-    rx281_cur."!mark_push"(0, rx281_pos, $I10)
-  rxscan285_done:
+    set rx285_pos, $P10
+    ge rx285_pos, rx285_eos, rxscan289_done
+  rxscan289_scan:
+    set_addr $I10, rxscan289_loop
+    rx285_cur."!mark_push"(0, rx285_pos, $I10)
+  rxscan289_done:
 .annotate "line", 93
   # rx subcapture "sym"
-    set_addr $I10, rxcap_286_fail
-    rx281_cur."!mark_push"(0, rx281_pos, $I10)
+    set_addr $I10, rxcap_290_fail
+    rx285_cur."!mark_push"(0, rx285_pos, $I10)
   # rx literal  "~"
-    add $I11, rx281_pos, 1
-    gt $I11, rx281_eos, rx281_fail
-    sub $I11, rx281_pos, rx281_off
-    substr $S10, rx281_tgt, $I11, 1
-    ne $S10, "~", rx281_fail
-    add rx281_pos, 1
-    set_addr $I10, rxcap_286_fail
-    ($I12, $I11) = rx281_cur."!mark_peek"($I10)
-    rx281_cur."!cursor_pos"($I11)
-    ($P10) = rx281_cur."!cursor_start"()
-    $P10."!cursor_pass"(rx281_pos, "")
-    rx281_cur."!mark_push"(0, -1, 0, $P10)
+    add $I11, rx285_pos, 1
+    gt $I11, rx285_eos, rx285_fail
+    sub $I11, rx285_pos, rx285_off
+    substr $S10, rx285_tgt, $I11, 1
+    ne $S10, "~", rx285_fail
+    add rx285_pos, 1
+    set_addr $I10, rxcap_290_fail
+    ($I12, $I11) = rx285_cur."!mark_peek"($I10)
+    rx285_cur."!cursor_pos"($I11)
+    ($P10) = rx285_cur."!cursor_start"()
+    $P10."!cursor_pass"(rx285_pos, "")
+    rx285_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("sym")
-    goto rxcap_286_done
-  rxcap_286_fail:
-    goto rx281_fail
-  rxcap_286_done:
+    goto rxcap_290_done
+  rxcap_290_fail:
+    goto rx285_fail
+  rxcap_290_done:
 .annotate "line", 94
   # rx subrule "ws" subtype=method negate=
-    rx281_cur."!cursor_pos"(rx281_pos)
-    $P10 = rx281_cur."ws"()
-    unless $P10, rx281_fail
-    rx281_pos = $P10."pos"()
+    rx285_cur."!cursor_pos"(rx285_pos)
+    $P10 = rx285_cur."ws"()
+    unless $P10, rx285_fail
+    rx285_pos = $P10."pos"()
   # rx subrule "quantified_atom" subtype=capture negate=
-    rx281_cur."!cursor_pos"(rx281_pos)
-    $P10 = rx281_cur."quantified_atom"()
-    unless $P10, rx281_fail
-    rx281_cur."!mark_push"(0, -1, 0, $P10)
+    rx285_cur."!cursor_pos"(rx285_pos)
+    $P10 = rx285_cur."quantified_atom"()
+    unless $P10, rx285_fail
+    rx285_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("GOAL")
-    rx281_pos = $P10."pos"()
+    rx285_pos = $P10."pos"()
 .annotate "line", 95
   # rx subrule "ws" subtype=method negate=
-    rx281_cur."!cursor_pos"(rx281_pos)
-    $P10 = rx281_cur."ws"()
-    unless $P10, rx281_fail
-    rx281_pos = $P10."pos"()
+    rx285_cur."!cursor_pos"(rx285_pos)
+    $P10 = rx285_cur."ws"()
+    unless $P10, rx285_fail
+    rx285_pos = $P10."pos"()
   # rx subrule "quantified_atom" subtype=capture negate=
-    rx281_cur."!cursor_pos"(rx281_pos)
-    $P10 = rx281_cur."quantified_atom"()
-    unless $P10, rx281_fail
-    rx281_cur."!mark_push"(0, -1, 0, $P10)
+    rx285_cur."!cursor_pos"(rx285_pos)
+    $P10 = rx285_cur."quantified_atom"()
+    unless $P10, rx285_fail
+    rx285_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("EXPR")
-    rx281_pos = $P10."pos"()
+    rx285_pos = $P10."pos"()
 .annotate "line", 92
   # rx pass
-    rx281_cur."!cursor_pass"(rx281_pos, "metachar:sym<~>")
-    rx281_cur."!cursor_debug"("PASS  ", "metachar:sym<~>", " at pos=", rx281_pos)
-    .return (rx281_cur)
-  rx281_fail:
+    rx285_cur."!cursor_pass"(rx285_pos, "metachar:sym<~>")
+    rx285_cur."!cursor_debug"("PASS  ", "metachar:sym<~>", " at pos=", rx285_pos)
+    .return (rx285_cur)
+  rx285_fail:
 .annotate "line", 3
-    (rx281_rep, rx281_pos, $I10, $P10) = rx281_cur."!mark_fail"(0)
-    lt rx281_pos, -1, rx281_done
-    eq rx281_pos, -1, rx281_fail
+    (rx285_rep, rx285_pos, $I10, $P10) = rx285_cur."!mark_fail"(0)
+    lt rx285_pos, -1, rx285_done
+    eq rx285_pos, -1, rx285_fail
     jump $I10
-  rx281_done:
-    rx281_cur."!cursor_fail"()
-    rx281_cur."!cursor_debug"("FAIL  ", "metachar:sym<~>")
-    .return (rx281_cur)
+  rx285_done:
+    rx285_cur."!cursor_fail"()
+    rx285_cur."!cursor_debug"("FAIL  ", "metachar:sym<~>")
+    .return (rx285_cur)
     .return ()
 .end
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__metachar:sym<~>"  :subid("82_1259103974.80122") :method
+.sub "!PREFIX__metachar:sym<~>"  :subid("82_1259177736.62303") :method
 .annotate "line", 3
-    $P283 = self."!PREFIX__!subrule"("", "~")
-    new $P284, "ResizablePMCArray"
-    push $P284, $P283
-    .return ($P284)
+    $P287 = self."!PREFIX__!subrule"("", "~")
+    new $P288, "ResizablePMCArray"
+    push $P288, $P287
+    .return ($P288)
 .end
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "metachar:sym<{*}>"  :subid("83_1259103974.80122") :method :outer("11_1259103974.80122")
+.sub "metachar:sym<{*}>"  :subid("83_1259177736.62303") :method :outer("11_1259177736.62303")
 .annotate "line", 3
-    .local string rx288_tgt
-    .local int rx288_pos
-    .local int rx288_off
-    .local int rx288_eos
-    .local int rx288_rep
-    .local pmc rx288_cur
-    (rx288_cur, rx288_pos, rx288_tgt) = self."!cursor_start"()
-    rx288_cur."!cursor_debug"("START ", "metachar:sym<{*}>")
-    rx288_cur."!cursor_caparray"("key")
-    .lex unicode:"$\x{a2}", rx288_cur
-    .local pmc match
-    .lex "$/", match
-    length rx288_eos, rx288_tgt
-    set rx288_off, 0
-    lt rx288_pos, 2, rx288_start
-    sub rx288_off, rx288_pos, 1
-    substr rx288_tgt, rx288_tgt, rx288_off
-  rx288_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan291_done
-    goto rxscan291_scan
-  rxscan291_loop:
-    ($P10) = rx288_cur."from"()
-    inc $P10
-    set rx288_pos, $P10
-    ge rx288_pos, rx288_eos, rxscan291_done
-  rxscan291_scan:
-    set_addr $I10, rxscan291_loop
-    rx288_cur."!mark_push"(0, rx288_pos, $I10)
-  rxscan291_done:
+    .local string rx292_tgt
+    .local int rx292_pos
+    .local int rx292_off
+    .local int rx292_eos
+    .local int rx292_rep
+    .local pmc rx292_cur
+    (rx292_cur, rx292_pos, rx292_tgt) = self."!cursor_start"()
+    rx292_cur."!cursor_debug"("START ", "metachar:sym<{*}>")
+    rx292_cur."!cursor_caparray"("key")
+    .lex unicode:"$\x{a2}", rx292_cur
+    .local pmc match
+    .lex "$/", match
+    length rx292_eos, rx292_tgt
+    set rx292_off, 0
+    lt rx292_pos, 2, rx292_start
+    sub rx292_off, rx292_pos, 1
+    substr rx292_tgt, rx292_tgt, rx292_off
+  rx292_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan295_done
+    goto rxscan295_scan
+  rxscan295_loop:
+    ($P10) = rx292_cur."from"()
+    inc $P10
+    set rx292_pos, $P10
+    ge rx292_pos, rx292_eos, rxscan295_done
+  rxscan295_scan:
+    set_addr $I10, rxscan295_loop
+    rx292_cur."!mark_push"(0, rx292_pos, $I10)
+  rxscan295_done:
 .annotate "line", 99
   # rx subcapture "sym"
-    set_addr $I10, rxcap_292_fail
-    rx288_cur."!mark_push"(0, rx288_pos, $I10)
+    set_addr $I10, rxcap_296_fail
+    rx292_cur."!mark_push"(0, rx292_pos, $I10)
   # rx literal  "{*}"
-    add $I11, rx288_pos, 3
-    gt $I11, rx288_eos, rx288_fail
-    sub $I11, rx288_pos, rx288_off
-    substr $S10, rx288_tgt, $I11, 3
-    ne $S10, "{*}", rx288_fail
-    add rx288_pos, 3
-    set_addr $I10, rxcap_292_fail
-    ($I12, $I11) = rx288_cur."!mark_peek"($I10)
-    rx288_cur."!cursor_pos"($I11)
-    ($P10) = rx288_cur."!cursor_start"()
-    $P10."!cursor_pass"(rx288_pos, "")
-    rx288_cur."!mark_push"(0, -1, 0, $P10)
+    add $I11, rx292_pos, 3
+    gt $I11, rx292_eos, rx292_fail
+    sub $I11, rx292_pos, rx292_off
+    substr $S10, rx292_tgt, $I11, 3
+    ne $S10, "{*}", rx292_fail
+    add rx292_pos, 3
+    set_addr $I10, rxcap_296_fail
+    ($I12, $I11) = rx292_cur."!mark_peek"($I10)
+    rx292_cur."!cursor_pos"($I11)
+    ($P10) = rx292_cur."!cursor_start"()
+    $P10."!cursor_pass"(rx292_pos, "")
+    rx292_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("sym")
-    goto rxcap_292_done
-  rxcap_292_fail:
-    goto rx288_fail
-  rxcap_292_done:
+    goto rxcap_296_done
+  rxcap_296_fail:
+    goto rx292_fail
+  rxcap_296_done:
 .annotate "line", 100
-  # rx rxquantr293 ** 0..1
-    set_addr $I303, rxquantr293_done
-    rx288_cur."!mark_push"(0, rx288_pos, $I303)
-  rxquantr293_loop:
-  # rx rxquantr294 ** 0..*
-    set_addr $I295, rxquantr294_done
-    rx288_cur."!mark_push"(0, rx288_pos, $I295)
-  rxquantr294_loop:
+  # rx rxquantr297 ** 0..1
+    set_addr $I307, rxquantr297_done
+    rx292_cur."!mark_push"(0, rx292_pos, $I307)
+  rxquantr297_loop:
+  # rx rxquantr298 ** 0..*
+    set_addr $I299, rxquantr298_done
+    rx292_cur."!mark_push"(0, rx292_pos, $I299)
+  rxquantr298_loop:
   # rx enumcharlist negate=0 
-    ge rx288_pos, rx288_eos, rx288_fail
-    sub $I10, rx288_pos, rx288_off
-    substr $S10, rx288_tgt, $I10, 1
+    ge rx292_pos, rx292_eos, rx292_fail
+    sub $I10, rx292_pos, rx292_off
+    substr $S10, rx292_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, rx288_fail
-    inc rx288_pos
-    (rx288_rep) = rx288_cur."!mark_commit"($I295)
-    rx288_cur."!mark_push"(rx288_rep, rx288_pos, $I295)
-    goto rxquantr294_loop
-  rxquantr294_done:
+    lt $I11, 0, rx292_fail
+    inc rx292_pos
+    (rx292_rep) = rx292_cur."!mark_commit"($I299)
+    rx292_cur."!mark_push"(rx292_rep, rx292_pos, $I299)
+    goto rxquantr298_loop
+  rxquantr298_done:
   # rx literal  "#= "
-    add $I11, rx288_pos, 3
-    gt $I11, rx288_eos, rx288_fail
-    sub $I11, rx288_pos, rx288_off
-    substr $S10, rx288_tgt, $I11, 3
-    ne $S10, "#= ", rx288_fail
-    add rx288_pos, 3
-  # rx rxquantr296 ** 0..*
-    set_addr $I297, rxquantr296_done
-    rx288_cur."!mark_push"(0, rx288_pos, $I297)
-  rxquantr296_loop:
+    add $I11, rx292_pos, 3
+    gt $I11, rx292_eos, rx292_fail
+    sub $I11, rx292_pos, rx292_off
+    substr $S10, rx292_tgt, $I11, 3
+    ne $S10, "#= ", rx292_fail
+    add rx292_pos, 3
+  # rx rxquantr300 ** 0..*
+    set_addr $I301, rxquantr300_done
+    rx292_cur."!mark_push"(0, rx292_pos, $I301)
+  rxquantr300_loop:
   # rx enumcharlist negate=0 
-    ge rx288_pos, rx288_eos, rx288_fail
-    sub $I10, rx288_pos, rx288_off
-    substr $S10, rx288_tgt, $I10, 1
+    ge rx292_pos, rx292_eos, rx292_fail
+    sub $I10, rx292_pos, rx292_off
+    substr $S10, rx292_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, rx288_fail
-    inc rx288_pos
-    (rx288_rep) = rx288_cur."!mark_commit"($I297)
-    rx288_cur."!mark_push"(rx288_rep, rx288_pos, $I297)
-    goto rxquantr296_loop
-  rxquantr296_done:
+    lt $I11, 0, rx292_fail
+    inc rx292_pos
+    (rx292_rep) = rx292_cur."!mark_commit"($I301)
+    rx292_cur."!mark_push"(rx292_rep, rx292_pos, $I301)
+    goto rxquantr300_loop
+  rxquantr300_done:
   # rx subcapture "key"
-    set_addr $I10, rxcap_302_fail
-    rx288_cur."!mark_push"(0, rx288_pos, $I10)
+    set_addr $I10, rxcap_306_fail
+    rx292_cur."!mark_push"(0, rx292_pos, $I10)
   # rx charclass_q S r 1..-1
-    sub $I10, rx288_pos, rx288_off
-    find_cclass $I11, 32, rx288_tgt, $I10, rx288_eos
+    sub $I10, rx292_pos, rx292_off
+    find_cclass $I11, 32, rx292_tgt, $I10, rx292_eos
     add $I12, $I10, 1
-    lt $I11, $I12, rx288_fail
-    add rx288_pos, rx288_off, $I11
-  # rx rxquantr298 ** 0..*
-    set_addr $I301, rxquantr298_done
-    rx288_cur."!mark_push"(0, rx288_pos, $I301)
-  rxquantr298_loop:
-  # rx rxquantr299 ** 1..*
-    set_addr $I300, rxquantr299_done
-    rx288_cur."!mark_push"(0, -1, $I300)
-  rxquantr299_loop:
+    lt $I11, $I12, rx292_fail
+    add rx292_pos, rx292_off, $I11
+  # rx rxquantr302 ** 0..*
+    set_addr $I305, rxquantr302_done
+    rx292_cur."!mark_push"(0, rx292_pos, $I305)
+  rxquantr302_loop:
+  # rx rxquantr303 ** 1..*
+    set_addr $I304, rxquantr303_done
+    rx292_cur."!mark_push"(0, -1, $I304)
+  rxquantr303_loop:
   # rx enumcharlist negate=0 
-    ge rx288_pos, rx288_eos, rx288_fail
-    sub $I10, rx288_pos, rx288_off
-    substr $S10, rx288_tgt, $I10, 1
+    ge rx292_pos, rx292_eos, rx292_fail
+    sub $I10, rx292_pos, rx292_off
+    substr $S10, rx292_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, rx288_fail
-    inc rx288_pos
-    (rx288_rep) = rx288_cur."!mark_commit"($I300)
-    rx288_cur."!mark_push"(rx288_rep, rx288_pos, $I300)
-    goto rxquantr299_loop
-  rxquantr299_done:
+    lt $I11, 0, rx292_fail
+    inc rx292_pos
+    (rx292_rep) = rx292_cur."!mark_commit"($I304)
+    rx292_cur."!mark_push"(rx292_rep, rx292_pos, $I304)
+    goto rxquantr303_loop
+  rxquantr303_done:
   # rx charclass_q S r 1..-1
-    sub $I10, rx288_pos, rx288_off
-    find_cclass $I11, 32, rx288_tgt, $I10, rx288_eos
+    sub $I10, rx292_pos, rx292_off
+    find_cclass $I11, 32, rx292_tgt, $I10, rx292_eos
     add $I12, $I10, 1
-    lt $I11, $I12, rx288_fail
-    add rx288_pos, rx288_off, $I11
-    (rx288_rep) = rx288_cur."!mark_commit"($I301)
-    rx288_cur."!mark_push"(rx288_rep, rx288_pos, $I301)
-    goto rxquantr298_loop
-  rxquantr298_done:
-    set_addr $I10, rxcap_302_fail
-    ($I12, $I11) = rx288_cur."!mark_peek"($I10)
-    rx288_cur."!cursor_pos"($I11)
-    ($P10) = rx288_cur."!cursor_start"()
-    $P10."!cursor_pass"(rx288_pos, "")
-    rx288_cur."!mark_push"(0, -1, 0, $P10)
+    lt $I11, $I12, rx292_fail
+    add rx292_pos, rx292_off, $I11
+    (rx292_rep) = rx292_cur."!mark_commit"($I305)
+    rx292_cur."!mark_push"(rx292_rep, rx292_pos, $I305)
+    goto rxquantr302_loop
+  rxquantr302_done:
+    set_addr $I10, rxcap_306_fail
+    ($I12, $I11) = rx292_cur."!mark_peek"($I10)
+    rx292_cur."!cursor_pos"($I11)
+    ($P10) = rx292_cur."!cursor_start"()
+    $P10."!cursor_pass"(rx292_pos, "")
+    rx292_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("key")
-    goto rxcap_302_done
-  rxcap_302_fail:
-    goto rx288_fail
-  rxcap_302_done:
-    (rx288_rep) = rx288_cur."!mark_commit"($I303)
-  rxquantr293_done:
+    goto rxcap_306_done
+  rxcap_306_fail:
+    goto rx292_fail
+  rxcap_306_done:
+    (rx292_rep) = rx292_cur."!mark_commit"($I307)
+  rxquantr297_done:
 .annotate "line", 98
   # rx pass
-    rx288_cur."!cursor_pass"(rx288_pos, "metachar:sym<{*}>")
-    rx288_cur."!cursor_debug"("PASS  ", "metachar:sym<{*}>", " at pos=", rx288_pos)
-    .return (rx288_cur)
-  rx288_fail:
+    rx292_cur."!cursor_pass"(rx292_pos, "metachar:sym<{*}>")
+    rx292_cur."!cursor_debug"("PASS  ", "metachar:sym<{*}>", " at pos=", rx292_pos)
+    .return (rx292_cur)
+  rx292_fail:
 .annotate "line", 3
-    (rx288_rep, rx288_pos, $I10, $P10) = rx288_cur."!mark_fail"(0)
-    lt rx288_pos, -1, rx288_done
-    eq rx288_pos, -1, rx288_fail
+    (rx292_rep, rx292_pos, $I10, $P10) = rx292_cur."!mark_fail"(0)
+    lt rx292_pos, -1, rx292_done
+    eq rx292_pos, -1, rx292_fail
     jump $I10
-  rx288_done:
-    rx288_cur."!cursor_fail"()
-    rx288_cur."!cursor_debug"("FAIL  ", "metachar:sym<{*}>")
-    .return (rx288_cur)
+  rx292_done:
+    rx292_cur."!cursor_fail"()
+    rx292_cur."!cursor_debug"("FAIL  ", "metachar:sym<{*}>")
+    .return (rx292_cur)
     .return ()
 .end
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__metachar:sym<{*}>"  :subid("84_1259103974.80122") :method
+.sub "!PREFIX__metachar:sym<{*}>"  :subid("84_1259177736.62303") :method
 .annotate "line", 3
-    new $P290, "ResizablePMCArray"
-    push $P290, "{*}"
-    .return ($P290)
+    new $P294, "ResizablePMCArray"
+    push $P294, "{*}"
+    .return ($P294)
 .end
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "metachar:sym<assert>"  :subid("85_1259103974.80122") :method :outer("11_1259103974.80122")
+.sub "metachar:sym<assert>"  :subid("85_1259177736.62303") :method :outer("11_1259177736.62303")
 .annotate "line", 3
-    .local string rx305_tgt
-    .local int rx305_pos
-    .local int rx305_off
-    .local int rx305_eos
-    .local int rx305_rep
-    .local pmc rx305_cur
-    (rx305_cur, rx305_pos, rx305_tgt) = self."!cursor_start"()
-    rx305_cur."!cursor_debug"("START ", "metachar:sym<assert>")
-    .lex unicode:"$\x{a2}", rx305_cur
+    .local string rx309_tgt
+    .local int rx309_pos
+    .local int rx309_off
+    .local int rx309_eos
+    .local int rx309_rep
+    .local pmc rx309_cur
+    (rx309_cur, rx309_pos, rx309_tgt) = self."!cursor_start"()
+    rx309_cur."!cursor_debug"("START ", "metachar:sym<assert>")
+    .lex unicode:"$\x{a2}", rx309_cur
     .local pmc match
     .lex "$/", match
-    length rx305_eos, rx305_tgt
-    set rx305_off, 0
-    lt rx305_pos, 2, rx305_start
-    sub rx305_off, rx305_pos, 1
-    substr rx305_tgt, rx305_tgt, rx305_off
-  rx305_start:
+    length rx309_eos, rx309_tgt
+    set rx309_off, 0
+    lt rx309_pos, 2, rx309_start
+    sub rx309_off, rx309_pos, 1
+    substr rx309_tgt, rx309_tgt, rx309_off
+  rx309_start:
     $I10 = self.'from'()
-    ne $I10, -1, rxscan309_done
-    goto rxscan309_scan
-  rxscan309_loop:
-    ($P10) = rx305_cur."from"()
+    ne $I10, -1, rxscan313_done
+    goto rxscan313_scan
+  rxscan313_loop:
+    ($P10) = rx309_cur."from"()
     inc $P10
-    set rx305_pos, $P10
-    ge rx305_pos, rx305_eos, rxscan309_done
-  rxscan309_scan:
-    set_addr $I10, rxscan309_loop
-    rx305_cur."!mark_push"(0, rx305_pos, $I10)
-  rxscan309_done:
+    set rx309_pos, $P10
+    ge rx309_pos, rx309_eos, rxscan313_done
+  rxscan313_scan:
+    set_addr $I10, rxscan313_loop
+    rx309_cur."!mark_push"(0, rx309_pos, $I10)
+  rxscan313_done:
 .annotate "line", 103
   # rx literal  "<"
-    add $I11, rx305_pos, 1
-    gt $I11, rx305_eos, rx305_fail
-    sub $I11, rx305_pos, rx305_off
-    substr $S10, rx305_tgt, $I11, 1
-    ne $S10, "<", rx305_fail
-    add rx305_pos, 1
+    add $I11, rx309_pos, 1
+    gt $I11, rx309_eos, rx309_fail
+    sub $I11, rx309_pos, rx309_off
+    substr $S10, rx309_tgt, $I11, 1
+    ne $S10, "<", rx309_fail
+    add rx309_pos, 1
   # rx subrule "assertion" subtype=capture negate=
-    rx305_cur."!cursor_pos"(rx305_pos)
-    $P10 = rx305_cur."assertion"()
-    unless $P10, rx305_fail
-    rx305_cur."!mark_push"(0, -1, 0, $P10)
+    rx309_cur."!cursor_pos"(rx309_pos)
+    $P10 = rx309_cur."assertion"()
+    unless $P10, rx309_fail
+    rx309_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("assertion")
-    rx305_pos = $P10."pos"()
-  alt310_0:
+    rx309_pos = $P10."pos"()
+  alt314_0:
 .annotate "line", 104
-    set_addr $I10, alt310_1
-    rx305_cur."!mark_push"(0, rx305_pos, $I10)
+    set_addr $I10, alt314_1
+    rx309_cur."!mark_push"(0, rx309_pos, $I10)
   # rx literal  ">"
-    add $I11, rx305_pos, 1
-    gt $I11, rx305_eos, rx305_fail
-    sub $I11, rx305_pos, rx305_off
-    substr $S10, rx305_tgt, $I11, 1
-    ne $S10, ">", rx305_fail
-    add rx305_pos, 1
-    goto alt310_end
-  alt310_1:
+    add $I11, rx309_pos, 1
+    gt $I11, rx309_eos, rx309_fail
+    sub $I11, rx309_pos, rx309_off
+    substr $S10, rx309_tgt, $I11, 1
+    ne $S10, ">", rx309_fail
+    add rx309_pos, 1
+    goto alt314_end
+  alt314_1:
   # rx subrule "panic" subtype=method negate=
-    rx305_cur."!cursor_pos"(rx305_pos)
-    $P10 = rx305_cur."panic"("regex assertion not terminated by angle bracket")
-    unless $P10, rx305_fail
-    rx305_pos = $P10."pos"()
-  alt310_end:
+    rx309_cur."!cursor_pos"(rx309_pos)
+    $P10 = rx309_cur."panic"("regex assertion not terminated by angle bracket")
+    unless $P10, rx309_fail
+    rx309_pos = $P10."pos"()
+  alt314_end:
 .annotate "line", 102
   # rx pass
-    rx305_cur."!cursor_pass"(rx305_pos, "metachar:sym<assert>")
-    rx305_cur."!cursor_debug"("PASS  ", "metachar:sym<assert>", " at pos=", rx305_pos)
-    .return (rx305_cur)
-  rx305_fail:
+    rx309_cur."!cursor_pass"(rx309_pos, "metachar:sym<assert>")
+    rx309_cur."!cursor_debug"("PASS  ", "metachar:sym<assert>", " at pos=", rx309_pos)
+    .return (rx309_cur)
+  rx309_fail:
 .annotate "line", 3
-    (rx305_rep, rx305_pos, $I10, $P10) = rx305_cur."!mark_fail"(0)
-    lt rx305_pos, -1, rx305_done
-    eq rx305_pos, -1, rx305_fail
+    (rx309_rep, rx309_pos, $I10, $P10) = rx309_cur."!mark_fail"(0)
+    lt rx309_pos, -1, rx309_done
+    eq rx309_pos, -1, rx309_fail
     jump $I10
-  rx305_done:
-    rx305_cur."!cursor_fail"()
-    rx305_cur."!cursor_debug"("FAIL  ", "metachar:sym<assert>")
-    .return (rx305_cur)
+  rx309_done:
+    rx309_cur."!cursor_fail"()
+    rx309_cur."!cursor_debug"("FAIL  ", "metachar:sym<assert>")
+    .return (rx309_cur)
     .return ()
 .end
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__metachar:sym<assert>"  :subid("86_1259103974.80122") :method
+.sub "!PREFIX__metachar:sym<assert>"  :subid("86_1259177736.62303") :method
 .annotate "line", 3
-    $P307 = self."!PREFIX__!subrule"("assertion", "<")
-    new $P308, "ResizablePMCArray"
-    push $P308, $P307
-    .return ($P308)
+    $P311 = self."!PREFIX__!subrule"("assertion", "<")
+    new $P312, "ResizablePMCArray"
+    push $P312, $P311
+    .return ($P312)
 .end
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "metachar:sym<var>"  :subid("87_1259103974.80122") :method :outer("11_1259103974.80122")
+.sub "metachar:sym<var>"  :subid("87_1259177736.62303") :method :outer("11_1259177736.62303")
 .annotate "line", 3
-    .local string rx312_tgt
-    .local int rx312_pos
-    .local int rx312_off
-    .local int rx312_eos
-    .local int rx312_rep
-    .local pmc rx312_cur
-    (rx312_cur, rx312_pos, rx312_tgt) = self."!cursor_start"()
-    rx312_cur."!cursor_debug"("START ", "metachar:sym<var>")
-    rx312_cur."!cursor_caparray"("quantified_atom")
-    .lex unicode:"$\x{a2}", rx312_cur
+    .local string rx316_tgt
+    .local int rx316_pos
+    .local int rx316_off
+    .local int rx316_eos
+    .local int rx316_rep
+    .local pmc rx316_cur
+    (rx316_cur, rx316_pos, rx316_tgt) = self."!cursor_start"()
+    rx316_cur."!cursor_debug"("START ", "metachar:sym<var>")
+    rx316_cur."!cursor_caparray"("quantified_atom")
+    .lex unicode:"$\x{a2}", rx316_cur
     .local pmc match
     .lex "$/", match
-    length rx312_eos, rx312_tgt
-    set rx312_off, 0
-    lt rx312_pos, 2, rx312_start
-    sub rx312_off, rx312_pos, 1
-    substr rx312_tgt, rx312_tgt, rx312_off
-  rx312_start:
+    length rx316_eos, rx316_tgt
+    set rx316_off, 0
+    lt rx316_pos, 2, rx316_start
+    sub rx316_off, rx316_pos, 1
+    substr rx316_tgt, rx316_tgt, rx316_off
+  rx316_start:
     $I10 = self.'from'()
-    ne $I10, -1, rxscan315_done
-    goto rxscan315_scan
-  rxscan315_loop:
-    ($P10) = rx312_cur."from"()
+    ne $I10, -1, rxscan319_done
+    goto rxscan319_scan
+  rxscan319_loop:
+    ($P10) = rx316_cur."from"()
     inc $P10
-    set rx312_pos, $P10
-    ge rx312_pos, rx312_eos, rxscan315_done
-  rxscan315_scan:
-    set_addr $I10, rxscan315_loop
-    rx312_cur."!mark_push"(0, rx312_pos, $I10)
-  rxscan315_done:
-  alt316_0:
+    set rx316_pos, $P10
+    ge rx316_pos, rx316_eos, rxscan319_done
+  rxscan319_scan:
+    set_addr $I10, rxscan319_loop
+    rx316_cur."!mark_push"(0, rx316_pos, $I10)
+  rxscan319_done:
+  alt320_0:
 .annotate "line", 108
-    set_addr $I10, alt316_1
-    rx312_cur."!mark_push"(0, rx312_pos, $I10)
+    set_addr $I10, alt320_1
+    rx316_cur."!mark_push"(0, rx316_pos, $I10)
 .annotate "line", 109
   # rx literal  "$<"
-    add $I11, rx312_pos, 2
-    gt $I11, rx312_eos, rx312_fail
-    sub $I11, rx312_pos, rx312_off
-    substr $S10, rx312_tgt, $I11, 2
-    ne $S10, "$<", rx312_fail
-    add rx312_pos, 2
+    add $I11, rx316_pos, 2
+    gt $I11, rx316_eos, rx316_fail
+    sub $I11, rx316_pos, rx316_off
+    substr $S10, rx316_tgt, $I11, 2
+    ne $S10, "$<", rx316_fail
+    add rx316_pos, 2
   # rx subcapture "name"
-    set_addr $I10, rxcap_319_fail
-    rx312_cur."!mark_push"(0, rx312_pos, $I10)
-  # rx rxquantr317 ** 1..*
-    set_addr $I318, rxquantr317_done
-    rx312_cur."!mark_push"(0, -1, $I318)
-  rxquantr317_loop:
+    set_addr $I10, rxcap_323_fail
+    rx316_cur."!mark_push"(0, rx316_pos, $I10)
+  # rx rxquantr321 ** 1..*
+    set_addr $I322, rxquantr321_done
+    rx316_cur."!mark_push"(0, -1, $I322)
+  rxquantr321_loop:
   # rx enumcharlist negate=1 
-    ge rx312_pos, rx312_eos, rx312_fail
-    sub $I10, rx312_pos, rx312_off
-    substr $S10, rx312_tgt, $I10, 1
+    ge rx316_pos, rx316_eos, rx316_fail
+    sub $I10, rx316_pos, rx316_off
+    substr $S10, rx316_tgt, $I10, 1
     index $I11, ">", $S10
-    ge $I11, 0, rx312_fail
-    inc rx312_pos
-    (rx312_rep) = rx312_cur."!mark_commit"($I318)
-    rx312_cur."!mark_push"(rx312_rep, rx312_pos, $I318)
-    goto rxquantr317_loop
-  rxquantr317_done:
-    set_addr $I10, rxcap_319_fail
-    ($I12, $I11) = rx312_cur."!mark_peek"($I10)
-    rx312_cur."!cursor_pos"($I11)
-    ($P10) = rx312_cur."!cursor_start"()
-    $P10."!cursor_pass"(rx312_pos, "")
-    rx312_cur."!mark_push"(0, -1, 0, $P10)
+    ge $I11, 0, rx316_fail
+    inc rx316_pos
+    (rx316_rep) = rx316_cur."!mark_commit"($I322)
+    rx316_cur."!mark_push"(rx316_rep, rx316_pos, $I322)
+    goto rxquantr321_loop
+  rxquantr321_done:
+    set_addr $I10, rxcap_323_fail
+    ($I12, $I11) = rx316_cur."!mark_peek"($I10)
+    rx316_cur."!cursor_pos"($I11)
+    ($P10) = rx316_cur."!cursor_start"()
+    $P10."!cursor_pass"(rx316_pos, "")
+    rx316_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("name")
-    goto rxcap_319_done
-  rxcap_319_fail:
-    goto rx312_fail
-  rxcap_319_done:
+    goto rxcap_323_done
+  rxcap_323_fail:
+    goto rx316_fail
+  rxcap_323_done:
   # rx literal  ">"
-    add $I11, rx312_pos, 1
-    gt $I11, rx312_eos, rx312_fail
-    sub $I11, rx312_pos, rx312_off
-    substr $S10, rx312_tgt, $I11, 1
-    ne $S10, ">", rx312_fail
-    add rx312_pos, 1
-    goto alt316_end
-  alt316_1:
+    add $I11, rx316_pos, 1
+    gt $I11, rx316_eos, rx316_fail
+    sub $I11, rx316_pos, rx316_off
+    substr $S10, rx316_tgt, $I11, 1
+    ne $S10, ">", rx316_fail
+    add rx316_pos, 1
+    goto alt320_end
+  alt320_1:
 .annotate "line", 110
   # rx literal  "$"
-    add $I11, rx312_pos, 1
-    gt $I11, rx312_eos, rx312_fail
-    sub $I11, rx312_pos, rx312_off
-    substr $S10, rx312_tgt, $I11, 1
-    ne $S10, "$", rx312_fail
-    add rx312_pos, 1
+    add $I11, rx316_pos, 1
+    gt $I11, rx316_eos, rx316_fail
+    sub $I11, rx316_pos, rx316_off
+    substr $S10, rx316_tgt, $I11, 1
+    ne $S10, "$", rx316_fail
+    add rx316_pos, 1
   # rx subcapture "pos"
-    set_addr $I10, rxcap_320_fail
-    rx312_cur."!mark_push"(0, rx312_pos, $I10)
+    set_addr $I10, rxcap_324_fail
+    rx316_cur."!mark_push"(0, rx316_pos, $I10)
   # rx charclass_q d r 1..-1
-    sub $I10, rx312_pos, rx312_off
-    find_not_cclass $I11, 8, rx312_tgt, $I10, rx312_eos
+    sub $I10, rx316_pos, rx316_off
+    find_not_cclass $I11, 8, rx316_tgt, $I10, rx316_eos
     add $I12, $I10, 1
-    lt $I11, $I12, rx312_fail
-    add rx312_pos, rx312_off, $I11
-    set_addr $I10, rxcap_320_fail
-    ($I12, $I11) = rx312_cur."!mark_peek"($I10)
-    rx312_cur."!cursor_pos"($I11)
-    ($P10) = rx312_cur."!cursor_start"()
-    $P10."!cursor_pass"(rx312_pos, "")
-    rx312_cur."!mark_push"(0, -1, 0, $P10)
+    lt $I11, $I12, rx316_fail
+    add rx316_pos, rx316_off, $I11
+    set_addr $I10, rxcap_324_fail
+    ($I12, $I11) = rx316_cur."!mark_peek"($I10)
+    rx316_cur."!cursor_pos"($I11)
+    ($P10) = rx316_cur."!cursor_start"()
+    $P10."!cursor_pass"(rx316_pos, "")
+    rx316_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("pos")
-    goto rxcap_320_done
-  rxcap_320_fail:
-    goto rx312_fail
-  rxcap_320_done:
-  alt316_end:
+    goto rxcap_324_done
+  rxcap_324_fail:
+    goto rx316_fail
+  rxcap_324_done:
+  alt320_end:
 .annotate "line", 113
-  # rx rxquantr321 ** 0..1
-    set_addr $I322, rxquantr321_done
-    rx312_cur."!mark_push"(0, rx312_pos, $I322)
-  rxquantr321_loop:
+  # rx rxquantr325 ** 0..1
+    set_addr $I326, rxquantr325_done
+    rx316_cur."!mark_push"(0, rx316_pos, $I326)
+  rxquantr325_loop:
   # rx subrule "ws" subtype=method negate=
-    rx312_cur."!cursor_pos"(rx312_pos)
-    $P10 = rx312_cur."ws"()
-    unless $P10, rx312_fail
-    rx312_pos = $P10."pos"()
+    rx316_cur."!cursor_pos"(rx316_pos)
+    $P10 = rx316_cur."ws"()
+    unless $P10, rx316_fail
+    rx316_pos = $P10."pos"()
   # rx literal  "="
-    add $I11, rx312_pos, 1
-    gt $I11, rx312_eos, rx312_fail
-    sub $I11, rx312_pos, rx312_off
-    substr $S10, rx312_tgt, $I11, 1
-    ne $S10, "=", rx312_fail
-    add rx312_pos, 1
+    add $I11, rx316_pos, 1
+    gt $I11, rx316_eos, rx316_fail
+    sub $I11, rx316_pos, rx316_off
+    substr $S10, rx316_tgt, $I11, 1
+    ne $S10, "=", rx316_fail
+    add rx316_pos, 1
   # rx subrule "ws" subtype=method negate=
-    rx312_cur."!cursor_pos"(rx312_pos)
-    $P10 = rx312_cur."ws"()
-    unless $P10, rx312_fail
-    rx312_pos = $P10."pos"()
+    rx316_cur."!cursor_pos"(rx316_pos)
+    $P10 = rx316_cur."ws"()
+    unless $P10, rx316_fail
+    rx316_pos = $P10."pos"()
   # rx subrule "quantified_atom" subtype=capture negate=
-    rx312_cur."!cursor_pos"(rx312_pos)
-    $P10 = rx312_cur."quantified_atom"()
-    unless $P10, rx312_fail
-    rx312_cur."!mark_push"(0, -1, 0, $P10)
+    rx316_cur."!cursor_pos"(rx316_pos)
+    $P10 = rx316_cur."quantified_atom"()
+    unless $P10, rx316_fail
+    rx316_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("quantified_atom")
-    rx312_pos = $P10."pos"()
-    (rx312_rep) = rx312_cur."!mark_commit"($I322)
-  rxquantr321_done:
+    rx316_pos = $P10."pos"()
+    (rx316_rep) = rx316_cur."!mark_commit"($I326)
+  rxquantr325_done:
 .annotate "line", 107
   # rx pass
-    rx312_cur."!cursor_pass"(rx312_pos, "metachar:sym<var>")
-    rx312_cur."!cursor_debug"("PASS  ", "metachar:sym<var>", " at pos=", rx312_pos)
-    .return (rx312_cur)
-  rx312_fail:
+    rx316_cur."!cursor_pass"(rx316_pos, "metachar:sym<var>")
+    rx316_cur."!cursor_debug"("PASS  ", "metachar:sym<var>", " at pos=", rx316_pos)
+    .return (rx316_cur)
+  rx316_fail:
 .annotate "line", 3
-    (rx312_rep, rx312_pos, $I10, $P10) = rx312_cur."!mark_fail"(0)
-    lt rx312_pos, -1, rx312_done
-    eq rx312_pos, -1, rx312_fail
+    (rx316_rep, rx316_pos, $I10, $P10) = rx316_cur."!mark_fail"(0)
+    lt rx316_pos, -1, rx316_done
+    eq rx316_pos, -1, rx316_fail
     jump $I10
-  rx312_done:
-    rx312_cur."!cursor_fail"()
-    rx312_cur."!cursor_debug"("FAIL  ", "metachar:sym<var>")
-    .return (rx312_cur)
+  rx316_done:
+    rx316_cur."!cursor_fail"()
+    rx316_cur."!cursor_debug"("FAIL  ", "metachar:sym<var>")
+    .return (rx316_cur)
     .return ()
 .end
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__metachar:sym<var>"  :subid("88_1259103974.80122") :method
+.sub "!PREFIX__metachar:sym<var>"  :subid("88_1259177736.62303") :method
 .annotate "line", 3
-    new $P314, "ResizablePMCArray"
-    push $P314, "$"
-    push $P314, "$<"
-    .return ($P314)
+    new $P318, "ResizablePMCArray"
+    push $P318, "$"
+    push $P318, "$<"
+    .return ($P318)
 .end
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "metachar:sym<PIR>"  :subid("89_1259103974.80122") :method :outer("11_1259103974.80122")
+.sub "metachar:sym<PIR>"  :subid("89_1259177736.62303") :method :outer("11_1259177736.62303")
 .annotate "line", 3
-    .local string rx324_tgt
-    .local int rx324_pos
-    .local int rx324_off
-    .local int rx324_eos
-    .local int rx324_rep
-    .local pmc rx324_cur
-    (rx324_cur, rx324_pos, rx324_tgt) = self."!cursor_start"()
-    rx324_cur."!cursor_debug"("START ", "metachar:sym<PIR>")
-    .lex unicode:"$\x{a2}", rx324_cur
-    .local pmc match
-    .lex "$/", match
-    length rx324_eos, rx324_tgt
-    set rx324_off, 0
-    lt rx324_pos, 2, rx324_start
-    sub rx324_off, rx324_pos, 1
-    substr rx324_tgt, rx324_tgt, rx324_off
-  rx324_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan327_done
-    goto rxscan327_scan
-  rxscan327_loop:
-    ($P10) = rx324_cur."from"()
-    inc $P10
-    set rx324_pos, $P10
-    ge rx324_pos, rx324_eos, rxscan327_done
-  rxscan327_scan:
-    set_addr $I10, rxscan327_loop
-    rx324_cur."!mark_push"(0, rx324_pos, $I10)
-  rxscan327_done:
+    .local string rx328_tgt
+    .local int rx328_pos
+    .local int rx328_off
+    .local int rx328_eos
+    .local int rx328_rep
+    .local pmc rx328_cur
+    (rx328_cur, rx328_pos, rx328_tgt) = self."!cursor_start"()
+    rx328_cur."!cursor_debug"("START ", "metachar:sym<PIR>")
+    .lex unicode:"$\x{a2}", rx328_cur
+    .local pmc match
+    .lex "$/", match
+    length rx328_eos, rx328_tgt
+    set rx328_off, 0
+    lt rx328_pos, 2, rx328_start
+    sub rx328_off, rx328_pos, 1
+    substr rx328_tgt, rx328_tgt, rx328_off
+  rx328_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan331_done
+    goto rxscan331_scan
+  rxscan331_loop:
+    ($P10) = rx328_cur."from"()
+    inc $P10
+    set rx328_pos, $P10
+    ge rx328_pos, rx328_eos, rxscan331_done
+  rxscan331_scan:
+    set_addr $I10, rxscan331_loop
+    rx328_cur."!mark_push"(0, rx328_pos, $I10)
+  rxscan331_done:
 .annotate "line", 117
   # rx literal  ":PIR{{"
-    add $I11, rx324_pos, 6
-    gt $I11, rx324_eos, rx324_fail
-    sub $I11, rx324_pos, rx324_off
-    substr $S10, rx324_tgt, $I11, 6
-    ne $S10, ":PIR{{", rx324_fail
-    add rx324_pos, 6
+    add $I11, rx328_pos, 6
+    gt $I11, rx328_eos, rx328_fail
+    sub $I11, rx328_pos, rx328_off
+    substr $S10, rx328_tgt, $I11, 6
+    ne $S10, ":PIR{{", rx328_fail
+    add rx328_pos, 6
   # rx subcapture "pir"
-    set_addr $I10, rxcap_330_fail
-    rx324_cur."!mark_push"(0, rx324_pos, $I10)
-  # rx rxquantf328 ** 0..*
-    set_addr $I10, rxquantf328_loop
-    rx324_cur."!mark_push"(0, rx324_pos, $I10)
-    goto rxquantf328_done
-  rxquantf328_loop:
+    set_addr $I10, rxcap_334_fail
+    rx328_cur."!mark_push"(0, rx328_pos, $I10)
+  # rx rxquantf332 ** 0..*
+    set_addr $I10, rxquantf332_loop
+    rx328_cur."!mark_push"(0, rx328_pos, $I10)
+    goto rxquantf332_done
+  rxquantf332_loop:
   # rx charclass .
-    ge rx324_pos, rx324_eos, rx324_fail
-    inc rx324_pos
-    set_addr $I10, rxquantf328_loop
-    rx324_cur."!mark_push"($I329, rx324_pos, $I10)
-  rxquantf328_done:
-    set_addr $I10, rxcap_330_fail
-    ($I12, $I11) = rx324_cur."!mark_peek"($I10)
-    rx324_cur."!cursor_pos"($I11)
-    ($P10) = rx324_cur."!cursor_start"()
-    $P10."!cursor_pass"(rx324_pos, "")
-    rx324_cur."!mark_push"(0, -1, 0, $P10)
+    ge rx328_pos, rx328_eos, rx328_fail
+    inc rx328_pos
+    set_addr $I10, rxquantf332_loop
+    rx328_cur."!mark_push"($I333, rx328_pos, $I10)
+  rxquantf332_done:
+    set_addr $I10, rxcap_334_fail
+    ($I12, $I11) = rx328_cur."!mark_peek"($I10)
+    rx328_cur."!cursor_pos"($I11)
+    ($P10) = rx328_cur."!cursor_start"()
+    $P10."!cursor_pass"(rx328_pos, "")
+    rx328_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("pir")
-    goto rxcap_330_done
-  rxcap_330_fail:
-    goto rx324_fail
-  rxcap_330_done:
+    goto rxcap_334_done
+  rxcap_334_fail:
+    goto rx328_fail
+  rxcap_334_done:
   # rx literal  "}}"
-    add $I11, rx324_pos, 2
-    gt $I11, rx324_eos, rx324_fail
-    sub $I11, rx324_pos, rx324_off
-    substr $S10, rx324_tgt, $I11, 2
-    ne $S10, "}}", rx324_fail
-    add rx324_pos, 2
+    add $I11, rx328_pos, 2
+    gt $I11, rx328_eos, rx328_fail
+    sub $I11, rx328_pos, rx328_off
+    substr $S10, rx328_tgt, $I11, 2
+    ne $S10, "}}", rx328_fail
+    add rx328_pos, 2
 .annotate "line", 116
   # rx pass
-    rx324_cur."!cursor_pass"(rx324_pos, "metachar:sym<PIR>")
-    rx324_cur."!cursor_debug"("PASS  ", "metachar:sym<PIR>", " at pos=", rx324_pos)
-    .return (rx324_cur)
-  rx324_fail:
+    rx328_cur."!cursor_pass"(rx328_pos, "metachar:sym<PIR>")
+    rx328_cur."!cursor_debug"("PASS  ", "metachar:sym<PIR>", " at pos=", rx328_pos)
+    .return (rx328_cur)
+  rx328_fail:
 .annotate "line", 3
-    (rx324_rep, rx324_pos, $I10, $P10) = rx324_cur."!mark_fail"(0)
-    lt rx324_pos, -1, rx324_done
-    eq rx324_pos, -1, rx324_fail
+    (rx328_rep, rx328_pos, $I10, $P10) = rx328_cur."!mark_fail"(0)
+    lt rx328_pos, -1, rx328_done
+    eq rx328_pos, -1, rx328_fail
     jump $I10
-  rx324_done:
-    rx324_cur."!cursor_fail"()
-    rx324_cur."!cursor_debug"("FAIL  ", "metachar:sym<PIR>")
-    .return (rx324_cur)
+  rx328_done:
+    rx328_cur."!cursor_fail"()
+    rx328_cur."!cursor_debug"("FAIL  ", "metachar:sym<PIR>")
+    .return (rx328_cur)
     .return ()
 .end
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__metachar:sym<PIR>"  :subid("90_1259103974.80122") :method
+.sub "!PREFIX__metachar:sym<PIR>"  :subid("90_1259177736.62303") :method
 .annotate "line", 3
-    new $P326, "ResizablePMCArray"
-    push $P326, ":PIR{{"
-    .return ($P326)
+    new $P330, "ResizablePMCArray"
+    push $P330, ":PIR{{"
+    .return ($P330)
 .end
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "backslash"  :subid("91_1259103974.80122") :method
+.sub "backslash"  :subid("91_1259177736.62303") :method
 .annotate "line", 120
-    $P332 = self."!protoregex"("backslash")
-    .return ($P332)
+    $P336 = self."!protoregex"("backslash")
+    .return ($P336)
 .end
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__backslash"  :subid("92_1259103974.80122") :method
+.sub "!PREFIX__backslash"  :subid("92_1259177736.62303") :method
 .annotate "line", 120
-    $P334 = self."!PREFIX__!protoregex"("backslash")
-    .return ($P334)
+    $P338 = self."!PREFIX__!protoregex"("backslash")
+    .return ($P338)
 .end
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "backslash:sym<w>"  :subid("93_1259103974.80122") :method :outer("11_1259103974.80122")
+.sub "backslash:sym<w>"  :subid("93_1259177736.62303") :method :outer("11_1259177736.62303")
 .annotate "line", 3
-    .local string rx336_tgt
-    .local int rx336_pos
-    .local int rx336_off
-    .local int rx336_eos
-    .local int rx336_rep
-    .local pmc rx336_cur
-    (rx336_cur, rx336_pos, rx336_tgt) = self."!cursor_start"()
-    rx336_cur."!cursor_debug"("START ", "backslash:sym<w>")
-    .lex unicode:"$\x{a2}", rx336_cur
-    .local pmc match
-    .lex "$/", match
-    length rx336_eos, rx336_tgt
-    set rx336_off, 0
-    lt rx336_pos, 2, rx336_start
-    sub rx336_off, rx336_pos, 1
-    substr rx336_tgt, rx336_tgt, rx336_off
-  rx336_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan339_done
-    goto rxscan339_scan
-  rxscan339_loop:
-    ($P10) = rx336_cur."from"()
-    inc $P10
-    set rx336_pos, $P10
-    ge rx336_pos, rx336_eos, rxscan339_done
-  rxscan339_scan:
-    set_addr $I10, rxscan339_loop
-    rx336_cur."!mark_push"(0, rx336_pos, $I10)
-  rxscan339_done:
+    .local string rx340_tgt
+    .local int rx340_pos
+    .local int rx340_off
+    .local int rx340_eos
+    .local int rx340_rep
+    .local pmc rx340_cur
+    (rx340_cur, rx340_pos, rx340_tgt) = self."!cursor_start"()
+    rx340_cur."!cursor_debug"("START ", "backslash:sym<w>")
+    .lex unicode:"$\x{a2}", rx340_cur
+    .local pmc match
+    .lex "$/", match
+    length rx340_eos, rx340_tgt
+    set rx340_off, 0
+    lt rx340_pos, 2, rx340_start
+    sub rx340_off, rx340_pos, 1
+    substr rx340_tgt, rx340_tgt, rx340_off
+  rx340_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan343_done
+    goto rxscan343_scan
+  rxscan343_loop:
+    ($P10) = rx340_cur."from"()
+    inc $P10
+    set rx340_pos, $P10
+    ge rx340_pos, rx340_eos, rxscan343_done
+  rxscan343_scan:
+    set_addr $I10, rxscan343_loop
+    rx340_cur."!mark_push"(0, rx340_pos, $I10)
+  rxscan343_done:
 .annotate "line", 121
   # rx subcapture "sym"
-    set_addr $I10, rxcap_340_fail
-    rx336_cur."!mark_push"(0, rx336_pos, $I10)
+    set_addr $I10, rxcap_344_fail
+    rx340_cur."!mark_push"(0, rx340_pos, $I10)
   # rx enumcharlist negate=0 
-    ge rx336_pos, rx336_eos, rx336_fail
-    sub $I10, rx336_pos, rx336_off
-    substr $S10, rx336_tgt, $I10, 1
+    ge rx340_pos, rx340_eos, rx340_fail
+    sub $I10, rx340_pos, rx340_off
+    substr $S10, rx340_tgt, $I10, 1
     index $I11, "dswnDSWN", $S10
-    lt $I11, 0, rx336_fail
-    inc rx336_pos
-    set_addr $I10, rxcap_340_fail
-    ($I12, $I11) = rx336_cur."!mark_peek"($I10)
-    rx336_cur."!cursor_pos"($I11)
-    ($P10) = rx336_cur."!cursor_start"()
-    $P10."!cursor_pass"(rx336_pos, "")
-    rx336_cur."!mark_push"(0, -1, 0, $P10)
+    lt $I11, 0, rx340_fail
+    inc rx340_pos
+    set_addr $I10, rxcap_344_fail
+    ($I12, $I11) = rx340_cur."!mark_peek"($I10)
+    rx340_cur."!cursor_pos"($I11)
+    ($P10) = rx340_cur."!cursor_start"()
+    $P10."!cursor_pass"(rx340_pos, "")
+    rx340_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("sym")
-    goto rxcap_340_done
-  rxcap_340_fail:
-    goto rx336_fail
-  rxcap_340_done:
+    goto rxcap_344_done
+  rxcap_344_fail:
+    goto rx340_fail
+  rxcap_344_done:
   # rx pass
-    rx336_cur."!cursor_pass"(rx336_pos, "backslash:sym<w>")
-    rx336_cur."!cursor_debug"("PASS  ", "backslash:sym<w>", " at pos=", rx336_pos)
-    .return (rx336_cur)
-  rx336_fail:
+    rx340_cur."!cursor_pass"(rx340_pos, "backslash:sym<w>")
+    rx340_cur."!cursor_debug"("PASS  ", "backslash:sym<w>", " at pos=", rx340_pos)
+    .return (rx340_cur)
+  rx340_fail:
 .annotate "line", 3
-    (rx336_rep, rx336_pos, $I10, $P10) = rx336_cur."!mark_fail"(0)
-    lt rx336_pos, -1, rx336_done
-    eq rx336_pos, -1, rx336_fail
+    (rx340_rep, rx340_pos, $I10, $P10) = rx340_cur."!mark_fail"(0)
+    lt rx340_pos, -1, rx340_done
+    eq rx340_pos, -1, rx340_fail
     jump $I10
-  rx336_done:
-    rx336_cur."!cursor_fail"()
-    rx336_cur."!cursor_debug"("FAIL  ", "backslash:sym<w>")
-    .return (rx336_cur)
+  rx340_done:
+    rx340_cur."!cursor_fail"()
+    rx340_cur."!cursor_debug"("FAIL  ", "backslash:sym<w>")
+    .return (rx340_cur)
     .return ()
 .end
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__backslash:sym<w>"  :subid("94_1259103974.80122") :method
+.sub "!PREFIX__backslash:sym<w>"  :subid("94_1259177736.62303") :method
 .annotate "line", 3
-    new $P338, "ResizablePMCArray"
-    push $P338, "N"
-    push $P338, "W"
-    push $P338, "S"
-    push $P338, "D"
-    push $P338, "n"
-    push $P338, "w"
-    push $P338, "s"
-    push $P338, "d"
-    .return ($P338)
+    new $P342, "ResizablePMCArray"
+    push $P342, "N"
+    push $P342, "W"
+    push $P342, "S"
+    push $P342, "D"
+    push $P342, "n"
+    push $P342, "w"
+    push $P342, "s"
+    push $P342, "d"
+    .return ($P342)
 .end
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "backslash:sym<b>"  :subid("95_1259103974.80122") :method :outer("11_1259103974.80122")
+.sub "backslash:sym<b>"  :subid("95_1259177736.62303") :method :outer("11_1259177736.62303")
 .annotate "line", 3
-    .local string rx342_tgt
-    .local int rx342_pos
-    .local int rx342_off
-    .local int rx342_eos
-    .local int rx342_rep
-    .local pmc rx342_cur
-    (rx342_cur, rx342_pos, rx342_tgt) = self."!cursor_start"()
-    rx342_cur."!cursor_debug"("START ", "backslash:sym<b>")
-    .lex unicode:"$\x{a2}", rx342_cur
-    .local pmc match
-    .lex "$/", match
-    length rx342_eos, rx342_tgt
-    set rx342_off, 0
-    lt rx342_pos, 2, rx342_start
-    sub rx342_off, rx342_pos, 1
-    substr rx342_tgt, rx342_tgt, rx342_off
-  rx342_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan345_done
-    goto rxscan345_scan
-  rxscan345_loop:
-    ($P10) = rx342_cur."from"()
-    inc $P10
-    set rx342_pos, $P10
-    ge rx342_pos, rx342_eos, rxscan345_done
-  rxscan345_scan:
-    set_addr $I10, rxscan345_loop
-    rx342_cur."!mark_push"(0, rx342_pos, $I10)
-  rxscan345_done:
+    .local string rx346_tgt
+    .local int rx346_pos
+    .local int rx346_off
+    .local int rx346_eos
+    .local int rx346_rep
+    .local pmc rx346_cur
+    (rx346_cur, rx346_pos, rx346_tgt) = self."!cursor_start"()
+    rx346_cur."!cursor_debug"("START ", "backslash:sym<b>")
+    .lex unicode:"$\x{a2}", rx346_cur
+    .local pmc match
+    .lex "$/", match
+    length rx346_eos, rx346_tgt
+    set rx346_off, 0
+    lt rx346_pos, 2, rx346_start
+    sub rx346_off, rx346_pos, 1
+    substr rx346_tgt, rx346_tgt, rx346_off
+  rx346_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan349_done
+    goto rxscan349_scan
+  rxscan349_loop:
+    ($P10) = rx346_cur."from"()
+    inc $P10
+    set rx346_pos, $P10
+    ge rx346_pos, rx346_eos, rxscan349_done
+  rxscan349_scan:
+    set_addr $I10, rxscan349_loop
+    rx346_cur."!mark_push"(0, rx346_pos, $I10)
+  rxscan349_done:
 .annotate "line", 122
   # rx subcapture "sym"
-    set_addr $I10, rxcap_346_fail
-    rx342_cur."!mark_push"(0, rx342_pos, $I10)
+    set_addr $I10, rxcap_350_fail
+    rx346_cur."!mark_push"(0, rx346_pos, $I10)
   # rx enumcharlist negate=0 
-    ge rx342_pos, rx342_eos, rx342_fail
-    sub $I10, rx342_pos, rx342_off
-    substr $S10, rx342_tgt, $I10, 1
+    ge rx346_pos, rx346_eos, rx346_fail
+    sub $I10, rx346_pos, rx346_off
+    substr $S10, rx346_tgt, $I10, 1
     index $I11, "bB", $S10
-    lt $I11, 0, rx342_fail
-    inc rx342_pos
-    set_addr $I10, rxcap_346_fail
-    ($I12, $I11) = rx342_cur."!mark_peek"($I10)
-    rx342_cur."!cursor_pos"($I11)
-    ($P10) = rx342_cur."!cursor_start"()
-    $P10."!cursor_pass"(rx342_pos, "")
-    rx342_cur."!mark_push"(0, -1, 0, $P10)
+    lt $I11, 0, rx346_fail
+    inc rx346_pos
+    set_addr $I10, rxcap_350_fail
+    ($I12, $I11) = rx346_cur."!mark_peek"($I10)
+    rx346_cur."!cursor_pos"($I11)
+    ($P10) = rx346_cur."!cursor_start"()
+    $P10."!cursor_pass"(rx346_pos, "")
+    rx346_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("sym")
-    goto rxcap_346_done
-  rxcap_346_fail:
-    goto rx342_fail
-  rxcap_346_done:
+    goto rxcap_350_done
+  rxcap_350_fail:
+    goto rx346_fail
+  rxcap_350_done:
   # rx pass
-    rx342_cur."!cursor_pass"(rx342_pos, "backslash:sym<b>")
-    rx342_cur."!cursor_debug"("PASS  ", "backslash:sym<b>", " at pos=", rx342_pos)
-    .return (rx342_cur)
-  rx342_fail:
+    rx346_cur."!cursor_pass"(rx346_pos, "backslash:sym<b>")
+    rx346_cur."!cursor_debug"("PASS  ", "backslash:sym<b>", " at pos=", rx346_pos)
+    .return (rx346_cur)
+  rx346_fail:
 .annotate "line", 3
-    (rx342_rep, rx342_pos, $I10, $P10) = rx342_cur."!mark_fail"(0)
-    lt rx342_pos, -1, rx342_done
-    eq rx342_pos, -1, rx342_fail
+    (rx346_rep, rx346_pos, $I10, $P10) = rx346_cur."!mark_fail"(0)
+    lt rx346_pos, -1, rx346_done
+    eq rx346_pos, -1, rx346_fail
     jump $I10
-  rx342_done:
-    rx342_cur."!cursor_fail"()
-    rx342_cur."!cursor_debug"("FAIL  ", "backslash:sym<b>")
-    .return (rx342_cur)
+  rx346_done:
+    rx346_cur."!cursor_fail"()
+    rx346_cur."!cursor_debug"("FAIL  ", "backslash:sym<b>")
+    .return (rx346_cur)
     .return ()
 .end
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__backslash:sym<b>"  :subid("96_1259103974.80122") :method
+.sub "!PREFIX__backslash:sym<b>"  :subid("96_1259177736.62303") :method
 .annotate "line", 3
-    new $P344, "ResizablePMCArray"
-    push $P344, "B"
-    push $P344, "b"
-    .return ($P344)
+    new $P348, "ResizablePMCArray"
+    push $P348, "B"
+    push $P348, "b"
+    .return ($P348)
 .end
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "backslash:sym<e>"  :subid("97_1259103974.80122") :method :outer("11_1259103974.80122")
+.sub "backslash:sym<e>"  :subid("97_1259177736.62303") :method :outer("11_1259177736.62303")
 .annotate "line", 3
-    .local string rx348_tgt
-    .local int rx348_pos
-    .local int rx348_off
-    .local int rx348_eos
-    .local int rx348_rep
-    .local pmc rx348_cur
-    (rx348_cur, rx348_pos, rx348_tgt) = self."!cursor_start"()
-    rx348_cur."!cursor_debug"("START ", "backslash:sym<e>")
-    .lex unicode:"$\x{a2}", rx348_cur
+    .local string rx352_tgt
+    .local int rx352_pos
+    .local int rx352_off
+    .local int rx352_eos
+    .local int rx352_rep
+    .local pmc rx352_cur
+    (rx352_cur, rx352_pos, rx352_tgt) = self."!cursor_start"()
+    rx352_cur."!cursor_debug"("START ", "backslash:sym<e>")
+    .lex unicode:"$\x{a2}", rx352_cur
     .local pmc match
     .lex "$/", match
-    length rx348_eos, rx348_tgt
-    set rx348_off, 0
-    lt rx348_pos, 2, rx348_start
-    sub rx348_off, rx348_pos, 1
-    substr rx348_tgt, rx348_tgt, rx348_off
-  rx348_start:
+    length rx352_eos, rx352_tgt
+    set rx352_off, 0
+    lt rx352_pos, 2, rx352_start
+    sub rx352_off, rx352_pos, 1
+    substr rx352_tgt, rx352_tgt, rx352_off
+  rx352_start:
     $I10 = self.'from'()
-    ne $I10, -1, rxscan351_done
-    goto rxscan351_scan
-  rxscan351_loop:
-    ($P10) = rx348_cur."from"()
+    ne $I10, -1, rxscan355_done
+    goto rxscan355_scan
+  rxscan355_loop:
+    ($P10) = rx352_cur."from"()
     inc $P10
-    set rx348_pos, $P10
-    ge rx348_pos, rx348_eos, rxscan351_done
-  rxscan351_scan:
-    set_addr $I10, rxscan351_loop
-    rx348_cur."!mark_push"(0, rx348_pos, $I10)
-  rxscan351_done:
+    set rx352_pos, $P10
+    ge rx352_pos, rx352_eos, rxscan355_done
+  rxscan355_scan:
+    set_addr $I10, rxscan355_loop
+    rx352_cur."!mark_push"(0, rx352_pos, $I10)
+  rxscan355_done:
 .annotate "line", 123
   # rx subcapture "sym"
-    set_addr $I10, rxcap_352_fail
-    rx348_cur."!mark_push"(0, rx348_pos, $I10)
+    set_addr $I10, rxcap_356_fail
+    rx352_cur."!mark_push"(0, rx352_pos, $I10)
   # rx enumcharlist negate=0 
-    ge rx348_pos, rx348_eos, rx348_fail
-    sub $I10, rx348_pos, rx348_off
-    substr $S10, rx348_tgt, $I10, 1
+    ge rx352_pos, rx352_eos, rx352_fail
+    sub $I10, rx352_pos, rx352_off
+    substr $S10, rx352_tgt, $I10, 1
     index $I11, "eE", $S10
-    lt $I11, 0, rx348_fail
-    inc rx348_pos
-    set_addr $I10, rxcap_352_fail
-    ($I12, $I11) = rx348_cur."!mark_peek"($I10)
-    rx348_cur."!cursor_pos"($I11)
-    ($P10) = rx348_cur."!cursor_start"()
-    $P10."!cursor_pass"(rx348_pos, "")
-    rx348_cur."!mark_push"(0, -1, 0, $P10)
+    lt $I11, 0, rx352_fail
+    inc rx352_pos
+    set_addr $I10, rxcap_356_fail
+    ($I12, $I11) = rx352_cur."!mark_peek"($I10)
+    rx352_cur."!cursor_pos"($I11)
+    ($P10) = rx352_cur."!cursor_start"()
+    $P10."!cursor_pass"(rx352_pos, "")
+    rx352_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("sym")
-    goto rxcap_352_done
-  rxcap_352_fail:
-    goto rx348_fail
-  rxcap_352_done:
+    goto rxcap_356_done
+  rxcap_356_fail:
+    goto rx352_fail
+  rxcap_356_done:
   # rx pass
-    rx348_cur."!cursor_pass"(rx348_pos, "backslash:sym<e>")
-    rx348_cur."!cursor_debug"("PASS  ", "backslash:sym<e>", " at pos=", rx348_pos)
-    .return (rx348_cur)
-  rx348_fail:
+    rx352_cur."!cursor_pass"(rx352_pos, "backslash:sym<e>")
+    rx352_cur."!cursor_debug"("PASS  ", "backslash:sym<e>", " at pos=", rx352_pos)
+    .return (rx352_cur)
+  rx352_fail:
 .annotate "line", 3
-    (rx348_rep, rx348_pos, $I10, $P10) = rx348_cur."!mark_fail"(0)
-    lt rx348_pos, -1, rx348_done
-    eq rx348_pos, -1, rx348_fail
+    (rx352_rep, rx352_pos, $I10, $P10) = rx352_cur."!mark_fail"(0)
+    lt rx352_pos, -1, rx352_done
+    eq rx352_pos, -1, rx352_fail
     jump $I10
-  rx348_done:
-    rx348_cur."!cursor_fail"()
-    rx348_cur."!cursor_debug"("FAIL  ", "backslash:sym<e>")
-    .return (rx348_cur)
+  rx352_done:
+    rx352_cur."!cursor_fail"()
+    rx352_cur."!cursor_debug"("FAIL  ", "backslash:sym<e>")
+    .return (rx352_cur)
     .return ()
 .end
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__backslash:sym<e>"  :subid("98_1259103974.80122") :method
+.sub "!PREFIX__backslash:sym<e>"  :subid("98_1259177736.62303") :method
 .annotate "line", 3
-    new $P350, "ResizablePMCArray"
-    push $P350, "E"
-    push $P350, "e"
-    .return ($P350)
+    new $P354, "ResizablePMCArray"
+    push $P354, "E"
+    push $P354, "e"
+    .return ($P354)
 .end
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "backslash:sym<f>"  :subid("99_1259103974.80122") :method :outer("11_1259103974.80122")
+.sub "backslash:sym<f>"  :subid("99_1259177736.62303") :method :outer("11_1259177736.62303")
 .annotate "line", 3
-    .local string rx354_tgt
-    .local int rx354_pos
-    .local int rx354_off
-    .local int rx354_eos
-    .local int rx354_rep
-    .local pmc rx354_cur
-    (rx354_cur, rx354_pos, rx354_tgt) = self."!cursor_start"()
-    rx354_cur."!cursor_debug"("START ", "backslash:sym<f>")
-    .lex unicode:"$\x{a2}", rx354_cur
+    .local string rx358_tgt
+    .local int rx358_pos
+    .local int rx358_off
+    .local int rx358_eos
+    .local int rx358_rep
+    .local pmc rx358_cur
+    (rx358_cur, rx358_pos, rx358_tgt) = self."!cursor_start"()
+    rx358_cur."!cursor_debug"("START ", "backslash:sym<f>")
+    .lex unicode:"$\x{a2}", rx358_cur
     .local pmc match
     .lex "$/", match
-    length rx354_eos, rx354_tgt
-    set rx354_off, 0
-    lt rx354_pos, 2, rx354_start
-    sub rx354_off, rx354_pos, 1
-    substr rx354_tgt, rx354_tgt, rx354_off
-  rx354_start:
+    length rx358_eos, rx358_tgt
+    set rx358_off, 0
+    lt rx358_pos, 2, rx358_start
+    sub rx358_off, rx358_pos, 1
+    substr rx358_tgt, rx358_tgt, rx358_off
+  rx358_start:
     $I10 = self.'from'()
-    ne $I10, -1, rxscan357_done
-    goto rxscan357_scan
-  rxscan357_loop:
-    ($P10) = rx354_cur."from"()
+    ne $I10, -1, rxscan361_done
+    goto rxscan361_scan
+  rxscan361_loop:
+    ($P10) = rx358_cur."from"()
     inc $P10
-    set rx354_pos, $P10
-    ge rx354_pos, rx354_eos, rxscan357_done
-  rxscan357_scan:
-    set_addr $I10, rxscan357_loop
-    rx354_cur."!mark_push"(0, rx354_pos, $I10)
-  rxscan357_done:
+    set rx358_pos, $P10
+    ge rx358_pos, rx358_eos, rxscan361_done
+  rxscan361_scan:
+    set_addr $I10, rxscan361_loop
+    rx358_cur."!mark_push"(0, rx358_pos, $I10)
+  rxscan361_done:
 .annotate "line", 124
   # rx subcapture "sym"
-    set_addr $I10, rxcap_358_fail
-    rx354_cur."!mark_push"(0, rx354_pos, $I10)
+    set_addr $I10, rxcap_362_fail
+    rx358_cur."!mark_push"(0, rx358_pos, $I10)
   # rx enumcharlist negate=0 
-    ge rx354_pos, rx354_eos, rx354_fail
-    sub $I10, rx354_pos, rx354_off
-    substr $S10, rx354_tgt, $I10, 1
+    ge rx358_pos, rx358_eos, rx358_fail
+    sub $I10, rx358_pos, rx358_off
+    substr $S10, rx358_tgt, $I10, 1
     index $I11, "fF", $S10
-    lt $I11, 0, rx354_fail
-    inc rx354_pos
-    set_addr $I10, rxcap_358_fail
-    ($I12, $I11) = rx354_cur."!mark_peek"($I10)
-    rx354_cur."!cursor_pos"($I11)
-    ($P10) = rx354_cur."!cursor_start"()
-    $P10."!cursor_pass"(rx354_pos, "")
-    rx354_cur."!mark_push"(0, -1, 0, $P10)
+    lt $I11, 0, rx358_fail
+    inc rx358_pos
+    set_addr $I10, rxcap_362_fail
+    ($I12, $I11) = rx358_cur."!mark_peek"($I10)
+    rx358_cur."!cursor_pos"($I11)
+    ($P10) = rx358_cur."!cursor_start"()
+    $P10."!cursor_pass"(rx358_pos, "")
+    rx358_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("sym")
-    goto rxcap_358_done
-  rxcap_358_fail:
-    goto rx354_fail
-  rxcap_358_done:
+    goto rxcap_362_done
+  rxcap_362_fail:
+    goto rx358_fail
+  rxcap_362_done:
   # rx pass
-    rx354_cur."!cursor_pass"(rx354_pos, "backslash:sym<f>")
-    rx354_cur."!cursor_debug"("PASS  ", "backslash:sym<f>", " at pos=", rx354_pos)
-    .return (rx354_cur)
-  rx354_fail:
+    rx358_cur."!cursor_pass"(rx358_pos, "backslash:sym<f>")
+    rx358_cur."!cursor_debug"("PASS  ", "backslash:sym<f>", " at pos=", rx358_pos)
+    .return (rx358_cur)
+  rx358_fail:
 .annotate "line", 3
-    (rx354_rep, rx354_pos, $I10, $P10) = rx354_cur."!mark_fail"(0)
-    lt rx354_pos, -1, rx354_done
-    eq rx354_pos, -1, rx354_fail
+    (rx358_rep, rx358_pos, $I10, $P10) = rx358_cur."!mark_fail"(0)
+    lt rx358_pos, -1, rx358_done
+    eq rx358_pos, -1, rx358_fail
     jump $I10
-  rx354_done:
-    rx354_cur."!cursor_fail"()
-    rx354_cur."!cursor_debug"("FAIL  ", "backslash:sym<f>")
-    .return (rx354_cur)
+  rx358_done:
+    rx358_cur."!cursor_fail"()
+    rx358_cur."!cursor_debug"("FAIL  ", "backslash:sym<f>")
+    .return (rx358_cur)
     .return ()
 .end
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__backslash:sym<f>"  :subid("100_1259103974.80122") :method
+.sub "!PREFIX__backslash:sym<f>"  :subid("100_1259177736.62303") :method
 .annotate "line", 3
-    new $P356, "ResizablePMCArray"
-    push $P356, "F"
-    push $P356, "f"
-    .return ($P356)
+    new $P360, "ResizablePMCArray"
+    push $P360, "F"
+    push $P360, "f"
+    .return ($P360)
 .end
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "backslash:sym<h>"  :subid("101_1259103974.80122") :method :outer("11_1259103974.80122")
+.sub "backslash:sym<h>"  :subid("101_1259177736.62303") :method :outer("11_1259177736.62303")
 .annotate "line", 3
-    .local string rx360_tgt
-    .local int rx360_pos
-    .local int rx360_off
-    .local int rx360_eos
-    .local int rx360_rep
-    .local pmc rx360_cur
-    (rx360_cur, rx360_pos, rx360_tgt) = self."!cursor_start"()
-    rx360_cur."!cursor_debug"("START ", "backslash:sym<h>")
-    .lex unicode:"$\x{a2}", rx360_cur
+    .local string rx364_tgt
+    .local int rx364_pos
+    .local int rx364_off
+    .local int rx364_eos
+    .local int rx364_rep
+    .local pmc rx364_cur
+    (rx364_cur, rx364_pos, rx364_tgt) = self."!cursor_start"()
+    rx364_cur."!cursor_debug"("START ", "backslash:sym<h>")
+    .lex unicode:"$\x{a2}", rx364_cur
     .local pmc match
     .lex "$/", match
-    length rx360_eos, rx360_tgt
-    set rx360_off, 0
-    lt rx360_pos, 2, rx360_start
-    sub rx360_off, rx360_pos, 1
-    substr rx360_tgt, rx360_tgt, rx360_off
-  rx360_start:
+    length rx364_eos, rx364_tgt
+    set rx364_off, 0
+    lt rx364_pos, 2, rx364_start
+    sub rx364_off, rx364_pos, 1
+    substr rx364_tgt, rx364_tgt, rx364_off
+  rx364_start:
     $I10 = self.'from'()
-    ne $I10, -1, rxscan363_done
-    goto rxscan363_scan
-  rxscan363_loop:
-    ($P10) = rx360_cur."from"()
+    ne $I10, -1, rxscan367_done
+    goto rxscan367_scan
+  rxscan367_loop:
+    ($P10) = rx364_cur."from"()
     inc $P10
-    set rx360_pos, $P10
-    ge rx360_pos, rx360_eos, rxscan363_done
-  rxscan363_scan:
-    set_addr $I10, rxscan363_loop
-    rx360_cur."!mark_push"(0, rx360_pos, $I10)
-  rxscan363_done:
+    set rx364_pos, $P10
+    ge rx364_pos, rx364_eos, rxscan367_done
+  rxscan367_scan:
+    set_addr $I10, rxscan367_loop
+    rx364_cur."!mark_push"(0, rx364_pos, $I10)
+  rxscan367_done:
 .annotate "line", 125
   # rx subcapture "sym"
-    set_addr $I10, rxcap_364_fail
-    rx360_cur."!mark_push"(0, rx360_pos, $I10)
+    set_addr $I10, rxcap_368_fail
+    rx364_cur."!mark_push"(0, rx364_pos, $I10)
   # rx enumcharlist negate=0 
-    ge rx360_pos, rx360_eos, rx360_fail
-    sub $I10, rx360_pos, rx360_off
-    substr $S10, rx360_tgt, $I10, 1
+    ge rx364_pos, rx364_eos, rx364_fail
+    sub $I10, rx364_pos, rx364_off
+    substr $S10, rx364_tgt, $I10, 1
     index $I11, "hH", $S10
-    lt $I11, 0, rx360_fail
-    inc rx360_pos
-    set_addr $I10, rxcap_364_fail
-    ($I12, $I11) = rx360_cur."!mark_peek"($I10)
-    rx360_cur."!cursor_pos"($I11)
-    ($P10) = rx360_cur."!cursor_start"()
-    $P10."!cursor_pass"(rx360_pos, "")
-    rx360_cur."!mark_push"(0, -1, 0, $P10)
+    lt $I11, 0, rx364_fail
+    inc rx364_pos
+    set_addr $I10, rxcap_368_fail
+    ($I12, $I11) = rx364_cur."!mark_peek"($I10)
+    rx364_cur."!cursor_pos"($I11)
+    ($P10) = rx364_cur."!cursor_start"()
+    $P10."!cursor_pass"(rx364_pos, "")
+    rx364_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("sym")
-    goto rxcap_364_done
-  rxcap_364_fail:
-    goto rx360_fail
-  rxcap_364_done:
+    goto rxcap_368_done
+  rxcap_368_fail:
+    goto rx364_fail
+  rxcap_368_done:
   # rx pass
-    rx360_cur."!cursor_pass"(rx360_pos, "backslash:sym<h>")
-    rx360_cur."!cursor_debug"("PASS  ", "backslash:sym<h>", " at pos=", rx360_pos)
-    .return (rx360_cur)
-  rx360_fail:
+    rx364_cur."!cursor_pass"(rx364_pos, "backslash:sym<h>")
+    rx364_cur."!cursor_debug"("PASS  ", "backslash:sym<h>", " at pos=", rx364_pos)
+    .return (rx364_cur)
+  rx364_fail:
 .annotate "line", 3
-    (rx360_rep, rx360_pos, $I10, $P10) = rx360_cur."!mark_fail"(0)
-    lt rx360_pos, -1, rx360_done
-    eq rx360_pos, -1, rx360_fail
+    (rx364_rep, rx364_pos, $I10, $P10) = rx364_cur."!mark_fail"(0)
+    lt rx364_pos, -1, rx364_done
+    eq rx364_pos, -1, rx364_fail
     jump $I10
-  rx360_done:
-    rx360_cur."!cursor_fail"()
-    rx360_cur."!cursor_debug"("FAIL  ", "backslash:sym<h>")
-    .return (rx360_cur)
+  rx364_done:
+    rx364_cur."!cursor_fail"()
+    rx364_cur."!cursor_debug"("FAIL  ", "backslash:sym<h>")
+    .return (rx364_cur)
     .return ()
 .end
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__backslash:sym<h>"  :subid("102_1259103974.80122") :method
+.sub "!PREFIX__backslash:sym<h>"  :subid("102_1259177736.62303") :method
 .annotate "line", 3
-    new $P362, "ResizablePMCArray"
-    push $P362, "H"
-    push $P362, "h"
-    .return ($P362)
+    new $P366, "ResizablePMCArray"
+    push $P366, "H"
+    push $P366, "h"
+    .return ($P366)
 .end
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "backslash:sym<r>"  :subid("103_1259103974.80122") :method :outer("11_1259103974.80122")
+.sub "backslash:sym<r>"  :subid("103_1259177736.62303") :method :outer("11_1259177736.62303")
 .annotate "line", 3
-    .local string rx366_tgt
-    .local int rx366_pos
-    .local int rx366_off
-    .local int rx366_eos
-    .local int rx366_rep
-    .local pmc rx366_cur
-    (rx366_cur, rx366_pos, rx366_tgt) = self."!cursor_start"()
-    rx366_cur."!cursor_debug"("START ", "backslash:sym<r>")
-    .lex unicode:"$\x{a2}", rx366_cur
-    .local pmc match
-    .lex "$/", match
-    length rx366_eos, rx366_tgt
-    set rx366_off, 0
-    lt rx366_pos, 2, rx366_start
-    sub rx366_off, rx366_pos, 1
-    substr rx366_tgt, rx366_tgt, rx366_off
-  rx366_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan369_done
-    goto rxscan369_scan
-  rxscan369_loop:
-    ($P10) = rx366_cur."from"()
-    inc $P10
-    set rx366_pos, $P10
-    ge rx366_pos, rx366_eos, rxscan369_done
-  rxscan369_scan:
-    set_addr $I10, rxscan369_loop
-    rx366_cur."!mark_push"(0, rx366_pos, $I10)
-  rxscan369_done:
+    .local string rx370_tgt
+    .local int rx370_pos
+    .local int rx370_off
+    .local int rx370_eos
+    .local int rx370_rep
+    .local pmc rx370_cur
+    (rx370_cur, rx370_pos, rx370_tgt) = self."!cursor_start"()
+    rx370_cur."!cursor_debug"("START ", "backslash:sym<r>")
+    .lex unicode:"$\x{a2}", rx370_cur
+    .local pmc match
+    .lex "$/", match
+    length rx370_eos, rx370_tgt
+    set rx370_off, 0
+    lt rx370_pos, 2, rx370_start
+    sub rx370_off, rx370_pos, 1
+    substr rx370_tgt, rx370_tgt, rx370_off
+  rx370_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan373_done
+    goto rxscan373_scan
+  rxscan373_loop:
+    ($P10) = rx370_cur."from"()
+    inc $P10
+    set rx370_pos, $P10
+    ge rx370_pos, rx370_eos, rxscan373_done
+  rxscan373_scan:
+    set_addr $I10, rxscan373_loop
+    rx370_cur."!mark_push"(0, rx370_pos, $I10)
+  rxscan373_done:
 .annotate "line", 126
   # rx subcapture "sym"
-    set_addr $I10, rxcap_370_fail
-    rx366_cur."!mark_push"(0, rx366_pos, $I10)
+    set_addr $I10, rxcap_374_fail
+    rx370_cur."!mark_push"(0, rx370_pos, $I10)
   # rx enumcharlist negate=0 
-    ge rx366_pos, rx366_eos, rx366_fail
-    sub $I10, rx366_pos, rx366_off
-    substr $S10, rx366_tgt, $I10, 1
+    ge rx370_pos, rx370_eos, rx370_fail
+    sub $I10, rx370_pos, rx370_off
+    substr $S10, rx370_tgt, $I10, 1
     index $I11, "rR", $S10
-    lt $I11, 0, rx366_fail
-    inc rx366_pos
-    set_addr $I10, rxcap_370_fail
-    ($I12, $I11) = rx366_cur."!mark_peek"($I10)
-    rx366_cur."!cursor_pos"($I11)
-    ($P10) = rx366_cur."!cursor_start"()
-    $P10."!cursor_pass"(rx366_pos, "")
-    rx366_cur."!mark_push"(0, -1, 0, $P10)
+    lt $I11, 0, rx370_fail
+    inc rx370_pos
+    set_addr $I10, rxcap_374_fail
+    ($I12, $I11) = rx370_cur."!mark_peek"($I10)
+    rx370_cur."!cursor_pos"($I11)
+    ($P10) = rx370_cur."!cursor_start"()
+    $P10."!cursor_pass"(rx370_pos, "")
+    rx370_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("sym")
-    goto rxcap_370_done
-  rxcap_370_fail:
-    goto rx366_fail
-  rxcap_370_done:
+    goto rxcap_374_done
+  rxcap_374_fail:
+    goto rx370_fail
+  rxcap_374_done:
   # rx pass
-    rx366_cur."!cursor_pass"(rx366_pos, "backslash:sym<r>")
-    rx366_cur."!cursor_debug"("PASS  ", "backslash:sym<r>", " at pos=", rx366_pos)
-    .return (rx366_cur)
-  rx366_fail:
+    rx370_cur."!cursor_pass"(rx370_pos, "backslash:sym<r>")
+    rx370_cur."!cursor_debug"("PASS  ", "backslash:sym<r>", " at pos=", rx370_pos)
+    .return (rx370_cur)
+  rx370_fail:
 .annotate "line", 3
-    (rx366_rep, rx366_pos, $I10, $P10) = rx366_cur."!mark_fail"(0)
-    lt rx366_pos, -1, rx366_done
-    eq rx366_pos, -1, rx366_fail
+    (rx370_rep, rx370_pos, $I10, $P10) = rx370_cur."!mark_fail"(0)
+    lt rx370_pos, -1, rx370_done
+    eq rx370_pos, -1, rx370_fail
     jump $I10
-  rx366_done:
-    rx366_cur."!cursor_fail"()
-    rx366_cur."!cursor_debug"("FAIL  ", "backslash:sym<r>")
-    .return (rx366_cur)
+  rx370_done:
+    rx370_cur."!cursor_fail"()
+    rx370_cur."!cursor_debug"("FAIL  ", "backslash:sym<r>")
+    .return (rx370_cur)
     .return ()
 .end
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__backslash:sym<r>"  :subid("104_1259103974.80122") :method
+.sub "!PREFIX__backslash:sym<r>"  :subid("104_1259177736.62303") :method
 .annotate "line", 3
-    new $P368, "ResizablePMCArray"
-    push $P368, "R"
-    push $P368, "r"
-    .return ($P368)
+    new $P372, "ResizablePMCArray"
+    push $P372, "R"
+    push $P372, "r"
+    .return ($P372)
 .end
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "backslash:sym<t>"  :subid("105_1259103974.80122") :method :outer("11_1259103974.80122")
+.sub "backslash:sym<t>"  :subid("105_1259177736.62303") :method :outer("11_1259177736.62303")
 .annotate "line", 3
-    .local string rx372_tgt
-    .local int rx372_pos
-    .local int rx372_off
-    .local int rx372_eos
-    .local int rx372_rep
-    .local pmc rx372_cur
-    (rx372_cur, rx372_pos, rx372_tgt) = self."!cursor_start"()
-    rx372_cur."!cursor_debug"("START ", "backslash:sym<t>")
-    .lex unicode:"$\x{a2}", rx372_cur
+    .local string rx376_tgt
+    .local int rx376_pos
+    .local int rx376_off
+    .local int rx376_eos
+    .local int rx376_rep
+    .local pmc rx376_cur
+    (rx376_cur, rx376_pos, rx376_tgt) = self."!cursor_start"()
+    rx376_cur."!cursor_debug"("START ", "backslash:sym<t>")
+    .lex unicode:"$\x{a2}", rx376_cur
     .local pmc match
     .lex "$/", match
-    length rx372_eos, rx372_tgt
-    set rx372_off, 0
-    lt rx372_pos, 2, rx372_start
-    sub rx372_off, rx372_pos, 1
-    substr rx372_tgt, rx372_tgt, rx372_off
-  rx372_start:
+    length rx376_eos, rx376_tgt
+    set rx376_off, 0
+    lt rx376_pos, 2, rx376_start
+    sub rx376_off, rx376_pos, 1
+    substr rx376_tgt, rx376_tgt, rx376_off
+  rx376_start:
     $I10 = self.'from'()
-    ne $I10, -1, rxscan375_done
-    goto rxscan375_scan
-  rxscan375_loop:
-    ($P10) = rx372_cur."from"()
+    ne $I10, -1, rxscan379_done
+    goto rxscan379_scan
+  rxscan379_loop:
+    ($P10) = rx376_cur."from"()
     inc $P10
-    set rx372_pos, $P10
-    ge rx372_pos, rx372_eos, rxscan375_done
-  rxscan375_scan:
-    set_addr $I10, rxscan375_loop
-    rx372_cur."!mark_push"(0, rx372_pos, $I10)
-  rxscan375_done:
+    set rx376_pos, $P10
+    ge rx376_pos, rx376_eos, rxscan379_done
+  rxscan379_scan:
+    set_addr $I10, rxscan379_loop
+    rx376_cur."!mark_push"(0, rx376_pos, $I10)
+  rxscan379_done:
 .annotate "line", 127
   # rx subcapture "sym"
-    set_addr $I10, rxcap_376_fail
-    rx372_cur."!mark_push"(0, rx372_pos, $I10)
+    set_addr $I10, rxcap_380_fail
+    rx376_cur."!mark_push"(0, rx376_pos, $I10)
   # rx enumcharlist negate=0 
-    ge rx372_pos, rx372_eos, rx372_fail
-    sub $I10, rx372_pos, rx372_off
-    substr $S10, rx372_tgt, $I10, 1
+    ge rx376_pos, rx376_eos, rx376_fail
+    sub $I10, rx376_pos, rx376_off
+    substr $S10, rx376_tgt, $I10, 1
     index $I11, "tT", $S10
-    lt $I11, 0, rx372_fail
-    inc rx372_pos
-    set_addr $I10, rxcap_376_fail
-    ($I12, $I11) = rx372_cur."!mark_peek"($I10)
-    rx372_cur."!cursor_pos"($I11)
-    ($P10) = rx372_cur."!cursor_start"()
-    $P10."!cursor_pass"(rx372_pos, "")
-    rx372_cur."!mark_push"(0, -1, 0, $P10)
+    lt $I11, 0, rx376_fail
+    inc rx376_pos
+    set_addr $I10, rxcap_380_fail
+    ($I12, $I11) = rx376_cur."!mark_peek"($I10)
+    rx376_cur."!cursor_pos"($I11)
+    ($P10) = rx376_cur."!cursor_start"()
+    $P10."!cursor_pass"(rx376_pos, "")
+    rx376_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("sym")
-    goto rxcap_376_done
-  rxcap_376_fail:
-    goto rx372_fail
-  rxcap_376_done:
+    goto rxcap_380_done
+  rxcap_380_fail:
+    goto rx376_fail
+  rxcap_380_done:
   # rx pass
-    rx372_cur."!cursor_pass"(rx372_pos, "backslash:sym<t>")
-    rx372_cur."!cursor_debug"("PASS  ", "backslash:sym<t>", " at pos=", rx372_pos)
-    .return (rx372_cur)
-  rx372_fail:
+    rx376_cur."!cursor_pass"(rx376_pos, "backslash:sym<t>")
+    rx376_cur."!cursor_debug"("PASS  ", "backslash:sym<t>", " at pos=", rx376_pos)
+    .return (rx376_cur)
+  rx376_fail:
 .annotate "line", 3
-    (rx372_rep, rx372_pos, $I10, $P10) = rx372_cur."!mark_fail"(0)
-    lt rx372_pos, -1, rx372_done
-    eq rx372_pos, -1, rx372_fail
+    (rx376_rep, rx376_pos, $I10, $P10) = rx376_cur."!mark_fail"(0)
+    lt rx376_pos, -1, rx376_done
+    eq rx376_pos, -1, rx376_fail
     jump $I10
-  rx372_done:
-    rx372_cur."!cursor_fail"()
-    rx372_cur."!cursor_debug"("FAIL  ", "backslash:sym<t>")
-    .return (rx372_cur)
+  rx376_done:
+    rx376_cur."!cursor_fail"()
+    rx376_cur."!cursor_debug"("FAIL  ", "backslash:sym<t>")
+    .return (rx376_cur)
     .return ()
 .end
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__backslash:sym<t>"  :subid("106_1259103974.80122") :method
+.sub "!PREFIX__backslash:sym<t>"  :subid("106_1259177736.62303") :method
 .annotate "line", 3
-    new $P374, "ResizablePMCArray"
-    push $P374, "T"
-    push $P374, "t"
-    .return ($P374)
+    new $P378, "ResizablePMCArray"
+    push $P378, "T"
+    push $P378, "t"
+    .return ($P378)
 .end
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "backslash:sym<v>"  :subid("107_1259103974.80122") :method :outer("11_1259103974.80122")
+.sub "backslash:sym<v>"  :subid("107_1259177736.62303") :method :outer("11_1259177736.62303")
 .annotate "line", 3
-    .local string rx378_tgt
-    .local int rx378_pos
-    .local int rx378_off
-    .local int rx378_eos
-    .local int rx378_rep
-    .local pmc rx378_cur
-    (rx378_cur, rx378_pos, rx378_tgt) = self."!cursor_start"()
-    rx378_cur."!cursor_debug"("START ", "backslash:sym<v>")
-    .lex unicode:"$\x{a2}", rx378_cur
+    .local string rx382_tgt
+    .local int rx382_pos
+    .local int rx382_off
+    .local int rx382_eos
+    .local int rx382_rep
+    .local pmc rx382_cur
+    (rx382_cur, rx382_pos, rx382_tgt) = self."!cursor_start"()
+    rx382_cur."!cursor_debug"("START ", "backslash:sym<v>")
+    .lex unicode:"$\x{a2}", rx382_cur
     .local pmc match
     .lex "$/", match
-    length rx378_eos, rx378_tgt
-    set rx378_off, 0
-    lt rx378_pos, 2, rx378_start
-    sub rx378_off, rx378_pos, 1
-    substr rx378_tgt, rx378_tgt, rx378_off
-  rx378_start:
+    length rx382_eos, rx382_tgt
+    set rx382_off, 0
+    lt rx382_pos, 2, rx382_start
+    sub rx382_off, rx382_pos, 1
+    substr rx382_tgt, rx382_tgt, rx382_off
+  rx382_start:
     $I10 = self.'from'()
-    ne $I10, -1, rxscan381_done
-    goto rxscan381_scan
-  rxscan381_loop:
-    ($P10) = rx378_cur."from"()
+    ne $I10, -1, rxscan385_done
+    goto rxscan385_scan
+  rxscan385_loop:
+    ($P10) = rx382_cur."from"()
     inc $P10
-    set rx378_pos, $P10
-    ge rx378_pos, rx378_eos, rxscan381_done
-  rxscan381_scan:
-    set_addr $I10, rxscan381_loop
-    rx378_cur."!mark_push"(0, rx378_pos, $I10)
-  rxscan381_done:
+    set rx382_pos, $P10
+    ge rx382_pos, rx382_eos, rxscan385_done
+  rxscan385_scan:
+    set_addr $I10, rxscan385_loop
+    rx382_cur."!mark_push"(0, rx382_pos, $I10)
+  rxscan385_done:
 .annotate "line", 128
   # rx subcapture "sym"
-    set_addr $I10, rxcap_382_fail
-    rx378_cur."!mark_push"(0, rx378_pos, $I10)
+    set_addr $I10, rxcap_386_fail
+    rx382_cur."!mark_push"(0, rx382_pos, $I10)
   # rx enumcharlist negate=0 
-    ge rx378_pos, rx378_eos, rx378_fail
-    sub $I10, rx378_pos, rx378_off
-    substr $S10, rx378_tgt, $I10, 1
+    ge rx382_pos, rx382_eos, rx382_fail
+    sub $I10, rx382_pos, rx382_off
+    substr $S10, rx382_tgt, $I10, 1
     index $I11, "vV", $S10
-    lt $I11, 0, rx378_fail
-    inc rx378_pos
-    set_addr $I10, rxcap_382_fail
-    ($I12, $I11) = rx378_cur."!mark_peek"($I10)
-    rx378_cur."!cursor_pos"($I11)
-    ($P10) = rx378_cur."!cursor_start"()
-    $P10."!cursor_pass"(rx378_pos, "")
-    rx378_cur."!mark_push"(0, -1, 0, $P10)
+    lt $I11, 0, rx382_fail
+    inc rx382_pos
+    set_addr $I10, rxcap_386_fail
+    ($I12, $I11) = rx382_cur."!mark_peek"($I10)
+    rx382_cur."!cursor_pos"($I11)
+    ($P10) = rx382_cur."!cursor_start"()
+    $P10."!cursor_pass"(rx382_pos, "")
+    rx382_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("sym")
-    goto rxcap_382_done
-  rxcap_382_fail:
-    goto rx378_fail
-  rxcap_382_done:
+    goto rxcap_386_done
+  rxcap_386_fail:
+    goto rx382_fail
+  rxcap_386_done:
   # rx pass
-    rx378_cur."!cursor_pass"(rx378_pos, "backslash:sym<v>")
-    rx378_cur."!cursor_debug"("PASS  ", "backslash:sym<v>", " at pos=", rx378_pos)
-    .return (rx378_cur)
-  rx378_fail:
+    rx382_cur."!cursor_pass"(rx382_pos, "backslash:sym<v>")
+    rx382_cur."!cursor_debug"("PASS  ", "backslash:sym<v>", " at pos=", rx382_pos)
+    .return (rx382_cur)
+  rx382_fail:
 .annotate "line", 3
-    (rx378_rep, rx378_pos, $I10, $P10) = rx378_cur."!mark_fail"(0)
-    lt rx378_pos, -1, rx378_done
-    eq rx378_pos, -1, rx378_fail
+    (rx382_rep, rx382_pos, $I10, $P10) = rx382_cur."!mark_fail"(0)
+    lt rx382_pos, -1, rx382_done
+    eq rx382_pos, -1, rx382_fail
     jump $I10
-  rx378_done:
-    rx378_cur."!cursor_fail"()
-    rx378_cur."!cursor_debug"("FAIL  ", "backslash:sym<v>")
-    .return (rx378_cur)
+  rx382_done:
+    rx382_cur."!cursor_fail"()
+    rx382_cur."!cursor_debug"("FAIL  ", "backslash:sym<v>")
+    .return (rx382_cur)
     .return ()
 .end
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__backslash:sym<v>"  :subid("108_1259103974.80122") :method
+.sub "!PREFIX__backslash:sym<v>"  :subid("108_1259177736.62303") :method
 .annotate "line", 3
-    new $P380, "ResizablePMCArray"
-    push $P380, "V"
-    push $P380, "v"
-    .return ($P380)
+    new $P384, "ResizablePMCArray"
+    push $P384, "V"
+    push $P384, "v"
+    .return ($P384)
 .end
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "backslash:sym<c>"  :subid("109_1259103974.80122") :method :outer("11_1259103974.80122")
+.sub "backslash:sym<c>"  :subid("109_1259177736.62303") :method :outer("11_1259177736.62303")
 .annotate "line", 3
-    .local string rx384_tgt
-    .local int rx384_pos
-    .local int rx384_off
-    .local int rx384_eos
-    .local int rx384_rep
-    .local pmc rx384_cur
-    (rx384_cur, rx384_pos, rx384_tgt) = self."!cursor_start"()
-    rx384_cur."!cursor_debug"("START ", "backslash:sym<c>")
-    .lex unicode:"$\x{a2}", rx384_cur
+    .local string rx388_tgt
+    .local int rx388_pos
+    .local int rx388_off
+    .local int rx388_eos
+    .local int rx388_rep
+    .local pmc rx388_cur
+    (rx388_cur, rx388_pos, rx388_tgt) = self."!cursor_start"()
+    rx388_cur."!cursor_debug"("START ", "backslash:sym<c>")
+    .lex unicode:"$\x{a2}", rx388_cur
     .local pmc match
     .lex "$/", match
-    length rx384_eos, rx384_tgt
-    set rx384_off, 0
-    lt rx384_pos, 2, rx384_start
-    sub rx384_off, rx384_pos, 1
-    substr rx384_tgt, rx384_tgt, rx384_off
-  rx384_start:
+    length rx388_eos, rx388_tgt
+    set rx388_off, 0
+    lt rx388_pos, 2, rx388_start
+    sub rx388_off, rx388_pos, 1
+    substr rx388_tgt, rx388_tgt, rx388_off
+  rx388_start:
     $I10 = self.'from'()
-    ne $I10, -1, rxscan389_done
-    goto rxscan389_scan
-  rxscan389_loop:
-    ($P10) = rx384_cur."from"()
+    ne $I10, -1, rxscan393_done
+    goto rxscan393_scan
+  rxscan393_loop:
+    ($P10) = rx388_cur."from"()
     inc $P10
-    set rx384_pos, $P10
-    ge rx384_pos, rx384_eos, rxscan389_done
-  rxscan389_scan:
-    set_addr $I10, rxscan389_loop
-    rx384_cur."!mark_push"(0, rx384_pos, $I10)
-  rxscan389_done:
+    set rx388_pos, $P10
+    ge rx388_pos, rx388_eos, rxscan393_done
+  rxscan393_scan:
+    set_addr $I10, rxscan393_loop
+    rx388_cur."!mark_push"(0, rx388_pos, $I10)
+  rxscan393_done:
 .annotate "line", 129
   # rx subcapture "sym"
-    set_addr $I10, rxcap_390_fail
-    rx384_cur."!mark_push"(0, rx384_pos, $I10)
+    set_addr $I10, rxcap_394_fail
+    rx388_cur."!mark_push"(0, rx388_pos, $I10)
   # rx enumcharlist negate=0 
-    ge rx384_pos, rx384_eos, rx384_fail
-    sub $I10, rx384_pos, rx384_off
-    substr $S10, rx384_tgt, $I10, 1
+    ge rx388_pos, rx388_eos, rx388_fail
+    sub $I10, rx388_pos, rx388_off
+    substr $S10, rx388_tgt, $I10, 1
     index $I11, "cC", $S10
-    lt $I11, 0, rx384_fail
-    inc rx384_pos
-    set_addr $I10, rxcap_390_fail
-    ($I12, $I11) = rx384_cur."!mark_peek"($I10)
-    rx384_cur."!cursor_pos"($I11)
-    ($P10) = rx384_cur."!cursor_start"()
-    $P10."!cursor_pass"(rx384_pos, "")
-    rx384_cur."!mark_push"(0, -1, 0, $P10)
+    lt $I11, 0, rx388_fail
+    inc rx388_pos
+    set_addr $I10, rxcap_394_fail
+    ($I12, $I11) = rx388_cur."!mark_peek"($I10)
+    rx388_cur."!cursor_pos"($I11)
+    ($P10) = rx388_cur."!cursor_start"()
+    $P10."!cursor_pass"(rx388_pos, "")
+    rx388_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("sym")
-    goto rxcap_390_done
-  rxcap_390_fail:
-    goto rx384_fail
-  rxcap_390_done:
+    goto rxcap_394_done
+  rxcap_394_fail:
+    goto rx388_fail
+  rxcap_394_done:
   # rx subrule "charspec" subtype=capture negate=
-    rx384_cur."!cursor_pos"(rx384_pos)
-    $P10 = rx384_cur."charspec"()
-    unless $P10, rx384_fail
-    rx384_cur."!mark_push"(0, -1, 0, $P10)
+    rx388_cur."!cursor_pos"(rx388_pos)
+    $P10 = rx388_cur."charspec"()
+    unless $P10, rx388_fail
+    rx388_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("charspec")
-    rx384_pos = $P10."pos"()
+    rx388_pos = $P10."pos"()
   # rx pass
-    rx384_cur."!cursor_pass"(rx384_pos, "backslash:sym<c>")
-    rx384_cur."!cursor_debug"("PASS  ", "backslash:sym<c>", " at pos=", rx384_pos)
-    .return (rx384_cur)
-  rx384_fail:
+    rx388_cur."!cursor_pass"(rx388_pos, "backslash:sym<c>")
+    rx388_cur."!cursor_debug"("PASS  ", "backslash:sym<c>", " at pos=", rx388_pos)
+    .return (rx388_cur)
+  rx388_fail:
 .annotate "line", 3
-    (rx384_rep, rx384_pos, $I10, $P10) = rx384_cur."!mark_fail"(0)
-    lt rx384_pos, -1, rx384_done
-    eq rx384_pos, -1, rx384_fail
+    (rx388_rep, rx388_pos, $I10, $P10) = rx388_cur."!mark_fail"(0)
+    lt rx388_pos, -1, rx388_done
+    eq rx388_pos, -1, rx388_fail
     jump $I10
-  rx384_done:
-    rx384_cur."!cursor_fail"()
-    rx384_cur."!cursor_debug"("FAIL  ", "backslash:sym<c>")
-    .return (rx384_cur)
+  rx388_done:
+    rx388_cur."!cursor_fail"()
+    rx388_cur."!cursor_debug"("FAIL  ", "backslash:sym<c>")
+    .return (rx388_cur)
     .return ()
 .end
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__backslash:sym<c>"  :subid("110_1259103974.80122") :method
+.sub "!PREFIX__backslash:sym<c>"  :subid("110_1259177736.62303") :method
 .annotate "line", 3
-    $P386 = self."!PREFIX__!subrule"("charspec", "C")
-    $P387 = self."!PREFIX__!subrule"("charspec", "c")
-    new $P388, "ResizablePMCArray"
-    push $P388, $P386
-    push $P388, $P387
-    .return ($P388)
+    $P390 = self."!PREFIX__!subrule"("charspec", "C")
+    $P391 = self."!PREFIX__!subrule"("charspec", "c")
+    new $P392, "ResizablePMCArray"
+    push $P392, $P390
+    push $P392, $P391
+    .return ($P392)
 .end
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "backslash:sym<o>"  :subid("111_1259103974.80122") :method :outer("11_1259103974.80122")
+.sub "backslash:sym<o>"  :subid("111_1259177736.62303") :method :outer("11_1259177736.62303")
 .annotate "line", 3
-    .local string rx392_tgt
-    .local int rx392_pos
-    .local int rx392_off
-    .local int rx392_eos
-    .local int rx392_rep
-    .local pmc rx392_cur
-    (rx392_cur, rx392_pos, rx392_tgt) = self."!cursor_start"()
-    rx392_cur."!cursor_debug"("START ", "backslash:sym<o>")
-    .lex unicode:"$\x{a2}", rx392_cur
+    .local string rx396_tgt
+    .local int rx396_pos
+    .local int rx396_off
+    .local int rx396_eos
+    .local int rx396_rep
+    .local pmc rx396_cur
+    (rx396_cur, rx396_pos, rx396_tgt) = self."!cursor_start"()
+    rx396_cur."!cursor_debug"("START ", "backslash:sym<o>")
+    .lex unicode:"$\x{a2}", rx396_cur
     .local pmc match
     .lex "$/", match
-    length rx392_eos, rx392_tgt
-    set rx392_off, 0
-    lt rx392_pos, 2, rx392_start
-    sub rx392_off, rx392_pos, 1
-    substr rx392_tgt, rx392_tgt, rx392_off
-  rx392_start:
+    length rx396_eos, rx396_tgt
+    set rx396_off, 0
+    lt rx396_pos, 2, rx396_start
+    sub rx396_off, rx396_pos, 1
+    substr rx396_tgt, rx396_tgt, rx396_off
+  rx396_start:
     $I10 = self.'from'()
-    ne $I10, -1, rxscan399_done
-    goto rxscan399_scan
-  rxscan399_loop:
-    ($P10) = rx392_cur."from"()
+    ne $I10, -1, rxscan403_done
+    goto rxscan403_scan
+  rxscan403_loop:
+    ($P10) = rx396_cur."from"()
     inc $P10
-    set rx392_pos, $P10
-    ge rx392_pos, rx392_eos, rxscan399_done
-  rxscan399_scan:
-    set_addr $I10, rxscan399_loop
-    rx392_cur."!mark_push"(0, rx392_pos, $I10)
-  rxscan399_done:
+    set rx396_pos, $P10
+    ge rx396_pos, rx396_eos, rxscan403_done
+  rxscan403_scan:
+    set_addr $I10, rxscan403_loop
+    rx396_cur."!mark_push"(0, rx396_pos, $I10)
+  rxscan403_done:
 .annotate "line", 130
   # rx subcapture "sym"
-    set_addr $I10, rxcap_400_fail
-    rx392_cur."!mark_push"(0, rx392_pos, $I10)
+    set_addr $I10, rxcap_404_fail
+    rx396_cur."!mark_push"(0, rx396_pos, $I10)
   # rx enumcharlist negate=0 
-    ge rx392_pos, rx392_eos, rx392_fail
-    sub $I10, rx392_pos, rx392_off
-    substr $S10, rx392_tgt, $I10, 1
+    ge rx396_pos, rx396_eos, rx396_fail
+    sub $I10, rx396_pos, rx396_off
+    substr $S10, rx396_tgt, $I10, 1
     index $I11, "oO", $S10
-    lt $I11, 0, rx392_fail
-    inc rx392_pos
-    set_addr $I10, rxcap_400_fail
-    ($I12, $I11) = rx392_cur."!mark_peek"($I10)
-    rx392_cur."!cursor_pos"($I11)
-    ($P10) = rx392_cur."!cursor_start"()
-    $P10."!cursor_pass"(rx392_pos, "")
-    rx392_cur."!mark_push"(0, -1, 0, $P10)
+    lt $I11, 0, rx396_fail
+    inc rx396_pos
+    set_addr $I10, rxcap_404_fail
+    ($I12, $I11) = rx396_cur."!mark_peek"($I10)
+    rx396_cur."!cursor_pos"($I11)
+    ($P10) = rx396_cur."!cursor_start"()
+    $P10."!cursor_pass"(rx396_pos, "")
+    rx396_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("sym")
-    goto rxcap_400_done
-  rxcap_400_fail:
-    goto rx392_fail
-  rxcap_400_done:
-  alt401_0:
-    set_addr $I10, alt401_1
-    rx392_cur."!mark_push"(0, rx392_pos, $I10)
+    goto rxcap_404_done
+  rxcap_404_fail:
+    goto rx396_fail
+  rxcap_404_done:
+  alt405_0:
+    set_addr $I10, alt405_1
+    rx396_cur."!mark_push"(0, rx396_pos, $I10)
   # rx subrule "octint" subtype=capture negate=
-    rx392_cur."!cursor_pos"(rx392_pos)
-    $P10 = rx392_cur."octint"()
-    unless $P10, rx392_fail
-    rx392_cur."!mark_push"(0, -1, 0, $P10)
+    rx396_cur."!cursor_pos"(rx396_pos)
+    $P10 = rx396_cur."octint"()
+    unless $P10, rx396_fail
+    rx396_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("octint")
-    rx392_pos = $P10."pos"()
-    goto alt401_end
-  alt401_1:
+    rx396_pos = $P10."pos"()
+    goto alt405_end
+  alt405_1:
   # rx literal  "["
-    add $I11, rx392_pos, 1
-    gt $I11, rx392_eos, rx392_fail
-    sub $I11, rx392_pos, rx392_off
-    substr $S10, rx392_tgt, $I11, 1
-    ne $S10, "[", rx392_fail
-    add rx392_pos, 1
+    add $I11, rx396_pos, 1
+    gt $I11, rx396_eos, rx396_fail
+    sub $I11, rx396_pos, rx396_off
+    substr $S10, rx396_tgt, $I11, 1
+    ne $S10, "[", rx396_fail
+    add rx396_pos, 1
   # rx subrule "octints" subtype=capture negate=
-    rx392_cur."!cursor_pos"(rx392_pos)
-    $P10 = rx392_cur."octints"()
-    unless $P10, rx392_fail
-    rx392_cur."!mark_push"(0, -1, 0, $P10)
+    rx396_cur."!cursor_pos"(rx396_pos)
+    $P10 = rx396_cur."octints"()
+    unless $P10, rx396_fail
+    rx396_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("octints")
-    rx392_pos = $P10."pos"()
+    rx396_pos = $P10."pos"()
   # rx literal  "]"
-    add $I11, rx392_pos, 1
-    gt $I11, rx392_eos, rx392_fail
-    sub $I11, rx392_pos, rx392_off
-    substr $S10, rx392_tgt, $I11, 1
-    ne $S10, "]", rx392_fail
-    add rx392_pos, 1
-  alt401_end:
-  # rx pass
-    rx392_cur."!cursor_pass"(rx392_pos, "backslash:sym<o>")
-    rx392_cur."!cursor_debug"("PASS  ", "backslash:sym<o>", " at pos=", rx392_pos)
-    .return (rx392_cur)
-  rx392_fail:
-.annotate "line", 3
-    (rx392_rep, rx392_pos, $I10, $P10) = rx392_cur."!mark_fail"(0)
-    lt rx392_pos, -1, rx392_done
-    eq rx392_pos, -1, rx392_fail
-    jump $I10
-  rx392_done:
-    rx392_cur."!cursor_fail"()
-    rx392_cur."!cursor_debug"("FAIL  ", "backslash:sym<o>")
-    .return (rx392_cur)
+    add $I11, rx396_pos, 1
+    gt $I11, rx396_eos, rx396_fail
+    sub $I11, rx396_pos, rx396_off
+    substr $S10, rx396_tgt, $I11, 1
+    ne $S10, "]", rx396_fail
+    add rx396_pos, 1
+  alt405_end:
+  # rx pass
+    rx396_cur."!cursor_pass"(rx396_pos, "backslash:sym<o>")
+    rx396_cur."!cursor_debug"("PASS  ", "backslash:sym<o>", " at pos=", rx396_pos)
+    .return (rx396_cur)
+  rx396_fail:
+.annotate "line", 3
+    (rx396_rep, rx396_pos, $I10, $P10) = rx396_cur."!mark_fail"(0)
+    lt rx396_pos, -1, rx396_done
+    eq rx396_pos, -1, rx396_fail
+    jump $I10
+  rx396_done:
+    rx396_cur."!cursor_fail"()
+    rx396_cur."!cursor_debug"("FAIL  ", "backslash:sym<o>")
+    .return (rx396_cur)
     .return ()
 .end
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__backslash:sym<o>"  :subid("112_1259103974.80122") :method
-.annotate "line", 3
-    $P394 = self."!PREFIX__!subrule"("octints", "O[")
-    $P395 = self."!PREFIX__!subrule"("octint", "O")
-    $P396 = self."!PREFIX__!subrule"("octints", "o[")
-    $P397 = self."!PREFIX__!subrule"("octint", "o")
-    new $P398, "ResizablePMCArray"
-    push $P398, $P394
-    push $P398, $P395
-    push $P398, $P396
-    push $P398, $P397
-    .return ($P398)
-.end
-
-
-.namespace ["Regex";"P6Regex";"Grammar"]
-.sub "backslash:sym<x>"  :subid("113_1259103974.80122") :method :outer("11_1259103974.80122")
-.annotate "line", 3
-    .local string rx403_tgt
-    .local int rx403_pos
-    .local int rx403_off
-    .local int rx403_eos
-    .local int rx403_rep
-    .local pmc rx403_cur
-    (rx403_cur, rx403_pos, rx403_tgt) = self."!cursor_start"()
-    rx403_cur."!cursor_debug"("START ", "backslash:sym<x>")
-    .lex unicode:"$\x{a2}", rx403_cur
-    .local pmc match
-    .lex "$/", match
-    length rx403_eos, rx403_tgt
-    set rx403_off, 0
-    lt rx403_pos, 2, rx403_start
-    sub rx403_off, rx403_pos, 1
-    substr rx403_tgt, rx403_tgt, rx403_off
-  rx403_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan410_done
-    goto rxscan410_scan
-  rxscan410_loop:
-    ($P10) = rx403_cur."from"()
-    inc $P10
-    set rx403_pos, $P10
-    ge rx403_pos, rx403_eos, rxscan410_done
-  rxscan410_scan:
-    set_addr $I10, rxscan410_loop
-    rx403_cur."!mark_push"(0, rx403_pos, $I10)
-  rxscan410_done:
+.sub "!PREFIX__backslash:sym<o>"  :subid("112_1259177736.62303") :method
+.annotate "line", 3
+    $P398 = self."!PREFIX__!subrule"("octints", "O[")
+    $P399 = self."!PREFIX__!subrule"("octint", "O")
+    $P400 = self."!PREFIX__!subrule"("octints", "o[")
+    $P401 = self."!PREFIX__!subrule"("octint", "o")
+    new $P402, "ResizablePMCArray"
+    push $P402, $P398
+    push $P402, $P399
+    push $P402, $P400
+    push $P402, $P401
+    .return ($P402)
+.end
+
+
+.namespace ["Regex";"P6Regex";"Grammar"]
+.sub "backslash:sym<x>"  :subid("113_1259177736.62303") :method :outer("11_1259177736.62303")
+.annotate "line", 3
+    .local string rx407_tgt
+    .local int rx407_pos
+    .local int rx407_off
+    .local int rx407_eos
+    .local int rx407_rep
+    .local pmc rx407_cur
+    (rx407_cur, rx407_pos, rx407_tgt) = self."!cursor_start"()
+    rx407_cur."!cursor_debug"("START ", "backslash:sym<x>")
+    .lex unicode:"$\x{a2}", rx407_cur
+    .local pmc match
+    .lex "$/", match
+    length rx407_eos, rx407_tgt
+    set rx407_off, 0
+    lt rx407_pos, 2, rx407_start
+    sub rx407_off, rx407_pos, 1
+    substr rx407_tgt, rx407_tgt, rx407_off
+  rx407_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan414_done
+    goto rxscan414_scan
+  rxscan414_loop:
+    ($P10) = rx407_cur."from"()
+    inc $P10
+    set rx407_pos, $P10
+    ge rx407_pos, rx407_eos, rxscan414_done
+  rxscan414_scan:
+    set_addr $I10, rxscan414_loop
+    rx407_cur."!mark_push"(0, rx407_pos, $I10)
+  rxscan414_done:
 .annotate "line", 131
   # rx subcapture "sym"
-    set_addr $I10, rxcap_411_fail
-    rx403_cur."!mark_push"(0, rx403_pos, $I10)
+    set_addr $I10, rxcap_415_fail
+    rx407_cur."!mark_push"(0, rx407_pos, $I10)
   # rx enumcharlist negate=0 
-    ge rx403_pos, rx403_eos, rx403_fail
-    sub $I10, rx403_pos, rx403_off
-    substr $S10, rx403_tgt, $I10, 1
+    ge rx407_pos, rx407_eos, rx407_fail
+    sub $I10, rx407_pos, rx407_off
+    substr $S10, rx407_tgt, $I10, 1
     index $I11, "xX", $S10
-    lt $I11, 0, rx403_fail
-    inc rx403_pos
-    set_addr $I10, rxcap_411_fail
-    ($I12, $I11) = rx403_cur."!mark_peek"($I10)
-    rx403_cur."!cursor_pos"($I11)
-    ($P10) = rx403_cur."!cursor_start"()
-    $P10."!cursor_pass"(rx403_pos, "")
-    rx403_cur."!mark_push"(0, -1, 0, $P10)
+    lt $I11, 0, rx407_fail
+    inc rx407_pos
+    set_addr $I10, rxcap_415_fail
+    ($I12, $I11) = rx407_cur."!mark_peek"($I10)
+    rx407_cur."!cursor_pos"($I11)
+    ($P10) = rx407_cur."!cursor_start"()
+    $P10."!cursor_pass"(rx407_pos, "")
+    rx407_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("sym")
-    goto rxcap_411_done
-  rxcap_411_fail:
-    goto rx403_fail
-  rxcap_411_done:
-  alt412_0:
-    set_addr $I10, alt412_1
-    rx403_cur."!mark_push"(0, rx403_pos, $I10)
+    goto rxcap_415_done
+  rxcap_415_fail:
+    goto rx407_fail
+  rxcap_415_done:
+  alt416_0:
+    set_addr $I10, alt416_1
+    rx407_cur."!mark_push"(0, rx407_pos, $I10)
   # rx subrule "hexint" subtype=capture negate=
-    rx403_cur."!cursor_pos"(rx403_pos)
-    $P10 = rx403_cur."hexint"()
-    unless $P10, rx403_fail
-    rx403_cur."!mark_push"(0, -1, 0, $P10)
+    rx407_cur."!cursor_pos"(rx407_pos)
+    $P10 = rx407_cur."hexint"()
+    unless $P10, rx407_fail
+    rx407_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("hexint")
-    rx403_pos = $P10."pos"()
-    goto alt412_end
-  alt412_1:
+    rx407_pos = $P10."pos"()
+    goto alt416_end
+  alt416_1:
   # rx literal  "["
-    add $I11, rx403_pos, 1
-    gt $I11, rx403_eos, rx403_fail
-    sub $I11, rx403_pos, rx403_off
-    substr $S10, rx403_tgt, $I11, 1
-    ne $S10, "[", rx403_fail
-    add rx403_pos, 1
+    add $I11, rx407_pos, 1
+    gt $I11, rx407_eos, rx407_fail
+    sub $I11, rx407_pos, rx407_off
+    substr $S10, rx407_tgt, $I11, 1
+    ne $S10, "[", rx407_fail
+    add rx407_pos, 1
   # rx subrule "hexints" subtype=capture negate=
-    rx403_cur."!cursor_pos"(rx403_pos)
-    $P10 = rx403_cur."hexints"()
-    unless $P10, rx403_fail
-    rx403_cur."!mark_push"(0, -1, 0, $P10)
+    rx407_cur."!cursor_pos"(rx407_pos)
+    $P10 = rx407_cur."hexints"()
+    unless $P10, rx407_fail
+    rx407_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("hexints")
-    rx403_pos = $P10."pos"()
+    rx407_pos = $P10."pos"()
   # rx literal  "]"
-    add $I11, rx403_pos, 1
-    gt $I11, rx403_eos, rx403_fail
-    sub $I11, rx403_pos, rx403_off
-    substr $S10, rx403_tgt, $I11, 1
-    ne $S10, "]", rx403_fail
-    add rx403_pos, 1
-  alt412_end:
-  # rx pass
-    rx403_cur."!cursor_pass"(rx403_pos, "backslash:sym<x>")
-    rx403_cur."!cursor_debug"("PASS  ", "backslash:sym<x>", " at pos=", rx403_pos)
-    .return (rx403_cur)
-  rx403_fail:
-.annotate "line", 3
-    (rx403_rep, rx403_pos, $I10, $P10) = rx403_cur."!mark_fail"(0)
-    lt rx403_pos, -1, rx403_done
-    eq rx403_pos, -1, rx403_fail
-    jump $I10
-  rx403_done:
-    rx403_cur."!cursor_fail"()
-    rx403_cur."!cursor_debug"("FAIL  ", "backslash:sym<x>")
-    .return (rx403_cur)
+    add $I11, rx407_pos, 1
+    gt $I11, rx407_eos, rx407_fail
+    sub $I11, rx407_pos, rx407_off
+    substr $S10, rx407_tgt, $I11, 1
+    ne $S10, "]", rx407_fail
+    add rx407_pos, 1
+  alt416_end:
+  # rx pass
+    rx407_cur."!cursor_pass"(rx407_pos, "backslash:sym<x>")
+    rx407_cur."!cursor_debug"("PASS  ", "backslash:sym<x>", " at pos=", rx407_pos)
+    .return (rx407_cur)
+  rx407_fail:
+.annotate "line", 3
+    (rx407_rep, rx407_pos, $I10, $P10) = rx407_cur."!mark_fail"(0)
+    lt rx407_pos, -1, rx407_done
+    eq rx407_pos, -1, rx407_fail
+    jump $I10
+  rx407_done:
+    rx407_cur."!cursor_fail"()
+    rx407_cur."!cursor_debug"("FAIL  ", "backslash:sym<x>")
+    .return (rx407_cur)
     .return ()
 .end
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__backslash:sym<x>"  :subid("114_1259103974.80122") :method
-.annotate "line", 3
-    $P405 = self."!PREFIX__!subrule"("hexints", "X[")
-    $P406 = self."!PREFIX__!subrule"("hexint", "X")
-    $P407 = self."!PREFIX__!subrule"("hexints", "x[")
-    $P408 = self."!PREFIX__!subrule"("hexint", "x")
-    new $P409, "ResizablePMCArray"
-    push $P409, $P405
-    push $P409, $P406
-    push $P409, $P407
-    push $P409, $P408
-    .return ($P409)
-.end
-
-
-.namespace ["Regex";"P6Regex";"Grammar"]
-.sub "backslash:sym<A>"  :subid("115_1259103974.80122") :method :outer("11_1259103974.80122")
-.annotate "line", 3
-    .local string rx414_tgt
-    .local int rx414_pos
-    .local int rx414_off
-    .local int rx414_eos
-    .local int rx414_rep
-    .local pmc rx414_cur
-    (rx414_cur, rx414_pos, rx414_tgt) = self."!cursor_start"()
-    rx414_cur."!cursor_debug"("START ", "backslash:sym<A>")
-    .lex unicode:"$\x{a2}", rx414_cur
-    .local pmc match
-    .lex "$/", match
-    length rx414_eos, rx414_tgt
-    set rx414_off, 0
-    lt rx414_pos, 2, rx414_start
-    sub rx414_off, rx414_pos, 1
-    substr rx414_tgt, rx414_tgt, rx414_off
-  rx414_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan418_done
-    goto rxscan418_scan
-  rxscan418_loop:
-    ($P10) = rx414_cur."from"()
-    inc $P10
-    set rx414_pos, $P10
-    ge rx414_pos, rx414_eos, rxscan418_done
-  rxscan418_scan:
-    set_addr $I10, rxscan418_loop
-    rx414_cur."!mark_push"(0, rx414_pos, $I10)
-  rxscan418_done:
+.sub "!PREFIX__backslash:sym<x>"  :subid("114_1259177736.62303") :method
+.annotate "line", 3
+    $P409 = self."!PREFIX__!subrule"("hexints", "X[")
+    $P410 = self."!PREFIX__!subrule"("hexint", "X")
+    $P411 = self."!PREFIX__!subrule"("hexints", "x[")
+    $P412 = self."!PREFIX__!subrule"("hexint", "x")
+    new $P413, "ResizablePMCArray"
+    push $P413, $P409
+    push $P413, $P410
+    push $P413, $P411
+    push $P413, $P412
+    .return ($P413)
+.end
+
+
+.namespace ["Regex";"P6Regex";"Grammar"]
+.sub "backslash:sym<A>"  :subid("115_1259177736.62303") :method :outer("11_1259177736.62303")
+.annotate "line", 3
+    .local string rx418_tgt
+    .local int rx418_pos
+    .local int rx418_off
+    .local int rx418_eos
+    .local int rx418_rep
+    .local pmc rx418_cur
+    (rx418_cur, rx418_pos, rx418_tgt) = self."!cursor_start"()
+    rx418_cur."!cursor_debug"("START ", "backslash:sym<A>")
+    .lex unicode:"$\x{a2}", rx418_cur
+    .local pmc match
+    .lex "$/", match
+    length rx418_eos, rx418_tgt
+    set rx418_off, 0
+    lt rx418_pos, 2, rx418_start
+    sub rx418_off, rx418_pos, 1
+    substr rx418_tgt, rx418_tgt, rx418_off
+  rx418_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan422_done
+    goto rxscan422_scan
+  rxscan422_loop:
+    ($P10) = rx418_cur."from"()
+    inc $P10
+    set rx418_pos, $P10
+    ge rx418_pos, rx418_eos, rxscan422_done
+  rxscan422_scan:
+    set_addr $I10, rxscan422_loop
+    rx418_cur."!mark_push"(0, rx418_pos, $I10)
+  rxscan422_done:
 .annotate "line", 132
   # rx literal  "A"
-    add $I11, rx414_pos, 1
-    gt $I11, rx414_eos, rx414_fail
-    sub $I11, rx414_pos, rx414_off
-    substr $S10, rx414_tgt, $I11, 1
-    ne $S10, "A", rx414_fail
-    add rx414_pos, 1
+    add $I11, rx418_pos, 1
+    gt $I11, rx418_eos, rx418_fail
+    sub $I11, rx418_pos, rx418_off
+    substr $S10, rx418_tgt, $I11, 1
+    ne $S10, "A", rx418_fail
+    add rx418_pos, 1
   # rx subrule "obs" subtype=method negate=
-    rx414_cur."!cursor_pos"(rx414_pos)
-    $P10 = rx414_cur."obs"("\\A as beginning-of-string matcher", "^")
-    unless $P10, rx414_fail
-    rx414_pos = $P10."pos"()
+    rx418_cur."!cursor_pos"(rx418_pos)
+    $P10 = rx418_cur."obs"("\\A as beginning-of-string matcher", "^")
+    unless $P10, rx418_fail
+    rx418_pos = $P10."pos"()
   # rx pass
-    rx414_cur."!cursor_pass"(rx414_pos, "backslash:sym<A>")
-    rx414_cur."!cursor_debug"("PASS  ", "backslash:sym<A>", " at pos=", rx414_pos)
-    .return (rx414_cur)
-  rx414_fail:
+    rx418_cur."!cursor_pass"(rx418_pos, "backslash:sym<A>")
+    rx418_cur."!cursor_debug"("PASS  ", "backslash:sym<A>", " at pos=", rx418_pos)
+    .return (rx418_cur)
+  rx418_fail:
 .annotate "line", 3
-    (rx414_rep, rx414_pos, $I10, $P10) = rx414_cur."!mark_fail"(0)
-    lt rx414_pos, -1, rx414_done
-    eq rx414_pos, -1, rx414_fail
+    (rx418_rep, rx418_pos, $I10, $P10) = rx418_cur."!mark_fail"(0)
+    lt rx418_pos, -1, rx418_done
+    eq rx418_pos, -1, rx418_fail
     jump $I10
-  rx414_done:
-    rx414_cur."!cursor_fail"()
-    rx414_cur."!cursor_debug"("FAIL  ", "backslash:sym<A>")
-    .return (rx414_cur)
+  rx418_done:
+    rx418_cur."!cursor_fail"()
+    rx418_cur."!cursor_debug"("FAIL  ", "backslash:sym<A>")
+    .return (rx418_cur)
     .return ()
 .end
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__backslash:sym<A>"  :subid("116_1259103974.80122") :method
+.sub "!PREFIX__backslash:sym<A>"  :subid("116_1259177736.62303") :method
 .annotate "line", 3
-    $P416 = self."!PREFIX__!subrule"("", "A")
-    new $P417, "ResizablePMCArray"
-    push $P417, $P416
-    .return ($P417)
+    $P420 = self."!PREFIX__!subrule"("", "A")
+    new $P421, "ResizablePMCArray"
+    push $P421, $P420
+    .return ($P421)
 .end
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "backslash:sym<z>"  :subid("117_1259103974.80122") :method :outer("11_1259103974.80122")
+.sub "backslash:sym<z>"  :subid("117_1259177736.62303") :method :outer("11_1259177736.62303")
 .annotate "line", 3
-    .local string rx420_tgt
-    .local int rx420_pos
-    .local int rx420_off
-    .local int rx420_eos
-    .local int rx420_rep
-    .local pmc rx420_cur
-    (rx420_cur, rx420_pos, rx420_tgt) = self."!cursor_start"()
-    rx420_cur."!cursor_debug"("START ", "backslash:sym<z>")
-    .lex unicode:"$\x{a2}", rx420_cur
+    .local string rx424_tgt
+    .local int rx424_pos
+    .local int rx424_off
+    .local int rx424_eos
+    .local int rx424_rep
+    .local pmc rx424_cur
+    (rx424_cur, rx424_pos, rx424_tgt) = self."!cursor_start"()
+    rx424_cur."!cursor_debug"("START ", "backslash:sym<z>")
+    .lex unicode:"$\x{a2}", rx424_cur
     .local pmc match
     .lex "$/", match
-    length rx420_eos, rx420_tgt
-    set rx420_off, 0
-    lt rx420_pos, 2, rx420_start
-    sub rx420_off, rx420_pos, 1
-    substr rx420_tgt, rx420_tgt, rx420_off
-  rx420_start:
+    length rx424_eos, rx424_tgt
+    set rx424_off, 0
+    lt rx424_pos, 2, rx424_start
+    sub rx424_off, rx424_pos, 1
+    substr rx424_tgt, rx424_tgt, rx424_off
+  rx424_start:
     $I10 = self.'from'()
-    ne $I10, -1, rxscan424_done
-    goto rxscan424_scan
-  rxscan424_loop:
-    ($P10) = rx420_cur."from"()
+    ne $I10, -1, rxscan428_done
+    goto rxscan428_scan
+  rxscan428_loop:
+    ($P10) = rx424_cur."from"()
     inc $P10
-    set rx420_pos, $P10
-    ge rx420_pos, rx420_eos, rxscan424_done
-  rxscan424_scan:
-    set_addr $I10, rxscan424_loop
-    rx420_cur."!mark_push"(0, rx420_pos, $I10)
-  rxscan424_done:
+    set rx424_pos, $P10
+    ge rx424_pos, rx424_eos, rxscan428_done
+  rxscan428_scan:
+    set_addr $I10, rxscan428_loop
+    rx424_cur."!mark_push"(0, rx424_pos, $I10)
+  rxscan428_done:
 .annotate "line", 133
   # rx literal  "z"
-    add $I11, rx420_pos, 1
-    gt $I11, rx420_eos, rx420_fail
-    sub $I11, rx420_pos, rx420_off
-    substr $S10, rx420_tgt, $I11, 1
-    ne $S10, "z", rx420_fail
-    add rx420_pos, 1
+    add $I11, rx424_pos, 1
+    gt $I11, rx424_eos, rx424_fail
+    sub $I11, rx424_pos, rx424_off
+    substr $S10, rx424_tgt, $I11, 1
+    ne $S10, "z", rx424_fail
+    add rx424_pos, 1
   # rx subrule "obs" subtype=method negate=
-    rx420_cur."!cursor_pos"(rx420_pos)
-    $P10 = rx420_cur."obs"("\\z as end-of-string matcher", "$")
-    unless $P10, rx420_fail
-    rx420_pos = $P10."pos"()
+    rx424_cur."!cursor_pos"(rx424_pos)
+    $P10 = rx424_cur."obs"("\\z as end-of-string matcher", "$")
+    unless $P10, rx424_fail
+    rx424_pos = $P10."pos"()
   # rx pass
-    rx420_cur."!cursor_pass"(rx420_pos, "backslash:sym<z>")
-    rx420_cur."!cursor_debug"("PASS  ", "backslash:sym<z>", " at pos=", rx420_pos)
-    .return (rx420_cur)
-  rx420_fail:
+    rx424_cur."!cursor_pass"(rx424_pos, "backslash:sym<z>")
+    rx424_cur."!cursor_debug"("PASS  ", "backslash:sym<z>", " at pos=", rx424_pos)
+    .return (rx424_cur)
+  rx424_fail:
 .annotate "line", 3
-    (rx420_rep, rx420_pos, $I10, $P10) = rx420_cur."!mark_fail"(0)
-    lt rx420_pos, -1, rx420_done
-    eq rx420_pos, -1, rx420_fail
+    (rx424_rep, rx424_pos, $I10, $P10) = rx424_cur."!mark_fail"(0)
+    lt rx424_pos, -1, rx424_done
+    eq rx424_pos, -1, rx424_fail
     jump $I10
-  rx420_done:
-    rx420_cur."!cursor_fail"()
-    rx420_cur."!cursor_debug"("FAIL  ", "backslash:sym<z>")
-    .return (rx420_cur)
+  rx424_done:
+    rx424_cur."!cursor_fail"()
+    rx424_cur."!cursor_debug"("FAIL  ", "backslash:sym<z>")
+    .return (rx424_cur)
     .return ()
 .end
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__backslash:sym<z>"  :subid("118_1259103974.80122") :method
+.sub "!PREFIX__backslash:sym<z>"  :subid("118_1259177736.62303") :method
 .annotate "line", 3
-    $P422 = self."!PREFIX__!subrule"("", "z")
-    new $P423, "ResizablePMCArray"
-    push $P423, $P422
-    .return ($P423)
+    $P426 = self."!PREFIX__!subrule"("", "z")
+    new $P427, "ResizablePMCArray"
+    push $P427, $P426
+    .return ($P427)
 .end
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "backslash:sym<Z>"  :subid("119_1259103974.80122") :method :outer("11_1259103974.80122")
+.sub "backslash:sym<Z>"  :subid("119_1259177736.62303") :method :outer("11_1259177736.62303")
 .annotate "line", 3
-    .local string rx426_tgt
-    .local int rx426_pos
-    .local int rx426_off
-    .local int rx426_eos
-    .local int rx426_rep
-    .local pmc rx426_cur
-    (rx426_cur, rx426_pos, rx426_tgt) = self."!cursor_start"()
-    rx426_cur."!cursor_debug"("START ", "backslash:sym<Z>")
-    .lex unicode:"$\x{a2}", rx426_cur
-    .local pmc match
-    .lex "$/", match
-    length rx426_eos, rx426_tgt
-    set rx426_off, 0
-    lt rx426_pos, 2, rx426_start
-    sub rx426_off, rx426_pos, 1
-    substr rx426_tgt, rx426_tgt, rx426_off
-  rx426_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan430_done
-    goto rxscan430_scan
-  rxscan430_loop:
-    ($P10) = rx426_cur."from"()
-    inc $P10
-    set rx426_pos, $P10
-    ge rx426_pos, rx426_eos, rxscan430_done
-  rxscan430_scan:
-    set_addr $I10, rxscan430_loop
-    rx426_cur."!mark_push"(0, rx426_pos, $I10)
-  rxscan430_done:
+    .local string rx430_tgt
+    .local int rx430_pos
+    .local int rx430_off
+    .local int rx430_eos
+    .local int rx430_rep
+    .local pmc rx430_cur
+    (rx430_cur, rx430_pos, rx430_tgt) = self."!cursor_start"()
+    rx430_cur."!cursor_debug"("START ", "backslash:sym<Z>")
+    .lex unicode:"$\x{a2}", rx430_cur
+    .local pmc match
+    .lex "$/", match
+    length rx430_eos, rx430_tgt
+    set rx430_off, 0
+    lt rx430_pos, 2, rx430_start
+    sub rx430_off, rx430_pos, 1
+    substr rx430_tgt, rx430_tgt, rx430_off
+  rx430_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan434_done
+    goto rxscan434_scan
+  rxscan434_loop:
+    ($P10) = rx430_cur."from"()
+    inc $P10
+    set rx430_pos, $P10
+    ge rx430_pos, rx430_eos, rxscan434_done
+  rxscan434_scan:
+    set_addr $I10, rxscan434_loop
+    rx430_cur."!mark_push"(0, rx430_pos, $I10)
+  rxscan434_done:
 .annotate "line", 134
   # rx literal  "Z"
-    add $I11, rx426_pos, 1
-    gt $I11, rx426_eos, rx426_fail
-    sub $I11, rx426_pos, rx426_off
-    substr $S10, rx426_tgt, $I11, 1
-    ne $S10, "Z", rx426_fail
-    add rx426_pos, 1
+    add $I11, rx430_pos, 1
+    gt $I11, rx430_eos, rx430_fail
+    sub $I11, rx430_pos, rx430_off
+    substr $S10, rx430_tgt, $I11, 1
+    ne $S10, "Z", rx430_fail
+    add rx430_pos, 1
   # rx subrule "obs" subtype=method negate=
-    rx426_cur."!cursor_pos"(rx426_pos)
-    $P10 = rx426_cur."obs"("\\Z as end-of-string matcher", "\\n?$")
-    unless $P10, rx426_fail
-    rx426_pos = $P10."pos"()
+    rx430_cur."!cursor_pos"(rx430_pos)
+    $P10 = rx430_cur."obs"("\\Z as end-of-string matcher", "\\n?$")
+    unless $P10, rx430_fail
+    rx430_pos = $P10."pos"()
   # rx pass
-    rx426_cur."!cursor_pass"(rx426_pos, "backslash:sym<Z>")
-    rx426_cur."!cursor_debug"("PASS  ", "backslash:sym<Z>", " at pos=", rx426_pos)
-    .return (rx426_cur)
-  rx426_fail:
+    rx430_cur."!cursor_pass"(rx430_pos, "backslash:sym<Z>")
+    rx430_cur."!cursor_debug"("PASS  ", "backslash:sym<Z>", " at pos=", rx430_pos)
+    .return (rx430_cur)
+  rx430_fail:
 .annotate "line", 3
-    (rx426_rep, rx426_pos, $I10, $P10) = rx426_cur."!mark_fail"(0)
-    lt rx426_pos, -1, rx426_done
-    eq rx426_pos, -1, rx426_fail
+    (rx430_rep, rx430_pos, $I10, $P10) = rx430_cur."!mark_fail"(0)
+    lt rx430_pos, -1, rx430_done
+    eq rx430_pos, -1, rx430_fail
     jump $I10
-  rx426_done:
-    rx426_cur."!cursor_fail"()
-    rx426_cur."!cursor_debug"("FAIL  ", "backslash:sym<Z>")
-    .return (rx426_cur)
+  rx430_done:
+    rx430_cur."!cursor_fail"()
+    rx430_cur."!cursor_debug"("FAIL  ", "backslash:sym<Z>")
+    .return (rx430_cur)
     .return ()
 .end
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__backslash:sym<Z>"  :subid("120_1259103974.80122") :method
+.sub "!PREFIX__backslash:sym<Z>"  :subid("120_1259177736.62303") :method
 .annotate "line", 3
-    $P428 = self."!PREFIX__!subrule"("", "Z")
-    new $P429, "ResizablePMCArray"
-    push $P429, $P428
-    .return ($P429)
+    $P432 = self."!PREFIX__!subrule"("", "Z")
+    new $P433, "ResizablePMCArray"
+    push $P433, $P432
+    .return ($P433)
 .end
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "backslash:sym<Q>"  :subid("121_1259103974.80122") :method :outer("11_1259103974.80122")
+.sub "backslash:sym<Q>"  :subid("121_1259177736.62303") :method :outer("11_1259177736.62303")
 .annotate "line", 3
-    .local string rx432_tgt
-    .local int rx432_pos
-    .local int rx432_off
-    .local int rx432_eos
-    .local int rx432_rep
-    .local pmc rx432_cur
-    (rx432_cur, rx432_pos, rx432_tgt) = self."!cursor_start"()
-    rx432_cur."!cursor_debug"("START ", "backslash:sym<Q>")
-    .lex unicode:"$\x{a2}", rx432_cur
+    .local string rx436_tgt
+    .local int rx436_pos
+    .local int rx436_off
+    .local int rx436_eos
+    .local int rx436_rep
+    .local pmc rx436_cur
+    (rx436_cur, rx436_pos, rx436_tgt) = self."!cursor_start"()
+    rx436_cur."!cursor_debug"("START ", "backslash:sym<Q>")
+    .lex unicode:"$\x{a2}", rx436_cur
     .local pmc match
     .lex "$/", match
-    length rx432_eos, rx432_tgt
-    set rx432_off, 0
-    lt rx432_pos, 2, rx432_start
-    sub rx432_off, rx432_pos, 1
-    substr rx432_tgt, rx432_tgt, rx432_off
-  rx432_start:
+    length rx436_eos, rx436_tgt
+    set rx436_off, 0
+    lt rx436_pos, 2, rx436_start
+    sub rx436_off, rx436_pos, 1
+    substr rx436_tgt, rx436_tgt, rx436_off
+  rx436_start:
     $I10 = self.'from'()
-    ne $I10, -1, rxscan436_done
-    goto rxscan436_scan
-  rxscan436_loop:
-    ($P10) = rx432_cur."from"()
+    ne $I10, -1, rxscan440_done
+    goto rxscan440_scan
+  rxscan440_loop:
+    ($P10) = rx436_cur."from"()
     inc $P10
-    set rx432_pos, $P10
-    ge rx432_pos, rx432_eos, rxscan436_done
-  rxscan436_scan:
-    set_addr $I10, rxscan436_loop
-    rx432_cur."!mark_push"(0, rx432_pos, $I10)
-  rxscan436_done:
+    set rx436_pos, $P10
+    ge rx436_pos, rx436_eos, rxscan440_done
+  rxscan440_scan:
+    set_addr $I10, rxscan440_loop
+    rx436_cur."!mark_push"(0, rx436_pos, $I10)
+  rxscan440_done:
 .annotate "line", 135
   # rx literal  "Q"
-    add $I11, rx432_pos, 1
-    gt $I11, rx432_eos, rx432_fail
-    sub $I11, rx432_pos, rx432_off
-    substr $S10, rx432_tgt, $I11, 1
-    ne $S10, "Q", rx432_fail
-    add rx432_pos, 1
+    add $I11, rx436_pos, 1
+    gt $I11, rx436_eos, rx436_fail
+    sub $I11, rx436_pos, rx436_off
+    substr $S10, rx436_tgt, $I11, 1
+    ne $S10, "Q", rx436_fail
+    add rx436_pos, 1
   # rx subrule "obs" subtype=method negate=
-    rx432_cur."!cursor_pos"(rx432_pos)
-    $P10 = rx432_cur."obs"("\\Q as quotemeta", "quotes or literal variable match")
-    unless $P10, rx432_fail
-    rx432_pos = $P10."pos"()
+    rx436_cur."!cursor_pos"(rx436_pos)
+    $P10 = rx436_cur."obs"("\\Q as quotemeta", "quotes or literal variable match")
+    unless $P10, rx436_fail
+    rx436_pos = $P10."pos"()
   # rx pass
-    rx432_cur."!cursor_pass"(rx432_pos, "backslash:sym<Q>")
-    rx432_cur."!cursor_debug"("PASS  ", "backslash:sym<Q>", " at pos=", rx432_pos)
-    .return (rx432_cur)
-  rx432_fail:
+    rx436_cur."!cursor_pass"(rx436_pos, "backslash:sym<Q>")
+    rx436_cur."!cursor_debug"("PASS  ", "backslash:sym<Q>", " at pos=", rx436_pos)
+    .return (rx436_cur)
+  rx436_fail:
 .annotate "line", 3
-    (rx432_rep, rx432_pos, $I10, $P10) = rx432_cur."!mark_fail"(0)
-    lt rx432_pos, -1, rx432_done
-    eq rx432_pos, -1, rx432_fail
+    (rx436_rep, rx436_pos, $I10, $P10) = rx436_cur."!mark_fail"(0)
+    lt rx436_pos, -1, rx436_done
+    eq rx436_pos, -1, rx436_fail
     jump $I10
-  rx432_done:
-    rx432_cur."!cursor_fail"()
-    rx432_cur."!cursor_debug"("FAIL  ", "backslash:sym<Q>")
-    .return (rx432_cur)
+  rx436_done:
+    rx436_cur."!cursor_fail"()
+    rx436_cur."!cursor_debug"("FAIL  ", "backslash:sym<Q>")
+    .return (rx436_cur)
     .return ()
 .end
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__backslash:sym<Q>"  :subid("122_1259103974.80122") :method
+.sub "!PREFIX__backslash:sym<Q>"  :subid("122_1259177736.62303") :method
 .annotate "line", 3
-    $P434 = self."!PREFIX__!subrule"("", "Q")
-    new $P435, "ResizablePMCArray"
-    push $P435, $P434
-    .return ($P435)
+    $P438 = self."!PREFIX__!subrule"("", "Q")
+    new $P439, "ResizablePMCArray"
+    push $P439, $P438
+    .return ($P439)
 .end
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "backslash:sym<misc>"  :subid("123_1259103974.80122") :method :outer("11_1259103974.80122")
+.sub "backslash:sym<misc>"  :subid("123_1259177736.62303") :method :outer("11_1259177736.62303")
 .annotate "line", 3
-    .local string rx438_tgt
-    .local int rx438_pos
-    .local int rx438_off
-    .local int rx438_eos
-    .local int rx438_rep
-    .local pmc rx438_cur
-    (rx438_cur, rx438_pos, rx438_tgt) = self."!cursor_start"()
-    rx438_cur."!cursor_debug"("START ", "backslash:sym<misc>")
-    .lex unicode:"$\x{a2}", rx438_cur
+    .local string rx442_tgt
+    .local int rx442_pos
+    .local int rx442_off
+    .local int rx442_eos
+    .local int rx442_rep
+    .local pmc rx442_cur
+    (rx442_cur, rx442_pos, rx442_tgt) = self."!cursor_start"()
+    rx442_cur."!cursor_debug"("START ", "backslash:sym<misc>")
+    .lex unicode:"$\x{a2}", rx442_cur
     .local pmc match
     .lex "$/", match
-    length rx438_eos, rx438_tgt
-    set rx438_off, 0
-    lt rx438_pos, 2, rx438_start
-    sub rx438_off, rx438_pos, 1
-    substr rx438_tgt, rx438_tgt, rx438_off
-  rx438_start:
+    length rx442_eos, rx442_tgt
+    set rx442_off, 0
+    lt rx442_pos, 2, rx442_start
+    sub rx442_off, rx442_pos, 1
+    substr rx442_tgt, rx442_tgt, rx442_off
+  rx442_start:
     $I10 = self.'from'()
-    ne $I10, -1, rxscan441_done
-    goto rxscan441_scan
-  rxscan441_loop:
-    ($P10) = rx438_cur."from"()
+    ne $I10, -1, rxscan445_done
+    goto rxscan445_scan
+  rxscan445_loop:
+    ($P10) = rx442_cur."from"()
     inc $P10
-    set rx438_pos, $P10
-    ge rx438_pos, rx438_eos, rxscan441_done
-  rxscan441_scan:
-    set_addr $I10, rxscan441_loop
-    rx438_cur."!mark_push"(0, rx438_pos, $I10)
-  rxscan441_done:
+    set rx442_pos, $P10
+    ge rx442_pos, rx442_eos, rxscan445_done
+  rxscan445_scan:
+    set_addr $I10, rxscan445_loop
+    rx442_cur."!mark_push"(0, rx442_pos, $I10)
+  rxscan445_done:
 .annotate "line", 136
   # rx charclass W
-    ge rx438_pos, rx438_eos, rx438_fail
-    sub $I10, rx438_pos, rx438_off
-    is_cclass $I11, 8192, rx438_tgt, $I10
-    if $I11, rx438_fail
-    inc rx438_pos
+    ge rx442_pos, rx442_eos, rx442_fail
+    sub $I10, rx442_pos, rx442_off
+    is_cclass $I11, 8192, rx442_tgt, $I10
+    if $I11, rx442_fail
+    inc rx442_pos
   # rx pass
-    rx438_cur."!cursor_pass"(rx438_pos, "backslash:sym<misc>")
-    rx438_cur."!cursor_debug"("PASS  ", "backslash:sym<misc>", " at pos=", rx438_pos)
-    .return (rx438_cur)
-  rx438_fail:
+    rx442_cur."!cursor_pass"(rx442_pos, "backslash:sym<misc>")
+    rx442_cur."!cursor_debug"("PASS  ", "backslash:sym<misc>", " at pos=", rx442_pos)
+    .return (rx442_cur)
+  rx442_fail:
 .annotate "line", 3
-    (rx438_rep, rx438_pos, $I10, $P10) = rx438_cur."!mark_fail"(0)
-    lt rx438_pos, -1, rx438_done
-    eq rx438_pos, -1, rx438_fail
+    (rx442_rep, rx442_pos, $I10, $P10) = rx442_cur."!mark_fail"(0)
+    lt rx442_pos, -1, rx442_done
+    eq rx442_pos, -1, rx442_fail
     jump $I10
-  rx438_done:
-    rx438_cur."!cursor_fail"()
-    rx438_cur."!cursor_debug"("FAIL  ", "backslash:sym<misc>")
-    .return (rx438_cur)
+  rx442_done:
+    rx442_cur."!cursor_fail"()
+    rx442_cur."!cursor_debug"("FAIL  ", "backslash:sym<misc>")
+    .return (rx442_cur)
     .return ()
 .end
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__backslash:sym<misc>"  :subid("124_1259103974.80122") :method
+.sub "!PREFIX__backslash:sym<misc>"  :subid("124_1259177736.62303") :method
 .annotate "line", 3
-    new $P440, "ResizablePMCArray"
-    push $P440, ""
-    .return ($P440)
+    new $P444, "ResizablePMCArray"
+    push $P444, ""
+    .return ($P444)
 .end
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "assertion"  :subid("125_1259103974.80122") :method
+.sub "assertion"  :subid("125_1259177736.62303") :method
 .annotate "line", 138
-    $P443 = self."!protoregex"("assertion")
-    .return ($P443)
+    $P447 = self."!protoregex"("assertion")
+    .return ($P447)
 .end
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__assertion"  :subid("126_1259103974.80122") :method
+.sub "!PREFIX__assertion"  :subid("126_1259177736.62303") :method
 .annotate "line", 138
-    $P445 = self."!PREFIX__!protoregex"("assertion")
-    .return ($P445)
+    $P449 = self."!PREFIX__!protoregex"("assertion")
+    .return ($P449)
 .end
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "assertion:sym<?>"  :subid("127_1259103974.80122") :method :outer("11_1259103974.80122")
+.sub "assertion:sym<?>"  :subid("127_1259177736.62303") :method :outer("11_1259177736.62303")
 .annotate "line", 3
-    .const 'Sub' $P454 = "129_1259103974.80122" 
-    capture_lex $P454
-    .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 ", "assertion:sym<?>")
-    .lex unicode:"$\x{a2}", rx447_cur
-    .local pmc match
-    .lex "$/", match
-    length rx447_eos, rx447_tgt
-    set rx447_off, 0
-    lt rx447_pos, 2, rx447_start
-    sub rx447_off, rx447_pos, 1
-    substr rx447_tgt, rx447_tgt, rx447_off
-  rx447_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan451_done
-    goto rxscan451_scan
-  rxscan451_loop:
-    ($P10) = rx447_cur."from"()
-    inc $P10
-    set rx447_pos, $P10
-    ge rx447_pos, rx447_eos, rxscan451_done
-  rxscan451_scan:
-    set_addr $I10, rxscan451_loop
-    rx447_cur."!mark_push"(0, rx447_pos, $I10)
-  rxscan451_done:
+    .const 'Sub' $P458 = "129_1259177736.62303" 
+    capture_lex $P458
+    .local string rx451_tgt
+    .local int rx451_pos
+    .local int rx451_off
+    .local int rx451_eos
+    .local int rx451_rep
+    .local pmc rx451_cur
+    (rx451_cur, rx451_pos, rx451_tgt) = self."!cursor_start"()
+    rx451_cur."!cursor_debug"("START ", "assertion:sym<?>")
+    .lex unicode:"$\x{a2}", rx451_cur
+    .local pmc match
+    .lex "$/", match
+    length rx451_eos, rx451_tgt
+    set rx451_off, 0
+    lt rx451_pos, 2, rx451_start
+    sub rx451_off, rx451_pos, 1
+    substr rx451_tgt, rx451_tgt, rx451_off
+  rx451_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan455_done
+    goto rxscan455_scan
+  rxscan455_loop:
+    ($P10) = rx451_cur."from"()
+    inc $P10
+    set rx451_pos, $P10
+    ge rx451_pos, rx451_eos, rxscan455_done
+  rxscan455_scan:
+    set_addr $I10, rxscan455_loop
+    rx451_cur."!mark_push"(0, rx451_pos, $I10)
+  rxscan455_done:
 .annotate "line", 140
   # 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
-  alt452_0:
-    set_addr $I10, alt452_1
-    rx447_cur."!mark_push"(0, rx447_pos, $I10)
+    add $I11, rx451_pos, 1
+    gt $I11, rx451_eos, rx451_fail
+    sub $I11, rx451_pos, rx451_off
+    substr $S10, rx451_tgt, $I11, 1
+    ne $S10, "?", rx451_fail
+    add rx451_pos, 1
+  alt456_0:
+    set_addr $I10, alt456_1
+    rx451_cur."!mark_push"(0, rx451_pos, $I10)
   # rx subrule "before" subtype=zerowidth negate=
-    rx447_cur."!cursor_pos"(rx447_pos)
-    .const 'Sub' $P454 = "129_1259103974.80122" 
-    capture_lex $P454
-    $P10 = rx447_cur."before"($P454)
-    unless $P10, rx447_fail
-    goto alt452_end
-  alt452_1:
+    rx451_cur."!cursor_pos"(rx451_pos)
+    .const 'Sub' $P458 = "129_1259177736.62303" 
+    capture_lex $P458
+    $P10 = rx451_cur."before"($P458)
+    unless $P10, rx451_fail
+    goto alt456_end
+  alt456_1:
   # rx subrule "assertion" subtype=capture negate=
-    rx447_cur."!cursor_pos"(rx447_pos)
-    $P10 = rx447_cur."assertion"()
-    unless $P10, rx447_fail
-    rx447_cur."!mark_push"(0, -1, 0, $P10)
+    rx451_cur."!cursor_pos"(rx451_pos)
+    $P10 = rx451_cur."assertion"()
+    unless $P10, rx451_fail
+    rx451_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("assertion")
-    rx447_pos = $P10."pos"()
-  alt452_end:
+    rx451_pos = $P10."pos"()
+  alt456_end:
   # rx pass
-    rx447_cur."!cursor_pass"(rx447_pos, "assertion:sym<?>")
-    rx447_cur."!cursor_debug"("PASS  ", "assertion:sym<?>", " at pos=", rx447_pos)
-    .return (rx447_cur)
-  rx447_fail:
+    rx451_cur."!cursor_pass"(rx451_pos, "assertion:sym<?>")
+    rx451_cur."!cursor_debug"("PASS  ", "assertion:sym<?>", " at pos=", rx451_pos)
+    .return (rx451_cur)
+  rx451_fail:
 .annotate "line", 3
-    (rx447_rep, rx447_pos, $I10, $P10) = rx447_cur."!mark_fail"(0)
-    lt rx447_pos, -1, rx447_done
-    eq rx447_pos, -1, rx447_fail
+    (rx451_rep, rx451_pos, $I10, $P10) = rx451_cur."!mark_fail"(0)
+    lt rx451_pos, -1, rx451_done
+    eq rx451_pos, -1, rx451_fail
     jump $I10
-  rx447_done:
-    rx447_cur."!cursor_fail"()
-    rx447_cur."!cursor_debug"("FAIL  ", "assertion:sym<?>")
-    .return (rx447_cur)
+  rx451_done:
+    rx451_cur."!cursor_fail"()
+    rx451_cur."!cursor_debug"("FAIL  ", "assertion:sym<?>")
+    .return (rx451_cur)
     .return ()
 .end
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__assertion:sym<?>"  :subid("128_1259103974.80122") :method
+.sub "!PREFIX__assertion:sym<?>"  :subid("128_1259177736.62303") :method
 .annotate "line", 3
-    $P449 = self."!PREFIX__!subrule"("assertion", "?")
-    new $P450, "ResizablePMCArray"
-    push $P450, $P449
-    push $P450, "?"
-    .return ($P450)
+    $P453 = self."!PREFIX__!subrule"("assertion", "?")
+    new $P454, "ResizablePMCArray"
+    push $P454, $P453
+    push $P454, "?"
+    .return ($P454)
 .end
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "_block453"  :anon :subid("129_1259103974.80122") :method :outer("127_1259103974.80122")
+.sub "_block457"  :anon :subid("129_1259177736.62303") :method :outer("127_1259177736.62303")
 .annotate "line", 140
-    .local string rx455_tgt
-    .local int rx455_pos
-    .local int rx455_off
-    .local int rx455_eos
-    .local int rx455_rep
-    .local pmc rx455_cur
-    (rx455_cur, rx455_pos, rx455_tgt) = self."!cursor_start"()
-    rx455_cur."!cursor_debug"("START ", "")
-    .lex unicode:"$\x{a2}", rx455_cur
-    .local pmc match
-    .lex "$/", match
-    length rx455_eos, rx455_tgt
-    set rx455_off, 0
-    lt rx455_pos, 2, rx455_start
-    sub rx455_off, rx455_pos, 1
-    substr rx455_tgt, rx455_tgt, rx455_off
-  rx455_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan456_done
-    goto rxscan456_scan
-  rxscan456_loop:
-    ($P10) = rx455_cur."from"()
-    inc $P10
-    set rx455_pos, $P10
-    ge rx455_pos, rx455_eos, rxscan456_done
-  rxscan456_scan:
-    set_addr $I10, rxscan456_loop
-    rx455_cur."!mark_push"(0, rx455_pos, $I10)
-  rxscan456_done:
+    .lex unicode:"$\x{a2}", $P459
+    .local string rx460_tgt
+    .local int rx460_pos
+    .local int rx460_off
+    .local int rx460_eos
+    .local int rx460_rep
+    .local pmc rx460_cur
+    (rx460_cur, rx460_pos, rx460_tgt) = self."!cursor_start"()
+    rx460_cur."!cursor_debug"("START ", "")
+    .lex unicode:"$\x{a2}", rx460_cur
+    .local pmc match
+    .lex "$/", match
+    length rx460_eos, rx460_tgt
+    set rx460_off, 0
+    lt rx460_pos, 2, rx460_start
+    sub rx460_off, rx460_pos, 1
+    substr rx460_tgt, rx460_tgt, rx460_off
+  rx460_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan461_done
+    goto rxscan461_scan
+  rxscan461_loop:
+    ($P10) = rx460_cur."from"()
+    inc $P10
+    set rx460_pos, $P10
+    ge rx460_pos, rx460_eos, rxscan461_done
+  rxscan461_scan:
+    set_addr $I10, rxscan461_loop
+    rx460_cur."!mark_push"(0, rx460_pos, $I10)
+  rxscan461_done:
   # rx literal  ">"
-    add $I11, rx455_pos, 1
-    gt $I11, rx455_eos, rx455_fail
-    sub $I11, rx455_pos, rx455_off
-    substr $S10, rx455_tgt, $I11, 1
-    ne $S10, ">", rx455_fail
-    add rx455_pos, 1
-  # rx pass
-    rx455_cur."!cursor_pass"(rx455_pos, "")
-    rx455_cur."!cursor_debug"("PASS  ", "", " at pos=", rx455_pos)
-    .return (rx455_cur)
-  rx455_fail:
-    (rx455_rep, rx455_pos, $I10, $P10) = rx455_cur."!mark_fail"(0)
-    lt rx455_pos, -1, rx455_done
-    eq rx455_pos, -1, rx455_fail
-    jump $I10
-  rx455_done:
-    rx455_cur."!cursor_fail"()
-    rx455_cur."!cursor_debug"("FAIL  ", "")
-    .return (rx455_cur)
+    add $I11, rx460_pos, 1
+    gt $I11, rx460_eos, rx460_fail
+    sub $I11, rx460_pos, rx460_off
+    substr $S10, rx460_tgt, $I11, 1
+    ne $S10, ">", rx460_fail
+    add rx460_pos, 1
+  # rx pass
+    rx460_cur."!cursor_pass"(rx460_pos, "")
+    rx460_cur."!cursor_debug"("PASS  ", "", " at pos=", rx460_pos)
+    .return (rx460_cur)
+  rx460_fail:
+    (rx460_rep, rx460_pos, $I10, $P10) = rx460_cur."!mark_fail"(0)
+    lt rx460_pos, -1, rx460_done
+    eq rx460_pos, -1, rx460_fail
+    jump $I10
+  rx460_done:
+    rx460_cur."!cursor_fail"()
+    rx460_cur."!cursor_debug"("FAIL  ", "")
+    .return (rx460_cur)
     .return ()
 .end
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "assertion:sym<!>"  :subid("130_1259103974.80122") :method :outer("11_1259103974.80122")
-.annotate "line", 3
-    .const 'Sub' $P465 = "132_1259103974.80122" 
-    capture_lex $P465
-    .local string rx458_tgt
-    .local int rx458_pos
-    .local int rx458_off
-    .local int rx458_eos
-    .local int rx458_rep
-    .local pmc rx458_cur
-    (rx458_cur, rx458_pos, rx458_tgt) = self."!cursor_start"()
-    rx458_cur."!cursor_debug"("START ", "assertion:sym<!>")
-    .lex unicode:"$\x{a2}", rx458_cur
-    .local pmc match
-    .lex "$/", match
-    length rx458_eos, rx458_tgt
-    set rx458_off, 0
-    lt rx458_pos, 2, rx458_start
-    sub rx458_off, rx458_pos, 1
-    substr rx458_tgt, rx458_tgt, rx458_off
-  rx458_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan462_done
-    goto rxscan462_scan
-  rxscan462_loop:
-    ($P10) = rx458_cur."from"()
-    inc $P10
-    set rx458_pos, $P10
-    ge rx458_pos, rx458_eos, rxscan462_done
-  rxscan462_scan:
-    set_addr $I10, rxscan462_loop
-    rx458_cur."!mark_push"(0, rx458_pos, $I10)
-  rxscan462_done:
+.sub "assertion:sym<!>"  :subid("130_1259177736.62303") :method :outer("11_1259177736.62303")
+.annotate "line", 3
+    .const 'Sub' $P470 = "132_1259177736.62303" 
+    capture_lex $P470
+    .local string rx463_tgt
+    .local int rx463_pos
+    .local int rx463_off
+    .local int rx463_eos
+    .local int rx463_rep
+    .local pmc rx463_cur
+    (rx463_cur, rx463_pos, rx463_tgt) = self."!cursor_start"()
+    rx463_cur."!cursor_debug"("START ", "assertion:sym<!>")
+    .lex unicode:"$\x{a2}", rx463_cur
+    .local pmc match
+    .lex "$/", match
+    length rx463_eos, rx463_tgt
+    set rx463_off, 0
+    lt rx463_pos, 2, rx463_start
+    sub rx463_off, rx463_pos, 1
+    substr rx463_tgt, rx463_tgt, rx463_off
+  rx463_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan467_done
+    goto rxscan467_scan
+  rxscan467_loop:
+    ($P10) = rx463_cur."from"()
+    inc $P10
+    set rx463_pos, $P10
+    ge rx463_pos, rx463_eos, rxscan467_done
+  rxscan467_scan:
+    set_addr $I10, rxscan467_loop
+    rx463_cur."!mark_push"(0, rx463_pos, $I10)
+  rxscan467_done:
 .annotate "line", 141
   # rx literal  "!"
-    add $I11, rx458_pos, 1
-    gt $I11, rx458_eos, rx458_fail
-    sub $I11, rx458_pos, rx458_off
-    substr $S10, rx458_tgt, $I11, 1
-    ne $S10, "!", rx458_fail
-    add rx458_pos, 1
-  alt463_0:
-    set_addr $I10, alt463_1
-    rx458_cur."!mark_push"(0, rx458_pos, $I10)
+    add $I11, rx463_pos, 1
+    gt $I11, rx463_eos, rx463_fail
+    sub $I11, rx463_pos, rx463_off
+    substr $S10, rx463_tgt, $I11, 1
+    ne $S10, "!", rx463_fail
+    add rx463_pos, 1
+  alt468_0:
+    set_addr $I10, alt468_1
+    rx463_cur."!mark_push"(0, rx463_pos, $I10)
   # rx subrule "before" subtype=zerowidth negate=
-    rx458_cur."!cursor_pos"(rx458_pos)
-    .const 'Sub' $P465 = "132_1259103974.80122" 
-    capture_lex $P465
-    $P10 = rx458_cur."before"($P465)
-    unless $P10, rx458_fail
-    goto alt463_end
-  alt463_1:
+    rx463_cur."!cursor_pos"(rx463_pos)
+    .const 'Sub' $P470 = "132_1259177736.62303" 
+    capture_lex $P470
+    $P10 = rx463_cur."before"($P470)
+    unless $P10, rx463_fail
+    goto alt468_end
+  alt468_1:
   # rx subrule "assertion" subtype=capture negate=
-    rx458_cur."!cursor_pos"(rx458_pos)
-    $P10 = rx458_cur."assertion"()
-    unless $P10, rx458_fail
-    rx458_cur."!mark_push"(0, -1, 0, $P10)
+    rx463_cur."!cursor_pos"(rx463_pos)
+    $P10 = rx463_cur."assertion"()
+    unless $P10, rx463_fail
+    rx463_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("assertion")
-    rx458_pos = $P10."pos"()
-  alt463_end:
+    rx463_pos = $P10."pos"()
+  alt468_end:
   # rx pass
-    rx458_cur."!cursor_pass"(rx458_pos, "assertion:sym<!>")
-    rx458_cur."!cursor_debug"("PASS  ", "assertion:sym<!>", " at pos=", rx458_pos)
-    .return (rx458_cur)
-  rx458_fail:
+    rx463_cur."!cursor_pass"(rx463_pos, "assertion:sym<!>")
+    rx463_cur."!cursor_debug"("PASS  ", "assertion:sym<!>", " at pos=", rx463_pos)
+    .return (rx463_cur)
+  rx463_fail:
 .annotate "line", 3
-    (rx458_rep, rx458_pos, $I10, $P10) = rx458_cur."!mark_fail"(0)
-    lt rx458_pos, -1, rx458_done
-    eq rx458_pos, -1, rx458_fail
+    (rx463_rep, rx463_pos, $I10, $P10) = rx463_cur."!mark_fail"(0)
+    lt rx463_pos, -1, rx463_done
+    eq rx463_pos, -1, rx463_fail
     jump $I10
-  rx458_done:
-    rx458_cur."!cursor_fail"()
-    rx458_cur."!cursor_debug"("FAIL  ", "assertion:sym<!>")
-    .return (rx458_cur)
+  rx463_done:
+    rx463_cur."!cursor_fail"()
+    rx463_cur."!cursor_debug"("FAIL  ", "assertion:sym<!>")
+    .return (rx463_cur)
     .return ()
 .end
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__assertion:sym<!>"  :subid("131_1259103974.80122") :method
+.sub "!PREFIX__assertion:sym<!>"  :subid("131_1259177736.62303") :method
 .annotate "line", 3
-    $P460 = self."!PREFIX__!subrule"("assertion", "!")
-    new $P461, "ResizablePMCArray"
-    push $P461, $P460
-    push $P461, "!"
-    .return ($P461)
+    $P465 = self."!PREFIX__!subrule"("assertion", "!")
+    new $P466, "ResizablePMCArray"
+    push $P466, $P465
+    push $P466, "!"
+    .return ($P466)
 .end
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "_block464"  :anon :subid("132_1259103974.80122") :method :outer("130_1259103974.80122")
+.sub "_block469"  :anon :subid("132_1259177736.62303") :method :outer("130_1259177736.62303")
 .annotate "line", 141
-    .local string rx466_tgt
-    .local int rx466_pos
-    .local int rx466_off
-    .local int rx466_eos
-    .local int rx466_rep
-    .local pmc rx466_cur
-    (rx466_cur, rx466_pos, rx466_tgt) = self."!cursor_start"()
-    rx466_cur."!cursor_debug"("START ", "")
-    .lex unicode:"$\x{a2}", rx466_cur
-    .local pmc match
-    .lex "$/", match
-    length rx466_eos, rx466_tgt
-    set rx466_off, 0
-    lt rx466_pos, 2, rx466_start
-    sub rx466_off, rx466_pos, 1
-    substr rx466_tgt, rx466_tgt, rx466_off
-  rx466_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan467_done
-    goto rxscan467_scan
-  rxscan467_loop:
-    ($P10) = rx466_cur."from"()
-    inc $P10
-    set rx466_pos, $P10
-    ge rx466_pos, rx466_eos, rxscan467_done
-  rxscan467_scan:
-    set_addr $I10, rxscan467_loop
-    rx466_cur."!mark_push"(0, rx466_pos, $I10)
-  rxscan467_done:
-  # rx literal  ">"
-    add $I11, rx466_pos, 1
-    gt $I11, rx466_eos, rx466_fail
-    sub $I11, rx466_pos, rx466_off
-    substr $S10, rx466_tgt, $I11, 1
-    ne $S10, ">", rx466_fail
-    add rx466_pos, 1
-  # rx pass
-    rx466_cur."!cursor_pass"(rx466_pos, "")
-    rx466_cur."!cursor_debug"("PASS  ", "", " at pos=", rx466_pos)
-    .return (rx466_cur)
-  rx466_fail:
-    (rx466_rep, rx466_pos, $I10, $P10) = rx466_cur."!mark_fail"(0)
-    lt rx466_pos, -1, rx466_done
-    eq rx466_pos, -1, rx466_fail
-    jump $I10
-  rx466_done:
-    rx466_cur."!cursor_fail"()
-    rx466_cur."!cursor_debug"("FAIL  ", "")
-    .return (rx466_cur)
-    .return ()
-.end
-
-
-.namespace ["Regex";"P6Regex";"Grammar"]
-.sub "assertion:sym<method>"  :subid("133_1259103974.80122") :method :outer("11_1259103974.80122")
-.annotate "line", 3
-    .local string rx469_tgt
-    .local int rx469_pos
-    .local int rx469_off
-    .local int rx469_eos
-    .local int rx469_rep
-    .local pmc rx469_cur
-    (rx469_cur, rx469_pos, rx469_tgt) = self."!cursor_start"()
-    rx469_cur."!cursor_debug"("START ", "assertion:sym<method>")
-    .lex unicode:"$\x{a2}", rx469_cur
-    .local pmc match
-    .lex "$/", match
-    length rx469_eos, rx469_tgt
-    set rx469_off, 0
-    lt rx469_pos, 2, rx469_start
-    sub rx469_off, rx469_pos, 1
-    substr rx469_tgt, rx469_tgt, rx469_off
-  rx469_start:
+    .lex unicode:"$\x{a2}", $P471
+    .local string rx472_tgt
+    .local int rx472_pos
+    .local int rx472_off
+    .local int rx472_eos
+    .local int rx472_rep
+    .local pmc rx472_cur
+    (rx472_cur, rx472_pos, rx472_tgt) = self."!cursor_start"()
+    rx472_cur."!cursor_debug"("START ", "")
+    .lex unicode:"$\x{a2}", rx472_cur
+    .local pmc match
+    .lex "$/", match
+    length rx472_eos, rx472_tgt
+    set rx472_off, 0
+    lt rx472_pos, 2, rx472_start
+    sub rx472_off, rx472_pos, 1
+    substr rx472_tgt, rx472_tgt, rx472_off
+  rx472_start:
     $I10 = self.'from'()
     ne $I10, -1, rxscan473_done
     goto rxscan473_scan
   rxscan473_loop:
-    ($P10) = rx469_cur."from"()
+    ($P10) = rx472_cur."from"()
     inc $P10
-    set rx469_pos, $P10
-    ge rx469_pos, rx469_eos, rxscan473_done
+    set rx472_pos, $P10
+    ge rx472_pos, rx472_eos, rxscan473_done
   rxscan473_scan:
     set_addr $I10, rxscan473_loop
-    rx469_cur."!mark_push"(0, rx469_pos, $I10)
+    rx472_cur."!mark_push"(0, rx472_pos, $I10)
   rxscan473_done:
-.annotate "line", 144
-  # rx literal  "."
-    add $I11, rx469_pos, 1
-    gt $I11, rx469_eos, rx469_fail
-    sub $I11, rx469_pos, rx469_off
-    substr $S10, rx469_tgt, $I11, 1
-    ne $S10, ".", rx469_fail
-    add rx469_pos, 1
-  # rx subrule "assertion" subtype=capture negate=
-    rx469_cur."!cursor_pos"(rx469_pos)
-    $P10 = rx469_cur."assertion"()
-    unless $P10, rx469_fail
-    rx469_cur."!mark_push"(0, -1, 0, $P10)
-    $P10."!cursor_names"("assertion")
-    rx469_pos = $P10."pos"()
-.annotate "line", 143
+  # rx literal  ">"
+    add $I11, rx472_pos, 1
+    gt $I11, rx472_eos, rx472_fail
+    sub $I11, rx472_pos, rx472_off
+    substr $S10, rx472_tgt, $I11, 1
+    ne $S10, ">", rx472_fail
+    add rx472_pos, 1
   # rx pass
-    rx469_cur."!cursor_pass"(rx469_pos, "assertion:sym<method>")
-    rx469_cur."!cursor_debug"("PASS  ", "assertion:sym<method>", " at pos=", rx469_pos)
-    .return (rx469_cur)
-  rx469_fail:
-.annotate "line", 3
-    (rx469_rep, rx469_pos, $I10, $P10) = rx469_cur."!mark_fail"(0)
-    lt rx469_pos, -1, rx469_done
-    eq rx469_pos, -1, rx469_fail
+    rx472_cur."!cursor_pass"(rx472_pos, "")
+    rx472_cur."!cursor_debug"("PASS  ", "", " at pos=", rx472_pos)
+    .return (rx472_cur)
+  rx472_fail:
+    (rx472_rep, rx472_pos, $I10, $P10) = rx472_cur."!mark_fail"(0)
+    lt rx472_pos, -1, rx472_done
+    eq rx472_pos, -1, rx472_fail
     jump $I10
-  rx469_done:
-    rx469_cur."!cursor_fail"()
-    rx469_cur."!cursor_debug"("FAIL  ", "assertion:sym<method>")
-    .return (rx469_cur)
+  rx472_done:
+    rx472_cur."!cursor_fail"()
+    rx472_cur."!cursor_debug"("FAIL  ", "")
+    .return (rx472_cur)
     .return ()
 .end
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__assertion:sym<method>"  :subid("134_1259103974.80122") :method
-.annotate "line", 3
-    $P471 = self."!PREFIX__!subrule"("assertion", ".")
-    new $P472, "ResizablePMCArray"
-    push $P472, $P471
-    .return ($P472)
-.end
-
-
-.namespace ["Regex";"P6Regex";"Grammar"]
-.sub "assertion:sym<name>"  :subid("135_1259103974.80122") :method :outer("11_1259103974.80122")
+.sub "assertion:sym<method>"  :subid("133_1259177736.62303") :method :outer("11_1259177736.62303")
 .annotate "line", 3
-    .const 'Sub' $P483 = "137_1259103974.80122" 
-    capture_lex $P483
     .local string rx475_tgt
     .local int rx475_pos
     .local int rx475_off
@@ -5726,8 +5654,7 @@
     .local int rx475_rep
     .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"("nibbler", "arglist", "assertion")
+    rx475_cur."!cursor_debug"("START ", "assertion:sym<method>")
     .lex unicode:"$\x{a2}", rx475_cur
     .local pmc match
     .lex "$/", match
@@ -5738,1555 +5665,1641 @@
     substr rx475_tgt, rx475_tgt, rx475_off
   rx475_start:
     $I10 = self.'from'()
-    ne $I10, -1, rxscan478_done
-    goto rxscan478_scan
-  rxscan478_loop:
+    ne $I10, -1, rxscan479_done
+    goto rxscan479_scan
+  rxscan479_loop:
     ($P10) = rx475_cur."from"()
     inc $P10
     set rx475_pos, $P10
-    ge rx475_pos, rx475_eos, rxscan478_done
-  rxscan478_scan:
-    set_addr $I10, rxscan478_loop
+    ge rx475_pos, rx475_eos, rxscan479_done
+  rxscan479_scan:
+    set_addr $I10, rxscan479_loop
     rx475_cur."!mark_push"(0, rx475_pos, $I10)
-  rxscan478_done:
+  rxscan479_done:
+.annotate "line", 144
+  # rx literal  "."
+    add $I11, rx475_pos, 1
+    gt $I11, rx475_eos, rx475_fail
+    sub $I11, rx475_pos, rx475_off
+    substr $S10, rx475_tgt, $I11, 1
+    ne $S10, ".", rx475_fail
+    add rx475_pos, 1
+  # rx subrule "assertion" subtype=capture negate=
+    rx475_cur."!cursor_pos"(rx475_pos)
+    $P10 = rx475_cur."assertion"()
+    unless $P10, rx475_fail
+    rx475_cur."!mark_push"(0, -1, 0, $P10)
+    $P10."!cursor_names"("assertion")
+    rx475_pos = $P10."pos"()
+.annotate "line", 143
+  # rx pass
+    rx475_cur."!cursor_pass"(rx475_pos, "assertion:sym<method>")
+    rx475_cur."!cursor_debug"("PASS  ", "assertion:sym<method>", " at pos=", rx475_pos)
+    .return (rx475_cur)
+  rx475_fail:
+.annotate "line", 3
+    (rx475_rep, rx475_pos, $I10, $P10) = rx475_cur."!mark_fail"(0)
+    lt rx475_pos, -1, rx475_done
+    eq rx475_pos, -1, rx475_fail
+    jump $I10
+  rx475_done:
+    rx475_cur."!cursor_fail"()
+    rx475_cur."!cursor_debug"("FAIL  ", "assertion:sym<method>")
+    .return (rx475_cur)
+    .return ()
+.end
+
+
+.namespace ["Regex";"P6Regex";"Grammar"]
+.sub "!PREFIX__assertion:sym<method>"  :subid("134_1259177736.62303") :method
+.annotate "line", 3
+    $P477 = self."!PREFIX__!subrule"("assertion", ".")
+    new $P478, "ResizablePMCArray"
+    push $P478, $P477
+    .return ($P478)
+.end
+
+
+.namespace ["Regex";"P6Regex";"Grammar"]
+.sub "assertion:sym<name>"  :subid("135_1259177736.62303") :method :outer("11_1259177736.62303")
+.annotate "line", 3
+    .const 'Sub' $P489 = "137_1259177736.62303" 
+    capture_lex $P489
+    .local string rx481_tgt
+    .local int rx481_pos
+    .local int rx481_off
+    .local int rx481_eos
+    .local int rx481_rep
+    .local pmc rx481_cur
+    (rx481_cur, rx481_pos, rx481_tgt) = self."!cursor_start"()
+    rx481_cur."!cursor_debug"("START ", "assertion:sym<name>")
+    rx481_cur."!cursor_caparray"("assertion", "nibbler", "arglist")
+    .lex unicode:"$\x{a2}", rx481_cur
+    .local pmc match
+    .lex "$/", match
+    length rx481_eos, rx481_tgt
+    set rx481_off, 0
+    lt rx481_pos, 2, rx481_start
+    sub rx481_off, rx481_pos, 1
+    substr rx481_tgt, rx481_tgt, rx481_off
+  rx481_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan484_done
+    goto rxscan484_scan
+  rxscan484_loop:
+    ($P10) = rx481_cur."from"()
+    inc $P10
+    set rx481_pos, $P10
+    ge rx481_pos, rx481_eos, rxscan484_done
+  rxscan484_scan:
+    set_addr $I10, rxscan484_loop
+    rx481_cur."!mark_push"(0, rx481_pos, $I10)
+  rxscan484_done:
 .annotate "line", 148
   # rx subcapture "longname"
-    set_addr $I10, rxcap_479_fail
-    rx475_cur."!mark_push"(0, rx475_pos, $I10)
+    set_addr $I10, rxcap_485_fail
+    rx481_cur."!mark_push"(0, rx481_pos, $I10)
   # rx charclass_q w r 1..-1
-    sub $I10, rx475_pos, rx475_off
-    find_not_cclass $I11, 8192, rx475_tgt, $I10, rx475_eos
+    sub $I10, rx481_pos, rx481_off
+    find_not_cclass $I11, 8192, rx481_tgt, $I10, rx481_eos
     add $I12, $I10, 1
-    lt $I11, $I12, rx475_fail
-    add rx475_pos, rx475_off, $I11
-    set_addr $I10, rxcap_479_fail
-    ($I12, $I11) = rx475_cur."!mark_peek"($I10)
-    rx475_cur."!cursor_pos"($I11)
-    ($P10) = rx475_cur."!cursor_start"()
-    $P10."!cursor_pass"(rx475_pos, "")
-    rx475_cur."!mark_push"(0, -1, 0, $P10)
+    lt $I11, $I12, rx481_fail
+    add rx481_pos, rx481_off, $I11
+    set_addr $I10, rxcap_485_fail
+    ($I12, $I11) = rx481_cur."!mark_peek"($I10)
+    rx481_cur."!cursor_pos"($I11)
+    ($P10) = rx481_cur."!cursor_start"()
+    $P10."!cursor_pass"(rx481_pos, "")
+    rx481_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("longname")
-    goto rxcap_479_done
-  rxcap_479_fail:
-    goto rx475_fail
-  rxcap_479_done:
+    goto rxcap_485_done
+  rxcap_485_fail:
+    goto rx481_fail
+  rxcap_485_done:
 .annotate "line", 155
-  # rx rxquantr480 ** 0..1
-    set_addr $I486, rxquantr480_done
-    rx475_cur."!mark_push"(0, rx475_pos, $I486)
-  rxquantr480_loop:
-  alt481_0:
+  # rx rxquantr486 ** 0..1
+    set_addr $I493, rxquantr486_done
+    rx481_cur."!mark_push"(0, rx481_pos, $I493)
+  rxquantr486_loop:
+  alt487_0:
 .annotate "line", 149
-    set_addr $I10, alt481_1
-    rx475_cur."!mark_push"(0, rx475_pos, $I10)
+    set_addr $I10, alt487_1
+    rx481_cur."!mark_push"(0, rx481_pos, $I10)
 .annotate "line", 150
   # rx subrule "before" subtype=zerowidth negate=
-    rx475_cur."!cursor_pos"(rx475_pos)
-    .const 'Sub' $P483 = "137_1259103974.80122" 
-    capture_lex $P483
-    $P10 = rx475_cur."before"($P483)
-    unless $P10, rx475_fail
-    goto alt481_end
-  alt481_1:
-    set_addr $I10, alt481_2
-    rx475_cur."!mark_push"(0, rx475_pos, $I10)
+    rx481_cur."!cursor_pos"(rx481_pos)
+    .const 'Sub' $P489 = "137_1259177736.62303" 
+    capture_lex $P489
+    $P10 = rx481_cur."before"($P489)
+    unless $P10, rx481_fail
+    goto alt487_end
+  alt487_1:
+    set_addr $I10, alt487_2
+    rx481_cur."!mark_push"(0, rx481_pos, $I10)
 .annotate "line", 151
   # rx literal  "="
-    add $I11, rx475_pos, 1
-    gt $I11, rx475_eos, rx475_fail
-    sub $I11, rx475_pos, rx475_off
-    substr $S10, rx475_tgt, $I11, 1
-    ne $S10, "=", rx475_fail
-    add rx475_pos, 1
+    add $I11, rx481_pos, 1
+    gt $I11, rx481_eos, rx481_fail
+    sub $I11, rx481_pos, rx481_off
+    substr $S10, rx481_tgt, $I11, 1
+    ne $S10, "=", rx481_fail
+    add rx481_pos, 1
   # rx subrule "assertion" subtype=capture negate=
-    rx475_cur."!cursor_pos"(rx475_pos)
-    $P10 = rx475_cur."assertion"()
-    unless $P10, rx475_fail
-    rx475_cur."!mark_push"(0, -1, 0, $P10)
+    rx481_cur."!cursor_pos"(rx481_pos)
+    $P10 = rx481_cur."assertion"()
+    unless $P10, rx481_fail
+    rx481_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("assertion")
-    rx475_pos = $P10."pos"()
-    goto alt481_end
-  alt481_2:
-    set_addr $I10, alt481_3
-    rx475_cur."!mark_push"(0, rx475_pos, $I10)
+    rx481_pos = $P10."pos"()
+    goto alt487_end
+  alt487_2:
+    set_addr $I10, alt487_3
+    rx481_cur."!mark_push"(0, rx481_pos, $I10)
 .annotate "line", 152
   # rx literal  ":"
-    add $I11, rx475_pos, 1
-    gt $I11, rx475_eos, rx475_fail
-    sub $I11, rx475_pos, rx475_off
-    substr $S10, rx475_tgt, $I11, 1
-    ne $S10, ":", rx475_fail
-    add rx475_pos, 1
+    add $I11, rx481_pos, 1
+    gt $I11, rx481_eos, rx481_fail
+    sub $I11, rx481_pos, rx481_off
+    substr $S10, rx481_tgt, $I11, 1
+    ne $S10, ":", rx481_fail
+    add rx481_pos, 1
   # rx subrule "arglist" subtype=capture negate=
-    rx475_cur."!cursor_pos"(rx475_pos)
-    $P10 = rx475_cur."arglist"()
-    unless $P10, rx475_fail
-    rx475_cur."!mark_push"(0, -1, 0, $P10)
+    rx481_cur."!cursor_pos"(rx481_pos)
+    $P10 = rx481_cur."arglist"()
+    unless $P10, rx481_fail
+    rx481_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("arglist")
-    rx475_pos = $P10."pos"()
-    goto alt481_end
-  alt481_3:
-    set_addr $I10, alt481_4
-    rx475_cur."!mark_push"(0, rx475_pos, $I10)
+    rx481_pos = $P10."pos"()
+    goto alt487_end
+  alt487_3:
+    set_addr $I10, alt487_4
+    rx481_cur."!mark_push"(0, rx481_pos, $I10)
 .annotate "line", 153
   # rx literal  "("
-    add $I11, rx475_pos, 1
-    gt $I11, rx475_eos, rx475_fail
-    sub $I11, rx475_pos, rx475_off
-    substr $S10, rx475_tgt, $I11, 1
-    ne $S10, "(", rx475_fail
-    add rx475_pos, 1
+    add $I11, rx481_pos, 1
+    gt $I11, rx481_eos, rx481_fail
+    sub $I11, rx481_pos, rx481_off
+    substr $S10, rx481_tgt, $I11, 1
+    ne $S10, "(", rx481_fail
+    add rx481_pos, 1
   # rx subrule "arglist" subtype=capture negate=
-    rx475_cur."!cursor_pos"(rx475_pos)
-    $P10 = rx475_cur."arglist"()
-    unless $P10, rx475_fail
-    rx475_cur."!mark_push"(0, -1, 0, $P10)
+    rx481_cur."!cursor_pos"(rx481_pos)
+    $P10 = rx481_cur."arglist"()
+    unless $P10, rx481_fail
+    rx481_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("arglist")
-    rx475_pos = $P10."pos"()
+    rx481_pos = $P10."pos"()
   # rx literal  ")"
-    add $I11, rx475_pos, 1
-    gt $I11, rx475_eos, rx475_fail
-    sub $I11, rx475_pos, rx475_off
-    substr $S10, rx475_tgt, $I11, 1
-    ne $S10, ")", rx475_fail
-    add rx475_pos, 1
-    goto alt481_end
-  alt481_4:
+    add $I11, rx481_pos, 1
+    gt $I11, rx481_eos, rx481_fail
+    sub $I11, rx481_pos, rx481_off
+    substr $S10, rx481_tgt, $I11, 1
+    ne $S10, ")", rx481_fail
+    add rx481_pos, 1
+    goto alt487_end
+  alt487_4:
 .annotate "line", 154
   # rx subrule "normspace" subtype=method negate=
-    rx475_cur."!cursor_pos"(rx475_pos)
-    $P10 = rx475_cur."normspace"()
-    unless $P10, rx475_fail
-    rx475_pos = $P10."pos"()
+    rx481_cur."!cursor_pos"(rx481_pos)
+    $P10 = rx481_cur."normspace"()
+    unless $P10, rx481_fail
+    rx481_pos = $P10."pos"()
   # rx subrule "nibbler" subtype=capture negate=
-    rx475_cur."!cursor_pos"(rx475_pos)
-    $P10 = rx475_cur."nibbler"()
-    unless $P10, rx475_fail
-    rx475_cur."!mark_push"(0, -1, 0, $P10)
+    rx481_cur."!cursor_pos"(rx481_pos)
+    $P10 = rx481_cur."nibbler"()
+    unless $P10, rx481_fail
+    rx481_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("nibbler")
-    rx475_pos = $P10."pos"()
-  alt481_end:
+    rx481_pos = $P10."pos"()
+  alt487_end:
 .annotate "line", 155
-    (rx475_rep) = rx475_cur."!mark_commit"($I486)
-  rxquantr480_done:
+    (rx481_rep) = rx481_cur."!mark_commit"($I493)
+  rxquantr486_done:
 .annotate "line", 147
   # rx pass
-    rx475_cur."!cursor_pass"(rx475_pos, "assertion:sym<name>")
-    rx475_cur."!cursor_debug"("PASS  ", "assertion:sym<name>", " at pos=", rx475_pos)
-    .return (rx475_cur)
-  rx475_fail:
+    rx481_cur."!cursor_pass"(rx481_pos, "assertion:sym<name>")
+    rx481_cur."!cursor_debug"("PASS  ", "assertion:sym<name>", " at pos=", rx481_pos)
+    .return (rx481_cur)
+  rx481_fail:
 .annotate "line", 3
-    (rx475_rep, rx475_pos, $I10, $P10) = rx475_cur."!mark_fail"(0)
-    lt rx475_pos, -1, rx475_done
-    eq rx475_pos, -1, rx475_fail
+    (rx481_rep, rx481_pos, $I10, $P10) = rx481_cur."!mark_fail"(0)
+    lt rx481_pos, -1, rx481_done
+    eq rx481_pos, -1, rx481_fail
     jump $I10
-  rx475_done:
-    rx475_cur."!cursor_fail"()
-    rx475_cur."!cursor_debug"("FAIL  ", "assertion:sym<name>")
-    .return (rx475_cur)
+  rx481_done:
+    rx481_cur."!cursor_fail"()
+    rx481_cur."!cursor_debug"("FAIL  ", "assertion:sym<name>")
+    .return (rx481_cur)
     .return ()
 .end
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__assertion:sym<name>"  :subid("136_1259103974.80122") :method
+.sub "!PREFIX__assertion:sym<name>"  :subid("136_1259177736.62303") :method
 .annotate "line", 3
-    new $P477, "ResizablePMCArray"
-    push $P477, ""
-    .return ($P477)
+    new $P483, "ResizablePMCArray"
+    push $P483, ""
+    .return ($P483)
 .end
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "_block482"  :anon :subid("137_1259103974.80122") :method :outer("135_1259103974.80122")
+.sub "_block488"  :anon :subid("137_1259177736.62303") :method :outer("135_1259177736.62303")
 .annotate "line", 150
-    .local string rx484_tgt
-    .local int rx484_pos
-    .local int rx484_off
-    .local int rx484_eos
-    .local int rx484_rep
-    .local pmc rx484_cur
-    (rx484_cur, rx484_pos, rx484_tgt) = self."!cursor_start"()
-    rx484_cur."!cursor_debug"("START ", "")
-    .lex unicode:"$\x{a2}", rx484_cur
-    .local pmc match
-    .lex "$/", match
-    length rx484_eos, rx484_tgt
-    set rx484_off, 0
-    lt rx484_pos, 2, rx484_start
-    sub rx484_off, rx484_pos, 1
-    substr rx484_tgt, rx484_tgt, rx484_off
-  rx484_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan485_done
-    goto rxscan485_scan
-  rxscan485_loop:
-    ($P10) = rx484_cur."from"()
-    inc $P10
-    set rx484_pos, $P10
-    ge rx484_pos, rx484_eos, rxscan485_done
-  rxscan485_scan:
-    set_addr $I10, rxscan485_loop
-    rx484_cur."!mark_push"(0, rx484_pos, $I10)
-  rxscan485_done:
+    .lex unicode:"$\x{a2}", $P490
+    .local string rx491_tgt
+    .local int rx491_pos
+    .local int rx491_off
+    .local int rx491_eos
+    .local int rx491_rep
+    .local pmc rx491_cur
+    (rx491_cur, rx491_pos, rx491_tgt) = self."!cursor_start"()
+    rx491_cur."!cursor_debug"("START ", "")
+    .lex unicode:"$\x{a2}", rx491_cur
+    .local pmc match
+    .lex "$/", match
+    length rx491_eos, rx491_tgt
+    set rx491_off, 0
+    lt rx491_pos, 2, rx491_start
+    sub rx491_off, rx491_pos, 1
+    substr rx491_tgt, rx491_tgt, rx491_off
+  rx491_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan492_done
+    goto rxscan492_scan
+  rxscan492_loop:
+    ($P10) = rx491_cur."from"()
+    inc $P10
+    set rx491_pos, $P10
+    ge rx491_pos, rx491_eos, rxscan492_done
+  rxscan492_scan:
+    set_addr $I10, rxscan492_loop
+    rx491_cur."!mark_push"(0, rx491_pos, $I10)
+  rxscan492_done:
   # rx literal  ">"
-    add $I11, rx484_pos, 1
-    gt $I11, rx484_eos, rx484_fail
-    sub $I11, rx484_pos, rx484_off
-    substr $S10, rx484_tgt, $I11, 1
-    ne $S10, ">", rx484_fail
-    add rx484_pos, 1
-  # rx pass
-    rx484_cur."!cursor_pass"(rx484_pos, "")
-    rx484_cur."!cursor_debug"("PASS  ", "", " at pos=", rx484_pos)
-    .return (rx484_cur)
-  rx484_fail:
-    (rx484_rep, rx484_pos, $I10, $P10) = rx484_cur."!mark_fail"(0)
-    lt rx484_pos, -1, rx484_done
-    eq rx484_pos, -1, rx484_fail
-    jump $I10
-  rx484_done:
-    rx484_cur."!cursor_fail"()
-    rx484_cur."!cursor_debug"("FAIL  ", "")
-    .return (rx484_cur)
+    add $I11, rx491_pos, 1
+    gt $I11, rx491_eos, rx491_fail
+    sub $I11, rx491_pos, rx491_off
+    substr $S10, rx491_tgt, $I11, 1
+    ne $S10, ">", rx491_fail
+    add rx491_pos, 1
+  # rx pass
+    rx491_cur."!cursor_pass"(rx491_pos, "")
+    rx491_cur."!cursor_debug"("PASS  ", "", " at pos=", rx491_pos)
+    .return (rx491_cur)
+  rx491_fail:
+    (rx491_rep, rx491_pos, $I10, $P10) = rx491_cur."!mark_fail"(0)
+    lt rx491_pos, -1, rx491_done
+    eq rx491_pos, -1, rx491_fail
+    jump $I10
+  rx491_done:
+    rx491_cur."!cursor_fail"()
+    rx491_cur."!cursor_debug"("FAIL  ", "")
+    .return (rx491_cur)
     .return ()
 .end
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "assertion:sym<[>"  :subid("138_1259103974.80122") :method :outer("11_1259103974.80122")
-.annotate "line", 3
-    .const 'Sub' $P493 = "140_1259103974.80122" 
-    capture_lex $P493
-    .local string rx488_tgt
-    .local int rx488_pos
-    .local int rx488_off
-    .local int rx488_eos
-    .local int rx488_rep
-    .local pmc rx488_cur
-    (rx488_cur, rx488_pos, rx488_tgt) = self."!cursor_start"()
-    rx488_cur."!cursor_debug"("START ", "assertion:sym<[>")
-    rx488_cur."!cursor_caparray"("cclass_elem")
-    .lex unicode:"$\x{a2}", rx488_cur
-    .local pmc match
-    .lex "$/", match
-    length rx488_eos, rx488_tgt
-    set rx488_off, 0
-    lt rx488_pos, 2, rx488_start
-    sub rx488_off, rx488_pos, 1
-    substr rx488_tgt, rx488_tgt, rx488_off
-  rx488_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan491_done
-    goto rxscan491_scan
-  rxscan491_loop:
-    ($P10) = rx488_cur."from"()
-    inc $P10
-    set rx488_pos, $P10
-    ge rx488_pos, rx488_eos, rxscan491_done
-  rxscan491_scan:
-    set_addr $I10, rxscan491_loop
-    rx488_cur."!mark_push"(0, rx488_pos, $I10)
-  rxscan491_done:
+.sub "assertion:sym<[>"  :subid("138_1259177736.62303") :method :outer("11_1259177736.62303")
+.annotate "line", 3
+    .const 'Sub' $P500 = "140_1259177736.62303" 
+    capture_lex $P500
+    .local string rx495_tgt
+    .local int rx495_pos
+    .local int rx495_off
+    .local int rx495_eos
+    .local int rx495_rep
+    .local pmc rx495_cur
+    (rx495_cur, rx495_pos, rx495_tgt) = self."!cursor_start"()
+    rx495_cur."!cursor_debug"("START ", "assertion:sym<[>")
+    rx495_cur."!cursor_caparray"("cclass_elem")
+    .lex unicode:"$\x{a2}", rx495_cur
+    .local pmc match
+    .lex "$/", match
+    length rx495_eos, rx495_tgt
+    set rx495_off, 0
+    lt rx495_pos, 2, rx495_start
+    sub rx495_off, rx495_pos, 1
+    substr rx495_tgt, rx495_tgt, rx495_off
+  rx495_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan498_done
+    goto rxscan498_scan
+  rxscan498_loop:
+    ($P10) = rx495_cur."from"()
+    inc $P10
+    set rx495_pos, $P10
+    ge rx495_pos, rx495_eos, rxscan498_done
+  rxscan498_scan:
+    set_addr $I10, rxscan498_loop
+    rx495_cur."!mark_push"(0, rx495_pos, $I10)
+  rxscan498_done:
 .annotate "line", 158
   # rx subrule "before" subtype=zerowidth negate=
-    rx488_cur."!cursor_pos"(rx488_pos)
-    .const 'Sub' $P493 = "140_1259103974.80122" 
-    capture_lex $P493
-    $P10 = rx488_cur."before"($P493)
-    unless $P10, rx488_fail
-  # rx rxquantr497 ** 1..*
-    set_addr $I498, rxquantr497_done
-    rx488_cur."!mark_push"(0, -1, $I498)
-  rxquantr497_loop:
+    rx495_cur."!cursor_pos"(rx495_pos)
+    .const 'Sub' $P500 = "140_1259177736.62303" 
+    capture_lex $P500
+    $P10 = rx495_cur."before"($P500)
+    unless $P10, rx495_fail
+  # rx rxquantr505 ** 1..*
+    set_addr $I506, rxquantr505_done
+    rx495_cur."!mark_push"(0, -1, $I506)
+  rxquantr505_loop:
   # rx subrule "cclass_elem" subtype=capture negate=
-    rx488_cur."!cursor_pos"(rx488_pos)
-    $P10 = rx488_cur."cclass_elem"()
-    unless $P10, rx488_fail
-    rx488_cur."!mark_push"(0, -1, 0, $P10)
+    rx495_cur."!cursor_pos"(rx495_pos)
+    $P10 = rx495_cur."cclass_elem"()
+    unless $P10, rx495_fail
+    rx495_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("cclass_elem")
-    rx488_pos = $P10."pos"()
-    (rx488_rep) = rx488_cur."!mark_commit"($I498)
-    rx488_cur."!mark_push"(rx488_rep, rx488_pos, $I498)
-    goto rxquantr497_loop
-  rxquantr497_done:
+    rx495_pos = $P10."pos"()
+    (rx495_rep) = rx495_cur."!mark_commit"($I506)
+    rx495_cur."!mark_push"(rx495_rep, rx495_pos, $I506)
+    goto rxquantr505_loop
+  rxquantr505_done:
   # rx pass
-    rx488_cur."!cursor_pass"(rx488_pos, "assertion:sym<[>")
-    rx488_cur."!cursor_debug"("PASS  ", "assertion:sym<[>", " at pos=", rx488_pos)
-    .return (rx488_cur)
-  rx488_fail:
+    rx495_cur."!cursor_pass"(rx495_pos, "assertion:sym<[>")
+    rx495_cur."!cursor_debug"("PASS  ", "assertion:sym<[>", " at pos=", rx495_pos)
+    .return (rx495_cur)
+  rx495_fail:
 .annotate "line", 3
-    (rx488_rep, rx488_pos, $I10, $P10) = rx488_cur."!mark_fail"(0)
-    lt rx488_pos, -1, rx488_done
-    eq rx488_pos, -1, rx488_fail
+    (rx495_rep, rx495_pos, $I10, $P10) = rx495_cur."!mark_fail"(0)
+    lt rx495_pos, -1, rx495_done
+    eq rx495_pos, -1, rx495_fail
     jump $I10
-  rx488_done:
-    rx488_cur."!cursor_fail"()
-    rx488_cur."!cursor_debug"("FAIL  ", "assertion:sym<[>")
-    .return (rx488_cur)
+  rx495_done:
+    rx495_cur."!cursor_fail"()
+    rx495_cur."!cursor_debug"("FAIL  ", "assertion:sym<[>")
+    .return (rx495_cur)
     .return ()
 .end
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__assertion:sym<[>"  :subid("139_1259103974.80122") :method
+.sub "!PREFIX__assertion:sym<[>"  :subid("139_1259177736.62303") :method
 .annotate "line", 3
-    new $P490, "ResizablePMCArray"
-    push $P490, ""
-    .return ($P490)
+    new $P497, "ResizablePMCArray"
+    push $P497, ""
+    .return ($P497)
 .end
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "_block492"  :anon :subid("140_1259103974.80122") :method :outer("138_1259103974.80122")
+.sub "_block499"  :anon :subid("140_1259177736.62303") :method :outer("138_1259177736.62303")
 .annotate "line", 158
-    .local string rx494_tgt
-    .local int rx494_pos
-    .local int rx494_off
-    .local int rx494_eos
-    .local int rx494_rep
-    .local pmc rx494_cur
-    (rx494_cur, rx494_pos, rx494_tgt) = self."!cursor_start"()
-    rx494_cur."!cursor_debug"("START ", "")
-    .lex unicode:"$\x{a2}", rx494_cur
-    .local pmc match
-    .lex "$/", match
-    length rx494_eos, rx494_tgt
-    set rx494_off, 0
-    lt rx494_pos, 2, rx494_start
-    sub rx494_off, rx494_pos, 1
-    substr rx494_tgt, rx494_tgt, rx494_off
-  rx494_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan495_done
-    goto rxscan495_scan
-  rxscan495_loop:
-    ($P10) = rx494_cur."from"()
-    inc $P10
-    set rx494_pos, $P10
-    ge rx494_pos, rx494_eos, rxscan495_done
-  rxscan495_scan:
-    set_addr $I10, rxscan495_loop
-    rx494_cur."!mark_push"(0, rx494_pos, $I10)
-  rxscan495_done:
-  alt496_0:
-    set_addr $I10, alt496_1
-    rx494_cur."!mark_push"(0, rx494_pos, $I10)
-  # rx literal  "["
-    add $I11, rx494_pos, 1
-    gt $I11, rx494_eos, rx494_fail
-    sub $I11, rx494_pos, rx494_off
-    substr $S10, rx494_tgt, $I11, 1
-    ne $S10, "[", rx494_fail
-    add rx494_pos, 1
-    goto alt496_end
-  alt496_1:
-    set_addr $I10, alt496_2
-    rx494_cur."!mark_push"(0, rx494_pos, $I10)
-  # rx literal  "+"
-    add $I11, rx494_pos, 1
-    gt $I11, rx494_eos, rx494_fail
-    sub $I11, rx494_pos, rx494_off
-    substr $S10, rx494_tgt, $I11, 1
-    ne $S10, "+", rx494_fail
-    add rx494_pos, 1
-    goto alt496_end
-  alt496_2:
-  # rx literal  "-"
-    add $I11, rx494_pos, 1
-    gt $I11, rx494_eos, rx494_fail
-    sub $I11, rx494_pos, rx494_off
-    substr $S10, rx494_tgt, $I11, 1
-    ne $S10, "-", rx494_fail
-    add rx494_pos, 1
-  alt496_end:
-  # rx pass
-    rx494_cur."!cursor_pass"(rx494_pos, "")
-    rx494_cur."!cursor_debug"("PASS  ", "", " at pos=", rx494_pos)
-    .return (rx494_cur)
-  rx494_fail:
-    (rx494_rep, rx494_pos, $I10, $P10) = rx494_cur."!mark_fail"(0)
-    lt rx494_pos, -1, rx494_done
-    eq rx494_pos, -1, rx494_fail
-    jump $I10
-  rx494_done:
-    rx494_cur."!cursor_fail"()
-    rx494_cur."!cursor_debug"("FAIL  ", "")
-    .return (rx494_cur)
-    .return ()
-.end
-
-
-.namespace ["Regex";"P6Regex";"Grammar"]
-.sub "cclass_elem"  :subid("141_1259103974.80122") :method :outer("11_1259103974.80122")
-.annotate "line", 3
-    .const 'Sub' $P511 = "143_1259103974.80122" 
-    capture_lex $P511
-    .local string rx500_tgt
-    .local int rx500_pos
-    .local int rx500_off
-    .local int rx500_eos
-    .local int rx500_rep
-    .local pmc rx500_cur
-    (rx500_cur, rx500_pos, rx500_tgt) = self."!cursor_start"()
-    rx500_cur."!cursor_debug"("START ", "cclass_elem")
-    rx500_cur."!cursor_caparray"("charspec")
-    .lex unicode:"$\x{a2}", rx500_cur
-    .local pmc match
-    .lex "$/", match
-    length rx500_eos, rx500_tgt
-    set rx500_off, 0
-    lt rx500_pos, 2, rx500_start
-    sub rx500_off, rx500_pos, 1
-    substr rx500_tgt, rx500_tgt, rx500_off
-  rx500_start:
+    .lex unicode:"$\x{a2}", $P501
+    .local string rx502_tgt
+    .local int rx502_pos
+    .local int rx502_off
+    .local int rx502_eos
+    .local int rx502_rep
+    .local pmc rx502_cur
+    (rx502_cur, rx502_pos, rx502_tgt) = self."!cursor_start"()
+    rx502_cur."!cursor_debug"("START ", "")
+    .lex unicode:"$\x{a2}", rx502_cur
+    .local pmc match
+    .lex "$/", match
+    length rx502_eos, rx502_tgt
+    set rx502_off, 0
+    lt rx502_pos, 2, rx502_start
+    sub rx502_off, rx502_pos, 1
+    substr rx502_tgt, rx502_tgt, rx502_off
+  rx502_start:
     $I10 = self.'from'()
     ne $I10, -1, rxscan503_done
     goto rxscan503_scan
   rxscan503_loop:
-    ($P10) = rx500_cur."from"()
+    ($P10) = rx502_cur."from"()
     inc $P10
-    set rx500_pos, $P10
-    ge rx500_pos, rx500_eos, rxscan503_done
+    set rx502_pos, $P10
+    ge rx502_pos, rx502_eos, rxscan503_done
   rxscan503_scan:
     set_addr $I10, rxscan503_loop
-    rx500_cur."!mark_push"(0, rx500_pos, $I10)
+    rx502_cur."!mark_push"(0, rx502_pos, $I10)
   rxscan503_done:
-.annotate "line", 161
-  # rx subcapture "sign"
-    set_addr $I10, rxcap_505_fail
-    rx500_cur."!mark_push"(0, rx500_pos, $I10)
   alt504_0:
     set_addr $I10, alt504_1
-    rx500_cur."!mark_push"(0, rx500_pos, $I10)
-  # rx literal  "+"
-    add $I11, rx500_pos, 1
-    gt $I11, rx500_eos, rx500_fail
-    sub $I11, rx500_pos, rx500_off
-    substr $S10, rx500_tgt, $I11, 1
-    ne $S10, "+", rx500_fail
-    add rx500_pos, 1
+    rx502_cur."!mark_push"(0, rx502_pos, $I10)
+  # rx literal  "["
+    add $I11, rx502_pos, 1
+    gt $I11, rx502_eos, rx502_fail
+    sub $I11, rx502_pos, rx502_off
+    substr $S10, rx502_tgt, $I11, 1
+    ne $S10, "[", rx502_fail
+    add rx502_pos, 1
     goto alt504_end
   alt504_1:
     set_addr $I10, alt504_2
-    rx500_cur."!mark_push"(0, rx500_pos, $I10)
-  # rx literal  "-"
-    add $I11, rx500_pos, 1
-    gt $I11, rx500_eos, rx500_fail
-    sub $I11, rx500_pos, rx500_off
-    substr $S10, rx500_tgt, $I11, 1
-    ne $S10, "-", rx500_fail
-    add rx500_pos, 1
+    rx502_cur."!mark_push"(0, rx502_pos, $I10)
+  # rx literal  "+"
+    add $I11, rx502_pos, 1
+    gt $I11, rx502_eos, rx502_fail
+    sub $I11, rx502_pos, rx502_off
+    substr $S10, rx502_tgt, $I11, 1
+    ne $S10, "+", rx502_fail
+    add rx502_pos, 1
     goto alt504_end
   alt504_2:
+  # rx literal  "-"
+    add $I11, rx502_pos, 1
+    gt $I11, rx502_eos, rx502_fail
+    sub $I11, rx502_pos, rx502_off
+    substr $S10, rx502_tgt, $I11, 1
+    ne $S10, "-", rx502_fail
+    add rx502_pos, 1
   alt504_end:
-    set_addr $I10, rxcap_505_fail
-    ($I12, $I11) = rx500_cur."!mark_peek"($I10)
-    rx500_cur."!cursor_pos"($I11)
-    ($P10) = rx500_cur."!cursor_start"()
-    $P10."!cursor_pass"(rx500_pos, "")
-    rx500_cur."!mark_push"(0, -1, 0, $P10)
+  # rx pass
+    rx502_cur."!cursor_pass"(rx502_pos, "")
+    rx502_cur."!cursor_debug"("PASS  ", "", " at pos=", rx502_pos)
+    .return (rx502_cur)
+  rx502_fail:
+    (rx502_rep, rx502_pos, $I10, $P10) = rx502_cur."!mark_fail"(0)
+    lt rx502_pos, -1, rx502_done
+    eq rx502_pos, -1, rx502_fail
+    jump $I10
+  rx502_done:
+    rx502_cur."!cursor_fail"()
+    rx502_cur."!cursor_debug"("FAIL  ", "")
+    .return (rx502_cur)
+    .return ()
+.end
+
+
+.namespace ["Regex";"P6Regex";"Grammar"]
+.sub "cclass_elem"  :subid("141_1259177736.62303") :method :outer("11_1259177736.62303")
+.annotate "line", 3
+    .const 'Sub' $P519 = "143_1259177736.62303" 
+    capture_lex $P519
+    .local string rx508_tgt
+    .local int rx508_pos
+    .local int rx508_off
+    .local int rx508_eos
+    .local int rx508_rep
+    .local pmc rx508_cur
+    (rx508_cur, rx508_pos, rx508_tgt) = self."!cursor_start"()
+    rx508_cur."!cursor_debug"("START ", "cclass_elem")
+    rx508_cur."!cursor_caparray"("charspec")
+    .lex unicode:"$\x{a2}", rx508_cur
+    .local pmc match
+    .lex "$/", match
+    length rx508_eos, rx508_tgt
+    set rx508_off, 0
+    lt rx508_pos, 2, rx508_start
+    sub rx508_off, rx508_pos, 1
+    substr rx508_tgt, rx508_tgt, rx508_off
+  rx508_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan511_done
+    goto rxscan511_scan
+  rxscan511_loop:
+    ($P10) = rx508_cur."from"()
+    inc $P10
+    set rx508_pos, $P10
+    ge rx508_pos, rx508_eos, rxscan511_done
+  rxscan511_scan:
+    set_addr $I10, rxscan511_loop
+    rx508_cur."!mark_push"(0, rx508_pos, $I10)
+  rxscan511_done:
+.annotate "line", 161
+  # rx subcapture "sign"
+    set_addr $I10, rxcap_513_fail
+    rx508_cur."!mark_push"(0, rx508_pos, $I10)
+  alt512_0:
+    set_addr $I10, alt512_1
+    rx508_cur."!mark_push"(0, rx508_pos, $I10)
+  # rx literal  "+"
+    add $I11, rx508_pos, 1
+    gt $I11, rx508_eos, rx508_fail
+    sub $I11, rx508_pos, rx508_off
+    substr $S10, rx508_tgt, $I11, 1
+    ne $S10, "+", rx508_fail
+    add rx508_pos, 1
+    goto alt512_end
+  alt512_1:
+    set_addr $I10, alt512_2
+    rx508_cur."!mark_push"(0, rx508_pos, $I10)
+  # rx literal  "-"
+    add $I11, rx508_pos, 1
+    gt $I11, rx508_eos, rx508_fail
+    sub $I11, rx508_pos, rx508_off
+    substr $S10, rx508_tgt, $I11, 1
+    ne $S10, "-", rx508_fail
+    add rx508_pos, 1
+    goto alt512_end
+  alt512_2:
+  alt512_end:
+    set_addr $I10, rxcap_513_fail
+    ($I12, $I11) = rx508_cur."!mark_peek"($I10)
+    rx508_cur."!cursor_pos"($I11)
+    ($P10) = rx508_cur."!cursor_start"()
+    $P10."!cursor_pass"(rx508_pos, "")
+    rx508_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("sign")
-    goto rxcap_505_done
-  rxcap_505_fail:
-    goto rx500_fail
-  rxcap_505_done:
+    goto rxcap_513_done
+  rxcap_513_fail:
+    goto rx508_fail
+  rxcap_513_done:
 .annotate "line", 162
-  # rx rxquantr506 ** 0..1
-    set_addr $I507, rxquantr506_done
-    rx500_cur."!mark_push"(0, rx500_pos, $I507)
-  rxquantr506_loop:
+  # rx rxquantr514 ** 0..1
+    set_addr $I515, rxquantr514_done
+    rx508_cur."!mark_push"(0, rx508_pos, $I515)
+  rxquantr514_loop:
   # rx subrule "normspace" subtype=method negate=
-    rx500_cur."!cursor_pos"(rx500_pos)
-    $P10 = rx500_cur."normspace"()
-    unless $P10, rx500_fail
-    rx500_pos = $P10."pos"()
-    (rx500_rep) = rx500_cur."!mark_commit"($I507)
-  rxquantr506_done:
-  alt508_0:
+    rx508_cur."!cursor_pos"(rx508_pos)
+    $P10 = rx508_cur."normspace"()
+    unless $P10, rx508_fail
+    rx508_pos = $P10."pos"()
+    (rx508_rep) = rx508_cur."!mark_commit"($I515)
+  rxquantr514_done:
+  alt516_0:
 .annotate "line", 163
-    set_addr $I10, alt508_1
-    rx500_cur."!mark_push"(0, rx500_pos, $I10)
+    set_addr $I10, alt516_1
+    rx508_cur."!mark_push"(0, rx508_pos, $I10)
 .annotate "line", 164
   # rx literal  "["
-    add $I11, rx500_pos, 1
-    gt $I11, rx500_eos, rx500_fail
-    sub $I11, rx500_pos, rx500_off
-    substr $S10, rx500_tgt, $I11, 1
-    ne $S10, "[", rx500_fail
-    add rx500_pos, 1
+    add $I11, rx508_pos, 1
+    gt $I11, rx508_eos, rx508_fail
+    sub $I11, rx508_pos, rx508_off
+    substr $S10, rx508_tgt, $I11, 1
+    ne $S10, "[", rx508_fail
+    add rx508_pos, 1
 .annotate "line", 167
-  # rx rxquantr509 ** 0..*
-    set_addr $I530, rxquantr509_done
-    rx500_cur."!mark_push"(0, rx500_pos, $I530)
-  rxquantr509_loop:
+  # rx rxquantr517 ** 0..*
+    set_addr $I542, rxquantr517_done
+    rx508_cur."!mark_push"(0, rx508_pos, $I542)
+  rxquantr517_loop:
 .annotate "line", 164
-  # rx subrule $P511 subtype=capture negate=
-    rx500_cur."!cursor_pos"(rx500_pos)
-    .const 'Sub' $P511 = "143_1259103974.80122" 
-    capture_lex $P511
-    $P10 = rx500_cur.$P511()
-    unless $P10, rx500_fail
-    rx500_cur."!mark_push"(0, -1, 0, $P10)
+  # rx subrule $P519 subtype=capture negate=
+    rx508_cur."!cursor_pos"(rx508_pos)
+    .const 'Sub' $P519 = "143_1259177736.62303" 
+    capture_lex $P519
+    $P10 = rx508_cur.$P519()
+    unless $P10, rx508_fail
+    rx508_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("charspec")
-    rx500_pos = $P10."pos"()
+    rx508_pos = $P10."pos"()
 .annotate "line", 167
-    (rx500_rep) = rx500_cur."!mark_commit"($I530)
-    rx500_cur."!mark_push"(rx500_rep, rx500_pos, $I530)
-    goto rxquantr509_loop
-  rxquantr509_done:
+    (rx508_rep) = rx508_cur."!mark_commit"($I542)
+    rx508_cur."!mark_push"(rx508_rep, rx508_pos, $I542)
+    goto rxquantr517_loop
+  rxquantr517_done:
 .annotate "line", 168
   # rx charclass_q s r 0..-1
-    sub $I10, rx500_pos, rx500_off
-    find_not_cclass $I11, 32, rx500_tgt, $I10, rx500_eos
-    add rx500_pos, rx500_off, $I11
+    sub $I10, rx508_pos, rx508_off
+    find_not_cclass $I11, 32, rx508_tgt, $I10, rx508_eos
+    add rx508_pos, rx508_off, $I11
   # rx literal  "]"
-    add $I11, rx500_pos, 1
-    gt $I11, rx500_eos, rx500_fail
-    sub $I11, rx500_pos, rx500_off
-    substr $S10, rx500_tgt, $I11, 1
-    ne $S10, "]", rx500_fail
-    add rx500_pos, 1
+    add $I11, rx508_pos, 1
+    gt $I11, rx508_eos, rx508_fail
+    sub $I11, rx508_pos, rx508_off
+    substr $S10, rx508_tgt, $I11, 1
+    ne $S10, "]", rx508_fail
+    add rx508_pos, 1
 .annotate "line", 164
-    goto alt508_end
-  alt508_1:
+    goto alt516_end
+  alt516_1:
 .annotate "line", 169
   # rx subcapture "name"
-    set_addr $I10, rxcap_531_fail
-    rx500_cur."!mark_push"(0, rx500_pos, $I10)
+    set_addr $I10, rxcap_543_fail
+    rx508_cur."!mark_push"(0, rx508_pos, $I10)
   # rx charclass_q w r 1..-1
-    sub $I10, rx500_pos, rx500_off
-    find_not_cclass $I11, 8192, rx500_tgt, $I10, rx500_eos
+    sub $I10, rx508_pos, rx508_off
+    find_not_cclass $I11, 8192, rx508_tgt, $I10, rx508_eos
     add $I12, $I10, 1
-    lt $I11, $I12, rx500_fail
-    add rx500_pos, rx500_off, $I11
-    set_addr $I10, rxcap_531_fail
-    ($I12, $I11) = rx500_cur."!mark_peek"($I10)
-    rx500_cur."!cursor_pos"($I11)
-    ($P10) = rx500_cur."!cursor_start"()
-    $P10."!cursor_pass"(rx500_pos, "")
-    rx500_cur."!mark_push"(0, -1, 0, $P10)
+    lt $I11, $I12, rx508_fail
+    add rx508_pos, rx508_off, $I11
+    set_addr $I10, rxcap_543_fail
+    ($I12, $I11) = rx508_cur."!mark_peek"($I10)
+    rx508_cur."!cursor_pos"($I11)
+    ($P10) = rx508_cur."!cursor_start"()
+    $P10."!cursor_pass"(rx508_pos, "")
+    rx508_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("name")
-    goto rxcap_531_done
-  rxcap_531_fail:
-    goto rx500_fail
-  rxcap_531_done:
-  alt508_end:
+    goto rxcap_543_done
+  rxcap_543_fail:
+    goto rx508_fail
+  rxcap_543_done:
+  alt516_end:
 .annotate "line", 171
-  # rx rxquantr532 ** 0..1
-    set_addr $I533, rxquantr532_done
-    rx500_cur."!mark_push"(0, rx500_pos, $I533)
-  rxquantr532_loop:
+  # rx rxquantr544 ** 0..1
+    set_addr $I545, rxquantr544_done
+    rx508_cur."!mark_push"(0, rx508_pos, $I545)
+  rxquantr544_loop:
   # rx subrule "normspace" subtype=method negate=
-    rx500_cur."!cursor_pos"(rx500_pos)
-    $P10 = rx500_cur."normspace"()
-    unless $P10, rx500_fail
-    rx500_pos = $P10."pos"()
-    (rx500_rep) = rx500_cur."!mark_commit"($I533)
-  rxquantr532_done:
+    rx508_cur."!cursor_pos"(rx508_pos)
+    $P10 = rx508_cur."normspace"()
+    unless $P10, rx508_fail
+    rx508_pos = $P10."pos"()
+    (rx508_rep) = rx508_cur."!mark_commit"($I545)
+  rxquantr544_done:
 .annotate "line", 160
   # rx pass
-    rx500_cur."!cursor_pass"(rx500_pos, "cclass_elem")
-    rx500_cur."!cursor_debug"("PASS  ", "cclass_elem", " at pos=", rx500_pos)
-    .return (rx500_cur)
-  rx500_fail:
+    rx508_cur."!cursor_pass"(rx508_pos, "cclass_elem")
+    rx508_cur."!cursor_debug"("PASS  ", "cclass_elem", " at pos=", rx508_pos)
+    .return (rx508_cur)
+  rx508_fail:
 .annotate "line", 3
-    (rx500_rep, rx500_pos, $I10, $P10) = rx500_cur."!mark_fail"(0)
-    lt rx500_pos, -1, rx500_done
-    eq rx500_pos, -1, rx500_fail
+    (rx508_rep, rx508_pos, $I10, $P10) = rx508_cur."!mark_fail"(0)
+    lt rx508_pos, -1, rx508_done
+    eq rx508_pos, -1, rx508_fail
     jump $I10
-  rx500_done:
-    rx500_cur."!cursor_fail"()
-    rx500_cur."!cursor_debug"("FAIL  ", "cclass_elem")
-    .return (rx500_cur)
+  rx508_done:
+    rx508_cur."!cursor_fail"()
+    rx508_cur."!cursor_debug"("FAIL  ", "cclass_elem")
+    .return (rx508_cur)
     .return ()
 .end
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__cclass_elem"  :subid("142_1259103974.80122") :method
+.sub "!PREFIX__cclass_elem"  :subid("142_1259177736.62303") :method
 .annotate "line", 3
-    new $P502, "ResizablePMCArray"
-    push $P502, ""
-    push $P502, "-"
-    push $P502, "+"
-    .return ($P502)
+    new $P510, "ResizablePMCArray"
+    push $P510, ""
+    push $P510, "-"
+    push $P510, "+"
+    .return ($P510)
 .end
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "_block510"  :anon :subid("143_1259103974.80122") :method :outer("141_1259103974.80122")
+.sub "_block518"  :anon :subid("143_1259177736.62303") :method :outer("141_1259177736.62303")
 .annotate "line", 164
-    .const 'Sub' $P526 = "146_1259103974.80122" 
+    .const 'Sub' $P537 = "146_1259177736.62303" 
+    capture_lex $P537
+    .const 'Sub' $P531 = "145_1259177736.62303" 
+    capture_lex $P531
+    .const 'Sub' $P526 = "144_1259177736.62303" 
     capture_lex $P526
-    .const 'Sub' $P521 = "145_1259103974.80122" 
-    capture_lex $P521
-    .const 'Sub' $P517 = "144_1259103974.80122" 
-    capture_lex $P517
-    .local string rx512_tgt
-    .local int rx512_pos
-    .local int rx512_off
-    .local int rx512_eos
-    .local int rx512_rep
-    .local pmc rx512_cur
-    (rx512_cur, rx512_pos, rx512_tgt) = self."!cursor_start"()
-    rx512_cur."!cursor_debug"("START ", "")
-    rx512_cur."!cursor_caparray"("1")
-    .lex unicode:"$\x{a2}", rx512_cur
-    .local pmc match
-    .lex "$/", match
-    length rx512_eos, rx512_tgt
-    set rx512_off, 0
-    lt rx512_pos, 2, rx512_start
-    sub rx512_off, rx512_pos, 1
-    substr rx512_tgt, rx512_tgt, rx512_off
-  rx512_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan513_done
-    goto rxscan513_scan
-  rxscan513_loop:
-    ($P10) = rx512_cur."from"()
-    inc $P10
-    set rx512_pos, $P10
-    ge rx512_pos, rx512_eos, rxscan513_done
-  rxscan513_scan:
-    set_addr $I10, rxscan513_loop
-    rx512_cur."!mark_push"(0, rx512_pos, $I10)
-  rxscan513_done:
-  alt514_0:
-    set_addr $I10, alt514_1
-    rx512_cur."!mark_push"(0, rx512_pos, $I10)
+    .lex unicode:"$\x{a2}", $P520
+    .local string rx521_tgt
+    .local int rx521_pos
+    .local int rx521_off
+    .local int rx521_eos
+    .local int rx521_rep
+    .local pmc rx521_cur
+    (rx521_cur, rx521_pos, rx521_tgt) = self."!cursor_start"()
+    rx521_cur."!cursor_debug"("START ", "")
+    rx521_cur."!cursor_caparray"("1")
+    .lex unicode:"$\x{a2}", rx521_cur
+    .local pmc match
+    .lex "$/", match
+    length rx521_eos, rx521_tgt
+    set rx521_off, 0
+    lt rx521_pos, 2, rx521_start
+    sub rx521_off, rx521_pos, 1
+    substr rx521_tgt, rx521_tgt, rx521_off
+  rx521_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan522_done
+    goto rxscan522_scan
+  rxscan522_loop:
+    ($P10) = rx521_cur."from"()
+    inc $P10
+    set rx521_pos, $P10
+    ge rx521_pos, rx521_eos, rxscan522_done
+  rxscan522_scan:
+    set_addr $I10, rxscan522_loop
+    rx521_cur."!mark_push"(0, rx521_pos, $I10)
+  rxscan522_done:
+  alt523_0:
+    set_addr $I10, alt523_1
+    rx521_cur."!mark_push"(0, rx521_pos, $I10)
 .annotate "line", 165
   # rx charclass_q s r 0..-1
-    sub $I10, rx512_pos, rx512_off
-    find_not_cclass $I11, 32, rx512_tgt, $I10, rx512_eos
-    add rx512_pos, rx512_off, $I11
+    sub $I10, rx521_pos, rx521_off
+    find_not_cclass $I11, 32, rx521_tgt, $I10, rx521_eos
+    add rx521_pos, rx521_off, $I11
   # rx literal  "-"
-    add $I11, rx512_pos, 1
-    gt $I11, rx512_eos, rx512_fail
-    sub $I11, rx512_pos, rx512_off
-    substr $S10, rx512_tgt, $I11, 1
-    ne $S10, "-", rx512_fail
-    add rx512_pos, 1
+    add $I11, rx521_pos, 1
+    gt $I11, rx521_eos, rx521_fail
+    sub $I11, rx521_pos, rx521_off
+    substr $S10, rx521_tgt, $I11, 1
+    ne $S10, "-", rx521_fail
+    add rx521_pos, 1
   # rx subrule "obs" subtype=method negate=
-    rx512_cur."!cursor_pos"(rx512_pos)
-    $P10 = rx512_cur."obs"("hyphen in enumerated character class", "..")
-    unless $P10, rx512_fail
-    rx512_pos = $P10."pos"()
-    goto alt514_end
-  alt514_1:
+    rx521_cur."!cursor_pos"(rx521_pos)
+    $P10 = rx521_cur."obs"("hyphen in enumerated character class", "..")
+    unless $P10, rx521_fail
+    rx521_pos = $P10."pos"()
+    goto alt523_end
+  alt523_1:
 .annotate "line", 166
   # rx charclass_q s r 0..-1
-    sub $I10, rx512_pos, rx512_off
-    find_not_cclass $I11, 32, rx512_tgt, $I10, rx512_eos
-    add rx512_pos, rx512_off, $I11
-  alt515_0:
-    set_addr $I10, alt515_1
-    rx512_cur."!mark_push"(0, rx512_pos, $I10)
+    sub $I10, rx521_pos, rx521_off
+    find_not_cclass $I11, 32, rx521_tgt, $I10, rx521_eos
+    add rx521_pos, rx521_off, $I11
+  alt524_0:
+    set_addr $I10, alt524_1
+    rx521_cur."!mark_push"(0, rx521_pos, $I10)
   # rx literal  "\\"
-    add $I11, rx512_pos, 1
-    gt $I11, rx512_eos, rx512_fail
-    sub $I11, rx512_pos, rx512_off
-    substr $S10, rx512_tgt, $I11, 1
-    ne $S10, "\\", rx512_fail
-    add rx512_pos, 1
-  # rx subrule $P517 subtype=capture negate=
-    rx512_cur."!cursor_pos"(rx512_pos)
-    .const 'Sub' $P517 = "144_1259103974.80122" 
-    capture_lex $P517
-    $P10 = rx512_cur.$P517()
-    unless $P10, rx512_fail
-    rx512_cur."!mark_push"(0, -1, 0, $P10)
+    add $I11, rx521_pos, 1
+    gt $I11, rx521_eos, rx521_fail
+    sub $I11, rx521_pos, rx521_off
+    substr $S10, rx521_tgt, $I11, 1
+    ne $S10, "\\", rx521_fail
+    add rx521_pos, 1
+  # rx subrule $P526 subtype=capture negate=
+    rx521_cur."!cursor_pos"(rx521_pos)
+    .const 'Sub' $P526 = "144_1259177736.62303" 
+    capture_lex $P526
+    $P10 = rx521_cur.$P526()
+    unless $P10, rx521_fail
+    rx521_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"(0)
-    rx512_pos = $P10."pos"()
-    goto alt515_end
-  alt515_1:
-  # rx subrule $P521 subtype=capture negate=
-    rx512_cur."!cursor_pos"(rx512_pos)
-    .const 'Sub' $P521 = "145_1259103974.80122" 
-    capture_lex $P521
-    $P10 = rx512_cur.$P521()
-    unless $P10, rx512_fail
-    rx512_cur."!mark_push"(0, -1, 0, $P10)
+    rx521_pos = $P10."pos"()
+    goto alt524_end
+  alt524_1:
+  # rx subrule $P531 subtype=capture negate=
+    rx521_cur."!cursor_pos"(rx521_pos)
+    .const 'Sub' $P531 = "145_1259177736.62303" 
+    capture_lex $P531
+    $P10 = rx521_cur.$P531()
+    unless $P10, rx521_fail
+    rx521_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"(0)
-    rx512_pos = $P10."pos"()
-  alt515_end:
-  # rx rxquantr524 ** 0..1
-    set_addr $I529, rxquantr524_done
-    rx512_cur."!mark_push"(0, rx512_pos, $I529)
-  rxquantr524_loop:
+    rx521_pos = $P10."pos"()
+  alt524_end:
+  # rx rxquantr535 ** 0..1
+    set_addr $I541, rxquantr535_done
+    rx521_cur."!mark_push"(0, rx521_pos, $I541)
+  rxquantr535_loop:
   # rx charclass_q s r 0..-1
-    sub $I10, rx512_pos, rx512_off
-    find_not_cclass $I11, 32, rx512_tgt, $I10, rx512_eos
-    add rx512_pos, rx512_off, $I11
+    sub $I10, rx521_pos, rx521_off
+    find_not_cclass $I11, 32, rx521_tgt, $I10, rx521_eos
+    add rx521_pos, rx521_off, $I11
   # rx literal  ".."
-    add $I11, rx512_pos, 2
-    gt $I11, rx512_eos, rx512_fail
-    sub $I11, rx512_pos, rx512_off
-    substr $S10, rx512_tgt, $I11, 2
-    ne $S10, "..", rx512_fail
-    add rx512_pos, 2
+    add $I11, rx521_pos, 2
+    gt $I11, rx521_eos, rx521_fail
+    sub $I11, rx521_pos, rx521_off
+    substr $S10, rx521_tgt, $I11, 2
+    ne $S10, "..", rx521_fail
+    add rx521_pos, 2
   # rx charclass_q s r 0..-1
-    sub $I10, rx512_pos, rx512_off
-    find_not_cclass $I11, 32, rx512_tgt, $I10, rx512_eos
-    add rx512_pos, rx512_off, $I11
-  # rx subrule $P526 subtype=capture negate=
-    rx512_cur."!cursor_pos"(rx512_pos)
-    .const 'Sub' $P526 = "146_1259103974.80122" 
-    capture_lex $P526
-    $P10 = rx512_cur.$P526()
-    unless $P10, rx512_fail
-    rx512_cur."!mark_push"(0, -1, 0, $P10)
+    sub $I10, rx521_pos, rx521_off
+    find_not_cclass $I11, 32, rx521_tgt, $I10, rx521_eos
+    add rx521_pos, rx521_off, $I11
+  # rx subrule $P537 subtype=capture negate=
+    rx521_cur."!cursor_pos"(rx521_pos)
+    .const 'Sub' $P537 = "146_1259177736.62303" 
+    capture_lex $P537
+    $P10 = rx521_cur.$P537()
+    unless $P10, rx521_fail
+    rx521_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("1")
-    rx512_pos = $P10."pos"()
-    (rx512_rep) = rx512_cur."!mark_commit"($I529)
-  rxquantr524_done:
-  alt514_end:
+    rx521_pos = $P10."pos"()
+    (rx521_rep) = rx521_cur."!mark_commit"($I541)
+  rxquantr535_done:
+  alt523_end:
 .annotate "line", 164
   # rx pass
-    rx512_cur."!cursor_pass"(rx512_pos, "")
-    rx512_cur."!cursor_debug"("PASS  ", "", " at pos=", rx512_pos)
-    .return (rx512_cur)
-  rx512_fail:
-    (rx512_rep, rx512_pos, $I10, $P10) = rx512_cur."!mark_fail"(0)
-    lt rx512_pos, -1, rx512_done
-    eq rx512_pos, -1, rx512_fail
+    rx521_cur."!cursor_pass"(rx521_pos, "")
+    rx521_cur."!cursor_debug"("PASS  ", "", " at pos=", rx521_pos)
+    .return (rx521_cur)
+  rx521_fail:
+    (rx521_rep, rx521_pos, $I10, $P10) = rx521_cur."!mark_fail"(0)
+    lt rx521_pos, -1, rx521_done
+    eq rx521_pos, -1, rx521_fail
     jump $I10
-  rx512_done:
-    rx512_cur."!cursor_fail"()
-    rx512_cur."!cursor_debug"("FAIL  ", "")
-    .return (rx512_cur)
+  rx521_done:
+    rx521_cur."!cursor_fail"()
+    rx521_cur."!cursor_debug"("FAIL  ", "")
+    .return (rx521_cur)
     .return ()
 .end
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "_block516"  :anon :subid("144_1259103974.80122") :method :outer("143_1259103974.80122")
+.sub "_block525"  :anon :subid("144_1259177736.62303") :method :outer("143_1259177736.62303")
 .annotate "line", 166
-    .local string rx518_tgt
-    .local int rx518_pos
-    .local int rx518_off
-    .local int rx518_eos
-    .local int rx518_rep
-    .local pmc rx518_cur
-    (rx518_cur, rx518_pos, rx518_tgt) = self."!cursor_start"()
-    rx518_cur."!cursor_debug"("START ", "")
-    .lex unicode:"$\x{a2}", rx518_cur
-    .local pmc match
-    .lex "$/", match
-    length rx518_eos, rx518_tgt
-    set rx518_off, 0
-    lt rx518_pos, 2, rx518_start
-    sub rx518_off, rx518_pos, 1
-    substr rx518_tgt, rx518_tgt, rx518_off
-  rx518_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan519_done
-    goto rxscan519_scan
-  rxscan519_loop:
-    ($P10) = rx518_cur."from"()
-    inc $P10
-    set rx518_pos, $P10
-    ge rx518_pos, rx518_eos, rxscan519_done
-  rxscan519_scan:
-    set_addr $I10, rxscan519_loop
-    rx518_cur."!mark_push"(0, rx518_pos, $I10)
-  rxscan519_done:
+    .lex unicode:"$\x{a2}", $P527
+    .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 ", "")
+    .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, rxscan529_done
+    goto rxscan529_scan
+  rxscan529_loop:
+    ($P10) = rx528_cur."from"()
+    inc $P10
+    set rx528_pos, $P10
+    ge rx528_pos, rx528_eos, rxscan529_done
+  rxscan529_scan:
+    set_addr $I10, rxscan529_loop
+    rx528_cur."!mark_push"(0, rx528_pos, $I10)
+  rxscan529_done:
   # rx charclass .
-    ge rx518_pos, rx518_eos, rx518_fail
-    inc rx518_pos
+    ge rx528_pos, rx528_eos, rx528_fail
+    inc rx528_pos
   # rx pass
-    rx518_cur."!cursor_pass"(rx518_pos, "")
-    rx518_cur."!cursor_debug"("PASS  ", "", " at pos=", rx518_pos)
-    .return (rx518_cur)
-  rx518_fail:
-    (rx518_rep, rx518_pos, $I10, $P10) = rx518_cur."!mark_fail"(0)
-    lt rx518_pos, -1, rx518_done
-    eq rx518_pos, -1, rx518_fail
+    rx528_cur."!cursor_pass"(rx528_pos, "")
+    rx528_cur."!cursor_debug"("PASS  ", "", " at pos=", rx528_pos)
+    .return (rx528_cur)
+  rx528_fail:
+    (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
-  rx518_done:
-    rx518_cur."!cursor_fail"()
-    rx518_cur."!cursor_debug"("FAIL  ", "")
-    .return (rx518_cur)
+  rx528_done:
+    rx528_cur."!cursor_fail"()
+    rx528_cur."!cursor_debug"("FAIL  ", "")
+    .return (rx528_cur)
     .return ()
 .end
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "_block520"  :anon :subid("145_1259103974.80122") :method :outer("143_1259103974.80122")
+.sub "_block530"  :anon :subid("145_1259177736.62303") :method :outer("143_1259177736.62303")
 .annotate "line", 166
-    .local string rx522_tgt
-    .local int rx522_pos
-    .local int rx522_off
-    .local int rx522_eos
-    .local int rx522_rep
-    .local pmc rx522_cur
-    (rx522_cur, rx522_pos, rx522_tgt) = self."!cursor_start"()
-    rx522_cur."!cursor_debug"("START ", "")
-    .lex unicode:"$\x{a2}", rx522_cur
-    .local pmc match
-    .lex "$/", match
-    length rx522_eos, rx522_tgt
-    set rx522_off, 0
-    lt rx522_pos, 2, rx522_start
-    sub rx522_off, rx522_pos, 1
-    substr rx522_tgt, rx522_tgt, rx522_off
-  rx522_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan523_done
-    goto rxscan523_scan
-  rxscan523_loop:
-    ($P10) = rx522_cur."from"()
-    inc $P10
-    set rx522_pos, $P10
-    ge rx522_pos, rx522_eos, rxscan523_done
-  rxscan523_scan:
-    set_addr $I10, rxscan523_loop
-    rx522_cur."!mark_push"(0, rx522_pos, $I10)
-  rxscan523_done:
+    .lex unicode:"$\x{a2}", $P532
+    .local string rx533_tgt
+    .local int rx533_pos
+    .local int rx533_off
+    .local int rx533_eos
+    .local int rx533_rep
+    .local pmc rx533_cur
+    (rx533_cur, rx533_pos, rx533_tgt) = self."!cursor_start"()
+    rx533_cur."!cursor_debug"("START ", "")
+    .lex unicode:"$\x{a2}", rx533_cur
+    .local pmc match
+    .lex "$/", match
+    length rx533_eos, rx533_tgt
+    set rx533_off, 0
+    lt rx533_pos, 2, rx533_start
+    sub rx533_off, rx533_pos, 1
+    substr rx533_tgt, rx533_tgt, rx533_off
+  rx533_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan534_done
+    goto rxscan534_scan
+  rxscan534_loop:
+    ($P10) = rx533_cur."from"()
+    inc $P10
+    set rx533_pos, $P10
+    ge rx533_pos, rx533_eos, rxscan534_done
+  rxscan534_scan:
+    set_addr $I10, rxscan534_loop
+    rx533_cur."!mark_push"(0, rx533_pos, $I10)
+  rxscan534_done:
   # rx enumcharlist negate=1 
-    ge rx522_pos, rx522_eos, rx522_fail
-    sub $I10, rx522_pos, rx522_off
-    substr $S10, rx522_tgt, $I10, 1
+    ge rx533_pos, rx533_eos, rx533_fail
+    sub $I10, rx533_pos, rx533_off
+    substr $S10, rx533_tgt, $I10, 1
     index $I11, "]\\", $S10
-    ge $I11, 0, rx522_fail
-    inc rx522_pos
+    ge $I11, 0, rx533_fail
+    inc rx533_pos
   # rx pass
-    rx522_cur."!cursor_pass"(rx522_pos, "")
-    rx522_cur."!cursor_debug"("PASS  ", "", " at pos=", rx522_pos)
-    .return (rx522_cur)
-  rx522_fail:
-    (rx522_rep, rx522_pos, $I10, $P10) = rx522_cur."!mark_fail"(0)
-    lt rx522_pos, -1, rx522_done
-    eq rx522_pos, -1, rx522_fail
+    rx533_cur."!cursor_pass"(rx533_pos, "")
+    rx533_cur."!cursor_debug"("PASS  ", "", " at pos=", rx533_pos)
+    .return (rx533_cur)
+  rx533_fail:
+    (rx533_rep, rx533_pos, $I10, $P10) = rx533_cur."!mark_fail"(0)
+    lt rx533_pos, -1, rx533_done
+    eq rx533_pos, -1, rx533_fail
     jump $I10
-  rx522_done:
-    rx522_cur."!cursor_fail"()
-    rx522_cur."!cursor_debug"("FAIL  ", "")
-    .return (rx522_cur)
+  rx533_done:
+    rx533_cur."!cursor_fail"()
+    rx533_cur."!cursor_debug"("FAIL  ", "")
+    .return (rx533_cur)
     .return ()
 .end
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "_block525"  :anon :subid("146_1259103974.80122") :method :outer("143_1259103974.80122")
+.sub "_block536"  :anon :subid("146_1259177736.62303") :method :outer("143_1259177736.62303")
 .annotate "line", 166
-    .local string rx527_tgt
-    .local int rx527_pos
-    .local int rx527_off
-    .local int rx527_eos
-    .local int rx527_rep
-    .local pmc rx527_cur
-    (rx527_cur, rx527_pos, rx527_tgt) = self."!cursor_start"()
-    rx527_cur."!cursor_debug"("START ", "")
-    .lex unicode:"$\x{a2}", rx527_cur
-    .local pmc match
-    .lex "$/", match
-    length rx527_eos, rx527_tgt
-    set rx527_off, 0
-    lt rx527_pos, 2, rx527_start
-    sub rx527_off, rx527_pos, 1
-    substr rx527_tgt, rx527_tgt, rx527_off
-  rx527_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan528_done
-    goto rxscan528_scan
-  rxscan528_loop:
-    ($P10) = rx527_cur."from"()
-    inc $P10
-    set rx527_pos, $P10
-    ge rx527_pos, rx527_eos, rxscan528_done
-  rxscan528_scan:
-    set_addr $I10, rxscan528_loop
-    rx527_cur."!mark_push"(0, rx527_pos, $I10)
-  rxscan528_done:
+    .lex unicode:"$\x{a2}", $P538
+    .local string rx539_tgt
+    .local int rx539_pos
+    .local int rx539_off
+    .local int rx539_eos
+    .local int rx539_rep
+    .local pmc rx539_cur
+    (rx539_cur, rx539_pos, rx539_tgt) = self."!cursor_start"()
+    rx539_cur."!cursor_debug"("START ", "")
+    .lex unicode:"$\x{a2}", rx539_cur
+    .local pmc match
+    .lex "$/", match
+    length rx539_eos, rx539_tgt
+    set rx539_off, 0
+    lt rx539_pos, 2, rx539_start
+    sub rx539_off, rx539_pos, 1
+    substr rx539_tgt, rx539_tgt, rx539_off
+  rx539_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan540_done
+    goto rxscan540_scan
+  rxscan540_loop:
+    ($P10) = rx539_cur."from"()
+    inc $P10
+    set rx539_pos, $P10
+    ge rx539_pos, rx539_eos, rxscan540_done
+  rxscan540_scan:
+    set_addr $I10, rxscan540_loop
+    rx539_cur."!mark_push"(0, rx539_pos, $I10)
+  rxscan540_done:
   # rx charclass .
-    ge rx527_pos, rx527_eos, rx527_fail
-    inc rx527_pos
+    ge rx539_pos, rx539_eos, rx539_fail
+    inc rx539_pos
   # rx pass
-    rx527_cur."!cursor_pass"(rx527_pos, "")
-    rx527_cur."!cursor_debug"("PASS  ", "", " at pos=", rx527_pos)
-    .return (rx527_cur)
-  rx527_fail:
-    (rx527_rep, rx527_pos, $I10, $P10) = rx527_cur."!mark_fail"(0)
-    lt rx527_pos, -1, rx527_done
-    eq rx527_pos, -1, rx527_fail
-    jump $I10
-  rx527_done:
-    rx527_cur."!cursor_fail"()
-    rx527_cur."!cursor_debug"("FAIL  ", "")
-    .return (rx527_cur)
+    rx539_cur."!cursor_pass"(rx539_pos, "")
+    rx539_cur."!cursor_debug"("PASS  ", "", " at pos=", rx539_pos)
+    .return (rx539_cur)
+  rx539_fail:
+    (rx539_rep, rx539_pos, $I10, $P10) = rx539_cur."!mark_fail"(0)
+    lt rx539_pos, -1, rx539_done
+    eq rx539_pos, -1, rx539_fail
+    jump $I10
+  rx539_done:
+    rx539_cur."!cursor_fail"()
+    rx539_cur."!cursor_debug"("FAIL  ", "")
+    .return (rx539_cur)
     .return ()
 .end
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "mod_internal"  :subid("147_1259103974.80122") :method :outer("11_1259103974.80122")
-.annotate "line", 3
-    .const 'Sub' $P543 = "149_1259103974.80122" 
-    capture_lex $P543
-    .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 ", "mod_internal")
-    rx535_cur."!cursor_caparray"("n")
-    .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:
-  alt540_0:
+.sub "mod_internal"  :subid("147_1259177736.62303") :method :outer("11_1259177736.62303")
+.annotate "line", 3
+    .const 'Sub' $P555 = "149_1259177736.62303" 
+    capture_lex $P555
+    .local string rx547_tgt
+    .local int rx547_pos
+    .local int rx547_off
+    .local int rx547_eos
+    .local int rx547_rep
+    .local pmc rx547_cur
+    (rx547_cur, rx547_pos, rx547_tgt) = self."!cursor_start"()
+    rx547_cur."!cursor_debug"("START ", "mod_internal")
+    rx547_cur."!cursor_caparray"("n")
+    .lex unicode:"$\x{a2}", rx547_cur
+    .local pmc match
+    .lex "$/", match
+    length rx547_eos, rx547_tgt
+    set rx547_off, 0
+    lt rx547_pos, 2, rx547_start
+    sub rx547_off, rx547_pos, 1
+    substr rx547_tgt, rx547_tgt, rx547_off
+  rx547_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan551_done
+    goto rxscan551_scan
+  rxscan551_loop:
+    ($P10) = rx547_cur."from"()
+    inc $P10
+    set rx547_pos, $P10
+    ge rx547_pos, rx547_eos, rxscan551_done
+  rxscan551_scan:
+    set_addr $I10, rxscan551_loop
+    rx547_cur."!mark_push"(0, rx547_pos, $I10)
+  rxscan551_done:
+  alt552_0:
 .annotate "line", 175
-    set_addr $I10, alt540_1
-    rx535_cur."!mark_push"(0, rx535_pos, $I10)
+    set_addr $I10, alt552_1
+    rx547_cur."!mark_push"(0, rx547_pos, $I10)
 .annotate "line", 176
   # rx literal  ":"
-    add $I11, rx535_pos, 1
-    gt $I11, rx535_eos, rx535_fail
-    sub $I11, rx535_pos, rx535_off
-    substr $S10, rx535_tgt, $I11, 1
-    ne $S10, ":", rx535_fail
-    add rx535_pos, 1
-  # rx rxquantr541 ** 1..1
-    set_addr $I547, rxquantr541_done
-    rx535_cur."!mark_push"(0, -1, $I547)
-  rxquantr541_loop:
-  # rx subrule $P543 subtype=capture negate=
-    rx535_cur."!cursor_pos"(rx535_pos)
-    .const 'Sub' $P543 = "149_1259103974.80122" 
-    capture_lex $P543
-    $P10 = rx535_cur.$P543()
-    unless $P10, rx535_fail
-    rx535_cur."!mark_push"(0, -1, 0, $P10)
+    add $I11, rx547_pos, 1
+    gt $I11, rx547_eos, rx547_fail
+    sub $I11, rx547_pos, rx547_off
+    substr $S10, rx547_tgt, $I11, 1
+    ne $S10, ":", rx547_fail
+    add rx547_pos, 1
+  # rx rxquantr553 ** 1..1
+    set_addr $I560, rxquantr553_done
+    rx547_cur."!mark_push"(0, -1, $I560)
+  rxquantr553_loop:
+  # rx subrule $P555 subtype=capture negate=
+    rx547_cur."!cursor_pos"(rx547_pos)
+    .const 'Sub' $P555 = "149_1259177736.62303" 
+    capture_lex $P555
+    $P10 = rx547_cur.$P555()
+    unless $P10, rx547_fail
+    rx547_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("n")
-    rx535_pos = $P10."pos"()
-    (rx535_rep) = rx535_cur."!mark_commit"($I547)
-  rxquantr541_done:
+    rx547_pos = $P10."pos"()
+    (rx547_rep) = rx547_cur."!mark_commit"($I560)
+  rxquantr553_done:
   # rx subrule "mod_ident" subtype=capture negate=
-    rx535_cur."!cursor_pos"(rx535_pos)
-    $P10 = rx535_cur."mod_ident"()
-    unless $P10, rx535_fail
-    rx535_cur."!mark_push"(0, -1, 0, $P10)
+    rx547_cur."!cursor_pos"(rx547_pos)
+    $P10 = rx547_cur."mod_ident"()
+    unless $P10, rx547_fail
+    rx547_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("mod_ident")
-    rx535_pos = $P10."pos"()
+    rx547_pos = $P10."pos"()
   # rxanchor rwb
-    le rx535_pos, 0, rx535_fail
-    sub $I10, rx535_pos, rx535_off
-    is_cclass $I11, 8192, rx535_tgt, $I10
-    if $I11, rx535_fail
+    le rx547_pos, 0, rx547_fail
+    sub $I10, rx547_pos, rx547_off
+    is_cclass $I11, 8192, rx547_tgt, $I10
+    if $I11, rx547_fail
     dec $I10
-    is_cclass $I11, 8192, rx535_tgt, $I10
-    unless $I11, rx535_fail
-    goto alt540_end
-  alt540_1:
+    is_cclass $I11, 8192, rx547_tgt, $I10
+    unless $I11, rx547_fail
+    goto alt552_end
+  alt552_1:
 .annotate "line", 177
   # rx literal  ":"
-    add $I11, rx535_pos, 1
-    gt $I11, rx535_eos, rx535_fail
-    sub $I11, rx535_pos, rx535_off
-    substr $S10, rx535_tgt, $I11, 1
-    ne $S10, ":", rx535_fail
-    add rx535_pos, 1
+    add $I11, rx547_pos, 1
+    gt $I11, rx547_eos, rx547_fail
+    sub $I11, rx547_pos, rx547_off
+    substr $S10, rx547_tgt, $I11, 1
+    ne $S10, ":", rx547_fail
+    add rx547_pos, 1
   # rx subrule "mod_ident" subtype=capture negate=
-    rx535_cur."!cursor_pos"(rx535_pos)
-    $P10 = rx535_cur."mod_ident"()
-    unless $P10, rx535_fail
-    rx535_cur."!mark_push"(0, -1, 0, $P10)
+    rx547_cur."!cursor_pos"(rx547_pos)
+    $P10 = rx547_cur."mod_ident"()
+    unless $P10, rx547_fail
+    rx547_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("mod_ident")
-    rx535_pos = $P10."pos"()
-  # rx rxquantr548 ** 0..1
-    set_addr $I550, rxquantr548_done
-    rx535_cur."!mark_push"(0, rx535_pos, $I550)
-  rxquantr548_loop:
+    rx547_pos = $P10."pos"()
+  # rx rxquantr561 ** 0..1
+    set_addr $I563, rxquantr561_done
+    rx547_cur."!mark_push"(0, rx547_pos, $I563)
+  rxquantr561_loop:
   # rx literal  "("
-    add $I11, rx535_pos, 1
-    gt $I11, rx535_eos, rx535_fail
-    sub $I11, rx535_pos, rx535_off
-    substr $S10, rx535_tgt, $I11, 1
-    ne $S10, "(", rx535_fail
-    add rx535_pos, 1
+    add $I11, rx547_pos, 1
+    gt $I11, rx547_eos, rx547_fail
+    sub $I11, rx547_pos, rx547_off
+    substr $S10, rx547_tgt, $I11, 1
+    ne $S10, "(", rx547_fail
+    add rx547_pos, 1
   # rx subcapture "n"
-    set_addr $I10, rxcap_549_fail
-    rx535_cur."!mark_push"(0, rx535_pos, $I10)
+    set_addr $I10, rxcap_562_fail
+    rx547_cur."!mark_push"(0, rx547_pos, $I10)
   # rx charclass_q d r 1..-1
-    sub $I10, rx535_pos, rx535_off
-    find_not_cclass $I11, 8, rx535_tgt, $I10, rx535_eos
+    sub $I10, rx547_pos, rx547_off
+    find_not_cclass $I11, 8, rx547_tgt, $I10, rx547_eos
     add $I12, $I10, 1
-    lt $I11, $I12, rx535_fail
-    add rx535_pos, rx535_off, $I11
-    set_addr $I10, rxcap_549_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)
+    lt $I11, $I12, rx547_fail
+    add rx547_pos, rx547_off, $I11
+    set_addr $I10, rxcap_562_fail
+    ($I12, $I11) = rx547_cur."!mark_peek"($I10)
+    rx547_cur."!cursor_pos"($I11)
+    ($P10) = rx547_cur."!cursor_start"()
+    $P10."!cursor_pass"(rx547_pos, "")
+    rx547_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("n")
-    goto rxcap_549_done
-  rxcap_549_fail:
-    goto rx535_fail
-  rxcap_549_done:
+    goto rxcap_562_done
+  rxcap_562_fail:
+    goto rx547_fail
+  rxcap_562_done:
   # rx literal  ")"
-    add $I11, rx535_pos, 1
-    gt $I11, rx535_eos, rx535_fail
-    sub $I11, rx535_pos, rx535_off
-    substr $S10, rx535_tgt, $I11, 1
-    ne $S10, ")", rx535_fail
-    add rx535_pos, 1
-    (rx535_rep) = rx535_cur."!mark_commit"($I550)
-  rxquantr548_done:
-  alt540_end:
+    add $I11, rx547_pos, 1
+    gt $I11, rx547_eos, rx547_fail
+    sub $I11, rx547_pos, rx547_off
+    substr $S10, rx547_tgt, $I11, 1
+    ne $S10, ")", rx547_fail
+    add rx547_pos, 1
+    (rx547_rep) = rx547_cur."!mark_commit"($I563)
+  rxquantr561_done:
+  alt552_end:
 .annotate "line", 174
   # rx pass
-    rx535_cur."!cursor_pass"(rx535_pos, "mod_internal")
-    rx535_cur."!cursor_debug"("PASS  ", "mod_internal", " at pos=", rx535_pos)
-    .return (rx535_cur)
-  rx535_fail:
+    rx547_cur."!cursor_pass"(rx547_pos, "mod_internal")
+    rx547_cur."!cursor_debug"("PASS  ", "mod_internal", " at pos=", rx547_pos)
+    .return (rx547_cur)
+  rx547_fail:
 .annotate "line", 3
-    (rx535_rep, rx535_pos, $I10, $P10) = rx535_cur."!mark_fail"(0)
-    lt rx535_pos, -1, rx535_done
-    eq rx535_pos, -1, rx535_fail
+    (rx547_rep, rx547_pos, $I10, $P10) = rx547_cur."!mark_fail"(0)
+    lt rx547_pos, -1, rx547_done
+    eq rx547_pos, -1, rx547_fail
     jump $I10
-  rx535_done:
-    rx535_cur."!cursor_fail"()
-    rx535_cur."!cursor_debug"("FAIL  ", "mod_internal")
-    .return (rx535_cur)
+  rx547_done:
+    rx547_cur."!cursor_fail"()
+    rx547_cur."!cursor_debug"("FAIL  ", "mod_internal")
+    .return (rx547_cur)
     .return ()
 .end
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__mod_internal"  :subid("148_1259103974.80122") :method
+.sub "!PREFIX__mod_internal"  :subid("148_1259177736.62303") :method
 .annotate "line", 3
-    $P537 = self."!PREFIX__!subrule"("mod_ident", ":")
-    new $P538, "ResizablePMCArray"
-    push $P538, $P537
-    push $P538, ":"
-    .return ($P538)
+    $P549 = self."!PREFIX__!subrule"("mod_ident", ":")
+    new $P550, "ResizablePMCArray"
+    push $P550, $P549
+    push $P550, ":"
+    .return ($P550)
 .end
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "_block542"  :anon :subid("149_1259103974.80122") :method :outer("147_1259103974.80122")
+.sub "_block554"  :anon :subid("149_1259177736.62303") :method :outer("147_1259177736.62303")
 .annotate "line", 176
-    .local string rx544_tgt
-    .local int rx544_pos
-    .local int rx544_off
-    .local int rx544_eos
-    .local int rx544_rep
-    .local pmc rx544_cur
-    (rx544_cur, rx544_pos, rx544_tgt) = self."!cursor_start"()
-    rx544_cur."!cursor_debug"("START ", "")
-    .lex unicode:"$\x{a2}", rx544_cur
-    .local pmc match
-    .lex "$/", match
-    length rx544_eos, rx544_tgt
-    set rx544_off, 0
-    lt rx544_pos, 2, rx544_start
-    sub rx544_off, rx544_pos, 1
-    substr rx544_tgt, rx544_tgt, rx544_off
-  rx544_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan545_done
-    goto rxscan545_scan
-  rxscan545_loop:
-    ($P10) = rx544_cur."from"()
-    inc $P10
-    set rx544_pos, $P10
-    ge rx544_pos, rx544_eos, rxscan545_done
-  rxscan545_scan:
-    set_addr $I10, rxscan545_loop
-    rx544_cur."!mark_push"(0, rx544_pos, $I10)
-  rxscan545_done:
-  alt546_0:
-    set_addr $I10, alt546_1
-    rx544_cur."!mark_push"(0, rx544_pos, $I10)
+    .lex unicode:"$\x{a2}", $P556
+    .local string rx557_tgt
+    .local int rx557_pos
+    .local int rx557_off
+    .local int rx557_eos
+    .local int rx557_rep
+    .local pmc rx557_cur
+    (rx557_cur, rx557_pos, rx557_tgt) = self."!cursor_start"()
+    rx557_cur."!cursor_debug"("START ", "")
+    .lex unicode:"$\x{a2}", rx557_cur
+    .local pmc match
+    .lex "$/", match
+    length rx557_eos, rx557_tgt
+    set rx557_off, 0
+    lt rx557_pos, 2, rx557_start
+    sub rx557_off, rx557_pos, 1
+    substr rx557_tgt, rx557_tgt, rx557_off
+  rx557_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan558_done
+    goto rxscan558_scan
+  rxscan558_loop:
+    ($P10) = rx557_cur."from"()
+    inc $P10
+    set rx557_pos, $P10
+    ge rx557_pos, rx557_eos, rxscan558_done
+  rxscan558_scan:
+    set_addr $I10, rxscan558_loop
+    rx557_cur."!mark_push"(0, rx557_pos, $I10)
+  rxscan558_done:
+  alt559_0:
+    set_addr $I10, alt559_1
+    rx557_cur."!mark_push"(0, rx557_pos, $I10)
   # rx literal  "!"
-    add $I11, rx544_pos, 1
-    gt $I11, rx544_eos, rx544_fail
-    sub $I11, rx544_pos, rx544_off
-    substr $S10, rx544_tgt, $I11, 1
-    ne $S10, "!", rx544_fail
-    add rx544_pos, 1
-    goto alt546_end
-  alt546_1:
+    add $I11, rx557_pos, 1
+    gt $I11, rx557_eos, rx557_fail
+    sub $I11, rx557_pos, rx557_off
+    substr $S10, rx557_tgt, $I11, 1
+    ne $S10, "!", rx557_fail
+    add rx557_pos, 1
+    goto alt559_end
+  alt559_1:
   # rx charclass_q d r 1..-1
-    sub $I10, rx544_pos, rx544_off
-    find_not_cclass $I11, 8, rx544_tgt, $I10, rx544_eos
+    sub $I10, rx557_pos, rx557_off
+    find_not_cclass $I11, 8, rx557_tgt, $I10, rx557_eos
     add $I12, $I10, 1
-    lt $I11, $I12, rx544_fail
-    add rx544_pos, rx544_off, $I11
-  alt546_end:
+    lt $I11, $I12, rx557_fail
+    add rx557_pos, rx557_off, $I11
+  alt559_end:
   # rx pass
-    rx544_cur."!cursor_pass"(rx544_pos, "")
-    rx544_cur."!cursor_debug"("PASS  ", "", " at pos=", rx544_pos)
-    .return (rx544_cur)
-  rx544_fail:
-    (rx544_rep, rx544_pos, $I10, $P10) = rx544_cur."!mark_fail"(0)
-    lt rx544_pos, -1, rx544_done
-    eq rx544_pos, -1, rx544_fail
+    rx557_cur."!cursor_pass"(rx557_pos, "")
+    rx557_cur."!cursor_debug"("PASS  ", "", " at pos=", rx557_pos)
+    .return (rx557_cur)
+  rx557_fail:
+    (rx557_rep, rx557_pos, $I10, $P10) = rx557_cur."!mark_fail"(0)
+    lt rx557_pos, -1, rx557_done
+    eq rx557_pos, -1, rx557_fail
     jump $I10
-  rx544_done:
-    rx544_cur."!cursor_fail"()
-    rx544_cur."!cursor_debug"("FAIL  ", "")
-    .return (rx544_cur)
+  rx557_done:
+    rx557_cur."!cursor_fail"()
+    rx557_cur."!cursor_debug"("FAIL  ", "")
+    .return (rx557_cur)
     .return ()
 .end
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "mod_ident"  :subid("150_1259103974.80122") :method
+.sub "mod_ident"  :subid("150_1259177736.62303") :method
 .annotate "line", 181
-    $P552 = self."!protoregex"("mod_ident")
-    .return ($P552)
+    $P565 = self."!protoregex"("mod_ident")
+    .return ($P565)
 .end
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__mod_ident"  :subid("151_1259103974.80122") :method
+.sub "!PREFIX__mod_ident"  :subid("151_1259177736.62303") :method
 .annotate "line", 181
-    $P554 = self."!PREFIX__!protoregex"("mod_ident")
-    .return ($P554)
+    $P567 = self."!PREFIX__!protoregex"("mod_ident")
+    .return ($P567)
 .end
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "mod_ident:sym<ignorecase>"  :subid("152_1259103974.80122") :method :outer("11_1259103974.80122")
+.sub "mod_ident:sym<ignorecase>"  :subid("152_1259177736.62303") :method :outer("11_1259177736.62303")
 .annotate "line", 3
-    .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 ", "mod_ident:sym<ignorecase>")
-    .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, rxscan559_done
-    goto rxscan559_scan
-  rxscan559_loop:
-    ($P10) = rx556_cur."from"()
-    inc $P10
-    set rx556_pos, $P10
-    ge rx556_pos, rx556_eos, rxscan559_done
-  rxscan559_scan:
-    set_addr $I10, rxscan559_loop
-    rx556_cur."!mark_push"(0, rx556_pos, $I10)
-  rxscan559_done:
+    .local string rx569_tgt
+    .local int rx569_pos
+    .local int rx569_off
+    .local int rx569_eos
+    .local int rx569_rep
+    .local pmc rx569_cur
+    (rx569_cur, rx569_pos, rx569_tgt) = self."!cursor_start"()
+    rx569_cur."!cursor_debug"("START ", "mod_ident:sym<ignorecase>")
+    .lex unicode:"$\x{a2}", rx569_cur
+    .local pmc match
+    .lex "$/", match
+    length rx569_eos, rx569_tgt
+    set rx569_off, 0
+    lt rx569_pos, 2, rx569_start
+    sub rx569_off, rx569_pos, 1
+    substr rx569_tgt, rx569_tgt, rx569_off
+  rx569_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan572_done
+    goto rxscan572_scan
+  rxscan572_loop:
+    ($P10) = rx569_cur."from"()
+    inc $P10
+    set rx569_pos, $P10
+    ge rx569_pos, rx569_eos, rxscan572_done
+  rxscan572_scan:
+    set_addr $I10, rxscan572_loop
+    rx569_cur."!mark_push"(0, rx569_pos, $I10)
+  rxscan572_done:
 .annotate "line", 182
   # rx subcapture "sym"
-    set_addr $I10, rxcap_560_fail
-    rx556_cur."!mark_push"(0, rx556_pos, $I10)
+    set_addr $I10, rxcap_573_fail
+    rx569_cur."!mark_push"(0, rx569_pos, $I10)
   # rx literal  "i"
-    add $I11, rx556_pos, 1
-    gt $I11, rx556_eos, rx556_fail
-    sub $I11, rx556_pos, rx556_off
-    substr $S10, rx556_tgt, $I11, 1
-    ne $S10, "i", rx556_fail
-    add rx556_pos, 1
-    set_addr $I10, rxcap_560_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)
+    add $I11, rx569_pos, 1
+    gt $I11, rx569_eos, rx569_fail
+    sub $I11, rx569_pos, rx569_off
+    substr $S10, rx569_tgt, $I11, 1
+    ne $S10, "i", rx569_fail
+    add rx569_pos, 1
+    set_addr $I10, rxcap_573_fail
+    ($I12, $I11) = rx569_cur."!mark_peek"($I10)
+    rx569_cur."!cursor_pos"($I11)
+    ($P10) = rx569_cur."!cursor_start"()
+    $P10."!cursor_pass"(rx569_pos, "")
+    rx569_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("sym")
-    goto rxcap_560_done
-  rxcap_560_fail:
-    goto rx556_fail
-  rxcap_560_done:
-  # rx rxquantr561 ** 0..1
-    set_addr $I562, rxquantr561_done
-    rx556_cur."!mark_push"(0, rx556_pos, $I562)
-  rxquantr561_loop:
+    goto rxcap_573_done
+  rxcap_573_fail:
+    goto rx569_fail
+  rxcap_573_done:
+  # rx rxquantr574 ** 0..1
+    set_addr $I575, rxquantr574_done
+    rx569_cur."!mark_push"(0, rx569_pos, $I575)
+  rxquantr574_loop:
   # rx literal  "gnorecase"
-    add $I11, rx556_pos, 9
-    gt $I11, rx556_eos, rx556_fail
-    sub $I11, rx556_pos, rx556_off
-    substr $S10, rx556_tgt, $I11, 9
-    ne $S10, "gnorecase", rx556_fail
-    add rx556_pos, 9
-    (rx556_rep) = rx556_cur."!mark_commit"($I562)
-  rxquantr561_done:
+    add $I11, rx569_pos, 9
+    gt $I11, rx569_eos, rx569_fail
+    sub $I11, rx569_pos, rx569_off
+    substr $S10, rx569_tgt, $I11, 9
+    ne $S10, "gnorecase", rx569_fail
+    add rx569_pos, 9
+    (rx569_rep) = rx569_cur."!mark_commit"($I575)
+  rxquantr574_done:
   # rx pass
-    rx556_cur."!cursor_pass"(rx556_pos, "mod_ident:sym<ignorecase>")
-    rx556_cur."!cursor_debug"("PASS  ", "mod_ident:sym<ignorecase>", " at pos=", rx556_pos)
-    .return (rx556_cur)
-  rx556_fail:
+    rx569_cur."!cursor_pass"(rx569_pos, "mod_ident:sym<ignorecase>")
+    rx569_cur."!cursor_debug"("PASS  ", "mod_ident:sym<ignorecase>", " at pos=", rx569_pos)
+    .return (rx569_cur)
+  rx569_fail:
 .annotate "line", 3
-    (rx556_rep, rx556_pos, $I10, $P10) = rx556_cur."!mark_fail"(0)
-    lt rx556_pos, -1, rx556_done
-    eq rx556_pos, -1, rx556_fail
+    (rx569_rep, rx569_pos, $I10, $P10) = rx569_cur."!mark_fail"(0)
+    lt rx569_pos, -1, rx569_done
+    eq rx569_pos, -1, rx569_fail
     jump $I10
-  rx556_done:
-    rx556_cur."!cursor_fail"()
-    rx556_cur."!cursor_debug"("FAIL  ", "mod_ident:sym<ignorecase>")
-    .return (rx556_cur)
+  rx569_done:
+    rx569_cur."!cursor_fail"()
+    rx569_cur."!cursor_debug"("FAIL  ", "mod_ident:sym<ignorecase>")
+    .return (rx569_cur)
     .return ()
 .end
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__mod_ident:sym<ignorecase>"  :subid("153_1259103974.80122") :method
+.sub "!PREFIX__mod_ident:sym<ignorecase>"  :subid("153_1259177736.62303") :method
 .annotate "line", 3
-    new $P558, "ResizablePMCArray"
-    push $P558, "i"
-    .return ($P558)
+    new $P571, "ResizablePMCArray"
+    push $P571, "i"
+    .return ($P571)
 .end
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "mod_ident:sym<ratchet>"  :subid("154_1259103974.80122") :method :outer("11_1259103974.80122")
+.sub "mod_ident:sym<ratchet>"  :subid("154_1259177736.62303") :method :outer("11_1259177736.62303")
 .annotate "line", 3
-    .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 ", "mod_ident:sym<ratchet>")
-    .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:
+    .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 ", "mod_ident:sym<ratchet>")
+    .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, rxscan580_done
+    goto rxscan580_scan
+  rxscan580_loop:
+    ($P10) = rx577_cur."from"()
+    inc $P10
+    set rx577_pos, $P10
+    ge rx577_pos, rx577_eos, rxscan580_done
+  rxscan580_scan:
+    set_addr $I10, rxscan580_loop
+    rx577_cur."!mark_push"(0, rx577_pos, $I10)
+  rxscan580_done:
 .annotate "line", 183
   # rx subcapture "sym"
-    set_addr $I10, rxcap_568_fail
-    rx564_cur."!mark_push"(0, rx564_pos, $I10)
+    set_addr $I10, rxcap_581_fail
+    rx577_cur."!mark_push"(0, rx577_pos, $I10)
   # rx literal  "r"
-    add $I11, rx564_pos, 1
-    gt $I11, rx564_eos, rx564_fail
-    sub $I11, rx564_pos, rx564_off
-    substr $S10, rx564_tgt, $I11, 1
-    ne $S10, "r", rx564_fail
-    add rx564_pos, 1
-    set_addr $I10, rxcap_568_fail
-    ($I12, $I11) = rx564_cur."!mark_peek"($I10)
-    rx564_cur."!cursor_pos"($I11)
-    ($P10) = rx564_cur."!cursor_start"()
-    $P10."!cursor_pass"(rx564_pos, "")
-    rx564_cur."!mark_push"(0, -1, 0, $P10)
+    add $I11, rx577_pos, 1
+    gt $I11, rx577_eos, rx577_fail
+    sub $I11, rx577_pos, rx577_off
+    substr $S10, rx577_tgt, $I11, 1
+    ne $S10, "r", rx577_fail
+    add rx577_pos, 1
+    set_addr $I10, rxcap_581_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_568_done
-  rxcap_568_fail:
-    goto rx564_fail
-  rxcap_568_done:
-  # rx rxquantr569 ** 0..1
-    set_addr $I570, rxquantr569_done
-    rx564_cur."!mark_push"(0, rx564_pos, $I570)
-  rxquantr569_loop:
+    goto rxcap_581_done
+  rxcap_581_fail:
+    goto rx577_fail
+  rxcap_581_done:
+  # rx rxquantr582 ** 0..1
+    set_addr $I583, rxquantr582_done
+    rx577_cur."!mark_push"(0, rx577_pos, $I583)
+  rxquantr582_loop:
   # rx literal  "atchet"
-    add $I11, rx564_pos, 6
-    gt $I11, rx564_eos, rx564_fail
-    sub $I11, rx564_pos, rx564_off
-    substr $S10, rx564_tgt, $I11, 6
-    ne $S10, "atchet", rx564_fail
-    add rx564_pos, 6
-    (rx564_rep) = rx564_cur."!mark_commit"($I570)
-  rxquantr569_done:
+    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, "atchet", rx577_fail
+    add rx577_pos, 6
+    (rx577_rep) = rx577_cur."!mark_commit"($I583)
+  rxquantr582_done:
   # rx pass
-    rx564_cur."!cursor_pass"(rx564_pos, "mod_ident:sym<ratchet>")
-    rx564_cur."!cursor_debug"("PASS  ", "mod_ident:sym<ratchet>", " at pos=", rx564_pos)
-    .return (rx564_cur)
-  rx564_fail:
+    rx577_cur."!cursor_pass"(rx577_pos, "mod_ident:sym<ratchet>")
+    rx577_cur."!cursor_debug"("PASS  ", "mod_ident:sym<ratchet>", " at pos=", rx577_pos)
+    .return (rx577_cur)
+  rx577_fail:
 .annotate "line", 3
-    (rx564_rep, rx564_pos, $I10, $P10) = rx564_cur."!mark_fail"(0)
-    lt rx564_pos, -1, rx564_done
-    eq rx564_pos, -1, rx564_fail
+    (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
-  rx564_done:
-    rx564_cur."!cursor_fail"()
-    rx564_cur."!cursor_debug"("FAIL  ", "mod_ident:sym<ratchet>")
-    .return (rx564_cur)
+  rx577_done:
+    rx577_cur."!cursor_fail"()
+    rx577_cur."!cursor_debug"("FAIL  ", "mod_ident:sym<ratchet>")
+    .return (rx577_cur)
     .return ()
 .end
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__mod_ident:sym<ratchet>"  :subid("155_1259103974.80122") :method
+.sub "!PREFIX__mod_ident:sym<ratchet>"  :subid("155_1259177736.62303") :method
 .annotate "line", 3
-    new $P566, "ResizablePMCArray"
-    push $P566, "r"
-    .return ($P566)
+    new $P579, "ResizablePMCArray"
+    push $P579, "r"
+    .return ($P579)
 .end
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "mod_ident:sym<sigspace>"  :subid("156_1259103974.80122") :method :outer("11_1259103974.80122")
+.sub "mod_ident:sym<sigspace>"  :subid("156_1259177736.62303") :method :outer("11_1259177736.62303")
 .annotate "line", 3
-    .local string rx572_tgt
-    .local int rx572_pos
-    .local int rx572_off
-    .local int rx572_eos
-    .local int rx572_rep
-    .local pmc rx572_cur
-    (rx572_cur, rx572_pos, rx572_tgt) = self."!cursor_start"()
-    rx572_cur."!cursor_debug"("START ", "mod_ident:sym<sigspace>")
-    .lex unicode:"$\x{a2}", rx572_cur
-    .local pmc match
-    .lex "$/", match
-    length rx572_eos, rx572_tgt
-    set rx572_off, 0
-    lt rx572_pos, 2, rx572_start
-    sub rx572_off, rx572_pos, 1
-    substr rx572_tgt, rx572_tgt, rx572_off
-  rx572_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan575_done
-    goto rxscan575_scan
-  rxscan575_loop:
-    ($P10) = rx572_cur."from"()
-    inc $P10
-    set rx572_pos, $P10
-    ge rx572_pos, rx572_eos, rxscan575_done
-  rxscan575_scan:
-    set_addr $I10, rxscan575_loop
-    rx572_cur."!mark_push"(0, rx572_pos, $I10)
-  rxscan575_done:
+    .local string rx585_tgt
+    .local int rx585_pos
+    .local int rx585_off
+    .local int rx585_eos
+    .local int rx585_rep
+    .local pmc rx585_cur
+    (rx585_cur, rx585_pos, rx585_tgt) = self."!cursor_start"()
+    rx585_cur."!cursor_debug"("START ", "mod_ident:sym<sigspace>")
+    .lex unicode:"$\x{a2}", rx585_cur
+    .local pmc match
+    .lex "$/", match
+    length rx585_eos, rx585_tgt
+    set rx585_off, 0
+    lt rx585_pos, 2, rx585_start
+    sub rx585_off, rx585_pos, 1
+    substr rx585_tgt, rx585_tgt, rx585_off
+  rx585_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan588_done
+    goto rxscan588_scan
+  rxscan588_loop:
+    ($P10) = rx585_cur."from"()
+    inc $P10
+    set rx585_pos, $P10
+    ge rx585_pos, rx585_eos, rxscan588_done
+  rxscan588_scan:
+    set_addr $I10, rxscan588_loop
+    rx585_cur."!mark_push"(0, rx585_pos, $I10)
+  rxscan588_done:
 .annotate "line", 184
   # rx subcapture "sym"
-    set_addr $I10, rxcap_576_fail
-    rx572_cur."!mark_push"(0, rx572_pos, $I10)
+    set_addr $I10, rxcap_589_fail
+    rx585_cur."!mark_push"(0, rx585_pos, $I10)
   # rx literal  "s"
-    add $I11, rx572_pos, 1
-    gt $I11, rx572_eos, rx572_fail
-    sub $I11, rx572_pos, rx572_off
-    substr $S10, rx572_tgt, $I11, 1
-    ne $S10, "s", rx572_fail
-    add rx572_pos, 1
-    set_addr $I10, rxcap_576_fail
-    ($I12, $I11) = rx572_cur."!mark_peek"($I10)
-    rx572_cur."!cursor_pos"($I11)
-    ($P10) = rx572_cur."!cursor_start"()
-    $P10."!cursor_pass"(rx572_pos, "")
-    rx572_cur."!mark_push"(0, -1, 0, $P10)
+    add $I11, rx585_pos, 1
+    gt $I11, rx585_eos, rx585_fail
+    sub $I11, rx585_pos, rx585_off
+    substr $S10, rx585_tgt, $I11, 1
+    ne $S10, "s", rx585_fail
+    add rx585_pos, 1
+    set_addr $I10, rxcap_589_fail
+    ($I12, $I11) = rx585_cur."!mark_peek"($I10)
+    rx585_cur."!cursor_pos"($I11)
+    ($P10) = rx585_cur."!cursor_start"()
+    $P10."!cursor_pass"(rx585_pos, "")
+    rx585_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("sym")
-    goto rxcap_576_done
-  rxcap_576_fail:
-    goto rx572_fail
-  rxcap_576_done:
-  # rx rxquantr577 ** 0..1
-    set_addr $I578, rxquantr577_done
-    rx572_cur."!mark_push"(0, rx572_pos, $I578)
-  rxquantr577_loop:
+    goto rxcap_589_done
+  rxcap_589_fail:
+    goto rx585_fail
+  rxcap_589_done:
+  # rx rxquantr590 ** 0..1
+    set_addr $I591, rxquantr590_done
+    rx585_cur."!mark_push"(0, rx585_pos, $I591)
+  rxquantr590_loop:
   # rx literal  "igspace"
-    add $I11, rx572_pos, 7
-    gt $I11, rx572_eos, rx572_fail
-    sub $I11, rx572_pos, rx572_off
-    substr $S10, rx572_tgt, $I11, 7
-    ne $S10, "igspace", rx572_fail
-    add rx572_pos, 7
-    (rx572_rep) = rx572_cur."!mark_commit"($I578)
-  rxquantr577_done:
+    add $I11, rx585_pos, 7
+    gt $I11, rx585_eos, rx585_fail
+    sub $I11, rx585_pos, rx585_off
+    substr $S10, rx585_tgt, $I11, 7
+    ne $S10, "igspace", rx585_fail
+    add rx585_pos, 7
+    (rx585_rep) = rx585_cur."!mark_commit"($I591)
+  rxquantr590_done:
   # rx pass
-    rx572_cur."!cursor_pass"(rx572_pos, "mod_ident:sym<sigspace>")
-    rx572_cur."!cursor_debug"("PASS  ", "mod_ident:sym<sigspace>", " at pos=", rx572_pos)
-    .return (rx572_cur)
-  rx572_fail:
+    rx585_cur."!cursor_pass"(rx585_pos, "mod_ident:sym<sigspace>")
+    rx585_cur."!cursor_debug"("PASS  ", "mod_ident:sym<sigspace>", " at pos=", rx585_pos)
+    .return (rx585_cur)
+  rx585_fail:
 .annotate "line", 3
-    (rx572_rep, rx572_pos, $I10, $P10) = rx572_cur."!mark_fail"(0)
-    lt rx572_pos, -1, rx572_done
-    eq rx572_pos, -1, rx572_fail
+    (rx585_rep, rx585_pos, $I10, $P10) = rx585_cur."!mark_fail"(0)
+    lt rx585_pos, -1, rx585_done
+    eq rx585_pos, -1, rx585_fail
     jump $I10
-  rx572_done:
-    rx572_cur."!cursor_fail"()
-    rx572_cur."!cursor_debug"("FAIL  ", "mod_ident:sym<sigspace>")
-    .return (rx572_cur)
+  rx585_done:
+    rx585_cur."!cursor_fail"()
+    rx585_cur."!cursor_debug"("FAIL  ", "mod_ident:sym<sigspace>")
+    .return (rx585_cur)
     .return ()
 .end
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__mod_ident:sym<sigspace>"  :subid("157_1259103974.80122") :method
+.sub "!PREFIX__mod_ident:sym<sigspace>"  :subid("157_1259177736.62303") :method
 .annotate "line", 3
-    new $P574, "ResizablePMCArray"
-    push $P574, "s"
-    .return ($P574)
+    new $P587, "ResizablePMCArray"
+    push $P587, "s"
+    .return ($P587)
 .end
 
 ### .include 'gen/p6regex-actions.pir'
 
 .namespace []
-.sub "_block11"  :anon :subid("10_1259103979.04974")
+.sub "_block11"  :anon :subid("10_1259177750.15652")
 .annotate "line", 0
     get_hll_global $P14, ["Regex";"P6Regex";"Actions"], "_block13" 
     capture_lex $P14
 .annotate "line", 4
     get_hll_global $P14, ["Regex";"P6Regex";"Actions"], "_block13" 
     capture_lex $P14
-    $P1566 = $P14()
+    $P1565 = $P14()
 .annotate "line", 1
-    .return ($P1566)
+    .return ($P1565)
 .end
 
 
 .namespace []
-.sub "" :load :init :subid("post89") :outer("10_1259103979.04974")
+.sub "" :load :init :subid("post89") :outer("10_1259177750.15652")
 .annotate "line", 0
-    .const 'Sub' $P12 = "10_1259103979.04974" 
+    .const 'Sub' $P12 = "10_1259177750.15652" 
     .local pmc block
     set block, $P12
-    $P1567 = get_root_global ["parrot"], "P6metaclass"
-    $P1567."new_class"("Regex::P6Regex::Actions", "HLL::Actions" :named("parent"))
+    $P1566 = get_root_global ["parrot"], "P6metaclass"
+    $P1566."new_class"("Regex::P6Regex::Actions", "HLL::Actions" :named("parent"))
 .end
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "_block13"  :subid("11_1259103979.04974") :outer("10_1259103979.04974")
+.sub "_block13"  :subid("11_1259177750.15652") :outer("10_1259177750.15652")
 .annotate "line", 4
-    .const 'Sub' $P1533 = "88_1259103979.04974" 
-    capture_lex $P1533
-    .const 'Sub' $P1464 = "84_1259103979.04974" 
-    capture_lex $P1464
-    .const 'Sub' $P1396 = "82_1259103979.04974" 
-    capture_lex $P1396
-    .const 'Sub' $P1323 = "79_1259103979.04974" 
-    capture_lex $P1323
-    .const 'Sub' $P1309 = "78_1259103979.04974" 
-    capture_lex $P1309
-    .const 'Sub' $P1285 = "77_1259103979.04974" 
-    capture_lex $P1285
-    .const 'Sub' $P1267 = "76_1259103979.04974" 
-    capture_lex $P1267
-    .const 'Sub' $P1253 = "75_1259103979.04974" 
-    capture_lex $P1253
-    .const 'Sub' $P1222 = "74_1259103979.04974" 
-    capture_lex $P1222
-    .const 'Sub' $P1191 = "73_1259103979.04974" 
-    capture_lex $P1191
-    .const 'Sub' $P1175 = "72_1259103979.04974" 
-    capture_lex $P1175
-    .const 'Sub' $P1159 = "71_1259103979.04974" 
-    capture_lex $P1159
-    .const 'Sub' $P1143 = "70_1259103979.04974" 
-    capture_lex $P1143
-    .const 'Sub' $P1127 = "69_1259103979.04974" 
-    capture_lex $P1127
-    .const 'Sub' $P1111 = "68_1259103979.04974" 
-    capture_lex $P1111
-    .const 'Sub' $P1095 = "67_1259103979.04974" 
-    capture_lex $P1095
-    .const 'Sub' $P1079 = "66_1259103979.04974" 
-    capture_lex $P1079
-    .const 'Sub' $P1055 = "65_1259103979.04974" 
-    capture_lex $P1055
-    .const 'Sub' $P1040 = "64_1259103979.04974" 
-    capture_lex $P1040
-    .const 'Sub' $P984 = "63_1259103979.04974" 
-    capture_lex $P984
-    .const 'Sub' $P963 = "62_1259103979.04974" 
-    capture_lex $P963
-    .const 'Sub' $P941 = "61_1259103979.04974" 
-    capture_lex $P941
-    .const 'Sub' $P931 = "60_1259103979.04974" 
-    capture_lex $P931
-    .const 'Sub' $P921 = "59_1259103979.04974" 
-    capture_lex $P921
-    .const 'Sub' $P911 = "58_1259103979.04974" 
-    capture_lex $P911
-    .const 'Sub' $P899 = "57_1259103979.04974" 
-    capture_lex $P899
-    .const 'Sub' $P887 = "56_1259103979.04974" 
-    capture_lex $P887
-    .const 'Sub' $P875 = "55_1259103979.04974" 
-    capture_lex $P875
-    .const 'Sub' $P863 = "54_1259103979.04974" 
-    capture_lex $P863
-    .const 'Sub' $P851 = "53_1259103979.04974" 
-    capture_lex $P851
-    .const 'Sub' $P839 = "52_1259103979.04974" 
-    capture_lex $P839
-    .const 'Sub' $P827 = "51_1259103979.04974" 
-    capture_lex $P827
-    .const 'Sub' $P815 = "50_1259103979.04974" 
-    capture_lex $P815
-    .const 'Sub' $P792 = "49_1259103979.04974" 
-    capture_lex $P792
-    .const 'Sub' $P769 = "48_1259103979.04974" 
-    capture_lex $P769
-    .const 'Sub' $P751 = "47_1259103979.04974" 
-    capture_lex $P751
-    .const 'Sub' $P741 = "46_1259103979.04974" 
-    capture_lex $P741
-    .const 'Sub' $P723 = "45_1259103979.04974" 
-    capture_lex $P723
-    .const 'Sub' $P676 = "44_1259103979.04974" 
-    capture_lex $P676
-    .const 'Sub' $P659 = "43_1259103979.04974" 
-    capture_lex $P659
-    .const 'Sub' $P644 = "42_1259103979.04974" 
-    capture_lex $P644
-    .const 'Sub' $P629 = "41_1259103979.04974" 
-    capture_lex $P629
-    .const 'Sub' $P603 = "40_1259103979.04974" 
-    capture_lex $P603
-    .const 'Sub' $P553 = "38_1259103979.04974" 
-    capture_lex $P553
-    .const 'Sub' $P485 = "36_1259103979.04974" 
-    capture_lex $P485
-    .const 'Sub' $P428 = "33_1259103979.04974" 
-    capture_lex $P428
-    .const 'Sub' $P413 = "32_1259103979.04974" 
-    capture_lex $P413
-    .const 'Sub' $P387 = "30_1259103979.04974" 
-    capture_lex $P387
-    .const 'Sub' $P370 = "29_1259103979.04974" 
-    capture_lex $P370
-    .const 'Sub' $P348 = "28_1259103979.04974" 
-    capture_lex $P348
-    .const 'Sub' $P316 = "27_1259103979.04974" 
-    capture_lex $P316
-    .const 'Sub' $P54 = "14_1259103979.04974" 
-    capture_lex $P54
-    .const 'Sub' $P21 = "13_1259103979.04974" 
+    .const 'Sub' $P1532 = "88_1259177750.15652" 
+    capture_lex $P1532
+    .const 'Sub' $P1463 = "84_1259177750.15652" 
+    capture_lex $P1463
+    .const 'Sub' $P1395 = "82_1259177750.15652" 
+    capture_lex $P1395
+    .const 'Sub' $P1322 = "79_1259177750.15652" 
+    capture_lex $P1322
+    .const 'Sub' $P1308 = "78_1259177750.15652" 
+    capture_lex $P1308
+    .const 'Sub' $P1284 = "77_1259177750.15652" 
+    capture_lex $P1284
+    .const 'Sub' $P1266 = "76_1259177750.15652" 
+    capture_lex $P1266
+    .const 'Sub' $P1252 = "75_1259177750.15652" 
+    capture_lex $P1252
+    .const 'Sub' $P1221 = "74_1259177750.15652" 
+    capture_lex $P1221
+    .const 'Sub' $P1190 = "73_1259177750.15652" 
+    capture_lex $P1190
+    .const 'Sub' $P1174 = "72_1259177750.15652" 
+    capture_lex $P1174
+    .const 'Sub' $P1158 = "71_1259177750.15652" 
+    capture_lex $P1158
+    .const 'Sub' $P1142 = "70_1259177750.15652" 
+    capture_lex $P1142
+    .const 'Sub' $P1126 = "69_1259177750.15652" 
+    capture_lex $P1126
+    .const 'Sub' $P1110 = "68_1259177750.15652" 
+    capture_lex $P1110
+    .const 'Sub' $P1094 = "67_1259177750.15652" 
+    capture_lex $P1094
+    .const 'Sub' $P1078 = "66_1259177750.15652" 
+    capture_lex $P1078
+    .const 'Sub' $P1054 = "65_1259177750.15652" 
+    capture_lex $P1054
+    .const 'Sub' $P1039 = "64_1259177750.15652" 
+    capture_lex $P1039
+    .const 'Sub' $P983 = "63_1259177750.15652" 
+    capture_lex $P983
+    .const 'Sub' $P962 = "62_1259177750.15652" 
+    capture_lex $P962
+    .const 'Sub' $P940 = "61_1259177750.15652" 
+    capture_lex $P940
+    .const 'Sub' $P930 = "60_1259177750.15652" 
+    capture_lex $P930
+    .const 'Sub' $P920 = "59_1259177750.15652" 
+    capture_lex $P920
+    .const 'Sub' $P910 = "58_1259177750.15652" 
+    capture_lex $P910
+    .const 'Sub' $P898 = "57_1259177750.15652" 
+    capture_lex $P898
+    .const 'Sub' $P886 = "56_1259177750.15652" 
+    capture_lex $P886
+    .const 'Sub' $P874 = "55_1259177750.15652" 
+    capture_lex $P874
+    .const 'Sub' $P862 = "54_1259177750.15652" 
+    capture_lex $P862
+    .const 'Sub' $P850 = "53_1259177750.15652" 
+    capture_lex $P850
+    .const 'Sub' $P838 = "52_1259177750.15652" 
+    capture_lex $P838
+    .const 'Sub' $P826 = "51_1259177750.15652" 
+    capture_lex $P826
+    .const 'Sub' $P814 = "50_1259177750.15652" 
+    capture_lex $P814
+    .const 'Sub' $P791 = "49_1259177750.15652" 
+    capture_lex $P791
+    .const 'Sub' $P768 = "48_1259177750.15652" 
+    capture_lex $P768
+    .const 'Sub' $P750 = "47_1259177750.15652" 
+    capture_lex $P750
+    .const 'Sub' $P740 = "46_1259177750.15652" 
+    capture_lex $P740
+    .const 'Sub' $P722 = "45_1259177750.15652" 
+    capture_lex $P722
+    .const 'Sub' $P675 = "44_1259177750.15652" 
+    capture_lex $P675
+    .const 'Sub' $P658 = "43_1259177750.15652" 
+    capture_lex $P658
+    .const 'Sub' $P643 = "42_1259177750.15652" 
+    capture_lex $P643
+    .const 'Sub' $P628 = "41_1259177750.15652" 
+    capture_lex $P628
+    .const 'Sub' $P602 = "40_1259177750.15652" 
+    capture_lex $P602
+    .const 'Sub' $P552 = "38_1259177750.15652" 
+    capture_lex $P552
+    .const 'Sub' $P484 = "36_1259177750.15652" 
+    capture_lex $P484
+    .const 'Sub' $P427 = "33_1259177750.15652" 
+    capture_lex $P427
+    .const 'Sub' $P412 = "32_1259177750.15652" 
+    capture_lex $P412
+    .const 'Sub' $P386 = "30_1259177750.15652" 
+    capture_lex $P386
+    .const 'Sub' $P369 = "29_1259177750.15652" 
+    capture_lex $P369
+    .const 'Sub' $P347 = "28_1259177750.15652" 
+    capture_lex $P347
+    .const 'Sub' $P315 = "27_1259177750.15652" 
+    capture_lex $P315
+    .const 'Sub' $P53 = "14_1259177750.15652" 
+    capture_lex $P53
+    .const 'Sub' $P21 = "13_1259177750.15652" 
     capture_lex $P21
-    .const 'Sub' $P16 = "12_1259103979.04974" 
+    .const 'Sub' $P16 = "12_1259177750.15652" 
     capture_lex $P16
     get_global $P15, "@MODIFIERS"
     unless_null $P15, vivify_90
@@ -7294,40 +7307,40 @@
     set_global "@MODIFIERS", $P15
   vivify_90:
 .annotate "line", 6
-    .const 'Sub' $P16 = "12_1259103979.04974" 
+    .const 'Sub' $P16 = "12_1259177750.15652" 
     capture_lex $P16
     .lex "INIT", $P16
 .annotate "line", 475
-    .const 'Sub' $P21 = "13_1259103979.04974" 
+    .const 'Sub' $P21 = "13_1259177750.15652" 
     capture_lex $P21
     .lex "buildsub", $P21
-.annotate "line", 492
-    .const 'Sub' $P54 = "14_1259103979.04974" 
-    capture_lex $P54
-    .lex "capnames", $P54
-.annotate "line", 558
-    .const 'Sub' $P316 = "27_1259103979.04974" 
-    capture_lex $P316
-    .lex "backmod", $P316
-.annotate "line", 565
-    .const 'Sub' $P348 = "28_1259103979.04974" 
-    capture_lex $P348
-    .lex "subrule_alias", $P348
+.annotate "line", 494
+    .const 'Sub' $P53 = "14_1259177750.15652" 
+    capture_lex $P53
+    .lex "capnames", $P53
+.annotate "line", 560
+    .const 'Sub' $P315 = "27_1259177750.15652" 
+    capture_lex $P315
+    .lex "backmod", $P315
+.annotate "line", 567
+    .const 'Sub' $P347 = "28_1259177750.15652" 
+    capture_lex $P347
+    .lex "subrule_alias", $P347
 .annotate "line", 4
-    get_global $P368, "@MODIFIERS"
-    find_lex $P369, "INIT"
+    get_global $P367, "@MODIFIERS"
+    find_lex $P368, "INIT"
 .annotate "line", 468
-    find_lex $P1562, "buildsub"
-    find_lex $P1563, "capnames"
-    find_lex $P1564, "backmod"
-    find_lex $P1565, "subrule_alias"
+    find_lex $P1561, "buildsub"
+    find_lex $P1562, "capnames"
+    find_lex $P1563, "backmod"
+    find_lex $P1564, "subrule_alias"
 .annotate "line", 4
-    .return ($P1565)
+    .return ($P1564)
 .end
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "INIT"  :subid("12_1259103979.04974") :outer("11_1259103979.04974")
+.sub "INIT"  :subid("12_1259177750.15652") :outer("11_1259177750.15652")
 .annotate "line", 6
     new $P18, 'ExceptionHandler'
     set_addr $P18, control_17
@@ -7351,7 +7364,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "buildsub"  :subid("13_1259103979.04974") :outer("11_1259103979.04974")
+.sub "buildsub"  :subid("13_1259177750.15652") :outer("11_1259177750.15652")
     .param pmc param_24
     .param pmc param_25 :optional
     .param int has_param_25 :opt_flag
@@ -7399,3864 +7412,3863 @@
     find_lex $P42, "$block"
     $P43 = $P42."symbol"(unicode:"$\x{a2}")
     if $P43, unless_41_end
+.annotate "line", 486
     find_lex $P44, "$block"
-    $P44."symbol"(unicode:"$\x{a2}", "lexical" :named("scope"))
+    get_hll_global $P45, ["PAST"], "Var"
+    $P46 = $P45."new"(unicode:"$\x{a2}" :named("name"), "lexical" :named("scope"), 1 :named("isdecl"))
+    $P44."push"($P46)
+.annotate "line", 487
+    find_lex $P47, "$block"
+    $P47."symbol"(unicode:"$\x{a2}", "lexical" :named("scope"))
   unless_41_end:
-.annotate "line", 486
-    find_lex $P46, "$block"
-    $P47 = $P46."symbol"("$/")
-    if $P47, unless_45_end
+.annotate "line", 489
     find_lex $P48, "$block"
-    $P48."symbol"("$/", "lexical" :named("scope"))
-  unless_45_end:
-.annotate "line", 487
-    find_lex $P49, "$block"
-    find_lex $P50, "$rpast"
-    $P49."push"($P50)
-.annotate "line", 488
+    find_lex $P49, "$rpast"
+    $P48."push"($P49)
+.annotate "line", 490
+    find_lex $P50, "$block"
+    $P50."blocktype"("method")
     find_lex $P51, "$block"
-    $P51."blocktype"("method")
-    find_lex $P52, "$block"
 .annotate "line", 475
-    .return ($P52)
+    .return ($P51)
   control_22:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P53, exception, "payload"
-    .return ($P53)
+    getattribute $P52, exception, "payload"
+    .return ($P52)
 .end
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "capnames"  :subid("14_1259103979.04974") :outer("11_1259103979.04974")
+.sub "capnames"  :subid("14_1259177750.15652") :outer("11_1259177750.15652")
+    .param pmc param_56
     .param pmc param_57
-    .param pmc param_58
-.annotate "line", 492
-    .const 'Sub' $P291 = "25_1259103979.04974" 
-    capture_lex $P291
-    .const 'Sub' $P226 = "22_1259103979.04974" 
-    capture_lex $P226
-    .const 'Sub' $P182 = "20_1259103979.04974" 
-    capture_lex $P182
-    .const 'Sub' $P140 = "18_1259103979.04974" 
-    capture_lex $P140
-    .const 'Sub' $P69 = "15_1259103979.04974" 
-    capture_lex $P69
-    new $P56, 'ExceptionHandler'
-    set_addr $P56, control_55
-    $P56."handle_types"(58)
-    push_eh $P56
-    .lex "$ast", param_57
-    .lex "$count", param_58
-.annotate "line", 493
-    new $P59, "Hash"
-    .lex "%capnames", $P59
-.annotate "line", 494
-    new $P60, "Undef"
-    .lex "$pasttype", $P60
-.annotate "line", 492
-    find_lex $P61, "%capnames"
 .annotate "line", 494
-    find_lex $P62, "$ast"
-    $P63 = $P62."pasttype"()
-    store_lex "$pasttype", $P63
+    .const 'Sub' $P290 = "25_1259177750.15652" 
+    capture_lex $P290
+    .const 'Sub' $P225 = "22_1259177750.15652" 
+    capture_lex $P225
+    .const 'Sub' $P181 = "20_1259177750.15652" 
+    capture_lex $P181
+    .const 'Sub' $P139 = "18_1259177750.15652" 
+    capture_lex $P139
+    .const 'Sub' $P68 = "15_1259177750.15652" 
+    capture_lex $P68
+    new $P55, 'ExceptionHandler'
+    set_addr $P55, control_54
+    $P55."handle_types"(58)
+    push_eh $P55
+    .lex "$ast", param_56
+    .lex "$count", param_57
 .annotate "line", 495
-    find_lex $P65, "$pasttype"
-    set $S66, $P65
-    iseq $I67, $S66, "alt"
-    if $I67, if_64
-.annotate "line", 508
-    find_lex $P131, "$pasttype"
-    set $S132, $P131
-    iseq $I133, $S132, "concat"
-    if $I133, if_130
-.annotate "line", 517
-    find_lex $P175, "$pasttype"
-    set $S176, $P175
-    iseq $I177, $S176, "subrule"
-    if $I177, if_174
-    new $P173, 'Integer'
-    set $P173, $I177
-    goto if_174_end
-  if_174:
-    find_lex $P178, "$ast"
-    $S179 = $P178."subtype"()
-    iseq $I180, $S179, "capture"
-    new $P173, 'Integer'
-    set $P173, $I180
-  if_174_end:
-    if $P173, if_172
-.annotate "line", 530
-    find_lex $P222, "$pasttype"
-    set $S223, $P222
-    iseq $I224, $S223, "subcapture"
-    if $I224, if_221
-.annotate "line", 547
-    find_lex $P287, "$pasttype"
-    set $S288, $P287
-    iseq $I289, $S288, "quant"
-    unless $I289, if_286_end
-    .const 'Sub' $P291 = "25_1259103979.04974" 
-    capture_lex $P291
-    $P291()
-  if_286_end:
-    goto if_221_end
-  if_221:
-.annotate "line", 530
-    .const 'Sub' $P226 = "22_1259103979.04974" 
-    capture_lex $P226
-    $P226()
-  if_221_end:
-    goto if_172_end
-  if_172:
-.annotate "line", 517
-    .const 'Sub' $P182 = "20_1259103979.04974" 
-    capture_lex $P182
-    $P182()
-  if_172_end:
-    goto if_130_end
-  if_130:
-.annotate "line", 509
-    find_lex $P135, "$ast"
-    $P136 = $P135."list"()
-    defined $I137, $P136
-    unless $I137, for_undef_113
-    iter $P134, $P136
-    new $P170, 'ExceptionHandler'
-    set_addr $P170, loop169_handler
-    $P170."handle_types"(65, 67, 66)
-    push_eh $P170
-  loop169_test:
-    unless $P134, loop169_done
-    shift $P138, $P134
-  loop169_redo:
-    .const 'Sub' $P140 = "18_1259103979.04974" 
-    capture_lex $P140
-    $P140($P138)
-  loop169_next:
-    goto loop169_test
-  loop169_handler:
-    .local pmc exception 
-    .get_results (exception) 
-    getattribute $P171, exception, 'type'
-    eq $P171, 65, loop169_next
-    eq $P171, 67, loop169_redo
-  loop169_done:
+    new $P58, "Hash"
+    .lex "%capnames", $P58
+.annotate "line", 496
+    new $P59, "Undef"
+    .lex "$pasttype", $P59
+.annotate "line", 494
+    find_lex $P60, "%capnames"
+.annotate "line", 496
+    find_lex $P61, "$ast"
+    $P62 = $P61."pasttype"()
+    store_lex "$pasttype", $P62
+.annotate "line", 497
+    find_lex $P64, "$pasttype"
+    set $S65, $P64
+    iseq $I66, $S65, "alt"
+    if $I66, if_63
+.annotate "line", 510
+    find_lex $P130, "$pasttype"
+    set $S131, $P130
+    iseq $I132, $S131, "concat"
+    if $I132, if_129
+.annotate "line", 519
+    find_lex $P174, "$pasttype"
+    set $S175, $P174
+    iseq $I176, $S175, "subrule"
+    if $I176, if_173
+    new $P172, 'Integer'
+    set $P172, $I176
+    goto if_173_end
+  if_173:
+    find_lex $P177, "$ast"
+    $S178 = $P177."subtype"()
+    iseq $I179, $S178, "capture"
+    new $P172, 'Integer'
+    set $P172, $I179
+  if_173_end:
+    if $P172, if_171
+.annotate "line", 532
+    find_lex $P221, "$pasttype"
+    set $S222, $P221
+    iseq $I223, $S222, "subcapture"
+    if $I223, if_220
+.annotate "line", 549
+    find_lex $P286, "$pasttype"
+    set $S287, $P286
+    iseq $I288, $S287, "quant"
+    unless $I288, if_285_end
+    .const 'Sub' $P290 = "25_1259177750.15652" 
+    capture_lex $P290
+    $P290()
+  if_285_end:
+    goto if_220_end
+  if_220:
+.annotate "line", 532
+    .const 'Sub' $P225 = "22_1259177750.15652" 
+    capture_lex $P225
+    $P225()
+  if_220_end:
+    goto if_171_end
+  if_171:
+.annotate "line", 519
+    .const 'Sub' $P181 = "20_1259177750.15652" 
+    capture_lex $P181
+    $P181()
+  if_171_end:
+    goto if_129_end
+  if_129:
+.annotate "line", 511
+    find_lex $P134, "$ast"
+    $P135 = $P134."list"()
+    defined $I136, $P135
+    unless $I136, for_undef_113
+    iter $P133, $P135
+    new $P169, 'ExceptionHandler'
+    set_addr $P169, loop168_handler
+    $P169."handle_types"(65, 67, 66)
+    push_eh $P169
+  loop168_test:
+    unless $P133, loop168_done
+    shift $P137, $P133
+  loop168_redo:
+    .const 'Sub' $P139 = "18_1259177750.15652" 
+    capture_lex $P139
+    $P139($P137)
+  loop168_next:
+    goto loop168_test
+  loop168_handler:
+    .local pmc exception 
+    .get_results (exception) 
+    getattribute $P170, exception, 'type'
+    eq $P170, 65, loop168_next
+    eq $P170, 67, loop168_redo
+  loop168_done:
     pop_eh 
   for_undef_113:
-  if_130_end:
-.annotate "line", 508
-    goto if_64_end
-  if_64:
-.annotate "line", 495
-    .const 'Sub' $P69 = "15_1259103979.04974" 
-    capture_lex $P69
-    $P69()
-  if_64_end:
-.annotate "line", 554
-    find_lex $P312, "$count"
-    find_lex $P313, "%capnames"
-    unless_null $P313, vivify_133
-    new $P313, "Hash"
-    store_lex "%capnames", $P313
+  if_129_end:
+.annotate "line", 510
+    goto if_63_end
+  if_63:
+.annotate "line", 497
+    .const 'Sub' $P68 = "15_1259177750.15652" 
+    capture_lex $P68
+    $P68()
+  if_63_end:
+.annotate "line", 556
+    find_lex $P311, "$count"
+    find_lex $P312, "%capnames"
+    unless_null $P312, vivify_133
+    new $P312, "Hash"
+    store_lex "%capnames", $P312
   vivify_133:
-    set $P313[""], $P312
-    find_lex $P314, "%capnames"
-.annotate "line", 492
-    .return ($P314)
-  control_55:
+    set $P312[""], $P311
+    find_lex $P313, "%capnames"
+.annotate "line", 494
+    .return ($P313)
+  control_54:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P315, exception, "payload"
-    .return ($P315)
+    getattribute $P314, exception, "payload"
+    .return ($P314)
 .end
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "_block290"  :anon :subid("25_1259103979.04974") :outer("14_1259103979.04974")
-.annotate "line", 547
-    .const 'Sub' $P302 = "26_1259103979.04974" 
-    capture_lex $P302
-.annotate "line", 548
-    new $P292, "Hash"
-    .lex "%astcap", $P292
-    find_lex $P293, "$ast"
-    unless_null $P293, vivify_93
-    new $P293, "ResizablePMCArray"
+.sub "_block289"  :anon :subid("25_1259177750.15652") :outer("14_1259177750.15652")
+.annotate "line", 549
+    .const 'Sub' $P301 = "26_1259177750.15652" 
+    capture_lex $P301
+.annotate "line", 550
+    new $P291, "Hash"
+    .lex "%astcap", $P291
+    find_lex $P292, "$ast"
+    unless_null $P292, vivify_93
+    new $P292, "ResizablePMCArray"
   vivify_93:
-    set $P294, $P293[0]
-    unless_null $P294, vivify_94
-    new $P294, "Undef"
+    set $P293, $P292[0]
+    unless_null $P293, vivify_94
+    new $P293, "Undef"
   vivify_94:
-    find_lex $P295, "$count"
-    $P296 = "capnames"($P294, $P295)
-    store_lex "%astcap", $P296
-.annotate "line", 549
-    find_lex $P298, "%astcap"
-    defined $I299, $P298
-    unless $I299, for_undef_95
-    iter $P297, $P298
-    new $P308, 'ExceptionHandler'
-    set_addr $P308, loop307_handler
-    $P308."handle_types"(65, 67, 66)
-    push_eh $P308
-  loop307_test:
-    unless $P297, loop307_done
-    shift $P300, $P297
-  loop307_redo:
-    .const 'Sub' $P302 = "26_1259103979.04974" 
-    capture_lex $P302
-    $P302($P300)
-  loop307_next:
-    goto loop307_test
-  loop307_handler:
-    .local pmc exception 
-    .get_results (exception) 
-    getattribute $P309, exception, 'type'
-    eq $P309, 65, loop307_next
-    eq $P309, 67, loop307_redo
-  loop307_done:
+    find_lex $P294, "$count"
+    $P295 = "capnames"($P293, $P294)
+    store_lex "%astcap", $P295
+.annotate "line", 551
+    find_lex $P297, "%astcap"
+    defined $I298, $P297
+    unless $I298, for_undef_95
+    iter $P296, $P297
+    new $P307, 'ExceptionHandler'
+    set_addr $P307, loop306_handler
+    $P307."handle_types"(65, 67, 66)
+    push_eh $P307
+  loop306_test:
+    unless $P296, loop306_done
+    shift $P299, $P296
+  loop306_redo:
+    .const 'Sub' $P301 = "26_1259177750.15652" 
+    capture_lex $P301
+    $P301($P299)
+  loop306_next:
+    goto loop306_test
+  loop306_handler:
+    .local pmc exception 
+    .get_results (exception) 
+    getattribute $P308, exception, 'type'
+    eq $P308, 65, loop306_next
+    eq $P308, 67, loop306_redo
+  loop306_done:
     pop_eh 
   for_undef_95:
-.annotate "line", 552
-    find_lex $P310, "%astcap"
-    unless_null $P310, vivify_97
-    new $P310, "Hash"
+.annotate "line", 554
+    find_lex $P309, "%astcap"
+    unless_null $P309, vivify_97
+    new $P309, "Hash"
   vivify_97:
-    set $P311, $P310[""]
-    unless_null $P311, vivify_98
-    new $P311, "Undef"
+    set $P310, $P309[""]
+    unless_null $P310, vivify_98
+    new $P310, "Undef"
   vivify_98:
-    store_lex "$count", $P311
-.annotate "line", 547
-    .return ($P311)
+    store_lex "$count", $P310
+.annotate "line", 549
+    .return ($P310)
 .end
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "_block301"  :anon :subid("26_1259103979.04974") :outer("25_1259103979.04974")
-    .param pmc param_303
-.annotate "line", 549
-    .lex "$_", param_303
-.annotate "line", 550
-    new $P304, "Integer"
-    assign $P304, 2
-    find_lex $P305, "$_"
-    find_lex $P306, "%capnames"
-    unless_null $P306, vivify_96
-    new $P306, "Hash"
-    store_lex "%capnames", $P306
+.sub "_block300"  :anon :subid("26_1259177750.15652") :outer("25_1259177750.15652")
+    .param pmc param_302
+.annotate "line", 551
+    .lex "$_", param_302
+.annotate "line", 552
+    new $P303, "Integer"
+    assign $P303, 2
+    find_lex $P304, "$_"
+    find_lex $P305, "%capnames"
+    unless_null $P305, vivify_96
+    new $P305, "Hash"
+    store_lex "%capnames", $P305
   vivify_96:
-    set $P306[$P305], $P304
-.annotate "line", 549
-    .return ($P304)
+    set $P305[$P304], $P303
+.annotate "line", 551
+    .return ($P303)
 .end
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "_block225"  :anon :subid("22_1259103979.04974") :outer("14_1259103979.04974")
-.annotate "line", 530
-    .const 'Sub' $P268 = "24_1259103979.04974" 
-    capture_lex $P268
-    .const 'Sub' $P238 = "23_1259103979.04974" 
-    capture_lex $P238
-.annotate "line", 531
-    new $P227, "Undef"
-    .lex "$name", $P227
-.annotate "line", 532
-    new $P228, "ResizablePMCArray"
-    .lex "@names", $P228
-.annotate "line", 541
-    new $P229, "Hash"
-    .lex "%x", $P229
-.annotate "line", 531
-    find_lex $P230, "$ast"
-    $P231 = $P230."name"()
-    store_lex "$name", $P231
+.sub "_block224"  :anon :subid("22_1259177750.15652") :outer("14_1259177750.15652")
 .annotate "line", 532
+    .const 'Sub' $P267 = "24_1259177750.15652" 
+    capture_lex $P267
+    .const 'Sub' $P237 = "23_1259177750.15652" 
+    capture_lex $P237
+.annotate "line", 533
+    new $P226, "Undef"
+    .lex "$name", $P226
+.annotate "line", 534
+    new $P227, "ResizablePMCArray"
+    .lex "@names", $P227
+.annotate "line", 543
+    new $P228, "Hash"
+    .lex "%x", $P228
+.annotate "line", 533
+    find_lex $P229, "$ast"
+    $P230 = $P229."name"()
+    store_lex "$name", $P230
+.annotate "line", 534
 
             $P0 = find_lex '$name'
             $S0 = $P0
-            $P232 = split '=', $S0
+            $P231 = split '=', $S0
         
-    store_lex "@names", $P232
-.annotate "line", 537
-    find_lex $P234, "@names"
-    defined $I235, $P234
-    unless $I235, for_undef_99
-    iter $P233, $P234
-    new $P257, 'ExceptionHandler'
-    set_addr $P257, loop256_handler
-    $P257."handle_types"(65, 67, 66)
-    push_eh $P257
-  loop256_test:
-    unless $P233, loop256_done
-    shift $P236, $P233
-  loop256_redo:
-    .const 'Sub' $P238 = "23_1259103979.04974" 
-    capture_lex $P238
-    $P238($P236)
-  loop256_next:
-    goto loop256_test
-  loop256_handler:
-    .local pmc exception 
-    .get_results (exception) 
-    getattribute $P258, exception, 'type'
-    eq $P258, 65, loop256_next
-    eq $P258, 67, loop256_redo
-  loop256_done:
+    store_lex "@names", $P231
+.annotate "line", 539
+    find_lex $P233, "@names"
+    defined $I234, $P233
+    unless $I234, for_undef_99
+    iter $P232, $P233
+    new $P256, 'ExceptionHandler'
+    set_addr $P256, loop255_handler
+    $P256."handle_types"(65, 67, 66)
+    push_eh $P256
+  loop255_test:
+    unless $P232, loop255_done
+    shift $P235, $P232
+  loop255_redo:
+    .const 'Sub' $P237 = "23_1259177750.15652" 
+    capture_lex $P237
+    $P237($P235)
+  loop255_next:
+    goto loop255_test
+  loop255_handler:
+    .local pmc exception 
+    .get_results (exception) 
+    getattribute $P257, exception, 'type'
+    eq $P257, 65, loop255_next
+    eq $P257, 67, loop255_redo
+  loop255_done:
     pop_eh 
   for_undef_99:
-.annotate "line", 541
-    find_lex $P259, "$ast"
-    unless_null $P259, vivify_101
-    new $P259, "ResizablePMCArray"
+.annotate "line", 543
+    find_lex $P258, "$ast"
+    unless_null $P258, vivify_101
+    new $P258, "ResizablePMCArray"
   vivify_101:
-    set $P260, $P259[0]
-    unless_null $P260, vivify_102
-    new $P260, "Undef"
+    set $P259, $P258[0]
+    unless_null $P259, vivify_102
+    new $P259, "Undef"
   vivify_102:
-    find_lex $P261, "$count"
-    $P262 = "capnames"($P260, $P261)
-    store_lex "%x", $P262
-.annotate "line", 542
-    find_lex $P264, "%x"
-    defined $I265, $P264
-    unless $I265, for_undef_103
-    iter $P263, $P264
-    new $P282, 'ExceptionHandler'
-    set_addr $P282, loop281_handler
-    $P282."handle_types"(65, 67, 66)
-    push_eh $P282
-  loop281_test:
-    unless $P263, loop281_done
-    shift $P266, $P263
-  loop281_redo:
-    .const 'Sub' $P268 = "24_1259103979.04974" 
-    capture_lex $P268
-    $P268($P266)
-  loop281_next:
-    goto loop281_test
-  loop281_handler:
-    .local pmc exception 
-    .get_results (exception) 
-    getattribute $P283, exception, 'type'
-    eq $P283, 65, loop281_next
-    eq $P283, 67, loop281_redo
-  loop281_done:
+    find_lex $P260, "$count"
+    $P261 = "capnames"($P259, $P260)
+    store_lex "%x", $P261
+.annotate "line", 544
+    find_lex $P263, "%x"
+    defined $I264, $P263
+    unless $I264, for_undef_103
+    iter $P262, $P263
+    new $P281, 'ExceptionHandler'
+    set_addr $P281, loop280_handler
+    $P281."handle_types"(65, 67, 66)
+    push_eh $P281
+  loop280_test:
+    unless $P262, loop280_done
+    shift $P265, $P262
+  loop280_redo:
+    .const 'Sub' $P267 = "24_1259177750.15652" 
+    capture_lex $P267
+    $P267($P265)
+  loop280_next:
+    goto loop280_test
+  loop280_handler:
+    .local pmc exception 
+    .get_results (exception) 
+    getattribute $P282, exception, 'type'
+    eq $P282, 65, loop280_next
+    eq $P282, 67, loop280_redo
+  loop280_done:
     pop_eh 
   for_undef_103:
-.annotate "line", 545
-    find_lex $P284, "%x"
-    unless_null $P284, vivify_109
-    new $P284, "Hash"
+.annotate "line", 547
+    find_lex $P283, "%x"
+    unless_null $P283, vivify_109
+    new $P283, "Hash"
   vivify_109:
-    set $P285, $P284[""]
-    unless_null $P285, vivify_110
-    new $P285, "Undef"
+    set $P284, $P283[""]
+    unless_null $P284, vivify_110
+    new $P284, "Undef"
   vivify_110:
-    store_lex "$count", $P285
-.annotate "line", 530
-    .return ($P285)
+    store_lex "$count", $P284
+.annotate "line", 532
+    .return ($P284)
 .end
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "_block237"  :anon :subid("23_1259103979.04974") :outer("22_1259103979.04974")
-    .param pmc param_239
-.annotate "line", 537
-    .lex "$_", param_239
-.annotate "line", 538
-    find_lex $P243, "$_"
-    set $S244, $P243
-    iseq $I245, $S244, "0"
-    unless $I245, unless_242
-    new $P241, 'Integer'
-    set $P241, $I245
-    goto unless_242_end
-  unless_242:
-    find_lex $P246, "$_"
-    set $N247, $P246
-    new $P248, "Integer"
-    assign $P248, 0
-    set $N249, $P248
-    isgt $I250, $N247, $N249
-    new $P241, 'Integer'
-    set $P241, $I250
-  unless_242_end:
-    unless $P241, if_240_end
-    find_lex $P251, "$_"
-    add $P252, $P251, 1
-    store_lex "$count", $P252
-  if_240_end:
+.sub "_block236"  :anon :subid("23_1259177750.15652") :outer("22_1259177750.15652")
+    .param pmc param_238
 .annotate "line", 539
-    new $P253, "Integer"
-    assign $P253, 1
-    find_lex $P254, "$_"
-    find_lex $P255, "%capnames"
-    unless_null $P255, vivify_100
-    new $P255, "Hash"
-    store_lex "%capnames", $P255
+    .lex "$_", param_238
+.annotate "line", 540
+    find_lex $P242, "$_"
+    set $S243, $P242
+    iseq $I244, $S243, "0"
+    unless $I244, unless_241
+    new $P240, 'Integer'
+    set $P240, $I244
+    goto unless_241_end
+  unless_241:
+    find_lex $P245, "$_"
+    set $N246, $P245
+    new $P247, "Integer"
+    assign $P247, 0
+    set $N248, $P247
+    isgt $I249, $N246, $N248
+    new $P240, 'Integer'
+    set $P240, $I249
+  unless_241_end:
+    unless $P240, if_239_end
+    find_lex $P250, "$_"
+    add $P251, $P250, 1
+    store_lex "$count", $P251
+  if_239_end:
+.annotate "line", 541
+    new $P252, "Integer"
+    assign $P252, 1
+    find_lex $P253, "$_"
+    find_lex $P254, "%capnames"
+    unless_null $P254, vivify_100
+    new $P254, "Hash"
+    store_lex "%capnames", $P254
   vivify_100:
-    set $P255[$P254], $P253
-.annotate "line", 537
-    .return ($P253)
+    set $P254[$P253], $P252
+.annotate "line", 539
+    .return ($P252)
 .end
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "_block267"  :anon :subid("24_1259103979.04974") :outer("22_1259103979.04974")
-    .param pmc param_269
-.annotate "line", 542
-    .lex "$_", param_269
-.annotate "line", 543
-    find_lex $P270, "$_"
-    find_lex $P271, "%capnames"
-    unless_null $P271, vivify_104
-    new $P271, "Hash"
+.sub "_block266"  :anon :subid("24_1259177750.15652") :outer("22_1259177750.15652")
+    .param pmc param_268
+.annotate "line", 544
+    .lex "$_", param_268
+.annotate "line", 545
+    find_lex $P269, "$_"
+    find_lex $P270, "%capnames"
+    unless_null $P270, vivify_104
+    new $P270, "Hash"
   vivify_104:
-    set $P272, $P271[$P270]
-    unless_null $P272, vivify_105
-    new $P272, "Undef"
+    set $P271, $P270[$P269]
+    unless_null $P271, vivify_105
+    new $P271, "Undef"
   vivify_105:
-    set $N273, $P272
-    new $P274, 'Float'
-    set $P274, $N273
-    find_lex $P275, "$_"
-    find_lex $P276, "%x"
-    unless_null $P276, vivify_106
-    new $P276, "Hash"
+    set $N272, $P271
+    new $P273, 'Float'
+    set $P273, $N272
+    find_lex $P274, "$_"
+    find_lex $P275, "%x"
+    unless_null $P275, vivify_106
+    new $P275, "Hash"
   vivify_106:
-    set $P277, $P276[$P275]
-    unless_null $P277, vivify_107
-    new $P277, "Undef"
+    set $P276, $P275[$P274]
+    unless_null $P276, vivify_107
+    new $P276, "Undef"
   vivify_107:
-    add $P278, $P274, $P277
-    find_lex $P279, "$_"
-    find_lex $P280, "%capnames"
-    unless_null $P280, vivify_108
-    new $P280, "Hash"
-    store_lex "%capnames", $P280
+    add $P277, $P273, $P276
+    find_lex $P278, "$_"
+    find_lex $P279, "%capnames"
+    unless_null $P279, vivify_108
+    new $P279, "Hash"
+    store_lex "%capnames", $P279
   vivify_108:
-    set $P280[$P279], $P278
-.annotate "line", 542
-    .return ($P278)
+    set $P279[$P278], $P277
+.annotate "line", 544
+    .return ($P277)
 .end
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "_block181"  :anon :subid("20_1259103979.04974") :outer("14_1259103979.04974")
-.annotate "line", 517
-    .const 'Sub' $P200 = "21_1259103979.04974" 
-    capture_lex $P200
-.annotate "line", 518
-    new $P183, "Undef"
-    .lex "$name", $P183
-.annotate "line", 520
-    new $P184, "ResizablePMCArray"
-    .lex "@names", $P184
-.annotate "line", 518
-    find_lex $P185, "$ast"
-    $P186 = $P185."name"()
-    store_lex "$name", $P186
+.sub "_block180"  :anon :subid("20_1259177750.15652") :outer("14_1259177750.15652")
 .annotate "line", 519
-    find_lex $P188, "$name"
-    set $S189, $P188
-    iseq $I190, $S189, ""
-    unless $I190, if_187_end
-    find_lex $P191, "$count"
-    store_lex "$name", $P191
-    find_lex $P192, "$ast"
-    find_lex $P193, "$name"
-    $P192."name"($P193)
-  if_187_end:
+    .const 'Sub' $P199 = "21_1259177750.15652" 
+    capture_lex $P199
 .annotate "line", 520
+    new $P182, "Undef"
+    .lex "$name", $P182
+.annotate "line", 522
+    new $P183, "ResizablePMCArray"
+    .lex "@names", $P183
+.annotate "line", 520
+    find_lex $P184, "$ast"
+    $P185 = $P184."name"()
+    store_lex "$name", $P185
+.annotate "line", 521
+    find_lex $P187, "$name"
+    set $S188, $P187
+    iseq $I189, $S188, ""
+    unless $I189, if_186_end
+    find_lex $P190, "$count"
+    store_lex "$name", $P190
+    find_lex $P191, "$ast"
+    find_lex $P192, "$name"
+    $P191."name"($P192)
+  if_186_end:
+.annotate "line", 522
 
             $P0 = find_lex '$name'
             $S0 = $P0
-            $P194 = split '=', $S0
+            $P193 = split '=', $S0
         
-    store_lex "@names", $P194
-.annotate "line", 525
-    find_lex $P196, "@names"
-    defined $I197, $P196
-    unless $I197, for_undef_111
-    iter $P195, $P196
-    new $P219, 'ExceptionHandler'
-    set_addr $P219, loop218_handler
-    $P219."handle_types"(65, 67, 66)
-    push_eh $P219
-  loop218_test:
-    unless $P195, loop218_done
-    shift $P198, $P195
-  loop218_redo:
-    .const 'Sub' $P200 = "21_1259103979.04974" 
-    capture_lex $P200
-    $P200($P198)
-  loop218_next:
-    goto loop218_test
-  loop218_handler:
-    .local pmc exception 
-    .get_results (exception) 
-    getattribute $P220, exception, 'type'
-    eq $P220, 65, loop218_next
-    eq $P220, 67, loop218_redo
-  loop218_done:
+    store_lex "@names", $P193
+.annotate "line", 527
+    find_lex $P195, "@names"
+    defined $I196, $P195
+    unless $I196, for_undef_111
+    iter $P194, $P195
+    new $P218, 'ExceptionHandler'
+    set_addr $P218, loop217_handler
+    $P218."handle_types"(65, 67, 66)
+    push_eh $P218
+  loop217_test:
+    unless $P194, loop217_done
+    shift $P197, $P194
+  loop217_redo:
+    .const 'Sub' $P199 = "21_1259177750.15652" 
+    capture_lex $P199
+    $P199($P197)
+  loop217_next:
+    goto loop217_test
+  loop217_handler:
+    .local pmc exception 
+    .get_results (exception) 
+    getattribute $P219, exception, 'type'
+    eq $P219, 65, loop217_next
+    eq $P219, 67, loop217_redo
+  loop217_done:
     pop_eh 
   for_undef_111:
-.annotate "line", 517
-    .return ($P195)
+.annotate "line", 519
+    .return ($P194)
 .end
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "_block199"  :anon :subid("21_1259103979.04974") :outer("20_1259103979.04974")
-    .param pmc param_201
-.annotate "line", 525
-    .lex "$_", param_201
-.annotate "line", 526
-    find_lex $P205, "$_"
-    set $S206, $P205
-    iseq $I207, $S206, "0"
-    unless $I207, unless_204
-    new $P203, 'Integer'
-    set $P203, $I207
-    goto unless_204_end
-  unless_204:
-    find_lex $P208, "$_"
-    set $N209, $P208
-    new $P210, "Integer"
-    assign $P210, 0
-    set $N211, $P210
-    isgt $I212, $N209, $N211
-    new $P203, 'Integer'
-    set $P203, $I212
-  unless_204_end:
-    unless $P203, if_202_end
-    find_lex $P213, "$_"
-    add $P214, $P213, 1
-    store_lex "$count", $P214
-  if_202_end:
+.sub "_block198"  :anon :subid("21_1259177750.15652") :outer("20_1259177750.15652")
+    .param pmc param_200
 .annotate "line", 527
-    new $P215, "Integer"
-    assign $P215, 1
-    find_lex $P216, "$_"
-    find_lex $P217, "%capnames"
-    unless_null $P217, vivify_112
-    new $P217, "Hash"
-    store_lex "%capnames", $P217
+    .lex "$_", param_200
+.annotate "line", 528
+    find_lex $P204, "$_"
+    set $S205, $P204
+    iseq $I206, $S205, "0"
+    unless $I206, unless_203
+    new $P202, 'Integer'
+    set $P202, $I206
+    goto unless_203_end
+  unless_203:
+    find_lex $P207, "$_"
+    set $N208, $P207
+    new $P209, "Integer"
+    assign $P209, 0
+    set $N210, $P209
+    isgt $I211, $N208, $N210
+    new $P202, 'Integer'
+    set $P202, $I211
+  unless_203_end:
+    unless $P202, if_201_end
+    find_lex $P212, "$_"
+    add $P213, $P212, 1
+    store_lex "$count", $P213
+  if_201_end:
+.annotate "line", 529
+    new $P214, "Integer"
+    assign $P214, 1
+    find_lex $P215, "$_"
+    find_lex $P216, "%capnames"
+    unless_null $P216, vivify_112
+    new $P216, "Hash"
+    store_lex "%capnames", $P216
   vivify_112:
-    set $P217[$P216], $P215
-.annotate "line", 525
-    .return ($P215)
+    set $P216[$P215], $P214
+.annotate "line", 527
+    .return ($P214)
 .end
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "_block139"  :anon :subid("18_1259103979.04974") :outer("14_1259103979.04974")
-    .param pmc param_142
-.annotate "line", 509
-    .const 'Sub' $P151 = "19_1259103979.04974" 
-    capture_lex $P151
-.annotate "line", 510
-    new $P141, "Hash"
-    .lex "%x", $P141
-    .lex "$_", param_142
-    find_lex $P143, "$_"
-    find_lex $P144, "$count"
-    $P145 = "capnames"($P143, $P144)
-    store_lex "%x", $P145
+.sub "_block138"  :anon :subid("18_1259177750.15652") :outer("14_1259177750.15652")
+    .param pmc param_141
 .annotate "line", 511
-    find_lex $P147, "%x"
-    defined $I148, $P147
-    unless $I148, for_undef_114
-    iter $P146, $P147
-    new $P165, 'ExceptionHandler'
-    set_addr $P165, loop164_handler
-    $P165."handle_types"(65, 67, 66)
-    push_eh $P165
-  loop164_test:
-    unless $P146, loop164_done
-    shift $P149, $P146
-  loop164_redo:
-    .const 'Sub' $P151 = "19_1259103979.04974" 
-    capture_lex $P151
-    $P151($P149)
-  loop164_next:
-    goto loop164_test
-  loop164_handler:
-    .local pmc exception 
-    .get_results (exception) 
-    getattribute $P166, exception, 'type'
-    eq $P166, 65, loop164_next
-    eq $P166, 67, loop164_redo
-  loop164_done:
+    .const 'Sub' $P150 = "19_1259177750.15652" 
+    capture_lex $P150
+.annotate "line", 512
+    new $P140, "Hash"
+    .lex "%x", $P140
+    .lex "$_", param_141
+    find_lex $P142, "$_"
+    find_lex $P143, "$count"
+    $P144 = "capnames"($P142, $P143)
+    store_lex "%x", $P144
+.annotate "line", 513
+    find_lex $P146, "%x"
+    defined $I147, $P146
+    unless $I147, for_undef_114
+    iter $P145, $P146
+    new $P164, 'ExceptionHandler'
+    set_addr $P164, loop163_handler
+    $P164."handle_types"(65, 67, 66)
+    push_eh $P164
+  loop163_test:
+    unless $P145, loop163_done
+    shift $P148, $P145
+  loop163_redo:
+    .const 'Sub' $P150 = "19_1259177750.15652" 
+    capture_lex $P150
+    $P150($P148)
+  loop163_next:
+    goto loop163_test
+  loop163_handler:
+    .local pmc exception 
+    .get_results (exception) 
+    getattribute $P165, exception, 'type'
+    eq $P165, 65, loop163_next
+    eq $P165, 67, loop163_redo
+  loop163_done:
     pop_eh 
   for_undef_114:
-.annotate "line", 514
-    find_lex $P167, "%x"
-    unless_null $P167, vivify_120
-    new $P167, "Hash"
+.annotate "line", 516
+    find_lex $P166, "%x"
+    unless_null $P166, vivify_120
+    new $P166, "Hash"
   vivify_120:
-    set $P168, $P167[""]
-    unless_null $P168, vivify_121
-    new $P168, "Undef"
+    set $P167, $P166[""]
+    unless_null $P167, vivify_121
+    new $P167, "Undef"
   vivify_121:
-    store_lex "$count", $P168
-.annotate "line", 509
-    .return ($P168)
+    store_lex "$count", $P167
+.annotate "line", 511
+    .return ($P167)
 .end
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "_block150"  :anon :subid("19_1259103979.04974") :outer("18_1259103979.04974")
-    .param pmc param_152
-.annotate "line", 511
-    .lex "$_", param_152
-.annotate "line", 512
-    find_lex $P153, "$_"
-    find_lex $P154, "%capnames"
-    unless_null $P154, vivify_115
-    new $P154, "Hash"
+.sub "_block149"  :anon :subid("19_1259177750.15652") :outer("18_1259177750.15652")
+    .param pmc param_151
+.annotate "line", 513
+    .lex "$_", param_151
+.annotate "line", 514
+    find_lex $P152, "$_"
+    find_lex $P153, "%capnames"
+    unless_null $P153, vivify_115
+    new $P153, "Hash"
   vivify_115:
-    set $P155, $P154[$P153]
-    unless_null $P155, vivify_116
-    new $P155, "Undef"
+    set $P154, $P153[$P152]
+    unless_null $P154, vivify_116
+    new $P154, "Undef"
   vivify_116:
-    set $N156, $P155
-    new $P157, 'Float'
-    set $P157, $N156
-    find_lex $P158, "$_"
-    find_lex $P159, "%x"
-    unless_null $P159, vivify_117
-    new $P159, "Hash"
+    set $N155, $P154
+    new $P156, 'Float'
+    set $P156, $N155
+    find_lex $P157, "$_"
+    find_lex $P158, "%x"
+    unless_null $P158, vivify_117
+    new $P158, "Hash"
   vivify_117:
-    set $P160, $P159[$P158]
-    unless_null $P160, vivify_118
-    new $P160, "Undef"
+    set $P159, $P158[$P157]
+    unless_null $P159, vivify_118
+    new $P159, "Undef"
   vivify_118:
-    add $P161, $P157, $P160
-    find_lex $P162, "$_"
-    find_lex $P163, "%capnames"
-    unless_null $P163, vivify_119
-    new $P163, "Hash"
-    store_lex "%capnames", $P163
+    add $P160, $P156, $P159
+    find_lex $P161, "$_"
+    find_lex $P162, "%capnames"
+    unless_null $P162, vivify_119
+    new $P162, "Hash"
+    store_lex "%capnames", $P162
   vivify_119:
-    set $P163[$P162], $P161
-.annotate "line", 511
-    .return ($P161)
+    set $P162[$P161], $P160
+.annotate "line", 513
+    .return ($P160)
 .end
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "_block68"  :anon :subid("15_1259103979.04974") :outer("14_1259103979.04974")
-.annotate "line", 495
-    .const 'Sub' $P78 = "16_1259103979.04974" 
-    capture_lex $P78
-.annotate "line", 496
-    new $P70, "Undef"
-    .lex "$max", $P70
-    find_lex $P71, "$count"
-    store_lex "$max", $P71
+.sub "_block67"  :anon :subid("15_1259177750.15652") :outer("14_1259177750.15652")
 .annotate "line", 497
-    find_lex $P73, "$ast"
-    $P74 = $P73."list"()
-    defined $I75, $P74
-    unless $I75, for_undef_122
-    iter $P72, $P74
-    new $P127, 'ExceptionHandler'
-    set_addr $P127, loop126_handler
-    $P127."handle_types"(65, 67, 66)
-    push_eh $P127
-  loop126_test:
-    unless $P72, loop126_done
-    shift $P76, $P72
-  loop126_redo:
-    .const 'Sub' $P78 = "16_1259103979.04974" 
-    capture_lex $P78
-    $P78($P76)
-  loop126_next:
-    goto loop126_test
-  loop126_handler:
-    .local pmc exception 
-    .get_results (exception) 
-    getattribute $P128, exception, 'type'
-    eq $P128, 65, loop126_next
-    eq $P128, 67, loop126_redo
-  loop126_done:
+    .const 'Sub' $P77 = "16_1259177750.15652" 
+    capture_lex $P77
+.annotate "line", 498
+    new $P69, "Undef"
+    .lex "$max", $P69
+    find_lex $P70, "$count"
+    store_lex "$max", $P70
+.annotate "line", 499
+    find_lex $P72, "$ast"
+    $P73 = $P72."list"()
+    defined $I74, $P73
+    unless $I74, for_undef_122
+    iter $P71, $P73
+    new $P126, 'ExceptionHandler'
+    set_addr $P126, loop125_handler
+    $P126."handle_types"(65, 67, 66)
+    push_eh $P126
+  loop125_test:
+    unless $P71, loop125_done
+    shift $P75, $P71
+  loop125_redo:
+    .const 'Sub' $P77 = "16_1259177750.15652" 
+    capture_lex $P77
+    $P77($P75)
+  loop125_next:
+    goto loop125_test
+  loop125_handler:
+    .local pmc exception 
+    .get_results (exception) 
+    getattribute $P127, exception, 'type'
+    eq $P127, 65, loop125_next
+    eq $P127, 67, loop125_redo
+  loop125_done:
     pop_eh 
   for_undef_122:
-.annotate "line", 506
-    find_lex $P129, "$max"
-    store_lex "$count", $P129
-.annotate "line", 495
-    .return ($P129)
+.annotate "line", 508
+    find_lex $P128, "$max"
+    store_lex "$count", $P128
+.annotate "line", 497
+    .return ($P128)
 .end
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "_block77"  :anon :subid("16_1259103979.04974") :outer("15_1259103979.04974")
-    .param pmc param_80
-.annotate "line", 497
-    .const 'Sub' $P89 = "17_1259103979.04974" 
-    capture_lex $P89
-.annotate "line", 498
-    new $P79, "Hash"
-    .lex "%x", $P79
-    .lex "$_", param_80
-    find_lex $P81, "$_"
-    find_lex $P82, "$count"
-    $P83 = "capnames"($P81, $P82)
-    store_lex "%x", $P83
+.sub "_block76"  :anon :subid("16_1259177750.15652") :outer("15_1259177750.15652")
+    .param pmc param_79
 .annotate "line", 499
-    find_lex $P85, "%x"
-    defined $I86, $P85
-    unless $I86, for_undef_123
-    iter $P84, $P85
-    new $P114, 'ExceptionHandler'
-    set_addr $P114, loop113_handler
-    $P114."handle_types"(65, 67, 66)
-    push_eh $P114
-  loop113_test:
-    unless $P84, loop113_done
-    shift $P87, $P84
-  loop113_redo:
-    .const 'Sub' $P89 = "17_1259103979.04974" 
-    capture_lex $P89
-    $P89($P87)
-  loop113_next:
-    goto loop113_test
-  loop113_handler:
-    .local pmc exception 
-    .get_results (exception) 
-    getattribute $P115, exception, 'type'
-    eq $P115, 65, loop113_next
-    eq $P115, 67, loop113_redo
-  loop113_done:
+    .const 'Sub' $P88 = "17_1259177750.15652" 
+    capture_lex $P88
+.annotate "line", 500
+    new $P78, "Hash"
+    .lex "%x", $P78
+    .lex "$_", param_79
+    find_lex $P80, "$_"
+    find_lex $P81, "$count"
+    $P82 = "capnames"($P80, $P81)
+    store_lex "%x", $P82
+.annotate "line", 501
+    find_lex $P84, "%x"
+    defined $I85, $P84
+    unless $I85, for_undef_123
+    iter $P83, $P84
+    new $P113, 'ExceptionHandler'
+    set_addr $P113, loop112_handler
+    $P113."handle_types"(65, 67, 66)
+    push_eh $P113
+  loop112_test:
+    unless $P83, loop112_done
+    shift $P86, $P83
+  loop112_redo:
+    .const 'Sub' $P88 = "17_1259177750.15652" 
+    capture_lex $P88
+    $P88($P86)
+  loop112_next:
+    goto loop112_test
+  loop112_handler:
+    .local pmc exception 
+    .get_results (exception) 
+    getattribute $P114, exception, 'type'
+    eq $P114, 65, loop112_next
+    eq $P114, 67, loop112_redo
+  loop112_done:
     pop_eh 
   for_undef_123:
-.annotate "line", 504
-    find_lex $P118, "%x"
-    unless_null $P118, vivify_129
-    new $P118, "Hash"
+.annotate "line", 506
+    find_lex $P117, "%x"
+    unless_null $P117, vivify_129
+    new $P117, "Hash"
   vivify_129:
-    set $P119, $P118[""]
-    unless_null $P119, vivify_130
-    new $P119, "Undef"
+    set $P118, $P117[""]
+    unless_null $P118, vivify_130
+    new $P118, "Undef"
   vivify_130:
-    set $N120, $P119
-    find_lex $P121, "$max"
-    set $N122, $P121
-    isgt $I123, $N120, $N122
-    if $I123, if_117
-    new $P116, 'Integer'
-    set $P116, $I123
-    goto if_117_end
-  if_117:
-    find_lex $P124, "%x"
-    unless_null $P124, vivify_131
-    new $P124, "Hash"
+    set $N119, $P118
+    find_lex $P120, "$max"
+    set $N121, $P120
+    isgt $I122, $N119, $N121
+    if $I122, if_116
+    new $P115, 'Integer'
+    set $P115, $I122
+    goto if_116_end
+  if_116:
+    find_lex $P123, "%x"
+    unless_null $P123, vivify_131
+    new $P123, "Hash"
   vivify_131:
-    set $P125, $P124[""]
-    unless_null $P125, vivify_132
-    new $P125, "Undef"
+    set $P124, $P123[""]
+    unless_null $P124, vivify_132
+    new $P124, "Undef"
   vivify_132:
-    store_lex "$max", $P125
-    set $P116, $P125
-  if_117_end:
-.annotate "line", 497
-    .return ($P116)
+    store_lex "$max", $P124
+    set $P115, $P124
+  if_116_end:
+.annotate "line", 499
+    .return ($P115)
 .end
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "_block88"  :anon :subid("17_1259103979.04974") :outer("16_1259103979.04974")
-    .param pmc param_90
-.annotate "line", 499
-    .lex "$_", param_90
-.annotate "line", 500
-    find_lex $P95, "$_"
-    find_lex $P96, "%capnames"
-    unless_null $P96, vivify_124
-    new $P96, "Hash"
+.sub "_block87"  :anon :subid("17_1259177750.15652") :outer("16_1259177750.15652")
+    .param pmc param_89
+.annotate "line", 501
+    .lex "$_", param_89
+.annotate "line", 502
+    find_lex $P94, "$_"
+    find_lex $P95, "%capnames"
+    unless_null $P95, vivify_124
+    new $P95, "Hash"
   vivify_124:
-    set $P97, $P96[$P95]
-    unless_null $P97, vivify_125
-    new $P97, "Undef"
+    set $P96, $P95[$P94]
+    unless_null $P96, vivify_125
+    new $P96, "Undef"
   vivify_125:
-    set $N98, $P97
-    new $P99, "Integer"
-    assign $P99, 2
-    set $N100, $P99
-    islt $I101, $N98, $N100
-    if $I101, if_94
-    new $P93, 'Integer'
-    set $P93, $I101
-    goto if_94_end
-  if_94:
-    find_lex $P102, "$_"
-    find_lex $P103, "%x"
-    unless_null $P103, vivify_126
-    new $P103, "Hash"
+    set $N97, $P96
+    new $P98, "Integer"
+    assign $P98, 2
+    set $N99, $P98
+    islt $I100, $N97, $N99
+    if $I100, if_93
+    new $P92, 'Integer'
+    set $P92, $I100
+    goto if_93_end
+  if_93:
+    find_lex $P101, "$_"
+    find_lex $P102, "%x"
+    unless_null $P102, vivify_126
+    new $P102, "Hash"
   vivify_126:
-    set $P104, $P103[$P102]
-    unless_null $P104, vivify_127
-    new $P104, "Undef"
+    set $P103, $P102[$P101]
+    unless_null $P103, vivify_127
+    new $P103, "Undef"
   vivify_127:
-    set $N105, $P104
-    new $P106, "Integer"
-    assign $P106, 1
-    set $N107, $P106
-    iseq $I108, $N105, $N107
-    new $P93, 'Integer'
-    set $P93, $I108
-  if_94_end:
-    if $P93, if_92
-    new $P110, "Integer"
-    assign $P110, 2
-    set $P91, $P110
-    goto if_92_end
-  if_92:
+    set $N104, $P103
+    new $P105, "Integer"
+    assign $P105, 1
+    set $N106, $P105
+    iseq $I107, $N104, $N106
+    new $P92, 'Integer'
+    set $P92, $I107
+  if_93_end:
+    if $P92, if_91
     new $P109, "Integer"
-    assign $P109, 1
-    set $P91, $P109
-  if_92_end:
-.annotate "line", 501
-    find_lex $P111, "$_"
-    find_lex $P112, "%capnames"
-    unless_null $P112, vivify_128
-    new $P112, "Hash"
-    store_lex "%capnames", $P112
+    assign $P109, 2
+    set $P90, $P109
+    goto if_91_end
+  if_91:
+    new $P108, "Integer"
+    assign $P108, 1
+    set $P90, $P108
+  if_91_end:
+.annotate "line", 503
+    find_lex $P110, "$_"
+    find_lex $P111, "%capnames"
+    unless_null $P111, vivify_128
+    new $P111, "Hash"
+    store_lex "%capnames", $P111
   vivify_128:
-    set $P112[$P111], $P91
-.annotate "line", 499
-    .return ($P91)
+    set $P111[$P110], $P90
+.annotate "line", 501
+    .return ($P90)
 .end
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "backmod"  :subid("27_1259103979.04974") :outer("11_1259103979.04974")
+.sub "backmod"  :subid("27_1259177750.15652") :outer("11_1259177750.15652")
+    .param pmc param_318
     .param pmc param_319
-    .param pmc param_320
-.annotate "line", 558
-    new $P318, 'ExceptionHandler'
-    set_addr $P318, control_317
-    $P318."handle_types"(58)
-    push_eh $P318
-    .lex "$ast", param_319
-    .lex "$backmod", param_320
-.annotate "line", 559
-    find_lex $P322, "$backmod"
-    set $S323, $P322
-    iseq $I324, $S323, ":"
-    if $I324, if_321
 .annotate "line", 560
-    find_lex $P329, "$backmod"
-    set $S330, $P329
-    iseq $I331, $S330, ":?"
-    unless $I331, unless_328
-    new $P327, 'Integer'
-    set $P327, $I331
-    goto unless_328_end
-  unless_328:
-    find_lex $P332, "$backmod"
-    set $S333, $P332
-    iseq $I334, $S333, "?"
-    new $P327, 'Integer'
-    set $P327, $I334
-  unless_328_end:
-    if $P327, if_326
+    new $P317, 'ExceptionHandler'
+    set_addr $P317, control_316
+    $P317."handle_types"(58)
+    push_eh $P317
+    .lex "$ast", param_318
+    .lex "$backmod", param_319
 .annotate "line", 561
-    find_lex $P339, "$backmod"
-    set $S340, $P339
-    iseq $I341, $S340, ":!"
-    unless $I341, unless_338
-    new $P337, 'Integer'
-    set $P337, $I341
-    goto unless_338_end
-  unless_338:
-    find_lex $P342, "$backmod"
-    set $S343, $P342
-    iseq $I344, $S343, "!"
-    new $P337, 'Integer'
-    set $P337, $I344
-  unless_338_end:
-    unless $P337, if_336_end
+    find_lex $P321, "$backmod"
+    set $S322, $P321
+    iseq $I323, $S322, ":"
+    if $I323, if_320
+.annotate "line", 562
+    find_lex $P328, "$backmod"
+    set $S329, $P328
+    iseq $I330, $S329, ":?"
+    unless $I330, unless_327
+    new $P326, 'Integer'
+    set $P326, $I330
+    goto unless_327_end
+  unless_327:
+    find_lex $P331, "$backmod"
+    set $S332, $P331
+    iseq $I333, $S332, "?"
+    new $P326, 'Integer'
+    set $P326, $I333
+  unless_327_end:
+    if $P326, if_325
+.annotate "line", 563
+    find_lex $P338, "$backmod"
+    set $S339, $P338
+    iseq $I340, $S339, ":!"
+    unless $I340, unless_337
+    new $P336, 'Integer'
+    set $P336, $I340
+    goto unless_337_end
+  unless_337:
+    find_lex $P341, "$backmod"
+    set $S342, $P341
+    iseq $I343, $S342, "!"
+    new $P336, 'Integer'
+    set $P336, $I343
+  unless_337_end:
+    unless $P336, if_335_end
+    find_lex $P344, "$ast"
+    $P344."backtrack"("g")
+  if_335_end:
+    goto if_325_end
+  if_325:
+.annotate "line", 562
+    find_lex $P334, "$ast"
+    $P334."backtrack"("f")
+  if_325_end:
+    goto if_320_end
+  if_320:
+.annotate "line", 561
+    find_lex $P324, "$ast"
+    $P324."backtrack"("r")
+  if_320_end:
     find_lex $P345, "$ast"
-    $P345."backtrack"("g")
-  if_336_end:
-    goto if_326_end
-  if_326:
 .annotate "line", 560
-    find_lex $P335, "$ast"
-    $P335."backtrack"("f")
-  if_326_end:
-    goto if_321_end
-  if_321:
-.annotate "line", 559
-    find_lex $P325, "$ast"
-    $P325."backtrack"("r")
-  if_321_end:
-    find_lex $P346, "$ast"
-.annotate "line", 558
-    .return ($P346)
-  control_317:
+    .return ($P345)
+  control_316:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P347, exception, "payload"
-    .return ($P347)
+    getattribute $P346, exception, "payload"
+    .return ($P346)
 .end
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "subrule_alias"  :subid("28_1259103979.04974") :outer("11_1259103979.04974")
+.sub "subrule_alias"  :subid("28_1259177750.15652") :outer("11_1259177750.15652")
+    .param pmc param_350
     .param pmc param_351
-    .param pmc param_352
-.annotate "line", 565
-    new $P350, 'ExceptionHandler'
-    set_addr $P350, control_349
-    $P350."handle_types"(58)
-    push_eh $P350
-    .lex "$past", param_351
-    .lex "$name", param_352
-.annotate "line", 566
-    find_lex $P354, "$past"
-    $S355 = $P354."name"()
-    isgt $I356, $S355, ""
-    if $I356, if_353
 .annotate "line", 567
-    find_lex $P363, "$past"
-    find_lex $P364, "$name"
-    $P363."name"($P364)
-    goto if_353_end
-  if_353:
-.annotate "line", 566
-    find_lex $P357, "$past"
-    find_lex $P358, "$name"
-    concat $P359, $P358, "="
-    find_lex $P360, "$past"
-    $S361 = $P360."name"()
-    concat $P362, $P359, $S361
-    $P357."name"($P362)
-  if_353_end:
+    new $P349, 'ExceptionHandler'
+    set_addr $P349, control_348
+    $P349."handle_types"(58)
+    push_eh $P349
+    .lex "$past", param_350
+    .lex "$name", param_351
 .annotate "line", 568
-    find_lex $P365, "$past"
-    $P366 = $P365."subtype"("capture")
-.annotate "line", 565
-    .return ($P366)
-  control_349:
+    find_lex $P353, "$past"
+    $S354 = $P353."name"()
+    isgt $I355, $S354, ""
+    if $I355, if_352
+.annotate "line", 569
+    find_lex $P362, "$past"
+    find_lex $P363, "$name"
+    $P362."name"($P363)
+    goto if_352_end
+  if_352:
+.annotate "line", 568
+    find_lex $P356, "$past"
+    find_lex $P357, "$name"
+    concat $P358, $P357, "="
+    find_lex $P359, "$past"
+    $S360 = $P359."name"()
+    concat $P361, $P358, $S360
+    $P356."name"($P361)
+  if_352_end:
+.annotate "line", 570
+    find_lex $P364, "$past"
+    $P365 = $P364."subtype"("capture")
+.annotate "line", 567
+    .return ($P365)
+  control_348:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P367, exception, "payload"
-    .return ($P367)
+    getattribute $P366, exception, "payload"
+    .return ($P366)
 .end
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "arg"  :subid("29_1259103979.04974") :method :outer("11_1259103979.04974")
-    .param pmc param_373
+.sub "arg"  :subid("29_1259177750.15652") :method :outer("11_1259177750.15652")
+    .param pmc param_372
 .annotate "line", 14
-    new $P372, 'ExceptionHandler'
-    set_addr $P372, control_371
-    $P372."handle_types"(58)
-    push_eh $P372
+    new $P371, 'ExceptionHandler'
+    set_addr $P371, control_370
+    $P371."handle_types"(58)
+    push_eh $P371
     .lex "self", self
-    .lex "$/", param_373
+    .lex "$/", param_372
 .annotate "line", 15
-    find_lex $P374, "$/"
-    find_lex $P377, "$/"
-    unless_null $P377, vivify_134
-    new $P377, "Hash"
+    find_lex $P373, "$/"
+    find_lex $P376, "$/"
+    unless_null $P376, vivify_134
+    new $P376, "Hash"
   vivify_134:
-    set $P378, $P377["quote_EXPR"]
-    unless_null $P378, vivify_135
-    new $P378, "Undef"
+    set $P377, $P376["quote_EXPR"]
+    unless_null $P377, vivify_135
+    new $P377, "Undef"
   vivify_135:
-    if $P378, if_376
-    find_lex $P382, "$/"
-    unless_null $P382, vivify_136
-    new $P382, "Hash"
+    if $P377, if_375
+    find_lex $P381, "$/"
+    unless_null $P381, vivify_136
+    new $P381, "Hash"
   vivify_136:
-    set $P383, $P382["val"]
-    unless_null $P383, vivify_137
-    new $P383, "Undef"
+    set $P382, $P381["val"]
+    unless_null $P382, vivify_137
+    new $P382, "Undef"
   vivify_137:
-    set $N384, $P383
-    new $P375, 'Float'
-    set $P375, $N384
-    goto if_376_end
-  if_376:
-    find_lex $P379, "$/"
-    unless_null $P379, vivify_138
-    new $P379, "Hash"
+    set $N383, $P382
+    new $P374, 'Float'
+    set $P374, $N383
+    goto if_375_end
+  if_375:
+    find_lex $P378, "$/"
+    unless_null $P378, vivify_138
+    new $P378, "Hash"
   vivify_138:
-    set $P380, $P379["quote_EXPR"]
-    unless_null $P380, vivify_139
-    new $P380, "Undef"
+    set $P379, $P378["quote_EXPR"]
+    unless_null $P379, vivify_139
+    new $P379, "Undef"
   vivify_139:
-    $P381 = $P380."ast"()
-    set $P375, $P381
-  if_376_end:
-    $P385 = $P374."!make"($P375)
+    $P380 = $P379."ast"()
+    set $P374, $P380
+  if_375_end:
+    $P384 = $P373."!make"($P374)
 .annotate "line", 14
-    .return ($P385)
-  control_371:
+    .return ($P384)
+  control_370:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P386, exception, "payload"
-    .return ($P386)
+    getattribute $P385, exception, "payload"
+    .return ($P385)
 .end
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "arglist"  :subid("30_1259103979.04974") :method :outer("11_1259103979.04974")
-    .param pmc param_390
+.sub "arglist"  :subid("30_1259177750.15652") :method :outer("11_1259177750.15652")
+    .param pmc param_389
 .annotate "line", 18
-    .const 'Sub' $P400 = "31_1259103979.04974" 
-    capture_lex $P400
-    new $P389, 'ExceptionHandler'
-    set_addr $P389, control_388
-    $P389."handle_types"(58)
-    push_eh $P389
+    .const 'Sub' $P399 = "31_1259177750.15652" 
+    capture_lex $P399
+    new $P388, 'ExceptionHandler'
+    set_addr $P388, control_387
+    $P388."handle_types"(58)
+    push_eh $P388
     .lex "self", self
-    .lex "$/", param_390
+    .lex "$/", param_389
 .annotate "line", 19
-    new $P391, "Undef"
-    .lex "$past", $P391
-    get_hll_global $P392, ["PAST"], "Op"
-    $P393 = $P392."new"("list" :named("pasttype"))
-    store_lex "$past", $P393
+    new $P390, "Undef"
+    .lex "$past", $P390
+    get_hll_global $P391, ["PAST"], "Op"
+    $P392 = $P391."new"("list" :named("pasttype"))
+    store_lex "$past", $P392
 .annotate "line", 20
-    find_lex $P395, "$/"
-    unless_null $P395, vivify_140
-    new $P395, "Hash"
+    find_lex $P394, "$/"
+    unless_null $P394, vivify_140
+    new $P394, "Hash"
   vivify_140:
-    set $P396, $P395["arg"]
-    unless_null $P396, vivify_141
-    new $P396, "Undef"
+    set $P395, $P394["arg"]
+    unless_null $P395, vivify_141
+    new $P395, "Undef"
   vivify_141:
-    defined $I397, $P396
-    unless $I397, for_undef_142
-    iter $P394, $P396
-    new $P407, 'ExceptionHandler'
-    set_addr $P407, loop406_handler
-    $P407."handle_types"(65, 67, 66)
-    push_eh $P407
-  loop406_test:
-    unless $P394, loop406_done
-    shift $P398, $P394
-  loop406_redo:
-    .const 'Sub' $P400 = "31_1259103979.04974" 
-    capture_lex $P400
-    $P400($P398)
-  loop406_next:
-    goto loop406_test
-  loop406_handler:
-    .local pmc exception 
-    .get_results (exception) 
-    getattribute $P408, exception, 'type'
-    eq $P408, 65, loop406_next
-    eq $P408, 67, loop406_redo
-  loop406_done:
+    defined $I396, $P395
+    unless $I396, for_undef_142
+    iter $P393, $P395
+    new $P406, 'ExceptionHandler'
+    set_addr $P406, loop405_handler
+    $P406."handle_types"(65, 67, 66)
+    push_eh $P406
+  loop405_test:
+    unless $P393, loop405_done
+    shift $P397, $P393
+  loop405_redo:
+    .const 'Sub' $P399 = "31_1259177750.15652" 
+    capture_lex $P399
+    $P399($P397)
+  loop405_next:
+    goto loop405_test
+  loop405_handler:
+    .local pmc exception 
+    .get_results (exception) 
+    getattribute $P407, exception, 'type'
+    eq $P407, 65, loop405_next
+    eq $P407, 67, loop405_redo
+  loop405_done:
     pop_eh 
   for_undef_142:
 .annotate "line", 21
-    find_lex $P409, "$/"
-    find_lex $P410, "$past"
-    $P411 = $P409."!make"($P410)
+    find_lex $P408, "$/"
+    find_lex $P409, "$past"
+    $P410 = $P408."!make"($P409)
 .annotate "line", 18
-    .return ($P411)
-  control_388:
+    .return ($P410)
+  control_387:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P412, exception, "payload"
-    .return ($P412)
+    getattribute $P411, exception, "payload"
+    .return ($P411)
 .end
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "_block399"  :anon :subid("31_1259103979.04974") :outer("30_1259103979.04974")
-    .param pmc param_401
+.sub "_block398"  :anon :subid("31_1259177750.15652") :outer("30_1259177750.15652")
+    .param pmc param_400
 .annotate "line", 20
-    .lex "$_", param_401
-    find_lex $P402, "$past"
-    find_lex $P403, "$_"
-    $P404 = $P403."ast"()
-    $P405 = $P402."push"($P404)
-    .return ($P405)
+    .lex "$_", param_400
+    find_lex $P401, "$past"
+    find_lex $P402, "$_"
+    $P403 = $P402."ast"()
+    $P404 = $P401."push"($P403)
+    .return ($P404)
 .end
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "TOP"  :subid("32_1259103979.04974") :method :outer("11_1259103979.04974")
-    .param pmc param_416
+.sub "TOP"  :subid("32_1259177750.15652") :method :outer("11_1259177750.15652")
+    .param pmc param_415
 .annotate "line", 24
-    new $P415, 'ExceptionHandler'
-    set_addr $P415, control_414
-    $P415."handle_types"(58)
-    push_eh $P415
+    new $P414, 'ExceptionHandler'
+    set_addr $P414, control_413
+    $P414."handle_types"(58)
+    push_eh $P414
     .lex "self", self
-    .lex "$/", param_416
+    .lex "$/", param_415
 .annotate "line", 25
-    new $P417, "Undef"
-    .lex "$past", $P417
-    find_lex $P418, "$/"
-    unless_null $P418, vivify_143
-    new $P418, "Hash"
+    new $P416, "Undef"
+    .lex "$past", $P416
+    find_lex $P417, "$/"
+    unless_null $P417, vivify_143
+    new $P417, "Hash"
   vivify_143:
-    set $P419, $P418["nibbler"]
-    unless_null $P419, vivify_144
-    new $P419, "Undef"
+    set $P418, $P417["nibbler"]
+    unless_null $P418, vivify_144
+    new $P418, "Undef"
   vivify_144:
-    $P420 = $P419."ast"()
-    $P421 = "buildsub"($P420)
-    store_lex "$past", $P421
+    $P419 = $P418."ast"()
+    $P420 = "buildsub"($P419)
+    store_lex "$past", $P420
 .annotate "line", 26
-    find_lex $P422, "$past"
-    find_lex $P423, "$/"
-    $P422."node"($P423)
+    find_lex $P421, "$past"
+    find_lex $P422, "$/"
+    $P421."node"($P422)
 .annotate "line", 27
-    find_lex $P424, "$/"
-    find_lex $P425, "$past"
-    $P426 = $P424."!make"($P425)
+    find_lex $P423, "$/"
+    find_lex $P424, "$past"
+    $P425 = $P423."!make"($P424)
 .annotate "line", 24
-    .return ($P426)
-  control_414:
+    .return ($P425)
+  control_413:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P427, exception, "payload"
-    .return ($P427)
+    getattribute $P426, exception, "payload"
+    .return ($P426)
 .end
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "nibbler"  :subid("33_1259103979.04974") :method :outer("11_1259103979.04974")
-    .param pmc param_431
-    .param pmc param_432 :optional
-    .param int has_param_432 :opt_flag
+.sub "nibbler"  :subid("33_1259177750.15652") :method :outer("11_1259177750.15652")
+    .param pmc param_430
+    .param pmc param_431 :optional
+    .param int has_param_431 :opt_flag
 .annotate "line", 30
-    .const 'Sub' $P468 = "35_1259103979.04974" 
-    capture_lex $P468
-    .const 'Sub' $P440 = "34_1259103979.04974" 
-    capture_lex $P440
-    new $P430, 'ExceptionHandler'
-    set_addr $P430, control_429
-    $P430."handle_types"(58)
-    push_eh $P430
-    .lex "self", self
-    .lex "$/", param_431
-    if has_param_432, optparam_145
-    new $P433, "Undef"
-    set param_432, $P433
+    .const 'Sub' $P467 = "35_1259177750.15652" 
+    capture_lex $P467
+    .const 'Sub' $P439 = "34_1259177750.15652" 
+    capture_lex $P439
+    new $P429, 'ExceptionHandler'
+    set_addr $P429, control_428
+    $P429."handle_types"(58)
+    push_eh $P429
+    .lex "self", self
+    .lex "$/", param_430
+    if has_param_431, optparam_145
+    new $P432, "Undef"
+    set param_431, $P432
   optparam_145:
-    .lex "$key", param_432
+    .lex "$key", param_431
 .annotate "line", 42
-    new $P434, "Undef"
-    .lex "$past", $P434
+    new $P433, "Undef"
+    .lex "$past", $P433
 .annotate "line", 31
-    find_lex $P436, "$key"
-    set $S437, $P436
-    iseq $I438, $S437, "open"
-    unless $I438, if_435_end
-    .const 'Sub' $P440 = "34_1259103979.04974" 
-    capture_lex $P440
-    $P440()
-  if_435_end:
+    find_lex $P435, "$key"
+    set $S436, $P435
+    iseq $I437, $S436, "open"
+    unless $I437, if_434_end
+    .const 'Sub' $P439 = "34_1259177750.15652" 
+    capture_lex $P439
+    $P439()
+  if_434_end:
 .annotate "line", 41
-    get_global $P450, "@MODIFIERS"
-    $P450."shift"()
-    find_lex $P451, "$past"
+    get_global $P449, "@MODIFIERS"
+    $P449."shift"()
+    find_lex $P450, "$past"
 .annotate "line", 43
-    find_lex $P453, "$/"
-    unless_null $P453, vivify_148
-    new $P453, "Hash"
+    find_lex $P452, "$/"
+    unless_null $P452, vivify_148
+    new $P452, "Hash"
   vivify_148:
-    set $P454, $P453["termish"]
-    unless_null $P454, vivify_149
-    new $P454, "Undef"
+    set $P453, $P452["termish"]
+    unless_null $P453, vivify_149
+    new $P453, "Undef"
   vivify_149:
-    set $N455, $P454
-    new $P456, "Integer"
-    assign $P456, 1
-    set $N457, $P456
-    isgt $I458, $N455, $N457
-    if $I458, if_452
+    set $N454, $P453
+    new $P455, "Integer"
+    assign $P455, 1
+    set $N456, $P455
+    isgt $I457, $N454, $N456
+    if $I457, if_451
 .annotate "line", 50
-    find_lex $P477, "$/"
-    unless_null $P477, vivify_150
-    new $P477, "Hash"
+    find_lex $P476, "$/"
+    unless_null $P476, vivify_150
+    new $P476, "Hash"
   vivify_150:
-    set $P478, $P477["termish"]
-    unless_null $P478, vivify_151
-    new $P478, "ResizablePMCArray"
+    set $P477, $P476["termish"]
+    unless_null $P477, vivify_151
+    new $P477, "ResizablePMCArray"
   vivify_151:
-    set $P479, $P478[0]
-    unless_null $P479, vivify_152
-    new $P479, "Undef"
+    set $P478, $P477[0]
+    unless_null $P478, vivify_152
+    new $P478, "Undef"
   vivify_152:
-    $P480 = $P479."ast"()
-    store_lex "$past", $P480
+    $P479 = $P478."ast"()
+    store_lex "$past", $P479
 .annotate "line", 49
-    goto if_452_end
-  if_452:
+    goto if_451_end
+  if_451:
 .annotate "line", 44
-    get_hll_global $P459, ["PAST"], "Regex"
-    find_lex $P460, "$/"
-    $P461 = $P459."new"("alt" :named("pasttype"), $P460 :named("node"))
-    store_lex "$past", $P461
+    get_hll_global $P458, ["PAST"], "Regex"
+    find_lex $P459, "$/"
+    $P460 = $P458."new"("alt" :named("pasttype"), $P459 :named("node"))
+    store_lex "$past", $P460
 .annotate "line", 45
-    find_lex $P463, "$/"
-    unless_null $P463, vivify_153
-    new $P463, "Hash"
+    find_lex $P462, "$/"
+    unless_null $P462, vivify_153
+    new $P462, "Hash"
   vivify_153:
-    set $P464, $P463["termish"]
-    unless_null $P464, vivify_154
-    new $P464, "Undef"
+    set $P463, $P462["termish"]
+    unless_null $P463, vivify_154
+    new $P463, "Undef"
   vivify_154:
-    defined $I465, $P464
-    unless $I465, for_undef_155
-    iter $P462, $P464
-    new $P475, 'ExceptionHandler'
-    set_addr $P475, loop474_handler
-    $P475."handle_types"(65, 67, 66)
-    push_eh $P475
-  loop474_test:
-    unless $P462, loop474_done
-    shift $P466, $P462
-  loop474_redo:
-    .const 'Sub' $P468 = "35_1259103979.04974" 
-    capture_lex $P468
-    $P468($P466)
-  loop474_next:
-    goto loop474_test
-  loop474_handler:
-    .local pmc exception 
-    .get_results (exception) 
-    getattribute $P476, exception, 'type'
-    eq $P476, 65, loop474_next
-    eq $P476, 67, loop474_redo
-  loop474_done:
+    defined $I464, $P463
+    unless $I464, for_undef_155
+    iter $P461, $P463
+    new $P474, 'ExceptionHandler'
+    set_addr $P474, loop473_handler
+    $P474."handle_types"(65, 67, 66)
+    push_eh $P474
+  loop473_test:
+    unless $P461, loop473_done
+    shift $P465, $P461
+  loop473_redo:
+    .const 'Sub' $P467 = "35_1259177750.15652" 
+    capture_lex $P467
+    $P467($P465)
+  loop473_next:
+    goto loop473_test
+  loop473_handler:
+    .local pmc exception 
+    .get_results (exception) 
+    getattribute $P475, exception, 'type'
+    eq $P475, 65, loop473_next
+    eq $P475, 67, loop473_redo
+  loop473_done:
     pop_eh 
   for_undef_155:
-  if_452_end:
+  if_451_end:
 .annotate "line", 52
-    find_lex $P481, "$/"
-    find_lex $P482, "$past"
-    $P483 = $P481."!make"($P482)
+    find_lex $P480, "$/"
+    find_lex $P481, "$past"
+    $P482 = $P480."!make"($P481)
 .annotate "line", 30
-    .return ($P483)
-  control_429:
+    .return ($P482)
+  control_428:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P484, exception, "payload"
-    .return ($P484)
+    getattribute $P483, exception, "payload"
+    .return ($P483)
 .end
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "_block439"  :anon :subid("34_1259103979.04974") :outer("33_1259103979.04974")
+.sub "_block438"  :anon :subid("34_1259177750.15652") :outer("33_1259177750.15652")
 .annotate "line", 32
-    new $P441, "Hash"
-    .lex "%old", $P441
+    new $P440, "Hash"
+    .lex "%old", $P440
 .annotate "line", 33
-    new $P442, "Hash"
-    .lex "%new", $P442
+    new $P441, "Hash"
+    .lex "%new", $P441
 .annotate "line", 32
-    get_global $P443, "@MODIFIERS"
-    unless_null $P443, vivify_146
-    new $P443, "ResizablePMCArray"
+    get_global $P442, "@MODIFIERS"
+    unless_null $P442, vivify_146
+    new $P442, "ResizablePMCArray"
   vivify_146:
-    set $P444, $P443[0]
-    unless_null $P444, vivify_147
-    new $P444, "Undef"
+    set $P443, $P442[0]
+    unless_null $P443, vivify_147
+    new $P443, "Undef"
   vivify_147:
-    store_lex "%old", $P444
+    store_lex "%old", $P443
 .annotate "line", 33
 
                        $P0 = find_lex '%old'
-                       $P445 = clone $P0
+                       $P444 = clone $P0
                    
-    store_lex "%new", $P445
+    store_lex "%new", $P444
 .annotate "line", 37
-    get_global $P446, "@MODIFIERS"
-    find_lex $P447, "%new"
-    $P446."unshift"($P447)
+    get_global $P445, "@MODIFIERS"
+    find_lex $P446, "%new"
+    $P445."unshift"($P446)
 .annotate "line", 38
-    new $P448, "Exception"
-    set $P448['type'], 58
-    new $P449, "Integer"
-    assign $P449, 1
-    setattribute $P448, 'payload', $P449
-    throw $P448
+    new $P447, "Exception"
+    set $P447['type'], 58
+    new $P448, "Integer"
+    assign $P448, 1
+    setattribute $P447, 'payload', $P448
+    throw $P447
 .annotate "line", 31
     .return ()
 .end
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "_block467"  :anon :subid("35_1259103979.04974") :outer("33_1259103979.04974")
-    .param pmc param_469
+.sub "_block466"  :anon :subid("35_1259177750.15652") :outer("33_1259177750.15652")
+    .param pmc param_468
 .annotate "line", 45
-    .lex "$_", param_469
+    .lex "$_", param_468
 .annotate "line", 46
-    find_lex $P470, "$past"
-    find_lex $P471, "$_"
-    $P472 = $P471."ast"()
-    $P473 = $P470."push"($P472)
+    find_lex $P469, "$past"
+    find_lex $P470, "$_"
+    $P471 = $P470."ast"()
+    $P472 = $P469."push"($P471)
 .annotate "line", 45
-    .return ($P473)
+    .return ($P472)
 .end
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "termish"  :subid("36_1259103979.04974") :method :outer("11_1259103979.04974")
-    .param pmc param_488
+.sub "termish"  :subid("36_1259177750.15652") :method :outer("11_1259177750.15652")
+    .param pmc param_487
 .annotate "line", 55
-    .const 'Sub' $P501 = "37_1259103979.04974" 
-    capture_lex $P501
-    new $P487, 'ExceptionHandler'
-    set_addr $P487, control_486
-    $P487."handle_types"(58)
-    push_eh $P487
+    .const 'Sub' $P500 = "37_1259177750.15652" 
+    capture_lex $P500
+    new $P486, 'ExceptionHandler'
+    set_addr $P486, control_485
+    $P486."handle_types"(58)
+    push_eh $P486
     .lex "self", self
-    .lex "$/", param_488
+    .lex "$/", param_487
 .annotate "line", 56
-    new $P489, "Undef"
-    .lex "$past", $P489
+    new $P488, "Undef"
+    .lex "$past", $P488
 .annotate "line", 57
-    new $P490, "Undef"
-    .lex "$lastlit", $P490
+    new $P489, "Undef"
+    .lex "$lastlit", $P489
 .annotate "line", 56
-    get_hll_global $P491, ["PAST"], "Regex"
-    find_lex $P492, "$/"
-    $P493 = $P491."new"("concat" :named("pasttype"), $P492 :named("node"))
-    store_lex "$past", $P493
+    get_hll_global $P490, ["PAST"], "Regex"
+    find_lex $P491, "$/"
+    $P492 = $P490."new"("concat" :named("pasttype"), $P491 :named("node"))
+    store_lex "$past", $P492
 .annotate "line", 57
-    new $P494, "Integer"
-    assign $P494, 0
-    store_lex "$lastlit", $P494
+    new $P493, "Integer"
+    assign $P493, 0
+    store_lex "$lastlit", $P493
 .annotate "line", 58
-    find_lex $P496, "$/"
-    unless_null $P496, vivify_156
-    new $P496, "Hash"
+    find_lex $P495, "$/"
+    unless_null $P495, vivify_156
+    new $P495, "Hash"
   vivify_156:
-    set $P497, $P496["noun"]
-    unless_null $P497, vivify_157
-    new $P497, "Undef"
+    set $P496, $P495["noun"]
+    unless_null $P496, vivify_157
+    new $P496, "Undef"
   vivify_157:
-    defined $I498, $P497
-    unless $I498, for_undef_158
-    iter $P495, $P497
-    new $P547, 'ExceptionHandler'
-    set_addr $P547, loop546_handler
-    $P547."handle_types"(65, 67, 66)
-    push_eh $P547
-  loop546_test:
-    unless $P495, loop546_done
-    shift $P499, $P495
-  loop546_redo:
-    .const 'Sub' $P501 = "37_1259103979.04974" 
-    capture_lex $P501
-    $P501($P499)
-  loop546_next:
-    goto loop546_test
-  loop546_handler:
-    .local pmc exception 
-    .get_results (exception) 
-    getattribute $P548, exception, 'type'
-    eq $P548, 65, loop546_next
-    eq $P548, 67, loop546_redo
-  loop546_done:
+    defined $I497, $P496
+    unless $I497, for_undef_158
+    iter $P494, $P496
+    new $P546, 'ExceptionHandler'
+    set_addr $P546, loop545_handler
+    $P546."handle_types"(65, 67, 66)
+    push_eh $P546
+  loop545_test:
+    unless $P494, loop545_done
+    shift $P498, $P494
+  loop545_redo:
+    .const 'Sub' $P500 = "37_1259177750.15652" 
+    capture_lex $P500
+    $P500($P498)
+  loop545_next:
+    goto loop545_test
+  loop545_handler:
+    .local pmc exception 
+    .get_results (exception) 
+    getattribute $P547, exception, 'type'
+    eq $P547, 65, loop545_next
+    eq $P547, 67, loop545_redo
+  loop545_done:
     pop_eh 
   for_undef_158:
 .annotate "line", 73
-    find_lex $P549, "$/"
-    find_lex $P550, "$past"
-    $P551 = $P549."!make"($P550)
+    find_lex $P548, "$/"
+    find_lex $P549, "$past"
+    $P550 = $P548."!make"($P549)
 .annotate "line", 55
-    .return ($P551)
-  control_486:
+    .return ($P550)
+  control_485:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P552, exception, "payload"
-    .return ($P552)
+    getattribute $P551, exception, "payload"
+    .return ($P551)
 .end
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "_block500"  :anon :subid("37_1259103979.04974") :outer("36_1259103979.04974")
-    .param pmc param_503
+.sub "_block499"  :anon :subid("37_1259177750.15652") :outer("36_1259177750.15652")
+    .param pmc param_502
 .annotate "line", 59
-    new $P502, "Undef"
-    .lex "$ast", $P502
-    .lex "$_", param_503
-    find_lex $P504, "$_"
-    $P505 = $P504."ast"()
-    store_lex "$ast", $P505
+    new $P501, "Undef"
+    .lex "$ast", $P501
+    .lex "$_", param_502
+    find_lex $P503, "$_"
+    $P504 = $P503."ast"()
+    store_lex "$ast", $P504
 .annotate "line", 60
-    find_lex $P508, "$ast"
-    if $P508, if_507
-    set $P506, $P508
-    goto if_507_end
-  if_507:
+    find_lex $P507, "$ast"
+    if $P507, if_506
+    set $P505, $P507
+    goto if_506_end
+  if_506:
 .annotate "line", 61
-    find_lex $P515, "$lastlit"
-    if $P515, if_514
-    set $P513, $P515
-    goto if_514_end
-  if_514:
-    find_lex $P516, "$ast"
-    $S517 = $P516."pasttype"()
-    iseq $I518, $S517, "literal"
-    new $P513, 'Integer'
-    set $P513, $I518
-  if_514_end:
-    if $P513, if_512
-    set $P511, $P513
-    goto if_512_end
-  if_512:
+    find_lex $P514, "$lastlit"
+    if $P514, if_513
+    set $P512, $P514
+    goto if_513_end
+  if_513:
+    find_lex $P515, "$ast"
+    $S516 = $P515."pasttype"()
+    iseq $I517, $S516, "literal"
+    new $P512, 'Integer'
+    set $P512, $I517
+  if_513_end:
+    if $P512, if_511
+    set $P510, $P512
+    goto if_511_end
+  if_511:
 .annotate "line", 62
-    get_hll_global $P519, ["PAST"], "Node"
-    find_lex $P520, "$ast"
-    unless_null $P520, vivify_159
-    new $P520, "ResizablePMCArray"
+    get_hll_global $P518, ["PAST"], "Node"
+    find_lex $P519, "$ast"
+    unless_null $P519, vivify_159
+    new $P519, "ResizablePMCArray"
   vivify_159:
-    set $P521, $P520[0]
-    unless_null $P521, vivify_160
-    new $P521, "Undef"
+    set $P520, $P519[0]
+    unless_null $P520, vivify_160
+    new $P520, "Undef"
   vivify_160:
-    $P522 = $P519."ACCEPTS"($P521)
-    isfalse $I523, $P522
-    new $P511, 'Integer'
-    set $P511, $I523
-  if_512_end:
-    if $P511, if_510
+    $P521 = $P518."ACCEPTS"($P520)
+    isfalse $I522, $P521
+    new $P510, 'Integer'
+    set $P510, $I522
+  if_511_end:
+    if $P510, if_509
 .annotate "line", 66
-    find_lex $P530, "$past"
-    find_lex $P531, "$ast"
-    $P530."push"($P531)
+    find_lex $P529, "$past"
+    find_lex $P530, "$ast"
+    $P529."push"($P530)
 .annotate "line", 67
-    find_lex $P536, "$ast"
-    $S537 = $P536."pasttype"()
-    iseq $I538, $S537, "literal"
-    if $I538, if_535
-    new $P534, 'Integer'
-    set $P534, $I538
-    goto if_535_end
-  if_535:
+    find_lex $P535, "$ast"
+    $S536 = $P535."pasttype"()
+    iseq $I537, $S536, "literal"
+    if $I537, if_534
+    new $P533, 'Integer'
+    set $P533, $I537
+    goto if_534_end
+  if_534:
 .annotate "line", 68
-    get_hll_global $P539, ["PAST"], "Node"
-    find_lex $P540, "$ast"
-    unless_null $P540, vivify_161
-    new $P540, "ResizablePMCArray"
+    get_hll_global $P538, ["PAST"], "Node"
+    find_lex $P539, "$ast"
+    unless_null $P539, vivify_161
+    new $P539, "ResizablePMCArray"
   vivify_161:
-    set $P541, $P540[0]
-    unless_null $P541, vivify_162
-    new $P541, "Undef"
+    set $P540, $P539[0]
+    unless_null $P540, vivify_162
+    new $P540, "Undef"
   vivify_162:
-    $P542 = $P539."ACCEPTS"($P541)
-    isfalse $I543, $P542
-    new $P534, 'Integer'
-    set $P534, $I543
-  if_535_end:
-    if $P534, if_533
-    new $P545, "Integer"
-    assign $P545, 0
-    set $P532, $P545
-    goto if_533_end
-  if_533:
-    find_lex $P544, "$ast"
-    set $P532, $P544
-  if_533_end:
+    $P541 = $P538."ACCEPTS"($P540)
+    isfalse $I542, $P541
+    new $P533, 'Integer'
+    set $P533, $I542
+  if_534_end:
+    if $P533, if_532
+    new $P544, "Integer"
+    assign $P544, 0
+    set $P531, $P544
+    goto if_532_end
+  if_532:
+    find_lex $P543, "$ast"
+    set $P531, $P543
+  if_532_end:
 .annotate "line", 69
-    store_lex "$lastlit", $P532
+    store_lex "$lastlit", $P531
 .annotate "line", 65
-    set $P509, $P532
+    set $P508, $P531
 .annotate "line", 62
-    goto if_510_end
-  if_510:
+    goto if_509_end
+  if_509:
 .annotate "line", 63
-    find_lex $P524, "$lastlit"
-    unless_null $P524, vivify_163
-    new $P524, "ResizablePMCArray"
+    find_lex $P523, "$lastlit"
+    unless_null $P523, vivify_163
+    new $P523, "ResizablePMCArray"
   vivify_163:
-    set $P525, $P524[0]
-    unless_null $P525, vivify_164
-    new $P525, "Undef"
+    set $P524, $P523[0]
+    unless_null $P524, vivify_164
+    new $P524, "Undef"
   vivify_164:
-    find_lex $P526, "$ast"
-    unless_null $P526, vivify_165
-    new $P526, "ResizablePMCArray"
+    find_lex $P525, "$ast"
+    unless_null $P525, vivify_165
+    new $P525, "ResizablePMCArray"
   vivify_165:
-    set $P527, $P526[0]
-    unless_null $P527, vivify_166
-    new $P527, "Undef"
+    set $P526, $P525[0]
+    unless_null $P526, vivify_166
+    new $P526, "Undef"
   vivify_166:
-    concat $P528, $P525, $P527
-    find_lex $P529, "$lastlit"
-    unless_null $P529, vivify_167
-    new $P529, "ResizablePMCArray"
-    store_lex "$lastlit", $P529
+    concat $P527, $P524, $P526
+    find_lex $P528, "$lastlit"
+    unless_null $P528, vivify_167
+    new $P528, "ResizablePMCArray"
+    store_lex "$lastlit", $P528
   vivify_167:
-    set $P529[0], $P528
+    set $P528[0], $P527
 .annotate "line", 62
-    set $P509, $P528
-  if_510_end:
+    set $P508, $P527
+  if_509_end:
 .annotate "line", 60
-    set $P506, $P509
-  if_507_end:
+    set $P505, $P508
+  if_506_end:
 .annotate "line", 58
-    .return ($P506)
+    .return ($P505)
 .end
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "quantified_atom"  :subid("38_1259103979.04974") :method :outer("11_1259103979.04974")
-    .param pmc param_556
+.sub "quantified_atom"  :subid("38_1259177750.15652") :method :outer("11_1259177750.15652")
+    .param pmc param_555
 .annotate "line", 76
-    .const 'Sub' $P565 = "39_1259103979.04974" 
-    capture_lex $P565
-    new $P555, 'ExceptionHandler'
-    set_addr $P555, control_554
-    $P555."handle_types"(58)
-    push_eh $P555
+    .const 'Sub' $P564 = "39_1259177750.15652" 
+    capture_lex $P564
+    new $P554, 'ExceptionHandler'
+    set_addr $P554, control_553
+    $P554."handle_types"(58)
+    push_eh $P554
     .lex "self", self
-    .lex "$/", param_556
+    .lex "$/", param_555
 .annotate "line", 77
-    new $P557, "Undef"
-    .lex "$past", $P557
-    find_lex $P558, "$/"
-    unless_null $P558, vivify_168
-    new $P558, "Hash"
+    new $P556, "Undef"
+    .lex "$past", $P556
+    find_lex $P557, "$/"
+    unless_null $P557, vivify_168
+    new $P557, "Hash"
   vivify_168:
-    set $P559, $P558["atom"]
-    unless_null $P559, vivify_169
-    new $P559, "Undef"
+    set $P558, $P557["atom"]
+    unless_null $P558, vivify_169
+    new $P558, "Undef"
   vivify_169:
-    $P560 = $P559."ast"()
-    store_lex "$past", $P560
+    $P559 = $P558."ast"()
+    store_lex "$past", $P559
 .annotate "line", 78
-    find_lex $P562, "$/"
-    unless_null $P562, vivify_170
-    new $P562, "Hash"
+    find_lex $P561, "$/"
+    unless_null $P561, vivify_170
+    new $P561, "Hash"
   vivify_170:
-    set $P563, $P562["quantifier"]
-    unless_null $P563, vivify_171
-    new $P563, "Undef"
+    set $P562, $P561["quantifier"]
+    unless_null $P562, vivify_171
+    new $P562, "Undef"
   vivify_171:
-    if $P563, if_561
+    if $P562, if_560
 .annotate "line", 84
-    find_lex $P579, "$/"
-    unless_null $P579, vivify_172
-    new $P579, "Hash"
+    find_lex $P578, "$/"
+    unless_null $P578, vivify_172
+    new $P578, "Hash"
   vivify_172:
-    set $P580, $P579["backmod"]
-    unless_null $P580, vivify_173
-    new $P580, "ResizablePMCArray"
+    set $P579, $P578["backmod"]
+    unless_null $P579, vivify_173
+    new $P579, "ResizablePMCArray"
   vivify_173:
-    set $P581, $P580[0]
-    unless_null $P581, vivify_174
-    new $P581, "Undef"
+    set $P580, $P579[0]
+    unless_null $P580, vivify_174
+    new $P580, "Undef"
   vivify_174:
-    unless $P581, if_578_end
-    find_lex $P582, "$past"
-    find_lex $P583, "$/"
-    unless_null $P583, vivify_175
-    new $P583, "Hash"
+    unless $P580, if_577_end
+    find_lex $P581, "$past"
+    find_lex $P582, "$/"
+    unless_null $P582, vivify_175
+    new $P582, "Hash"
   vivify_175:
-    set $P584, $P583["backmod"]
-    unless_null $P584, vivify_176
-    new $P584, "ResizablePMCArray"
+    set $P583, $P582["backmod"]
+    unless_null $P583, vivify_176
+    new $P583, "ResizablePMCArray"
   vivify_176:
-    set $P585, $P584[0]
-    unless_null $P585, vivify_177
-    new $P585, "Undef"
+    set $P584, $P583[0]
+    unless_null $P584, vivify_177
+    new $P584, "Undef"
   vivify_177:
-    "backmod"($P582, $P585)
-  if_578_end:
-    goto if_561_end
-  if_561:
+    "backmod"($P581, $P584)
+  if_577_end:
+    goto if_560_end
+  if_560:
 .annotate "line", 78
-    .const 'Sub' $P565 = "39_1259103979.04974" 
-    capture_lex $P565
-    $P565()
-  if_561_end:
+    .const 'Sub' $P564 = "39_1259177750.15652" 
+    capture_lex $P564
+    $P564()
+  if_560_end:
 .annotate "line", 85
+    find_lex $P590, "$past"
+    if $P590, if_589
+    set $P588, $P590
+    goto if_589_end
+  if_589:
     find_lex $P591, "$past"
-    if $P591, if_590
-    set $P589, $P591
-    goto if_590_end
-  if_590:
-    find_lex $P592, "$past"
-    $P593 = $P592."backtrack"()
-    isfalse $I594, $P593
-    new $P589, 'Integer'
-    set $P589, $I594
-  if_590_end:
-    if $P589, if_588
-    set $P587, $P589
-    goto if_588_end
-  if_588:
-    get_global $P595, "@MODIFIERS"
-    unless_null $P595, vivify_181
-    new $P595, "ResizablePMCArray"
+    $P592 = $P591."backtrack"()
+    isfalse $I593, $P592
+    new $P588, 'Integer'
+    set $P588, $I593
+  if_589_end:
+    if $P588, if_587
+    set $P586, $P588
+    goto if_587_end
+  if_587:
+    get_global $P594, "@MODIFIERS"
+    unless_null $P594, vivify_181
+    new $P594, "ResizablePMCArray"
   vivify_181:
-    set $P596, $P595[0]
-    unless_null $P596, vivify_182
-    new $P596, "Hash"
+    set $P595, $P594[0]
+    unless_null $P595, vivify_182
+    new $P595, "Hash"
   vivify_182:
-    set $P597, $P596["r"]
-    unless_null $P597, vivify_183
-    new $P597, "Undef"
+    set $P596, $P595["r"]
+    unless_null $P596, vivify_183
+    new $P596, "Undef"
   vivify_183:
-    set $P587, $P597
-  if_588_end:
-    unless $P587, if_586_end
+    set $P586, $P596
+  if_587_end:
+    unless $P586, if_585_end
 .annotate "line", 86
-    find_lex $P598, "$past"
-    $P598."backtrack"("r")
-  if_586_end:
+    find_lex $P597, "$past"
+    $P597."backtrack"("r")
+  if_585_end:
 .annotate "line", 88
-    find_lex $P599, "$/"
-    find_lex $P600, "$past"
-    $P601 = $P599."!make"($P600)
+    find_lex $P598, "$/"
+    find_lex $P599, "$past"
+    $P600 = $P598."!make"($P599)
 .annotate "line", 76
-    .return ($P601)
-  control_554:
+    .return ($P600)
+  control_553:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P602, exception, "payload"
-    .return ($P602)
+    getattribute $P601, exception, "payload"
+    .return ($P601)
 .end
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "_block564"  :anon :subid("39_1259103979.04974") :outer("38_1259103979.04974")
+.sub "_block563"  :anon :subid("39_1259177750.15652") :outer("38_1259177750.15652")
 .annotate "line", 80
-    new $P566, "Undef"
-    .lex "$qast", $P566
+    new $P565, "Undef"
+    .lex "$qast", $P565
 .annotate "line", 79
-    find_lex $P568, "$past"
-    isfalse $I569, $P568
-    unless $I569, if_567_end
-    find_lex $P570, "$/"
-    $P570."panic"("Can't quantify zero-width atom")
-  if_567_end:
+    find_lex $P567, "$past"
+    isfalse $I568, $P567
+    unless $I568, if_566_end
+    find_lex $P569, "$/"
+    $P569."panic"("Can't quantify zero-width atom")
+  if_566_end:
 .annotate "line", 80
-    find_lex $P571, "$/"
-    unless_null $P571, vivify_178
-    new $P571, "Hash"
+    find_lex $P570, "$/"
+    unless_null $P570, vivify_178
+    new $P570, "Hash"
   vivify_178:
-    set $P572, $P571["quantifier"]
-    unless_null $P572, vivify_179
-    new $P572, "ResizablePMCArray"
+    set $P571, $P570["quantifier"]
+    unless_null $P571, vivify_179
+    new $P571, "ResizablePMCArray"
   vivify_179:
-    set $P573, $P572[0]
-    unless_null $P573, vivify_180
-    new $P573, "Undef"
+    set $P572, $P571[0]
+    unless_null $P572, vivify_180
+    new $P572, "Undef"
   vivify_180:
-    $P574 = $P573."ast"()
-    store_lex "$qast", $P574
+    $P573 = $P572."ast"()
+    store_lex "$qast", $P573
 .annotate "line", 81
-    find_lex $P575, "$qast"
-    find_lex $P576, "$past"
-    $P575."unshift"($P576)
+    find_lex $P574, "$qast"
+    find_lex $P575, "$past"
+    $P574."unshift"($P575)
 .annotate "line", 82
-    find_lex $P577, "$qast"
-    store_lex "$past", $P577
+    find_lex $P576, "$qast"
+    store_lex "$past", $P576
 .annotate "line", 78
-    .return ($P577)
+    .return ($P576)
 .end
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "atom"  :subid("40_1259103979.04974") :method :outer("11_1259103979.04974")
-    .param pmc param_606
+.sub "atom"  :subid("40_1259177750.15652") :method :outer("11_1259177750.15652")
+    .param pmc param_605
 .annotate "line", 91
-    new $P605, 'ExceptionHandler'
-    set_addr $P605, control_604
-    $P605."handle_types"(58)
-    push_eh $P605
+    new $P604, 'ExceptionHandler'
+    set_addr $P604, control_603
+    $P604."handle_types"(58)
+    push_eh $P604
     .lex "self", self
-    .lex "$/", param_606
+    .lex "$/", param_605
 .annotate "line", 92
-    new $P607, "Undef"
-    .lex "$past", $P607
+    new $P606, "Undef"
+    .lex "$past", $P606
 .annotate "line", 91
-    find_lex $P608, "$past"
+    find_lex $P607, "$past"
 .annotate "line", 93
-    find_lex $P610, "$/"
-    unless_null $P610, vivify_184
-    new $P610, "Hash"
+    find_lex $P609, "$/"
+    unless_null $P609, vivify_184
+    new $P609, "Hash"
   vivify_184:
-    set $P611, $P610["metachar"]
-    unless_null $P611, vivify_185
-    new $P611, "Undef"
+    set $P610, $P609["metachar"]
+    unless_null $P610, vivify_185
+    new $P610, "Undef"
   vivify_185:
-    if $P611, if_609
+    if $P610, if_608
 .annotate "line", 95
-    get_hll_global $P615, ["PAST"], "Regex"
-    find_lex $P616, "$/"
-    set $S617, $P616
-    find_lex $P618, "$/"
-    $P619 = $P615."new"($S617, "literal" :named("pasttype"), $P618 :named("node"))
-    store_lex "$past", $P619
+    get_hll_global $P614, ["PAST"], "Regex"
+    find_lex $P615, "$/"
+    set $S616, $P615
+    find_lex $P617, "$/"
+    $P618 = $P614."new"($S616, "literal" :named("pasttype"), $P617 :named("node"))
+    store_lex "$past", $P618
 .annotate "line", 96
-    get_global $P621, "@MODIFIERS"
-    unless_null $P621, vivify_186
-    new $P621, "ResizablePMCArray"
+    get_global $P620, "@MODIFIERS"
+    unless_null $P620, vivify_186
+    new $P620, "ResizablePMCArray"
   vivify_186:
-    set $P622, $P621[0]
-    unless_null $P622, vivify_187
-    new $P622, "Hash"
+    set $P621, $P620[0]
+    unless_null $P621, vivify_187
+    new $P621, "Hash"
   vivify_187:
-    set $P623, $P622["i"]
-    unless_null $P623, vivify_188
-    new $P623, "Undef"
+    set $P622, $P621["i"]
+    unless_null $P622, vivify_188
+    new $P622, "Undef"
   vivify_188:
-    unless $P623, if_620_end
-    find_lex $P624, "$past"
-    $P624."subtype"("ignorecase")
-  if_620_end:
+    unless $P622, if_619_end
+    find_lex $P623, "$past"
+    $P623."subtype"("ignorecase")
+  if_619_end:
 .annotate "line", 94
-    goto if_609_end
-  if_609:
+    goto if_608_end
+  if_608:
 .annotate "line", 93
-    find_lex $P612, "$/"
-    unless_null $P612, vivify_189
-    new $P612, "Hash"
+    find_lex $P611, "$/"
+    unless_null $P611, vivify_189
+    new $P611, "Hash"
   vivify_189:
-    set $P613, $P612["metachar"]
-    unless_null $P613, vivify_190
-    new $P613, "Undef"
+    set $P612, $P611["metachar"]
+    unless_null $P612, vivify_190
+    new $P612, "Undef"
   vivify_190:
-    $P614 = $P613."ast"()
-    store_lex "$past", $P614
-  if_609_end:
+    $P613 = $P612."ast"()
+    store_lex "$past", $P613
+  if_608_end:
 .annotate "line", 98
-    find_lex $P625, "$/"
-    find_lex $P626, "$past"
-    $P627 = $P625."!make"($P626)
+    find_lex $P624, "$/"
+    find_lex $P625, "$past"
+    $P626 = $P624."!make"($P625)
 .annotate "line", 91
-    .return ($P627)
-  control_604:
+    .return ($P626)
+  control_603:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P628, exception, "payload"
-    .return ($P628)
+    getattribute $P627, exception, "payload"
+    .return ($P627)
 .end
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "quantifier:sym<*>"  :subid("41_1259103979.04974") :method :outer("11_1259103979.04974")
-    .param pmc param_632
+.sub "quantifier:sym<*>"  :subid("41_1259177750.15652") :method :outer("11_1259177750.15652")
+    .param pmc param_631
 .annotate "line", 101
-    new $P631, 'ExceptionHandler'
-    set_addr $P631, control_630
-    $P631."handle_types"(58)
-    push_eh $P631
+    new $P630, 'ExceptionHandler'
+    set_addr $P630, control_629
+    $P630."handle_types"(58)
+    push_eh $P630
     .lex "self", self
-    .lex "$/", param_632
+    .lex "$/", param_631
 .annotate "line", 102
-    new $P633, "Undef"
-    .lex "$past", $P633
-    get_hll_global $P634, ["PAST"], "Regex"
-    find_lex $P635, "$/"
-    $P636 = $P634."new"("quant" :named("pasttype"), $P635 :named("node"))
-    store_lex "$past", $P636
+    new $P632, "Undef"
+    .lex "$past", $P632
+    get_hll_global $P633, ["PAST"], "Regex"
+    find_lex $P634, "$/"
+    $P635 = $P633."new"("quant" :named("pasttype"), $P634 :named("node"))
+    store_lex "$past", $P635
 .annotate "line", 103
-    find_lex $P637, "$/"
-    find_lex $P638, "$past"
-    find_lex $P639, "$/"
-    unless_null $P639, vivify_191
-    new $P639, "Hash"
+    find_lex $P636, "$/"
+    find_lex $P637, "$past"
+    find_lex $P638, "$/"
+    unless_null $P638, vivify_191
+    new $P638, "Hash"
   vivify_191:
-    set $P640, $P639["backmod"]
-    unless_null $P640, vivify_192
-    new $P640, "Undef"
+    set $P639, $P638["backmod"]
+    unless_null $P639, vivify_192
+    new $P639, "Undef"
   vivify_192:
-    $P641 = "backmod"($P638, $P640)
-    $P642 = $P637."!make"($P641)
+    $P640 = "backmod"($P637, $P639)
+    $P641 = $P636."!make"($P640)
 .annotate "line", 101
-    .return ($P642)
-  control_630:
+    .return ($P641)
+  control_629:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P643, exception, "payload"
-    .return ($P643)
+    getattribute $P642, exception, "payload"
+    .return ($P642)
 .end
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "quantifier:sym<+>"  :subid("42_1259103979.04974") :method :outer("11_1259103979.04974")
-    .param pmc param_647
+.sub "quantifier:sym<+>"  :subid("42_1259177750.15652") :method :outer("11_1259177750.15652")
+    .param pmc param_646
 .annotate "line", 106
-    new $P646, 'ExceptionHandler'
-    set_addr $P646, control_645
-    $P646."handle_types"(58)
-    push_eh $P646
+    new $P645, 'ExceptionHandler'
+    set_addr $P645, control_644
+    $P645."handle_types"(58)
+    push_eh $P645
     .lex "self", self
-    .lex "$/", param_647
+    .lex "$/", param_646
 .annotate "line", 107
-    new $P648, "Undef"
-    .lex "$past", $P648
-    get_hll_global $P649, ["PAST"], "Regex"
-    find_lex $P650, "$/"
-    $P651 = $P649."new"("quant" :named("pasttype"), 1 :named("min"), $P650 :named("node"))
-    store_lex "$past", $P651
+    new $P647, "Undef"
+    .lex "$past", $P647
+    get_hll_global $P648, ["PAST"], "Regex"
+    find_lex $P649, "$/"
+    $P650 = $P648."new"("quant" :named("pasttype"), 1 :named("min"), $P649 :named("node"))
+    store_lex "$past", $P650
 .annotate "line", 108
-    find_lex $P652, "$/"
-    find_lex $P653, "$past"
-    find_lex $P654, "$/"
-    unless_null $P654, vivify_193
-    new $P654, "Hash"
+    find_lex $P651, "$/"
+    find_lex $P652, "$past"
+    find_lex $P653, "$/"
+    unless_null $P653, vivify_193
+    new $P653, "Hash"
   vivify_193:
-    set $P655, $P654["backmod"]
-    unless_null $P655, vivify_194
-    new $P655, "Undef"
+    set $P654, $P653["backmod"]
+    unless_null $P654, vivify_194
+    new $P654, "Undef"
   vivify_194:
-    $P656 = "backmod"($P653, $P655)
-    $P657 = $P652."!make"($P656)
+    $P655 = "backmod"($P652, $P654)
+    $P656 = $P651."!make"($P655)
 .annotate "line", 106
-    .return ($P657)
-  control_645:
+    .return ($P656)
+  control_644:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P658, exception, "payload"
-    .return ($P658)
+    getattribute $P657, exception, "payload"
+    .return ($P657)
 .end
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "quantifier:sym<?>"  :subid("43_1259103979.04974") :method :outer("11_1259103979.04974")
-    .param pmc param_662
+.sub "quantifier:sym<?>"  :subid("43_1259177750.15652") :method :outer("11_1259177750.15652")
+    .param pmc param_661
 .annotate "line", 111
-    new $P661, 'ExceptionHandler'
-    set_addr $P661, control_660
-    $P661."handle_types"(58)
-    push_eh $P661
+    new $P660, 'ExceptionHandler'
+    set_addr $P660, control_659
+    $P660."handle_types"(58)
+    push_eh $P660
     .lex "self", self
-    .lex "$/", param_662
+    .lex "$/", param_661
 .annotate "line", 112
-    new $P663, "Undef"
-    .lex "$past", $P663
-    get_hll_global $P664, ["PAST"], "Regex"
-    find_lex $P665, "$/"
-    $P666 = $P664."new"("quant" :named("pasttype"), 0 :named("min"), 1 :named("max"), $P665 :named("node"))
-    store_lex "$past", $P666
+    new $P662, "Undef"
+    .lex "$past", $P662
+    get_hll_global $P663, ["PAST"], "Regex"
+    find_lex $P664, "$/"
+    $P665 = $P663."new"("quant" :named("pasttype"), 0 :named("min"), 1 :named("max"), $P664 :named("node"))
+    store_lex "$past", $P665
 .annotate "line", 113
-    find_lex $P667, "$/"
-    find_lex $P668, "$past"
-    find_lex $P669, "$/"
-    unless_null $P669, vivify_195
-    new $P669, "Hash"
+    find_lex $P666, "$/"
+    find_lex $P667, "$past"
+    find_lex $P668, "$/"
+    unless_null $P668, vivify_195
+    new $P668, "Hash"
   vivify_195:
-    set $P670, $P669["backmod"]
-    unless_null $P670, vivify_196
-    new $P670, "Undef"
+    set $P669, $P668["backmod"]
+    unless_null $P669, vivify_196
+    new $P669, "Undef"
   vivify_196:
-    $P671 = "backmod"($P668, $P670)
-    $P667."!make"($P671)
+    $P670 = "backmod"($P667, $P669)
+    $P666."!make"($P670)
 .annotate "line", 114
-    find_lex $P672, "$/"
-    find_lex $P673, "$past"
-    $P674 = $P672."!make"($P673)
+    find_lex $P671, "$/"
+    find_lex $P672, "$past"
+    $P673 = $P671."!make"($P672)
 .annotate "line", 111
-    .return ($P674)
-  control_660:
+    .return ($P673)
+  control_659:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P675, exception, "payload"
-    .return ($P675)
+    getattribute $P674, exception, "payload"
+    .return ($P674)
 .end
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "quantifier:sym<**>"  :subid("44_1259103979.04974") :method :outer("11_1259103979.04974")
-    .param pmc param_679
+.sub "quantifier:sym<**>"  :subid("44_1259177750.15652") :method :outer("11_1259177750.15652")
+    .param pmc param_678
 .annotate "line", 117
-    new $P678, 'ExceptionHandler'
-    set_addr $P678, control_677
-    $P678."handle_types"(58)
-    push_eh $P678
+    new $P677, 'ExceptionHandler'
+    set_addr $P677, control_676
+    $P677."handle_types"(58)
+    push_eh $P677
     .lex "self", self
-    .lex "$/", param_679
+    .lex "$/", param_678
 .annotate "line", 118
-    new $P680, "Undef"
-    .lex "$past", $P680
+    new $P679, "Undef"
+    .lex "$past", $P679
 .annotate "line", 117
-    find_lex $P681, "$past"
+    find_lex $P680, "$past"
 .annotate "line", 119
-    find_lex $P683, "$/"
-    unless_null $P683, vivify_197
-    new $P683, "Hash"
+    find_lex $P682, "$/"
+    unless_null $P682, vivify_197
+    new $P682, "Hash"
   vivify_197:
-    set $P684, $P683["quantified_atom"]
-    unless_null $P684, vivify_198
-    new $P684, "Undef"
+    set $P683, $P682["quantified_atom"]
+    unless_null $P683, vivify_198
+    new $P683, "Undef"
   vivify_198:
-    if $P684, if_682
+    if $P683, if_681
 .annotate "line", 124
-    get_hll_global $P691, ["PAST"], "Regex"
-    find_lex $P692, "$/"
-    unless_null $P692, vivify_199
-    new $P692, "Hash"
+    get_hll_global $P690, ["PAST"], "Regex"
+    find_lex $P691, "$/"
+    unless_null $P691, vivify_199
+    new $P691, "Hash"
   vivify_199:
-    set $P693, $P692["min"]
-    unless_null $P693, vivify_200
-    new $P693, "Undef"
+    set $P692, $P691["min"]
+    unless_null $P692, vivify_200
+    new $P692, "Undef"
   vivify_200:
-    set $N694, $P693
-    find_lex $P695, "$/"
-    $P696 = $P691."new"("quant" :named("pasttype"), $N694 :named("min"), $P695 :named("node"))
-    store_lex "$past", $P696
+    set $N693, $P692
+    find_lex $P694, "$/"
+    $P695 = $P690."new"("quant" :named("pasttype"), $N693 :named("min"), $P694 :named("node"))
+    store_lex "$past", $P695
 .annotate "line", 125
-    find_lex $P698, "$/"
-    unless_null $P698, vivify_201
-    new $P698, "Hash"
+    find_lex $P697, "$/"
+    unless_null $P697, vivify_201
+    new $P697, "Hash"
   vivify_201:
-    set $P699, $P698["max"]
-    unless_null $P699, vivify_202
-    new $P699, "Undef"
+    set $P698, $P697["max"]
+    unless_null $P698, vivify_202
+    new $P698, "Undef"
   vivify_202:
-    isfalse $I700, $P699
-    if $I700, if_697
+    isfalse $I699, $P698
+    if $I699, if_696
 .annotate "line", 126
-    find_lex $P706, "$/"
-    unless_null $P706, vivify_203
-    new $P706, "Hash"
+    find_lex $P705, "$/"
+    unless_null $P705, vivify_203
+    new $P705, "Hash"
   vivify_203:
-    set $P707, $P706["max"]
-    unless_null $P707, vivify_204
-    new $P707, "ResizablePMCArray"
+    set $P706, $P705["max"]
+    unless_null $P706, vivify_204
+    new $P706, "ResizablePMCArray"
   vivify_204:
-    set $P708, $P707[0]
-    unless_null $P708, vivify_205
-    new $P708, "Undef"
+    set $P707, $P706[0]
+    unless_null $P707, vivify_205
+    new $P707, "Undef"
   vivify_205:
-    set $S709, $P708
-    isne $I710, $S709, "*"
-    unless $I710, if_705_end
-    find_lex $P711, "$past"
-    find_lex $P712, "$/"
-    unless_null $P712, vivify_206
-    new $P712, "Hash"
+    set $S708, $P707
+    isne $I709, $S708, "*"
+    unless $I709, if_704_end
+    find_lex $P710, "$past"
+    find_lex $P711, "$/"
+    unless_null $P711, vivify_206
+    new $P711, "Hash"
   vivify_206:
-    set $P713, $P712["max"]
-    unless_null $P713, vivify_207
-    new $P713, "ResizablePMCArray"
+    set $P712, $P711["max"]
+    unless_null $P712, vivify_207
+    new $P712, "ResizablePMCArray"
   vivify_207:
-    set $P714, $P713[0]
-    unless_null $P714, vivify_208
-    new $P714, "Undef"
+    set $P713, $P712[0]
+    unless_null $P713, vivify_208
+    new $P713, "Undef"
   vivify_208:
-    set $N715, $P714
-    $P711."max"($N715)
-  if_705_end:
-    goto if_697_end
-  if_697:
+    set $N714, $P713
+    $P710."max"($N714)
+  if_704_end:
+    goto if_696_end
+  if_696:
 .annotate "line", 125
-    find_lex $P701, "$past"
-    find_lex $P702, "$/"
-    unless_null $P702, vivify_209
-    new $P702, "Hash"
+    find_lex $P700, "$past"
+    find_lex $P701, "$/"
+    unless_null $P701, vivify_209
+    new $P701, "Hash"
   vivify_209:
-    set $P703, $P702["min"]
-    unless_null $P703, vivify_210
-    new $P703, "Undef"
+    set $P702, $P701["min"]
+    unless_null $P702, vivify_210
+    new $P702, "Undef"
   vivify_210:
-    set $N704, $P703
-    $P701."max"($N704)
-  if_697_end:
+    set $N703, $P702
+    $P700."max"($N703)
+  if_696_end:
 .annotate "line", 123
-    goto if_682_end
-  if_682:
+    goto if_681_end
+  if_681:
 .annotate "line", 120
-    get_hll_global $P685, ["PAST"], "Regex"
+    get_hll_global $P684, ["PAST"], "Regex"
 .annotate "line", 121
-    find_lex $P686, "$/"
-    unless_null $P686, vivify_211
-    new $P686, "Hash"
+    find_lex $P685, "$/"
+    unless_null $P685, vivify_211
+    new $P685, "Hash"
   vivify_211:
-    set $P687, $P686["quantified_atom"]
-    unless_null $P687, vivify_212
-    new $P687, "Undef"
+    set $P686, $P685["quantified_atom"]
+    unless_null $P686, vivify_212
+    new $P686, "Undef"
   vivify_212:
-    $P688 = $P687."ast"()
-    find_lex $P689, "$/"
-    $P690 = $P685."new"("quant" :named("pasttype"), 1 :named("min"), $P688 :named("sep"), $P689 :named("node"))
+    $P687 = $P686."ast"()
+    find_lex $P688, "$/"
+    $P689 = $P684."new"("quant" :named("pasttype"), 1 :named("min"), $P687 :named("sep"), $P688 :named("node"))
 .annotate "line", 120
-    store_lex "$past", $P690
-  if_682_end:
+    store_lex "$past", $P689
+  if_681_end:
 .annotate "line", 128
-    find_lex $P716, "$/"
-    find_lex $P717, "$past"
-    find_lex $P718, "$/"
-    unless_null $P718, vivify_213
-    new $P718, "Hash"
+    find_lex $P715, "$/"
+    find_lex $P716, "$past"
+    find_lex $P717, "$/"
+    unless_null $P717, vivify_213
+    new $P717, "Hash"
   vivify_213:
-    set $P719, $P718["backmod"]
-    unless_null $P719, vivify_214
-    new $P719, "Undef"
+    set $P718, $P717["backmod"]
+    unless_null $P718, vivify_214
+    new $P718, "Undef"
   vivify_214:
-    $P720 = "backmod"($P717, $P719)
-    $P721 = $P716."!make"($P720)
+    $P719 = "backmod"($P716, $P718)
+    $P720 = $P715."!make"($P719)
 .annotate "line", 117
-    .return ($P721)
-  control_677:
+    .return ($P720)
+  control_676:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P722, exception, "payload"
-    .return ($P722)
+    getattribute $P721, exception, "payload"
+    .return ($P721)
 .end
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "metachar:sym<ws>"  :subid("45_1259103979.04974") :method :outer("11_1259103979.04974")
-    .param pmc param_726
+.sub "metachar:sym<ws>"  :subid("45_1259177750.15652") :method :outer("11_1259177750.15652")
+    .param pmc param_725
 .annotate "line", 131
-    new $P725, 'ExceptionHandler'
-    set_addr $P725, control_724
-    $P725."handle_types"(58)
-    push_eh $P725
+    new $P724, 'ExceptionHandler'
+    set_addr $P724, control_723
+    $P724."handle_types"(58)
+    push_eh $P724
     .lex "self", self
-    .lex "$/", param_726
+    .lex "$/", param_725
 .annotate "line", 132
-    new $P727, "Undef"
-    .lex "$past", $P727
+    new $P726, "Undef"
+    .lex "$past", $P726
 .annotate "line", 133
-    get_global $P730, "@MODIFIERS"
-    unless_null $P730, vivify_215
-    new $P730, "ResizablePMCArray"
+    get_global $P729, "@MODIFIERS"
+    unless_null $P729, vivify_215
+    new $P729, "ResizablePMCArray"
   vivify_215:
-    set $P731, $P730[0]
-    unless_null $P731, vivify_216
-    new $P731, "Hash"
+    set $P730, $P729[0]
+    unless_null $P730, vivify_216
+    new $P730, "Hash"
   vivify_216:
-    set $P732, $P731["s"]
-    unless_null $P732, vivify_217
-    new $P732, "Undef"
+    set $P731, $P730["s"]
+    unless_null $P731, vivify_217
+    new $P731, "Undef"
   vivify_217:
-    if $P732, if_729
-    new $P736, "Integer"
-    assign $P736, 0
-    set $P728, $P736
-    goto if_729_end
-  if_729:
-    get_hll_global $P733, ["PAST"], "Regex"
-    find_lex $P734, "$/"
-    $P735 = $P733."new"("ws", "subrule" :named("pasttype"), "method" :named("subtype"), $P734 :named("node"))
-    set $P728, $P735
-  if_729_end:
-    store_lex "$past", $P728
+    if $P731, if_728
+    new $P735, "Integer"
+    assign $P735, 0
+    set $P727, $P735
+    goto if_728_end
+  if_728:
+    get_hll_global $P732, ["PAST"], "Regex"
+    find_lex $P733, "$/"
+    $P734 = $P732."new"("ws", "subrule" :named("pasttype"), "method" :named("subtype"), $P733 :named("node"))
+    set $P727, $P734
+  if_728_end:
+    store_lex "$past", $P727
 .annotate "line", 136
-    find_lex $P737, "$/"
-    find_lex $P738, "$past"
-    $P739 = $P737."!make"($P738)
+    find_lex $P736, "$/"
+    find_lex $P737, "$past"
+    $P738 = $P736."!make"($P737)
 .annotate "line", 131
-    .return ($P739)
-  control_724:
+    .return ($P738)
+  control_723:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P740, exception, "payload"
-    .return ($P740)
+    getattribute $P739, exception, "payload"
+    .return ($P739)
 .end
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "metachar:sym<[ ]>"  :subid("46_1259103979.04974") :method :outer("11_1259103979.04974")
-    .param pmc param_744
+.sub "metachar:sym<[ ]>"  :subid("46_1259177750.15652") :method :outer("11_1259177750.15652")
+    .param pmc param_743
 .annotate "line", 140
-    new $P743, 'ExceptionHandler'
-    set_addr $P743, control_742
-    $P743."handle_types"(58)
-    push_eh $P743
+    new $P742, 'ExceptionHandler'
+    set_addr $P742, control_741
+    $P742."handle_types"(58)
+    push_eh $P742
     .lex "self", self
-    .lex "$/", param_744
+    .lex "$/", param_743
 .annotate "line", 141
+    find_lex $P744, "$/"
     find_lex $P745, "$/"
-    find_lex $P746, "$/"
-    unless_null $P746, vivify_218
-    new $P746, "Hash"
+    unless_null $P745, vivify_218
+    new $P745, "Hash"
   vivify_218:
-    set $P747, $P746["nibbler"]
-    unless_null $P747, vivify_219
-    new $P747, "Undef"
+    set $P746, $P745["nibbler"]
+    unless_null $P746, vivify_219
+    new $P746, "Undef"
   vivify_219:
-    $P748 = $P747."ast"()
-    $P749 = $P745."!make"($P748)
+    $P747 = $P746."ast"()
+    $P748 = $P744."!make"($P747)
 .annotate "line", 140
-    .return ($P749)
-  control_742:
+    .return ($P748)
+  control_741:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P750, exception, "payload"
-    .return ($P750)
+    getattribute $P749, exception, "payload"
+    .return ($P749)
 .end
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "metachar:sym<( )>"  :subid("47_1259103979.04974") :method :outer("11_1259103979.04974")
-    .param pmc param_754
+.sub "metachar:sym<( )>"  :subid("47_1259177750.15652") :method :outer("11_1259177750.15652")
+    .param pmc param_753
 .annotate "line", 144
-    new $P753, 'ExceptionHandler'
-    set_addr $P753, control_752
-    $P753."handle_types"(58)
-    push_eh $P753
+    new $P752, 'ExceptionHandler'
+    set_addr $P752, control_751
+    $P752."handle_types"(58)
+    push_eh $P752
     .lex "self", self
-    .lex "$/", param_754
+    .lex "$/", param_753
 .annotate "line", 145
-    new $P755, "Undef"
-    .lex "$subpast", $P755
+    new $P754, "Undef"
+    .lex "$subpast", $P754
 .annotate "line", 146
-    new $P756, "Undef"
-    .lex "$past", $P756
+    new $P755, "Undef"
+    .lex "$past", $P755
 .annotate "line", 145
-    find_lex $P757, "$/"
-    unless_null $P757, vivify_220
-    new $P757, "Hash"
+    find_lex $P756, "$/"
+    unless_null $P756, vivify_220
+    new $P756, "Hash"
   vivify_220:
-    set $P758, $P757["nibbler"]
-    unless_null $P758, vivify_221
-    new $P758, "Undef"
+    set $P757, $P756["nibbler"]
+    unless_null $P757, vivify_221
+    new $P757, "Undef"
   vivify_221:
-    $P759 = $P758."ast"()
-    $P760 = "buildsub"($P759)
-    store_lex "$subpast", $P760
+    $P758 = $P757."ast"()
+    $P759 = "buildsub"($P758)
+    store_lex "$subpast", $P759
 .annotate "line", 146
-    get_hll_global $P761, ["PAST"], "Regex"
-    find_lex $P762, "$subpast"
-    find_lex $P763, "$/"
-    $P764 = $P761."new"($P762, "subrule" :named("pasttype"), "capture" :named("subtype"), $P763 :named("node"))
-    store_lex "$past", $P764
+    get_hll_global $P760, ["PAST"], "Regex"
+    find_lex $P761, "$subpast"
+    find_lex $P762, "$/"
+    $P763 = $P760."new"($P761, "subrule" :named("pasttype"), "capture" :named("subtype"), $P762 :named("node"))
+    store_lex "$past", $P763
 .annotate "line", 148
-    find_lex $P765, "$/"
-    find_lex $P766, "$past"
-    $P767 = $P765."!make"($P766)
+    find_lex $P764, "$/"
+    find_lex $P765, "$past"
+    $P766 = $P764."!make"($P765)
 .annotate "line", 144
-    .return ($P767)
-  control_752:
+    .return ($P766)
+  control_751:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P768, exception, "payload"
-    .return ($P768)
+    getattribute $P767, exception, "payload"
+    .return ($P767)
 .end
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "metachar:sym<'>"  :subid("48_1259103979.04974") :method :outer("11_1259103979.04974")
-    .param pmc param_772
+.sub "metachar:sym<'>"  :subid("48_1259177750.15652") :method :outer("11_1259177750.15652")
+    .param pmc param_771
 .annotate "line", 151
-    new $P771, 'ExceptionHandler'
-    set_addr $P771, control_770
-    $P771."handle_types"(58)
-    push_eh $P771
+    new $P770, 'ExceptionHandler'
+    set_addr $P770, control_769
+    $P770."handle_types"(58)
+    push_eh $P770
     .lex "self", self
-    .lex "$/", param_772
+    .lex "$/", param_771
 .annotate "line", 152
-    new $P773, "Undef"
-    .lex "$quote", $P773
+    new $P772, "Undef"
+    .lex "$quote", $P772
 .annotate "line", 154
-    new $P774, "Undef"
-    .lex "$past", $P774
+    new $P773, "Undef"
+    .lex "$past", $P773
 .annotate "line", 152
-    find_lex $P775, "$/"
-    unless_null $P775, vivify_222
-    new $P775, "Hash"
+    find_lex $P774, "$/"
+    unless_null $P774, vivify_222
+    new $P774, "Hash"
   vivify_222:
-    set $P776, $P775["quote_EXPR"]
-    unless_null $P776, vivify_223
-    new $P776, "Undef"
+    set $P775, $P774["quote_EXPR"]
+    unless_null $P775, vivify_223
+    new $P775, "Undef"
   vivify_223:
-    $P777 = $P776."ast"()
-    store_lex "$quote", $P777
+    $P776 = $P775."ast"()
+    store_lex "$quote", $P776
 .annotate "line", 153
-    get_hll_global $P779, ["PAST"], "Val"
-    find_lex $P780, "$quote"
-    $P781 = $P779."ACCEPTS"($P780)
-    unless $P781, if_778_end
-    find_lex $P782, "$quote"
-    $P783 = $P782."value"()
-    store_lex "$quote", $P783
-  if_778_end:
+    get_hll_global $P778, ["PAST"], "Val"
+    find_lex $P779, "$quote"
+    $P780 = $P778."ACCEPTS"($P779)
+    unless $P780, if_777_end
+    find_lex $P781, "$quote"
+    $P782 = $P781."value"()
+    store_lex "$quote", $P782
+  if_777_end:
 .annotate "line", 154
-    get_hll_global $P784, ["PAST"], "Regex"
-    find_lex $P785, "$quote"
-    find_lex $P786, "$/"
-    $P787 = $P784."new"($P785, "literal" :named("pasttype"), $P786 :named("node"))
-    store_lex "$past", $P787
+    get_hll_global $P783, ["PAST"], "Regex"
+    find_lex $P784, "$quote"
+    find_lex $P785, "$/"
+    $P786 = $P783."new"($P784, "literal" :named("pasttype"), $P785 :named("node"))
+    store_lex "$past", $P786
 .annotate "line", 155
-    find_lex $P788, "$/"
-    find_lex $P789, "$past"
-    $P790 = $P788."!make"($P789)
+    find_lex $P787, "$/"
+    find_lex $P788, "$past"
+    $P789 = $P787."!make"($P788)
 .annotate "line", 151
-    .return ($P790)
-  control_770:
+    .return ($P789)
+  control_769:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P791, exception, "payload"
-    .return ($P791)
+    getattribute $P790, exception, "payload"
+    .return ($P790)
 .end
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "metachar:sym<\">"  :subid("49_1259103979.04974") :method :outer("11_1259103979.04974")
-    .param pmc param_795
+.sub "metachar:sym<\">"  :subid("49_1259177750.15652") :method :outer("11_1259177750.15652")
+    .param pmc param_794
 .annotate "line", 158
-    new $P794, 'ExceptionHandler'
-    set_addr $P794, control_793
-    $P794."handle_types"(58)
-    push_eh $P794
+    new $P793, 'ExceptionHandler'
+    set_addr $P793, control_792
+    $P793."handle_types"(58)
+    push_eh $P793
     .lex "self", self
-    .lex "$/", param_795
+    .lex "$/", param_794
 .annotate "line", 159
-    new $P796, "Undef"
-    .lex "$quote", $P796
+    new $P795, "Undef"
+    .lex "$quote", $P795
 .annotate "line", 161
-    new $P797, "Undef"
-    .lex "$past", $P797
+    new $P796, "Undef"
+    .lex "$past", $P796
 .annotate "line", 159
-    find_lex $P798, "$/"
-    unless_null $P798, vivify_224
-    new $P798, "Hash"
+    find_lex $P797, "$/"
+    unless_null $P797, vivify_224
+    new $P797, "Hash"
   vivify_224:
-    set $P799, $P798["quote_EXPR"]
-    unless_null $P799, vivify_225
-    new $P799, "Undef"
+    set $P798, $P797["quote_EXPR"]
+    unless_null $P798, vivify_225
+    new $P798, "Undef"
   vivify_225:
-    $P800 = $P799."ast"()
-    store_lex "$quote", $P800
+    $P799 = $P798."ast"()
+    store_lex "$quote", $P799
 .annotate "line", 160
-    get_hll_global $P802, ["PAST"], "Val"
-    find_lex $P803, "$quote"
-    $P804 = $P802."ACCEPTS"($P803)
-    unless $P804, if_801_end
-    find_lex $P805, "$quote"
-    $P806 = $P805."value"()
-    store_lex "$quote", $P806
-  if_801_end:
+    get_hll_global $P801, ["PAST"], "Val"
+    find_lex $P802, "$quote"
+    $P803 = $P801."ACCEPTS"($P802)
+    unless $P803, if_800_end
+    find_lex $P804, "$quote"
+    $P805 = $P804."value"()
+    store_lex "$quote", $P805
+  if_800_end:
 .annotate "line", 161
-    get_hll_global $P807, ["PAST"], "Regex"
-    find_lex $P808, "$quote"
-    find_lex $P809, "$/"
-    $P810 = $P807."new"($P808, "literal" :named("pasttype"), $P809 :named("node"))
-    store_lex "$past", $P810
+    get_hll_global $P806, ["PAST"], "Regex"
+    find_lex $P807, "$quote"
+    find_lex $P808, "$/"
+    $P809 = $P806."new"($P807, "literal" :named("pasttype"), $P808 :named("node"))
+    store_lex "$past", $P809
 .annotate "line", 162
-    find_lex $P811, "$/"
-    find_lex $P812, "$past"
-    $P813 = $P811."!make"($P812)
+    find_lex $P810, "$/"
+    find_lex $P811, "$past"
+    $P812 = $P810."!make"($P811)
 .annotate "line", 158
-    .return ($P813)
-  control_793:
+    .return ($P812)
+  control_792:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P814, exception, "payload"
-    .return ($P814)
+    getattribute $P813, exception, "payload"
+    .return ($P813)
 .end
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "metachar:sym<.>"  :subid("50_1259103979.04974") :method :outer("11_1259103979.04974")
-    .param pmc param_818
+.sub "metachar:sym<.>"  :subid("50_1259177750.15652") :method :outer("11_1259177750.15652")
+    .param pmc param_817
 .annotate "line", 165
-    new $P817, 'ExceptionHandler'
-    set_addr $P817, control_816
-    $P817."handle_types"(58)
-    push_eh $P817
+    new $P816, 'ExceptionHandler'
+    set_addr $P816, control_815
+    $P816."handle_types"(58)
+    push_eh $P816
     .lex "self", self
-    .lex "$/", param_818
+    .lex "$/", param_817
 .annotate "line", 166
-    new $P819, "Undef"
-    .lex "$past", $P819
-    get_hll_global $P820, ["PAST"], "Regex"
-    find_lex $P821, "$/"
-    $P822 = $P820."new"("charclass" :named("pasttype"), "." :named("subtype"), $P821 :named("node"))
-    store_lex "$past", $P822
+    new $P818, "Undef"
+    .lex "$past", $P818
+    get_hll_global $P819, ["PAST"], "Regex"
+    find_lex $P820, "$/"
+    $P821 = $P819."new"("charclass" :named("pasttype"), "." :named("subtype"), $P820 :named("node"))
+    store_lex "$past", $P821
 .annotate "line", 167
-    find_lex $P823, "$/"
-    find_lex $P824, "$past"
-    $P825 = $P823."!make"($P824)
+    find_lex $P822, "$/"
+    find_lex $P823, "$past"
+    $P824 = $P822."!make"($P823)
 .annotate "line", 165
-    .return ($P825)
-  control_816:
+    .return ($P824)
+  control_815:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P826, exception, "payload"
-    .return ($P826)
+    getattribute $P825, exception, "payload"
+    .return ($P825)
 .end
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "metachar:sym<^>"  :subid("51_1259103979.04974") :method :outer("11_1259103979.04974")
-    .param pmc param_830
+.sub "metachar:sym<^>"  :subid("51_1259177750.15652") :method :outer("11_1259177750.15652")
+    .param pmc param_829
 .annotate "line", 170
-    new $P829, 'ExceptionHandler'
-    set_addr $P829, control_828
-    $P829."handle_types"(58)
-    push_eh $P829
+    new $P828, 'ExceptionHandler'
+    set_addr $P828, control_827
+    $P828."handle_types"(58)
+    push_eh $P828
     .lex "self", self
-    .lex "$/", param_830
+    .lex "$/", param_829
 .annotate "line", 171
-    new $P831, "Undef"
-    .lex "$past", $P831
-    get_hll_global $P832, ["PAST"], "Regex"
-    find_lex $P833, "$/"
-    $P834 = $P832."new"("anchor" :named("pasttype"), "bos" :named("subtype"), $P833 :named("node"))
-    store_lex "$past", $P834
+    new $P830, "Undef"
+    .lex "$past", $P830
+    get_hll_global $P831, ["PAST"], "Regex"
+    find_lex $P832, "$/"
+    $P833 = $P831."new"("anchor" :named("pasttype"), "bos" :named("subtype"), $P832 :named("node"))
+    store_lex "$past", $P833
 .annotate "line", 172
-    find_lex $P835, "$/"
-    find_lex $P836, "$past"
-    $P837 = $P835."!make"($P836)
+    find_lex $P834, "$/"
+    find_lex $P835, "$past"
+    $P836 = $P834."!make"($P835)
 .annotate "line", 170
-    .return ($P837)
-  control_828:
+    .return ($P836)
+  control_827:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P838, exception, "payload"
-    .return ($P838)
+    getattribute $P837, exception, "payload"
+    .return ($P837)
 .end
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "metachar:sym<^^>"  :subid("52_1259103979.04974") :method :outer("11_1259103979.04974")
-    .param pmc param_842
+.sub "metachar:sym<^^>"  :subid("52_1259177750.15652") :method :outer("11_1259177750.15652")
+    .param pmc param_841
 .annotate "line", 175
-    new $P841, 'ExceptionHandler'
-    set_addr $P841, control_840
-    $P841."handle_types"(58)
-    push_eh $P841
+    new $P840, 'ExceptionHandler'
+    set_addr $P840, control_839
+    $P840."handle_types"(58)
+    push_eh $P840
     .lex "self", self
-    .lex "$/", param_842
+    .lex "$/", param_841
 .annotate "line", 176
-    new $P843, "Undef"
-    .lex "$past", $P843
-    get_hll_global $P844, ["PAST"], "Regex"
-    find_lex $P845, "$/"
-    $P846 = $P844."new"("anchor" :named("pasttype"), "bol" :named("subtype"), $P845 :named("node"))
-    store_lex "$past", $P846
+    new $P842, "Undef"
+    .lex "$past", $P842
+    get_hll_global $P843, ["PAST"], "Regex"
+    find_lex $P844, "$/"
+    $P845 = $P843."new"("anchor" :named("pasttype"), "bol" :named("subtype"), $P844 :named("node"))
+    store_lex "$past", $P845
 .annotate "line", 177
-    find_lex $P847, "$/"
-    find_lex $P848, "$past"
-    $P849 = $P847."!make"($P848)
+    find_lex $P846, "$/"
+    find_lex $P847, "$past"
+    $P848 = $P846."!make"($P847)
 .annotate "line", 175
-    .return ($P849)
-  control_840:
+    .return ($P848)
+  control_839:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P850, exception, "payload"
-    .return ($P850)
+    getattribute $P849, exception, "payload"
+    .return ($P849)
 .end
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "metachar:sym<$>"  :subid("53_1259103979.04974") :method :outer("11_1259103979.04974")
-    .param pmc param_854
+.sub "metachar:sym<$>"  :subid("53_1259177750.15652") :method :outer("11_1259177750.15652")
+    .param pmc param_853
 .annotate "line", 180
-    new $P853, 'ExceptionHandler'
-    set_addr $P853, control_852
-    $P853."handle_types"(58)
-    push_eh $P853
+    new $P852, 'ExceptionHandler'
+    set_addr $P852, control_851
+    $P852."handle_types"(58)
+    push_eh $P852
     .lex "self", self
-    .lex "$/", param_854
+    .lex "$/", param_853
 .annotate "line", 181
-    new $P855, "Undef"
-    .lex "$past", $P855
-    get_hll_global $P856, ["PAST"], "Regex"
-    find_lex $P857, "$/"
-    $P858 = $P856."new"("anchor" :named("pasttype"), "eos" :named("subtype"), $P857 :named("node"))
-    store_lex "$past", $P858
+    new $P854, "Undef"
+    .lex "$past", $P854
+    get_hll_global $P855, ["PAST"], "Regex"
+    find_lex $P856, "$/"
+    $P857 = $P855."new"("anchor" :named("pasttype"), "eos" :named("subtype"), $P856 :named("node"))
+    store_lex "$past", $P857
 .annotate "line", 182
-    find_lex $P859, "$/"
-    find_lex $P860, "$past"
-    $P861 = $P859."!make"($P860)
+    find_lex $P858, "$/"
+    find_lex $P859, "$past"
+    $P860 = $P858."!make"($P859)
 .annotate "line", 180
-    .return ($P861)
-  control_852:
+    .return ($P860)
+  control_851:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P862, exception, "payload"
-    .return ($P862)
+    getattribute $P861, exception, "payload"
+    .return ($P861)
 .end
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "metachar:sym<$$>"  :subid("54_1259103979.04974") :method :outer("11_1259103979.04974")
-    .param pmc param_866
+.sub "metachar:sym<$$>"  :subid("54_1259177750.15652") :method :outer("11_1259177750.15652")
+    .param pmc param_865
 .annotate "line", 185
-    new $P865, 'ExceptionHandler'
-    set_addr $P865, control_864
-    $P865."handle_types"(58)
-    push_eh $P865
+    new $P864, 'ExceptionHandler'
+    set_addr $P864, control_863
+    $P864."handle_types"(58)
+    push_eh $P864
     .lex "self", self
-    .lex "$/", param_866
+    .lex "$/", param_865
 .annotate "line", 186
-    new $P867, "Undef"
-    .lex "$past", $P867
-    get_hll_global $P868, ["PAST"], "Regex"
-    find_lex $P869, "$/"
-    $P870 = $P868."new"("anchor" :named("pasttype"), "eol" :named("subtype"), $P869 :named("node"))
-    store_lex "$past", $P870
+    new $P866, "Undef"
+    .lex "$past", $P866
+    get_hll_global $P867, ["PAST"], "Regex"
+    find_lex $P868, "$/"
+    $P869 = $P867."new"("anchor" :named("pasttype"), "eol" :named("subtype"), $P868 :named("node"))
+    store_lex "$past", $P869
 .annotate "line", 187
-    find_lex $P871, "$/"
-    find_lex $P872, "$past"
-    $P873 = $P871."!make"($P872)
+    find_lex $P870, "$/"
+    find_lex $P871, "$past"
+    $P872 = $P870."!make"($P871)
 .annotate "line", 185
-    .return ($P873)
-  control_864:
+    .return ($P872)
+  control_863:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P874, exception, "payload"
-    .return ($P874)
+    getattribute $P873, exception, "payload"
+    .return ($P873)
 .end
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "metachar:sym<:::>"  :subid("55_1259103979.04974") :method :outer("11_1259103979.04974")
-    .param pmc param_878
+.sub "metachar:sym<:::>"  :subid("55_1259177750.15652") :method :outer("11_1259177750.15652")
+    .param pmc param_877
 .annotate "line", 190
-    new $P877, 'ExceptionHandler'
-    set_addr $P877, control_876
-    $P877."handle_types"(58)
-    push_eh $P877
+    new $P876, 'ExceptionHandler'
+    set_addr $P876, control_875
+    $P876."handle_types"(58)
+    push_eh $P876
     .lex "self", self
-    .lex "$/", param_878
+    .lex "$/", param_877
 .annotate "line", 191
-    new $P879, "Undef"
-    .lex "$past", $P879
-    get_hll_global $P880, ["PAST"], "Regex"
-    find_lex $P881, "$/"
-    $P882 = $P880."new"("cut" :named("pasttype"), $P881 :named("node"))
-    store_lex "$past", $P882
+    new $P878, "Undef"
+    .lex "$past", $P878
+    get_hll_global $P879, ["PAST"], "Regex"
+    find_lex $P880, "$/"
+    $P881 = $P879."new"("cut" :named("pasttype"), $P880 :named("node"))
+    store_lex "$past", $P881
 .annotate "line", 192
-    find_lex $P883, "$/"
-    find_lex $P884, "$past"
-    $P885 = $P883."!make"($P884)
+    find_lex $P882, "$/"
+    find_lex $P883, "$past"
+    $P884 = $P882."!make"($P883)
 .annotate "line", 190
-    .return ($P885)
-  control_876:
+    .return ($P884)
+  control_875:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P886, exception, "payload"
-    .return ($P886)
+    getattribute $P885, exception, "payload"
+    .return ($P885)
 .end
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "metachar:sym<lwb>"  :subid("56_1259103979.04974") :method :outer("11_1259103979.04974")
-    .param pmc param_890
+.sub "metachar:sym<lwb>"  :subid("56_1259177750.15652") :method :outer("11_1259177750.15652")
+    .param pmc param_889
 .annotate "line", 195
-    new $P889, 'ExceptionHandler'
-    set_addr $P889, control_888
-    $P889."handle_types"(58)
-    push_eh $P889
+    new $P888, 'ExceptionHandler'
+    set_addr $P888, control_887
+    $P888."handle_types"(58)
+    push_eh $P888
     .lex "self", self
-    .lex "$/", param_890
+    .lex "$/", param_889
 .annotate "line", 196
-    new $P891, "Undef"
-    .lex "$past", $P891
-    get_hll_global $P892, ["PAST"], "Regex"
-    find_lex $P893, "$/"
-    $P894 = $P892."new"("anchor" :named("pasttype"), "lwb" :named("subtype"), $P893 :named("node"))
-    store_lex "$past", $P894
+    new $P890, "Undef"
+    .lex "$past", $P890
+    get_hll_global $P891, ["PAST"], "Regex"
+    find_lex $P892, "$/"
+    $P893 = $P891."new"("anchor" :named("pasttype"), "lwb" :named("subtype"), $P892 :named("node"))
+    store_lex "$past", $P893
 .annotate "line", 197
-    find_lex $P895, "$/"
-    find_lex $P896, "$past"
-    $P897 = $P895."!make"($P896)
+    find_lex $P894, "$/"
+    find_lex $P895, "$past"
+    $P896 = $P894."!make"($P895)
 .annotate "line", 195
-    .return ($P897)
-  control_888:
+    .return ($P896)
+  control_887:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P898, exception, "payload"
-    .return ($P898)
+    getattribute $P897, exception, "payload"
+    .return ($P897)
 .end
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "metachar:sym<rwb>"  :subid("57_1259103979.04974") :method :outer("11_1259103979.04974")
-    .param pmc param_902
+.sub "metachar:sym<rwb>"  :subid("57_1259177750.15652") :method :outer("11_1259177750.15652")
+    .param pmc param_901
 .annotate "line", 200
-    new $P901, 'ExceptionHandler'
-    set_addr $P901, control_900
-    $P901."handle_types"(58)
-    push_eh $P901
+    new $P900, 'ExceptionHandler'
+    set_addr $P900, control_899
+    $P900."handle_types"(58)
+    push_eh $P900
     .lex "self", self
-    .lex "$/", param_902
+    .lex "$/", param_901
 .annotate "line", 201
-    new $P903, "Undef"
-    .lex "$past", $P903
-    get_hll_global $P904, ["PAST"], "Regex"
-    find_lex $P905, "$/"
-    $P906 = $P904."new"("anchor" :named("pasttype"), "rwb" :named("subtype"), $P905 :named("node"))
-    store_lex "$past", $P906
+    new $P902, "Undef"
+    .lex "$past", $P902
+    get_hll_global $P903, ["PAST"], "Regex"
+    find_lex $P904, "$/"
+    $P905 = $P903."new"("anchor" :named("pasttype"), "rwb" :named("subtype"), $P904 :named("node"))
+    store_lex "$past", $P905
 .annotate "line", 202
-    find_lex $P907, "$/"
-    find_lex $P908, "$past"
-    $P909 = $P907."!make"($P908)
+    find_lex $P906, "$/"
+    find_lex $P907, "$past"
+    $P908 = $P906."!make"($P907)
 .annotate "line", 200
-    .return ($P909)
-  control_900:
+    .return ($P908)
+  control_899:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P910, exception, "payload"
-    .return ($P910)
+    getattribute $P909, exception, "payload"
+    .return ($P909)
 .end
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "metachar:sym<bs>"  :subid("58_1259103979.04974") :method :outer("11_1259103979.04974")
-    .param pmc param_914
+.sub "metachar:sym<bs>"  :subid("58_1259177750.15652") :method :outer("11_1259177750.15652")
+    .param pmc param_913
 .annotate "line", 205
-    new $P913, 'ExceptionHandler'
-    set_addr $P913, control_912
-    $P913."handle_types"(58)
-    push_eh $P913
+    new $P912, 'ExceptionHandler'
+    set_addr $P912, control_911
+    $P912."handle_types"(58)
+    push_eh $P912
     .lex "self", self
-    .lex "$/", param_914
+    .lex "$/", param_913
 .annotate "line", 206
+    find_lex $P914, "$/"
     find_lex $P915, "$/"
-    find_lex $P916, "$/"
-    unless_null $P916, vivify_226
-    new $P916, "Hash"
+    unless_null $P915, vivify_226
+    new $P915, "Hash"
   vivify_226:
-    set $P917, $P916["backslash"]
-    unless_null $P917, vivify_227
-    new $P917, "Undef"
+    set $P916, $P915["backslash"]
+    unless_null $P916, vivify_227
+    new $P916, "Undef"
   vivify_227:
-    $P918 = $P917."ast"()
-    $P919 = $P915."!make"($P918)
+    $P917 = $P916."ast"()
+    $P918 = $P914."!make"($P917)
 .annotate "line", 205
-    .return ($P919)
-  control_912:
+    .return ($P918)
+  control_911:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P920, exception, "payload"
-    .return ($P920)
+    getattribute $P919, exception, "payload"
+    .return ($P919)
 .end
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "metachar:sym<mod>"  :subid("59_1259103979.04974") :method :outer("11_1259103979.04974")
-    .param pmc param_924
+.sub "metachar:sym<mod>"  :subid("59_1259177750.15652") :method :outer("11_1259177750.15652")
+    .param pmc param_923
 .annotate "line", 209
-    new $P923, 'ExceptionHandler'
-    set_addr $P923, control_922
-    $P923."handle_types"(58)
-    push_eh $P923
+    new $P922, 'ExceptionHandler'
+    set_addr $P922, control_921
+    $P922."handle_types"(58)
+    push_eh $P922
     .lex "self", self
-    .lex "$/", param_924
+    .lex "$/", param_923
 .annotate "line", 210
+    find_lex $P924, "$/"
     find_lex $P925, "$/"
-    find_lex $P926, "$/"
-    unless_null $P926, vivify_228
-    new $P926, "Hash"
+    unless_null $P925, vivify_228
+    new $P925, "Hash"
   vivify_228:
-    set $P927, $P926["mod_internal"]
-    unless_null $P927, vivify_229
-    new $P927, "Undef"
+    set $P926, $P925["mod_internal"]
+    unless_null $P926, vivify_229
+    new $P926, "Undef"
   vivify_229:
-    $P928 = $P927."ast"()
-    $P929 = $P925."!make"($P928)
+    $P927 = $P926."ast"()
+    $P928 = $P924."!make"($P927)
 .annotate "line", 209
-    .return ($P929)
-  control_922:
+    .return ($P928)
+  control_921:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P930, exception, "payload"
-    .return ($P930)
+    getattribute $P929, exception, "payload"
+    .return ($P929)
 .end
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "metachar:sym<assert>"  :subid("60_1259103979.04974") :method :outer("11_1259103979.04974")
-    .param pmc param_934
+.sub "metachar:sym<assert>"  :subid("60_1259177750.15652") :method :outer("11_1259177750.15652")
+    .param pmc param_933
 .annotate "line", 213
-    new $P933, 'ExceptionHandler'
-    set_addr $P933, control_932
-    $P933."handle_types"(58)
-    push_eh $P933
+    new $P932, 'ExceptionHandler'
+    set_addr $P932, control_931
+    $P932."handle_types"(58)
+    push_eh $P932
     .lex "self", self
-    .lex "$/", param_934
+    .lex "$/", param_933
 .annotate "line", 214
+    find_lex $P934, "$/"
     find_lex $P935, "$/"
-    find_lex $P936, "$/"
-    unless_null $P936, vivify_230
-    new $P936, "Hash"
+    unless_null $P935, vivify_230
+    new $P935, "Hash"
   vivify_230:
-    set $P937, $P936["assertion"]
-    unless_null $P937, vivify_231
-    new $P937, "Undef"
+    set $P936, $P935["assertion"]
+    unless_null $P936, vivify_231
+    new $P936, "Undef"
   vivify_231:
-    $P938 = $P937."ast"()
-    $P939 = $P935."!make"($P938)
+    $P937 = $P936."ast"()
+    $P938 = $P934."!make"($P937)
 .annotate "line", 213
-    .return ($P939)
-  control_932:
+    .return ($P938)
+  control_931:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P940, exception, "payload"
-    .return ($P940)
+    getattribute $P939, exception, "payload"
+    .return ($P939)
 .end
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "metachar:sym<~>"  :subid("61_1259103979.04974") :method :outer("11_1259103979.04974")
-    .param pmc param_944
+.sub "metachar:sym<~>"  :subid("61_1259177750.15652") :method :outer("11_1259177750.15652")
+    .param pmc param_943
 .annotate "line", 217
-    new $P943, 'ExceptionHandler'
-    set_addr $P943, control_942
-    $P943."handle_types"(58)
-    push_eh $P943
+    new $P942, 'ExceptionHandler'
+    set_addr $P942, control_941
+    $P942."handle_types"(58)
+    push_eh $P942
     .lex "self", self
-    .lex "$/", param_944
+    .lex "$/", param_943
 .annotate "line", 218
-    find_lex $P945, "$/"
-    get_hll_global $P946, ["PAST"], "Regex"
+    find_lex $P944, "$/"
+    get_hll_global $P945, ["PAST"], "Regex"
 .annotate "line", 219
-    find_lex $P947, "$/"
-    unless_null $P947, vivify_232
-    new $P947, "Hash"
+    find_lex $P946, "$/"
+    unless_null $P946, vivify_232
+    new $P946, "Hash"
   vivify_232:
-    set $P948, $P947["EXPR"]
-    unless_null $P948, vivify_233
-    new $P948, "Undef"
+    set $P947, $P946["EXPR"]
+    unless_null $P947, vivify_233
+    new $P947, "Undef"
   vivify_233:
-    $P949 = $P948."ast"()
+    $P948 = $P947."ast"()
 .annotate "line", 220
-    get_hll_global $P950, ["PAST"], "Regex"
+    get_hll_global $P949, ["PAST"], "Regex"
 .annotate "line", 221
-    find_lex $P951, "$/"
-    unless_null $P951, vivify_234
-    new $P951, "Hash"
+    find_lex $P950, "$/"
+    unless_null $P950, vivify_234
+    new $P950, "Hash"
   vivify_234:
-    set $P952, $P951["GOAL"]
-    unless_null $P952, vivify_235
-    new $P952, "Undef"
+    set $P951, $P950["GOAL"]
+    unless_null $P951, vivify_235
+    new $P951, "Undef"
   vivify_235:
-    $P953 = $P952."ast"()
+    $P952 = $P951."ast"()
 .annotate "line", 222
-    get_hll_global $P954, ["PAST"], "Regex"
-    find_lex $P955, "$/"
-    unless_null $P955, vivify_236
-    new $P955, "Hash"
+    get_hll_global $P953, ["PAST"], "Regex"
+    find_lex $P954, "$/"
+    unless_null $P954, vivify_236
+    new $P954, "Hash"
   vivify_236:
-    set $P956, $P955["GOAL"]
-    unless_null $P956, vivify_237
-    new $P956, "Undef"
+    set $P955, $P954["GOAL"]
+    unless_null $P955, vivify_237
+    new $P955, "Undef"
   vivify_237:
-    set $S957, $P956
-    $P958 = $P954."new"("FAILGOAL", $S957, "subrule" :named("pasttype"), "method" :named("subtype"))
-    $P959 = $P950."new"($P953, $P958, "alt" :named("pasttype"))
+    set $S956, $P955
+    $P957 = $P953."new"("FAILGOAL", $S956, "subrule" :named("pasttype"), "method" :named("subtype"))
+    $P958 = $P949."new"($P952, $P957, "alt" :named("pasttype"))
 .annotate "line", 220
-    $P960 = $P946."new"($P949, $P959, "concat" :named("pasttype"))
+    $P959 = $P945."new"($P948, $P958, "concat" :named("pasttype"))
 .annotate "line", 218
-    $P961 = $P945."!make"($P960)
+    $P960 = $P944."!make"($P959)
 .annotate "line", 217
-    .return ($P961)
-  control_942:
+    .return ($P960)
+  control_941:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P962, exception, "payload"
-    .return ($P962)
+    getattribute $P961, exception, "payload"
+    .return ($P961)
 .end
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "metachar:sym<{*}>"  :subid("62_1259103979.04974") :method :outer("11_1259103979.04974")
-    .param pmc param_966
+.sub "metachar:sym<{*}>"  :subid("62_1259177750.15652") :method :outer("11_1259177750.15652")
+    .param pmc param_965
 .annotate "line", 230
-    new $P965, 'ExceptionHandler'
-    set_addr $P965, control_964
-    $P965."handle_types"(58)
-    push_eh $P965
+    new $P964, 'ExceptionHandler'
+    set_addr $P964, control_963
+    $P964."handle_types"(58)
+    push_eh $P964
     .lex "self", self
-    .lex "$/", param_966
+    .lex "$/", param_965
 .annotate "line", 231
-    new $P967, "Undef"
-    .lex "$past", $P967
+    new $P966, "Undef"
+    .lex "$past", $P966
 .annotate "line", 232
-    find_lex $P970, "$/"
-    unless_null $P970, vivify_238
-    new $P970, "Hash"
+    find_lex $P969, "$/"
+    unless_null $P969, vivify_238
+    new $P969, "Hash"
   vivify_238:
-    set $P971, $P970["key"]
-    unless_null $P971, vivify_239
-    new $P971, "Undef"
+    set $P970, $P969["key"]
+    unless_null $P970, vivify_239
+    new $P970, "Undef"
   vivify_239:
-    if $P971, if_969
-    new $P979, "Integer"
-    assign $P979, 0
-    set $P968, $P979
-    goto if_969_end
-  if_969:
-    get_hll_global $P972, ["PAST"], "Regex"
-    find_lex $P973, "$/"
-    unless_null $P973, vivify_240
-    new $P973, "Hash"
+    if $P970, if_968
+    new $P978, "Integer"
+    assign $P978, 0
+    set $P967, $P978
+    goto if_968_end
+  if_968:
+    get_hll_global $P971, ["PAST"], "Regex"
+    find_lex $P972, "$/"
+    unless_null $P972, vivify_240
+    new $P972, "Hash"
   vivify_240:
-    set $P974, $P973["key"]
-    unless_null $P974, vivify_241
-    new $P974, "ResizablePMCArray"
+    set $P973, $P972["key"]
+    unless_null $P973, vivify_241
+    new $P973, "ResizablePMCArray"
   vivify_241:
-    set $P975, $P974[0]
-    unless_null $P975, vivify_242
-    new $P975, "Undef"
+    set $P974, $P973[0]
+    unless_null $P974, vivify_242
+    new $P974, "Undef"
   vivify_242:
-    set $S976, $P975
-    find_lex $P977, "$/"
-    $P978 = $P972."new"($S976, "reduce" :named("pasttype"), $P977 :named("node"))
-    set $P968, $P978
-  if_969_end:
-    store_lex "$past", $P968
+    set $S975, $P974
+    find_lex $P976, "$/"
+    $P977 = $P971."new"($S975, "reduce" :named("pasttype"), $P976 :named("node"))
+    set $P967, $P977
+  if_968_end:
+    store_lex "$past", $P967
 .annotate "line", 234
-    find_lex $P980, "$/"
-    find_lex $P981, "$past"
-    $P982 = $P980."!make"($P981)
+    find_lex $P979, "$/"
+    find_lex $P980, "$past"
+    $P981 = $P979."!make"($P980)
 .annotate "line", 230
-    .return ($P982)
-  control_964:
+    .return ($P981)
+  control_963:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P983, exception, "payload"
-    .return ($P983)
+    getattribute $P982, exception, "payload"
+    .return ($P982)
 .end
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "metachar:sym<var>"  :subid("63_1259103979.04974") :method :outer("11_1259103979.04974")
-    .param pmc param_987
+.sub "metachar:sym<var>"  :subid("63_1259177750.15652") :method :outer("11_1259177750.15652")
+    .param pmc param_986
 .annotate "line", 237
-    new $P986, 'ExceptionHandler'
-    set_addr $P986, control_985
-    $P986."handle_types"(58)
-    push_eh $P986
+    new $P985, 'ExceptionHandler'
+    set_addr $P985, control_984
+    $P985."handle_types"(58)
+    push_eh $P985
     .lex "self", self
-    .lex "$/", param_987
+    .lex "$/", param_986
 .annotate "line", 238
-    new $P988, "Undef"
-    .lex "$past", $P988
+    new $P987, "Undef"
+    .lex "$past", $P987
 .annotate "line", 239
-    new $P989, "Undef"
-    .lex "$name", $P989
+    new $P988, "Undef"
+    .lex "$name", $P988
 .annotate "line", 237
-    find_lex $P990, "$past"
+    find_lex $P989, "$past"
 .annotate "line", 239
-    find_lex $P993, "$/"
-    unless_null $P993, vivify_243
-    new $P993, "Hash"
+    find_lex $P992, "$/"
+    unless_null $P992, vivify_243
+    new $P992, "Hash"
   vivify_243:
-    set $P994, $P993["pos"]
-    unless_null $P994, vivify_244
-    new $P994, "Undef"
+    set $P993, $P992["pos"]
+    unless_null $P993, vivify_244
+    new $P993, "Undef"
   vivify_244:
-    if $P994, if_992
-    find_lex $P998, "$/"
-    unless_null $P998, vivify_245
-    new $P998, "Hash"
+    if $P993, if_991
+    find_lex $P997, "$/"
+    unless_null $P997, vivify_245
+    new $P997, "Hash"
   vivify_245:
-    set $P999, $P998["name"]
-    unless_null $P999, vivify_246
-    new $P999, "Undef"
+    set $P998, $P997["name"]
+    unless_null $P998, vivify_246
+    new $P998, "Undef"
   vivify_246:
-    set $S1000, $P999
-    new $P991, 'String'
-    set $P991, $S1000
-    goto if_992_end
-  if_992:
-    find_lex $P995, "$/"
-    unless_null $P995, vivify_247
-    new $P995, "Hash"
+    set $S999, $P998
+    new $P990, 'String'
+    set $P990, $S999
+    goto if_991_end
+  if_991:
+    find_lex $P994, "$/"
+    unless_null $P994, vivify_247
+    new $P994, "Hash"
   vivify_247:
-    set $P996, $P995["pos"]
-    unless_null $P996, vivify_248
-    new $P996, "Undef"
+    set $P995, $P994["pos"]
+    unless_null $P995, vivify_248
+    new $P995, "Undef"
   vivify_248:
-    set $N997, $P996
-    new $P991, 'Float'
-    set $P991, $N997
-  if_992_end:
-    store_lex "$name", $P991
+    set $N996, $P995
+    new $P990, 'Float'
+    set $P990, $N996
+  if_991_end:
+    store_lex "$name", $P990
 .annotate "line", 240
-    find_lex $P1002, "$/"
-    unless_null $P1002, vivify_249
-    new $P1002, "Hash"
+    find_lex $P1001, "$/"
+    unless_null $P1001, vivify_249
+    new $P1001, "Hash"
   vivify_249:
-    set $P1003, $P1002["quantified_atom"]
-    unless_null $P1003, vivify_250
-    new $P1003, "Undef"
+    set $P1002, $P1001["quantified_atom"]
+    unless_null $P1002, vivify_250
+    new $P1002, "Undef"
   vivify_250:
-    if $P1003, if_1001
+    if $P1002, if_1000
 .annotate "line", 251
-    get_hll_global $P1032, ["PAST"], "Regex"
-    find_lex $P1033, "$name"
-    find_lex $P1034, "$/"
-    $P1035 = $P1032."new"("!BACKREF", $P1033, "subrule" :named("pasttype"), "method" :named("subtype"), $P1034 :named("node"))
-    store_lex "$past", $P1035
+    get_hll_global $P1031, ["PAST"], "Regex"
+    find_lex $P1032, "$name"
+    find_lex $P1033, "$/"
+    $P1034 = $P1031."new"("!BACKREF", $P1032, "subrule" :named("pasttype"), "method" :named("subtype"), $P1033 :named("node"))
+    store_lex "$past", $P1034
 .annotate "line", 250
-    goto if_1001_end
-  if_1001:
+    goto if_1000_end
+  if_1000:
 .annotate "line", 241
-    find_lex $P1004, "$/"
-    unless_null $P1004, vivify_251
-    new $P1004, "Hash"
+    find_lex $P1003, "$/"
+    unless_null $P1003, vivify_251
+    new $P1003, "Hash"
   vivify_251:
-    set $P1005, $P1004["quantified_atom"]
-    unless_null $P1005, vivify_252
-    new $P1005, "ResizablePMCArray"
+    set $P1004, $P1003["quantified_atom"]
+    unless_null $P1004, vivify_252
+    new $P1004, "ResizablePMCArray"
   vivify_252:
-    set $P1006, $P1005[0]
-    unless_null $P1006, vivify_253
-    new $P1006, "Undef"
+    set $P1005, $P1004[0]
+    unless_null $P1005, vivify_253
+    new $P1005, "Undef"
   vivify_253:
-    $P1007 = $P1006."ast"()
-    store_lex "$past", $P1007
+    $P1006 = $P1005."ast"()
+    store_lex "$past", $P1006
 .annotate "line", 242
-    find_lex $P1011, "$past"
-    $S1012 = $P1011."pasttype"()
-    iseq $I1013, $S1012, "quant"
-    if $I1013, if_1010
-    new $P1009, 'Integer'
-    set $P1009, $I1013
-    goto if_1010_end
-  if_1010:
-    find_lex $P1014, "$past"
-    unless_null $P1014, vivify_254
-    new $P1014, "ResizablePMCArray"
+    find_lex $P1010, "$past"
+    $S1011 = $P1010."pasttype"()
+    iseq $I1012, $S1011, "quant"
+    if $I1012, if_1009
+    new $P1008, 'Integer'
+    set $P1008, $I1012
+    goto if_1009_end
+  if_1009:
+    find_lex $P1013, "$past"
+    unless_null $P1013, vivify_254
+    new $P1013, "ResizablePMCArray"
   vivify_254:
-    set $P1015, $P1014[0]
-    unless_null $P1015, vivify_255
-    new $P1015, "Undef"
+    set $P1014, $P1013[0]
+    unless_null $P1014, vivify_255
+    new $P1014, "Undef"
   vivify_255:
-    $S1016 = $P1015."pasttype"()
-    iseq $I1017, $S1016, "subrule"
-    new $P1009, 'Integer'
-    set $P1009, $I1017
-  if_1010_end:
-    if $P1009, if_1008
+    $S1015 = $P1014."pasttype"()
+    iseq $I1016, $S1015, "subrule"
+    new $P1008, 'Integer'
+    set $P1008, $I1016
+  if_1009_end:
+    if $P1008, if_1007
 .annotate "line", 245
-    find_lex $P1022, "$past"
-    $S1023 = $P1022."pasttype"()
-    iseq $I1024, $S1023, "subrule"
-    if $I1024, if_1021
+    find_lex $P1021, "$past"
+    $S1022 = $P1021."pasttype"()
+    iseq $I1023, $S1022, "subrule"
+    if $I1023, if_1020
 .annotate "line", 247
-    get_hll_global $P1027, ["PAST"], "Regex"
-    find_lex $P1028, "$past"
-    find_lex $P1029, "$name"
-    find_lex $P1030, "$/"
-    $P1031 = $P1027."new"($P1028, $P1029 :named("name"), "subcapture" :named("pasttype"), $P1030 :named("node"))
-    store_lex "$past", $P1031
+    get_hll_global $P1026, ["PAST"], "Regex"
+    find_lex $P1027, "$past"
+    find_lex $P1028, "$name"
+    find_lex $P1029, "$/"
+    $P1030 = $P1026."new"($P1027, $P1028 :named("name"), "subcapture" :named("pasttype"), $P1029 :named("node"))
+    store_lex "$past", $P1030
 .annotate "line", 246
-    goto if_1021_end
-  if_1021:
+    goto if_1020_end
+  if_1020:
 .annotate "line", 245
-    find_lex $P1025, "$past"
-    find_lex $P1026, "$name"
-    "subrule_alias"($P1025, $P1026)
-  if_1021_end:
-    goto if_1008_end
-  if_1008:
+    find_lex $P1024, "$past"
+    find_lex $P1025, "$name"
+    "subrule_alias"($P1024, $P1025)
+  if_1020_end:
+    goto if_1007_end
+  if_1007:
 .annotate "line", 243
-    find_lex $P1018, "$past"
-    unless_null $P1018, vivify_256
-    new $P1018, "ResizablePMCArray"
+    find_lex $P1017, "$past"
+    unless_null $P1017, vivify_256
+    new $P1017, "ResizablePMCArray"
   vivify_256:
-    set $P1019, $P1018[0]
-    unless_null $P1019, vivify_257
-    new $P1019, "Undef"
+    set $P1018, $P1017[0]
+    unless_null $P1018, vivify_257
+    new $P1018, "Undef"
   vivify_257:
-    find_lex $P1020, "$name"
-    "subrule_alias"($P1019, $P1020)
-  if_1008_end:
-  if_1001_end:
+    find_lex $P1019, "$name"
+    "subrule_alias"($P1018, $P1019)
+  if_1007_end:
+  if_1000_end:
 .annotate "line", 254
-    find_lex $P1036, "$/"
-    find_lex $P1037, "$past"
-    $P1038 = $P1036."!make"($P1037)
+    find_lex $P1035, "$/"
+    find_lex $P1036, "$past"
+    $P1037 = $P1035."!make"($P1036)
 .annotate "line", 237
-    .return ($P1038)
-  control_985:
+    .return ($P1037)
+  control_984:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P1039, exception, "payload"
-    .return ($P1039)
+    getattribute $P1038, exception, "payload"
+    .return ($P1038)
 .end
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "metachar:sym<PIR>"  :subid("64_1259103979.04974") :method :outer("11_1259103979.04974")
-    .param pmc param_1043
+.sub "metachar:sym<PIR>"  :subid("64_1259177750.15652") :method :outer("11_1259177750.15652")
+    .param pmc param_1042
 .annotate "line", 257
-    new $P1042, 'ExceptionHandler'
-    set_addr $P1042, control_1041
-    $P1042."handle_types"(58)
-    push_eh $P1042
+    new $P1041, 'ExceptionHandler'
+    set_addr $P1041, control_1040
+    $P1041."handle_types"(58)
+    push_eh $P1041
     .lex "self", self
-    .lex "$/", param_1043
+    .lex "$/", param_1042
 .annotate "line", 258
-    find_lex $P1044, "$/"
-    get_hll_global $P1045, ["PAST"], "Regex"
+    find_lex $P1043, "$/"
+    get_hll_global $P1044, ["PAST"], "Regex"
 .annotate "line", 259
-    get_hll_global $P1046, ["PAST"], "Op"
-    find_lex $P1047, "$/"
-    unless_null $P1047, vivify_258
-    new $P1047, "Hash"
+    get_hll_global $P1045, ["PAST"], "Op"
+    find_lex $P1046, "$/"
+    unless_null $P1046, vivify_258
+    new $P1046, "Hash"
   vivify_258:
-    set $P1048, $P1047["pir"]
-    unless_null $P1048, vivify_259
-    new $P1048, "Undef"
+    set $P1047, $P1046["pir"]
+    unless_null $P1047, vivify_259
+    new $P1047, "Undef"
   vivify_259:
-    set $S1049, $P1048
-    $P1050 = $P1046."new"($S1049 :named("inline"), "inline" :named("pasttype"))
-    find_lex $P1051, "$/"
-    $P1052 = $P1045."new"($P1050, "pastnode" :named("pasttype"), $P1051 :named("node"))
+    set $S1048, $P1047
+    $P1049 = $P1045."new"($S1048 :named("inline"), "inline" :named("pasttype"))
+    find_lex $P1050, "$/"
+    $P1051 = $P1044."new"($P1049, "pastnode" :named("pasttype"), $P1050 :named("node"))
 .annotate "line", 258
-    $P1053 = $P1044."!make"($P1052)
+    $P1052 = $P1043."!make"($P1051)
 .annotate "line", 257
-    .return ($P1053)
-  control_1041:
+    .return ($P1052)
+  control_1040:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P1054, exception, "payload"
-    .return ($P1054)
+    getattribute $P1053, exception, "payload"
+    .return ($P1053)
 .end
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "backslash:sym<w>"  :subid("65_1259103979.04974") :method :outer("11_1259103979.04974")
-    .param pmc param_1058
+.sub "backslash:sym<w>"  :subid("65_1259177750.15652") :method :outer("11_1259177750.15652")
+    .param pmc param_1057
 .annotate "line", 265
-    new $P1057, 'ExceptionHandler'
-    set_addr $P1057, control_1056
-    $P1057."handle_types"(58)
-    push_eh $P1057
+    new $P1056, 'ExceptionHandler'
+    set_addr $P1056, control_1055
+    $P1056."handle_types"(58)
+    push_eh $P1056
     .lex "self", self
-    .lex "$/", param_1058
+    .lex "$/", param_1057
 .annotate "line", 266
-    new $P1059, "Undef"
-    .lex "$subtype", $P1059
+    new $P1058, "Undef"
+    .lex "$subtype", $P1058
 .annotate "line", 267
-    new $P1060, "Undef"
-    .lex "$past", $P1060
+    new $P1059, "Undef"
+    .lex "$past", $P1059
 .annotate "line", 266
-    find_lex $P1063, "$/"
-    unless_null $P1063, vivify_260
-    new $P1063, "Hash"
+    find_lex $P1062, "$/"
+    unless_null $P1062, vivify_260
+    new $P1062, "Hash"
   vivify_260:
-    set $P1064, $P1063["sym"]
-    unless_null $P1064, vivify_261
-    new $P1064, "Undef"
+    set $P1063, $P1062["sym"]
+    unless_null $P1063, vivify_261
+    new $P1063, "Undef"
   vivify_261:
-    set $S1065, $P1064
-    iseq $I1066, $S1065, "n"
-    if $I1066, if_1062
-    find_lex $P1068, "$/"
-    unless_null $P1068, vivify_262
-    new $P1068, "Hash"
+    set $S1064, $P1063
+    iseq $I1065, $S1064, "n"
+    if $I1065, if_1061
+    find_lex $P1067, "$/"
+    unless_null $P1067, vivify_262
+    new $P1067, "Hash"
   vivify_262:
-    set $P1069, $P1068["sym"]
-    unless_null $P1069, vivify_263
-    new $P1069, "Undef"
+    set $P1068, $P1067["sym"]
+    unless_null $P1068, vivify_263
+    new $P1068, "Undef"
   vivify_263:
-    set $S1070, $P1069
-    new $P1061, 'String'
-    set $P1061, $S1070
-    goto if_1062_end
-  if_1062:
-    new $P1067, "String"
-    assign $P1067, "nl"
-    set $P1061, $P1067
-  if_1062_end:
-    store_lex "$subtype", $P1061
+    set $S1069, $P1068
+    new $P1060, 'String'
+    set $P1060, $S1069
+    goto if_1061_end
+  if_1061:
+    new $P1066, "String"
+    assign $P1066, "nl"
+    set $P1060, $P1066
+  if_1061_end:
+    store_lex "$subtype", $P1060
 .annotate "line", 267
-    get_hll_global $P1071, ["PAST"], "Regex"
-    find_lex $P1072, "$subtype"
-    find_lex $P1073, "$/"
-    $P1074 = $P1071."new"("charclass" :named("pasttype"), $P1072 :named("subtype"), $P1073 :named("node"))
-    store_lex "$past", $P1074
+    get_hll_global $P1070, ["PAST"], "Regex"
+    find_lex $P1071, "$subtype"
+    find_lex $P1072, "$/"
+    $P1073 = $P1070."new"("charclass" :named("pasttype"), $P1071 :named("subtype"), $P1072 :named("node"))
+    store_lex "$past", $P1073
 .annotate "line", 268
-    find_lex $P1075, "$/"
-    find_lex $P1076, "$past"
-    $P1077 = $P1075."!make"($P1076)
+    find_lex $P1074, "$/"
+    find_lex $P1075, "$past"
+    $P1076 = $P1074."!make"($P1075)
 .annotate "line", 265
-    .return ($P1077)
-  control_1056:
+    .return ($P1076)
+  control_1055:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P1078, exception, "payload"
-    .return ($P1078)
+    getattribute $P1077, exception, "payload"
+    .return ($P1077)
 .end
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "backslash:sym<b>"  :subid("66_1259103979.04974") :method :outer("11_1259103979.04974")
-    .param pmc param_1082
+.sub "backslash:sym<b>"  :subid("66_1259177750.15652") :method :outer("11_1259177750.15652")
+    .param pmc param_1081
 .annotate "line", 271
-    new $P1081, 'ExceptionHandler'
-    set_addr $P1081, control_1080
-    $P1081."handle_types"(58)
-    push_eh $P1081
+    new $P1080, 'ExceptionHandler'
+    set_addr $P1080, control_1079
+    $P1080."handle_types"(58)
+    push_eh $P1080
     .lex "self", self
-    .lex "$/", param_1082
+    .lex "$/", param_1081
 .annotate "line", 272
-    new $P1083, "Undef"
-    .lex "$past", $P1083
-    get_hll_global $P1084, ["PAST"], "Regex"
+    new $P1082, "Undef"
+    .lex "$past", $P1082
+    get_hll_global $P1083, ["PAST"], "Regex"
 .annotate "line", 273
-    find_lex $P1085, "$/"
-    unless_null $P1085, vivify_264
-    new $P1085, "Hash"
+    find_lex $P1084, "$/"
+    unless_null $P1084, vivify_264
+    new $P1084, "Hash"
   vivify_264:
-    set $P1086, $P1085["sym"]
-    unless_null $P1086, vivify_265
-    new $P1086, "Undef"
+    set $P1085, $P1084["sym"]
+    unless_null $P1085, vivify_265
+    new $P1085, "Undef"
   vivify_265:
-    set $S1087, $P1086
-    iseq $I1088, $S1087, "B"
-    find_lex $P1089, "$/"
-    $P1090 = $P1084."new"("\b", "enumcharlist" :named("pasttype"), $I1088 :named("negate"), $P1089 :named("node"))
+    set $S1086, $P1085
+    iseq $I1087, $S1086, "B"
+    find_lex $P1088, "$/"
+    $P1089 = $P1083."new"("\b", "enumcharlist" :named("pasttype"), $I1087 :named("negate"), $P1088 :named("node"))
 .annotate "line", 272
-    store_lex "$past", $P1090
+    store_lex "$past", $P1089
 .annotate "line", 274
-    find_lex $P1091, "$/"
-    find_lex $P1092, "$past"
-    $P1093 = $P1091."!make"($P1092)
+    find_lex $P1090, "$/"
+    find_lex $P1091, "$past"
+    $P1092 = $P1090."!make"($P1091)
 .annotate "line", 271
-    .return ($P1093)
-  control_1080:
+    .return ($P1092)
+  control_1079:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P1094, exception, "payload"
-    .return ($P1094)
+    getattribute $P1093, exception, "payload"
+    .return ($P1093)
 .end
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "backslash:sym<e>"  :subid("67_1259103979.04974") :method :outer("11_1259103979.04974")
-    .param pmc param_1098
+.sub "backslash:sym<e>"  :subid("67_1259177750.15652") :method :outer("11_1259177750.15652")
+    .param pmc param_1097
 .annotate "line", 277
-    new $P1097, 'ExceptionHandler'
-    set_addr $P1097, control_1096
-    $P1097."handle_types"(58)
-    push_eh $P1097
+    new $P1096, 'ExceptionHandler'
+    set_addr $P1096, control_1095
+    $P1096."handle_types"(58)
+    push_eh $P1096
     .lex "self", self
-    .lex "$/", param_1098
+    .lex "$/", param_1097
 .annotate "line", 278
-    new $P1099, "Undef"
-    .lex "$past", $P1099
-    get_hll_global $P1100, ["PAST"], "Regex"
+    new $P1098, "Undef"
+    .lex "$past", $P1098
+    get_hll_global $P1099, ["PAST"], "Regex"
 .annotate "line", 279
-    find_lex $P1101, "$/"
-    unless_null $P1101, vivify_266
-    new $P1101, "Hash"
+    find_lex $P1100, "$/"
+    unless_null $P1100, vivify_266
+    new $P1100, "Hash"
   vivify_266:
-    set $P1102, $P1101["sym"]
-    unless_null $P1102, vivify_267
-    new $P1102, "Undef"
+    set $P1101, $P1100["sym"]
+    unless_null $P1101, vivify_267
+    new $P1101, "Undef"
   vivify_267:
-    set $S1103, $P1102
-    iseq $I1104, $S1103, "E"
-    find_lex $P1105, "$/"
-    $P1106 = $P1100."new"("\\e", "enumcharlist" :named("pasttype"), $I1104 :named("negate"), $P1105 :named("node"))
+    set $S1102, $P1101
+    iseq $I1103, $S1102, "E"
+    find_lex $P1104, "$/"
+    $P1105 = $P1099."new"("\\e", "enumcharlist" :named("pasttype"), $I1103 :named("negate"), $P1104 :named("node"))
 .annotate "line", 278
-    store_lex "$past", $P1106
+    store_lex "$past", $P1105
 .annotate "line", 280
-    find_lex $P1107, "$/"
-    find_lex $P1108, "$past"
-    $P1109 = $P1107."!make"($P1108)
+    find_lex $P1106, "$/"
+    find_lex $P1107, "$past"
+    $P1108 = $P1106."!make"($P1107)
 .annotate "line", 277
-    .return ($P1109)
-  control_1096:
+    .return ($P1108)
+  control_1095:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P1110, exception, "payload"
-    .return ($P1110)
+    getattribute $P1109, exception, "payload"
+    .return ($P1109)
 .end
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "backslash:sym<f>"  :subid("68_1259103979.04974") :method :outer("11_1259103979.04974")
-    .param pmc param_1114
+.sub "backslash:sym<f>"  :subid("68_1259177750.15652") :method :outer("11_1259177750.15652")
+    .param pmc param_1113
 .annotate "line", 283
-    new $P1113, 'ExceptionHandler'
-    set_addr $P1113, control_1112
-    $P1113."handle_types"(58)
-    push_eh $P1113
+    new $P1112, 'ExceptionHandler'
+    set_addr $P1112, control_1111
+    $P1112."handle_types"(58)
+    push_eh $P1112
     .lex "self", self
-    .lex "$/", param_1114
+    .lex "$/", param_1113
 .annotate "line", 284
-    new $P1115, "Undef"
-    .lex "$past", $P1115
-    get_hll_global $P1116, ["PAST"], "Regex"
+    new $P1114, "Undef"
+    .lex "$past", $P1114
+    get_hll_global $P1115, ["PAST"], "Regex"
 .annotate "line", 285
-    find_lex $P1117, "$/"
-    unless_null $P1117, vivify_268
-    new $P1117, "Hash"
+    find_lex $P1116, "$/"
+    unless_null $P1116, vivify_268
+    new $P1116, "Hash"
   vivify_268:
-    set $P1118, $P1117["sym"]
-    unless_null $P1118, vivify_269
-    new $P1118, "Undef"
+    set $P1117, $P1116["sym"]
+    unless_null $P1117, vivify_269
+    new $P1117, "Undef"
   vivify_269:
-    set $S1119, $P1118
-    iseq $I1120, $S1119, "F"
-    find_lex $P1121, "$/"
-    $P1122 = $P1116."new"("\\f", "enumcharlist" :named("pasttype"), $I1120 :named("negate"), $P1121 :named("node"))
+    set $S1118, $P1117
+    iseq $I1119, $S1118, "F"
+    find_lex $P1120, "$/"
+    $P1121 = $P1115."new"("\\f", "enumcharlist" :named("pasttype"), $I1119 :named("negate"), $P1120 :named("node"))
 .annotate "line", 284
-    store_lex "$past", $P1122
+    store_lex "$past", $P1121
 .annotate "line", 286
-    find_lex $P1123, "$/"
-    find_lex $P1124, "$past"
-    $P1125 = $P1123."!make"($P1124)
+    find_lex $P1122, "$/"
+    find_lex $P1123, "$past"
+    $P1124 = $P1122."!make"($P1123)
 .annotate "line", 283
-    .return ($P1125)
-  control_1112:
+    .return ($P1124)
+  control_1111:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P1126, exception, "payload"
-    .return ($P1126)
+    getattribute $P1125, exception, "payload"
+    .return ($P1125)
 .end
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "backslash:sym<h>"  :subid("69_1259103979.04974") :method :outer("11_1259103979.04974")
-    .param pmc param_1130
+.sub "backslash:sym<h>"  :subid("69_1259177750.15652") :method :outer("11_1259177750.15652")
+    .param pmc param_1129
 .annotate "line", 289
-    new $P1129, 'ExceptionHandler'
-    set_addr $P1129, control_1128
-    $P1129."handle_types"(58)
-    push_eh $P1129
+    new $P1128, 'ExceptionHandler'
+    set_addr $P1128, control_1127
+    $P1128."handle_types"(58)
+    push_eh $P1128
     .lex "self", self
-    .lex "$/", param_1130
+    .lex "$/", param_1129
 .annotate "line", 290
-    new $P1131, "Undef"
-    .lex "$past", $P1131
-    get_hll_global $P1132, ["PAST"], "Regex"
+    new $P1130, "Undef"
+    .lex "$past", $P1130
+    get_hll_global $P1131, ["PAST"], "Regex"
 .annotate "line", 291
-    find_lex $P1133, "$/"
-    unless_null $P1133, vivify_270
-    new $P1133, "Hash"
+    find_lex $P1132, "$/"
+    unless_null $P1132, vivify_270
+    new $P1132, "Hash"
   vivify_270:
-    set $P1134, $P1133["sym"]
-    unless_null $P1134, vivify_271
-    new $P1134, "Undef"
+    set $P1133, $P1132["sym"]
+    unless_null $P1133, vivify_271
+    new $P1133, "Undef"
   vivify_271:
-    set $S1135, $P1134
-    iseq $I1136, $S1135, "H"
-    find_lex $P1137, "$/"
-    $P1138 = $P1132."new"(unicode:"\t \x{a0}\u1680\u180e\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200a\u202f\u205f\u3000", "enumcharlist" :named("pasttype"), $I1136 :named("negate"), $P1137 :named("node"))
+    set $S1134, $P1133
+    iseq $I1135, $S1134, "H"
+    find_lex $P1136, "$/"
+    $P1137 = $P1131."new"(unicode:"\t \x{a0}\u1680\u180e\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200a\u202f\u205f\u3000", "enumcharlist" :named("pasttype"), $I1135 :named("negate"), $P1136 :named("node"))
 .annotate "line", 290
-    store_lex "$past", $P1138
+    store_lex "$past", $P1137
 .annotate "line", 292
-    find_lex $P1139, "$/"
-    find_lex $P1140, "$past"
-    $P1141 = $P1139."!make"($P1140)
+    find_lex $P1138, "$/"
+    find_lex $P1139, "$past"
+    $P1140 = $P1138."!make"($P1139)
 .annotate "line", 289
-    .return ($P1141)
-  control_1128:
+    .return ($P1140)
+  control_1127:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P1142, exception, "payload"
-    .return ($P1142)
+    getattribute $P1141, exception, "payload"
+    .return ($P1141)
 .end
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "backslash:sym<r>"  :subid("70_1259103979.04974") :method :outer("11_1259103979.04974")
-    .param pmc param_1146
+.sub "backslash:sym<r>"  :subid("70_1259177750.15652") :method :outer("11_1259177750.15652")
+    .param pmc param_1145
 .annotate "line", 295
-    new $P1145, 'ExceptionHandler'
-    set_addr $P1145, control_1144
-    $P1145."handle_types"(58)
-    push_eh $P1145
+    new $P1144, 'ExceptionHandler'
+    set_addr $P1144, control_1143
+    $P1144."handle_types"(58)
+    push_eh $P1144
     .lex "self", self
-    .lex "$/", param_1146
+    .lex "$/", param_1145
 .annotate "line", 296
-    new $P1147, "Undef"
-    .lex "$past", $P1147
-    get_hll_global $P1148, ["PAST"], "Regex"
+    new $P1146, "Undef"
+    .lex "$past", $P1146
+    get_hll_global $P1147, ["PAST"], "Regex"
 .annotate "line", 297
-    find_lex $P1149, "$/"
-    unless_null $P1149, vivify_272
-    new $P1149, "Hash"
+    find_lex $P1148, "$/"
+    unless_null $P1148, vivify_272
+    new $P1148, "Hash"
   vivify_272:
-    set $P1150, $P1149["sym"]
-    unless_null $P1150, vivify_273
-    new $P1150, "Undef"
+    set $P1149, $P1148["sym"]
+    unless_null $P1149, vivify_273
+    new $P1149, "Undef"
   vivify_273:
-    set $S1151, $P1150
-    iseq $I1152, $S1151, "R"
-    find_lex $P1153, "$/"
-    $P1154 = $P1148."new"("\r", "enumcharlist" :named("pasttype"), $I1152 :named("negate"), $P1153 :named("node"))
+    set $S1150, $P1149
+    iseq $I1151, $S1150, "R"
+    find_lex $P1152, "$/"
+    $P1153 = $P1147."new"("\r", "enumcharlist" :named("pasttype"), $I1151 :named("negate"), $P1152 :named("node"))
 .annotate "line", 296
-    store_lex "$past", $P1154
+    store_lex "$past", $P1153
 .annotate "line", 298
-    find_lex $P1155, "$/"
-    find_lex $P1156, "$past"
-    $P1157 = $P1155."!make"($P1156)
+    find_lex $P1154, "$/"
+    find_lex $P1155, "$past"
+    $P1156 = $P1154."!make"($P1155)
 .annotate "line", 295
-    .return ($P1157)
-  control_1144:
+    .return ($P1156)
+  control_1143:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P1158, exception, "payload"
-    .return ($P1158)
+    getattribute $P1157, exception, "payload"
+    .return ($P1157)
 .end
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "backslash:sym<t>"  :subid("71_1259103979.04974") :method :outer("11_1259103979.04974")
-    .param pmc param_1162
+.sub "backslash:sym<t>"  :subid("71_1259177750.15652") :method :outer("11_1259177750.15652")
+    .param pmc param_1161
 .annotate "line", 301
-    new $P1161, 'ExceptionHandler'
-    set_addr $P1161, control_1160
-    $P1161."handle_types"(58)
-    push_eh $P1161
+    new $P1160, 'ExceptionHandler'
+    set_addr $P1160, control_1159
+    $P1160."handle_types"(58)
+    push_eh $P1160
     .lex "self", self
-    .lex "$/", param_1162
+    .lex "$/", param_1161
 .annotate "line", 302
-    new $P1163, "Undef"
-    .lex "$past", $P1163
-    get_hll_global $P1164, ["PAST"], "Regex"
+    new $P1162, "Undef"
+    .lex "$past", $P1162
+    get_hll_global $P1163, ["PAST"], "Regex"
 .annotate "line", 303
-    find_lex $P1165, "$/"
-    unless_null $P1165, vivify_274
-    new $P1165, "Hash"
+    find_lex $P1164, "$/"
+    unless_null $P1164, vivify_274
+    new $P1164, "Hash"
   vivify_274:
-    set $P1166, $P1165["sym"]
-    unless_null $P1166, vivify_275
-    new $P1166, "Undef"
+    set $P1165, $P1164["sym"]
+    unless_null $P1165, vivify_275
+    new $P1165, "Undef"
   vivify_275:
-    set $S1167, $P1166
-    iseq $I1168, $S1167, "T"
-    find_lex $P1169, "$/"
-    $P1170 = $P1164."new"("\t", "enumcharlist" :named("pasttype"), $I1168 :named("negate"), $P1169 :named("node"))
+    set $S1166, $P1165
+    iseq $I1167, $S1166, "T"
+    find_lex $P1168, "$/"
+    $P1169 = $P1163."new"("\t", "enumcharlist" :named("pasttype"), $I1167 :named("negate"), $P1168 :named("node"))
 .annotate "line", 302
-    store_lex "$past", $P1170
+    store_lex "$past", $P1169
 .annotate "line", 304
-    find_lex $P1171, "$/"
-    find_lex $P1172, "$past"
-    $P1173 = $P1171."!make"($P1172)
+    find_lex $P1170, "$/"
+    find_lex $P1171, "$past"
+    $P1172 = $P1170."!make"($P1171)
 .annotate "line", 301
-    .return ($P1173)
-  control_1160:
+    .return ($P1172)
+  control_1159:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P1174, exception, "payload"
-    .return ($P1174)
+    getattribute $P1173, exception, "payload"
+    .return ($P1173)
 .end
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "backslash:sym<v>"  :subid("72_1259103979.04974") :method :outer("11_1259103979.04974")
-    .param pmc param_1178
+.sub "backslash:sym<v>"  :subid("72_1259177750.15652") :method :outer("11_1259177750.15652")
+    .param pmc param_1177
 .annotate "line", 307
-    new $P1177, 'ExceptionHandler'
-    set_addr $P1177, control_1176
-    $P1177."handle_types"(58)
-    push_eh $P1177
+    new $P1176, 'ExceptionHandler'
+    set_addr $P1176, control_1175
+    $P1176."handle_types"(58)
+    push_eh $P1176
     .lex "self", self
-    .lex "$/", param_1178
+    .lex "$/", param_1177
 .annotate "line", 308
-    new $P1179, "Undef"
-    .lex "$past", $P1179
-    get_hll_global $P1180, ["PAST"], "Regex"
+    new $P1178, "Undef"
+    .lex "$past", $P1178
+    get_hll_global $P1179, ["PAST"], "Regex"
 .annotate "line", 310
-    find_lex $P1181, "$/"
-    unless_null $P1181, vivify_276
-    new $P1181, "Hash"
+    find_lex $P1180, "$/"
+    unless_null $P1180, vivify_276
+    new $P1180, "Hash"
   vivify_276:
-    set $P1182, $P1181["sym"]
-    unless_null $P1182, vivify_277
-    new $P1182, "Undef"
+    set $P1181, $P1180["sym"]
+    unless_null $P1181, vivify_277
+    new $P1181, "Undef"
   vivify_277:
-    set $S1183, $P1182
-    iseq $I1184, $S1183, "V"
-    find_lex $P1185, "$/"
-    $P1186 = $P1180."new"(unicode:"\n\x{b}\f\r\x{85}\u2028\u2029", "enumcharlist" :named("pasttype"), $I1184 :named("negate"), $P1185 :named("node"))
+    set $S1182, $P1181
+    iseq $I1183, $S1182, "V"
+    find_lex $P1184, "$/"
+    $P1185 = $P1179."new"(unicode:"\n\x{b}\f\r\x{85}\u2028\u2029", "enumcharlist" :named("pasttype"), $I1183 :named("negate"), $P1184 :named("node"))
 .annotate "line", 308
-    store_lex "$past", $P1186
+    store_lex "$past", $P1185
 .annotate "line", 311
-    find_lex $P1187, "$/"
-    find_lex $P1188, "$past"
-    $P1189 = $P1187."!make"($P1188)
+    find_lex $P1186, "$/"
+    find_lex $P1187, "$past"
+    $P1188 = $P1186."!make"($P1187)
 .annotate "line", 307
-    .return ($P1189)
-  control_1176:
+    .return ($P1188)
+  control_1175:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P1190, exception, "payload"
-    .return ($P1190)
+    getattribute $P1189, exception, "payload"
+    .return ($P1189)
 .end
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "backslash:sym<o>"  :subid("73_1259103979.04974") :method :outer("11_1259103979.04974")
-    .param pmc param_1194
+.sub "backslash:sym<o>"  :subid("73_1259177750.15652") :method :outer("11_1259177750.15652")
+    .param pmc param_1193
 .annotate "line", 314
-    new $P1193, 'ExceptionHandler'
-    set_addr $P1193, control_1192
-    $P1193."handle_types"(58)
-    push_eh $P1193
+    new $P1192, 'ExceptionHandler'
+    set_addr $P1192, control_1191
+    $P1192."handle_types"(58)
+    push_eh $P1192
     .lex "self", self
-    .lex "$/", param_1194
+    .lex "$/", param_1193
 .annotate "line", 315
-    new $P1195, "Undef"
-    .lex "$octlit", $P1195
+    new $P1194, "Undef"
+    .lex "$octlit", $P1194
 .annotate "line", 316
-    get_hll_global $P1196, ["HLL";"Actions"], "ints_to_string"
-    find_lex $P1199, "$/"
-    unless_null $P1199, vivify_278
-    new $P1199, "Hash"
+    get_hll_global $P1195, ["HLL";"Actions"], "ints_to_string"
+    find_lex $P1198, "$/"
+    unless_null $P1198, vivify_278
+    new $P1198, "Hash"
   vivify_278:
-    set $P1200, $P1199["octint"]
-    unless_null $P1200, vivify_279
-    new $P1200, "Undef"
+    set $P1199, $P1198["octint"]
+    unless_null $P1199, vivify_279
+    new $P1199, "Undef"
   vivify_279:
-    unless $P1200, unless_1198
-    set $P1197, $P1200
-    goto unless_1198_end
-  unless_1198:
-    find_lex $P1201, "$/"
-    unless_null $P1201, vivify_280
-    new $P1201, "Hash"
+    unless $P1199, unless_1197
+    set $P1196, $P1199
+    goto unless_1197_end
+  unless_1197:
+    find_lex $P1200, "$/"
+    unless_null $P1200, vivify_280
+    new $P1200, "Hash"
   vivify_280:
-    set $P1202, $P1201["octints"]
-    unless_null $P1202, vivify_281
-    new $P1202, "Hash"
+    set $P1201, $P1200["octints"]
+    unless_null $P1201, vivify_281
+    new $P1201, "Hash"
   vivify_281:
-    set $P1203, $P1202["octint"]
-    unless_null $P1203, vivify_282
-    new $P1203, "Undef"
+    set $P1202, $P1201["octint"]
+    unless_null $P1202, vivify_282
+    new $P1202, "Undef"
   vivify_282:
-    set $P1197, $P1203
-  unless_1198_end:
-    $P1204 = $P1196($P1197)
-    store_lex "$octlit", $P1204
+    set $P1196, $P1202
+  unless_1197_end:
+    $P1203 = $P1195($P1196)
+    store_lex "$octlit", $P1203
 .annotate "line", 317
-    find_lex $P1205, "$/"
-    find_lex $P1208, "$/"
-    unless_null $P1208, vivify_283
-    new $P1208, "Hash"
+    find_lex $P1204, "$/"
+    find_lex $P1207, "$/"
+    unless_null $P1207, vivify_283
+    new $P1207, "Hash"
   vivify_283:
-    set $P1209, $P1208["sym"]
-    unless_null $P1209, vivify_284
-    new $P1209, "Undef"
+    set $P1208, $P1207["sym"]
+    unless_null $P1208, vivify_284
+    new $P1208, "Undef"
   vivify_284:
-    set $S1210, $P1209
-    iseq $I1211, $S1210, "O"
-    if $I1211, if_1207
+    set $S1209, $P1208
+    iseq $I1210, $S1209, "O"
+    if $I1210, if_1206
 .annotate "line", 320
-    get_hll_global $P1216, ["PAST"], "Regex"
-    find_lex $P1217, "$octlit"
-    find_lex $P1218, "$/"
-    $P1219 = $P1216."new"($P1217, "literal" :named("pasttype"), $P1218 :named("node"))
-    set $P1206, $P1219
+    get_hll_global $P1215, ["PAST"], "Regex"
+    find_lex $P1216, "$octlit"
+    find_lex $P1217, "$/"
+    $P1218 = $P1215."new"($P1216, "literal" :named("pasttype"), $P1217 :named("node"))
+    set $P1205, $P1218
 .annotate "line", 317
-    goto if_1207_end
-  if_1207:
+    goto if_1206_end
+  if_1206:
 .annotate "line", 318
-    get_hll_global $P1212, ["PAST"], "Regex"
-    find_lex $P1213, "$octlit"
-    find_lex $P1214, "$/"
-    $P1215 = $P1212."new"($P1213, "enumcharlist" :named("pasttype"), 1 :named("negate"), $P1214 :named("node"))
-    set $P1206, $P1215
-  if_1207_end:
-    $P1220 = $P1205."!make"($P1206)
+    get_hll_global $P1211, ["PAST"], "Regex"
+    find_lex $P1212, "$octlit"
+    find_lex $P1213, "$/"
+    $P1214 = $P1211."new"($P1212, "enumcharlist" :named("pasttype"), 1 :named("negate"), $P1213 :named("node"))
+    set $P1205, $P1214
+  if_1206_end:
+    $P1219 = $P1204."!make"($P1205)
 .annotate "line", 314
-    .return ($P1220)
-  control_1192:
+    .return ($P1219)
+  control_1191:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P1221, exception, "payload"
-    .return ($P1221)
+    getattribute $P1220, exception, "payload"
+    .return ($P1220)
 .end
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "backslash:sym<x>"  :subid("74_1259103979.04974") :method :outer("11_1259103979.04974")
-    .param pmc param_1225
+.sub "backslash:sym<x>"  :subid("74_1259177750.15652") :method :outer("11_1259177750.15652")
+    .param pmc param_1224
 .annotate "line", 323
-    new $P1224, 'ExceptionHandler'
-    set_addr $P1224, control_1223
-    $P1224."handle_types"(58)
-    push_eh $P1224
+    new $P1223, 'ExceptionHandler'
+    set_addr $P1223, control_1222
+    $P1223."handle_types"(58)
+    push_eh $P1223
     .lex "self", self
-    .lex "$/", param_1225
+    .lex "$/", param_1224
 .annotate "line", 324
-    new $P1226, "Undef"
-    .lex "$hexlit", $P1226
+    new $P1225, "Undef"
+    .lex "$hexlit", $P1225
 .annotate "line", 325
-    get_hll_global $P1227, ["HLL";"Actions"], "ints_to_string"
-    find_lex $P1230, "$/"
-    unless_null $P1230, vivify_285
-    new $P1230, "Hash"
+    get_hll_global $P1226, ["HLL";"Actions"], "ints_to_string"
+    find_lex $P1229, "$/"
+    unless_null $P1229, vivify_285
+    new $P1229, "Hash"
   vivify_285:
-    set $P1231, $P1230["hexint"]
-    unless_null $P1231, vivify_286
-    new $P1231, "Undef"
+    set $P1230, $P1229["hexint"]
+    unless_null $P1230, vivify_286
+    new $P1230, "Undef"
   vivify_286:
-    unless $P1231, unless_1229
-    set $P1228, $P1231
-    goto unless_1229_end
-  unless_1229:
-    find_lex $P1232, "$/"
-    unless_null $P1232, vivify_287
-    new $P1232, "Hash"
+    unless $P1230, unless_1228
+    set $P1227, $P1230
+    goto unless_1228_end
+  unless_1228:
+    find_lex $P1231, "$/"
+    unless_null $P1231, vivify_287
+    new $P1231, "Hash"
   vivify_287:
-    set $P1233, $P1232["hexints"]
-    unless_null $P1233, vivify_288
-    new $P1233, "Hash"
+    set $P1232, $P1231["hexints"]
+    unless_null $P1232, vivify_288
+    new $P1232, "Hash"
   vivify_288:
-    set $P1234, $P1233["hexint"]
-    unless_null $P1234, vivify_289
-    new $P1234, "Undef"
+    set $P1233, $P1232["hexint"]
+    unless_null $P1233, vivify_289
+    new $P1233, "Undef"
   vivify_289:
-    set $P1228, $P1234
-  unless_1229_end:
-    $P1235 = $P1227($P1228)
-    store_lex "$hexlit", $P1235
+    set $P1227, $P1233
+  unless_1228_end:
+    $P1234 = $P1226($P1227)
+    store_lex "$hexlit", $P1234
 .annotate "line", 326
-    find_lex $P1236, "$/"
-    find_lex $P1239, "$/"
-    unless_null $P1239, vivify_290
-    new $P1239, "Hash"
+    find_lex $P1235, "$/"
+    find_lex $P1238, "$/"
+    unless_null $P1238, vivify_290
+    new $P1238, "Hash"
   vivify_290:
-    set $P1240, $P1239["sym"]
-    unless_null $P1240, vivify_291
-    new $P1240, "Undef"
+    set $P1239, $P1238["sym"]
+    unless_null $P1239, vivify_291
+    new $P1239, "Undef"
   vivify_291:
-    set $S1241, $P1240
-    iseq $I1242, $S1241, "X"
-    if $I1242, if_1238
+    set $S1240, $P1239
+    iseq $I1241, $S1240, "X"
+    if $I1241, if_1237
 .annotate "line", 329
-    get_hll_global $P1247, ["PAST"], "Regex"
-    find_lex $P1248, "$hexlit"
-    find_lex $P1249, "$/"
-    $P1250 = $P1247."new"($P1248, "literal" :named("pasttype"), $P1249 :named("node"))
-    set $P1237, $P1250
+    get_hll_global $P1246, ["PAST"], "Regex"
+    find_lex $P1247, "$hexlit"
+    find_lex $P1248, "$/"
+    $P1249 = $P1246."new"($P1247, "literal" :named("pasttype"), $P1248 :named("node"))
+    set $P1236, $P1249
 .annotate "line", 326
-    goto if_1238_end
-  if_1238:
+    goto if_1237_end
+  if_1237:
 .annotate "line", 327
-    get_hll_global $P1243, ["PAST"], "Regex"
-    find_lex $P1244, "$hexlit"
-    find_lex $P1245, "$/"
-    $P1246 = $P1243."new"($P1244, "enumcharlist" :named("pasttype"), 1 :named("negate"), $P1245 :named("node"))
-    set $P1237, $P1246
-  if_1238_end:
-    $P1251 = $P1236."!make"($P1237)
+    get_hll_global $P1242, ["PAST"], "Regex"
+    find_lex $P1243, "$hexlit"
+    find_lex $P1244, "$/"
+    $P1245 = $P1242."new"($P1243, "enumcharlist" :named("pasttype"), 1 :named("negate"), $P1244 :named("node"))
+    set $P1236, $P1245
+  if_1237_end:
+    $P1250 = $P1235."!make"($P1236)
 .annotate "line", 323
-    .return ($P1251)
-  control_1223:
+    .return ($P1250)
+  control_1222:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P1252, exception, "payload"
-    .return ($P1252)
+    getattribute $P1251, exception, "payload"
+    .return ($P1251)
 .end
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "backslash:sym<misc>"  :subid("75_1259103979.04974") :method :outer("11_1259103979.04974")
-    .param pmc param_1256
+.sub "backslash:sym<misc>"  :subid("75_1259177750.15652") :method :outer("11_1259177750.15652")
+    .param pmc param_1255
 .annotate "line", 332
-    new $P1255, 'ExceptionHandler'
-    set_addr $P1255, control_1254
-    $P1255."handle_types"(58)
-    push_eh $P1255
+    new $P1254, 'ExceptionHandler'
+    set_addr $P1254, control_1253
+    $P1254."handle_types"(58)
+    push_eh $P1254
     .lex "self", self
-    .lex "$/", param_1256
+    .lex "$/", param_1255
 .annotate "line", 333
-    new $P1257, "Undef"
-    .lex "$past", $P1257
-    get_hll_global $P1258, ["PAST"], "Regex"
-    find_lex $P1259, "$/"
-    set $S1260, $P1259
-    find_lex $P1261, "$/"
-    $P1262 = $P1258."new"($S1260, "literal" :named("pasttype"), $P1261 :named("node"))
-    store_lex "$past", $P1262
+    new $P1256, "Undef"
+    .lex "$past", $P1256
+    get_hll_global $P1257, ["PAST"], "Regex"
+    find_lex $P1258, "$/"
+    set $S1259, $P1258
+    find_lex $P1260, "$/"
+    $P1261 = $P1257."new"($S1259, "literal" :named("pasttype"), $P1260 :named("node"))
+    store_lex "$past", $P1261
 .annotate "line", 334
-    find_lex $P1263, "$/"
-    find_lex $P1264, "$past"
-    $P1265 = $P1263."!make"($P1264)
+    find_lex $P1262, "$/"
+    find_lex $P1263, "$past"
+    $P1264 = $P1262."!make"($P1263)
 .annotate "line", 332
-    .return ($P1265)
-  control_1254:
+    .return ($P1264)
+  control_1253:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P1266, exception, "payload"
-    .return ($P1266)
+    getattribute $P1265, exception, "payload"
+    .return ($P1265)
 .end
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "assertion:sym<?>"  :subid("76_1259103979.04974") :method :outer("11_1259103979.04974")
-    .param pmc param_1270
+.sub "assertion:sym<?>"  :subid("76_1259177750.15652") :method :outer("11_1259177750.15652")
+    .param pmc param_1269
 .annotate "line", 338
-    new $P1269, 'ExceptionHandler'
-    set_addr $P1269, control_1268
-    $P1269."handle_types"(58)
-    push_eh $P1269
+    new $P1268, 'ExceptionHandler'
+    set_addr $P1268, control_1267
+    $P1268."handle_types"(58)
+    push_eh $P1268
     .lex "self", self
-    .lex "$/", param_1270
+    .lex "$/", param_1269
 .annotate "line", 339
-    new $P1271, "Undef"
-    .lex "$past", $P1271
+    new $P1270, "Undef"
+    .lex "$past", $P1270
 .annotate "line", 338
-    find_lex $P1272, "$past"
+    find_lex $P1271, "$past"
 .annotate "line", 340
-    find_lex $P1274, "$/"
-    unless_null $P1274, vivify_292
-    new $P1274, "Hash"
+    find_lex $P1273, "$/"
+    unless_null $P1273, vivify_292
+    new $P1273, "Hash"
   vivify_292:
-    set $P1275, $P1274["assertion"]
-    unless_null $P1275, vivify_293
-    new $P1275, "Undef"
+    set $P1274, $P1273["assertion"]
+    unless_null $P1274, vivify_293
+    new $P1274, "Undef"
   vivify_293:
-    if $P1275, if_1273
+    if $P1274, if_1272
 .annotate "line", 344
-    new $P1280, "Integer"
-    assign $P1280, 0
-    store_lex "$past", $P1280
-    goto if_1273_end
-  if_1273:
+    new $P1279, "Integer"
+    assign $P1279, 0
+    store_lex "$past", $P1279
+    goto if_1272_end
+  if_1272:
 .annotate "line", 341
-    find_lex $P1276, "$/"
-    unless_null $P1276, vivify_294
-    new $P1276, "Hash"
+    find_lex $P1275, "$/"
+    unless_null $P1275, vivify_294
+    new $P1275, "Hash"
   vivify_294:
-    set $P1277, $P1276["assertion"]
-    unless_null $P1277, vivify_295
-    new $P1277, "Undef"
+    set $P1276, $P1275["assertion"]
+    unless_null $P1276, vivify_295
+    new $P1276, "Undef"
   vivify_295:
-    $P1278 = $P1277."ast"()
-    store_lex "$past", $P1278
+    $P1277 = $P1276."ast"()
+    store_lex "$past", $P1277
 .annotate "line", 342
-    find_lex $P1279, "$past"
-    $P1279."subtype"("zerowidth")
-  if_1273_end:
+    find_lex $P1278, "$past"
+    $P1278."subtype"("zerowidth")
+  if_1272_end:
 .annotate "line", 345
-    find_lex $P1281, "$/"
-    find_lex $P1282, "$past"
-    $P1283 = $P1281."!make"($P1282)
+    find_lex $P1280, "$/"
+    find_lex $P1281, "$past"
+    $P1282 = $P1280."!make"($P1281)
 .annotate "line", 338
-    .return ($P1283)
-  control_1268:
+    .return ($P1282)
+  control_1267:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P1284, exception, "payload"
-    .return ($P1284)
+    getattribute $P1283, exception, "payload"
+    .return ($P1283)
 .end
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "assertion:sym<!>"  :subid("77_1259103979.04974") :method :outer("11_1259103979.04974")
-    .param pmc param_1288
+.sub "assertion:sym<!>"  :subid("77_1259177750.15652") :method :outer("11_1259177750.15652")
+    .param pmc param_1287
 .annotate "line", 348
-    new $P1287, 'ExceptionHandler'
-    set_addr $P1287, control_1286
-    $P1287."handle_types"(58)
-    push_eh $P1287
+    new $P1286, 'ExceptionHandler'
+    set_addr $P1286, control_1285
+    $P1286."handle_types"(58)
+    push_eh $P1286
     .lex "self", self
-    .lex "$/", param_1288
+    .lex "$/", param_1287
 .annotate "line", 349
-    new $P1289, "Undef"
-    .lex "$past", $P1289
+    new $P1288, "Undef"
+    .lex "$past", $P1288
 .annotate "line", 348
-    find_lex $P1290, "$past"
+    find_lex $P1289, "$past"
 .annotate "line", 350
-    find_lex $P1292, "$/"
-    unless_null $P1292, vivify_296
-    new $P1292, "Hash"
+    find_lex $P1291, "$/"
+    unless_null $P1291, vivify_296
+    new $P1291, "Hash"
   vivify_296:
-    set $P1293, $P1292["assertion"]
-    unless_null $P1293, vivify_297
-    new $P1293, "Undef"
+    set $P1292, $P1291["assertion"]
+    unless_null $P1292, vivify_297
+    new $P1292, "Undef"
   vivify_297:
-    if $P1293, if_1291
+    if $P1292, if_1290
 .annotate "line", 356
-    get_hll_global $P1302, ["PAST"], "Regex"
-    find_lex $P1303, "$/"
-    $P1304 = $P1302."new"("anchor" :named("pasttype"), "fail" :named("subtype"), $P1303 :named("node"))
-    store_lex "$past", $P1304
+    get_hll_global $P1301, ["PAST"], "Regex"
+    find_lex $P1302, "$/"
+    $P1303 = $P1301."new"("anchor" :named("pasttype"), "fail" :named("subtype"), $P1302 :named("node"))
+    store_lex "$past", $P1303
 .annotate "line", 355
-    goto if_1291_end
-  if_1291:
+    goto if_1290_end
+  if_1290:
 .annotate "line", 351
-    find_lex $P1294, "$/"
-    unless_null $P1294, vivify_298
-    new $P1294, "Hash"
+    find_lex $P1293, "$/"
+    unless_null $P1293, vivify_298
+    new $P1293, "Hash"
   vivify_298:
-    set $P1295, $P1294["assertion"]
-    unless_null $P1295, vivify_299
-    new $P1295, "Undef"
+    set $P1294, $P1293["assertion"]
+    unless_null $P1294, vivify_299
+    new $P1294, "Undef"
   vivify_299:
-    $P1296 = $P1295."ast"()
-    store_lex "$past", $P1296
+    $P1295 = $P1294."ast"()
+    store_lex "$past", $P1295
 .annotate "line", 352
+    find_lex $P1296, "$past"
     find_lex $P1297, "$past"
-    find_lex $P1298, "$past"
-    $P1299 = $P1298."negate"()
-    isfalse $I1300, $P1299
-    $P1297."negate"($I1300)
+    $P1298 = $P1297."negate"()
+    isfalse $I1299, $P1298
+    $P1296."negate"($I1299)
 .annotate "line", 353
-    find_lex $P1301, "$past"
-    $P1301."subtype"("zerowidth")
-  if_1291_end:
+    find_lex $P1300, "$past"
+    $P1300."subtype"("zerowidth")
+  if_1290_end:
 .annotate "line", 358
-    find_lex $P1305, "$/"
-    find_lex $P1306, "$past"
-    $P1307 = $P1305."!make"($P1306)
+    find_lex $P1304, "$/"
+    find_lex $P1305, "$past"
+    $P1306 = $P1304."!make"($P1305)
 .annotate "line", 348
-    .return ($P1307)
-  control_1286:
+    .return ($P1306)
+  control_1285:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P1308, exception, "payload"
-    .return ($P1308)
+    getattribute $P1307, exception, "payload"
+    .return ($P1307)
 .end
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "assertion:sym<method>"  :subid("78_1259103979.04974") :method :outer("11_1259103979.04974")
-    .param pmc param_1312
+.sub "assertion:sym<method>"  :subid("78_1259177750.15652") :method :outer("11_1259177750.15652")
+    .param pmc param_1311
 .annotate "line", 361
-    new $P1311, 'ExceptionHandler'
-    set_addr $P1311, control_1310
-    $P1311."handle_types"(58)
-    push_eh $P1311
+    new $P1310, 'ExceptionHandler'
+    set_addr $P1310, control_1309
+    $P1310."handle_types"(58)
+    push_eh $P1310
     .lex "self", self
-    .lex "$/", param_1312
+    .lex "$/", param_1311
 .annotate "line", 362
-    new $P1313, "Undef"
-    .lex "$past", $P1313
-    find_lex $P1314, "$/"
-    unless_null $P1314, vivify_300
-    new $P1314, "Hash"
+    new $P1312, "Undef"
+    .lex "$past", $P1312
+    find_lex $P1313, "$/"
+    unless_null $P1313, vivify_300
+    new $P1313, "Hash"
   vivify_300:
-    set $P1315, $P1314["assertion"]
-    unless_null $P1315, vivify_301
-    new $P1315, "Undef"
+    set $P1314, $P1313["assertion"]
+    unless_null $P1314, vivify_301
+    new $P1314, "Undef"
   vivify_301:
-    $P1316 = $P1315."ast"()
-    store_lex "$past", $P1316
+    $P1315 = $P1314."ast"()
+    store_lex "$past", $P1315
 .annotate "line", 363
-    find_lex $P1317, "$past"
-    $P1317."subtype"("method")
+    find_lex $P1316, "$past"
+    $P1316."subtype"("method")
 .annotate "line", 364
-    find_lex $P1318, "$past"
-    $P1318."name"("")
+    find_lex $P1317, "$past"
+    $P1317."name"("")
 .annotate "line", 365
-    find_lex $P1319, "$/"
-    find_lex $P1320, "$past"
-    $P1321 = $P1319."!make"($P1320)
+    find_lex $P1318, "$/"
+    find_lex $P1319, "$past"
+    $P1320 = $P1318."!make"($P1319)
 .annotate "line", 361
-    .return ($P1321)
-  control_1310:
+    .return ($P1320)
+  control_1309:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P1322, exception, "payload"
-    .return ($P1322)
+    getattribute $P1321, exception, "payload"
+    .return ($P1321)
 .end
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "assertion:sym<name>"  :subid("79_1259103979.04974") :method :outer("11_1259103979.04974")
-    .param pmc param_1326
+.sub "assertion:sym<name>"  :subid("79_1259177750.15652") :method :outer("11_1259177750.15652")
+    .param pmc param_1325
 .annotate "line", 368
-    .const 'Sub' $P1384 = "81_1259103979.04974" 
-    capture_lex $P1384
-    .const 'Sub' $P1348 = "80_1259103979.04974" 
-    capture_lex $P1348
-    new $P1325, 'ExceptionHandler'
-    set_addr $P1325, control_1324
-    $P1325."handle_types"(58)
-    push_eh $P1325
+    .const 'Sub' $P1383 = "81_1259177750.15652" 
+    capture_lex $P1383
+    .const 'Sub' $P1347 = "80_1259177750.15652" 
+    capture_lex $P1347
+    new $P1324, 'ExceptionHandler'
+    set_addr $P1324, control_1323
+    $P1324."handle_types"(58)
+    push_eh $P1324
     .lex "self", self
-    .lex "$/", param_1326
+    .lex "$/", param_1325
 .annotate "line", 369
-    new $P1327, "Undef"
-    .lex "$name", $P1327
+    new $P1326, "Undef"
+    .lex "$name", $P1326
 .annotate "line", 370
-    new $P1328, "Undef"
-    .lex "$past", $P1328
+    new $P1327, "Undef"
+    .lex "$past", $P1327
 .annotate "line", 369
-    find_lex $P1329, "$/"
-    unless_null $P1329, vivify_302
-    new $P1329, "Hash"
+    find_lex $P1328, "$/"
+    unless_null $P1328, vivify_302
+    new $P1328, "Hash"
   vivify_302:
-    set $P1330, $P1329["longname"]
-    unless_null $P1330, vivify_303
-    new $P1330, "Undef"
+    set $P1329, $P1328["longname"]
+    unless_null $P1329, vivify_303
+    new $P1329, "Undef"
   vivify_303:
-    set $S1331, $P1330
-    new $P1332, 'String'
-    set $P1332, $S1331
-    store_lex "$name", $P1332
-    find_lex $P1333, "$past"
+    set $S1330, $P1329
+    new $P1331, 'String'
+    set $P1331, $S1330
+    store_lex "$name", $P1331
+    find_lex $P1332, "$past"
 .annotate "line", 371
-    find_lex $P1335, "$/"
-    unless_null $P1335, vivify_304
-    new $P1335, "Hash"
+    find_lex $P1334, "$/"
+    unless_null $P1334, vivify_304
+    new $P1334, "Hash"
   vivify_304:
-    set $P1336, $P1335["assertion"]
-    unless_null $P1336, vivify_305
-    new $P1336, "Undef"
+    set $P1335, $P1334["assertion"]
+    unless_null $P1335, vivify_305
+    new $P1335, "Undef"
   vivify_305:
-    if $P1336, if_1334
+    if $P1335, if_1333
 .annotate "line", 375
-    find_lex $P1344, "$name"
-    set $S1345, $P1344
-    iseq $I1346, $S1345, "sym"
-    if $I1346, if_1343
+    find_lex $P1343, "$name"
+    set $S1344, $P1343
+    iseq $I1345, $S1344, "sym"
+    if $I1345, if_1342
 .annotate "line", 391
-    get_hll_global $P1358, ["PAST"], "Regex"
+    get_hll_global $P1357, ["PAST"], "Regex"
+    find_lex $P1358, "$name"
     find_lex $P1359, "$name"
-    find_lex $P1360, "$name"
-    find_lex $P1361, "$/"
-    $P1362 = $P1358."new"($P1359, $P1360 :named("name"), "subrule" :named("pasttype"), "capture" :named("subtype"), $P1361 :named("node"))
-    store_lex "$past", $P1362
+    find_lex $P1360, "$/"
+    $P1361 = $P1357."new"($P1358, $P1359 :named("name"), "subrule" :named("pasttype"), "capture" :named("subtype"), $P1360 :named("node"))
+    store_lex "$past", $P1361
 .annotate "line", 393
-    find_lex $P1364, "$/"
-    unless_null $P1364, vivify_306
-    new $P1364, "Hash"
+    find_lex $P1363, "$/"
+    unless_null $P1363, vivify_306
+    new $P1363, "Hash"
   vivify_306:
-    set $P1365, $P1364["nibbler"]
-    unless_null $P1365, vivify_307
-    new $P1365, "Undef"
+    set $P1364, $P1363["nibbler"]
+    unless_null $P1364, vivify_307
+    new $P1364, "Undef"
   vivify_307:
-    if $P1365, if_1363
+    if $P1364, if_1362
 .annotate "line", 396
-    find_lex $P1373, "$/"
-    unless_null $P1373, vivify_308
-    new $P1373, "Hash"
+    find_lex $P1372, "$/"
+    unless_null $P1372, vivify_308
+    new $P1372, "Hash"
   vivify_308:
-    set $P1374, $P1373["arglist"]
-    unless_null $P1374, vivify_309
-    new $P1374, "Undef"
+    set $P1373, $P1372["arglist"]
+    unless_null $P1373, vivify_309
+    new $P1373, "Undef"
   vivify_309:
-    unless $P1374, if_1372_end
+    unless $P1373, if_1371_end
 .annotate "line", 397
-    find_lex $P1376, "$/"
-    unless_null $P1376, vivify_310
-    new $P1376, "Hash"
+    find_lex $P1375, "$/"
+    unless_null $P1375, vivify_310
+    new $P1375, "Hash"
   vivify_310:
-    set $P1377, $P1376["arglist"]
-    unless_null $P1377, vivify_311
-    new $P1377, "ResizablePMCArray"
+    set $P1376, $P1375["arglist"]
+    unless_null $P1376, vivify_311
+    new $P1376, "ResizablePMCArray"
   vivify_311:
-    set $P1378, $P1377[0]
-    unless_null $P1378, vivify_312
-    new $P1378, "Undef"
+    set $P1377, $P1376[0]
+    unless_null $P1377, vivify_312
+    new $P1377, "Undef"
   vivify_312:
-    $P1379 = $P1378."ast"()
-    $P1380 = $P1379."list"()
-    defined $I1381, $P1380
-    unless $I1381, for_undef_313
-    iter $P1375, $P1380
-    new $P1390, 'ExceptionHandler'
-    set_addr $P1390, loop1389_handler
-    $P1390."handle_types"(65, 67, 66)
-    push_eh $P1390
-  loop1389_test:
-    unless $P1375, loop1389_done
-    shift $P1382, $P1375
-  loop1389_redo:
-    .const 'Sub' $P1384 = "81_1259103979.04974" 
-    capture_lex $P1384
-    $P1384($P1382)
-  loop1389_next:
-    goto loop1389_test
-  loop1389_handler:
-    .local pmc exception 
-    .get_results (exception) 
-    getattribute $P1391, exception, 'type'
-    eq $P1391, 65, loop1389_next
-    eq $P1391, 67, loop1389_redo
-  loop1389_done:
+    $P1378 = $P1377."ast"()
+    $P1379 = $P1378."list"()
+    defined $I1380, $P1379
+    unless $I1380, for_undef_313
+    iter $P1374, $P1379
+    new $P1389, 'ExceptionHandler'
+    set_addr $P1389, loop1388_handler
+    $P1389."handle_types"(65, 67, 66)
+    push_eh $P1389
+  loop1388_test:
+    unless $P1374, loop1388_done
+    shift $P1381, $P1374
+  loop1388_redo:
+    .const 'Sub' $P1383 = "81_1259177750.15652" 
+    capture_lex $P1383
+    $P1383($P1381)
+  loop1388_next:
+    goto loop1388_test
+  loop1388_handler:
+    .local pmc exception 
+    .get_results (exception) 
+    getattribute $P1390, exception, 'type'
+    eq $P1390, 65, loop1388_next
+    eq $P1390, 67, loop1388_redo
+  loop1388_done:
     pop_eh 
   for_undef_313:
-  if_1372_end:
+  if_1371_end:
 .annotate "line", 396
-    goto if_1363_end
-  if_1363:
+    goto if_1362_end
+  if_1362:
 .annotate "line", 394
-    find_lex $P1366, "$past"
-    find_lex $P1367, "$/"
-    unless_null $P1367, vivify_314
-    new $P1367, "Hash"
+    find_lex $P1365, "$past"
+    find_lex $P1366, "$/"
+    unless_null $P1366, vivify_314
+    new $P1366, "Hash"
   vivify_314:
-    set $P1368, $P1367["nibbler"]
-    unless_null $P1368, vivify_315
-    new $P1368, "ResizablePMCArray"
+    set $P1367, $P1366["nibbler"]
+    unless_null $P1367, vivify_315
+    new $P1367, "ResizablePMCArray"
   vivify_315:
-    set $P1369, $P1368[0]
-    unless_null $P1369, vivify_316
-    new $P1369, "Undef"
+    set $P1368, $P1367[0]
+    unless_null $P1368, vivify_316
+    new $P1368, "Undef"
   vivify_316:
-    $P1370 = $P1369."ast"()
-    $P1371 = "buildsub"($P1370)
-    $P1366."push"($P1371)
-  if_1363_end:
+    $P1369 = $P1368."ast"()
+    $P1370 = "buildsub"($P1369)
+    $P1365."push"($P1370)
+  if_1362_end:
 .annotate "line", 390
-    goto if_1343_end
-  if_1343:
+    goto if_1342_end
+  if_1342:
 .annotate "line", 375
-    .const 'Sub' $P1348 = "80_1259103979.04974" 
-    capture_lex $P1348
-    $P1348()
-  if_1343_end:
-    goto if_1334_end
-  if_1334:
+    .const 'Sub' $P1347 = "80_1259177750.15652" 
+    capture_lex $P1347
+    $P1347()
+  if_1342_end:
+    goto if_1333_end
+  if_1333:
 .annotate "line", 372
-    find_lex $P1337, "$/"
-    unless_null $P1337, vivify_317
-    new $P1337, "Hash"
+    find_lex $P1336, "$/"
+    unless_null $P1336, vivify_317
+    new $P1336, "Hash"
   vivify_317:
-    set $P1338, $P1337["assertion"]
-    unless_null $P1338, vivify_318
-    new $P1338, "ResizablePMCArray"
+    set $P1337, $P1336["assertion"]
+    unless_null $P1337, vivify_318
+    new $P1337, "ResizablePMCArray"
   vivify_318:
-    set $P1339, $P1338[0]
-    unless_null $P1339, vivify_319
-    new $P1339, "Undef"
+    set $P1338, $P1337[0]
+    unless_null $P1338, vivify_319
+    new $P1338, "Undef"
   vivify_319:
-    $P1340 = $P1339."ast"()
-    store_lex "$past", $P1340
+    $P1339 = $P1338."ast"()
+    store_lex "$past", $P1339
 .annotate "line", 373
-    find_lex $P1341, "$past"
-    find_lex $P1342, "$name"
-    "subrule_alias"($P1341, $P1342)
-  if_1334_end:
+    find_lex $P1340, "$past"
+    find_lex $P1341, "$name"
+    "subrule_alias"($P1340, $P1341)
+  if_1333_end:
 .annotate "line", 400
-    find_lex $P1392, "$/"
-    find_lex $P1393, "$past"
-    $P1394 = $P1392."!make"($P1393)
+    find_lex $P1391, "$/"
+    find_lex $P1392, "$past"
+    $P1393 = $P1391."!make"($P1392)
 .annotate "line", 368
-    .return ($P1394)
-  control_1324:
+    .return ($P1393)
+  control_1323:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P1395, exception, "payload"
-    .return ($P1395)
+    getattribute $P1394, exception, "payload"
+    .return ($P1394)
 .end
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "_block1383"  :anon :subid("81_1259103979.04974") :outer("79_1259103979.04974")
-    .param pmc param_1385
+.sub "_block1382"  :anon :subid("81_1259177750.15652") :outer("79_1259177750.15652")
+    .param pmc param_1384
 .annotate "line", 397
-    .lex "$_", param_1385
-    find_lex $P1386, "$past"
-    find_lex $P1387, "$_"
-    $P1388 = $P1386."push"($P1387)
-    .return ($P1388)
+    .lex "$_", param_1384
+    find_lex $P1385, "$past"
+    find_lex $P1386, "$_"
+    $P1387 = $P1385."push"($P1386)
+    .return ($P1387)
 .end
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "_block1347"  :anon :subid("80_1259103979.04974") :outer("79_1259103979.04974")
+.sub "_block1346"  :anon :subid("80_1259177750.15652") :outer("79_1259177750.15652")
 .annotate "line", 376
-    new $P1349, "Undef"
-    .lex "$regexsym", $P1349
+    new $P1348, "Undef"
+    .lex "$regexsym", $P1348
 
             $P0 = get_global '$REGEXNAME'
             $S0 = $P0
@@ -11264,387 +11276,387 @@
             add $I0, 5
             $S0 = substr $S0, $I0
             chopn $S0, 1
-            $P1350 = box $S0
+            $P1349 = box $S0
         
-    store_lex "$regexsym", $P1350
+    store_lex "$regexsym", $P1349
 .annotate "line", 385
-    get_hll_global $P1351, ["PAST"], "Regex"
+    get_hll_global $P1350, ["PAST"], "Regex"
 .annotate "line", 386
-    get_hll_global $P1352, ["PAST"], "Regex"
-    find_lex $P1353, "$regexsym"
-    $P1354 = $P1352."new"($P1353, "literal" :named("pasttype"))
-    find_lex $P1355, "$name"
-    find_lex $P1356, "$/"
-    $P1357 = $P1351."new"($P1354, $P1355 :named("name"), "subcapture" :named("pasttype"), $P1356 :named("node"))
+    get_hll_global $P1351, ["PAST"], "Regex"
+    find_lex $P1352, "$regexsym"
+    $P1353 = $P1351."new"($P1352, "literal" :named("pasttype"))
+    find_lex $P1354, "$name"
+    find_lex $P1355, "$/"
+    $P1356 = $P1350."new"($P1353, $P1354 :named("name"), "subcapture" :named("pasttype"), $P1355 :named("node"))
 .annotate "line", 385
-    store_lex "$past", $P1357
+    store_lex "$past", $P1356
 .annotate "line", 375
-    .return ($P1357)
+    .return ($P1356)
 .end
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "assertion:sym<[>"  :subid("82_1259103979.04974") :method :outer("11_1259103979.04974")
-    .param pmc param_1399
+.sub "assertion:sym<[>"  :subid("82_1259177750.15652") :method :outer("11_1259177750.15652")
+    .param pmc param_1398
 .annotate "line", 403
-    .const 'Sub' $P1434 = "83_1259103979.04974" 
-    capture_lex $P1434
-    new $P1398, 'ExceptionHandler'
-    set_addr $P1398, control_1397
-    $P1398."handle_types"(58)
-    push_eh $P1398
+    .const 'Sub' $P1433 = "83_1259177750.15652" 
+    capture_lex $P1433
+    new $P1397, 'ExceptionHandler'
+    set_addr $P1397, control_1396
+    $P1397."handle_types"(58)
+    push_eh $P1397
     .lex "self", self
-    .lex "$/", param_1399
+    .lex "$/", param_1398
 .annotate "line", 404
-    new $P1400, "Undef"
-    .lex "$clist", $P1400
+    new $P1399, "Undef"
+    .lex "$clist", $P1399
 .annotate "line", 405
-    new $P1401, "Undef"
-    .lex "$past", $P1401
+    new $P1400, "Undef"
+    .lex "$past", $P1400
 .annotate "line", 414
-    new $P1402, "Undef"
-    .lex "$i", $P1402
+    new $P1401, "Undef"
+    .lex "$i", $P1401
 .annotate "line", 415
-    new $P1403, "Undef"
-    .lex "$n", $P1403
+    new $P1402, "Undef"
+    .lex "$n", $P1402
 .annotate "line", 404
-    find_lex $P1404, "$/"
-    unless_null $P1404, vivify_320
-    new $P1404, "Hash"
+    find_lex $P1403, "$/"
+    unless_null $P1403, vivify_320
+    new $P1403, "Hash"
   vivify_320:
-    set $P1405, $P1404["cclass_elem"]
-    unless_null $P1405, vivify_321
-    new $P1405, "Undef"
+    set $P1404, $P1403["cclass_elem"]
+    unless_null $P1404, vivify_321
+    new $P1404, "Undef"
   vivify_321:
-    store_lex "$clist", $P1405
+    store_lex "$clist", $P1404
 .annotate "line", 405
-    find_lex $P1406, "$clist"
-    unless_null $P1406, vivify_322
-    new $P1406, "ResizablePMCArray"
+    find_lex $P1405, "$clist"
+    unless_null $P1405, vivify_322
+    new $P1405, "ResizablePMCArray"
   vivify_322:
-    set $P1407, $P1406[0]
-    unless_null $P1407, vivify_323
-    new $P1407, "Undef"
+    set $P1406, $P1405[0]
+    unless_null $P1406, vivify_323
+    new $P1406, "Undef"
   vivify_323:
-    $P1408 = $P1407."ast"()
-    store_lex "$past", $P1408
+    $P1407 = $P1406."ast"()
+    store_lex "$past", $P1407
 .annotate "line", 406
-    find_lex $P1412, "$past"
-    $P1413 = $P1412."negate"()
-    if $P1413, if_1411
-    set $P1410, $P1413
-    goto if_1411_end
-  if_1411:
-    find_lex $P1414, "$past"
-    $S1415 = $P1414."pasttype"()
-    iseq $I1416, $S1415, "subrule"
-    new $P1410, 'Integer'
-    set $P1410, $I1416
-  if_1411_end:
-    unless $P1410, if_1409_end
+    find_lex $P1411, "$past"
+    $P1412 = $P1411."negate"()
+    if $P1412, if_1410
+    set $P1409, $P1412
+    goto if_1410_end
+  if_1410:
+    find_lex $P1413, "$past"
+    $S1414 = $P1413."pasttype"()
+    iseq $I1415, $S1414, "subrule"
+    new $P1409, 'Integer'
+    set $P1409, $I1415
+  if_1410_end:
+    unless $P1409, if_1408_end
 .annotate "line", 407
-    find_lex $P1417, "$past"
-    $P1417."subtype"("zerowidth")
+    find_lex $P1416, "$past"
+    $P1416."subtype"("zerowidth")
 .annotate "line", 408
-    get_hll_global $P1418, ["PAST"], "Regex"
-    find_lex $P1419, "$past"
+    get_hll_global $P1417, ["PAST"], "Regex"
+    find_lex $P1418, "$past"
 .annotate "line", 410
-    get_hll_global $P1420, ["PAST"], "Regex"
-    $P1421 = $P1420."new"("charclass" :named("pasttype"), "." :named("subtype"))
-    find_lex $P1422, "$/"
-    $P1423 = $P1418."new"($P1419, $P1421, $P1422 :named("node"))
+    get_hll_global $P1419, ["PAST"], "Regex"
+    $P1420 = $P1419."new"("charclass" :named("pasttype"), "." :named("subtype"))
+    find_lex $P1421, "$/"
+    $P1422 = $P1417."new"($P1418, $P1420, $P1421 :named("node"))
 .annotate "line", 408
-    store_lex "$past", $P1423
-  if_1409_end:
+    store_lex "$past", $P1422
+  if_1408_end:
 .annotate "line", 414
-    new $P1424, "Integer"
-    assign $P1424, 1
-    store_lex "$i", $P1424
+    new $P1423, "Integer"
+    assign $P1423, 1
+    store_lex "$i", $P1423
 .annotate "line", 415
-    find_lex $P1425, "$clist"
-    set $N1426, $P1425
-    new $P1427, 'Float'
-    set $P1427, $N1426
-    store_lex "$n", $P1427
+    find_lex $P1424, "$clist"
+    set $N1425, $P1424
+    new $P1426, 'Float'
+    set $P1426, $N1425
+    store_lex "$n", $P1426
 .annotate "line", 416
-    new $P1458, 'ExceptionHandler'
-    set_addr $P1458, loop1457_handler
-    $P1458."handle_types"(65, 67, 66)
-    push_eh $P1458
-  loop1457_test:
-    find_lex $P1428, "$i"
-    set $N1429, $P1428
-    find_lex $P1430, "$n"
-    set $N1431, $P1430
-    islt $I1432, $N1429, $N1431
-    unless $I1432, loop1457_done
-  loop1457_redo:
-    .const 'Sub' $P1434 = "83_1259103979.04974" 
-    capture_lex $P1434
-    $P1434()
-  loop1457_next:
-    goto loop1457_test
-  loop1457_handler:
-    .local pmc exception 
-    .get_results (exception) 
-    getattribute $P1459, exception, 'type'
-    eq $P1459, 65, loop1457_next
-    eq $P1459, 67, loop1457_redo
-  loop1457_done:
+    new $P1457, 'ExceptionHandler'
+    set_addr $P1457, loop1456_handler
+    $P1457."handle_types"(65, 67, 66)
+    push_eh $P1457
+  loop1456_test:
+    find_lex $P1427, "$i"
+    set $N1428, $P1427
+    find_lex $P1429, "$n"
+    set $N1430, $P1429
+    islt $I1431, $N1428, $N1430
+    unless $I1431, loop1456_done
+  loop1456_redo:
+    .const 'Sub' $P1433 = "83_1259177750.15652" 
+    capture_lex $P1433
+    $P1433()
+  loop1456_next:
+    goto loop1456_test
+  loop1456_handler:
+    .local pmc exception 
+    .get_results (exception) 
+    getattribute $P1458, exception, 'type'
+    eq $P1458, 65, loop1456_next
+    eq $P1458, 67, loop1456_redo
+  loop1456_done:
     pop_eh 
 .annotate "line", 427
-    find_lex $P1460, "$/"
-    find_lex $P1461, "$past"
-    $P1462 = $P1460."!make"($P1461)
+    find_lex $P1459, "$/"
+    find_lex $P1460, "$past"
+    $P1461 = $P1459."!make"($P1460)
 .annotate "line", 403
-    .return ($P1462)
-  control_1397:
+    .return ($P1461)
+  control_1396:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P1463, exception, "payload"
-    .return ($P1463)
+    getattribute $P1462, exception, "payload"
+    .return ($P1462)
 .end
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "_block1433"  :anon :subid("83_1259103979.04974") :outer("82_1259103979.04974")
+.sub "_block1432"  :anon :subid("83_1259177750.15652") :outer("82_1259177750.15652")
 .annotate "line", 417
-    new $P1435, "Undef"
-    .lex "$ast", $P1435
-    find_lex $P1436, "$i"
-    set $I1437, $P1436
-    find_lex $P1438, "$clist"
-    unless_null $P1438, vivify_324
-    new $P1438, "ResizablePMCArray"
+    new $P1434, "Undef"
+    .lex "$ast", $P1434
+    find_lex $P1435, "$i"
+    set $I1436, $P1435
+    find_lex $P1437, "$clist"
+    unless_null $P1437, vivify_324
+    new $P1437, "ResizablePMCArray"
   vivify_324:
-    set $P1439, $P1438[$I1437]
-    unless_null $P1439, vivify_325
-    new $P1439, "Undef"
+    set $P1438, $P1437[$I1436]
+    unless_null $P1438, vivify_325
+    new $P1438, "Undef"
   vivify_325:
-    $P1440 = $P1439."ast"()
-    store_lex "$ast", $P1440
+    $P1439 = $P1438."ast"()
+    store_lex "$ast", $P1439
 .annotate "line", 418
-    find_lex $P1442, "$ast"
-    $P1443 = $P1442."negate"()
-    if $P1443, if_1441
+    find_lex $P1441, "$ast"
+    $P1442 = $P1441."negate"()
+    if $P1442, if_1440
 .annotate "line", 423
-    get_hll_global $P1450, ["PAST"], "Regex"
-    find_lex $P1451, "$past"
-    find_lex $P1452, "$ast"
-    find_lex $P1453, "$/"
-    $P1454 = $P1450."new"($P1451, $P1452, "alt" :named("pasttype"), $P1453 :named("node"))
-    store_lex "$past", $P1454
+    get_hll_global $P1449, ["PAST"], "Regex"
+    find_lex $P1450, "$past"
+    find_lex $P1451, "$ast"
+    find_lex $P1452, "$/"
+    $P1453 = $P1449."new"($P1450, $P1451, "alt" :named("pasttype"), $P1452 :named("node"))
+    store_lex "$past", $P1453
 .annotate "line", 422
-    goto if_1441_end
-  if_1441:
+    goto if_1440_end
+  if_1440:
 .annotate "line", 419
-    find_lex $P1444, "$ast"
-    $P1444."subtype"("zerowidth")
+    find_lex $P1443, "$ast"
+    $P1443."subtype"("zerowidth")
 .annotate "line", 420
-    get_hll_global $P1445, ["PAST"], "Regex"
-    find_lex $P1446, "$ast"
-    find_lex $P1447, "$past"
-    find_lex $P1448, "$/"
-    $P1449 = $P1445."new"($P1446, $P1447, "concat" :named("pasttype"), $P1448 :named("node"))
-    store_lex "$past", $P1449
-  if_1441_end:
+    get_hll_global $P1444, ["PAST"], "Regex"
+    find_lex $P1445, "$ast"
+    find_lex $P1446, "$past"
+    find_lex $P1447, "$/"
+    $P1448 = $P1444."new"($P1445, $P1446, "concat" :named("pasttype"), $P1447 :named("node"))
+    store_lex "$past", $P1448
+  if_1440_end:
 .annotate "line", 425
-    find_lex $P1455, "$i"
-    add $P1456, $P1455, 1
-    store_lex "$i", $P1456
+    find_lex $P1454, "$i"
+    add $P1455, $P1454, 1
+    store_lex "$i", $P1455
 .annotate "line", 416
-    .return ($P1456)
+    .return ($P1455)
 .end
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "cclass_elem"  :subid("84_1259103979.04974") :method :outer("11_1259103979.04974")
-    .param pmc param_1467
+.sub "cclass_elem"  :subid("84_1259177750.15652") :method :outer("11_1259177750.15652")
+    .param pmc param_1466
 .annotate "line", 430
-    .const 'Sub' $P1492 = "86_1259103979.04974" 
-    capture_lex $P1492
-    .const 'Sub' $P1476 = "85_1259103979.04974" 
-    capture_lex $P1476
-    new $P1466, 'ExceptionHandler'
-    set_addr $P1466, control_1465
-    $P1466."handle_types"(58)
-    push_eh $P1466
+    .const 'Sub' $P1491 = "86_1259177750.15652" 
+    capture_lex $P1491
+    .const 'Sub' $P1475 = "85_1259177750.15652" 
+    capture_lex $P1475
+    new $P1465, 'ExceptionHandler'
+    set_addr $P1465, control_1464
+    $P1465."handle_types"(58)
+    push_eh $P1465
     .lex "self", self
-    .lex "$/", param_1467
+    .lex "$/", param_1466
 .annotate "line", 431
-    new $P1468, "Undef"
-    .lex "$str", $P1468
+    new $P1467, "Undef"
+    .lex "$str", $P1467
 .annotate "line", 432
-    new $P1469, "Undef"
-    .lex "$past", $P1469
+    new $P1468, "Undef"
+    .lex "$past", $P1468
 .annotate "line", 431
-    new $P1470, "String"
-    assign $P1470, ""
-    store_lex "$str", $P1470
-    find_lex $P1471, "$past"
+    new $P1469, "String"
+    assign $P1469, ""
+    store_lex "$str", $P1469
+    find_lex $P1470, "$past"
 .annotate "line", 433
-    find_lex $P1473, "$/"
-    unless_null $P1473, vivify_326
-    new $P1473, "Hash"
+    find_lex $P1472, "$/"
+    unless_null $P1472, vivify_326
+    new $P1472, "Hash"
   vivify_326:
-    set $P1474, $P1473["name"]
-    unless_null $P1474, vivify_327
-    new $P1474, "Undef"
+    set $P1473, $P1472["name"]
+    unless_null $P1473, vivify_327
+    new $P1473, "Undef"
   vivify_327:
-    if $P1474, if_1472
+    if $P1473, if_1471
 .annotate "line", 437
-    find_lex $P1487, "$/"
-    unless_null $P1487, vivify_328
-    new $P1487, "Hash"
+    find_lex $P1486, "$/"
+    unless_null $P1486, vivify_328
+    new $P1486, "Hash"
   vivify_328:
-    set $P1488, $P1487["charspec"]
-    unless_null $P1488, vivify_329
-    new $P1488, "Undef"
+    set $P1487, $P1486["charspec"]
+    unless_null $P1487, vivify_329
+    new $P1487, "Undef"
   vivify_329:
-    defined $I1489, $P1488
-    unless $I1489, for_undef_330
-    iter $P1486, $P1488
-    new $P1518, 'ExceptionHandler'
-    set_addr $P1518, loop1517_handler
-    $P1518."handle_types"(65, 67, 66)
-    push_eh $P1518
-  loop1517_test:
-    unless $P1486, loop1517_done
-    shift $P1490, $P1486
-  loop1517_redo:
-    .const 'Sub' $P1492 = "86_1259103979.04974" 
-    capture_lex $P1492
-    $P1492($P1490)
-  loop1517_next:
-    goto loop1517_test
-  loop1517_handler:
-    .local pmc exception 
-    .get_results (exception) 
-    getattribute $P1519, exception, 'type'
-    eq $P1519, 65, loop1517_next
-    eq $P1519, 67, loop1517_redo
-  loop1517_done:
+    defined $I1488, $P1487
+    unless $I1488, for_undef_330
+    iter $P1485, $P1487
+    new $P1517, 'ExceptionHandler'
+    set_addr $P1517, loop1516_handler
+    $P1517."handle_types"(65, 67, 66)
+    push_eh $P1517
+  loop1516_test:
+    unless $P1485, loop1516_done
+    shift $P1489, $P1485
+  loop1516_redo:
+    .const 'Sub' $P1491 = "86_1259177750.15652" 
+    capture_lex $P1491
+    $P1491($P1489)
+  loop1516_next:
+    goto loop1516_test
+  loop1516_handler:
+    .local pmc exception 
+    .get_results (exception) 
+    getattribute $P1518, exception, 'type'
+    eq $P1518, 65, loop1516_next
+    eq $P1518, 67, loop1516_redo
+  loop1516_done:
     pop_eh 
   for_undef_330:
 .annotate "line", 462
-    get_hll_global $P1520, ["PAST"], "Regex"
-    find_lex $P1521, "$str"
-    find_lex $P1522, "$/"
-    $P1523 = $P1520."new"($P1521, "enumcharlist" :named("pasttype"), $P1522 :named("node"))
-    store_lex "$past", $P1523
+    get_hll_global $P1519, ["PAST"], "Regex"
+    find_lex $P1520, "$str"
+    find_lex $P1521, "$/"
+    $P1522 = $P1519."new"($P1520, "enumcharlist" :named("pasttype"), $P1521 :named("node"))
+    store_lex "$past", $P1522
 .annotate "line", 436
-    goto if_1472_end
-  if_1472:
+    goto if_1471_end
+  if_1471:
 .annotate "line", 433
-    .const 'Sub' $P1476 = "85_1259103979.04974" 
-    capture_lex $P1476
-    $P1476()
-  if_1472_end:
+    .const 'Sub' $P1475 = "85_1259177750.15652" 
+    capture_lex $P1475
+    $P1475()
+  if_1471_end:
 .annotate "line", 464
-    find_lex $P1524, "$past"
-    find_lex $P1525, "$/"
-    unless_null $P1525, vivify_342
-    new $P1525, "Hash"
+    find_lex $P1523, "$past"
+    find_lex $P1524, "$/"
+    unless_null $P1524, vivify_342
+    new $P1524, "Hash"
   vivify_342:
-    set $P1526, $P1525["sign"]
-    unless_null $P1526, vivify_343
-    new $P1526, "Undef"
+    set $P1525, $P1524["sign"]
+    unless_null $P1525, vivify_343
+    new $P1525, "Undef"
   vivify_343:
-    set $S1527, $P1526
-    iseq $I1528, $S1527, "-"
-    $P1524."negate"($I1528)
+    set $S1526, $P1525
+    iseq $I1527, $S1526, "-"
+    $P1523."negate"($I1527)
 .annotate "line", 465
-    find_lex $P1529, "$/"
-    find_lex $P1530, "$past"
-    $P1531 = $P1529."!make"($P1530)
+    find_lex $P1528, "$/"
+    find_lex $P1529, "$past"
+    $P1530 = $P1528."!make"($P1529)
 .annotate "line", 430
-    .return ($P1531)
-  control_1465:
+    .return ($P1530)
+  control_1464:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P1532, exception, "payload"
-    .return ($P1532)
+    getattribute $P1531, exception, "payload"
+    .return ($P1531)
 .end
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "_block1491"  :anon :subid("86_1259103979.04974") :outer("84_1259103979.04974")
-    .param pmc param_1493
+.sub "_block1490"  :anon :subid("86_1259177750.15652") :outer("84_1259177750.15652")
+    .param pmc param_1492
 .annotate "line", 437
-    .const 'Sub' $P1499 = "87_1259103979.04974" 
-    capture_lex $P1499
-    .lex "$_", param_1493
+    .const 'Sub' $P1498 = "87_1259177750.15652" 
+    capture_lex $P1498
+    .lex "$_", param_1492
 .annotate "line", 438
-    find_lex $P1496, "$_"
-    unless_null $P1496, vivify_331
-    new $P1496, "ResizablePMCArray"
+    find_lex $P1495, "$_"
+    unless_null $P1495, vivify_331
+    new $P1495, "ResizablePMCArray"
   vivify_331:
-    set $P1497, $P1496[1]
-    unless_null $P1497, vivify_332
-    new $P1497, "Undef"
+    set $P1496, $P1495[1]
+    unless_null $P1496, vivify_332
+    new $P1496, "Undef"
   vivify_332:
-    if $P1497, if_1495
+    if $P1496, if_1494
 .annotate "line", 460
-    find_lex $P1513, "$str"
-    find_lex $P1514, "$_"
-    unless_null $P1514, vivify_333
-    new $P1514, "ResizablePMCArray"
+    find_lex $P1512, "$str"
+    find_lex $P1513, "$_"
+    unless_null $P1513, vivify_333
+    new $P1513, "ResizablePMCArray"
   vivify_333:
-    set $P1515, $P1514[0]
-    unless_null $P1515, vivify_334
-    new $P1515, "Undef"
+    set $P1514, $P1513[0]
+    unless_null $P1514, vivify_334
+    new $P1514, "Undef"
   vivify_334:
-    concat $P1516, $P1513, $P1515
-    store_lex "$str", $P1516
-    set $P1494, $P1516
+    concat $P1515, $P1512, $P1514
+    store_lex "$str", $P1515
+    set $P1493, $P1515
 .annotate "line", 438
-    goto if_1495_end
-  if_1495:
-    .const 'Sub' $P1499 = "87_1259103979.04974" 
-    capture_lex $P1499
-    $P1512 = $P1499()
-    set $P1494, $P1512
-  if_1495_end:
+    goto if_1494_end
+  if_1494:
+    .const 'Sub' $P1498 = "87_1259177750.15652" 
+    capture_lex $P1498
+    $P1511 = $P1498()
+    set $P1493, $P1511
+  if_1494_end:
 .annotate "line", 437
-    .return ($P1494)
+    .return ($P1493)
 .end
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "_block1498"  :anon :subid("87_1259103979.04974") :outer("86_1259103979.04974")
+.sub "_block1497"  :anon :subid("87_1259177750.15652") :outer("86_1259177750.15652")
 .annotate "line", 439
-    new $P1500, "Undef"
-    .lex "$a", $P1500
+    new $P1499, "Undef"
+    .lex "$a", $P1499
 .annotate "line", 440
-    new $P1501, "Undef"
-    .lex "$b", $P1501
+    new $P1500, "Undef"
+    .lex "$b", $P1500
 .annotate "line", 441
-    new $P1502, "Undef"
-    .lex "$c", $P1502
+    new $P1501, "Undef"
+    .lex "$c", $P1501
 .annotate "line", 439
-    find_lex $P1503, "$_"
-    unless_null $P1503, vivify_335
-    new $P1503, "ResizablePMCArray"
+    find_lex $P1502, "$_"
+    unless_null $P1502, vivify_335
+    new $P1502, "ResizablePMCArray"
   vivify_335:
-    set $P1504, $P1503[0]
-    unless_null $P1504, vivify_336
-    new $P1504, "Undef"
+    set $P1503, $P1502[0]
+    unless_null $P1503, vivify_336
+    new $P1503, "Undef"
   vivify_336:
-    store_lex "$a", $P1504
+    store_lex "$a", $P1503
 .annotate "line", 440
-    find_lex $P1505, "$_"
-    unless_null $P1505, vivify_337
-    new $P1505, "ResizablePMCArray"
+    find_lex $P1504, "$_"
+    unless_null $P1504, vivify_337
+    new $P1504, "ResizablePMCArray"
   vivify_337:
-    set $P1506, $P1505[1]
-    unless_null $P1506, vivify_338
-    new $P1506, "ResizablePMCArray"
+    set $P1505, $P1504[1]
+    unless_null $P1505, vivify_338
+    new $P1505, "ResizablePMCArray"
   vivify_338:
-    set $P1507, $P1506[0]
-    unless_null $P1507, vivify_339
-    new $P1507, "Undef"
+    set $P1506, $P1505[0]
+    unless_null $P1506, vivify_339
+    new $P1506, "Undef"
   vivify_339:
-    store_lex "$b", $P1507
+    store_lex "$b", $P1506
 .annotate "line", 441
 
                              $P0 = find_lex '$a'
@@ -11661,142 +11673,142 @@
                              inc $I0
                              goto cclass_loop
                            cclass_done:
-                             $P1508 = box $S2
+                             $P1507 = box $S2
                          
-    store_lex "$c", $P1508
+    store_lex "$c", $P1507
 .annotate "line", 458
-    find_lex $P1509, "$str"
-    find_lex $P1510, "$c"
-    concat $P1511, $P1509, $P1510
-    store_lex "$str", $P1511
+    find_lex $P1508, "$str"
+    find_lex $P1509, "$c"
+    concat $P1510, $P1508, $P1509
+    store_lex "$str", $P1510
 .annotate "line", 438
-    .return ($P1511)
+    .return ($P1510)
 .end
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "_block1475"  :anon :subid("85_1259103979.04974") :outer("84_1259103979.04974")
+.sub "_block1474"  :anon :subid("85_1259177750.15652") :outer("84_1259177750.15652")
 .annotate "line", 434
-    new $P1477, "Undef"
-    .lex "$name", $P1477
-    find_lex $P1478, "$/"
-    unless_null $P1478, vivify_340
-    new $P1478, "Hash"
+    new $P1476, "Undef"
+    .lex "$name", $P1476
+    find_lex $P1477, "$/"
+    unless_null $P1477, vivify_340
+    new $P1477, "Hash"
   vivify_340:
-    set $P1479, $P1478["name"]
-    unless_null $P1479, vivify_341
-    new $P1479, "Undef"
+    set $P1478, $P1477["name"]
+    unless_null $P1478, vivify_341
+    new $P1478, "Undef"
   vivify_341:
-    set $S1480, $P1479
-    new $P1481, 'String'
-    set $P1481, $S1480
-    store_lex "$name", $P1481
+    set $S1479, $P1478
+    new $P1480, 'String'
+    set $P1480, $S1479
+    store_lex "$name", $P1480
 .annotate "line", 435
-    get_hll_global $P1482, ["PAST"], "Regex"
-    find_lex $P1483, "$name"
-    find_lex $P1484, "$/"
-    $P1485 = $P1482."new"($P1483, "subrule" :named("pasttype"), "method" :named("subtype"), $P1484 :named("node"))
-    store_lex "$past", $P1485
+    get_hll_global $P1481, ["PAST"], "Regex"
+    find_lex $P1482, "$name"
+    find_lex $P1483, "$/"
+    $P1484 = $P1481."new"($P1482, "subrule" :named("pasttype"), "method" :named("subtype"), $P1483 :named("node"))
+    store_lex "$past", $P1484
 .annotate "line", 433
-    .return ($P1485)
+    .return ($P1484)
 .end
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "mod_internal"  :subid("88_1259103979.04974") :method :outer("11_1259103979.04974")
-    .param pmc param_1536
+.sub "mod_internal"  :subid("88_1259177750.15652") :method :outer("11_1259177750.15652")
+    .param pmc param_1535
 .annotate "line", 468
-    new $P1535, 'ExceptionHandler'
-    set_addr $P1535, control_1534
-    $P1535."handle_types"(58)
-    push_eh $P1535
+    new $P1534, 'ExceptionHandler'
+    set_addr $P1534, control_1533
+    $P1534."handle_types"(58)
+    push_eh $P1534
     .lex "self", self
-    .lex "$/", param_1536
+    .lex "$/", param_1535
 .annotate "line", 469
-    new $P1537, "Hash"
-    .lex "%mods", $P1537
+    new $P1536, "Hash"
+    .lex "%mods", $P1536
 .annotate "line", 470
-    new $P1538, "Undef"
-    .lex "$n", $P1538
+    new $P1537, "Undef"
+    .lex "$n", $P1537
 .annotate "line", 469
-    get_global $P1539, "@MODIFIERS"
-    unless_null $P1539, vivify_344
-    new $P1539, "ResizablePMCArray"
+    get_global $P1538, "@MODIFIERS"
+    unless_null $P1538, vivify_344
+    new $P1538, "ResizablePMCArray"
   vivify_344:
-    set $P1540, $P1539[0]
-    unless_null $P1540, vivify_345
-    new $P1540, "Undef"
+    set $P1539, $P1538[0]
+    unless_null $P1539, vivify_345
+    new $P1539, "Undef"
   vivify_345:
-    store_lex "%mods", $P1540
+    store_lex "%mods", $P1539
 .annotate "line", 470
-    find_lex $P1543, "$/"
-    unless_null $P1543, vivify_346
-    new $P1543, "Hash"
+    find_lex $P1542, "$/"
+    unless_null $P1542, vivify_346
+    new $P1542, "Hash"
   vivify_346:
-    set $P1544, $P1543["n"]
-    unless_null $P1544, vivify_347
-    new $P1544, "ResizablePMCArray"
+    set $P1543, $P1542["n"]
+    unless_null $P1543, vivify_347
+    new $P1543, "ResizablePMCArray"
   vivify_347:
-    set $P1545, $P1544[0]
-    unless_null $P1545, vivify_348
-    new $P1545, "Undef"
+    set $P1544, $P1543[0]
+    unless_null $P1544, vivify_348
+    new $P1544, "Undef"
   vivify_348:
-    set $S1546, $P1545
-    isgt $I1547, $S1546, ""
-    if $I1547, if_1542
-    new $P1552, "Integer"
-    assign $P1552, 1
-    set $P1541, $P1552
-    goto if_1542_end
-  if_1542:
-    find_lex $P1548, "$/"
-    unless_null $P1548, vivify_349
-    new $P1548, "Hash"
+    set $S1545, $P1544
+    isgt $I1546, $S1545, ""
+    if $I1546, if_1541
+    new $P1551, "Integer"
+    assign $P1551, 1
+    set $P1540, $P1551
+    goto if_1541_end
+  if_1541:
+    find_lex $P1547, "$/"
+    unless_null $P1547, vivify_349
+    new $P1547, "Hash"
   vivify_349:
-    set $P1549, $P1548["n"]
-    unless_null $P1549, vivify_350
-    new $P1549, "ResizablePMCArray"
+    set $P1548, $P1547["n"]
+    unless_null $P1548, vivify_350
+    new $P1548, "ResizablePMCArray"
   vivify_350:
-    set $P1550, $P1549[0]
-    unless_null $P1550, vivify_351
-    new $P1550, "Undef"
+    set $P1549, $P1548[0]
+    unless_null $P1549, vivify_351
+    new $P1549, "Undef"
   vivify_351:
-    set $N1551, $P1550
-    new $P1541, 'Float'
-    set $P1541, $N1551
-  if_1542_end:
-    store_lex "$n", $P1541
+    set $N1550, $P1549
+    new $P1540, 'Float'
+    set $P1540, $N1550
+  if_1541_end:
+    store_lex "$n", $P1540
 .annotate "line", 471
-    find_lex $P1553, "$n"
-    find_lex $P1554, "$/"
-    unless_null $P1554, vivify_352
-    new $P1554, "Hash"
+    find_lex $P1552, "$n"
+    find_lex $P1553, "$/"
+    unless_null $P1553, vivify_352
+    new $P1553, "Hash"
   vivify_352:
-    set $P1555, $P1554["mod_ident"]
-    unless_null $P1555, vivify_353
-    new $P1555, "Hash"
+    set $P1554, $P1553["mod_ident"]
+    unless_null $P1554, vivify_353
+    new $P1554, "Hash"
   vivify_353:
-    set $P1556, $P1555["sym"]
-    unless_null $P1556, vivify_354
-    new $P1556, "Undef"
+    set $P1555, $P1554["sym"]
+    unless_null $P1555, vivify_354
+    new $P1555, "Undef"
   vivify_354:
-    set $S1557, $P1556
-    find_lex $P1558, "%mods"
-    unless_null $P1558, vivify_355
-    new $P1558, "Hash"
-    store_lex "%mods", $P1558
+    set $S1556, $P1555
+    find_lex $P1557, "%mods"
+    unless_null $P1557, vivify_355
+    new $P1557, "Hash"
+    store_lex "%mods", $P1557
   vivify_355:
-    set $P1558[$S1557], $P1553
+    set $P1557[$S1556], $P1552
 .annotate "line", 472
-    find_lex $P1559, "$/"
-    $P1560 = $P1559."!make"(0)
+    find_lex $P1558, "$/"
+    $P1559 = $P1558."!make"(0)
 .annotate "line", 468
-    .return ($P1560)
-  control_1534:
+    .return ($P1559)
+  control_1533:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P1561, exception, "payload"
-    .return ($P1561)
+    getattribute $P1560, exception, "payload"
+    .return ($P1560)
 .end
 
 # .include 'src/cheats/p6regex-grammar.pir'

Modified: trunk/ext/nqp-rx/src/stage0/Regex-s0.pir
==============================================================================
--- trunk/ext/nqp-rx/src/stage0/Regex-s0.pir	Wed Nov 25 15:55:29 2009	(r42805)
+++ trunk/ext/nqp-rx/src/stage0/Regex-s0.pir	Wed Nov 25 20:09:43 2009	(r42806)
@@ -452,12 +452,8 @@
   bstack_done:
 
     # If a new subcursor is being pushed, then save it in cstack
-    # and change cptr to include the new subcursor.  Also clear
-    # any existing match object, as we may have just changed the
-    # match state.
+    # and change cptr to include the new subcursor.
     unless has_subcur goto subcur_done
-    null $P0
-    setattribute self, '$!match', $P0
     .local pmc cstack
     cstack = getattribute self, '@!cstack'
     unless null cstack goto have_cstack
@@ -532,10 +528,6 @@
     .local pmc bstack
     (rep, pos, mark, bptr, bstack, cptr) = self.'!mark_peek'(mark)
 
-    # clear any existing Match object
-    null $P0
-    setattribute self, '$!match', $P0
-
     .local pmc subcur
     null subcur
 
@@ -1505,9 +1497,17 @@
 .sub 'ast' :method
     .local pmc ast
     ast = getattribute self, '$!ast'
+    if null ast goto ret_null
+    .return (ast)
+  ret_null:
+    .tailcall self.'Str'()
+.end
+
+.sub 'peek_ast' :method
+    .local pmc ast
+    ast = getattribute self, '$!ast'
     unless null ast goto have_ast
     ast = new ['Undef']
-    setattribute self, '$!ast', ast
   have_ast:
     .return (ast)
 .end


More information about the parrot-commits mailing list