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

pmichaud at svn.parrot.org pmichaud at svn.parrot.org
Wed May 26 12:29:31 UTC 2010


Author: pmichaud
Date: Wed May 26 12:29:29 2010
New Revision: 47022
URL: https://trac.parrot.org/parrot/changeset/47022

Log:
[nqp-rx]: Update bootstrap with latest REPL capabilities.

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

Modified: trunk/ext/nqp-rx/src/stage0/HLL-s0.pir
==============================================================================
--- trunk/ext/nqp-rx/src/stage0/HLL-s0.pir	Wed May 26 09:39:08 2010	(r47021)
+++ trunk/ext/nqp-rx/src/stage0/HLL-s0.pir	Wed May 26 12:29:29 2010	(r47022)
@@ -121,6 +121,27 @@
     # return the result
     .return (ns)
 .end
+
+
+# This sub serves as a cumulative "outer context" for code
+# executed in HLL::Compiler's interactive REPL.  It's invoked
+# exactly once upon load/init to obtain a context, and its
+# default LexPad is replaced with a Hash that we can use to
+# cumulatively store outer context information.  Both the
+# context and hash are then made available via package
+# variables.
+.namespace []
+.sub '&interactive_outer' :lex :init :load
+    .local pmc ctx, pad
+    $P0 = getinterp
+    ctx = $P0['context']
+    set_global ['HLL';'Compiler'], '$interactive_ctx', ctx
+    pad = getattribute ctx, 'lex_pad'
+    $P1 = new ['Hash']
+    copy pad, $P1
+    set_global ['HLL';'Compiler'], '%interactive_pad', pad
+.end
+
 ### .include 'src/cheats/hll-grammar.pir'
 # Copyright (C) 2009, The Perl Foundation.
 
@@ -851,28 +872,62 @@
 # End:
 # vim: expandtab shiftwidth=4 ft=pir:
 
+### .include 'src/cheats/parrot-callcontext.pir'
+.namespace ['CallContext']
+.sub 'lexpad_full' :method
+    .local pmc ctx, lexall, lexpad, lexpad_it
+    ctx = self
+    lexall = root_new ['parrot';'Hash']
+
+  context_loop:
+    if null ctx goto context_done
+    lexpad = getattribute ctx, 'lex_pad'
+    if null lexpad goto lexpad_done
+    lexpad_it = iter lexpad
+  lexpad_loop:
+    unless lexpad_it goto lexpad_done
+    $S0 = shift lexpad_it
+    $I0 = exists lexall[$S0]
+    if $I0 goto lexpad_loop
+    $P0 = lexpad[$S0]
+    lexall[$S0] = $P0
+    goto lexpad_loop
+  lexpad_done:
+    ctx = getattribute ctx, 'outer_ctx'
+    goto context_loop
+  context_done:
+    .return (lexall)
+.end
+
 ### .include 'gen/hllgrammar-grammar.pir'
 
 .namespace []
-.sub "_block11"  :anon :subid("10_1274800444.27384")
+.sub "_block11"  :anon :subid("10_1274853022.01464")
 .annotate 'line', 0
     get_hll_global $P14, ["HLL";"Grammar"], "_block13" 
     capture_lex $P14
+.annotate 'line', 1
+    $P0 = find_dynamic_lex "$*CTXSAVE"
+    if null $P0 goto ctxsave_done
+    $I0 = can $P0, "ctxsave"
+    unless $I0 goto ctxsave_done
+    $P0."ctxsave"()
+  ctxsave_done:
 .annotate 'line', 5
     get_hll_global $P14, ["HLL";"Grammar"], "_block13" 
     capture_lex $P14
     $P343 = $P14()
 .annotate 'line', 1
     .return ($P343)
-    .const 'Sub' $P345 = "104_1274800444.27384" 
+    .const 'Sub' $P345 = "104_1274853022.01464" 
     .return ($P345)
 .end
 
 
 .namespace []
-.sub "" :load :init :subid("post105") :outer("10_1274800444.27384")
+.sub "" :load :init :subid("post105") :outer("10_1274853022.01464")
 .annotate 'line', 0
-    .const 'Sub' $P12 = "10_1274800444.27384" 
+    .const 'Sub' $P12 = "10_1274853022.01464" 
     .local pmc block
     set block, $P12
     $P348 = get_root_global ["parrot"], "P6metaclass"
@@ -881,94 +936,100 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "_block13"  :subid("11_1274800444.27384") :outer("10_1274800444.27384")
+.sub "_block13"  :subid("11_1274853022.01464") :outer("10_1274853022.01464")
 .annotate 'line', 5
-    .const 'Sub' $P329 = "101_1274800444.27384" 
+    .const 'Sub' $P329 = "101_1274853022.01464" 
     capture_lex $P329
-    .const 'Sub' $P322 = "99_1274800444.27384" 
+    .const 'Sub' $P322 = "99_1274853022.01464" 
     capture_lex $P322
-    .const 'Sub' $P309 = "96_1274800444.27384" 
+    .const 'Sub' $P309 = "96_1274853022.01464" 
     capture_lex $P309
-    .const 'Sub' $P277 = "91_1274800444.27384" 
+    .const 'Sub' $P277 = "91_1274853022.01464" 
     capture_lex $P277
-    .const 'Sub' $P271 = "89_1274800444.27384" 
+    .const 'Sub' $P271 = "89_1274853022.01464" 
     capture_lex $P271
-    .const 'Sub' $P266 = "87_1274800444.27384" 
+    .const 'Sub' $P266 = "87_1274853022.01464" 
     capture_lex $P266
-    .const 'Sub' $P260 = "85_1274800444.27384" 
+    .const 'Sub' $P260 = "85_1274853022.01464" 
     capture_lex $P260
-    .const 'Sub' $P254 = "83_1274800444.27384" 
+    .const 'Sub' $P254 = "83_1274853022.01464" 
     capture_lex $P254
-    .const 'Sub' $P249 = "81_1274800444.27384" 
+    .const 'Sub' $P249 = "81_1274853022.01464" 
     capture_lex $P249
-    .const 'Sub' $P244 = "79_1274800444.27384" 
+    .const 'Sub' $P244 = "79_1274853022.01464" 
     capture_lex $P244
-    .const 'Sub' $P239 = "77_1274800444.27384" 
+    .const 'Sub' $P239 = "77_1274853022.01464" 
     capture_lex $P239
-    .const 'Sub' $P234 = "75_1274800444.27384" 
+    .const 'Sub' $P234 = "75_1274853022.01464" 
     capture_lex $P234
-    .const 'Sub' $P229 = "73_1274800444.27384" 
+    .const 'Sub' $P229 = "73_1274853022.01464" 
     capture_lex $P229
-    .const 'Sub' $P224 = "71_1274800444.27384" 
+    .const 'Sub' $P224 = "71_1274853022.01464" 
     capture_lex $P224
-    .const 'Sub' $P219 = "69_1274800444.27384" 
+    .const 'Sub' $P219 = "69_1274853022.01464" 
     capture_lex $P219
-    .const 'Sub' $P208 = "65_1274800444.27384" 
+    .const 'Sub' $P208 = "65_1274853022.01464" 
     capture_lex $P208
-    .const 'Sub' $P195 = "63_1274800444.27384" 
+    .const 'Sub' $P195 = "63_1274853022.01464" 
     capture_lex $P195
-    .const 'Sub' $P183 = "61_1274800444.27384" 
+    .const 'Sub' $P183 = "61_1274853022.01464" 
     capture_lex $P183
-    .const 'Sub' $P176 = "59_1274800444.27384" 
+    .const 'Sub' $P176 = "59_1274853022.01464" 
     capture_lex $P176
-    .const 'Sub' $P167 = "57_1274800444.27384" 
+    .const 'Sub' $P167 = "57_1274853022.01464" 
     capture_lex $P167
-    .const 'Sub' $P160 = "55_1274800444.27384" 
+    .const 'Sub' $P160 = "55_1274853022.01464" 
     capture_lex $P160
-    .const 'Sub' $P151 = "53_1274800444.27384" 
+    .const 'Sub' $P151 = "53_1274853022.01464" 
     capture_lex $P151
-    .const 'Sub' $P144 = "51_1274800444.27384" 
+    .const 'Sub' $P144 = "51_1274853022.01464" 
     capture_lex $P144
-    .const 'Sub' $P135 = "49_1274800444.27384" 
+    .const 'Sub' $P135 = "49_1274853022.01464" 
     capture_lex $P135
-    .const 'Sub' $P128 = "47_1274800444.27384" 
+    .const 'Sub' $P128 = "47_1274853022.01464" 
     capture_lex $P128
-    .const 'Sub' $P121 = "45_1274800444.27384" 
+    .const 'Sub' $P121 = "45_1274853022.01464" 
     capture_lex $P121
-    .const 'Sub' $P111 = "43_1274800444.27384" 
+    .const 'Sub' $P111 = "43_1274853022.01464" 
     capture_lex $P111
-    .const 'Sub' $P103 = "41_1274800444.27384" 
+    .const 'Sub' $P103 = "41_1274853022.01464" 
     capture_lex $P103
-    .const 'Sub' $P93 = "40_1274800444.27384" 
+    .const 'Sub' $P93 = "40_1274853022.01464" 
     capture_lex $P93
-    .const 'Sub' $P87 = "38_1274800444.27384" 
+    .const 'Sub' $P87 = "38_1274853022.01464" 
     capture_lex $P87
-    .const 'Sub' $P82 = "36_1274800444.27384" 
+    .const 'Sub' $P82 = "36_1274853022.01464" 
     capture_lex $P82
-    .const 'Sub' $P74 = "34_1274800444.27384" 
+    .const 'Sub' $P74 = "34_1274853022.01464" 
     capture_lex $P74
-    .const 'Sub' $P68 = "32_1274800444.27384" 
+    .const 'Sub' $P68 = "32_1274853022.01464" 
     capture_lex $P68
-    .const 'Sub' $P62 = "30_1274800444.27384" 
+    .const 'Sub' $P62 = "30_1274853022.01464" 
     capture_lex $P62
-    .const 'Sub' $P56 = "28_1274800444.27384" 
+    .const 'Sub' $P56 = "28_1274853022.01464" 
     capture_lex $P56
-    .const 'Sub' $P23 = "14_1274800444.27384" 
+    .const 'Sub' $P23 = "14_1274853022.01464" 
     capture_lex $P23
-    .const 'Sub' $P15 = "12_1274800444.27384" 
+    .const 'Sub' $P15 = "12_1274853022.01464" 
     capture_lex $P15
+    $P0 = find_dynamic_lex "$*CTXSAVE"
+    if null $P0 goto ctxsave_done
+    $I0 = can $P0, "ctxsave"
+    unless $I0 goto ctxsave_done
+    $P0."ctxsave"()
+  ctxsave_done:
 .annotate 'line', 33
-    .const 'Sub' $P329 = "101_1274800444.27384" 
+    .const 'Sub' $P329 = "101_1274853022.01464" 
     capture_lex $P329
 .annotate 'line', 5
     .return ($P329)
-    .const 'Sub' $P340 = "103_1274800444.27384" 
+    .const 'Sub' $P340 = "103_1274853022.01464" 
     .return ($P340)
 .end
 
 
 .namespace ["HLL";"Grammar"]
-.sub "ws"  :subid("12_1274800444.27384") :method :outer("11_1274800444.27384")
+.sub "ws"  :subid("12_1274853022.01464") :method :outer("11_1274853022.01464")
 .annotate 'line', 5
     .local string rx16_tgt
     .local int rx16_pos
@@ -1052,7 +1113,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "!PREFIX__ws"  :subid("13_1274800444.27384") :method
+.sub "!PREFIX__ws"  :subid("13_1274853022.01464") :method
 .annotate 'line', 5
     new $P18, "ResizablePMCArray"
     push $P18, ""
@@ -1061,7 +1122,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "termish"  :subid("14_1274800444.27384") :method :outer("11_1274800444.27384")
+.sub "termish"  :subid("14_1274853022.01464") :method :outer("11_1274853022.01464")
 .annotate 'line', 5
     .local string rx24_tgt
     .local int rx24_pos
@@ -1153,7 +1214,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "!PREFIX__termish"  :subid("15_1274800444.27384") :method
+.sub "!PREFIX__termish"  :subid("15_1274853022.01464") :method
 .annotate 'line', 5
     new $P26, "ResizablePMCArray"
     push $P26, ""
@@ -1162,7 +1223,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "term"  :subid("16_1274800444.27384") :method
+.sub "term"  :subid("16_1274853022.01464") :method
 .annotate 'line', 13
     $P33 = self."!protoregex"("term")
     .return ($P33)
@@ -1170,7 +1231,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "!PREFIX__term"  :subid("17_1274800444.27384") :method
+.sub "!PREFIX__term"  :subid("17_1274853022.01464") :method
 .annotate 'line', 13
     $P35 = self."!PREFIX__!protoregex"("term")
     .return ($P35)
@@ -1178,7 +1239,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "infix"  :subid("18_1274800444.27384") :method
+.sub "infix"  :subid("18_1274853022.01464") :method
 .annotate 'line', 14
     $P37 = self."!protoregex"("infix")
     .return ($P37)
@@ -1186,7 +1247,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "!PREFIX__infix"  :subid("19_1274800444.27384") :method
+.sub "!PREFIX__infix"  :subid("19_1274853022.01464") :method
 .annotate 'line', 14
     $P39 = self."!PREFIX__!protoregex"("infix")
     .return ($P39)
@@ -1194,7 +1255,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "prefix"  :subid("20_1274800444.27384") :method
+.sub "prefix"  :subid("20_1274853022.01464") :method
 .annotate 'line', 15
     $P41 = self."!protoregex"("prefix")
     .return ($P41)
@@ -1202,7 +1263,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "!PREFIX__prefix"  :subid("21_1274800444.27384") :method
+.sub "!PREFIX__prefix"  :subid("21_1274853022.01464") :method
 .annotate 'line', 15
     $P43 = self."!PREFIX__!protoregex"("prefix")
     .return ($P43)
@@ -1210,7 +1271,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "postfix"  :subid("22_1274800444.27384") :method
+.sub "postfix"  :subid("22_1274853022.01464") :method
 .annotate 'line', 16
     $P45 = self."!protoregex"("postfix")
     .return ($P45)
@@ -1218,7 +1279,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "!PREFIX__postfix"  :subid("23_1274800444.27384") :method
+.sub "!PREFIX__postfix"  :subid("23_1274853022.01464") :method
 .annotate 'line', 16
     $P47 = self."!PREFIX__!protoregex"("postfix")
     .return ($P47)
@@ -1226,7 +1287,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "circumfix"  :subid("24_1274800444.27384") :method
+.sub "circumfix"  :subid("24_1274853022.01464") :method
 .annotate 'line', 17
     $P49 = self."!protoregex"("circumfix")
     .return ($P49)
@@ -1234,7 +1295,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "!PREFIX__circumfix"  :subid("25_1274800444.27384") :method
+.sub "!PREFIX__circumfix"  :subid("25_1274853022.01464") :method
 .annotate 'line', 17
     $P51 = self."!PREFIX__!protoregex"("circumfix")
     .return ($P51)
@@ -1242,7 +1303,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "postcircumfix"  :subid("26_1274800444.27384") :method
+.sub "postcircumfix"  :subid("26_1274853022.01464") :method
 .annotate 'line', 18
     $P53 = self."!protoregex"("postcircumfix")
     .return ($P53)
@@ -1250,7 +1311,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "!PREFIX__postcircumfix"  :subid("27_1274800444.27384") :method
+.sub "!PREFIX__postcircumfix"  :subid("27_1274853022.01464") :method
 .annotate 'line', 18
     $P55 = self."!PREFIX__!protoregex"("postcircumfix")
     .return ($P55)
@@ -1258,7 +1319,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "term:sym<circumfix>"  :subid("28_1274800444.27384") :method :outer("11_1274800444.27384")
+.sub "term:sym<circumfix>"  :subid("28_1274853022.01464") :method :outer("11_1274853022.01464")
 .annotate 'line', 5
     .local string rx57_tgt
     .local int rx57_pos
@@ -1316,7 +1377,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "!PREFIX__term:sym<circumfix>"  :subid("29_1274800444.27384") :method
+.sub "!PREFIX__term:sym<circumfix>"  :subid("29_1274853022.01464") :method
 .annotate 'line', 5
     $P59 = self."!PREFIX__!subrule"("circumfix", "")
     new $P60, "ResizablePMCArray"
@@ -1326,7 +1387,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "infixish"  :subid("30_1274800444.27384") :method :outer("11_1274800444.27384")
+.sub "infixish"  :subid("30_1274853022.01464") :method :outer("11_1274853022.01464")
 .annotate 'line', 5
     .local string rx63_tgt
     .local int rx63_pos
@@ -1384,7 +1445,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "!PREFIX__infixish"  :subid("31_1274800444.27384") :method
+.sub "!PREFIX__infixish"  :subid("31_1274853022.01464") :method
 .annotate 'line', 5
     $P65 = self."!PREFIX__!subrule"("OPER=infix", "")
     new $P66, "ResizablePMCArray"
@@ -1394,7 +1455,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "prefixish"  :subid("32_1274800444.27384") :method :outer("11_1274800444.27384")
+.sub "prefixish"  :subid("32_1274853022.01464") :method :outer("11_1274853022.01464")
 .annotate 'line', 5
     .local string rx69_tgt
     .local int rx69_pos
@@ -1457,7 +1518,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "!PREFIX__prefixish"  :subid("33_1274800444.27384") :method
+.sub "!PREFIX__prefixish"  :subid("33_1274853022.01464") :method
 .annotate 'line', 5
     $P71 = self."!PREFIX__!subrule"("OPER=prefix", "")
     new $P72, "ResizablePMCArray"
@@ -1467,7 +1528,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "postfixish"  :subid("34_1274800444.27384") :method :outer("11_1274800444.27384")
+.sub "postfixish"  :subid("34_1274853022.01464") :method :outer("11_1274853022.01464")
 .annotate 'line', 5
     .local string rx75_tgt
     .local int rx75_pos
@@ -1541,7 +1602,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "!PREFIX__postfixish"  :subid("35_1274800444.27384") :method
+.sub "!PREFIX__postfixish"  :subid("35_1274853022.01464") :method
 .annotate 'line', 5
     $P77 = self."!PREFIX__!subrule"("OPER=postcircumfix", "")
     $P78 = self."!PREFIX__!subrule"("OPER=postfix", "")
@@ -1553,7 +1614,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "nullterm"  :subid("36_1274800444.27384") :method :outer("11_1274800444.27384")
+.sub "nullterm"  :subid("36_1274853022.01464") :method :outer("11_1274853022.01464")
 .annotate 'line', 5
     .local string rx83_tgt
     .local int rx83_pos
@@ -1604,7 +1665,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "!PREFIX__nullterm"  :subid("37_1274800444.27384") :method
+.sub "!PREFIX__nullterm"  :subid("37_1274853022.01464") :method
 .annotate 'line', 5
     new $P85, "ResizablePMCArray"
     push $P85, ""
@@ -1613,7 +1674,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "nullterm_alt"  :subid("38_1274800444.27384") :method :outer("11_1274800444.27384")
+.sub "nullterm_alt"  :subid("38_1274853022.01464") :method :outer("11_1274853022.01464")
 .annotate 'line', 5
     .local string rx88_tgt
     .local int rx88_pos
@@ -1671,7 +1732,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "!PREFIX__nullterm_alt"  :subid("39_1274800444.27384") :method
+.sub "!PREFIX__nullterm_alt"  :subid("39_1274853022.01464") :method
 .annotate 'line', 5
     $P90 = self."!PREFIX__!subrule"("term", "")
     new $P91, "ResizablePMCArray"
@@ -1681,7 +1742,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "nulltermish"  :subid("40_1274800444.27384") :method :outer("11_1274800444.27384")
+.sub "nulltermish"  :subid("40_1274853022.01464") :method :outer("11_1274853022.01464")
 .annotate 'line', 33
     new $P95, 'ExceptionHandler'
     set_addr $P95, control_94
@@ -1708,7 +1769,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "quote_delimited"  :subid("41_1274800444.27384") :method :outer("11_1274800444.27384")
+.sub "quote_delimited"  :subid("41_1274853022.01464") :method :outer("11_1274853022.01464")
 .annotate 'line', 33
     .local string rx104_tgt
     .local int rx104_pos
@@ -1790,7 +1851,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "!PREFIX__quote_delimited"  :subid("42_1274800444.27384") :method
+.sub "!PREFIX__quote_delimited"  :subid("42_1274853022.01464") :method
 .annotate 'line', 33
     $P106 = self."!PREFIX__!subrule"("starter", "")
     new $P107, "ResizablePMCArray"
@@ -1800,7 +1861,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "quote_atom"  :subid("43_1274800444.27384") :method :outer("11_1274800444.27384")
+.sub "quote_atom"  :subid("43_1274853022.01464") :method :outer("11_1274853022.01464")
 .annotate 'line', 33
     .local string rx112_tgt
     .local int rx112_pos
@@ -1891,7 +1952,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "!PREFIX__quote_atom"  :subid("44_1274800444.27384") :method
+.sub "!PREFIX__quote_atom"  :subid("44_1274853022.01464") :method
 .annotate 'line', 33
     new $P114, "ResizablePMCArray"
     push $P114, ""
@@ -1900,7 +1961,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "decint"  :subid("45_1274800444.27384") :method :outer("11_1274800444.27384")
+.sub "decint"  :subid("45_1274853022.01464") :method :outer("11_1274853022.01464")
 .annotate 'line', 33
     .local string rx122_tgt
     .local int rx122_pos
@@ -1972,7 +2033,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "!PREFIX__decint"  :subid("46_1274800444.27384") :method
+.sub "!PREFIX__decint"  :subid("46_1274853022.01464") :method
 .annotate 'line', 33
     new $P124, "ResizablePMCArray"
     push $P124, ""
@@ -1981,7 +2042,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "decints"  :subid("47_1274800444.27384") :method :outer("11_1274800444.27384")
+.sub "decints"  :subid("47_1274853022.01464") :method :outer("11_1274853022.01464")
 .annotate 'line', 33
     .local string rx129_tgt
     .local int rx129_pos
@@ -2065,7 +2126,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "!PREFIX__decints"  :subid("48_1274800444.27384") :method
+.sub "!PREFIX__decints"  :subid("48_1274853022.01464") :method
 .annotate 'line', 33
     new $P131, "ResizablePMCArray"
     push $P131, ""
@@ -2074,7 +2135,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "hexint"  :subid("49_1274800444.27384") :method :outer("11_1274800444.27384")
+.sub "hexint"  :subid("49_1274853022.01464") :method :outer("11_1274853022.01464")
 .annotate 'line', 33
     .local string rx136_tgt
     .local int rx136_pos
@@ -2155,7 +2216,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "!PREFIX__hexint"  :subid("50_1274800444.27384") :method
+.sub "!PREFIX__hexint"  :subid("50_1274853022.01464") :method
 .annotate 'line', 33
     new $P138, "ResizablePMCArray"
     push $P138, ""
@@ -2164,7 +2225,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "hexints"  :subid("51_1274800444.27384") :method :outer("11_1274800444.27384")
+.sub "hexints"  :subid("51_1274853022.01464") :method :outer("11_1274853022.01464")
 .annotate 'line', 33
     .local string rx145_tgt
     .local int rx145_pos
@@ -2248,7 +2309,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "!PREFIX__hexints"  :subid("52_1274800444.27384") :method
+.sub "!PREFIX__hexints"  :subid("52_1274853022.01464") :method
 .annotate 'line', 33
     new $P147, "ResizablePMCArray"
     push $P147, ""
@@ -2257,7 +2318,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "octint"  :subid("53_1274800444.27384") :method :outer("11_1274800444.27384")
+.sub "octint"  :subid("53_1274853022.01464") :method :outer("11_1274853022.01464")
 .annotate 'line', 33
     .local string rx152_tgt
     .local int rx152_pos
@@ -2338,7 +2399,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "!PREFIX__octint"  :subid("54_1274800444.27384") :method
+.sub "!PREFIX__octint"  :subid("54_1274853022.01464") :method
 .annotate 'line', 33
     new $P154, "ResizablePMCArray"
     push $P154, ""
@@ -2347,7 +2408,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "octints"  :subid("55_1274800444.27384") :method :outer("11_1274800444.27384")
+.sub "octints"  :subid("55_1274853022.01464") :method :outer("11_1274853022.01464")
 .annotate 'line', 33
     .local string rx161_tgt
     .local int rx161_pos
@@ -2431,7 +2492,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "!PREFIX__octints"  :subid("56_1274800444.27384") :method
+.sub "!PREFIX__octints"  :subid("56_1274853022.01464") :method
 .annotate 'line', 33
     new $P163, "ResizablePMCArray"
     push $P163, ""
@@ -2440,7 +2501,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "binint"  :subid("57_1274800444.27384") :method :outer("11_1274800444.27384")
+.sub "binint"  :subid("57_1274853022.01464") :method :outer("11_1274853022.01464")
 .annotate 'line', 33
     .local string rx168_tgt
     .local int rx168_pos
@@ -2521,7 +2582,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "!PREFIX__binint"  :subid("58_1274800444.27384") :method
+.sub "!PREFIX__binint"  :subid("58_1274853022.01464") :method
 .annotate 'line', 33
     new $P170, "ResizablePMCArray"
     push $P170, ""
@@ -2530,7 +2591,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "binints"  :subid("59_1274800444.27384") :method :outer("11_1274800444.27384")
+.sub "binints"  :subid("59_1274853022.01464") :method :outer("11_1274853022.01464")
 .annotate 'line', 33
     .local string rx177_tgt
     .local int rx177_pos
@@ -2614,7 +2675,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "!PREFIX__binints"  :subid("60_1274800444.27384") :method
+.sub "!PREFIX__binints"  :subid("60_1274853022.01464") :method
 .annotate 'line', 33
     new $P179, "ResizablePMCArray"
     push $P179, ""
@@ -2623,7 +2684,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "integer"  :subid("61_1274800444.27384") :method :outer("11_1274800444.27384")
+.sub "integer"  :subid("61_1274853022.01464") :method :outer("11_1274853022.01464")
 .annotate 'line', 33
     .local string rx184_tgt
     .local int rx184_pos
@@ -2771,7 +2832,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "!PREFIX__integer"  :subid("62_1274800444.27384") :method
+.sub "!PREFIX__integer"  :subid("62_1274853022.01464") :method
 .annotate 'line', 33
     $P186 = self."!PREFIX__!subrule"("VALUE=decint", "")
     $P187 = self."!PREFIX__!subrule"("VALUE=decint", "0d")
@@ -2789,7 +2850,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "dec_number"  :subid("63_1274800444.27384") :method :outer("11_1274800444.27384")
+.sub "dec_number"  :subid("63_1274853022.01464") :method :outer("11_1274853022.01464")
 .annotate 'line', 33
     .local string rx196_tgt
     .local int rx196_pos
@@ -2968,7 +3029,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "!PREFIX__dec_number"  :subid("64_1274800444.27384") :method
+.sub "!PREFIX__dec_number"  :subid("64_1274853022.01464") :method
 .annotate 'line', 33
     new $P198, "ResizablePMCArray"
     push $P198, ""
@@ -2979,7 +3040,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "escale"  :subid("65_1274800444.27384") :method :outer("11_1274800444.27384")
+.sub "escale"  :subid("65_1274853022.01464") :method :outer("11_1274853022.01464")
 .annotate 'line', 33
     .local string rx209_tgt
     .local int rx209_pos
@@ -3056,7 +3117,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "!PREFIX__escale"  :subid("66_1274800444.27384") :method
+.sub "!PREFIX__escale"  :subid("66_1274853022.01464") :method
 .annotate 'line', 33
     new $P211, "ResizablePMCArray"
     push $P211, "e"
@@ -3066,7 +3127,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "quote_escape"  :subid("67_1274800444.27384") :method
+.sub "quote_escape"  :subid("67_1274853022.01464") :method
 .annotate 'line', 79
     $P216 = self."!protoregex"("quote_escape")
     .return ($P216)
@@ -3074,7 +3135,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "!PREFIX__quote_escape"  :subid("68_1274800444.27384") :method
+.sub "!PREFIX__quote_escape"  :subid("68_1274853022.01464") :method
 .annotate 'line', 79
     $P218 = self."!PREFIX__!protoregex"("quote_escape")
     .return ($P218)
@@ -3082,7 +3143,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "quote_escape:sym<backslash>"  :subid("69_1274800444.27384") :method :outer("11_1274800444.27384")
+.sub "quote_escape:sym<backslash>"  :subid("69_1274853022.01464") :method :outer("11_1274853022.01464")
 .annotate 'line', 33
     .local string rx220_tgt
     .local int rx220_pos
@@ -3144,7 +3205,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "!PREFIX__quote_escape:sym<backslash>"  :subid("70_1274800444.27384") :method
+.sub "!PREFIX__quote_escape:sym<backslash>"  :subid("70_1274853022.01464") :method
 .annotate 'line', 33
     new $P222, "ResizablePMCArray"
     push $P222, "\\\\"
@@ -3153,7 +3214,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "quote_escape:sym<stopper>"  :subid("71_1274800444.27384") :method :outer("11_1274800444.27384")
+.sub "quote_escape:sym<stopper>"  :subid("71_1274853022.01464") :method :outer("11_1274853022.01464")
 .annotate 'line', 33
     .local string rx225_tgt
     .local int rx225_pos
@@ -3222,7 +3283,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "!PREFIX__quote_escape:sym<stopper>"  :subid("72_1274800444.27384") :method
+.sub "!PREFIX__quote_escape:sym<stopper>"  :subid("72_1274853022.01464") :method
 .annotate 'line', 33
     new $P227, "ResizablePMCArray"
     push $P227, "\\"
@@ -3231,7 +3292,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "quote_escape:sym<bs>"  :subid("73_1274800444.27384") :method :outer("11_1274800444.27384")
+.sub "quote_escape:sym<bs>"  :subid("73_1274853022.01464") :method :outer("11_1274853022.01464")
 .annotate 'line', 33
     .local string rx230_tgt
     .local int rx230_pos
@@ -3293,7 +3354,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "!PREFIX__quote_escape:sym<bs>"  :subid("74_1274800444.27384") :method
+.sub "!PREFIX__quote_escape:sym<bs>"  :subid("74_1274853022.01464") :method
 .annotate 'line', 33
     new $P232, "ResizablePMCArray"
     push $P232, "\\b"
@@ -3302,7 +3363,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "quote_escape:sym<nl>"  :subid("75_1274800444.27384") :method :outer("11_1274800444.27384")
+.sub "quote_escape:sym<nl>"  :subid("75_1274853022.01464") :method :outer("11_1274853022.01464")
 .annotate 'line', 33
     .local string rx235_tgt
     .local int rx235_pos
@@ -3364,7 +3425,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "!PREFIX__quote_escape:sym<nl>"  :subid("76_1274800444.27384") :method
+.sub "!PREFIX__quote_escape:sym<nl>"  :subid("76_1274853022.01464") :method
 .annotate 'line', 33
     new $P237, "ResizablePMCArray"
     push $P237, "\\n"
@@ -3373,7 +3434,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "quote_escape:sym<cr>"  :subid("77_1274800444.27384") :method :outer("11_1274800444.27384")
+.sub "quote_escape:sym<cr>"  :subid("77_1274853022.01464") :method :outer("11_1274853022.01464")
 .annotate 'line', 33
     .local string rx240_tgt
     .local int rx240_pos
@@ -3435,7 +3496,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "!PREFIX__quote_escape:sym<cr>"  :subid("78_1274800444.27384") :method
+.sub "!PREFIX__quote_escape:sym<cr>"  :subid("78_1274853022.01464") :method
 .annotate 'line', 33
     new $P242, "ResizablePMCArray"
     push $P242, "\\r"
@@ -3444,7 +3505,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "quote_escape:sym<tab>"  :subid("79_1274800444.27384") :method :outer("11_1274800444.27384")
+.sub "quote_escape:sym<tab>"  :subid("79_1274853022.01464") :method :outer("11_1274853022.01464")
 .annotate 'line', 33
     .local string rx245_tgt
     .local int rx245_pos
@@ -3506,7 +3567,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "!PREFIX__quote_escape:sym<tab>"  :subid("80_1274800444.27384") :method
+.sub "!PREFIX__quote_escape:sym<tab>"  :subid("80_1274853022.01464") :method
 .annotate 'line', 33
     new $P247, "ResizablePMCArray"
     push $P247, "\\t"
@@ -3515,7 +3576,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "quote_escape:sym<ff>"  :subid("81_1274800444.27384") :method :outer("11_1274800444.27384")
+.sub "quote_escape:sym<ff>"  :subid("81_1274853022.01464") :method :outer("11_1274853022.01464")
 .annotate 'line', 33
     .local string rx250_tgt
     .local int rx250_pos
@@ -3577,7 +3638,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "!PREFIX__quote_escape:sym<ff>"  :subid("82_1274800444.27384") :method
+.sub "!PREFIX__quote_escape:sym<ff>"  :subid("82_1274853022.01464") :method
 .annotate 'line', 33
     new $P252, "ResizablePMCArray"
     push $P252, "\\f"
@@ -3586,7 +3647,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "quote_escape:sym<hex>"  :subid("83_1274800444.27384") :method :outer("11_1274800444.27384")
+.sub "quote_escape:sym<hex>"  :subid("83_1274853022.01464") :method :outer("11_1274853022.01464")
 .annotate 'line', 33
     .local string rx255_tgt
     .local int rx255_pos
@@ -3684,7 +3745,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "!PREFIX__quote_escape:sym<hex>"  :subid("84_1274800444.27384") :method
+.sub "!PREFIX__quote_escape:sym<hex>"  :subid("84_1274853022.01464") :method
 .annotate 'line', 33
     new $P257, "ResizablePMCArray"
     push $P257, unicode:"\\x"
@@ -3693,7 +3754,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "quote_escape:sym<oct>"  :subid("85_1274800444.27384") :method :outer("11_1274800444.27384")
+.sub "quote_escape:sym<oct>"  :subid("85_1274853022.01464") :method :outer("11_1274853022.01464")
 .annotate 'line', 33
     .local string rx261_tgt
     .local int rx261_pos
@@ -3791,7 +3852,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "!PREFIX__quote_escape:sym<oct>"  :subid("86_1274800444.27384") :method
+.sub "!PREFIX__quote_escape:sym<oct>"  :subid("86_1274853022.01464") :method
 .annotate 'line', 33
     new $P263, "ResizablePMCArray"
     push $P263, "\\o"
@@ -3800,7 +3861,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "quote_escape:sym<chr>"  :subid("87_1274800444.27384") :method :outer("11_1274800444.27384")
+.sub "quote_escape:sym<chr>"  :subid("87_1274853022.01464") :method :outer("11_1274853022.01464")
 .annotate 'line', 33
     .local string rx267_tgt
     .local int rx267_pos
@@ -3869,7 +3930,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "!PREFIX__quote_escape:sym<chr>"  :subid("88_1274800444.27384") :method
+.sub "!PREFIX__quote_escape:sym<chr>"  :subid("88_1274853022.01464") :method
 .annotate 'line', 33
     new $P269, "ResizablePMCArray"
     push $P269, "\\c"
@@ -3878,7 +3939,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "quote_escape:sym<0>"  :subid("89_1274800444.27384") :method :outer("11_1274800444.27384")
+.sub "quote_escape:sym<0>"  :subid("89_1274853022.01464") :method :outer("11_1274853022.01464")
 .annotate 'line', 33
     .local string rx272_tgt
     .local int rx272_pos
@@ -3961,7 +4022,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "!PREFIX__quote_escape:sym<0>"  :subid("90_1274800444.27384") :method
+.sub "!PREFIX__quote_escape:sym<0>"  :subid("90_1274853022.01464") :method
 .annotate 'line', 33
     new $P274, "ResizablePMCArray"
     push $P274, "\\0"
@@ -3970,13 +4031,13 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "quote_escape:sym<misc>"  :subid("91_1274800444.27384") :method :outer("11_1274800444.27384")
+.sub "quote_escape:sym<misc>"  :subid("91_1274853022.01464") :method :outer("11_1274853022.01464")
 .annotate 'line', 33
-    .const 'Sub' $P297 = "95_1274800444.27384" 
+    .const 'Sub' $P297 = "95_1274853022.01464" 
     capture_lex $P297
-    .const 'Sub' $P290 = "94_1274800444.27384" 
+    .const 'Sub' $P290 = "94_1274853022.01464" 
     capture_lex $P290
-    .const 'Sub' $P285 = "93_1274800444.27384" 
+    .const 'Sub' $P285 = "93_1274853022.01464" 
     capture_lex $P285
     .local string rx278_tgt
     .local int rx278_pos
@@ -4012,7 +4073,7 @@
     find_lex $P282, unicode:"$\x{a2}"
     $P283 = $P282."MATCH"()
     store_lex "$/", $P283
-    .const 'Sub' $P285 = "93_1274800444.27384" 
+    .const 'Sub' $P285 = "93_1274853022.01464" 
     capture_lex $P285
     $P286 = $P285()
   # rx literal  "\\"
@@ -4038,7 +4099,7 @@
 .annotate 'line', 103
   # rx subrule $P290 subtype=capture negate=
     rx278_cur."!cursor_pos"(rx278_pos)
-    .const 'Sub' $P290 = "94_1274800444.27384" 
+    .const 'Sub' $P290 = "94_1274853022.01464" 
     capture_lex $P290
     $P10 = rx278_cur.$P290()
     unless $P10, rx278_fail
@@ -4072,7 +4133,7 @@
     find_lex $P294, unicode:"$\x{a2}"
     $P295 = $P294."MATCH"()
     store_lex "$/", $P295
-    .const 'Sub' $P297 = "95_1274800444.27384" 
+    .const 'Sub' $P297 = "95_1274853022.01464" 
     capture_lex $P297
     $P307 = $P297()
   alt288_end:
@@ -4118,7 +4179,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "!PREFIX__quote_escape:sym<misc>"  :subid("92_1274800444.27384") :method
+.sub "!PREFIX__quote_escape:sym<misc>"  :subid("92_1274853022.01464") :method
 .annotate 'line', 33
     new $P280, "ResizablePMCArray"
     push $P280, ""
@@ -4127,14 +4188,14 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "_block284"  :anon :subid("93_1274800444.27384") :outer("91_1274800444.27384")
+.sub "_block284"  :anon :subid("93_1274853022.01464") :outer("91_1274853022.01464")
 .annotate 'line', 99
     .return ()
 .end
 
 
 .namespace ["HLL";"Grammar"]
-.sub "_block289"  :anon :subid("94_1274800444.27384") :method :outer("91_1274800444.27384")
+.sub "_block289"  :anon :subid("94_1274853022.01464") :method :outer("91_1274853022.01464")
 .annotate 'line', 103
     .local string rx291_tgt
     .local int rx291_pos
@@ -4189,7 +4250,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "_block296"  :anon :subid("95_1274800444.27384") :outer("91_1274800444.27384")
+.sub "_block296"  :anon :subid("95_1274853022.01464") :outer("91_1274853022.01464")
 .annotate 'line', 104
     find_lex $P298, "$/"
     $P299 = $P298."CURSOR"()
@@ -4212,9 +4273,9 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "charname"  :subid("96_1274800444.27384") :method :outer("11_1274800444.27384")
+.sub "charname"  :subid("96_1274853022.01464") :method :outer("11_1274853022.01464")
 .annotate 'line', 33
-    .const 'Sub' $P319 = "98_1274800444.27384" 
+    .const 'Sub' $P319 = "98_1274853022.01464" 
     capture_lex $P319
     .local string rx310_tgt
     .local int rx310_pos
@@ -4292,7 +4353,7 @@
 .annotate 'line', 113
   # rx subrule "before" subtype=zerowidth negate=
     rx310_cur."!cursor_pos"(rx310_pos)
-    .const 'Sub' $P319 = "98_1274800444.27384" 
+    .const 'Sub' $P319 = "98_1274853022.01464" 
     capture_lex $P319
     $P10 = rx310_cur."before"($P319)
     unless $P10, rx310_fail
@@ -4317,7 +4378,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "!PREFIX__charname"  :subid("97_1274800444.27384") :method
+.sub "!PREFIX__charname"  :subid("97_1274853022.01464") :method
 .annotate 'line', 33
     $P312 = self."!PREFIX__!subrule"("integer", "")
     new $P313, "ResizablePMCArray"
@@ -4379,7 +4440,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "_block318"  :anon :subid("98_1274800444.27384") :method :outer("96_1274800444.27384")
+.sub "_block318"  :anon :subid("98_1274853022.01464") :method :outer("96_1274853022.01464")
 .annotate 'line', 113
     .local string rx320_tgt
     .local int rx320_pos
@@ -4439,7 +4500,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "charnames"  :subid("99_1274800444.27384") :method :outer("11_1274800444.27384")
+.sub "charnames"  :subid("99_1274853022.01464") :method :outer("11_1274853022.01464")
 .annotate 'line', 33
     .local string rx323_tgt
     .local int rx323_pos
@@ -4523,7 +4584,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "!PREFIX__charnames"  :subid("100_1274800444.27384") :method
+.sub "!PREFIX__charnames"  :subid("100_1274853022.01464") :method
 .annotate 'line', 33
     new $P325, "ResizablePMCArray"
     push $P325, ""
@@ -4532,7 +4593,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "charspec"  :subid("101_1274800444.27384") :method :outer("11_1274800444.27384")
+.sub "charspec"  :subid("101_1274853022.01464") :method :outer("11_1274853022.01464")
 .annotate 'line', 33
     .local string rx330_tgt
     .local int rx330_pos
@@ -4662,7 +4723,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "!PREFIX__charspec"  :subid("102_1274800444.27384") :method
+.sub "!PREFIX__charspec"  :subid("102_1274853022.01464") :method
 .annotate 'line', 33
     $P332 = self."!PREFIX__!subrule"("", "")
     $P333 = self."!PREFIX__!subrule"("charnames", "[")
@@ -4703,18 +4764,18 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "_block339" :load :anon :subid("103_1274800444.27384")
+.sub "_block339" :load :anon :subid("103_1274853022.01464")
 .annotate 'line', 5
-    .const 'Sub' $P341 = "11_1274800444.27384" 
+    .const 'Sub' $P341 = "11_1274853022.01464" 
     $P342 = $P341()
     .return ($P342)
 .end
 
 
 .namespace []
-.sub "_block344" :load :anon :subid("104_1274800444.27384")
+.sub "_block344" :load :anon :subid("104_1274853022.01464")
 .annotate 'line', 1
-    .const 'Sub' $P346 = "10_1274800444.27384" 
+    .const 'Sub' $P346 = "10_1274853022.01464" 
     $P347 = $P346()
     .return ($P347)
 .end
@@ -4722,109 +4783,126 @@
 ### .include 'gen/hllgrammar-actions.pir'
 
 .namespace []
-.sub "_block11"  :anon :subid("10_1274800446.28548")
+.sub "_block11"  :anon :subid("10_1274853024.15996")
 .annotate 'line', 0
     get_hll_global $P14, ["HLL";"Actions"], "_block13" 
     capture_lex $P14
+.annotate 'line', 1
+    $P0 = find_dynamic_lex "$*CTXSAVE"
+    if null $P0 goto ctxsave_done
+    $I0 = can $P0, "ctxsave"
+    unless $I0 goto ctxsave_done
+    $P0."ctxsave"()
+  ctxsave_done:
 .annotate 'line', 3
     get_hll_global $P14, ["HLL";"Actions"], "_block13" 
     capture_lex $P14
-    $P575 = $P14()
+    $P620 = $P14()
 .annotate 'line', 1
-    .return ($P575)
-    .const 'Sub' $P577 = "50_1274800446.28548" 
-    .return ($P577)
+    .return ($P620)
+    .const 'Sub' $P622 = "54_1274853024.15996" 
+    .return ($P622)
 .end
 
 
 .namespace []
-.sub "" :load :init :subid("post51") :outer("10_1274800446.28548")
+.sub "" :load :init :subid("post55") :outer("10_1274853024.15996")
 .annotate 'line', 0
-    .const 'Sub' $P12 = "10_1274800446.28548" 
+    .const 'Sub' $P12 = "10_1274853024.15996" 
     .local pmc block
     set block, $P12
-    $P580 = get_root_global ["parrot"], "P6metaclass"
-    $P580."new_class"("HLL::Actions")
+    $P625 = get_root_global ["parrot"], "P6metaclass"
+    $P625."new_class"("HLL::Actions")
 .end
 
 
 .namespace ["HLL";"Actions"]
-.sub "_block13"  :subid("11_1274800446.28548") :outer("10_1274800446.28548")
+.sub "_block13"  :subid("11_1274853024.15996") :outer("10_1274853024.15996")
 .annotate 'line', 3
-    .const 'Sub' $P553 = "48_1274800446.28548" 
-    capture_lex $P553
-    .const 'Sub' $P528 = "46_1274800446.28548" 
-    capture_lex $P528
-    .const 'Sub' $P498 = "45_1274800446.28548" 
-    capture_lex $P498
-    .const 'Sub' $P479 = "44_1274800446.28548" 
-    capture_lex $P479
-    .const 'Sub' $P472 = "43_1274800446.28548" 
-    capture_lex $P472
-    .const 'Sub' $P462 = "42_1274800446.28548" 
-    capture_lex $P462
-    .const 'Sub' $P445 = "41_1274800446.28548" 
+    .const 'Sub' $P598 = "52_1274853024.15996" 
+    capture_lex $P598
+    .const 'Sub' $P573 = "50_1274853024.15996" 
+    capture_lex $P573
+    .const 'Sub' $P543 = "49_1274853024.15996" 
+    capture_lex $P543
+    .const 'Sub' $P524 = "48_1274853024.15996" 
+    capture_lex $P524
+    .const 'Sub' $P517 = "47_1274853024.15996" 
+    capture_lex $P517
+    .const 'Sub' $P507 = "46_1274853024.15996" 
+    capture_lex $P507
+    .const 'Sub' $P490 = "45_1274853024.15996" 
+    capture_lex $P490
+    .const 'Sub' $P473 = "44_1274853024.15996" 
+    capture_lex $P473
+    .const 'Sub' $P466 = "43_1274853024.15996" 
+    capture_lex $P466
+    .const 'Sub' $P459 = "42_1274853024.15996" 
+    capture_lex $P459
+    .const 'Sub' $P452 = "41_1274853024.15996" 
+    capture_lex $P452
+    .const 'Sub' $P445 = "40_1274853024.15996" 
     capture_lex $P445
-    .const 'Sub' $P428 = "40_1274800446.28548" 
+    .const 'Sub' $P438 = "39_1274853024.15996" 
+    capture_lex $P438
+    .const 'Sub' $P428 = "38_1274853024.15996" 
     capture_lex $P428
-    .const 'Sub' $P421 = "39_1274800446.28548" 
+    .const 'Sub' $P421 = "37_1274853024.15996" 
     capture_lex $P421
-    .const 'Sub' $P414 = "38_1274800446.28548" 
-    capture_lex $P414
-    .const 'Sub' $P407 = "37_1274800446.28548" 
-    capture_lex $P407
-    .const 'Sub' $P400 = "36_1274800446.28548" 
-    capture_lex $P400
-    .const 'Sub' $P393 = "35_1274800446.28548" 
-    capture_lex $P393
-    .const 'Sub' $P383 = "34_1274800446.28548" 
-    capture_lex $P383
-    .const 'Sub' $P376 = "33_1274800446.28548" 
-    capture_lex $P376
-    .const 'Sub' $P360 = "32_1274800446.28548" 
-    capture_lex $P360
-    .const 'Sub' $P285 = "30_1274800446.28548" 
-    capture_lex $P285
-    .const 'Sub' $P222 = "27_1274800446.28548" 
+    .const 'Sub' $P405 = "36_1274853024.15996" 
+    capture_lex $P405
+    .const 'Sub' $P330 = "34_1274853024.15996" 
+    capture_lex $P330
+    .const 'Sub' $P267 = "31_1274853024.15996" 
+    capture_lex $P267
+    .const 'Sub' $P258 = "30_1274853024.15996" 
+    capture_lex $P258
+    .const 'Sub' $P249 = "29_1274853024.15996" 
+    capture_lex $P249
+    .const 'Sub' $P240 = "28_1274853024.15996" 
+    capture_lex $P240
+    .const 'Sub' $P231 = "27_1274853024.15996" 
+    capture_lex $P231
+    .const 'Sub' $P222 = "26_1274853024.15996" 
     capture_lex $P222
-    .const 'Sub' $P213 = "26_1274800446.28548" 
-    capture_lex $P213
-    .const 'Sub' $P204 = "25_1274800446.28548" 
-    capture_lex $P204
-    .const 'Sub' $P195 = "24_1274800446.28548" 
-    capture_lex $P195
-    .const 'Sub' $P186 = "23_1274800446.28548" 
-    capture_lex $P186
-    .const 'Sub' $P177 = "22_1274800446.28548" 
-    capture_lex $P177
-    .const 'Sub' $P167 = "21_1274800446.28548" 
-    capture_lex $P167
-    .const 'Sub' $P157 = "20_1274800446.28548" 
-    capture_lex $P157
-    .const 'Sub' $P149 = "19_1274800446.28548" 
-    capture_lex $P149
-    .const 'Sub' $P139 = "18_1274800446.28548" 
-    capture_lex $P139
-    .const 'Sub' $P129 = "17_1274800446.28548" 
-    capture_lex $P129
-    .const 'Sub' $P28 = "14_1274800446.28548" 
+    .const 'Sub' $P212 = "25_1274853024.15996" 
+    capture_lex $P212
+    .const 'Sub' $P202 = "24_1274853024.15996" 
+    capture_lex $P202
+    .const 'Sub' $P194 = "23_1274853024.15996" 
+    capture_lex $P194
+    .const 'Sub' $P184 = "22_1274853024.15996" 
+    capture_lex $P184
+    .const 'Sub' $P174 = "21_1274853024.15996" 
+    capture_lex $P174
+    .const 'Sub' $P73 = "18_1274853024.15996" 
+    capture_lex $P73
+    .const 'Sub' $P35 = "15_1274853024.15996" 
+    capture_lex $P35
+    .const 'Sub' $P28 = "14_1274853024.15996" 
     capture_lex $P28
-    .const 'Sub' $P22 = "13_1274800446.28548" 
+    .const 'Sub' $P22 = "13_1274853024.15996" 
     capture_lex $P22
-    .const 'Sub' $P15 = "12_1274800446.28548" 
+    .const 'Sub' $P15 = "12_1274853024.15996" 
     capture_lex $P15
-.annotate 'line', 197
-    .const 'Sub' $P553 = "48_1274800446.28548" 
-    newclosure $P570, $P553
+    $P0 = find_dynamic_lex "$*CTXSAVE"
+    if null $P0 goto ctxsave_done
+    $I0 = can $P0, "ctxsave"
+    unless $I0 goto ctxsave_done
+    $P0."ctxsave"()
+  ctxsave_done:
+.annotate 'line', 224
+    .const 'Sub' $P598 = "52_1274853024.15996" 
+    newclosure $P615, $P598
 .annotate 'line', 3
-    .return ($P570)
-    .const 'Sub' $P572 = "49_1274800446.28548" 
-    .return ($P572)
+    .return ($P615)
+    .const 'Sub' $P617 = "53_1274853024.15996" 
+    .return ($P617)
 .end
 
 
 .namespace ["HLL";"Actions"]
-.sub "string_to_int"  :subid("12_1274800446.28548") :outer("11_1274800446.28548")
+.sub "string_to_int"  :subid("12_1274853024.15996") :outer("11_1274853024.15996")
     .param pmc param_18
     .param pmc param_19
 .annotate 'line', 3
@@ -4877,7 +4955,7 @@
 
 
 .namespace ["HLL";"Actions"]
-.sub "ints_to_string"  :subid("13_1274800446.28548") :outer("11_1274800446.28548")
+.sub "ints_to_string"  :subid("13_1274853024.15996") :outer("11_1274853024.15996")
     .param pmc param_25
 .annotate 'line', 37
     new $P24, 'ExceptionHandler'
@@ -4918,539 +4996,574 @@
 
 
 .namespace ["HLL";"Actions"]
-.sub "EXPR"  :subid("14_1274800446.28548") :method :outer("11_1274800446.28548")
-    .param pmc param_31
-    .param pmc param_32 :optional
-    .param int has_param_32 :opt_flag
+.sub "CTXSAVE"  :subid("14_1274853024.15996") :method :outer("11_1274853024.15996")
 .annotate 'line', 62
-    .const 'Sub' $P111 = "16_1274800446.28548" 
-    capture_lex $P111
-    .const 'Sub' $P78 = "15_1274800446.28548" 
-    capture_lex $P78
     new $P30, 'ExceptionHandler'
     set_addr $P30, control_29
     $P30."handle_types"(57)
     push_eh $P30
     .lex "self", self
-    .lex "$/", param_31
-    if has_param_32, optparam_52
-    new $P33, "Undef"
-    set param_32, $P33
-  optparam_52:
-    .lex "$key", param_32
-.annotate 'line', 64
-    new $P34, "Undef"
-    .lex "$past", $P34
 .annotate 'line', 63
-    find_lex $P36, "$key"
-    if $P36, unless_35_end
-    new $P37, "Exception"
-    set $P37['type'], 57
-    new $P38, "Integer"
-    assign $P38, 0
-    setattribute $P37, 'payload', $P38
-    throw $P37
-  unless_35_end:
-.annotate 'line', 64
-    find_lex $P40, "$/"
-    $P41 = $P40."ast"()
-    set $P39, $P41
-    defined $I43, $P39
-    if $I43, default_42
-    find_lex $P44, "$/"
-    unless_null $P44, vivify_53
-    $P44 = root_new ['parrot';'Hash']
-  vivify_53:
-    set $P45, $P44["OPER"]
-    unless_null $P45, vivify_54
-    new $P45, "Undef"
-  vivify_54:
-    $P46 = $P45."ast"()
-    set $P39, $P46
-  default_42:
-    store_lex "$past", $P39
-.annotate 'line', 65
-    find_lex $P48, "$past"
-    if $P48, unless_47_end
-.annotate 'line', 66
-    get_hll_global $P49, ["PAST"], "Op"
-    find_lex $P50, "$/"
-    $P51 = $P49."new"($P50 :named("node"))
-    store_lex "$past", $P51
-.annotate 'line', 67
-    find_lex $P53, "$/"
-    unless_null $P53, vivify_55
-    $P53 = root_new ['parrot';'Hash']
-  vivify_55:
-    set $P54, $P53["OPER"]
-    unless_null $P54, vivify_56
-    $P54 = root_new ['parrot';'Hash']
-  vivify_56:
-    set $P55, $P54["O"]
-    unless_null $P55, vivify_57
-    $P55 = root_new ['parrot';'Hash']
-  vivify_57:
-    set $P56, $P55["pasttype"]
-    unless_null $P56, vivify_58
-    new $P56, "Undef"
-  vivify_58:
-    if $P56, if_52
-.annotate 'line', 68
-    find_lex $P64, "$/"
-    unless_null $P64, vivify_59
-    $P64 = root_new ['parrot';'Hash']
-  vivify_59:
-    set $P65, $P64["OPER"]
-    unless_null $P65, vivify_60
-    $P65 = root_new ['parrot';'Hash']
-  vivify_60:
-    set $P66, $P65["O"]
-    unless_null $P66, vivify_61
-    $P66 = root_new ['parrot';'Hash']
-  vivify_61:
-    set $P67, $P66["pirop"]
-    unless_null $P67, vivify_62
-    new $P67, "Undef"
-  vivify_62:
-    unless $P67, if_63_end
-    find_lex $P68, "$past"
-    find_lex $P69, "$/"
-    unless_null $P69, vivify_63
-    $P69 = root_new ['parrot';'Hash']
-  vivify_63:
-    set $P70, $P69["OPER"]
-    unless_null $P70, vivify_64
-    $P70 = root_new ['parrot';'Hash']
-  vivify_64:
-    set $P71, $P70["O"]
-    unless_null $P71, vivify_65
-    $P71 = root_new ['parrot';'Hash']
-  vivify_65:
-    set $P72, $P71["pirop"]
-    unless_null $P72, vivify_66
-    new $P72, "Undef"
-  vivify_66:
-    set $S73, $P72
-    $P68."pirop"($S73)
-  if_63_end:
-    goto if_52_end
-  if_52:
-.annotate 'line', 67
-    find_lex $P57, "$past"
-    find_lex $P58, "$/"
-    unless_null $P58, vivify_67
-    $P58 = root_new ['parrot';'Hash']
-  vivify_67:
-    set $P59, $P58["OPER"]
-    unless_null $P59, vivify_68
-    $P59 = root_new ['parrot';'Hash']
-  vivify_68:
-    set $P60, $P59["O"]
-    unless_null $P60, vivify_69
-    $P60 = root_new ['parrot';'Hash']
-  vivify_69:
-    set $P61, $P60["pasttype"]
-    unless_null $P61, vivify_70
-    new $P61, "Undef"
-  vivify_70:
-    set $S62, $P61
-    $P57."pasttype"($S62)
-  if_52_end:
+    get_hll_global $P31, ["PAST"], "Op"
 .annotate 'line', 69
-    find_lex $P75, "$past"
-    $P76 = $P75."name"()
-    if $P76, unless_74_end
-    .const 'Sub' $P78 = "15_1274800446.28548" 
-    capture_lex $P78
-    $P78()
-  unless_74_end:
-  unless_47_end:
-.annotate 'line', 80
-    find_lex $P98, "$key"
-    set $S99, $P98
-    iseq $I100, $S99, "POSTFIX"
-    if $I100, if_97
-.annotate 'line', 82
-    find_lex $P106, "$/"
-    $P107 = $P106."list"()
-    defined $I108, $P107
-    unless $I108, for_undef_74
-    iter $P105, $P107
-    new $P123, 'ExceptionHandler'
-    set_addr $P123, loop122_handler
-    $P123."handle_types"(64, 66, 65)
-    push_eh $P123
-  loop122_test:
-    unless $P105, loop122_done
-    shift $P109, $P105
-  loop122_redo:
-    .const 'Sub' $P111 = "16_1274800446.28548" 
-    capture_lex $P111
-    $P111($P109)
-  loop122_next:
-    goto loop122_test
-  loop122_handler:
-    .local pmc exception 
-    .get_results (exception) 
-    getattribute $P124, exception, 'type'
-    eq $P124, 64, loop122_next
-    eq $P124, 66, loop122_redo
-  loop122_done:
-    pop_eh 
-  for_undef_74:
-.annotate 'line', 81
-    goto if_97_end
-  if_97:
-.annotate 'line', 80
-    find_lex $P101, "$past"
-    find_lex $P102, "$/"
-    unless_null $P102, vivify_75
-    $P102 = root_new ['parrot';'ResizablePMCArray']
-  vivify_75:
-    set $P103, $P102[0]
-    unless_null $P103, vivify_76
-    new $P103, "Undef"
-  vivify_76:
-    $P104 = $P103."ast"()
-    $P101."unshift"($P104)
-  if_97_end:
-.annotate 'line', 84
-    find_lex $P125, "$/"
-    find_lex $P126, "$past"
-    $P127 = $P125."!make"($P126)
+    new $P32, "ResizablePMCArray"
+    push $P32, "    $P0 = find_dynamic_lex \"$*CTXSAVE\""
+    push $P32, "    if null $P0 goto ctxsave_done"
+    push $P32, "    $I0 = can $P0, \"ctxsave\""
+    push $P32, "    unless $I0 goto ctxsave_done"
+    push $P32, "    $P0.\"ctxsave\"()"
+    push $P32, "  ctxsave_done:"
+    $P33 = $P31."new"($P32 :named("inline"))
 .annotate 'line', 62
-    .return ($P127)
+    .return ($P33)
   control_29:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P128, exception, "payload"
-    .return ($P128)
+    getattribute $P34, exception, "payload"
+    .return ($P34)
 .end
 
 
 .namespace ["HLL";"Actions"]
-.sub "_block77"  :anon :subid("15_1274800446.28548") :outer("14_1274800446.28548")
-.annotate 'line', 71
-    new $P79, "Undef"
-    .lex "$name", $P79
-.annotate 'line', 70
-    find_lex $P81, "$key"
-    set $S82, $P81
-    iseq $I83, $S82, "LIST"
-    unless $I83, if_80_end
-    new $P84, "String"
-    assign $P84, "infix"
-    store_lex "$key", $P84
-  if_80_end:
-.annotate 'line', 71
-
-                $P0 = find_lex '$key'
-                $S0 = $P0
-                $S0 = downcase $S0
-                $P85 = box $S0
-            
-    concat $P86, $P85, ":<"
+.sub "SET_BLOCK_OUTER_CTX"  :subid("15_1274853024.15996") :method :outer("11_1274853024.15996")
+    .param pmc param_38
 .annotate 'line', 76
-    find_lex $P87, "$/"
-    unless_null $P87, vivify_71
-    $P87 = root_new ['parrot';'Hash']
-  vivify_71:
-    set $P88, $P87["OPER"]
-    unless_null $P88, vivify_72
-    $P88 = root_new ['parrot';'Hash']
-  vivify_72:
-    set $P89, $P88["sym"]
-    unless_null $P89, vivify_73
-    new $P89, "Undef"
-  vivify_73:
-    concat $P90, $P86, $P89
-    concat $P91, $P90, ">"
-    store_lex "$name", $P91
+    .const 'Sub' $P48 = "16_1274853024.15996" 
+    capture_lex $P48
+    new $P37, 'ExceptionHandler'
+    set_addr $P37, control_36
+    $P37."handle_types"(57)
+    push_eh $P37
+    .lex "self", self
+    .lex "$block", param_38
 .annotate 'line', 77
-    find_lex $P92, "$past"
-    new $P93, "String"
-    assign $P93, "&"
-    find_lex $P94, "$name"
-    concat $P95, $P93, $P94
-    $P96 = $P92."name"($P95)
-.annotate 'line', 69
-    .return ($P96)
+    new $P39, "Undef"
+    .lex "$outer_ctx", $P39
+    find_dynamic_lex $P40, "%*COMPILING"
+    unless_null $P40, vivify_56
+    get_hll_global $P40, "%COMPILING"
+    unless_null $P40, vivify_57
+    die "Contextual %*COMPILING not found"
+  vivify_57:
+  vivify_56:
+    set $P41, $P40["%?OPTIONS"]
+    unless_null $P41, vivify_58
+    $P41 = root_new ['parrot';'Hash']
+  vivify_58:
+    set $P42, $P41["outer_ctx"]
+    unless_null $P42, vivify_59
+    new $P42, "Undef"
+  vivify_59:
+    store_lex "$outer_ctx", $P42
+.annotate 'line', 78
+    find_lex $P45, "$outer_ctx"
+    defined $I46, $P45
+    if $I46, if_44
+    new $P43, 'Integer'
+    set $P43, $I46
+    goto if_44_end
+  if_44:
+    .const 'Sub' $P48 = "16_1274853024.15996" 
+    capture_lex $P48
+    $P71 = $P48()
+    set $P43, $P71
+  if_44_end:
+.annotate 'line', 76
+    .return ($P43)
+  control_36:
+    .local pmc exception 
+    .get_results (exception) 
+    getattribute $P72, exception, "payload"
+    .return ($P72)
 .end
 
 
 .namespace ["HLL";"Actions"]
-.sub "_block110"  :anon :subid("16_1274800446.28548") :outer("14_1274800446.28548")
-    .param pmc param_112
+.sub "_block47"  :anon :subid("16_1274853024.15996") :outer("15_1274853024.15996")
+.annotate 'line', 78
+    .const 'Sub' $P62 = "17_1274853024.15996" 
+    capture_lex $P62
+.annotate 'line', 79
+    $P49 = root_new ['parrot';'ResizablePMCArray']
+    .lex "@ns", $P49
+    find_lex $P50, "$outer_ctx"
+    getattribute $P51, $P50, "current_namespace"
+    $P52 = $P51."get_name"()
+    store_lex "@ns", $P52
+.annotate 'line', 80
+    find_lex $P53, "@ns"
+    $P53."shift"()
+.annotate 'line', 81
+    find_lex $P54, "$block"
+    find_lex $P55, "@ns"
+    $P54."namespace"($P55)
 .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
-    goto if_114_end
-  if_114:
-    find_lex $P118, "$past"
-    find_lex $P119, "$_"
-    $P120 = $P119."ast"()
-    $P121 = $P118."push"($P120)
-    set $P113, $P121
-  if_114_end:
-    .return ($P113)
-.end
-
-
-.namespace ["HLL";"Actions"]
-.sub "term:sym<circumfix>"  :subid("17_1274800446.28548") :method :outer("11_1274800446.28548")
-    .param pmc param_132
-.annotate 'line', 87
-    new $P131, 'ExceptionHandler'
-    set_addr $P131, control_130
-    $P131."handle_types"(57)
-    push_eh $P131
-    .lex "self", self
-    .lex "$/", param_132
-    find_lex $P133, "$/"
-    find_lex $P134, "$/"
-    unless_null $P134, vivify_77
-    $P134 = root_new ['parrot';'Hash']
-  vivify_77:
-    set $P135, $P134["circumfix"]
-    unless_null $P135, vivify_78
-    new $P135, "Undef"
-  vivify_78:
-    $P136 = $P135."ast"()
-    $P137 = $P133."!make"($P136)
-    .return ($P137)
-  control_130:
+    find_lex $P57, "$outer_ctx"
+    $P58 = $P57."lexpad_full"()
+    defined $I59, $P58
+    unless $I59, for_undef_60
+    iter $P56, $P58
+    new $P69, 'ExceptionHandler'
+    set_addr $P69, loop68_handler
+    $P69."handle_types"(64, 66, 65)
+    push_eh $P69
+  loop68_test:
+    unless $P56, loop68_done
+    shift $P60, $P56
+  loop68_redo:
+    .const 'Sub' $P62 = "17_1274853024.15996" 
+    capture_lex $P62
+    $P62($P60)
+  loop68_next:
+    goto loop68_test
+  loop68_handler:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P138, exception, "payload"
-    .return ($P138)
+    getattribute $P70, exception, 'type'
+    eq $P70, 64, loop68_next
+    eq $P70, 66, loop68_redo
+  loop68_done:
+    pop_eh 
+  for_undef_60:
+.annotate 'line', 78
+    .return ($P56)
 .end
 
 
 .namespace ["HLL";"Actions"]
-.sub "termish"  :subid("18_1274800446.28548") :method :outer("11_1274800446.28548")
-    .param pmc param_142
-.annotate 'line', 89
-    new $P141, 'ExceptionHandler'
-    set_addr $P141, control_140
-    $P141."handle_types"(57)
-    push_eh $P141
-    .lex "self", self
-    .lex "$/", param_142
-    find_lex $P143, "$/"
-    find_lex $P144, "$/"
-    unless_null $P144, vivify_79
-    $P144 = root_new ['parrot';'Hash']
-  vivify_79:
-    set $P145, $P144["term"]
-    unless_null $P145, vivify_80
-    new $P145, "Undef"
-  vivify_80:
-    $P146 = $P145."ast"()
-    $P147 = $P143."!make"($P146)
-    .return ($P147)
-  control_140:
-    .local pmc exception 
-    .get_results (exception) 
-    getattribute $P148, exception, "payload"
-    .return ($P148)
+.sub "_block61"  :anon :subid("17_1274853024.15996") :outer("16_1274853024.15996")
+    .param pmc param_63
+.annotate 'line', 82
+    .lex "$_", param_63
+.annotate 'line', 83
+    find_lex $P64, "$block"
+    find_lex $P65, "$_"
+    $P66 = $P65."key"()
+    $P67 = $P64."symbol"($P66, "lexical" :named("scope"))
+.annotate 'line', 82
+    .return ($P67)
 .end
 
 
 .namespace ["HLL";"Actions"]
-.sub "nullterm"  :subid("19_1274800446.28548") :method :outer("11_1274800446.28548")
-    .param pmc param_152
-.annotate 'line', 90
-    new $P151, 'ExceptionHandler'
-    set_addr $P151, control_150
-    $P151."handle_types"(57)
-    push_eh $P151
+.sub "EXPR"  :subid("18_1274853024.15996") :method :outer("11_1274853024.15996")
+    .param pmc param_76
+    .param pmc param_77 :optional
+    .param int has_param_77 :opt_flag
+.annotate 'line', 89
+    .const 'Sub' $P156 = "20_1274853024.15996" 
+    capture_lex $P156
+    .const 'Sub' $P123 = "19_1274853024.15996" 
+    capture_lex $P123
+    new $P75, 'ExceptionHandler'
+    set_addr $P75, control_74
+    $P75."handle_types"(57)
+    push_eh $P75
     .lex "self", self
-    .lex "$/", param_152
-    find_lex $P153, "$/"
- $P154 = new ['Undef'] 
-    $P155 = $P153."!make"($P154)
-    .return ($P155)
-  control_150:
+    .lex "$/", param_76
+    if has_param_77, optparam_61
+    new $P78, "Undef"
+    set param_77, $P78
+  optparam_61:
+    .lex "$key", param_77
+.annotate 'line', 91
+    new $P79, "Undef"
+    .lex "$past", $P79
+.annotate 'line', 90
+    find_lex $P81, "$key"
+    if $P81, unless_80_end
+    new $P82, "Exception"
+    set $P82['type'], 57
+    new $P83, "Integer"
+    assign $P83, 0
+    setattribute $P82, 'payload', $P83
+    throw $P82
+  unless_80_end:
+.annotate 'line', 91
+    find_lex $P85, "$/"
+    $P86 = $P85."ast"()
+    set $P84, $P86
+    defined $I88, $P84
+    if $I88, default_87
+    find_lex $P89, "$/"
+    unless_null $P89, vivify_62
+    $P89 = root_new ['parrot';'Hash']
+  vivify_62:
+    set $P90, $P89["OPER"]
+    unless_null $P90, vivify_63
+    new $P90, "Undef"
+  vivify_63:
+    $P91 = $P90."ast"()
+    set $P84, $P91
+  default_87:
+    store_lex "$past", $P84
+.annotate 'line', 92
+    find_lex $P93, "$past"
+    if $P93, unless_92_end
+.annotate 'line', 93
+    get_hll_global $P94, ["PAST"], "Op"
+    find_lex $P95, "$/"
+    $P96 = $P94."new"($P95 :named("node"))
+    store_lex "$past", $P96
+.annotate 'line', 94
+    find_lex $P98, "$/"
+    unless_null $P98, vivify_64
+    $P98 = root_new ['parrot';'Hash']
+  vivify_64:
+    set $P99, $P98["OPER"]
+    unless_null $P99, vivify_65
+    $P99 = root_new ['parrot';'Hash']
+  vivify_65:
+    set $P100, $P99["O"]
+    unless_null $P100, vivify_66
+    $P100 = root_new ['parrot';'Hash']
+  vivify_66:
+    set $P101, $P100["pasttype"]
+    unless_null $P101, vivify_67
+    new $P101, "Undef"
+  vivify_67:
+    if $P101, if_97
+.annotate 'line', 95
+    find_lex $P109, "$/"
+    unless_null $P109, vivify_68
+    $P109 = root_new ['parrot';'Hash']
+  vivify_68:
+    set $P110, $P109["OPER"]
+    unless_null $P110, vivify_69
+    $P110 = root_new ['parrot';'Hash']
+  vivify_69:
+    set $P111, $P110["O"]
+    unless_null $P111, vivify_70
+    $P111 = root_new ['parrot';'Hash']
+  vivify_70:
+    set $P112, $P111["pirop"]
+    unless_null $P112, vivify_71
+    new $P112, "Undef"
+  vivify_71:
+    unless $P112, if_108_end
+    find_lex $P113, "$past"
+    find_lex $P114, "$/"
+    unless_null $P114, vivify_72
+    $P114 = root_new ['parrot';'Hash']
+  vivify_72:
+    set $P115, $P114["OPER"]
+    unless_null $P115, vivify_73
+    $P115 = root_new ['parrot';'Hash']
+  vivify_73:
+    set $P116, $P115["O"]
+    unless_null $P116, vivify_74
+    $P116 = root_new ['parrot';'Hash']
+  vivify_74:
+    set $P117, $P116["pirop"]
+    unless_null $P117, vivify_75
+    new $P117, "Undef"
+  vivify_75:
+    set $S118, $P117
+    $P113."pirop"($S118)
+  if_108_end:
+    goto if_97_end
+  if_97:
+.annotate 'line', 94
+    find_lex $P102, "$past"
+    find_lex $P103, "$/"
+    unless_null $P103, vivify_76
+    $P103 = root_new ['parrot';'Hash']
+  vivify_76:
+    set $P104, $P103["OPER"]
+    unless_null $P104, vivify_77
+    $P104 = root_new ['parrot';'Hash']
+  vivify_77:
+    set $P105, $P104["O"]
+    unless_null $P105, vivify_78
+    $P105 = root_new ['parrot';'Hash']
+  vivify_78:
+    set $P106, $P105["pasttype"]
+    unless_null $P106, vivify_79
+    new $P106, "Undef"
+  vivify_79:
+    set $S107, $P106
+    $P102."pasttype"($S107)
+  if_97_end:
+.annotate 'line', 96
+    find_lex $P120, "$past"
+    $P121 = $P120."name"()
+    if $P121, unless_119_end
+    .const 'Sub' $P123 = "19_1274853024.15996" 
+    capture_lex $P123
+    $P123()
+  unless_119_end:
+  unless_92_end:
+.annotate 'line', 107
+    find_lex $P143, "$key"
+    set $S144, $P143
+    iseq $I145, $S144, "POSTFIX"
+    if $I145, if_142
+.annotate 'line', 109
+    find_lex $P151, "$/"
+    $P152 = $P151."list"()
+    defined $I153, $P152
+    unless $I153, for_undef_83
+    iter $P150, $P152
+    new $P168, 'ExceptionHandler'
+    set_addr $P168, loop167_handler
+    $P168."handle_types"(64, 66, 65)
+    push_eh $P168
+  loop167_test:
+    unless $P150, loop167_done
+    shift $P154, $P150
+  loop167_redo:
+    .const 'Sub' $P156 = "20_1274853024.15996" 
+    capture_lex $P156
+    $P156($P154)
+  loop167_next:
+    goto loop167_test
+  loop167_handler:
+    .local pmc exception 
+    .get_results (exception) 
+    getattribute $P169, exception, 'type'
+    eq $P169, 64, loop167_next
+    eq $P169, 66, loop167_redo
+  loop167_done:
+    pop_eh 
+  for_undef_83:
+.annotate 'line', 108
+    goto if_142_end
+  if_142:
+.annotate 'line', 107
+    find_lex $P146, "$past"
+    find_lex $P147, "$/"
+    unless_null $P147, vivify_84
+    $P147 = root_new ['parrot';'ResizablePMCArray']
+  vivify_84:
+    set $P148, $P147[0]
+    unless_null $P148, vivify_85
+    new $P148, "Undef"
+  vivify_85:
+    $P149 = $P148."ast"()
+    $P146."unshift"($P149)
+  if_142_end:
+.annotate 'line', 111
+    find_lex $P170, "$/"
+    find_lex $P171, "$past"
+    $P172 = $P170."!make"($P171)
+.annotate 'line', 89
+    .return ($P172)
+  control_74:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P156, exception, "payload"
-    .return ($P156)
+    getattribute $P173, exception, "payload"
+    .return ($P173)
 .end
 
 
 .namespace ["HLL";"Actions"]
-.sub "nullterm_alt"  :subid("20_1274800446.28548") :method :outer("11_1274800446.28548")
-    .param pmc param_160
-.annotate 'line', 91
-    new $P159, 'ExceptionHandler'
-    set_addr $P159, control_158
-    $P159."handle_types"(57)
-    push_eh $P159
-    .lex "self", self
-    .lex "$/", param_160
-    find_lex $P161, "$/"
-    find_lex $P162, "$/"
-    unless_null $P162, vivify_81
-    $P162 = root_new ['parrot';'Hash']
+.sub "_block122"  :anon :subid("19_1274853024.15996") :outer("18_1274853024.15996")
+.annotate 'line', 98
+    new $P124, "Undef"
+    .lex "$name", $P124
+.annotate 'line', 97
+    find_lex $P126, "$key"
+    set $S127, $P126
+    iseq $I128, $S127, "LIST"
+    unless $I128, if_125_end
+    new $P129, "String"
+    assign $P129, "infix"
+    store_lex "$key", $P129
+  if_125_end:
+.annotate 'line', 98
+
+                $P0 = find_lex '$key'
+                $S0 = $P0
+                $S0 = downcase $S0
+                $P130 = box $S0
+            
+    concat $P131, $P130, ":<"
+.annotate 'line', 103
+    find_lex $P132, "$/"
+    unless_null $P132, vivify_80
+    $P132 = root_new ['parrot';'Hash']
+  vivify_80:
+    set $P133, $P132["OPER"]
+    unless_null $P133, vivify_81
+    $P133 = root_new ['parrot';'Hash']
   vivify_81:
-    set $P163, $P162["term"]
-    unless_null $P163, vivify_82
-    new $P163, "Undef"
+    set $P134, $P133["sym"]
+    unless_null $P134, vivify_82
+    new $P134, "Undef"
   vivify_82:
-    $P164 = $P163."ast"()
-    $P165 = $P161."!make"($P164)
-    .return ($P165)
-  control_158:
-    .local pmc exception 
-    .get_results (exception) 
-    getattribute $P166, exception, "payload"
-    .return ($P166)
+    concat $P135, $P131, $P134
+    concat $P136, $P135, ">"
+    store_lex "$name", $P136
+.annotate 'line', 104
+    find_lex $P137, "$past"
+    new $P138, "String"
+    assign $P138, "&"
+    find_lex $P139, "$name"
+    concat $P140, $P138, $P139
+    $P141 = $P137."name"($P140)
+.annotate 'line', 96
+    .return ($P141)
 .end
 
 
 .namespace ["HLL";"Actions"]
-.sub "integer"  :subid("21_1274800446.28548") :method :outer("11_1274800446.28548")
-    .param pmc param_170
-.annotate 'line', 93
-    new $P169, 'ExceptionHandler'
-    set_addr $P169, control_168
-    $P169."handle_types"(57)
-    push_eh $P169
-    .lex "self", self
-    .lex "$/", param_170
-    find_lex $P171, "$/"
-    find_lex $P172, "$/"
-    unless_null $P172, vivify_83
-    $P172 = root_new ['parrot';'Hash']
-  vivify_83:
-    set $P173, $P172["VALUE"]
-    unless_null $P173, vivify_84
-    new $P173, "Undef"
-  vivify_84:
-    $P174 = $P173."ast"()
-    $P175 = $P171."!make"($P174)
-    .return ($P175)
-  control_168:
-    .local pmc exception 
-    .get_results (exception) 
-    getattribute $P176, exception, "payload"
-    .return ($P176)
+.sub "_block155"  :anon :subid("20_1274853024.15996") :outer("18_1274853024.15996")
+    .param pmc param_157
+.annotate 'line', 109
+    .lex "$_", param_157
+    find_lex $P160, "$_"
+    $P161 = $P160."ast"()
+    defined $I162, $P161
+    if $I162, if_159
+    new $P158, 'Integer'
+    set $P158, $I162
+    goto if_159_end
+  if_159:
+    find_lex $P163, "$past"
+    find_lex $P164, "$_"
+    $P165 = $P164."ast"()
+    $P166 = $P163."push"($P165)
+    set $P158, $P166
+  if_159_end:
+    .return ($P158)
 .end
 
 
 .namespace ["HLL";"Actions"]
-.sub "dec_number"  :subid("22_1274800446.28548") :method :outer("11_1274800446.28548")
-    .param pmc param_180
-.annotate 'line', 95
-    new $P179, 'ExceptionHandler'
-    set_addr $P179, control_178
-    $P179."handle_types"(57)
-    push_eh $P179
+.sub "term:sym<circumfix>"  :subid("21_1274853024.15996") :method :outer("11_1274853024.15996")
+    .param pmc param_177
+.annotate 'line', 114
+    new $P176, 'ExceptionHandler'
+    set_addr $P176, control_175
+    $P176."handle_types"(57)
+    push_eh $P176
     .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_177
+    find_lex $P178, "$/"
+    find_lex $P179, "$/"
+    unless_null $P179, vivify_86
+    $P179 = root_new ['parrot';'Hash']
+  vivify_86:
+    set $P180, $P179["circumfix"]
+    unless_null $P180, vivify_87
+    new $P180, "Undef"
+  vivify_87:
+    $P181 = $P180."ast"()
+    $P182 = $P178."!make"($P181)
+    .return ($P182)
+  control_175:
     .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_1274800446.28548") :method :outer("11_1274800446.28548")
-    .param pmc param_189
-.annotate 'line', 97
-    new $P188, 'ExceptionHandler'
-    set_addr $P188, control_187
-    $P188."handle_types"(57)
-    push_eh $P188
-    .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:
+.sub "termish"  :subid("22_1274853024.15996") :method :outer("11_1274853024.15996")
+    .param pmc param_187
+.annotate 'line', 116
+    new $P186, 'ExceptionHandler'
+    set_addr $P186, control_185
+    $P186."handle_types"(57)
+    push_eh $P186
+    .lex "self", self
+    .lex "$/", param_187
+    find_lex $P188, "$/"
+    find_lex $P189, "$/"
+    unless_null $P189, vivify_88
+    $P189 = root_new ['parrot';'Hash']
+  vivify_88:
+    set $P190, $P189["term"]
+    unless_null $P190, vivify_89
+    new $P190, "Undef"
+  vivify_89:
+    $P191 = $P190."ast"()
+    $P192 = $P188."!make"($P191)
+    .return ($P192)
+  control_185:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P194, exception, "payload"
-    .return ($P194)
+    getattribute $P193, exception, "payload"
+    .return ($P193)
 .end
 
 
 .namespace ["HLL";"Actions"]
-.sub "hexint"  :subid("24_1274800446.28548") :method :outer("11_1274800446.28548")
-    .param pmc param_198
-.annotate 'line', 98
-    new $P197, 'ExceptionHandler'
-    set_addr $P197, control_196
-    $P197."handle_types"(57)
-    push_eh $P197
+.sub "nullterm"  :subid("23_1274853024.15996") :method :outer("11_1274853024.15996")
+    .param pmc param_197
+.annotate 'line', 117
+    new $P196, 'ExceptionHandler'
+    set_addr $P196, control_195
+    $P196."handle_types"(57)
+    push_eh $P196
     .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_197
+    find_lex $P198, "$/"
+ $P199 = new ['Undef'] 
+    $P200 = $P198."!make"($P199)
+    .return ($P200)
+  control_195:
     .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_1274800446.28548") :method :outer("11_1274800446.28548")
-    .param pmc param_207
-.annotate 'line', 99
-    new $P206, 'ExceptionHandler'
-    set_addr $P206, control_205
-    $P206."handle_types"(57)
-    push_eh $P206
-    .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:
+.sub "nullterm_alt"  :subid("24_1274853024.15996") :method :outer("11_1274853024.15996")
+    .param pmc param_205
+.annotate 'line', 118
+    new $P204, 'ExceptionHandler'
+    set_addr $P204, control_203
+    $P204."handle_types"(57)
+    push_eh $P204
+    .lex "self", self
+    .lex "$/", param_205
+    find_lex $P206, "$/"
+    find_lex $P207, "$/"
+    unless_null $P207, vivify_90
+    $P207 = root_new ['parrot';'Hash']
+  vivify_90:
+    set $P208, $P207["term"]
+    unless_null $P208, vivify_91
+    new $P208, "Undef"
+  vivify_91:
+    $P209 = $P208."ast"()
+    $P210 = $P206."!make"($P209)
+    .return ($P210)
+  control_203:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P212, exception, "payload"
-    .return ($P212)
+    getattribute $P211, exception, "payload"
+    .return ($P211)
 .end
 
 
 .namespace ["HLL";"Actions"]
-.sub "binint"  :subid("26_1274800446.28548") :method :outer("11_1274800446.28548")
-    .param pmc param_216
-.annotate 'line', 100
-    new $P215, 'ExceptionHandler'
-    set_addr $P215, control_214
-    $P215."handle_types"(57)
-    push_eh $P215
+.sub "integer"  :subid("25_1274853024.15996") :method :outer("11_1274853024.15996")
+    .param pmc param_215
+.annotate 'line', 120
+    new $P214, 'ExceptionHandler'
+    set_addr $P214, control_213
+    $P214."handle_types"(57)
+    push_eh $P214
     .lex "self", self
-    .lex "$/", param_216
+    .lex "$/", param_215
+    find_lex $P216, "$/"
     find_lex $P217, "$/"
-    find_lex $P218, "$/"
-    $P219 = "string_to_int"($P218, 2)
-    $P220 = $P217."!make"($P219)
+    unless_null $P217, vivify_92
+    $P217 = root_new ['parrot';'Hash']
+  vivify_92:
+    set $P218, $P217["VALUE"]
+    unless_null $P218, vivify_93
+    new $P218, "Undef"
+  vivify_93:
+    $P219 = $P218."ast"()
+    $P220 = $P216."!make"($P219)
     .return ($P220)
-  control_214:
+  control_213:
     .local pmc exception 
     .get_results (exception) 
     getattribute $P221, exception, "payload"
@@ -5459,537 +5572,517 @@
 
 
 .namespace ["HLL";"Actions"]
-.sub "quote_EXPR"  :subid("27_1274800446.28548") :method :outer("11_1274800446.28548")
+.sub "dec_number"  :subid("26_1274853024.15996") :method :outer("11_1274853024.15996")
     .param pmc param_225
-.annotate 'line', 102
-    .const 'Sub' $P241 = "28_1274800446.28548" 
-    capture_lex $P241
+.annotate 'line', 122
     new $P224, 'ExceptionHandler'
     set_addr $P224, control_223
     $P224."handle_types"(57)
     push_eh $P224
     .lex "self", self
     .lex "$/", param_225
-.annotate 'line', 103
-    new $P226, "Undef"
-    .lex "$past", $P226
+    find_lex $P226, "$/"
     find_lex $P227, "$/"
-    unless_null $P227, vivify_85
-    $P227 = root_new ['parrot';'Hash']
-  vivify_85:
-    set $P228, $P227["quote_delimited"]
-    unless_null $P228, vivify_86
-    new $P228, "Undef"
-  vivify_86:
-    $P229 = $P228."ast"()
-    store_lex "$past", $P229
-.annotate 'line', 104
-    find_lex $P231, "$/"
-    $P232 = $P231."CURSOR"()
-    $P233 = $P232."quotemod_check"("w")
-    unless $P233, if_230_end
-.annotate 'line', 105
-    get_hll_global $P235, ["PAST"], "Node"
-    find_lex $P236, "$past"
-    $P237 = $P235."ACCEPTS"($P236)
-    if $P237, if_234
-.annotate 'line', 108
-    .const 'Sub' $P241 = "28_1274800446.28548" 
-    capture_lex $P241
-    $P241()
-    goto if_234_end
-  if_234:
-.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:
-.annotate 'line', 119
-    get_hll_global $P273, ["PAST"], "Node"
-    find_lex $P274, "$past"
-    $P275 = $P273."ACCEPTS"($P274)
-    isfalse $I276, $P275
-    unless $I276, if_272_end
-.annotate 'line', 120
-    get_hll_global $P277, ["PAST"], "Val"
-    find_lex $P278, "$past"
-    set $S279, $P278
-    $P280 = $P277."new"($S279 :named("value"))
-    store_lex "$past", $P280
-  if_272_end:
-.annotate 'line', 122
-    find_lex $P281, "$/"
-    find_lex $P282, "$past"
-    $P283 = $P281."!make"($P282)
-.annotate 'line', 102
-    .return ($P283)
+    set $N228, $P227
+    $P229 = $P226."!make"($N228)
+    .return ($P229)
   control_223:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P284, exception, "payload"
-    .return ($P284)
+    getattribute $P230, exception, "payload"
+    .return ($P230)
 .end
 
 
 .namespace ["HLL";"Actions"]
-.sub "_block240"  :anon :subid("28_1274800446.28548") :outer("27_1274800446.28548")
-.annotate 'line', 108
-    .const 'Sub' $P260 = "29_1274800446.28548" 
-    capture_lex $P260
-.annotate 'line', 109
-    $P242 = root_new ['parrot';'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
-.annotate 'line', 110
-    find_lex $P249, "@words"
-    set $N250, $P249
-    isgt $I251, $N250, 1.0
-    if $I251, if_248
-.annotate 'line', 115
-    find_lex $P268, "@words"
-    unless_null $P268, vivify_87
-    $P268 = root_new ['parrot';'ResizablePMCArray']
-  vivify_87:
-    set $P269, $P268[0]
-    unless_null $P269, vivify_88
-    new $P269, "Undef"
-  vivify_88:
-    set $S270, $P269
-    new $P271, 'String'
-    set $P271, $S270
-    store_lex "$past", $P271
-.annotate 'line', 114
-    set $P247, $P271
-.annotate 'line', 110
-    goto if_248_end
-  if_248:
-.annotate 'line', 111
-    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 $P256, "@words"
-    defined $I257, $P256
-    unless $I257, for_undef_89
-    iter $P255, $P256
-    new $P266, 'ExceptionHandler'
-    set_addr $P266, loop265_handler
-    $P266."handle_types"(64, 66, 65)
-    push_eh $P266
-  loop265_test:
-    unless $P255, loop265_done
-    shift $P258, $P255
-  loop265_redo:
-    .const 'Sub' $P260 = "29_1274800446.28548" 
-    capture_lex $P260
-    $P260($P258)
-  loop265_next:
-    goto loop265_test
-  loop265_handler:
+.sub "decint"  :subid("27_1274853024.15996") :method :outer("11_1274853024.15996")
+    .param pmc param_234
+.annotate 'line', 124
+    new $P233, 'ExceptionHandler'
+    set_addr $P233, control_232
+    $P233."handle_types"(57)
+    push_eh $P233
+    .lex "self", self
+    .lex "$/", param_234
+    find_lex $P235, "$/"
+    find_lex $P236, "$/"
+    $P237 = "string_to_int"($P236, 10)
+    $P238 = $P235."!make"($P237)
+    .return ($P238)
+  control_232:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P267, exception, 'type'
-    eq $P267, 64, loop265_next
-    eq $P267, 66, loop265_redo
-  loop265_done:
-    pop_eh 
-  for_undef_89:
-.annotate 'line', 110
-    set $P247, $P255
-  if_248_end:
-.annotate 'line', 108
-    .return ($P247)
-.end
-
-
-.namespace ["HLL";"Actions"]
-.sub "_block259"  :anon :subid("29_1274800446.28548") :outer("28_1274800446.28548")
-    .param pmc param_261
-.annotate 'line', 112
-    .lex "$_", param_261
-    find_lex $P262, "$past"
-    find_lex $P263, "$_"
-    $P264 = $P262."push"($P263)
-    .return ($P264)
+    getattribute $P239, exception, "payload"
+    .return ($P239)
 .end
 
 
 .namespace ["HLL";"Actions"]
-.sub "quote_delimited"  :subid("30_1274800446.28548") :method :outer("11_1274800446.28548")
-    .param pmc param_288
+.sub "hexint"  :subid("28_1274853024.15996") :method :outer("11_1274853024.15996")
+    .param pmc param_243
 .annotate 'line', 125
-    .const 'Sub' $P300 = "31_1274800446.28548" 
-    capture_lex $P300
-    new $P287, 'ExceptionHandler'
-    set_addr $P287, control_286
-    $P287."handle_types"(57)
-    push_eh $P287
+    new $P242, 'ExceptionHandler'
+    set_addr $P242, control_241
+    $P242."handle_types"(57)
+    push_eh $P242
     .lex "self", self
-    .lex "$/", param_288
-.annotate 'line', 126
-    $P289 = root_new ['parrot';'ResizablePMCArray']
-    .lex "@parts", $P289
-.annotate 'line', 127
-    new $P290, "Undef"
-    .lex "$lastlit", $P290
-.annotate 'line', 143
-    new $P291, "Undef"
-    .lex "$past", $P291
-.annotate 'line', 125
-    find_lex $P292, "@parts"
-.annotate 'line', 127
-    new $P293, "String"
-    assign $P293, ""
-    store_lex "$lastlit", $P293
-.annotate 'line', 128
-    find_lex $P295, "$/"
-    unless_null $P295, vivify_90
-    $P295 = root_new ['parrot';'Hash']
-  vivify_90:
-    set $P296, $P295["quote_atom"]
-    unless_null $P296, vivify_91
-    new $P296, "Undef"
-  vivify_91:
-    defined $I297, $P296
-    unless $I297, for_undef_92
-    iter $P294, $P296
-    new $P333, 'ExceptionHandler'
-    set_addr $P333, loop332_handler
-    $P333."handle_types"(64, 66, 65)
-    push_eh $P333
-  loop332_test:
-    unless $P294, loop332_done
-    shift $P298, $P294
-  loop332_redo:
-    .const 'Sub' $P300 = "31_1274800446.28548" 
-    capture_lex $P300
-    $P300($P298)
-  loop332_next:
-    goto loop332_test
-  loop332_handler:
-    .local pmc exception 
-    .get_results (exception) 
-    getattribute $P334, exception, 'type'
-    eq $P334, 64, loop332_next
-    eq $P334, 66, loop332_redo
-  loop332_done:
-    pop_eh 
-  for_undef_92:
-.annotate 'line', 142
-    find_lex $P336, "$lastlit"
-    set $S337, $P336
-    isgt $I338, $S337, ""
-    unless $I338, if_335_end
-    find_lex $P339, "@parts"
-    find_lex $P340, "$lastlit"
-    $P339."push"($P340)
-  if_335_end:
-.annotate 'line', 143
-    find_lex $P343, "@parts"
-    if $P343, if_342
-    new $P346, "String"
-    assign $P346, ""
-    set $P341, $P346
-    goto if_342_end
-  if_342:
-    find_lex $P344, "@parts"
-    $P345 = $P344."shift"()
-    set $P341, $P345
-  if_342_end:
-    store_lex "$past", $P341
-.annotate 'line', 144
-    new $P354, 'ExceptionHandler'
-    set_addr $P354, loop353_handler
-    $P354."handle_types"(64, 66, 65)
-    push_eh $P354
-  loop353_test:
-    find_lex $P347, "@parts"
-    unless $P347, loop353_done
-  loop353_redo:
-.annotate 'line', 145
-    get_hll_global $P348, ["PAST"], "Op"
-    find_lex $P349, "$past"
-    find_lex $P350, "@parts"
-    $P351 = $P350."shift"()
-    $P352 = $P348."new"($P349, $P351, "concat" :named("pirop"))
-    store_lex "$past", $P352
-  loop353_next:
-.annotate 'line', 144
-    goto loop353_test
-  loop353_handler:
-    .local pmc exception 
-    .get_results (exception) 
-    getattribute $P355, exception, 'type'
-    eq $P355, 64, loop353_next
-    eq $P355, 66, loop353_redo
-  loop353_done:
-    pop_eh 
-.annotate 'line', 147
-    find_lex $P356, "$/"
-    find_lex $P357, "$past"
-    $P358 = $P356."!make"($P357)
-.annotate 'line', 125
-    .return ($P358)
-  control_286:
+    .lex "$/", param_243
+    find_lex $P244, "$/"
+    find_lex $P245, "$/"
+    $P246 = "string_to_int"($P245, 16)
+    $P247 = $P244."!make"($P246)
+    .return ($P247)
+  control_241:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P359, exception, "payload"
-    .return ($P359)
+    getattribute $P248, exception, "payload"
+    .return ($P248)
 .end
 
 
 .namespace ["HLL";"Actions"]
-.sub "_block299"  :anon :subid("31_1274800446.28548") :outer("30_1274800446.28548")
-    .param pmc param_302
-.annotate 'line', 129
-    new $P301, "Undef"
-    .lex "$ast", $P301
-    .lex "$_", param_302
-    find_lex $P303, "$_"
-    $P304 = $P303."ast"()
-    store_lex "$ast", $P304
-.annotate 'line', 130
-    get_hll_global $P307, ["PAST"], "Node"
-    find_lex $P308, "$ast"
-    $P309 = $P307."ACCEPTS"($P308)
-    isfalse $I310, $P309
-    if $I310, if_306
-.annotate 'line', 133
-    find_lex $P316, "$ast"
-    get_hll_global $P317, ["PAST"], "Val"
-    $P318 = $P316."isa"($P317)
-    if $P318, if_315
-.annotate 'line', 137
-    find_lex $P324, "$lastlit"
-    set $S325, $P324
-    isgt $I326, $S325, ""
-    unless $I326, if_323_end
-    find_lex $P327, "@parts"
-    find_lex $P328, "$lastlit"
-    $P327."push"($P328)
-  if_323_end:
-.annotate 'line', 138
-    find_lex $P329, "@parts"
-    find_lex $P330, "$ast"
-    $P329."push"($P330)
-.annotate 'line', 139
-    new $P331, "String"
-    assign $P331, ""
-    store_lex "$lastlit", $P331
-.annotate 'line', 136
-    set $P314, $P331
-.annotate 'line', 133
-    goto if_315_end
-  if_315:
-.annotate 'line', 134
-    find_lex $P319, "$lastlit"
-    find_lex $P320, "$ast"
-    $S321 = $P320."value"()
-    concat $P322, $P319, $S321
-    store_lex "$lastlit", $P322
-.annotate 'line', 133
-    set $P314, $P322
-  if_315_end:
-    set $P305, $P314
-.annotate 'line', 130
-    goto if_306_end
-  if_306:
-.annotate 'line', 131
-    find_lex $P311, "$lastlit"
-    find_lex $P312, "$ast"
-    concat $P313, $P311, $P312
-    store_lex "$lastlit", $P313
-.annotate 'line', 130
-    set $P305, $P313
-  if_306_end:
-.annotate 'line', 128
-    .return ($P305)
+.sub "octint"  :subid("29_1274853024.15996") :method :outer("11_1274853024.15996")
+    .param pmc param_252
+.annotate 'line', 126
+    new $P251, 'ExceptionHandler'
+    set_addr $P251, control_250
+    $P251."handle_types"(57)
+    push_eh $P251
+    .lex "self", self
+    .lex "$/", param_252
+    find_lex $P253, "$/"
+    find_lex $P254, "$/"
+    $P255 = "string_to_int"($P254, 8)
+    $P256 = $P253."!make"($P255)
+    .return ($P256)
+  control_250:
+    .local pmc exception 
+    .get_results (exception) 
+    getattribute $P257, exception, "payload"
+    .return ($P257)
 .end
 
 
 .namespace ["HLL";"Actions"]
-.sub "quote_atom"  :subid("32_1274800446.28548") :method :outer("11_1274800446.28548")
-    .param pmc param_363
-.annotate 'line', 150
-    new $P362, 'ExceptionHandler'
-    set_addr $P362, control_361
-    $P362."handle_types"(57)
-    push_eh $P362
+.sub "binint"  :subid("30_1274853024.15996") :method :outer("11_1274853024.15996")
+    .param pmc param_261
+.annotate 'line', 127
+    new $P260, 'ExceptionHandler'
+    set_addr $P260, control_259
+    $P260."handle_types"(57)
+    push_eh $P260
     .lex "self", self
-    .lex "$/", param_363
-.annotate 'line', 151
-    find_lex $P364, "$/"
-    find_lex $P367, "$/"
-    unless_null $P367, vivify_93
-    $P367 = root_new ['parrot';'Hash']
-  vivify_93:
-    set $P368, $P367["quote_escape"]
-    unless_null $P368, vivify_94
-    new $P368, "Undef"
-  vivify_94:
-    if $P368, if_366
-    find_lex $P372, "$/"
-    set $S373, $P372
-    new $P365, 'String'
-    set $P365, $S373
-    goto if_366_end
-  if_366:
-    find_lex $P369, "$/"
-    unless_null $P369, vivify_95
-    $P369 = root_new ['parrot';'Hash']
-  vivify_95:
-    set $P370, $P369["quote_escape"]
-    unless_null $P370, vivify_96
-    new $P370, "Undef"
-  vivify_96:
-    $P371 = $P370."ast"()
-    set $P365, $P371
-  if_366_end:
-    $P374 = $P364."!make"($P365)
-.annotate 'line', 150
-    .return ($P374)
-  control_361:
+    .lex "$/", param_261
+    find_lex $P262, "$/"
+    find_lex $P263, "$/"
+    $P264 = "string_to_int"($P263, 2)
+    $P265 = $P262."!make"($P264)
+    .return ($P265)
+  control_259:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P375, exception, "payload"
-    .return ($P375)
+    getattribute $P266, exception, "payload"
+    .return ($P266)
 .end
 
 
 .namespace ["HLL";"Actions"]
-.sub "quote_escape:sym<backslash>"  :subid("33_1274800446.28548") :method :outer("11_1274800446.28548")
-    .param pmc param_379
-.annotate 'line', 154
-    new $P378, 'ExceptionHandler'
-    set_addr $P378, control_377
-    $P378."handle_types"(57)
-    push_eh $P378
+.sub "quote_EXPR"  :subid("31_1274853024.15996") :method :outer("11_1274853024.15996")
+    .param pmc param_270
+.annotate 'line', 129
+    .const 'Sub' $P286 = "32_1274853024.15996" 
+    capture_lex $P286
+    new $P269, 'ExceptionHandler'
+    set_addr $P269, control_268
+    $P269."handle_types"(57)
+    push_eh $P269
     .lex "self", self
-    .lex "$/", param_379
-    find_lex $P380, "$/"
-    $P381 = $P380."!make"("\\")
-    .return ($P381)
-  control_377:
+    .lex "$/", param_270
+.annotate 'line', 130
+    new $P271, "Undef"
+    .lex "$past", $P271
+    find_lex $P272, "$/"
+    unless_null $P272, vivify_94
+    $P272 = root_new ['parrot';'Hash']
+  vivify_94:
+    set $P273, $P272["quote_delimited"]
+    unless_null $P273, vivify_95
+    new $P273, "Undef"
+  vivify_95:
+    $P274 = $P273."ast"()
+    store_lex "$past", $P274
+.annotate 'line', 131
+    find_lex $P276, "$/"
+    $P277 = $P276."CURSOR"()
+    $P278 = $P277."quotemod_check"("w")
+    unless $P278, if_275_end
+.annotate 'line', 132
+    get_hll_global $P280, ["PAST"], "Node"
+    find_lex $P281, "$past"
+    $P282 = $P280."ACCEPTS"($P281)
+    if $P282, if_279
+.annotate 'line', 135
+    .const 'Sub' $P286 = "32_1274853024.15996" 
+    capture_lex $P286
+    $P286()
+    goto if_279_end
+  if_279:
+.annotate 'line', 133
+    find_lex $P283, "$/"
+    $P284 = $P283."CURSOR"()
+    $P284."panic"("Can't form :w list from non-constant strings (yet)")
+  if_279_end:
+  if_275_end:
+.annotate 'line', 146
+    get_hll_global $P318, ["PAST"], "Node"
+    find_lex $P319, "$past"
+    $P320 = $P318."ACCEPTS"($P319)
+    isfalse $I321, $P320
+    unless $I321, if_317_end
+.annotate 'line', 147
+    get_hll_global $P322, ["PAST"], "Val"
+    find_lex $P323, "$past"
+    set $S324, $P323
+    $P325 = $P322."new"($S324 :named("value"))
+    store_lex "$past", $P325
+  if_317_end:
+.annotate 'line', 149
+    find_lex $P326, "$/"
+    find_lex $P327, "$past"
+    $P328 = $P326."!make"($P327)
+.annotate 'line', 129
+    .return ($P328)
+  control_268:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P382, exception, "payload"
-    .return ($P382)
+    getattribute $P329, exception, "payload"
+    .return ($P329)
 .end
 
 
 .namespace ["HLL";"Actions"]
-.sub "quote_escape:sym<stopper>"  :subid("34_1274800446.28548") :method :outer("11_1274800446.28548")
-    .param pmc param_386
-.annotate 'line', 155
-    new $P385, 'ExceptionHandler'
-    set_addr $P385, control_384
-    $P385."handle_types"(57)
-    push_eh $P385
-    .lex "self", self
-    .lex "$/", param_386
-    find_lex $P387, "$/"
-    find_lex $P388, "$/"
-    unless_null $P388, vivify_97
-    $P388 = root_new ['parrot';'Hash']
+.sub "_block285"  :anon :subid("32_1274853024.15996") :outer("31_1274853024.15996")
+.annotate 'line', 135
+    .const 'Sub' $P305 = "33_1274853024.15996" 
+    capture_lex $P305
+.annotate 'line', 136
+    $P287 = root_new ['parrot';'ResizablePMCArray']
+    .lex "@words", $P287
+    get_hll_global $P288, ["HLL";"Grammar"], "split_words"
+    find_lex $P289, "$/"
+    find_lex $P290, "$past"
+    $P291 = $P288($P289, $P290)
+    store_lex "@words", $P291
+.annotate 'line', 137
+    find_lex $P294, "@words"
+    set $N295, $P294
+    isgt $I296, $N295, 1.0
+    if $I296, if_293
+.annotate 'line', 142
+    find_lex $P313, "@words"
+    unless_null $P313, vivify_96
+    $P313 = root_new ['parrot';'ResizablePMCArray']
+  vivify_96:
+    set $P314, $P313[0]
+    unless_null $P314, vivify_97
+    new $P314, "Undef"
   vivify_97:
-    set $P389, $P388["stopper"]
-    unless_null $P389, vivify_98
-    new $P389, "Undef"
-  vivify_98:
-    set $S390, $P389
-    $P391 = $P387."!make"($S390)
-    .return ($P391)
-  control_384:
-    .local pmc exception 
-    .get_results (exception) 
-    getattribute $P392, exception, "payload"
-    .return ($P392)
+    set $S315, $P314
+    new $P316, 'String'
+    set $P316, $S315
+    store_lex "$past", $P316
+.annotate 'line', 141
+    set $P292, $P316
+.annotate 'line', 137
+    goto if_293_end
+  if_293:
+.annotate 'line', 138
+    get_hll_global $P297, ["PAST"], "Op"
+    find_lex $P298, "$/"
+    $P299 = $P297."new"("list" :named("pasttype"), $P298 :named("node"))
+    store_lex "$past", $P299
+.annotate 'line', 139
+    find_lex $P301, "@words"
+    defined $I302, $P301
+    unless $I302, for_undef_98
+    iter $P300, $P301
+    new $P311, 'ExceptionHandler'
+    set_addr $P311, loop310_handler
+    $P311."handle_types"(64, 66, 65)
+    push_eh $P311
+  loop310_test:
+    unless $P300, loop310_done
+    shift $P303, $P300
+  loop310_redo:
+    .const 'Sub' $P305 = "33_1274853024.15996" 
+    capture_lex $P305
+    $P305($P303)
+  loop310_next:
+    goto loop310_test
+  loop310_handler:
+    .local pmc exception 
+    .get_results (exception) 
+    getattribute $P312, exception, 'type'
+    eq $P312, 64, loop310_next
+    eq $P312, 66, loop310_redo
+  loop310_done:
+    pop_eh 
+  for_undef_98:
+.annotate 'line', 137
+    set $P292, $P300
+  if_293_end:
+.annotate 'line', 135
+    .return ($P292)
 .end
 
 
 .namespace ["HLL";"Actions"]
-.sub "quote_escape:sym<bs>"  :subid("35_1274800446.28548") :method :outer("11_1274800446.28548")
-    .param pmc param_396
-.annotate 'line', 157
-    new $P395, 'ExceptionHandler'
-    set_addr $P395, control_394
-    $P395."handle_types"(57)
-    push_eh $P395
-    .lex "self", self
-    .lex "$/", param_396
-    find_lex $P397, "$/"
-    $P398 = $P397."!make"("\b")
-    .return ($P398)
-  control_394:
-    .local pmc exception 
-    .get_results (exception) 
-    getattribute $P399, exception, "payload"
-    .return ($P399)
+.sub "_block304"  :anon :subid("33_1274853024.15996") :outer("32_1274853024.15996")
+    .param pmc param_306
+.annotate 'line', 139
+    .lex "$_", param_306
+    find_lex $P307, "$past"
+    find_lex $P308, "$_"
+    $P309 = $P307."push"($P308)
+    .return ($P309)
 .end
 
 
 .namespace ["HLL";"Actions"]
-.sub "quote_escape:sym<nl>"  :subid("36_1274800446.28548") :method :outer("11_1274800446.28548")
-    .param pmc param_403
-.annotate 'line', 158
-    new $P402, 'ExceptionHandler'
-    set_addr $P402, control_401
-    $P402."handle_types"(57)
-    push_eh $P402
-    .lex "self", self
-    .lex "$/", param_403
-    find_lex $P404, "$/"
-    $P405 = $P404."!make"("\n")
-    .return ($P405)
-  control_401:
+.sub "quote_delimited"  :subid("34_1274853024.15996") :method :outer("11_1274853024.15996")
+    .param pmc param_333
+.annotate 'line', 152
+    .const 'Sub' $P345 = "35_1274853024.15996" 
+    capture_lex $P345
+    new $P332, 'ExceptionHandler'
+    set_addr $P332, control_331
+    $P332."handle_types"(57)
+    push_eh $P332
+    .lex "self", self
+    .lex "$/", param_333
+.annotate 'line', 153
+    $P334 = root_new ['parrot';'ResizablePMCArray']
+    .lex "@parts", $P334
+.annotate 'line', 154
+    new $P335, "Undef"
+    .lex "$lastlit", $P335
+.annotate 'line', 170
+    new $P336, "Undef"
+    .lex "$past", $P336
+.annotate 'line', 152
+    find_lex $P337, "@parts"
+.annotate 'line', 154
+    new $P338, "String"
+    assign $P338, ""
+    store_lex "$lastlit", $P338
+.annotate 'line', 155
+    find_lex $P340, "$/"
+    unless_null $P340, vivify_99
+    $P340 = root_new ['parrot';'Hash']
+  vivify_99:
+    set $P341, $P340["quote_atom"]
+    unless_null $P341, vivify_100
+    new $P341, "Undef"
+  vivify_100:
+    defined $I342, $P341
+    unless $I342, for_undef_101
+    iter $P339, $P341
+    new $P378, 'ExceptionHandler'
+    set_addr $P378, loop377_handler
+    $P378."handle_types"(64, 66, 65)
+    push_eh $P378
+  loop377_test:
+    unless $P339, loop377_done
+    shift $P343, $P339
+  loop377_redo:
+    .const 'Sub' $P345 = "35_1274853024.15996" 
+    capture_lex $P345
+    $P345($P343)
+  loop377_next:
+    goto loop377_test
+  loop377_handler:
+    .local pmc exception 
+    .get_results (exception) 
+    getattribute $P379, exception, 'type'
+    eq $P379, 64, loop377_next
+    eq $P379, 66, loop377_redo
+  loop377_done:
+    pop_eh 
+  for_undef_101:
+.annotate 'line', 169
+    find_lex $P381, "$lastlit"
+    set $S382, $P381
+    isgt $I383, $S382, ""
+    unless $I383, if_380_end
+    find_lex $P384, "@parts"
+    find_lex $P385, "$lastlit"
+    $P384."push"($P385)
+  if_380_end:
+.annotate 'line', 170
+    find_lex $P388, "@parts"
+    if $P388, if_387
+    new $P391, "String"
+    assign $P391, ""
+    set $P386, $P391
+    goto if_387_end
+  if_387:
+    find_lex $P389, "@parts"
+    $P390 = $P389."shift"()
+    set $P386, $P390
+  if_387_end:
+    store_lex "$past", $P386
+.annotate 'line', 171
+    new $P399, 'ExceptionHandler'
+    set_addr $P399, loop398_handler
+    $P399."handle_types"(64, 66, 65)
+    push_eh $P399
+  loop398_test:
+    find_lex $P392, "@parts"
+    unless $P392, loop398_done
+  loop398_redo:
+.annotate 'line', 172
+    get_hll_global $P393, ["PAST"], "Op"
+    find_lex $P394, "$past"
+    find_lex $P395, "@parts"
+    $P396 = $P395."shift"()
+    $P397 = $P393."new"($P394, $P396, "concat" :named("pirop"))
+    store_lex "$past", $P397
+  loop398_next:
+.annotate 'line', 171
+    goto loop398_test
+  loop398_handler:
+    .local pmc exception 
+    .get_results (exception) 
+    getattribute $P400, exception, 'type'
+    eq $P400, 64, loop398_next
+    eq $P400, 66, loop398_redo
+  loop398_done:
+    pop_eh 
+.annotate 'line', 174
+    find_lex $P401, "$/"
+    find_lex $P402, "$past"
+    $P403 = $P401."!make"($P402)
+.annotate 'line', 152
+    .return ($P403)
+  control_331:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P406, exception, "payload"
-    .return ($P406)
+    getattribute $P404, exception, "payload"
+    .return ($P404)
 .end
 
 
 .namespace ["HLL";"Actions"]
-.sub "quote_escape:sym<cr>"  :subid("37_1274800446.28548") :method :outer("11_1274800446.28548")
-    .param pmc param_410
-.annotate 'line', 159
-    new $P409, 'ExceptionHandler'
-    set_addr $P409, control_408
-    $P409."handle_types"(57)
-    push_eh $P409
-    .lex "self", self
-    .lex "$/", param_410
-    find_lex $P411, "$/"
-    $P412 = $P411."!make"("\r")
-    .return ($P412)
-  control_408:
-    .local pmc exception 
-    .get_results (exception) 
-    getattribute $P413, exception, "payload"
-    .return ($P413)
+.sub "_block344"  :anon :subid("35_1274853024.15996") :outer("34_1274853024.15996")
+    .param pmc param_347
+.annotate 'line', 156
+    new $P346, "Undef"
+    .lex "$ast", $P346
+    .lex "$_", param_347
+    find_lex $P348, "$_"
+    $P349 = $P348."ast"()
+    store_lex "$ast", $P349
+.annotate 'line', 157
+    get_hll_global $P352, ["PAST"], "Node"
+    find_lex $P353, "$ast"
+    $P354 = $P352."ACCEPTS"($P353)
+    isfalse $I355, $P354
+    if $I355, if_351
+.annotate 'line', 160
+    find_lex $P361, "$ast"
+    get_hll_global $P362, ["PAST"], "Val"
+    $P363 = $P361."isa"($P362)
+    if $P363, if_360
+.annotate 'line', 164
+    find_lex $P369, "$lastlit"
+    set $S370, $P369
+    isgt $I371, $S370, ""
+    unless $I371, if_368_end
+    find_lex $P372, "@parts"
+    find_lex $P373, "$lastlit"
+    $P372."push"($P373)
+  if_368_end:
+.annotate 'line', 165
+    find_lex $P374, "@parts"
+    find_lex $P375, "$ast"
+    $P374."push"($P375)
+.annotate 'line', 166
+    new $P376, "String"
+    assign $P376, ""
+    store_lex "$lastlit", $P376
+.annotate 'line', 163
+    set $P359, $P376
+.annotate 'line', 160
+    goto if_360_end
+  if_360:
+.annotate 'line', 161
+    find_lex $P364, "$lastlit"
+    find_lex $P365, "$ast"
+    $S366 = $P365."value"()
+    concat $P367, $P364, $S366
+    store_lex "$lastlit", $P367
+.annotate 'line', 160
+    set $P359, $P367
+  if_360_end:
+    set $P350, $P359
+.annotate 'line', 157
+    goto if_351_end
+  if_351:
+.annotate 'line', 158
+    find_lex $P356, "$lastlit"
+    find_lex $P357, "$ast"
+    concat $P358, $P356, $P357
+    store_lex "$lastlit", $P358
+.annotate 'line', 157
+    set $P350, $P358
+  if_351_end:
+.annotate 'line', 155
+    .return ($P350)
 .end
 
 
 .namespace ["HLL";"Actions"]
-.sub "quote_escape:sym<tab>"  :subid("38_1274800446.28548") :method :outer("11_1274800446.28548")
-    .param pmc param_417
-.annotate 'line', 160
-    new $P416, 'ExceptionHandler'
-    set_addr $P416, control_415
-    $P416."handle_types"(57)
-    push_eh $P416
-    .lex "self", self
-    .lex "$/", param_417
-    find_lex $P418, "$/"
-    $P419 = $P418."!make"("\t")
+.sub "quote_atom"  :subid("36_1274853024.15996") :method :outer("11_1274853024.15996")
+    .param pmc param_408
+.annotate 'line', 177
+    new $P407, 'ExceptionHandler'
+    set_addr $P407, control_406
+    $P407."handle_types"(57)
+    push_eh $P407
+    .lex "self", self
+    .lex "$/", param_408
+.annotate 'line', 178
+    find_lex $P409, "$/"
+    find_lex $P412, "$/"
+    unless_null $P412, vivify_102
+    $P412 = root_new ['parrot';'Hash']
+  vivify_102:
+    set $P413, $P412["quote_escape"]
+    unless_null $P413, vivify_103
+    new $P413, "Undef"
+  vivify_103:
+    if $P413, if_411
+    find_lex $P417, "$/"
+    set $S418, $P417
+    new $P410, 'String'
+    set $P410, $S418
+    goto if_411_end
+  if_411:
+    find_lex $P414, "$/"
+    unless_null $P414, vivify_104
+    $P414 = root_new ['parrot';'Hash']
+  vivify_104:
+    set $P415, $P414["quote_escape"]
+    unless_null $P415, vivify_105
+    new $P415, "Undef"
+  vivify_105:
+    $P416 = $P415."ast"()
+    set $P410, $P416
+  if_411_end:
+    $P419 = $P409."!make"($P410)
+.annotate 'line', 177
     .return ($P419)
-  control_415:
+  control_406:
     .local pmc exception 
     .get_results (exception) 
     getattribute $P420, exception, "payload"
@@ -5998,9 +6091,9 @@
 
 
 .namespace ["HLL";"Actions"]
-.sub "quote_escape:sym<ff>"  :subid("39_1274800446.28548") :method :outer("11_1274800446.28548")
+.sub "quote_escape:sym<backslash>"  :subid("37_1274853024.15996") :method :outer("11_1274853024.15996")
     .param pmc param_424
-.annotate 'line', 161
+.annotate 'line', 181
     new $P423, 'ExceptionHandler'
     set_addr $P423, control_422
     $P423."handle_types"(57)
@@ -6008,7 +6101,7 @@
     .lex "self", self
     .lex "$/", param_424
     find_lex $P425, "$/"
-    $P426 = $P425."!make"("\f")
+    $P426 = $P425."!make"("\\")
     .return ($P426)
   control_422:
     .local pmc exception 
@@ -6019,537 +6112,681 @@
 
 
 .namespace ["HLL";"Actions"]
-.sub "quote_escape:sym<hex>"  :subid("40_1274800446.28548") :method :outer("11_1274800446.28548")
+.sub "quote_escape:sym<stopper>"  :subid("38_1274853024.15996") :method :outer("11_1274853024.15996")
     .param pmc param_431
-.annotate 'line', 163
+.annotate 'line', 182
     new $P430, 'ExceptionHandler'
     set_addr $P430, control_429
     $P430."handle_types"(57)
     push_eh $P430
     .lex "self", self
     .lex "$/", param_431
-.annotate 'line', 164
     find_lex $P432, "$/"
-    find_lex $P435, "$/"
-    unless_null $P435, vivify_99
-    $P435 = root_new ['parrot';'Hash']
-  vivify_99:
-    set $P436, $P435["hexint"]
-    unless_null $P436, vivify_100
-    new $P436, "Undef"
-  vivify_100:
-    if $P436, if_434
-    find_lex $P439, "$/"
-    unless_null $P439, vivify_101
-    $P439 = root_new ['parrot';'Hash']
-  vivify_101:
-    set $P440, $P439["hexints"]
-    unless_null $P440, vivify_102
-    $P440 = root_new ['parrot';'Hash']
-  vivify_102:
-    set $P441, $P440["hexint"]
-    unless_null $P441, vivify_103
-    new $P441, "Undef"
-  vivify_103:
-    set $P433, $P441
-    goto if_434_end
-  if_434:
-    find_lex $P437, "$/"
-    unless_null $P437, vivify_104
-    $P437 = root_new ['parrot';'Hash']
-  vivify_104:
-    set $P438, $P437["hexint"]
-    unless_null $P438, vivify_105
-    new $P438, "Undef"
-  vivify_105:
-    set $P433, $P438
-  if_434_end:
-    $P442 = "ints_to_string"($P433)
-    $P443 = $P432."!make"($P442)
-.annotate 'line', 163
-    .return ($P443)
+    find_lex $P433, "$/"
+    unless_null $P433, vivify_106
+    $P433 = root_new ['parrot';'Hash']
+  vivify_106:
+    set $P434, $P433["stopper"]
+    unless_null $P434, vivify_107
+    new $P434, "Undef"
+  vivify_107:
+    set $S435, $P434
+    $P436 = $P432."!make"($S435)
+    .return ($P436)
   control_429:
     .local pmc exception 
     .get_results (exception) 
+    getattribute $P437, exception, "payload"
+    .return ($P437)
+.end
+
+
+.namespace ["HLL";"Actions"]
+.sub "quote_escape:sym<bs>"  :subid("39_1274853024.15996") :method :outer("11_1274853024.15996")
+    .param pmc param_441
+.annotate 'line', 184
+    new $P440, 'ExceptionHandler'
+    set_addr $P440, control_439
+    $P440."handle_types"(57)
+    push_eh $P440
+    .lex "self", self
+    .lex "$/", param_441
+    find_lex $P442, "$/"
+    $P443 = $P442."!make"("\b")
+    .return ($P443)
+  control_439:
+    .local pmc exception 
+    .get_results (exception) 
     getattribute $P444, exception, "payload"
     .return ($P444)
 .end
 
 
 .namespace ["HLL";"Actions"]
-.sub "quote_escape:sym<oct>"  :subid("41_1274800446.28548") :method :outer("11_1274800446.28548")
+.sub "quote_escape:sym<nl>"  :subid("40_1274853024.15996") :method :outer("11_1274853024.15996")
     .param pmc param_448
-.annotate 'line', 167
+.annotate 'line', 185
     new $P447, 'ExceptionHandler'
     set_addr $P447, control_446
     $P447."handle_types"(57)
     push_eh $P447
     .lex "self", self
     .lex "$/", param_448
-.annotate 'line', 168
     find_lex $P449, "$/"
-    find_lex $P452, "$/"
-    unless_null $P452, vivify_106
-    $P452 = root_new ['parrot';'Hash']
-  vivify_106:
-    set $P453, $P452["octint"]
-    unless_null $P453, vivify_107
-    new $P453, "Undef"
-  vivify_107:
-    if $P453, if_451
-    find_lex $P456, "$/"
-    unless_null $P456, vivify_108
-    $P456 = root_new ['parrot';'Hash']
-  vivify_108:
-    set $P457, $P456["octints"]
-    unless_null $P457, vivify_109
-    $P457 = root_new ['parrot';'Hash']
-  vivify_109:
-    set $P458, $P457["octint"]
-    unless_null $P458, vivify_110
-    new $P458, "Undef"
-  vivify_110:
-    set $P450, $P458
-    goto if_451_end
-  if_451:
-    find_lex $P454, "$/"
-    unless_null $P454, vivify_111
-    $P454 = root_new ['parrot';'Hash']
-  vivify_111:
-    set $P455, $P454["octint"]
-    unless_null $P455, vivify_112
-    new $P455, "Undef"
-  vivify_112:
-    set $P450, $P455
-  if_451_end:
-    $P459 = "ints_to_string"($P450)
-    $P460 = $P449."!make"($P459)
-.annotate 'line', 167
-    .return ($P460)
+    $P450 = $P449."!make"("\n")
+    .return ($P450)
   control_446:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P461, exception, "payload"
-    .return ($P461)
+    getattribute $P451, exception, "payload"
+    .return ($P451)
 .end
 
 
 .namespace ["HLL";"Actions"]
-.sub "quote_escape:sym<chr>"  :subid("42_1274800446.28548") :method :outer("11_1274800446.28548")
-    .param pmc param_465
-.annotate 'line', 171
-    new $P464, 'ExceptionHandler'
-    set_addr $P464, control_463
-    $P464."handle_types"(57)
-    push_eh $P464
+.sub "quote_escape:sym<cr>"  :subid("41_1274853024.15996") :method :outer("11_1274853024.15996")
+    .param pmc param_455
+.annotate 'line', 186
+    new $P454, 'ExceptionHandler'
+    set_addr $P454, control_453
+    $P454."handle_types"(57)
+    push_eh $P454
     .lex "self", self
-    .lex "$/", param_465
-.annotate 'line', 172
-    find_lex $P466, "$/"
-    find_lex $P467, "$/"
-    unless_null $P467, vivify_113
-    $P467 = root_new ['parrot';'Hash']
-  vivify_113:
-    set $P468, $P467["charspec"]
-    unless_null $P468, vivify_114
-    new $P468, "Undef"
-  vivify_114:
-    $P469 = $P468."ast"()
-    $P470 = $P466."!make"($P469)
-.annotate 'line', 171
-    .return ($P470)
-  control_463:
+    .lex "$/", param_455
+    find_lex $P456, "$/"
+    $P457 = $P456."!make"("\r")
+    .return ($P457)
+  control_453:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P471, exception, "payload"
+    getattribute $P458, exception, "payload"
+    .return ($P458)
+.end
+
+
+.namespace ["HLL";"Actions"]
+.sub "quote_escape:sym<tab>"  :subid("42_1274853024.15996") :method :outer("11_1274853024.15996")
+    .param pmc param_462
+.annotate 'line', 187
+    new $P461, 'ExceptionHandler'
+    set_addr $P461, control_460
+    $P461."handle_types"(57)
+    push_eh $P461
+    .lex "self", self
+    .lex "$/", param_462
+    find_lex $P463, "$/"
+    $P464 = $P463."!make"("\t")
+    .return ($P464)
+  control_460:
+    .local pmc exception 
+    .get_results (exception) 
+    getattribute $P465, exception, "payload"
+    .return ($P465)
+.end
+
+
+.namespace ["HLL";"Actions"]
+.sub "quote_escape:sym<ff>"  :subid("43_1274853024.15996") :method :outer("11_1274853024.15996")
+    .param pmc param_469
+.annotate 'line', 188
+    new $P468, 'ExceptionHandler'
+    set_addr $P468, control_467
+    $P468."handle_types"(57)
+    push_eh $P468
+    .lex "self", self
+    .lex "$/", param_469
+    find_lex $P470, "$/"
+    $P471 = $P470."!make"("\f")
     .return ($P471)
+  control_467:
+    .local pmc exception 
+    .get_results (exception) 
+    getattribute $P472, exception, "payload"
+    .return ($P472)
 .end
 
 
 .namespace ["HLL";"Actions"]
-.sub "quote_escape:sym<0>"  :subid("43_1274800446.28548") :method :outer("11_1274800446.28548")
-    .param pmc param_475
-.annotate 'line', 175
-    new $P474, 'ExceptionHandler'
-    set_addr $P474, control_473
-    $P474."handle_types"(57)
-    push_eh $P474
-    .lex "self", self
-    .lex "$/", param_475
-.annotate 'line', 176
-    find_lex $P476, "$/"
-    $P477 = $P476."!make"(unicode:"\x{0}")
-.annotate 'line', 175
-    .return ($P477)
-  control_473:
-    .local pmc exception 
-    .get_results (exception) 
-    getattribute $P478, exception, "payload"
-    .return ($P478)
+.sub "quote_escape:sym<hex>"  :subid("44_1274853024.15996") :method :outer("11_1274853024.15996")
+    .param pmc param_476
+.annotate 'line', 190
+    new $P475, 'ExceptionHandler'
+    set_addr $P475, control_474
+    $P475."handle_types"(57)
+    push_eh $P475
+    .lex "self", self
+    .lex "$/", param_476
+.annotate 'line', 191
+    find_lex $P477, "$/"
+    find_lex $P480, "$/"
+    unless_null $P480, vivify_108
+    $P480 = root_new ['parrot';'Hash']
+  vivify_108:
+    set $P481, $P480["hexint"]
+    unless_null $P481, vivify_109
+    new $P481, "Undef"
+  vivify_109:
+    if $P481, if_479
+    find_lex $P484, "$/"
+    unless_null $P484, vivify_110
+    $P484 = root_new ['parrot';'Hash']
+  vivify_110:
+    set $P485, $P484["hexints"]
+    unless_null $P485, vivify_111
+    $P485 = root_new ['parrot';'Hash']
+  vivify_111:
+    set $P486, $P485["hexint"]
+    unless_null $P486, vivify_112
+    new $P486, "Undef"
+  vivify_112:
+    set $P478, $P486
+    goto if_479_end
+  if_479:
+    find_lex $P482, "$/"
+    unless_null $P482, vivify_113
+    $P482 = root_new ['parrot';'Hash']
+  vivify_113:
+    set $P483, $P482["hexint"]
+    unless_null $P483, vivify_114
+    new $P483, "Undef"
+  vivify_114:
+    set $P478, $P483
+  if_479_end:
+    $P487 = "ints_to_string"($P478)
+    $P488 = $P477."!make"($P487)
+.annotate 'line', 190
+    .return ($P488)
+  control_474:
+    .local pmc exception 
+    .get_results (exception) 
+    getattribute $P489, exception, "payload"
+    .return ($P489)
 .end
 
 
 .namespace ["HLL";"Actions"]
-.sub "quote_escape:sym<misc>"  :subid("44_1274800446.28548") :method :outer("11_1274800446.28548")
-    .param pmc param_482
-.annotate 'line', 179
-    new $P481, 'ExceptionHandler'
-    set_addr $P481, control_480
-    $P481."handle_types"(57)
-    push_eh $P481
-    .lex "self", self
-    .lex "$/", param_482
-.annotate 'line', 180
-    find_lex $P483, "$/"
-    find_lex $P486, "$/"
-    unless_null $P486, vivify_115
-    $P486 = root_new ['parrot';'Hash']
+.sub "quote_escape:sym<oct>"  :subid("45_1274853024.15996") :method :outer("11_1274853024.15996")
+    .param pmc param_493
+.annotate 'line', 194
+    new $P492, 'ExceptionHandler'
+    set_addr $P492, control_491
+    $P492."handle_types"(57)
+    push_eh $P492
+    .lex "self", self
+    .lex "$/", param_493
+.annotate 'line', 195
+    find_lex $P494, "$/"
+    find_lex $P497, "$/"
+    unless_null $P497, vivify_115
+    $P497 = root_new ['parrot';'Hash']
   vivify_115:
-    set $P487, $P486["textq"]
-    unless_null $P487, vivify_116
-    new $P487, "Undef"
+    set $P498, $P497["octint"]
+    unless_null $P498, vivify_116
+    new $P498, "Undef"
   vivify_116:
-    if $P487, if_485
-    find_lex $P493, "$/"
-    unless_null $P493, vivify_117
-    $P493 = root_new ['parrot';'Hash']
+    if $P498, if_496
+    find_lex $P501, "$/"
+    unless_null $P501, vivify_117
+    $P501 = root_new ['parrot';'Hash']
   vivify_117:
-    set $P494, $P493["textqq"]
-    unless_null $P494, vivify_118
-    new $P494, "Undef"
+    set $P502, $P501["octints"]
+    unless_null $P502, vivify_118
+    $P502 = root_new ['parrot';'Hash']
   vivify_118:
-    $P495 = $P494."Str"()
-    set $P484, $P495
-    goto if_485_end
-  if_485:
-    new $P488, "String"
-    assign $P488, "\\"
-    find_lex $P489, "$/"
-    unless_null $P489, vivify_119
-    $P489 = root_new ['parrot';'Hash']
+    set $P503, $P502["octint"]
+    unless_null $P503, vivify_119
+    new $P503, "Undef"
   vivify_119:
-    set $P490, $P489["textq"]
-    unless_null $P490, vivify_120
-    new $P490, "Undef"
+    set $P495, $P503
+    goto if_496_end
+  if_496:
+    find_lex $P499, "$/"
+    unless_null $P499, vivify_120
+    $P499 = root_new ['parrot';'Hash']
   vivify_120:
-    $S491 = $P490."Str"()
-    concat $P492, $P488, $S491
-    set $P484, $P492
-  if_485_end:
-    $P496 = $P483."!make"($P484)
-.annotate 'line', 179
-    .return ($P496)
-  control_480:
+    set $P500, $P499["octint"]
+    unless_null $P500, vivify_121
+    new $P500, "Undef"
+  vivify_121:
+    set $P495, $P500
+  if_496_end:
+    $P504 = "ints_to_string"($P495)
+    $P505 = $P494."!make"($P504)
+.annotate 'line', 194
+    .return ($P505)
+  control_491:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P497, exception, "payload"
-    .return ($P497)
+    getattribute $P506, exception, "payload"
+    .return ($P506)
 .end
 
 
 .namespace ["HLL";"Actions"]
-.sub "charname"  :subid("45_1274800446.28548") :method :outer("11_1274800446.28548")
-    .param pmc param_501
-.annotate 'line', 183
-    new $P500, 'ExceptionHandler'
-    set_addr $P500, control_499
-    $P500."handle_types"(57)
-    push_eh $P500
+.sub "quote_escape:sym<chr>"  :subid("46_1274853024.15996") :method :outer("11_1274853024.15996")
+    .param pmc param_510
+.annotate 'line', 198
+    new $P509, 'ExceptionHandler'
+    set_addr $P509, control_508
+    $P509."handle_types"(57)
+    push_eh $P509
     .lex "self", self
-    .lex "$/", param_501
-.annotate 'line', 184
-    new $P502, "Undef"
-    .lex "$codepoint", $P502
-.annotate 'line', 185
-    find_lex $P505, "$/"
-    unless_null $P505, vivify_121
-    $P505 = root_new ['parrot';'Hash']
-  vivify_121:
-    set $P506, $P505["integer"]
-    unless_null $P506, vivify_122
-    new $P506, "Undef"
+    .lex "$/", param_510
+.annotate 'line', 199
+    find_lex $P511, "$/"
+    find_lex $P512, "$/"
+    unless_null $P512, vivify_122
+    $P512 = root_new ['parrot';'Hash']
   vivify_122:
-    if $P506, if_504
-.annotate 'line', 186
-    find_lex $P510, "$/"
-    set $S511, $P510
-    find_codepoint $I512, $S511
-    new $P503, 'Integer'
-    set $P503, $I512
-.annotate 'line', 185
-    goto if_504_end
-  if_504:
-    find_lex $P507, "$/"
-    unless_null $P507, vivify_123
-    $P507 = root_new ['parrot';'Hash']
+    set $P513, $P512["charspec"]
+    unless_null $P513, vivify_123
+    new $P513, "Undef"
   vivify_123:
-    set $P508, $P507["integer"]
-    unless_null $P508, vivify_124
-    new $P508, "Undef"
-  vivify_124:
-    $P509 = $P508."ast"()
-    set $P503, $P509
-  if_504_end:
-    store_lex "$codepoint", $P503
-.annotate 'line', 187
-    find_lex $P514, "$codepoint"
-    set $N515, $P514
-    islt $I516, $N515, 0.0
-    unless $I516, if_513_end
-    find_lex $P517, "$/"
-    $P518 = $P517."CURSOR"()
-    new $P519, 'String'
-    set $P519, "Unrecognized character name "
-    find_lex $P520, "$/"
-    concat $P521, $P519, $P520
-    $P518."panic"($P521)
-  if_513_end:
-.annotate 'line', 188
-    find_lex $P522, "$/"
-    find_lex $P523, "$codepoint"
-    set $I524, $P523
-    chr $S525, $I524
-    $P526 = $P522."!make"($S525)
-.annotate 'line', 183
-    .return ($P526)
-  control_499:
+    $P514 = $P513."ast"()
+    $P515 = $P511."!make"($P514)
+.annotate 'line', 198
+    .return ($P515)
+  control_508:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P527, exception, "payload"
-    .return ($P527)
+    getattribute $P516, exception, "payload"
+    .return ($P516)
 .end
 
 
 .namespace ["HLL";"Actions"]
-.sub "charnames"  :subid("46_1274800446.28548") :method :outer("11_1274800446.28548")
-    .param pmc param_531
-.annotate 'line', 191
-    .const 'Sub' $P540 = "47_1274800446.28548" 
-    capture_lex $P540
-    new $P530, 'ExceptionHandler'
-    set_addr $P530, control_529
-    $P530."handle_types"(57)
-    push_eh $P530
+.sub "quote_escape:sym<0>"  :subid("47_1274853024.15996") :method :outer("11_1274853024.15996")
+    .param pmc param_520
+.annotate 'line', 202
+    new $P519, 'ExceptionHandler'
+    set_addr $P519, control_518
+    $P519."handle_types"(57)
+    push_eh $P519
+    .lex "self", self
+    .lex "$/", param_520
+.annotate 'line', 203
+    find_lex $P521, "$/"
+    $P522 = $P521."!make"(unicode:"\x{0}")
+.annotate 'line', 202
+    .return ($P522)
+  control_518:
+    .local pmc exception 
+    .get_results (exception) 
+    getattribute $P523, exception, "payload"
+    .return ($P523)
+.end
+
+
+.namespace ["HLL";"Actions"]
+.sub "quote_escape:sym<misc>"  :subid("48_1274853024.15996") :method :outer("11_1274853024.15996")
+    .param pmc param_527
+.annotate 'line', 206
+    new $P526, 'ExceptionHandler'
+    set_addr $P526, control_525
+    $P526."handle_types"(57)
+    push_eh $P526
     .lex "self", self
-    .lex "$/", param_531
-.annotate 'line', 192
+    .lex "$/", param_527
+.annotate 'line', 207
+    find_lex $P528, "$/"
+    find_lex $P531, "$/"
+    unless_null $P531, vivify_124
+    $P531 = root_new ['parrot';'Hash']
+  vivify_124:
+    set $P532, $P531["textq"]
+    unless_null $P532, vivify_125
     new $P532, "Undef"
-    .lex "$str", $P532
-    new $P533, "String"
-    assign $P533, ""
-    store_lex "$str", $P533
-.annotate 'line', 193
-    find_lex $P535, "$/"
-    unless_null $P535, vivify_125
-    $P535 = root_new ['parrot';'Hash']
   vivify_125:
-    set $P536, $P535["charname"]
-    unless_null $P536, vivify_126
-    new $P536, "Undef"
+    if $P532, if_530
+    find_lex $P538, "$/"
+    unless_null $P538, vivify_126
+    $P538 = root_new ['parrot';'Hash']
   vivify_126:
-    defined $I537, $P536
-    unless $I537, for_undef_127
-    iter $P534, $P536
-    new $P547, 'ExceptionHandler'
-    set_addr $P547, loop546_handler
-    $P547."handle_types"(64, 66, 65)
-    push_eh $P547
-  loop546_test:
-    unless $P534, loop546_done
-    shift $P538, $P534
-  loop546_redo:
-    .const 'Sub' $P540 = "47_1274800446.28548" 
-    capture_lex $P540
-    $P540($P538)
-  loop546_next:
-    goto loop546_test
-  loop546_handler:
-    .local pmc exception 
-    .get_results (exception) 
-    getattribute $P548, exception, 'type'
-    eq $P548, 64, loop546_next
-    eq $P548, 66, loop546_redo
-  loop546_done:
+    set $P539, $P538["textqq"]
+    unless_null $P539, vivify_127
+    new $P539, "Undef"
+  vivify_127:
+    $P540 = $P539."Str"()
+    set $P529, $P540
+    goto if_530_end
+  if_530:
+    new $P533, "String"
+    assign $P533, "\\"
+    find_lex $P534, "$/"
+    unless_null $P534, vivify_128
+    $P534 = root_new ['parrot';'Hash']
+  vivify_128:
+    set $P535, $P534["textq"]
+    unless_null $P535, vivify_129
+    new $P535, "Undef"
+  vivify_129:
+    $S536 = $P535."Str"()
+    concat $P537, $P533, $S536
+    set $P529, $P537
+  if_530_end:
+    $P541 = $P528."!make"($P529)
+.annotate 'line', 206
+    .return ($P541)
+  control_525:
+    .local pmc exception 
+    .get_results (exception) 
+    getattribute $P542, exception, "payload"
+    .return ($P542)
+.end
+
+
+.namespace ["HLL";"Actions"]
+.sub "charname"  :subid("49_1274853024.15996") :method :outer("11_1274853024.15996")
+    .param pmc param_546
+.annotate 'line', 210
+    new $P545, 'ExceptionHandler'
+    set_addr $P545, control_544
+    $P545."handle_types"(57)
+    push_eh $P545
+    .lex "self", self
+    .lex "$/", param_546
+.annotate 'line', 211
+    new $P547, "Undef"
+    .lex "$codepoint", $P547
+.annotate 'line', 212
+    find_lex $P550, "$/"
+    unless_null $P550, vivify_130
+    $P550 = root_new ['parrot';'Hash']
+  vivify_130:
+    set $P551, $P550["integer"]
+    unless_null $P551, vivify_131
+    new $P551, "Undef"
+  vivify_131:
+    if $P551, if_549
+.annotate 'line', 213
+    find_lex $P555, "$/"
+    set $S556, $P555
+    find_codepoint $I557, $S556
+    new $P548, 'Integer'
+    set $P548, $I557
+.annotate 'line', 212
+    goto if_549_end
+  if_549:
+    find_lex $P552, "$/"
+    unless_null $P552, vivify_132
+    $P552 = root_new ['parrot';'Hash']
+  vivify_132:
+    set $P553, $P552["integer"]
+    unless_null $P553, vivify_133
+    new $P553, "Undef"
+  vivify_133:
+    $P554 = $P553."ast"()
+    set $P548, $P554
+  if_549_end:
+    store_lex "$codepoint", $P548
+.annotate 'line', 214
+    find_lex $P559, "$codepoint"
+    set $N560, $P559
+    islt $I561, $N560, 0.0
+    unless $I561, if_558_end
+    find_lex $P562, "$/"
+    $P563 = $P562."CURSOR"()
+    new $P564, 'String'
+    set $P564, "Unrecognized character name "
+    find_lex $P565, "$/"
+    concat $P566, $P564, $P565
+    $P563."panic"($P566)
+  if_558_end:
+.annotate 'line', 215
+    find_lex $P567, "$/"
+    find_lex $P568, "$codepoint"
+    set $I569, $P568
+    chr $S570, $I569
+    $P571 = $P567."!make"($S570)
+.annotate 'line', 210
+    .return ($P571)
+  control_544:
+    .local pmc exception 
+    .get_results (exception) 
+    getattribute $P572, exception, "payload"
+    .return ($P572)
+.end
+
+
+.namespace ["HLL";"Actions"]
+.sub "charnames"  :subid("50_1274853024.15996") :method :outer("11_1274853024.15996")
+    .param pmc param_576
+.annotate 'line', 218
+    .const 'Sub' $P585 = "51_1274853024.15996" 
+    capture_lex $P585
+    new $P575, 'ExceptionHandler'
+    set_addr $P575, control_574
+    $P575."handle_types"(57)
+    push_eh $P575
+    .lex "self", self
+    .lex "$/", param_576
+.annotate 'line', 219
+    new $P577, "Undef"
+    .lex "$str", $P577
+    new $P578, "String"
+    assign $P578, ""
+    store_lex "$str", $P578
+.annotate 'line', 220
+    find_lex $P580, "$/"
+    unless_null $P580, vivify_134
+    $P580 = root_new ['parrot';'Hash']
+  vivify_134:
+    set $P581, $P580["charname"]
+    unless_null $P581, vivify_135
+    new $P581, "Undef"
+  vivify_135:
+    defined $I582, $P581
+    unless $I582, for_undef_136
+    iter $P579, $P581
+    new $P592, 'ExceptionHandler'
+    set_addr $P592, loop591_handler
+    $P592."handle_types"(64, 66, 65)
+    push_eh $P592
+  loop591_test:
+    unless $P579, loop591_done
+    shift $P583, $P579
+  loop591_redo:
+    .const 'Sub' $P585 = "51_1274853024.15996" 
+    capture_lex $P585
+    $P585($P583)
+  loop591_next:
+    goto loop591_test
+  loop591_handler:
+    .local pmc exception 
+    .get_results (exception) 
+    getattribute $P593, exception, 'type'
+    eq $P593, 64, loop591_next
+    eq $P593, 66, loop591_redo
+  loop591_done:
     pop_eh 
-  for_undef_127:
-.annotate 'line', 194
-    find_lex $P549, "$/"
-    find_lex $P550, "$str"
-    $P551 = $P549."!make"($P550)
-.annotate 'line', 191
-    .return ($P551)
-  control_529:
+  for_undef_136:
+.annotate 'line', 221
+    find_lex $P594, "$/"
+    find_lex $P595, "$str"
+    $P596 = $P594."!make"($P595)
+.annotate 'line', 218
+    .return ($P596)
+  control_574:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P552, exception, "payload"
-    .return ($P552)
+    getattribute $P597, exception, "payload"
+    .return ($P597)
 .end
 
 
 .namespace ["HLL";"Actions"]
-.sub "_block539"  :anon :subid("47_1274800446.28548") :outer("46_1274800446.28548")
-    .param pmc param_541
-.annotate 'line', 193
-    .lex "$_", param_541
-    find_lex $P542, "$str"
-    find_lex $P543, "$_"
-    $S544 = $P543."ast"()
-    concat $P545, $P542, $S544
-    store_lex "$str", $P545
-    .return ($P545)
+.sub "_block584"  :anon :subid("51_1274853024.15996") :outer("50_1274853024.15996")
+    .param pmc param_586
+.annotate 'line', 220
+    .lex "$_", param_586
+    find_lex $P587, "$str"
+    find_lex $P588, "$_"
+    $S589 = $P588."ast"()
+    concat $P590, $P587, $S589
+    store_lex "$str", $P590
+    .return ($P590)
 .end
 
 
 .namespace ["HLL";"Actions"]
-.sub "charspec"  :subid("48_1274800446.28548") :method :outer("11_1274800446.28548")
-    .param pmc param_556
-.annotate 'line', 197
-    new $P555, 'ExceptionHandler'
-    set_addr $P555, control_554
-    $P555."handle_types"(57)
-    push_eh $P555
+.sub "charspec"  :subid("52_1274853024.15996") :method :outer("11_1274853024.15996")
+    .param pmc param_601
+.annotate 'line', 224
+    new $P600, 'ExceptionHandler'
+    set_addr $P600, control_599
+    $P600."handle_types"(57)
+    push_eh $P600
     .lex "self", self
-    .lex "$/", param_556
-.annotate 'line', 198
-    find_lex $P557, "$/"
-    find_lex $P560, "$/"
-    unless_null $P560, vivify_128
-    $P560 = root_new ['parrot';'Hash']
-  vivify_128:
-    set $P561, $P560["charnames"]
-    unless_null $P561, vivify_129
-    new $P561, "Undef"
-  vivify_129:
-    if $P561, if_559
-    find_lex $P565, "$/"
-    $I566 = "string_to_int"($P565, 10)
-    chr $S567, $I566
-    new $P558, 'String'
-    set $P558, $S567
-    goto if_559_end
-  if_559:
-    find_lex $P562, "$/"
-    unless_null $P562, vivify_130
-    $P562 = root_new ['parrot';'Hash']
-  vivify_130:
-    set $P563, $P562["charnames"]
-    unless_null $P563, vivify_131
-    new $P563, "Undef"
-  vivify_131:
-    $P564 = $P563."ast"()
-    set $P558, $P564
-  if_559_end:
-    $P568 = $P557."!make"($P558)
-.annotate 'line', 197
-    .return ($P568)
-  control_554:
+    .lex "$/", param_601
+.annotate 'line', 225
+    find_lex $P602, "$/"
+    find_lex $P605, "$/"
+    unless_null $P605, vivify_137
+    $P605 = root_new ['parrot';'Hash']
+  vivify_137:
+    set $P606, $P605["charnames"]
+    unless_null $P606, vivify_138
+    new $P606, "Undef"
+  vivify_138:
+    if $P606, if_604
+    find_lex $P610, "$/"
+    $I611 = "string_to_int"($P610, 10)
+    chr $S612, $I611
+    new $P603, 'String'
+    set $P603, $S612
+    goto if_604_end
+  if_604:
+    find_lex $P607, "$/"
+    unless_null $P607, vivify_139
+    $P607 = root_new ['parrot';'Hash']
+  vivify_139:
+    set $P608, $P607["charnames"]
+    unless_null $P608, vivify_140
+    new $P608, "Undef"
+  vivify_140:
+    $P609 = $P608."ast"()
+    set $P603, $P609
+  if_604_end:
+    $P613 = $P602."!make"($P603)
+.annotate 'line', 224
+    .return ($P613)
+  control_599:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P569, exception, "payload"
-    .return ($P569)
+    getattribute $P614, exception, "payload"
+    .return ($P614)
 .end
 
 
 .namespace ["HLL";"Actions"]
-.sub "_block571" :load :anon :subid("49_1274800446.28548")
+.sub "_block616" :load :anon :subid("53_1274853024.15996")
 .annotate 'line', 3
-    .const 'Sub' $P573 = "11_1274800446.28548" 
-    $P574 = $P573()
-    .return ($P574)
+    .const 'Sub' $P618 = "11_1274853024.15996" 
+    $P619 = $P618()
+    .return ($P619)
 .end
 
 
 .namespace []
-.sub "_block576" :load :anon :subid("50_1274800446.28548")
+.sub "_block621" :load :anon :subid("54_1274853024.15996")
 .annotate 'line', 1
-    .const 'Sub' $P578 = "10_1274800446.28548" 
-    $P579 = $P578()
-    .return ($P579)
+    .const 'Sub' $P623 = "10_1274853024.15996" 
+    $P624 = $P623()
+    .return ($P624)
 .end
 
 ### .include 'gen/hllcompiler.pir'
 
 .namespace []
-.sub "_block11"  :anon :subid("10_1274800447.62745")
+.sub "_block11"  :anon :subid("10_1274853025.56197")
 .annotate 'line', 0
     get_hll_global $P14, ["HLL";"Compiler"], "_block13" 
     capture_lex $P14
+.annotate 'line', 1
+    $P0 = find_dynamic_lex "$*CTXSAVE"
+    if null $P0 goto ctxsave_done
+    $I0 = can $P0, "ctxsave"
+    unless $I0 goto ctxsave_done
+    $P0."ctxsave"()
+  ctxsave_done:
 .annotate 'line', 6
     get_hll_global $P14, ["HLL";"Compiler"], "_block13" 
     capture_lex $P14
-    $P454 = $P14()
+    $P489 = $P14()
 .annotate 'line', 1
-    .return ($P454)
-    .const 'Sub' $P456 = "33_1274800447.62745" 
-    .return ($P456)
+    .return ($P489)
+    .const 'Sub' $P491 = "35_1274853025.56197" 
+    .return ($P491)
 .end
 
 
 .namespace []
-.sub "" :load :init :subid("post34") :outer("10_1274800447.62745")
+.sub "" :load :init :subid("post36") :outer("10_1274853025.56197")
 .annotate 'line', 0
-    .const 'Sub' $P12 = "10_1274800447.62745" 
+    .const 'Sub' $P12 = "10_1274853025.56197" 
     .local pmc block
     set block, $P12
 .annotate 'line', 2
     load_bytecode "PCT/HLLCompiler.pbc"
 .annotate 'line', 1
-    $P459 = get_root_global ["parrot"], "P6metaclass"
-    new $P460, "ResizablePMCArray"
-    push $P460, "$!language"
-    $P459."new_class"("HLL::Compiler", "PCT::HLLCompiler" :named("parent"), $P460 :named("attr"))
+    $P494 = get_root_global ["parrot"], "P6metaclass"
+    new $P495, "ResizablePMCArray"
+    push $P495, "$!language"
+    $P494."new_class"("HLL::Compiler", "PCT::HLLCompiler" :named("parent"), $P495 :named("attr"))
 .end
 
 
 .namespace ["HLL";"Compiler"]
-.sub "_block13"  :subid("11_1274800447.62745") :outer("10_1274800447.62745")
+.sub "_block13"  :subid("11_1274853025.56197") :outer("10_1274853025.56197")
 .annotate 'line', 6
-    .const 'Sub' $P409 = "31_1274800447.62745" 
-    capture_lex $P409
-    .const 'Sub' $P298 = "26_1274800447.62745" 
+    .const 'Sub' $P481 = "34_1274853025.56197" 
+    capture_lex $P481
+    .const 'Sub' $P439 = "32_1274853025.56197" 
+    capture_lex $P439
+    .const 'Sub' $P298 = "26_1274853025.56197" 
     capture_lex $P298
-    .const 'Sub' $P283 = "25_1274800447.62745" 
+    .const 'Sub' $P283 = "25_1274853025.56197" 
     capture_lex $P283
-    .const 'Sub' $P188 = "20_1274800447.62745" 
+    .const 'Sub' $P188 = "20_1274853025.56197" 
     capture_lex $P188
-    .const 'Sub' $P153 = "18_1274800447.62745" 
+    .const 'Sub' $P153 = "18_1274853025.56197" 
     capture_lex $P153
-    .const 'Sub' $P138 = "17_1274800447.62745" 
+    .const 'Sub' $P138 = "17_1274853025.56197" 
     capture_lex $P138
-    .const 'Sub' $P122 = "16_1274800447.62745" 
+    .const 'Sub' $P122 = "16_1274853025.56197" 
     capture_lex $P122
-    .const 'Sub' $P33 = "13_1274800447.62745" 
+    .const 'Sub' $P33 = "13_1274853025.56197" 
     capture_lex $P33
-    .const 'Sub' $P15 = "12_1274800447.62745" 
+    .const 'Sub' $P15 = "12_1274853025.56197" 
     capture_lex $P15
 .annotate 'line', 14
-    .const 'Sub' $P15 = "12_1274800447.62745" 
+    .const 'Sub' $P15 = "12_1274853025.56197" 
     newclosure $P31, $P15
     .lex "value_type", $P31
 .annotate 'line', 10
     find_lex $P32, "value_type"
-.annotate 'line', 135
-    .const 'Sub' $P409 = "31_1274800447.62745" 
-    newclosure $P452, $P409
+.annotate 'line', 163
+    .const 'Sub' $P481 = "34_1274853025.56197" 
+    newclosure $P487, $P481
 .annotate 'line', 6
-    .return ($P452)
+    .return ($P487)
 .end
 
 
 .namespace ["HLL";"Compiler"]
-.sub "" :load :init :subid("post35") :outer("11_1274800447.62745")
+.sub "" :load :init :subid("post37") :outer("11_1274853025.56197")
 .annotate 'line', 6
     get_hll_global $P14, ["HLL";"Compiler"], "_block13" 
     .local pmc block
     set block, $P14
 .annotate 'line', 11
-    get_hll_global $P453, ["HLL"], "Compiler"
-    $P453."language"("parrot")
+    get_hll_global $P488, ["HLL"], "Compiler"
+    $P488."language"("parrot")
 .end
 
 
 .namespace ["HLL";"Compiler"]
-.sub "value_type"  :subid("12_1274800447.62745") :outer("11_1274800447.62745")
+.sub "value_type"  :subid("12_1274853025.56197") :outer("11_1274853025.56197")
     .param pmc param_18
 .annotate 'line', 14
     new $P17, 'ExceptionHandler'
@@ -6593,15 +6830,15 @@
 
 
 .namespace ["HLL";"Compiler"]
-.sub "get_exports"  :subid("13_1274800447.62745") :method :outer("11_1274800447.62745")
+.sub "get_exports"  :subid("13_1274853025.56197") :method :outer("11_1274853025.56197")
     .param pmc param_36
     .param pmc param_39 :slurpy
     .param pmc param_37 :optional :named("tagset")
     .param int has_param_37 :opt_flag
 .annotate 'line', 20
-    .const 'Sub' $P105 = "15_1274800447.62745" 
+    .const 'Sub' $P105 = "15_1274853025.56197" 
     capture_lex $P105
-    .const 'Sub' $P84 = "14_1274800447.62745" 
+    .const 'Sub' $P84 = "14_1274853025.56197" 
     capture_lex $P84
     new $P35, 'ExceptionHandler'
     set_addr $P35, control_34
@@ -6609,10 +6846,10 @@
     push_eh $P35
     .lex "self", self
     .lex "$module", param_36
-    if has_param_37, optparam_36
+    if has_param_37, optparam_38
     new $P38, "Undef"
     set param_37, $P38
-  optparam_36:
+  optparam_38:
     .lex "$tagset", param_37
     .lex "@symbols", param_39
 .annotate 'line', 27
@@ -6658,17 +6895,17 @@
     find_lex $P60, "$tagset"
     set $S61, $P60
     find_lex $P62, "$module"
-    unless_null $P62, vivify_37
+    unless_null $P62, vivify_39
     $P62 = root_new ['parrot';'Hash']
-  vivify_37:
+  vivify_39:
     set $P63, $P62["EXPORT"]
-    unless_null $P63, vivify_38
+    unless_null $P63, vivify_40
     $P63 = root_new ['parrot';'Hash']
-  vivify_38:
+  vivify_40:
     set $P64, $P63[$S61]
-    unless_null $P64, vivify_39
+    unless_null $P64, vivify_41
     new $P64, "Undef"
-  vivify_39:
+  vivify_41:
     store_lex "%source", $P64
 .annotate 'line', 29
     find_lex $P66, "%source"
@@ -6697,7 +6934,7 @@
 .annotate 'line', 39
     find_lex $P101, "%source"
     defined $I102, $P101
-    unless $I102, for_undef_40
+    unless $I102, for_undef_42
     iter $P100, $P101
     new $P118, 'ExceptionHandler'
     set_addr $P118, loop117_handler
@@ -6707,7 +6944,7 @@
     unless $P100, loop117_done
     shift $P103, $P100
   loop117_redo:
-    .const 'Sub' $P105 = "15_1274800447.62745" 
+    .const 'Sub' $P105 = "15_1274853025.56197" 
     capture_lex $P105
     $P105($P103)
   loop117_next:
@@ -6720,14 +6957,14 @@
     eq $P119, 66, loop117_redo
   loop117_done:
     pop_eh 
-  for_undef_40:
+  for_undef_42:
 .annotate 'line', 38
     goto if_77_end
   if_77:
 .annotate 'line', 33
     find_lex $P80, "@symbols"
     defined $I81, $P80
-    unless $I81, for_undef_43
+    unless $I81, for_undef_45
     iter $P79, $P80
     new $P98, 'ExceptionHandler'
     set_addr $P98, loop97_handler
@@ -6737,7 +6974,7 @@
     unless $P79, loop97_done
     shift $P82, $P79
   loop97_redo:
-    .const 'Sub' $P84 = "14_1274800447.62745" 
+    .const 'Sub' $P84 = "14_1274853025.56197" 
     capture_lex $P84
     $P84($P82)
   loop97_next:
@@ -6750,7 +6987,7 @@
     eq $P99, 66, loop97_redo
   loop97_done:
     pop_eh 
-  for_undef_43:
+  for_undef_45:
   if_77_end:
 .annotate 'line', 32
     find_lex $P120, "%exports"
@@ -6765,7 +7002,7 @@
 
 
 .namespace ["HLL";"Compiler"]
-.sub "_block104"  :anon :subid("15_1274800447.62745") :outer("13_1274800447.62745")
+.sub "_block104"  :anon :subid("15_1274853025.56197") :outer("13_1274853025.56197")
     .param pmc param_107
 .annotate 'line', 40
     new $P106, "Undef"
@@ -6781,15 +7018,15 @@
     find_lex $P113, "$value"
     $P114 = "value_type"($P113)
     find_lex $P115, "%exports"
-    unless_null $P115, vivify_41
+    unless_null $P115, vivify_43
     $P115 = root_new ['parrot';'Hash']
     store_lex "%exports", $P115
-  vivify_41:
+  vivify_43:
     set $P116, $P115[$P114]
-    unless_null $P116, vivify_42
+    unless_null $P116, vivify_44
     $P116 = root_new ['parrot';'Hash']
     set $P115[$P114], $P116
-  vivify_42:
+  vivify_44:
     set $P116[$P112], $P110
 .annotate 'line', 39
     .return ($P110)
@@ -6797,7 +7034,7 @@
 
 
 .namespace ["HLL";"Compiler"]
-.sub "_block83"  :anon :subid("14_1274800447.62745") :outer("13_1274800447.62745")
+.sub "_block83"  :anon :subid("14_1274853025.56197") :outer("13_1274853025.56197")
     .param pmc param_86
 .annotate 'line', 34
     new $P85, "Undef"
@@ -6806,13 +7043,13 @@
     find_lex $P87, "$_"
     set $S88, $P87
     find_lex $P89, "%source"
-    unless_null $P89, vivify_44
+    unless_null $P89, vivify_46
     $P89 = root_new ['parrot';'Hash']
-  vivify_44:
+  vivify_46:
     set $P90, $P89[$S88]
-    unless_null $P90, vivify_45
+    unless_null $P90, vivify_47
     new $P90, "Undef"
-  vivify_45:
+  vivify_47:
     store_lex "$value", $P90
 .annotate 'line', 35
     find_lex $P91, "$value"
@@ -6820,15 +7057,15 @@
     find_lex $P93, "$value"
     $P94 = "value_type"($P93)
     find_lex $P95, "%exports"
-    unless_null $P95, vivify_46
+    unless_null $P95, vivify_48
     $P95 = root_new ['parrot';'Hash']
     store_lex "%exports", $P95
-  vivify_46:
+  vivify_48:
     set $P96, $P95[$P94]
-    unless_null $P96, vivify_47
+    unless_null $P96, vivify_49
     $P96 = root_new ['parrot';'Hash']
     set $P95[$P94], $P96
-  vivify_47:
+  vivify_49:
     set $P96[$P92], $P91
 .annotate 'line', 33
     .return ($P91)
@@ -6836,7 +7073,7 @@
 
 
 .namespace ["HLL";"Compiler"]
-.sub "get_module"  :subid("16_1274800447.62745") :method :outer("11_1274800447.62745")
+.sub "get_module"  :subid("16_1274853025.56197") :method :outer("11_1274853025.56197")
     .param pmc param_125
 .annotate 'line', 47
     new $P124, 'ExceptionHandler'
@@ -6856,9 +7093,9 @@
     find_lex $P130, "@name"
     find_lex $P131, "self"
     getattribute $P132, $P131, "$!language"
-    unless_null $P132, vivify_48
+    unless_null $P132, vivify_50
     new $P132, "Undef"
-  vivify_48:
+  vivify_50:
     set $S133, $P132
     downcase $S134, $S133
     $P130."unshift"($S134)
@@ -6876,7 +7113,7 @@
 
 
 .namespace ["HLL";"Compiler"]
-.sub "language"  :subid("17_1274800447.62745") :method :outer("11_1274800447.62745")
+.sub "language"  :subid("17_1274853025.56197") :method :outer("11_1274853025.56197")
     .param pmc param_141 :optional
     .param int has_param_141 :opt_flag
 .annotate 'line', 53
@@ -6885,10 +7122,10 @@
     $P140."handle_types"(57)
     push_eh $P140
     .lex "self", self
-    if has_param_141, optparam_49
+    if has_param_141, optparam_51
     new $P142, "Undef"
     set param_141, $P142
-  optparam_49:
+  optparam_51:
     .lex "$name", param_141
 .annotate 'line', 54
     find_lex $P144, "$name"
@@ -6906,9 +7143,9 @@
 .annotate 'line', 54
     find_lex $P150, "self"
     getattribute $P151, $P150, "$!language"
-    unless_null $P151, vivify_50
+    unless_null $P151, vivify_52
     new $P151, "Undef"
-  vivify_50:
+  vivify_52:
 .annotate 'line', 53
     .return ($P151)
   control_139:
@@ -6920,10 +7157,10 @@
 
 
 .namespace ["HLL";"Compiler"]
-.sub "load_module"  :subid("18_1274800447.62745") :method :outer("11_1274800447.62745")
+.sub "load_module"  :subid("18_1274853025.56197") :method :outer("11_1274853025.56197")
     .param pmc param_156
 .annotate 'line', 61
-    .const 'Sub' $P166 = "19_1274800447.62745" 
+    .const 'Sub' $P166 = "19_1274853025.56197" 
     capture_lex $P166
     new $P155, 'ExceptionHandler'
     set_addr $P155, control_154
@@ -6950,7 +7187,7 @@
     assign $P164, 0
     store_lex "$loaded", $P164
 .annotate 'line', 64
-    .const 'Sub' $P166 = "19_1274800447.62745" 
+    .const 'Sub' $P166 = "19_1274853025.56197" 
     capture_lex $P166
     $P166()
 .annotate 'line', 65
@@ -6979,7 +7216,7 @@
 
 
 .namespace ["HLL";"Compiler"]
-.sub "_block165"  :anon :subid("19_1274800447.62745") :outer("18_1274800447.62745")
+.sub "_block165"  :anon :subid("19_1274853025.56197") :outer("18_1274853025.56197")
 .annotate 'line', 64
     new $P173, 'ExceptionHandler'
     set_addr $P173, control_172
@@ -7012,11 +7249,11 @@
 
 
 .namespace ["HLL";"Compiler"]
-.sub "import"  :subid("20_1274800447.62745") :method :outer("11_1274800447.62745")
+.sub "import"  :subid("20_1274853025.56197") :method :outer("11_1274853025.56197")
     .param pmc param_191
     .param pmc param_192
 .annotate 'line', 69
-    .const 'Sub' $P198 = "21_1274800447.62745" 
+    .const 'Sub' $P198 = "21_1274853025.56197" 
     capture_lex $P198
     new $P190, 'ExceptionHandler'
     set_addr $P190, control_189
@@ -7028,7 +7265,7 @@
 .annotate 'line', 70
     find_lex $P194, "%exports"
     defined $I195, $P194
-    unless $I195, for_undef_51
+    unless $I195, for_undef_53
     iter $P193, $P194
     new $P280, 'ExceptionHandler'
     set_addr $P280, loop279_handler
@@ -7038,7 +7275,7 @@
     unless $P193, loop279_done
     shift $P196, $P193
   loop279_redo:
-    .const 'Sub' $P198 = "21_1274800447.62745" 
+    .const 'Sub' $P198 = "21_1274853025.56197" 
     capture_lex $P198
     $P198($P196)
   loop279_next:
@@ -7051,7 +7288,7 @@
     eq $P281, 66, loop279_redo
   loop279_done:
     pop_eh 
-  for_undef_51:
+  for_undef_53:
 .annotate 'line', 69
     .return ($P193)
   control_189:
@@ -7063,14 +7300,14 @@
 
 
 .namespace ["HLL";"Compiler"]
-.sub "_block197"  :anon :subid("21_1274800447.62745") :outer("20_1274800447.62745")
+.sub "_block197"  :anon :subid("21_1274853025.56197") :outer("20_1274853025.56197")
     .param pmc param_201
 .annotate 'line', 70
-    .const 'Sub' $P268 = "24_1274800447.62745" 
+    .const 'Sub' $P268 = "24_1274853025.56197" 
     capture_lex $P268
-    .const 'Sub' $P248 = "23_1274800447.62745" 
+    .const 'Sub' $P248 = "23_1274853025.56197" 
     capture_lex $P248
-    .const 'Sub' $P219 = "22_1274800447.62745" 
+    .const 'Sub' $P219 = "22_1274853025.56197" 
     capture_lex $P219
 .annotate 'line', 71
     new $P199, "Undef"
@@ -7108,7 +7345,7 @@
 .annotate 'line', 80
     find_lex $P264, "%items"
     defined $I265, $P264
-    unless $I265, for_undef_52
+    unless $I265, for_undef_54
     iter $P263, $P264
     new $P277, 'ExceptionHandler'
     set_addr $P277, loop276_handler
@@ -7118,7 +7355,7 @@
     unless $P263, loop276_done
     shift $P266, $P263
   loop276_redo:
-    .const 'Sub' $P268 = "24_1274800447.62745" 
+    .const 'Sub' $P268 = "24_1274853025.56197" 
     capture_lex $P268
     $P268($P266)
   loop276_next:
@@ -7131,7 +7368,7 @@
     eq $P278, 66, loop276_redo
   loop276_done:
     pop_eh 
-  for_undef_52:
+  for_undef_54:
 .annotate 'line', 79
     set $P235, $P263
 .annotate 'line', 76
@@ -7140,7 +7377,7 @@
 .annotate 'line', 77
     find_lex $P244, "%items"
     defined $I245, $P244
-    unless $I245, for_undef_54
+    unless $I245, for_undef_56
     iter $P243, $P244
     new $P261, 'ExceptionHandler'
     set_addr $P261, loop260_handler
@@ -7150,7 +7387,7 @@
     unless $P243, loop260_done
     shift $P246, $P243
   loop260_redo:
-    .const 'Sub' $P248 = "23_1274800447.62745" 
+    .const 'Sub' $P248 = "23_1274853025.56197" 
     capture_lex $P248
     $P248($P246)
   loop260_next:
@@ -7163,7 +7400,7 @@
     eq $P262, 66, loop260_redo
   loop260_done:
     pop_eh 
-  for_undef_54:
+  for_undef_56:
 .annotate 'line', 76
     set $P235, $P243
   if_236_end:
@@ -7174,7 +7411,7 @@
 .annotate 'line', 74
     find_lex $P215, "%items"
     defined $I216, $P215
-    unless $I216, for_undef_55
+    unless $I216, for_undef_57
     iter $P214, $P215
     new $P233, 'ExceptionHandler'
     set_addr $P233, loop232_handler
@@ -7184,7 +7421,7 @@
     unless $P214, loop232_done
     shift $P217, $P214
   loop232_redo:
-    .const 'Sub' $P219 = "22_1274800447.62745" 
+    .const 'Sub' $P219 = "22_1274853025.56197" 
     capture_lex $P219
     $P219($P217)
   loop232_next:
@@ -7197,7 +7434,7 @@
     eq $P234, 66, loop232_redo
   loop232_done:
     pop_eh 
-  for_undef_55:
+  for_undef_57:
 .annotate 'line', 73
     set $P206, $P214
   if_207_end:
@@ -7207,7 +7444,7 @@
 
 
 .namespace ["HLL";"Compiler"]
-.sub "_block267"  :anon :subid("24_1274800447.62745") :outer("21_1274800447.62745")
+.sub "_block267"  :anon :subid("24_1274853025.56197") :outer("21_1274853025.56197")
     .param pmc param_269
 .annotate 'line', 80
     .lex "$_", param_269
@@ -7217,17 +7454,17 @@
     $P273 = $P272."key"()
     set $S274, $P273
     find_lex $P275, "$target"
-    unless_null $P275, vivify_53
+    unless_null $P275, vivify_55
     $P275 = root_new ['parrot';'Hash']
     store_lex "$target", $P275
-  vivify_53:
+  vivify_55:
     set $P275[$S274], $P271
     .return ($P271)
 .end
 
 
 .namespace ["HLL";"Compiler"]
-.sub "_block247"  :anon :subid("23_1274800447.62745") :outer("21_1274800447.62745")
+.sub "_block247"  :anon :subid("23_1274853025.56197") :outer("21_1274853025.56197")
     .param pmc param_249
 .annotate 'line', 77
     .lex "$_", param_249
@@ -7247,7 +7484,7 @@
 
 
 .namespace ["HLL";"Compiler"]
-.sub "_block218"  :anon :subid("22_1274800447.62745") :outer("21_1274800447.62745")
+.sub "_block218"  :anon :subid("22_1274853025.56197") :outer("21_1274853025.56197")
     .param pmc param_220
 .annotate 'line', 74
     .lex "$_", param_220
@@ -7268,7 +7505,7 @@
 
 
 .namespace ["HLL";"Compiler"]
-.sub "autoprint"  :subid("25_1274800447.62745") :method :outer("11_1274800447.62745")
+.sub "autoprint"  :subid("25_1274853025.56197") :method :outer("11_1274853025.56197")
     .param pmc param_286
 .annotate 'line', 85
     new $P285, 'ExceptionHandler'
@@ -7282,12 +7519,12 @@
     tell $I290, $P289
     set $N291, $I290
     find_dynamic_lex $P292, "$*AUTOPRINTPOS"
-    unless_null $P292, vivify_56
+    unless_null $P292, vivify_58
     get_hll_global $P292, "$AUTOPRINTPOS"
-    unless_null $P292, vivify_57
+    unless_null $P292, vivify_59
     die "Contextual $*AUTOPRINTPOS not found"
-  vivify_57:
-  vivify_56:
+  vivify_59:
+  vivify_58:
     set $N293, $P292
     isgt $I294, $N291, $N293
     unless $I294, unless_288
@@ -7311,10 +7548,10 @@
 
 
 .namespace ["HLL";"Compiler"]
-.sub "interactive"  :subid("26_1274800447.62745") :method :outer("11_1274800447.62745")
+.sub "interactive"  :subid("26_1274853025.56197") :method :outer("11_1274853025.56197")
     .param pmc param_301 :slurpy :named
 .annotate 'line', 90
-    .const 'Sub' $P328 = "27_1274800447.62745" 
+    .const 'Sub' $P328 = "27_1274853025.56197" 
     capture_lex $P328
     new $P300, 'ExceptionHandler'
     set_addr $P300, control_299
@@ -7333,13 +7570,13 @@
     .lex "$encoding", $P304
 .annotate 'line', 91
     find_lex $P305, "%adverbs"
-    unless_null $P305, vivify_58
+    unless_null $P305, vivify_60
     $P305 = root_new ['parrot';'Hash']
-  vivify_58:
+  vivify_60:
     set $P306, $P305["target"]
-    unless_null $P306, vivify_59
+    unless_null $P306, vivify_61
     new $P306, "Undef"
-  vivify_59:
+  vivify_61:
     set $S307, $P306
     downcase $S308, $S307
     new $P309, 'String'
@@ -7354,13 +7591,13 @@
     store_lex "$stdin", $P312
 .annotate 'line', 96
     find_lex $P313, "%adverbs"
-    unless_null $P313, vivify_60
+    unless_null $P313, vivify_62
     $P313 = root_new ['parrot';'Hash']
-  vivify_60:
+  vivify_62:
     set $P314, $P313["encoding"]
-    unless_null $P314, vivify_61
+    unless_null $P314, vivify_63
     new $P314, "Undef"
-  vivify_61:
+  vivify_63:
     set $S315, $P314
     new $P316, 'String'
     set $P316, $S315
@@ -7384,43 +7621,43 @@
     $P324."encoding"($P325)
   if_317_end:
 .annotate 'line', 101
-    new $P406, 'ExceptionHandler'
-    set_addr $P406, loop405_handler
-    $P406."handle_types"(64, 66, 65)
-    push_eh $P406
-  loop405_test:
+    new $P436, 'ExceptionHandler'
+    set_addr $P436, loop435_handler
+    $P436."handle_types"(64, 66, 65)
+    push_eh $P436
+  loop435_test:
     new $P326, "Integer"
     assign $P326, 1
-    unless $P326, loop405_done
-  loop405_redo:
-    .const 'Sub' $P328 = "27_1274800447.62745" 
+    unless $P326, loop435_done
+  loop435_redo:
+    .const 'Sub' $P328 = "27_1274853025.56197" 
     capture_lex $P328
     $P328()
-  loop405_next:
-    goto loop405_test
-  loop405_handler:
+  loop435_next:
+    goto loop435_test
+  loop435_handler:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P407, exception, 'type'
-    eq $P407, 64, loop405_next
-    eq $P407, 66, loop405_redo
-  loop405_done:
+    getattribute $P437, exception, 'type'
+    eq $P437, 64, loop435_next
+    eq $P437, 66, loop435_redo
+  loop435_done:
     pop_eh 
 .annotate 'line', 90
     .return ($P326)
   control_299:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P408, exception, "payload"
-    .return ($P408)
+    getattribute $P438, exception, "payload"
+    .return ($P438)
 .end
 
 
 .namespace ["HLL";"Compiler"]
-.sub "_block327"  :anon :subid("27_1274800447.62745") :outer("26_1274800447.62745")
+.sub "_block327"  :anon :subid("27_1274853025.56197") :outer("26_1274853025.56197")
 .annotate 'line', 101
-    .const 'Sub' $P356 = "28_1274800447.62745" 
-    capture_lex $P356
+    .const 'Sub' $P364 = "28_1274853025.56197" 
+    capture_lex $P364
 .annotate 'line', 104
     new $P329, "Undef"
     .lex "$prompt", $P329
@@ -7430,325 +7667,448 @@
 .annotate 'line', 110
     new $P331, "Undef"
     .lex "$*AUTOPRINTPOS", $P331
+.annotate 'line', 111
+    get_global $P332, "$interactive_ctx"
+    unless_null $P332, vivify_64
+    new $P332, "Undef"
+    set_global "$interactive_ctx", $P332
+  vivify_64:
+.annotate 'line', 112
+    get_global $P333, "%interactive_pad"
+    unless_null $P333, vivify_65
+    $P333 = root_new ['parrot';'Hash']
+    set_global "%interactive_pad", $P333
+  vivify_65:
+.annotate 'line', 113
+    new $P334, "Undef"
+    .lex "$*CTXSAVE", $P334
+.annotate 'line', 114
+    new $P335, "Undef"
+    .lex "$*MAIN_CTX", $P335
 .annotate 'line', 102
-    find_lex $P333, "$stdin"
-    if $P333, unless_332_end
+    find_lex $P337, "$stdin"
+    if $P337, unless_336_end
 .include "except_types.pasm"
-    $P334 = new "Exception"
-    $P334["type"] = .CONTROL_LOOP_LAST
-    throw $P334
-  unless_332_end:
+    $P338 = new "Exception"
+    $P338["type"] = .CONTROL_LOOP_LAST
+    throw $P338
+  unless_336_end:
 .annotate 'line', 104
-    find_lex $P336, "self"
-    $P337 = $P336."commandline_prompt"()
-    set $P335, $P337
-    defined $I339, $P335
-    if $I339, default_338
-    new $P340, "String"
-    assign $P340, "> "
-    set $P335, $P340
-  default_338:
-    store_lex "$prompt", $P335
+    find_lex $P340, "self"
+    $P341 = $P340."commandline_prompt"()
+    set $P339, $P341
+    defined $I343, $P339
+    if $I343, default_342
+    new $P344, "String"
+    assign $P344, "> "
+    set $P339, $P344
+  default_342:
+    store_lex "$prompt", $P339
 .annotate 'line', 105
-    find_lex $P341, "$stdin"
-    find_lex $P342, "$prompt"
-    set $S343, $P342
-    $P344 = $P341."readline_interactive"($S343)
-    store_lex "$code", $P344
+    find_lex $P345, "$stdin"
+    find_lex $P346, "$prompt"
+    set $S347, $P346
+    $P348 = $P345."readline_interactive"($S347)
+    store_lex "$code", $P348
 .annotate 'line', 107
-    find_lex $P346, "$code"
-    isnull $I347, $P346
-    unless $I347, if_345_end
+    find_lex $P350, "$code"
+    isnull $I351, $P350
+    unless $I351, if_349_end
 .include "except_types.pasm"
-    $P348 = new "Exception"
-    $P348["type"] = .CONTROL_LOOP_LAST
-    throw $P348
-  if_345_end:
+    $P352 = new "Exception"
+    $P352["type"] = .CONTROL_LOOP_LAST
+    throw $P352
+  if_349_end:
 .annotate 'line', 110
-    getstdout $P349
-    tell $I350, $P349
-    new $P351, 'Integer'
-    set $P351, $I350
-    store_lex "$*AUTOPRINTPOS", $P351
-.annotate 'line', 112
-    find_lex $P354, "$code"
-    if $P354, if_353
-    set $P352, $P354
-    goto if_353_end
-  if_353:
-    .const 'Sub' $P356 = "28_1274800447.62745" 
-    capture_lex $P356
-    $P404 = $P356()
-    set $P352, $P404
-  if_353_end:
+    getstdout $P353
+    tell $I354, $P353
+    new $P355, 'Integer'
+    set $P355, $I354
+    store_lex "$*AUTOPRINTPOS", $P355
+    get_global $P356, "$interactive_ctx"
+    get_global $P357, "%interactive_pad"
+.annotate 'line', 113
+    find_lex $P358, "self"
+    store_lex "$*CTXSAVE", $P358
+    find_lex $P359, "$*MAIN_CTX"
+    unless_null $P359, vivify_66
+    get_hll_global $P359, "$MAIN_CTX"
+    unless_null $P359, vivify_67
+    die "Contextual $*MAIN_CTX not found"
+  vivify_67:
+  vivify_66:
+.annotate 'line', 116
+    find_lex $P362, "$code"
+    if $P362, if_361
+    set $P360, $P362
+    goto if_361_end
+  if_361:
+    .const 'Sub' $P364 = "28_1274853025.56197" 
+    capture_lex $P364
+    $P434 = $P364()
+    set $P360, $P434
+  if_361_end:
 .annotate 'line', 101
-    .return ($P352)
+    .return ($P360)
 .end
 
 
 .namespace ["HLL";"Compiler"]
-.sub "_block355"  :anon :subid("28_1274800447.62745") :outer("27_1274800447.62745")
-.annotate 'line', 112
-    .const 'Sub' $P362 = "29_1274800447.62745" 
-    capture_lex $P362
-.annotate 'line', 114
-    new $P357, "Undef"
-    .lex "$output", $P357
-.annotate 'line', 113
-    find_lex $P358, "$code"
-    concat $P359, $P358, "\n"
-    store_lex "$code", $P359
-    find_lex $P360, "$output"
-.annotate 'line', 115
-    .const 'Sub' $P362 = "29_1274800447.62745" 
-    capture_lex $P362
-    $P362()
-.annotate 'line', 122
-    find_lex $P383, "$output"
-    isnull $I384, $P383
-    unless $I384, if_382_end
-.include "except_types.pasm"
-    $P385 = new "Exception"
-    $P385["type"] = .CONTROL_LOOP_NEXT
-    throw $P385
-  if_382_end:
-.annotate 'line', 124
-    find_lex $P388, "$target"
-    isfalse $I389, $P388
-    if $I389, if_387
-.annotate 'line', 126
-    find_lex $P395, "$target"
-    set $S396, $P395
-    iseq $I397, $S396, "pir"
-    if $I397, if_394
-.annotate 'line', 129
-    find_lex $P399, "self"
-    find_lex $P400, "$output"
-    find_lex $P401, "$target"
-    find_lex $P402, "%adverbs"
-    $P403 = $P399."dumper"($P400, $P401, $P402 :flat)
-.annotate 'line', 128
-    set $P393, $P403
+.sub "_block363"  :anon :subid("28_1274853025.56197") :outer("27_1274853025.56197")
+.annotate 'line', 116
+    .const 'Sub' $P402 = "31_1274853025.56197" 
+    capture_lex $P402
+    .const 'Sub' $P370 = "29_1274853025.56197" 
+    capture_lex $P370
+.annotate 'line', 118
+    new $P365, "Undef"
+    .lex "$output", $P365
+.annotate 'line', 117
+    find_lex $P366, "$code"
+    concat $P367, $P366, "\n"
+    store_lex "$code", $P367
+    find_lex $P368, "$output"
+.annotate 'line', 119
+    .const 'Sub' $P370 = "29_1274853025.56197" 
+    capture_lex $P370
+    $P370()
 .annotate 'line', 126
-    goto if_394_end
-  if_394:
+    find_dynamic_lex $P394, "$*MAIN_CTX"
+    unless_null $P394, vivify_68
+    get_hll_global $P394, "$MAIN_CTX"
+    unless_null $P394, vivify_69
+    die "Contextual $*MAIN_CTX not found"
+  vivify_69:
+  vivify_68:
+    defined $I395, $P394
+    unless $I395, if_393_end
 .annotate 'line', 127
-    find_lex $P398, "$output"
-    say $P398
-  if_394_end:
-.annotate 'line', 126
-    set $P386, $P393
-.annotate 'line', 124
-    goto if_387_end
-  if_387:
-.annotate 'line', 125
-    find_lex $P390, "self"
-    find_lex $P391, "$output"
-    $P392 = $P390."autoprint"($P391)
-.annotate 'line', 124
-    set $P386, $P392
-  if_387_end:
-.annotate 'line', 112
-    .return ($P386)
+    find_dynamic_lex $P397, "$*MAIN_CTX"
+    unless_null $P397, vivify_70
+    get_hll_global $P397, "$MAIN_CTX"
+    unless_null $P397, vivify_71
+    die "Contextual $*MAIN_CTX not found"
+  vivify_71:
+  vivify_70:
+    $P398 = $P397."lexpad_full"()
+    defined $I399, $P398
+    unless $I399, for_undef_72
+    iter $P396, $P398
+    new $P410, 'ExceptionHandler'
+    set_addr $P410, loop409_handler
+    $P410."handle_types"(64, 66, 65)
+    push_eh $P410
+  loop409_test:
+    unless $P396, loop409_done
+    shift $P400, $P396
+  loop409_redo:
+    .const 'Sub' $P402 = "31_1274853025.56197" 
+    capture_lex $P402
+    $P402($P400)
+  loop409_next:
+    goto loop409_test
+  loop409_handler:
+    .local pmc exception 
+    .get_results (exception) 
+    getattribute $P411, exception, 'type'
+    eq $P411, 64, loop409_next
+    eq $P411, 66, loop409_redo
+  loop409_done:
+    pop_eh 
+  for_undef_72:
+  if_393_end:
+.annotate 'line', 131
+    find_lex $P413, "$output"
+    isnull $I414, $P413
+    unless $I414, if_412_end
+.include "except_types.pasm"
+    $P415 = new "Exception"
+    $P415["type"] = .CONTROL_LOOP_NEXT
+    throw $P415
+  if_412_end:
+.annotate 'line', 133
+    find_lex $P418, "$target"
+    isfalse $I419, $P418
+    if $I419, if_417
+.annotate 'line', 135
+    find_lex $P425, "$target"
+    set $S426, $P425
+    iseq $I427, $S426, "pir"
+    if $I427, if_424
+.annotate 'line', 138
+    find_lex $P429, "self"
+    find_lex $P430, "$output"
+    find_lex $P431, "$target"
+    find_lex $P432, "%adverbs"
+    $P433 = $P429."dumper"($P430, $P431, $P432 :flat)
+.annotate 'line', 137
+    set $P423, $P433
+.annotate 'line', 135
+    goto if_424_end
+  if_424:
+.annotate 'line', 136
+    find_lex $P428, "$output"
+    say $P428
+  if_424_end:
+.annotate 'line', 135
+    set $P416, $P423
+.annotate 'line', 133
+    goto if_417_end
+  if_417:
+.annotate 'line', 134
+    find_lex $P420, "self"
+    find_lex $P421, "$output"
+    $P422 = $P420."autoprint"($P421)
+.annotate 'line', 133
+    set $P416, $P422
+  if_417_end:
+.annotate 'line', 116
+    .return ($P416)
 .end
 
 
 .namespace ["HLL";"Compiler"]
-.sub "_block361"  :anon :subid("29_1274800447.62745") :outer("28_1274800447.62745")
-.annotate 'line', 115
-    .const 'Sub' $P373 = "30_1274800447.62745" 
-    capture_lex $P373
-    new $P369, 'ExceptionHandler'
-    set_addr $P369, control_368
-    $P369."handle_types_except"(57, 58, 59, 60, 62, 63, 64, 65, 66)
-    push_eh $P369
-.annotate 'line', 116
-    find_lex $P363, "self"
-    find_lex $P364, "$code"
-    find_lex $P365, "%adverbs"
-    $P366 = $P363."eval"($P364, $P365 :flat)
-    store_lex "$output", $P366
-.annotate 'line', 115
+.sub "_block369"  :anon :subid("29_1274853025.56197") :outer("28_1274853025.56197")
+.annotate 'line', 119
+    .const 'Sub' $P382 = "30_1274853025.56197" 
+    capture_lex $P382
+    new $P378, 'ExceptionHandler'
+    set_addr $P378, control_377
+    $P378."handle_types_except"(57, 58, 59, 60, 62, 63, 64, 65, 66)
+    push_eh $P378
+.annotate 'line', 120
+    find_lex $P371, "self"
+    find_lex $P372, "$code"
+    get_global $P373, "$interactive_ctx"
+    find_lex $P374, "%adverbs"
+    $P375 = $P371."eval"($P372, $P374 :flat, $P373 :named("outer_ctx"))
+    store_lex "$output", $P375
+.annotate 'line', 119
     pop_eh 
-    goto skip_handler_367
-  control_368:
-.annotate 'line', 117
+    goto skip_handler_376
+  control_377:
+.annotate 'line', 121
     .local pmc exception 
     .get_results (exception) 
-    .const 'Sub' $P373 = "30_1274800447.62745" 
-    newclosure $P379, $P373
-    $P379(exception)
-    new $P380, 'Integer'
-    set $P380, 1
-    set exception["handled"], $P380
-    set $I381, exception["handled"]
-    ne $I381, 1, nothandled_371
-  handled_370:
+    .const 'Sub' $P382 = "30_1274853025.56197" 
+    newclosure $P390, $P382
+    $P390(exception)
+    new $P391, 'Integer'
+    set $P391, 1
+    set exception["handled"], $P391
+    set $I392, exception["handled"]
+    ne $I392, 1, nothandled_380
+  handled_379:
     .return (exception)
-  nothandled_371:
+  nothandled_380:
     rethrow exception
-  skip_handler_367:
-.annotate 'line', 115
+  skip_handler_376:
+.annotate 'line', 119
     .return ()
 .end
 
 
 .namespace ["HLL";"Compiler"]
-.sub "_block372"  :anon :subid("30_1274800447.62745") :outer("29_1274800447.62745")
-    .param pmc param_374
-.annotate 'line', 117
-    .lex "$_", param_374
-    find_lex $P375, "$_"
-    .lex "$!", $P375
-.annotate 'line', 118
-    find_lex $P376, "$!"
-    concat $P377, $P376, "\n"
-    print $P377
-.annotate 'line', 119
+.sub "_block381"  :anon :subid("30_1274853025.56197") :outer("29_1274853025.56197")
+    .param pmc param_383
+.annotate 'line', 121
+    .lex "$_", param_383
+    find_lex $P384, "$_"
+    .lex "$!", $P384
+.annotate 'line', 122
+    find_lex $P385, "$!"
+    set $S386, $P385
+    new $P387, 'String'
+    set $P387, $S386
+    concat $P388, $P387, "\n"
+    print $P388
+.annotate 'line', 123
 .include "except_types.pasm"
-    $P378 = new "Exception"
-    $P378["type"] = .CONTROL_LOOP_NEXT
-    throw $P378
-.annotate 'line', 117
-    .return ($P378)
+    $P389 = new "Exception"
+    $P389["type"] = .CONTROL_LOOP_NEXT
+    throw $P389
+.annotate 'line', 121
+    .return ($P389)
 .end
 
 
 .namespace ["HLL";"Compiler"]
-.sub "eval"  :subid("31_1274800447.62745") :method :outer("11_1274800447.62745")
-    .param pmc param_412
-    .param pmc param_413 :slurpy
-    .param pmc param_414 :slurpy :named
-.annotate 'line', 135
-    .const 'Sub' $P433 = "32_1274800447.62745" 
-    capture_lex $P433
-    new $P411, 'ExceptionHandler'
-    set_addr $P411, control_410
-    $P411."handle_types"(57)
-    push_eh $P411
-    .lex "self", self
-    .lex "$code", param_412
-    .lex "@args", param_413
-    .lex "%adverbs", param_414
-.annotate 'line', 136
-    new $P415, "Undef"
-    .lex "$output", $P415
-.annotate 'line', 135
-    find_lex $P416, "$output"
-.annotate 'line', 137
-    find_lex $P417, "self"
-    find_lex $P418, "$code"
-    find_lex $P419, "%adverbs"
-    $P420 = $P417."compile"($P418, $P419 :flat)
-    store_lex "$output", $P420
-.annotate 'line', 139
-    find_lex $P424, "$output"
-    isa $I425, $P424, "String"
-    new $P426, 'Integer'
-    set $P426, $I425
-    isfalse $I427, $P426
-    if $I427, if_423
-    new $P422, 'Integer'
-    set $P422, $I427
-    goto if_423_end
-  if_423:
-.annotate 'line', 140
-    find_lex $P428, "%adverbs"
-    unless_null $P428, vivify_62
-    $P428 = root_new ['parrot';'Hash']
-  vivify_62:
-    set $P429, $P428["target"]
-    unless_null $P429, vivify_63
-    new $P429, "Undef"
-  vivify_63:
-    set $S430, $P429
-    iseq $I431, $S430, ""
-    new $P422, 'Integer'
-    set $P422, $I431
-  if_423_end:
-    unless $P422, if_421_end
-    .const 'Sub' $P433 = "32_1274800447.62745" 
-    capture_lex $P433
-    $P433()
-  if_421_end:
-.annotate 'line', 139
-    find_lex $P450, "$output"
-.annotate 'line', 135
-    .return ($P450)
-  control_410:
-    .local pmc exception 
-    .get_results (exception) 
-    getattribute $P451, exception, "payload"
-    .return ($P451)
+.sub "_block401"  :anon :subid("31_1274853025.56197") :outer("28_1274853025.56197")
+    .param pmc param_403
+.annotate 'line', 127
+    .lex "$_", param_403
+.annotate 'line', 128
+    find_lex $P404, "$_"
+    $P405 = $P404."value"()
+    find_lex $P406, "$_"
+    $P407 = $P406."key"()
+    get_global $P408, "%interactive_pad"
+    unless_null $P408, vivify_73
+    $P408 = root_new ['parrot';'Hash']
+    set_global "%interactive_pad", $P408
+  vivify_73:
+    set $P408[$P407], $P405
+.annotate 'line', 127
+    .return ($P405)
 .end
 
 
 .namespace ["HLL";"Compiler"]
-.sub "_block432"  :anon :subid("32_1274800447.62745") :outer("31_1274800447.62745")
-.annotate 'line', 141
-    new $P434, "Undef"
-    .lex "$outer_ctx", $P434
-    find_lex $P435, "%adverbs"
-    unless_null $P435, vivify_64
-    $P435 = root_new ['parrot';'Hash']
-  vivify_64:
-    set $P436, $P435["outer_ctx"]
-    unless_null $P436, vivify_65
-    new $P436, "Undef"
-  vivify_65:
-    store_lex "$outer_ctx", $P436
-.annotate 'line', 142
-    find_lex $P438, "$outer_ctx"
-    defined $I439, $P438
-    unless $I439, if_437_end
-.annotate 'line', 143
-    find_lex $P440, "$output"
-    unless_null $P440, vivify_66
-    $P440 = root_new ['parrot';'ResizablePMCArray']
-  vivify_66:
-    set $P441, $P440[0]
-    unless_null $P441, vivify_67
-    new $P441, "Undef"
-  vivify_67:
-    find_lex $P442, "$outer_ctx"
-    unless_null $P442, vivify_68
-    $P442 = root_new ['parrot';'Hash']
-  vivify_68:
-    set $P443, $P442["current_sub"]
-    unless_null $P443, vivify_69
-    new $P443, "Undef"
-  vivify_69:
-    $P441."set_outer"($P443)
-  if_437_end:
-.annotate 'line', 146
-    find_lex $P444, "%adverbs"
-    unless_null $P444, vivify_70
-    $P444 = root_new ['parrot';'Hash']
-  vivify_70:
-    set $P445, $P444["trace"]
-    unless_null $P445, vivify_71
+.sub "eval"  :subid("32_1274853025.56197") :method :outer("11_1274853025.56197")
+    .param pmc param_442
+    .param pmc param_443 :slurpy
+    .param pmc param_444 :slurpy :named
+.annotate 'line', 144
+    .const 'Sub' $P463 = "33_1274853025.56197" 
+    capture_lex $P463
+    new $P441, 'ExceptionHandler'
+    set_addr $P441, control_440
+    $P441."handle_types"(57)
+    push_eh $P441
+    .lex "self", self
+    .lex "$code", param_442
+    .lex "@args", param_443
+    .lex "%adverbs", param_444
+.annotate 'line', 145
     new $P445, "Undef"
-  vivify_71:
-    set $I446, $P445
-    trace $I446
-.annotate 'line', 147
-    find_lex $P447, "$output"
-    find_lex $P448, "@args"
-    $P449 = $P447($P448 :flat)
-    store_lex "$output", $P449
+    .lex "$output", $P445
+.annotate 'line', 144
+    find_lex $P446, "$output"
+.annotate 'line', 146
+    find_lex $P447, "self"
+    find_lex $P448, "$code"
+    find_lex $P449, "%adverbs"
+    $P450 = $P447."compile"($P448, $P449 :flat)
+    store_lex "$output", $P450
 .annotate 'line', 148
+    find_lex $P454, "$output"
+    isa $I455, $P454, "String"
+    new $P456, 'Integer'
+    set $P456, $I455
+    isfalse $I457, $P456
+    if $I457, if_453
+    new $P452, 'Integer'
+    set $P452, $I457
+    goto if_453_end
+  if_453:
+.annotate 'line', 149
+    find_lex $P458, "%adverbs"
+    unless_null $P458, vivify_74
+    $P458 = root_new ['parrot';'Hash']
+  vivify_74:
+    set $P459, $P458["target"]
+    unless_null $P459, vivify_75
+    new $P459, "Undef"
+  vivify_75:
+    set $S460, $P459
+    iseq $I461, $S460, ""
+    new $P452, 'Integer'
+    set $P452, $I461
+  if_453_end:
+    unless $P452, if_451_end
+    .const 'Sub' $P463 = "33_1274853025.56197" 
+    capture_lex $P463
+    $P463()
+  if_451_end:
+.annotate 'line', 148
+    find_lex $P479, "$output"
+.annotate 'line', 144
+    .return ($P479)
+  control_440:
+    .local pmc exception 
+    .get_results (exception) 
+    getattribute $P480, exception, "payload"
+    .return ($P480)
+.end
+
+
+.namespace ["HLL";"Compiler"]
+.sub "_block462"  :anon :subid("33_1274853025.56197") :outer("32_1274853025.56197")
+.annotate 'line', 150
+    new $P464, "Undef"
+    .lex "$outer_ctx", $P464
+    find_lex $P465, "%adverbs"
+    unless_null $P465, vivify_76
+    $P465 = root_new ['parrot';'Hash']
+  vivify_76:
+    set $P466, $P465["outer_ctx"]
+    unless_null $P466, vivify_77
+    new $P466, "Undef"
+  vivify_77:
+    store_lex "$outer_ctx", $P466
+.annotate 'line', 151
+    find_lex $P468, "$outer_ctx"
+    defined $I469, $P468
+    unless $I469, if_467_end
+.annotate 'line', 152
+    find_lex $P470, "$output"
+    unless_null $P470, vivify_78
+    $P470 = root_new ['parrot';'ResizablePMCArray']
+  vivify_78:
+    set $P471, $P470[0]
+    unless_null $P471, vivify_79
+    new $P471, "Undef"
+  vivify_79:
+    find_lex $P472, "$outer_ctx"
+    $P471."set_outer_ctx"($P472)
+  if_467_end:
+.annotate 'line', 155
+    find_lex $P473, "%adverbs"
+    unless_null $P473, vivify_80
+    $P473 = root_new ['parrot';'Hash']
+  vivify_80:
+    set $P474, $P473["trace"]
+    unless_null $P474, vivify_81
+    new $P474, "Undef"
+  vivify_81:
+    set $I475, $P474
+    trace $I475
+.annotate 'line', 156
+    find_lex $P476, "$output"
+    find_lex $P477, "@args"
+    $P478 = $P476($P477 :flat)
+    store_lex "$output", $P478
+.annotate 'line', 157
     trace 0
-.annotate 'line', 140
+.annotate 'line', 149
     .return ()
 .end
 
 
+.namespace ["HLL";"Compiler"]
+.sub "ctxsave"  :subid("34_1274853025.56197") :method :outer("11_1274853025.56197")
+.annotate 'line', 163
+    new $P483, 'ExceptionHandler'
+    set_addr $P483, control_482
+    $P483."handle_types"(57)
+    push_eh $P483
+    .lex "self", self
+.annotate 'line', 165
+
+                $P0 = getinterp
+                $P484 = $P0['context';1]
+            
+    store_dynamic_lex "$*MAIN_CTX", $P484
+.annotate 'line', 169
+    new $P485, "Integer"
+    assign $P485, 0
+    store_dynamic_lex "$*CTXSAVE", $P485
+.annotate 'line', 163
+    .return ($P485)
+  control_482:
+    .local pmc exception 
+    .get_results (exception) 
+    getattribute $P486, exception, "payload"
+    .return ($P486)
+.end
+
+
 .namespace []
-.sub "_block455" :load :anon :subid("33_1274800447.62745")
+.sub "_block490" :load :anon :subid("35_1274853025.56197")
 .annotate 'line', 1
-    .const 'Sub' $P457 = "10_1274800447.62745" 
-    $P458 = $P457()
-    .return ($P458)
+    .const 'Sub' $P492 = "10_1274853025.56197" 
+    $P493 = $P492()
+    .return ($P493)
 .end
 
 

Modified: trunk/ext/nqp-rx/src/stage0/NQP-s0.pir
==============================================================================
--- trunk/ext/nqp-rx/src/stage0/NQP-s0.pir	Wed May 26 09:39:08 2010	(r47021)
+++ trunk/ext/nqp-rx/src/stage0/NQP-s0.pir	Wed May 26 12:29:29 2010	(r47022)
@@ -15,403 +15,418 @@
 ### .include 'gen/nqp-grammar.pir'
 
 .namespace []
-.sub "_block11"  :anon :subid("10_1274800460.92525")
+.sub "_block11"  :anon :subid("10_1274853038.58734")
 .annotate 'line', 0
     get_hll_global $P14, ["NQP";"Grammar"], "_block13" 
     capture_lex $P14
+.annotate 'line', 1
+    $P0 = find_dynamic_lex "$*CTXSAVE"
+    if null $P0 goto ctxsave_done
+    $I0 = can $P0, "ctxsave"
+    unless $I0 goto ctxsave_done
+    $P0."ctxsave"()
+  ctxsave_done:
 .annotate 'line', 4
     get_hll_global $P14, ["NQP";"Grammar"], "_block13" 
     capture_lex $P14
-    $P1374 = $P14()
+    $P1379 = $P14()
 .annotate 'line', 1
-    .return ($P1374)
-    .const 'Sub' $P1376 = "352_1274800460.92525" 
-    .return ($P1376)
+    .return ($P1379)
+    .const 'Sub' $P1381 = "354_1274853038.58734" 
+    .return ($P1381)
 .end
 
 
 .namespace []
-.sub "" :load :init :subid("post353") :outer("10_1274800460.92525")
+.sub "" :load :init :subid("post355") :outer("10_1274853038.58734")
 .annotate 'line', 0
-    .const 'Sub' $P12 = "10_1274800460.92525" 
+    .const 'Sub' $P12 = "10_1274853038.58734" 
     .local pmc block
     set block, $P12
-    $P1379 = get_root_global ["parrot"], "P6metaclass"
-    $P1379."new_class"("NQP::Grammar", "HLL::Grammar" :named("parent"))
+    $P1384 = get_root_global ["parrot"], "P6metaclass"
+    $P1384."new_class"("NQP::Grammar", "HLL::Grammar" :named("parent"))
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "_block13"  :subid("11_1274800460.92525") :outer("10_1274800460.92525")
+.sub "_block13"  :subid("11_1274853038.58734") :outer("10_1274853038.58734")
 .annotate 'line', 4
-    get_hll_global $P1290, ["NQP";"Regex"], "_block1289" 
-    capture_lex $P1290
-    .const 'Sub' $P1276 = "329_1274800460.92525" 
-    capture_lex $P1276
-    .const 'Sub' $P1270 = "327_1274800460.92525" 
-    capture_lex $P1270
-    .const 'Sub' $P1264 = "325_1274800460.92525" 
-    capture_lex $P1264
-    .const 'Sub' $P1258 = "323_1274800460.92525" 
-    capture_lex $P1258
-    .const 'Sub' $P1252 = "321_1274800460.92525" 
-    capture_lex $P1252
-    .const 'Sub' $P1246 = "319_1274800460.92525" 
-    capture_lex $P1246
-    .const 'Sub' $P1239 = "317_1274800460.92525" 
-    capture_lex $P1239
-    .const 'Sub' $P1232 = "315_1274800460.92525" 
-    capture_lex $P1232
-    .const 'Sub' $P1225 = "313_1274800460.92525" 
-    capture_lex $P1225
-    .const 'Sub' $P1218 = "311_1274800460.92525" 
-    capture_lex $P1218
-    .const 'Sub' $P1212 = "309_1274800460.92525" 
-    capture_lex $P1212
-    .const 'Sub' $P1205 = "307_1274800460.92525" 
-    capture_lex $P1205
-    .const 'Sub' $P1198 = "305_1274800460.92525" 
-    capture_lex $P1198
-    .const 'Sub' $P1191 = "303_1274800460.92525" 
-    capture_lex $P1191
-    .const 'Sub' $P1184 = "301_1274800460.92525" 
-    capture_lex $P1184
-    .const 'Sub' $P1177 = "299_1274800460.92525" 
-    capture_lex $P1177
-    .const 'Sub' $P1170 = "297_1274800460.92525" 
-    capture_lex $P1170
-    .const 'Sub' $P1163 = "295_1274800460.92525" 
-    capture_lex $P1163
-    .const 'Sub' $P1156 = "293_1274800460.92525" 
-    capture_lex $P1156
-    .const 'Sub' $P1149 = "291_1274800460.92525" 
-    capture_lex $P1149
-    .const 'Sub' $P1142 = "289_1274800460.92525" 
-    capture_lex $P1142
-    .const 'Sub' $P1135 = "287_1274800460.92525" 
-    capture_lex $P1135
-    .const 'Sub' $P1128 = "285_1274800460.92525" 
-    capture_lex $P1128
-    .const 'Sub' $P1121 = "283_1274800460.92525" 
-    capture_lex $P1121
-    .const 'Sub' $P1114 = "281_1274800460.92525" 
-    capture_lex $P1114
-    .const 'Sub' $P1107 = "279_1274800460.92525" 
-    capture_lex $P1107
-    .const 'Sub' $P1100 = "277_1274800460.92525" 
-    capture_lex $P1100
-    .const 'Sub' $P1093 = "275_1274800460.92525" 
-    capture_lex $P1093
-    .const 'Sub' $P1086 = "273_1274800460.92525" 
-    capture_lex $P1086
-    .const 'Sub' $P1079 = "271_1274800460.92525" 
-    capture_lex $P1079
-    .const 'Sub' $P1072 = "269_1274800460.92525" 
-    capture_lex $P1072
-    .const 'Sub' $P1065 = "267_1274800460.92525" 
-    capture_lex $P1065
-    .const 'Sub' $P1058 = "265_1274800460.92525" 
-    capture_lex $P1058
-    .const 'Sub' $P1051 = "263_1274800460.92525" 
-    capture_lex $P1051
-    .const 'Sub' $P1044 = "261_1274800460.92525" 
-    capture_lex $P1044
-    .const 'Sub' $P1037 = "259_1274800460.92525" 
-    capture_lex $P1037
-    .const 'Sub' $P1030 = "257_1274800460.92525" 
-    capture_lex $P1030
-    .const 'Sub' $P1024 = "255_1274800460.92525" 
-    capture_lex $P1024
-    .const 'Sub' $P1017 = "253_1274800460.92525" 
-    capture_lex $P1017
-    .const 'Sub' $P1010 = "251_1274800460.92525" 
-    capture_lex $P1010
-    .const 'Sub' $P1003 = "249_1274800460.92525" 
-    capture_lex $P1003
-    .const 'Sub' $P996 = "247_1274800460.92525" 
-    capture_lex $P996
-    .const 'Sub' $P989 = "245_1274800460.92525" 
-    capture_lex $P989
-    .const 'Sub' $P982 = "243_1274800460.92525" 
-    capture_lex $P982
-    .const 'Sub' $P975 = "241_1274800460.92525" 
-    capture_lex $P975
-    .const 'Sub' $P969 = "239_1274800460.92525" 
-    capture_lex $P969
-    .const 'Sub' $P963 = "237_1274800460.92525" 
+    get_hll_global $P1295, ["NQP";"Regex"], "_block1294" 
+    capture_lex $P1295
+    .const 'Sub' $P1281 = "331_1274853038.58734" 
+    capture_lex $P1281
+    .const 'Sub' $P1275 = "329_1274853038.58734" 
+    capture_lex $P1275
+    .const 'Sub' $P1269 = "327_1274853038.58734" 
+    capture_lex $P1269
+    .const 'Sub' $P1263 = "325_1274853038.58734" 
+    capture_lex $P1263
+    .const 'Sub' $P1257 = "323_1274853038.58734" 
+    capture_lex $P1257
+    .const 'Sub' $P1251 = "321_1274853038.58734" 
+    capture_lex $P1251
+    .const 'Sub' $P1244 = "319_1274853038.58734" 
+    capture_lex $P1244
+    .const 'Sub' $P1237 = "317_1274853038.58734" 
+    capture_lex $P1237
+    .const 'Sub' $P1230 = "315_1274853038.58734" 
+    capture_lex $P1230
+    .const 'Sub' $P1223 = "313_1274853038.58734" 
+    capture_lex $P1223
+    .const 'Sub' $P1217 = "311_1274853038.58734" 
+    capture_lex $P1217
+    .const 'Sub' $P1210 = "309_1274853038.58734" 
+    capture_lex $P1210
+    .const 'Sub' $P1203 = "307_1274853038.58734" 
+    capture_lex $P1203
+    .const 'Sub' $P1196 = "305_1274853038.58734" 
+    capture_lex $P1196
+    .const 'Sub' $P1189 = "303_1274853038.58734" 
+    capture_lex $P1189
+    .const 'Sub' $P1182 = "301_1274853038.58734" 
+    capture_lex $P1182
+    .const 'Sub' $P1175 = "299_1274853038.58734" 
+    capture_lex $P1175
+    .const 'Sub' $P1168 = "297_1274853038.58734" 
+    capture_lex $P1168
+    .const 'Sub' $P1161 = "295_1274853038.58734" 
+    capture_lex $P1161
+    .const 'Sub' $P1154 = "293_1274853038.58734" 
+    capture_lex $P1154
+    .const 'Sub' $P1147 = "291_1274853038.58734" 
+    capture_lex $P1147
+    .const 'Sub' $P1140 = "289_1274853038.58734" 
+    capture_lex $P1140
+    .const 'Sub' $P1133 = "287_1274853038.58734" 
+    capture_lex $P1133
+    .const 'Sub' $P1126 = "285_1274853038.58734" 
+    capture_lex $P1126
+    .const 'Sub' $P1119 = "283_1274853038.58734" 
+    capture_lex $P1119
+    .const 'Sub' $P1112 = "281_1274853038.58734" 
+    capture_lex $P1112
+    .const 'Sub' $P1105 = "279_1274853038.58734" 
+    capture_lex $P1105
+    .const 'Sub' $P1098 = "277_1274853038.58734" 
+    capture_lex $P1098
+    .const 'Sub' $P1091 = "275_1274853038.58734" 
+    capture_lex $P1091
+    .const 'Sub' $P1084 = "273_1274853038.58734" 
+    capture_lex $P1084
+    .const 'Sub' $P1077 = "271_1274853038.58734" 
+    capture_lex $P1077
+    .const 'Sub' $P1070 = "269_1274853038.58734" 
+    capture_lex $P1070
+    .const 'Sub' $P1063 = "267_1274853038.58734" 
+    capture_lex $P1063
+    .const 'Sub' $P1056 = "265_1274853038.58734" 
+    capture_lex $P1056
+    .const 'Sub' $P1049 = "263_1274853038.58734" 
+    capture_lex $P1049
+    .const 'Sub' $P1042 = "261_1274853038.58734" 
+    capture_lex $P1042
+    .const 'Sub' $P1035 = "259_1274853038.58734" 
+    capture_lex $P1035
+    .const 'Sub' $P1029 = "257_1274853038.58734" 
+    capture_lex $P1029
+    .const 'Sub' $P1022 = "255_1274853038.58734" 
+    capture_lex $P1022
+    .const 'Sub' $P1015 = "253_1274853038.58734" 
+    capture_lex $P1015
+    .const 'Sub' $P1008 = "251_1274853038.58734" 
+    capture_lex $P1008
+    .const 'Sub' $P1001 = "249_1274853038.58734" 
+    capture_lex $P1001
+    .const 'Sub' $P994 = "247_1274853038.58734" 
+    capture_lex $P994
+    .const 'Sub' $P987 = "245_1274853038.58734" 
+    capture_lex $P987
+    .const 'Sub' $P980 = "243_1274853038.58734" 
+    capture_lex $P980
+    .const 'Sub' $P974 = "241_1274853038.58734" 
+    capture_lex $P974
+    .const 'Sub' $P968 = "239_1274853038.58734" 
+    capture_lex $P968
+    .const 'Sub' $P963 = "237_1274853038.58734" 
     capture_lex $P963
-    .const 'Sub' $P958 = "235_1274800460.92525" 
-    capture_lex $P958
-    .const 'Sub' $P952 = "233_1274800460.92525" 
-    capture_lex $P952
-    .const 'Sub' $P946 = "231_1274800460.92525" 
+    .const 'Sub' $P957 = "235_1274853038.58734" 
+    capture_lex $P957
+    .const 'Sub' $P951 = "233_1274853038.58734" 
+    capture_lex $P951
+    .const 'Sub' $P946 = "231_1274853038.58734" 
     capture_lex $P946
-    .const 'Sub' $P941 = "229_1274800460.92525" 
+    .const 'Sub' $P941 = "229_1274853038.58734" 
     capture_lex $P941
-    .const 'Sub' $P936 = "227_1274800460.92525" 
-    capture_lex $P936
-    .const 'Sub' $P929 = "225_1274800460.92525" 
-    capture_lex $P929
-    .const 'Sub' $P921 = "223_1274800460.92525" 
+    .const 'Sub' $P934 = "227_1274853038.58734" 
+    capture_lex $P934
+    .const 'Sub' $P926 = "225_1274853038.58734" 
+    capture_lex $P926
+    .const 'Sub' $P921 = "223_1274853038.58734" 
     capture_lex $P921
-    .const 'Sub' $P916 = "221_1274800460.92525" 
+    .const 'Sub' $P916 = "221_1274853038.58734" 
     capture_lex $P916
-    .const 'Sub' $P911 = "219_1274800460.92525" 
+    .const 'Sub' $P911 = "219_1274853038.58734" 
     capture_lex $P911
-    .const 'Sub' $P906 = "217_1274800460.92525" 
-    capture_lex $P906
-    .const 'Sub' $P898 = "215_1274800460.92525" 
-    capture_lex $P898
-    .const 'Sub' $P890 = "213_1274800460.92525" 
+    .const 'Sub' $P903 = "217_1274853038.58734" 
+    capture_lex $P903
+    .const 'Sub' $P895 = "215_1274853038.58734" 
+    capture_lex $P895
+    .const 'Sub' $P890 = "213_1274853038.58734" 
     capture_lex $P890
-    .const 'Sub' $P885 = "211_1274800460.92525" 
+    .const 'Sub' $P885 = "211_1274853038.58734" 
     capture_lex $P885
-    .const 'Sub' $P880 = "209_1274800460.92525" 
+    .const 'Sub' $P880 = "209_1274853038.58734" 
     capture_lex $P880
-    .const 'Sub' $P875 = "207_1274800460.92525" 
-    capture_lex $P875
-    .const 'Sub' $P869 = "205_1274800460.92525" 
-    capture_lex $P869
-    .const 'Sub' $P863 = "203_1274800460.92525" 
-    capture_lex $P863
-    .const 'Sub' $P857 = "201_1274800460.92525" 
-    capture_lex $P857
-    .const 'Sub' $P851 = "199_1274800460.92525" 
-    capture_lex $P851
-    .const 'Sub' $P845 = "197_1274800460.92525" 
+    .const 'Sub' $P874 = "207_1274853038.58734" 
+    capture_lex $P874
+    .const 'Sub' $P868 = "205_1274853038.58734" 
+    capture_lex $P868
+    .const 'Sub' $P862 = "203_1274853038.58734" 
+    capture_lex $P862
+    .const 'Sub' $P856 = "201_1274853038.58734" 
+    capture_lex $P856
+    .const 'Sub' $P850 = "199_1274853038.58734" 
+    capture_lex $P850
+    .const 'Sub' $P845 = "197_1274853038.58734" 
     capture_lex $P845
-    .const 'Sub' $P840 = "195_1274800460.92525" 
+    .const 'Sub' $P840 = "195_1274853038.58734" 
     capture_lex $P840
-    .const 'Sub' $P835 = "193_1274800460.92525" 
-    capture_lex $P835
-    .const 'Sub' $P822 = "189_1274800460.92525" 
-    capture_lex $P822
-    .const 'Sub' $P814 = "187_1274800460.92525" 
-    capture_lex $P814
-    .const 'Sub' $P808 = "185_1274800460.92525" 
-    capture_lex $P808
-    .const 'Sub' $P801 = "183_1274800460.92525" 
-    capture_lex $P801
-    .const 'Sub' $P795 = "181_1274800460.92525" 
-    capture_lex $P795
-    .const 'Sub' $P787 = "179_1274800460.92525" 
-    capture_lex $P787
-    .const 'Sub' $P779 = "177_1274800460.92525" 
-    capture_lex $P779
-    .const 'Sub' $P773 = "175_1274800460.92525" 
-    capture_lex $P773
-    .const 'Sub' $P767 = "173_1274800460.92525" 
-    capture_lex $P767
-    .const 'Sub' $P752 = "169_1274800460.92525" 
-    capture_lex $P752
-    .const 'Sub' $P715 = "167_1274800460.92525" 
-    capture_lex $P715
-    .const 'Sub' $P707 = "165_1274800460.92525" 
-    capture_lex $P707
-    .const 'Sub' $P701 = "163_1274800460.92525" 
-    capture_lex $P701
-    .const 'Sub' $P691 = "161_1274800460.92525" 
-    capture_lex $P691
-    .const 'Sub' $P677 = "159_1274800460.92525" 
-    capture_lex $P677
-    .const 'Sub' $P668 = "157_1274800460.92525" 
-    capture_lex $P668
-    .const 'Sub' $P649 = "155_1274800460.92525" 
-    capture_lex $P649
-    .const 'Sub' $P625 = "153_1274800460.92525" 
-    capture_lex $P625
-    .const 'Sub' $P618 = "151_1274800460.92525" 
-    capture_lex $P618
-    .const 'Sub' $P611 = "149_1274800460.92525" 
-    capture_lex $P611
-    .const 'Sub' $P601 = "145_1274800460.92525" 
-    capture_lex $P601
-    .const 'Sub' $P593 = "143_1274800460.92525" 
-    capture_lex $P593
-    .const 'Sub' $P587 = "141_1274800460.92525" 
-    capture_lex $P587
-    .const 'Sub' $P573 = "139_1274800460.92525" 
-    capture_lex $P573
-    .const 'Sub' $P566 = "137_1274800460.92525" 
-    capture_lex $P566
-    .const 'Sub' $P559 = "135_1274800460.92525" 
-    capture_lex $P559
-    .const 'Sub' $P552 = "133_1274800460.92525" 
-    capture_lex $P552
-    .const 'Sub' $P525 = "129_1274800460.92525" 
-    capture_lex $P525
-    .const 'Sub' $P516 = "127_1274800460.92525" 
-    capture_lex $P516
-    .const 'Sub' $P509 = "125_1274800460.92525" 
-    capture_lex $P509
-    .const 'Sub' $P500 = "121_1274800460.92525" 
+    .const 'Sub' $P827 = "191_1274853038.58734" 
+    capture_lex $P827
+    .const 'Sub' $P819 = "189_1274853038.58734" 
+    capture_lex $P819
+    .const 'Sub' $P813 = "187_1274853038.58734" 
+    capture_lex $P813
+    .const 'Sub' $P806 = "185_1274853038.58734" 
+    capture_lex $P806
+    .const 'Sub' $P800 = "183_1274853038.58734" 
+    capture_lex $P800
+    .const 'Sub' $P792 = "181_1274853038.58734" 
+    capture_lex $P792
+    .const 'Sub' $P784 = "179_1274853038.58734" 
+    capture_lex $P784
+    .const 'Sub' $P778 = "177_1274853038.58734" 
+    capture_lex $P778
+    .const 'Sub' $P772 = "175_1274853038.58734" 
+    capture_lex $P772
+    .const 'Sub' $P757 = "171_1274853038.58734" 
+    capture_lex $P757
+    .const 'Sub' $P720 = "169_1274853038.58734" 
+    capture_lex $P720
+    .const 'Sub' $P712 = "167_1274853038.58734" 
+    capture_lex $P712
+    .const 'Sub' $P706 = "165_1274853038.58734" 
+    capture_lex $P706
+    .const 'Sub' $P696 = "163_1274853038.58734" 
+    capture_lex $P696
+    .const 'Sub' $P682 = "161_1274853038.58734" 
+    capture_lex $P682
+    .const 'Sub' $P673 = "159_1274853038.58734" 
+    capture_lex $P673
+    .const 'Sub' $P654 = "157_1274853038.58734" 
+    capture_lex $P654
+    .const 'Sub' $P630 = "155_1274853038.58734" 
+    capture_lex $P630
+    .const 'Sub' $P623 = "153_1274853038.58734" 
+    capture_lex $P623
+    .const 'Sub' $P616 = "151_1274853038.58734" 
+    capture_lex $P616
+    .const 'Sub' $P606 = "147_1274853038.58734" 
+    capture_lex $P606
+    .const 'Sub' $P598 = "145_1274853038.58734" 
+    capture_lex $P598
+    .const 'Sub' $P592 = "143_1274853038.58734" 
+    capture_lex $P592
+    .const 'Sub' $P578 = "141_1274853038.58734" 
+    capture_lex $P578
+    .const 'Sub' $P571 = "139_1274853038.58734" 
+    capture_lex $P571
+    .const 'Sub' $P564 = "137_1274853038.58734" 
+    capture_lex $P564
+    .const 'Sub' $P557 = "135_1274853038.58734" 
+    capture_lex $P557
+    .const 'Sub' $P530 = "131_1274853038.58734" 
+    capture_lex $P530
+    .const 'Sub' $P521 = "129_1274853038.58734" 
+    capture_lex $P521
+    .const 'Sub' $P514 = "127_1274853038.58734" 
+    capture_lex $P514
+    .const 'Sub' $P505 = "123_1274853038.58734" 
+    capture_lex $P505
+    .const 'Sub' $P500 = "121_1274853038.58734" 
     capture_lex $P500
-    .const 'Sub' $P495 = "119_1274800460.92525" 
-    capture_lex $P495
-    .const 'Sub' $P483 = "117_1274800460.92525" 
-    capture_lex $P483
-    .const 'Sub' $P471 = "115_1274800460.92525" 
-    capture_lex $P471
-    .const 'Sub' $P463 = "113_1274800460.92525" 
+    .const 'Sub' $P488 = "119_1274853038.58734" 
+    capture_lex $P488
+    .const 'Sub' $P476 = "117_1274853038.58734" 
+    capture_lex $P476
+    .const 'Sub' $P468 = "115_1274853038.58734" 
+    capture_lex $P468
+    .const 'Sub' $P463 = "113_1274853038.58734" 
     capture_lex $P463
-    .const 'Sub' $P458 = "111_1274800460.92525" 
-    capture_lex $P458
-    .const 'Sub' $P452 = "109_1274800460.92525" 
-    capture_lex $P452
-    .const 'Sub' $P446 = "107_1274800460.92525" 
-    capture_lex $P446
-    .const 'Sub' $P440 = "105_1274800460.92525" 
-    capture_lex $P440
-    .const 'Sub' $P434 = "103_1274800460.92525" 
-    capture_lex $P434
-    .const 'Sub' $P428 = "101_1274800460.92525" 
-    capture_lex $P428
-    .const 'Sub' $P422 = "99_1274800460.92525" 
-    capture_lex $P422
-    .const 'Sub' $P416 = "97_1274800460.92525" 
-    capture_lex $P416
-    .const 'Sub' $P410 = "95_1274800460.92525" 
-    capture_lex $P410
-    .const 'Sub' $P402 = "93_1274800460.92525" 
-    capture_lex $P402
-    .const 'Sub' $P394 = "91_1274800460.92525" 
-    capture_lex $P394
-    .const 'Sub' $P382 = "87_1274800460.92525" 
-    capture_lex $P382
-    .const 'Sub' $P374 = "85_1274800460.92525" 
-    capture_lex $P374
-    .const 'Sub' $P364 = "81_1274800460.92525" 
-    capture_lex $P364
-    .const 'Sub' $P357 = "79_1274800460.92525" 
-    capture_lex $P357
-    .const 'Sub' $P350 = "77_1274800460.92525" 
-    capture_lex $P350
-    .const 'Sub' $P338 = "73_1274800460.92525" 
-    capture_lex $P338
-    .const 'Sub' $P330 = "71_1274800460.92525" 
-    capture_lex $P330
-    .const 'Sub' $P322 = "69_1274800460.92525" 
-    capture_lex $P322
-    .const 'Sub' $P302 = "67_1274800460.92525" 
-    capture_lex $P302
-    .const 'Sub' $P293 = "65_1274800460.92525" 
-    capture_lex $P293
-    .const 'Sub' $P275 = "62_1274800460.92525" 
-    capture_lex $P275
-    .const 'Sub' $P255 = "60_1274800460.92525" 
-    capture_lex $P255
-    .const 'Sub' $P246 = "56_1274800460.92525" 
+    .const 'Sub' $P457 = "111_1274853038.58734" 
+    capture_lex $P457
+    .const 'Sub' $P451 = "109_1274853038.58734" 
+    capture_lex $P451
+    .const 'Sub' $P445 = "107_1274853038.58734" 
+    capture_lex $P445
+    .const 'Sub' $P439 = "105_1274853038.58734" 
+    capture_lex $P439
+    .const 'Sub' $P433 = "103_1274853038.58734" 
+    capture_lex $P433
+    .const 'Sub' $P427 = "101_1274853038.58734" 
+    capture_lex $P427
+    .const 'Sub' $P421 = "99_1274853038.58734" 
+    capture_lex $P421
+    .const 'Sub' $P415 = "97_1274853038.58734" 
+    capture_lex $P415
+    .const 'Sub' $P407 = "95_1274853038.58734" 
+    capture_lex $P407
+    .const 'Sub' $P399 = "93_1274853038.58734" 
+    capture_lex $P399
+    .const 'Sub' $P387 = "89_1274853038.58734" 
+    capture_lex $P387
+    .const 'Sub' $P379 = "87_1274853038.58734" 
+    capture_lex $P379
+    .const 'Sub' $P369 = "83_1274853038.58734" 
+    capture_lex $P369
+    .const 'Sub' $P362 = "81_1274853038.58734" 
+    capture_lex $P362
+    .const 'Sub' $P355 = "79_1274853038.58734" 
+    capture_lex $P355
+    .const 'Sub' $P343 = "75_1274853038.58734" 
+    capture_lex $P343
+    .const 'Sub' $P335 = "73_1274853038.58734" 
+    capture_lex $P335
+    .const 'Sub' $P327 = "71_1274853038.58734" 
+    capture_lex $P327
+    .const 'Sub' $P307 = "69_1274853038.58734" 
+    capture_lex $P307
+    .const 'Sub' $P298 = "67_1274853038.58734" 
+    capture_lex $P298
+    .const 'Sub' $P280 = "64_1274853038.58734" 
+    capture_lex $P280
+    .const 'Sub' $P260 = "62_1274853038.58734" 
+    capture_lex $P260
+    .const 'Sub' $P251 = "58_1274853038.58734" 
+    capture_lex $P251
+    .const 'Sub' $P246 = "56_1274853038.58734" 
     capture_lex $P246
-    .const 'Sub' $P241 = "54_1274800460.92525" 
-    capture_lex $P241
-    .const 'Sub' $P232 = "50_1274800460.92525" 
+    .const 'Sub' $P237 = "52_1274853038.58734" 
+    capture_lex $P237
+    .const 'Sub' $P232 = "50_1274853038.58734" 
     capture_lex $P232
-    .const 'Sub' $P227 = "48_1274800460.92525" 
+    .const 'Sub' $P227 = "48_1274853038.58734" 
     capture_lex $P227
-    .const 'Sub' $P219 = "46_1274800460.92525" 
+    .const 'Sub' $P219 = "46_1274853038.58734" 
     capture_lex $P219
-    .const 'Sub' $P212 = "44_1274800460.92525" 
+    .const 'Sub' $P212 = "44_1274853038.58734" 
     capture_lex $P212
-    .const 'Sub' $P206 = "42_1274800460.92525" 
+    .const 'Sub' $P206 = "42_1274853038.58734" 
     capture_lex $P206
-    .const 'Sub' $P198 = "40_1274800460.92525" 
+    .const 'Sub' $P198 = "40_1274853038.58734" 
     capture_lex $P198
-    .const 'Sub' $P192 = "38_1274800460.92525" 
+    .const 'Sub' $P192 = "38_1274853038.58734" 
     capture_lex $P192
-    .const 'Sub' $P186 = "36_1274800460.92525" 
+    .const 'Sub' $P186 = "36_1274853038.58734" 
     capture_lex $P186
-    .const 'Sub' $P170 = "33_1274800460.92525" 
+    .const 'Sub' $P170 = "33_1274853038.58734" 
     capture_lex $P170
-    .const 'Sub' $P157 = "31_1274800460.92525" 
+    .const 'Sub' $P157 = "31_1274853038.58734" 
     capture_lex $P157
-    .const 'Sub' $P150 = "29_1274800460.92525" 
+    .const 'Sub' $P150 = "29_1274853038.58734" 
     capture_lex $P150
-    .const 'Sub' $P100 = "26_1274800460.92525" 
+    .const 'Sub' $P100 = "26_1274853038.58734" 
     capture_lex $P100
-    .const 'Sub' $P82 = "23_1274800460.92525" 
+    .const 'Sub' $P82 = "23_1274853038.58734" 
     capture_lex $P82
-    .const 'Sub' $P68 = "21_1274800460.92525" 
+    .const 'Sub' $P68 = "21_1274853038.58734" 
     capture_lex $P68
-    .const 'Sub' $P54 = "19_1274800460.92525" 
+    .const 'Sub' $P54 = "19_1274853038.58734" 
     capture_lex $P54
-    .const 'Sub' $P46 = "17_1274800460.92525" 
+    .const 'Sub' $P46 = "17_1274853038.58734" 
     capture_lex $P46
-    .const 'Sub' $P39 = "15_1274800460.92525" 
+    .const 'Sub' $P39 = "15_1274853038.58734" 
     capture_lex $P39
-    .const 'Sub' $P33 = "13_1274800460.92525" 
+    .const 'Sub' $P33 = "13_1274853038.58734" 
     capture_lex $P33
-    .const 'Sub' $P15 = "12_1274800460.92525" 
+    .const 'Sub' $P15 = "12_1274853038.58734" 
     capture_lex $P15
-.annotate 'line', 548
-    get_hll_global $P1290, ["NQP";"Regex"], "_block1289" 
-    capture_lex $P1290
-    $P1353 = $P1290()
+    $P0 = find_dynamic_lex "$*CTXSAVE"
+    if null $P0 goto ctxsave_done
+    $I0 = can $P0, "ctxsave"
+    unless $I0 goto ctxsave_done
+    $P0."ctxsave"()
+  ctxsave_done:
+.annotate 'line', 550
+    get_hll_global $P1295, ["NQP";"Regex"], "_block1294" 
+    capture_lex $P1295
+    $P1358 = $P1295()
 .annotate 'line', 4
-    .return ($P1353)
-    .const 'Sub' $P1355 = "351_1274800460.92525" 
-    .return ($P1355)
+    .return ($P1358)
+    .const 'Sub' $P1360 = "353_1274853038.58734" 
+    .return ($P1360)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "" :load :init :subid("post354") :outer("11_1274800460.92525")
+.sub "" :load :init :subid("post356") :outer("11_1274853038.58734")
 .annotate 'line', 4
     get_hll_global $P14, ["NQP";"Grammar"], "_block13" 
     .local pmc block
     set block, $P14
-.annotate 'line', 432
-    get_hll_global $P1358, ["NQP"], "Grammar"
-    $P1358."O"(":prec<y=>, :assoc<unary>", "%methodop")
-.annotate 'line', 433
-    get_hll_global $P1359, ["NQP"], "Grammar"
-    $P1359."O"(":prec<x=>, :assoc<unary>", "%autoincrement")
 .annotate 'line', 434
-    get_hll_global $P1360, ["NQP"], "Grammar"
-    $P1360."O"(":prec<w=>, :assoc<left>", "%exponentiation")
+    get_hll_global $P1363, ["NQP"], "Grammar"
+    $P1363."O"(":prec<y=>, :assoc<unary>", "%methodop")
 .annotate 'line', 435
-    get_hll_global $P1361, ["NQP"], "Grammar"
-    $P1361."O"(":prec<v=>, :assoc<unary>", "%symbolic_unary")
+    get_hll_global $P1364, ["NQP"], "Grammar"
+    $P1364."O"(":prec<x=>, :assoc<unary>", "%autoincrement")
 .annotate 'line', 436
-    get_hll_global $P1362, ["NQP"], "Grammar"
-    $P1362."O"(":prec<u=>, :assoc<left>", "%multiplicative")
+    get_hll_global $P1365, ["NQP"], "Grammar"
+    $P1365."O"(":prec<w=>, :assoc<left>", "%exponentiation")
 .annotate 'line', 437
-    get_hll_global $P1363, ["NQP"], "Grammar"
-    $P1363."O"(":prec<t=>, :assoc<left>", "%additive")
+    get_hll_global $P1366, ["NQP"], "Grammar"
+    $P1366."O"(":prec<v=>, :assoc<unary>", "%symbolic_unary")
 .annotate 'line', 438
-    get_hll_global $P1364, ["NQP"], "Grammar"
-    $P1364."O"(":prec<r=>, :assoc<left>", "%concatenation")
+    get_hll_global $P1367, ["NQP"], "Grammar"
+    $P1367."O"(":prec<u=>, :assoc<left>", "%multiplicative")
 .annotate 'line', 439
-    get_hll_global $P1365, ["NQP"], "Grammar"
-    $P1365."O"(":prec<m=>, :assoc<left>", "%relational")
+    get_hll_global $P1368, ["NQP"], "Grammar"
+    $P1368."O"(":prec<t=>, :assoc<left>", "%additive")
 .annotate 'line', 440
-    get_hll_global $P1366, ["NQP"], "Grammar"
-    $P1366."O"(":prec<l=>, :assoc<left>", "%tight_and")
+    get_hll_global $P1369, ["NQP"], "Grammar"
+    $P1369."O"(":prec<r=>, :assoc<left>", "%concatenation")
 .annotate 'line', 441
-    get_hll_global $P1367, ["NQP"], "Grammar"
-    $P1367."O"(":prec<k=>, :assoc<left>", "%tight_or")
+    get_hll_global $P1370, ["NQP"], "Grammar"
+    $P1370."O"(":prec<m=>, :assoc<left>", "%relational")
 .annotate 'line', 442
-    get_hll_global $P1368, ["NQP"], "Grammar"
-    $P1368."O"(":prec<j=>, :assoc<right>", "%conditional")
+    get_hll_global $P1371, ["NQP"], "Grammar"
+    $P1371."O"(":prec<l=>, :assoc<left>", "%tight_and")
 .annotate 'line', 443
-    get_hll_global $P1369, ["NQP"], "Grammar"
-    $P1369."O"(":prec<i=>, :assoc<right>", "%assignment")
+    get_hll_global $P1372, ["NQP"], "Grammar"
+    $P1372."O"(":prec<k=>, :assoc<left>", "%tight_or")
 .annotate 'line', 444
-    get_hll_global $P1370, ["NQP"], "Grammar"
-    $P1370."O"(":prec<g=>, :assoc<list>, :nextterm<nulltermish>", "%comma")
+    get_hll_global $P1373, ["NQP"], "Grammar"
+    $P1373."O"(":prec<j=>, :assoc<right>", "%conditional")
 .annotate 'line', 445
-    get_hll_global $P1371, ["NQP"], "Grammar"
-    $P1371."O"(":prec<f=>, :assoc<list>", "%list_infix")
+    get_hll_global $P1374, ["NQP"], "Grammar"
+    $P1374."O"(":prec<i=>, :assoc<right>", "%assignment")
 .annotate 'line', 446
-    get_hll_global $P1372, ["NQP"], "Grammar"
-    $P1372."O"(":prec<e=>, :assoc<unary>", "%list_prefix")
-.annotate 'line', 431
-    $P1373 = get_root_global ["parrot"], "P6metaclass"
-    $P1373."new_class"("NQP::Regex", "Regex::P6Regex::Grammar" :named("parent"))
+    get_hll_global $P1375, ["NQP"], "Grammar"
+    $P1375."O"(":prec<g=>, :assoc<list>, :nextterm<nulltermish>", "%comma")
+.annotate 'line', 447
+    get_hll_global $P1376, ["NQP"], "Grammar"
+    $P1376."O"(":prec<f=>, :assoc<list>", "%list_infix")
+.annotate 'line', 448
+    get_hll_global $P1377, ["NQP"], "Grammar"
+    $P1377."O"(":prec<e=>, :assoc<unary>", "%list_prefix")
+.annotate 'line', 433
+    $P1378 = get_root_global ["parrot"], "P6metaclass"
+    $P1378."new_class"("NQP::Regex", "Regex::P6Regex::Grammar" :named("parent"))
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "TOP"  :subid("12_1274800460.92525") :method :outer("11_1274800460.92525")
+.sub "TOP"  :subid("12_1274853038.58734") :method :outer("11_1274853038.58734")
 .annotate 'line', 4
     new $P17, 'ExceptionHandler'
     set_addr $P17, control_16
@@ -426,55 +441,55 @@
     .lex "$*SCOPE", $P19
 .annotate 'line', 4
     find_lex $P20, "%*LANG"
-    unless_null $P20, vivify_355
+    unless_null $P20, vivify_357
     get_hll_global $P20, "%LANG"
-    unless_null $P20, vivify_356
+    unless_null $P20, vivify_358
     die "Contextual %*LANG not found"
-  vivify_356:
-  vivify_355:
+  vivify_358:
+  vivify_357:
 .annotate 'line', 6
     get_hll_global $P21, ["NQP"], "Regex"
     find_lex $P22, "%*LANG"
-    unless_null $P22, vivify_357
+    unless_null $P22, vivify_359
     get_hll_global $P22, "%LANG"
-    unless_null $P22, vivify_358
+    unless_null $P22, vivify_360
     die "Contextual %*LANG not found"
-  vivify_358:
+  vivify_360:
     store_lex "%*LANG", $P22
-  vivify_357:
+  vivify_359:
     set $P22["Regex"], $P21
 .annotate 'line', 7
     get_hll_global $P23, ["NQP"], "RegexActions"
     find_lex $P24, "%*LANG"
-    unless_null $P24, vivify_359
+    unless_null $P24, vivify_361
     get_hll_global $P24, "%LANG"
-    unless_null $P24, vivify_360
+    unless_null $P24, vivify_362
     die "Contextual %*LANG not found"
-  vivify_360:
+  vivify_362:
     store_lex "%*LANG", $P24
-  vivify_359:
+  vivify_361:
     set $P24["Regex-actions"], $P23
 .annotate 'line', 8
     get_hll_global $P25, ["NQP"], "Grammar"
     find_lex $P26, "%*LANG"
-    unless_null $P26, vivify_361
+    unless_null $P26, vivify_363
     get_hll_global $P26, "%LANG"
-    unless_null $P26, vivify_362
+    unless_null $P26, vivify_364
     die "Contextual %*LANG not found"
-  vivify_362:
+  vivify_364:
     store_lex "%*LANG", $P26
-  vivify_361:
+  vivify_363:
     set $P26["MAIN"], $P25
 .annotate 'line', 9
     get_hll_global $P27, ["NQP"], "Actions"
     find_lex $P28, "%*LANG"
-    unless_null $P28, vivify_363
+    unless_null $P28, vivify_365
     get_hll_global $P28, "%LANG"
-    unless_null $P28, vivify_364
+    unless_null $P28, vivify_366
     die "Contextual %*LANG not found"
-  vivify_364:
+  vivify_366:
     store_lex "%*LANG", $P28
-  vivify_363:
+  vivify_365:
     set $P28["MAIN-actions"], $P27
 .annotate 'line', 10
     new $P29, "String"
@@ -494,7 +509,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "identifier"  :subid("13_1274800460.92525") :method :outer("11_1274800460.92525")
+.sub "identifier"  :subid("13_1274853038.58734") :method :outer("11_1274853038.58734")
 .annotate 'line', 4
     .local string rx34_tgt
     .local int rx34_pos
@@ -552,7 +567,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__identifier"  :subid("14_1274800460.92525") :method
+.sub "!PREFIX__identifier"  :subid("14_1274853038.58734") :method
 .annotate 'line', 4
     $P36 = self."!PREFIX__!subrule"("ident", "")
     new $P37, "ResizablePMCArray"
@@ -562,7 +577,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "name"  :subid("15_1274800460.92525") :method :outer("11_1274800460.92525")
+.sub "name"  :subid("15_1274853038.58734") :method :outer("11_1274853038.58734")
 .annotate 'line', 4
     .local string rx40_tgt
     .local int rx40_pos
@@ -636,7 +651,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__name"  :subid("16_1274800460.92525") :method
+.sub "!PREFIX__name"  :subid("16_1274853038.58734") :method
 .annotate 'line', 4
     new $P42, "ResizablePMCArray"
     push $P42, ""
@@ -645,7 +660,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "deflongname"  :subid("17_1274800460.92525") :method :outer("11_1274800460.92525")
+.sub "deflongname"  :subid("17_1274853038.58734") :method :outer("11_1274853038.58734")
 .annotate 'line', 4
     .local string rx47_tgt
     .local int rx47_pos
@@ -718,7 +733,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__deflongname"  :subid("18_1274800460.92525") :method
+.sub "!PREFIX__deflongname"  :subid("18_1274853038.58734") :method
 .annotate 'line', 4
     $P49 = self."!PREFIX__!subrule"("identifier", "")
     new $P50, "ResizablePMCArray"
@@ -728,7 +743,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "ENDSTMT"  :subid("19_1274800460.92525") :method :outer("11_1274800460.92525")
+.sub "ENDSTMT"  :subid("19_1274853038.58734") :method :outer("11_1274853038.58734")
 .annotate 'line', 4
     .local string rx55_tgt
     .local int rx55_pos
@@ -860,7 +875,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__ENDSTMT"  :subid("20_1274800460.92525") :method
+.sub "!PREFIX__ENDSTMT"  :subid("20_1274853038.58734") :method
 .annotate 'line', 4
     new $P57, "ResizablePMCArray"
     push $P57, ""
@@ -869,7 +884,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "ws"  :subid("21_1274800460.92525") :method :outer("11_1274800460.92525")
+.sub "ws"  :subid("21_1274853038.58734") :method :outer("11_1274853038.58734")
 .annotate 'line', 4
     .local string rx69_tgt
     .local int rx69_pos
@@ -1024,7 +1039,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__ws"  :subid("22_1274800460.92525") :method
+.sub "!PREFIX__ws"  :subid("22_1274853038.58734") :method
 .annotate 'line', 4
     new $P71, "ResizablePMCArray"
     push $P71, ""
@@ -1034,9 +1049,9 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "unv"  :subid("23_1274800460.92525") :method :outer("11_1274800460.92525")
+.sub "unv"  :subid("23_1274853038.58734") :method :outer("11_1274853038.58734")
 .annotate 'line', 4
-    .const 'Sub' $P90 = "25_1274800460.92525" 
+    .const 'Sub' $P90 = "25_1274853038.58734" 
     capture_lex $P90
     .local string rx83_tgt
     .local int rx83_pos
@@ -1082,7 +1097,7 @@
   rxanchor88_done:
   # rx subrule "before" subtype=zerowidth negate=
     rx83_cur."!cursor_pos"(rx83_pos)
-    .const 'Sub' $P90 = "25_1274800460.92525" 
+    .const 'Sub' $P90 = "25_1274853038.58734" 
     capture_lex $P90
     $P10 = rx83_cur."before"($P90)
     unless $P10, rx83_fail
@@ -1161,7 +1176,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__unv"  :subid("24_1274800460.92525") :method
+.sub "!PREFIX__unv"  :subid("24_1274853038.58734") :method
 .annotate 'line', 4
     new $P85, "ResizablePMCArray"
     push $P85, ""
@@ -1172,7 +1187,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "_block89"  :anon :subid("25_1274800460.92525") :method :outer("23_1274800460.92525")
+.sub "_block89"  :anon :subid("25_1274853038.58734") :method :outer("23_1274853038.58734")
 .annotate 'line', 45
     .local string rx91_tgt
     .local int rx91_pos
@@ -1262,9 +1277,9 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "pod_comment"  :subid("26_1274800460.92525") :method :outer("11_1274800460.92525")
+.sub "pod_comment"  :subid("26_1274853038.58734") :method :outer("11_1274853038.58734")
 .annotate 'line', 4
-    .const 'Sub' $P141 = "28_1274800460.92525" 
+    .const 'Sub' $P141 = "28_1274853038.58734" 
     capture_lex $P141
     .local string rx101_tgt
     .local int rx101_pos
@@ -1750,7 +1765,7 @@
   rxanchor139_done:
   # rx subrule "before" subtype=zerowidth negate=
     rx101_cur."!cursor_pos"(rx101_pos)
-    .const 'Sub' $P141 = "28_1274800460.92525" 
+    .const 'Sub' $P141 = "28_1274853038.58734" 
     capture_lex $P141
     $P10 = rx101_cur."before"($P141)
     unless $P10, rx101_fail
@@ -1801,7 +1816,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__pod_comment"  :subid("27_1274800460.92525") :method
+.sub "!PREFIX__pod_comment"  :subid("27_1274853038.58734") :method
 .annotate 'line', 4
     new $P103, "ResizablePMCArray"
     push $P103, ""
@@ -1810,7 +1825,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "_block140"  :anon :subid("28_1274800460.92525") :method :outer("26_1274800460.92525")
+.sub "_block140"  :anon :subid("28_1274853038.58734") :method :outer("26_1274853038.58734")
 .annotate 'line', 68
     .local string rx142_tgt
     .local int rx142_pos
@@ -1929,7 +1944,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "comp_unit"  :subid("29_1274800460.92525") :method :outer("11_1274800460.92525")
+.sub "comp_unit"  :subid("29_1274853038.58734") :method :outer("11_1274853038.58734")
 .annotate 'line', 4
     .local string rx151_tgt
     .local int rx151_pos
@@ -1967,6 +1982,12 @@
     unless $P10, rx151_fail
     rx151_pos = $P10."pos"()
 .annotate 'line', 84
+  # rx subrule "outerctx" subtype=method negate=
+    rx151_cur."!cursor_pos"(rx151_pos)
+    $P10 = rx151_cur."outerctx"()
+    unless $P10, rx151_fail
+    rx151_pos = $P10."pos"()
+.annotate 'line', 85
   # rx subrule "statementlist" subtype=capture negate=
     rx151_cur."!cursor_pos"(rx151_pos)
     $P10 = rx151_cur."statementlist"()
@@ -1975,7 +1996,7 @@
     $P10."!cursor_names"("statementlist")
     rx151_pos = $P10."pos"()
   alt156_0:
-.annotate 'line', 85
+.annotate 'line', 86
     set_addr $I10, alt156_1
     rx151_cur."!mark_push"(0, rx151_pos, $I10)
   # rxanchor eos
@@ -2008,7 +2029,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__comp_unit"  :subid("30_1274800460.92525") :method
+.sub "!PREFIX__comp_unit"  :subid("30_1274853038.58734") :method
 .annotate 'line', 4
     $P153 = self."!PREFIX__!subrule"("", "")
     new $P154, "ResizablePMCArray"
@@ -2018,7 +2039,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "statementlist"  :subid("31_1274800460.92525") :method :outer("11_1274800460.92525")
+.sub "statementlist"  :subid("31_1274853038.58734") :method :outer("11_1274853038.58734")
 .annotate 'line', 4
     .local string rx158_tgt
     .local int rx158_pos
@@ -2051,10 +2072,10 @@
     rx158_cur."!mark_push"(0, rx158_pos, $I10)
   rxscan161_done:
   alt162_0:
-.annotate 'line', 88
+.annotate 'line', 89
     set_addr $I10, alt162_1
     rx158_cur."!mark_push"(0, rx158_pos, $I10)
-.annotate 'line', 89
+.annotate 'line', 90
   # rx subrule "ws" subtype=method negate=
     rx158_cur."!cursor_pos"(rx158_pos)
     $P10 = rx158_cur."ws"()
@@ -2069,7 +2090,7 @@
     rx158_pos = $P10."pos"()
     goto alt162_end
   alt162_1:
-.annotate 'line', 90
+.annotate 'line', 91
   # rx subrule "ws" subtype=method negate=
     rx158_cur."!cursor_pos"(rx158_pos)
     $P10 = rx158_cur."ws"()
@@ -2106,7 +2127,7 @@
     unless $P10, rx158_fail
     rx158_pos = $P10."pos"()
   alt162_end:
-.annotate 'line', 88
+.annotate 'line', 89
   # rx pass
     rx158_cur."!cursor_pass"(rx158_pos, "statementlist")
     rx158_cur."!cursor_debug"("PASS  ", "statementlist", " at pos=", rx158_pos)
@@ -2126,7 +2147,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__statementlist"  :subid("32_1274800460.92525") :method
+.sub "!PREFIX__statementlist"  :subid("32_1274853038.58734") :method
 .annotate 'line', 4
     new $P160, "ResizablePMCArray"
     push $P160, ""
@@ -2136,9 +2157,9 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "statement"  :subid("33_1274800460.92525") :method :outer("11_1274800460.92525")
+.sub "statement"  :subid("33_1274853038.58734") :method :outer("11_1274853038.58734")
 .annotate 'line', 4
-    .const 'Sub' $P176 = "35_1274800460.92525" 
+    .const 'Sub' $P176 = "35_1274853038.58734" 
     capture_lex $P176
     .local string rx171_tgt
     .local int rx171_pos
@@ -2170,18 +2191,18 @@
     set_addr $I10, rxscan174_loop
     rx171_cur."!mark_push"(0, rx171_pos, $I10)
   rxscan174_done:
-.annotate 'line', 94
+.annotate 'line', 95
   # rx subrule "before" subtype=zerowidth negate=1
     rx171_cur."!cursor_pos"(rx171_pos)
-    .const 'Sub' $P176 = "35_1274800460.92525" 
+    .const 'Sub' $P176 = "35_1274853038.58734" 
     capture_lex $P176
     $P10 = rx171_cur."before"($P176)
     if $P10, rx171_fail
   alt180_0:
-.annotate 'line', 95
+.annotate 'line', 96
     set_addr $I10, alt180_1
     rx171_cur."!mark_push"(0, rx171_pos, $I10)
-.annotate 'line', 96
+.annotate 'line', 97
   # rx subrule "statement_control" subtype=capture negate=
     rx171_cur."!cursor_pos"(rx171_pos)
     $P10 = rx171_cur."statement_control"()
@@ -2191,7 +2212,7 @@
     rx171_pos = $P10."pos"()
     goto alt180_end
   alt180_1:
-.annotate 'line', 97
+.annotate 'line', 98
   # rx subrule "EXPR" subtype=capture negate=
     rx171_cur."!cursor_pos"(rx171_pos)
     $P10 = rx171_cur."EXPR"()
@@ -2204,16 +2225,16 @@
     $P10 = rx171_cur."ws"()
     unless $P10, rx171_fail
     rx171_pos = $P10."pos"()
-.annotate 'line', 102
+.annotate 'line', 103
   # rx rxquantr181 ** 0..1
     set_addr $I185, rxquantr181_done
     rx171_cur."!mark_push"(0, rx171_pos, $I185)
   rxquantr181_loop:
   alt182_0:
-.annotate 'line', 98
+.annotate 'line', 99
     set_addr $I10, alt182_1
     rx171_cur."!mark_push"(0, rx171_pos, $I10)
-.annotate 'line', 99
+.annotate 'line', 100
   # rx subrule "MARKED" subtype=zerowidth negate=
     rx171_cur."!cursor_pos"(rx171_pos)
     $P10 = rx171_cur."MARKED"("endstmt")
@@ -2222,7 +2243,7 @@
   alt182_1:
     set_addr $I10, alt182_2
     rx171_cur."!mark_push"(0, rx171_pos, $I10)
-.annotate 'line', 100
+.annotate 'line', 101
   # rx subrule "statement_mod_cond" subtype=capture negate=
     rx171_cur."!cursor_pos"(rx171_pos)
     $P10 = rx171_cur."statement_mod_cond"()
@@ -2245,7 +2266,7 @@
   rxquantr183_done:
     goto alt182_end
   alt182_2:
-.annotate 'line', 101
+.annotate 'line', 102
   # rx subrule "statement_mod_loop" subtype=capture negate=
     rx171_cur."!cursor_pos"(rx171_pos)
     $P10 = rx171_cur."statement_mod_loop"()
@@ -2254,11 +2275,11 @@
     $P10."!cursor_names"("statement_mod_loop")
     rx171_pos = $P10."pos"()
   alt182_end:
-.annotate 'line', 102
+.annotate 'line', 103
     (rx171_rep) = rx171_cur."!mark_commit"($I185)
   rxquantr181_done:
   alt180_end:
-.annotate 'line', 93
+.annotate 'line', 94
   # rx pass
     rx171_cur."!cursor_pass"(rx171_pos, "statement")
     rx171_cur."!cursor_debug"("PASS  ", "statement", " at pos=", rx171_pos)
@@ -2278,7 +2299,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__statement"  :subid("34_1274800460.92525") :method
+.sub "!PREFIX__statement"  :subid("34_1274853038.58734") :method
 .annotate 'line', 4
     new $P173, "ResizablePMCArray"
     push $P173, ""
@@ -2287,8 +2308,8 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "_block175"  :anon :subid("35_1274800460.92525") :method :outer("33_1274800460.92525")
-.annotate 'line', 94
+.sub "_block175"  :anon :subid("35_1274853038.58734") :method :outer("33_1274853038.58734")
+.annotate 'line', 95
     .local string rx177_tgt
     .local int rx177_pos
     .local int rx177_off
@@ -2351,7 +2372,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "eat_terminator"  :subid("36_1274800460.92525") :method :outer("11_1274800460.92525")
+.sub "eat_terminator"  :subid("36_1274853038.58734") :method :outer("11_1274853038.58734")
 .annotate 'line', 4
     .local string rx187_tgt
     .local int rx187_pos
@@ -2383,10 +2404,10 @@
     rx187_cur."!mark_push"(0, rx187_pos, $I10)
   rxscan190_done:
   alt191_0:
-.annotate 'line', 106
+.annotate 'line', 107
     set_addr $I10, alt191_1
     rx187_cur."!mark_push"(0, rx187_pos, $I10)
-.annotate 'line', 107
+.annotate 'line', 108
   # rx literal  ";"
     add $I11, rx187_pos, 1
     gt $I11, rx187_eos, rx187_fail
@@ -2398,7 +2419,7 @@
   alt191_1:
     set_addr $I10, alt191_2
     rx187_cur."!mark_push"(0, rx187_pos, $I10)
-.annotate 'line', 108
+.annotate 'line', 109
   # rx subrule "MARKED" subtype=zerowidth negate=
     rx187_cur."!cursor_pos"(rx187_pos)
     $P10 = rx187_cur."MARKED"("endstmt")
@@ -2407,18 +2428,18 @@
   alt191_2:
     set_addr $I10, alt191_3
     rx187_cur."!mark_push"(0, rx187_pos, $I10)
-.annotate 'line', 109
+.annotate 'line', 110
   # rx subrule "terminator" subtype=zerowidth negate=
     rx187_cur."!cursor_pos"(rx187_pos)
     $P10 = rx187_cur."terminator"()
     unless $P10, rx187_fail
     goto alt191_end
   alt191_3:
-.annotate 'line', 110
+.annotate 'line', 111
   # rxanchor eos
     ne rx187_pos, rx187_eos, rx187_fail
   alt191_end:
-.annotate 'line', 106
+.annotate 'line', 107
   # rx pass
     rx187_cur."!cursor_pass"(rx187_pos, "eat_terminator")
     rx187_cur."!cursor_debug"("PASS  ", "eat_terminator", " at pos=", rx187_pos)
@@ -2438,7 +2459,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__eat_terminator"  :subid("37_1274800460.92525") :method
+.sub "!PREFIX__eat_terminator"  :subid("37_1274853038.58734") :method
 .annotate 'line', 4
     new $P189, "ResizablePMCArray"
     push $P189, ""
@@ -2450,7 +2471,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "xblock"  :subid("38_1274800460.92525") :method :outer("11_1274800460.92525")
+.sub "xblock"  :subid("38_1274853038.58734") :method :outer("11_1274853038.58734")
 .annotate 'line', 4
     .local string rx193_tgt
     .local int rx193_pos
@@ -2481,7 +2502,7 @@
     set_addr $I10, rxscan197_loop
     rx193_cur."!mark_push"(0, rx193_pos, $I10)
   rxscan197_done:
-.annotate 'line', 114
+.annotate 'line', 115
   # rx subrule "EXPR" subtype=capture negate=
     rx193_cur."!cursor_pos"(rx193_pos)
     $P10 = rx193_cur."EXPR"()
@@ -2501,7 +2522,7 @@
     rx193_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("pblock")
     rx193_pos = $P10."pos"()
-.annotate 'line', 113
+.annotate 'line', 114
   # rx pass
     rx193_cur."!cursor_pass"(rx193_pos, "xblock")
     rx193_cur."!cursor_debug"("PASS  ", "xblock", " at pos=", rx193_pos)
@@ -2521,7 +2542,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__xblock"  :subid("39_1274800460.92525") :method
+.sub "!PREFIX__xblock"  :subid("39_1274853038.58734") :method
 .annotate 'line', 4
     $P195 = self."!PREFIX__!subrule"("EXPR", "")
     new $P196, "ResizablePMCArray"
@@ -2531,7 +2552,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "pblock"  :subid("40_1274800460.92525") :method :outer("11_1274800460.92525")
+.sub "pblock"  :subid("40_1274853038.58734") :method :outer("11_1274853038.58734")
 .annotate 'line', 4
     .local string rx199_tgt
     .local int rx199_pos
@@ -2563,22 +2584,22 @@
     rx199_cur."!mark_push"(0, rx199_pos, $I10)
   rxscan204_done:
   alt205_0:
-.annotate 'line', 117
+.annotate 'line', 118
     set_addr $I10, alt205_1
     rx199_cur."!mark_push"(0, rx199_pos, $I10)
-.annotate 'line', 118
+.annotate 'line', 119
   # rx subrule "lambda" subtype=method negate=
     rx199_cur."!cursor_pos"(rx199_pos)
     $P10 = rx199_cur."lambda"()
     unless $P10, rx199_fail
     rx199_pos = $P10."pos"()
-.annotate 'line', 119
+.annotate 'line', 120
   # rx subrule "newpad" subtype=method negate=
     rx199_cur."!cursor_pos"(rx199_pos)
     $P10 = rx199_cur."newpad"()
     unless $P10, rx199_fail
     rx199_pos = $P10."pos"()
-.annotate 'line', 120
+.annotate 'line', 121
   # rx subrule "signature" subtype=capture negate=
     rx199_cur."!cursor_pos"(rx199_pos)
     $P10 = rx199_cur."signature"()
@@ -2586,7 +2607,7 @@
     rx199_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("signature")
     rx199_pos = $P10."pos"()
-.annotate 'line', 121
+.annotate 'line', 122
   # rx subrule "blockoid" subtype=capture negate=
     rx199_cur."!cursor_pos"(rx199_pos)
     $P10 = rx199_cur."blockoid"()
@@ -2594,25 +2615,25 @@
     rx199_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("blockoid")
     rx199_pos = $P10."pos"()
-.annotate 'line', 118
+.annotate 'line', 119
     goto alt205_end
   alt205_1:
     set_addr $I10, alt205_2
     rx199_cur."!mark_push"(0, rx199_pos, $I10)
-.annotate 'line', 122
+.annotate 'line', 123
   # rx enumcharlist negate=0 zerowidth
     ge rx199_pos, rx199_eos, rx199_fail
     sub $I10, rx199_pos, rx199_off
     substr $S10, rx199_tgt, $I10, 1
     index $I11, "{", $S10
     lt $I11, 0, rx199_fail
-.annotate 'line', 123
+.annotate 'line', 124
   # rx subrule "newpad" subtype=method negate=
     rx199_cur."!cursor_pos"(rx199_pos)
     $P10 = rx199_cur."newpad"()
     unless $P10, rx199_fail
     rx199_pos = $P10."pos"()
-.annotate 'line', 124
+.annotate 'line', 125
   # rx subrule "blockoid" subtype=capture negate=
     rx199_cur."!cursor_pos"(rx199_pos)
     $P10 = rx199_cur."blockoid"()
@@ -2620,17 +2641,17 @@
     rx199_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("blockoid")
     rx199_pos = $P10."pos"()
-.annotate 'line', 122
+.annotate 'line', 123
     goto alt205_end
   alt205_2:
-.annotate 'line', 125
+.annotate 'line', 126
   # rx subrule "panic" subtype=method negate=
     rx199_cur."!cursor_pos"(rx199_pos)
     $P10 = rx199_cur."panic"("Missing block")
     unless $P10, rx199_fail
     rx199_pos = $P10."pos"()
   alt205_end:
-.annotate 'line', 117
+.annotate 'line', 118
   # rx pass
     rx199_cur."!cursor_pass"(rx199_pos, "pblock")
     rx199_cur."!cursor_debug"("PASS  ", "pblock", " at pos=", rx199_pos)
@@ -2650,7 +2671,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__pblock"  :subid("41_1274800460.92525") :method
+.sub "!PREFIX__pblock"  :subid("41_1274853038.58734") :method
 .annotate 'line', 4
     $P201 = self."!PREFIX__!subrule"("", "")
     $P202 = self."!PREFIX__!subrule"("", "")
@@ -2663,7 +2684,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "lambda"  :subid("42_1274800460.92525") :method :outer("11_1274800460.92525")
+.sub "lambda"  :subid("42_1274853038.58734") :method :outer("11_1274853038.58734")
 .annotate 'line', 4
     .local string rx207_tgt
     .local int rx207_pos
@@ -2695,7 +2716,7 @@
     rx207_cur."!mark_push"(0, rx207_pos, $I10)
   rxscan210_done:
   alt211_0:
-.annotate 'line', 128
+.annotate 'line', 129
     set_addr $I10, alt211_1
     rx207_cur."!mark_push"(0, rx207_pos, $I10)
   # rx literal  "->"
@@ -2734,7 +2755,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__lambda"  :subid("43_1274800460.92525") :method
+.sub "!PREFIX__lambda"  :subid("43_1274853038.58734") :method
 .annotate 'line', 4
     new $P209, "ResizablePMCArray"
     push $P209, "<->"
@@ -2744,7 +2765,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "block"  :subid("44_1274800460.92525") :method :outer("11_1274800460.92525")
+.sub "block"  :subid("44_1274853038.58734") :method :outer("11_1274853038.58734")
 .annotate 'line', 4
     .local string rx213_tgt
     .local int rx213_pos
@@ -2776,7 +2797,7 @@
     rx213_cur."!mark_push"(0, rx213_pos, $I10)
   rxscan217_done:
   alt218_0:
-.annotate 'line', 131
+.annotate 'line', 132
     set_addr $I10, alt218_1
     rx213_cur."!mark_push"(0, rx213_pos, $I10)
   # rx enumcharlist negate=0 zerowidth
@@ -2793,13 +2814,13 @@
     unless $P10, rx213_fail
     rx213_pos = $P10."pos"()
   alt218_end:
-.annotate 'line', 132
+.annotate 'line', 133
   # rx subrule "newpad" subtype=method negate=
     rx213_cur."!cursor_pos"(rx213_pos)
     $P10 = rx213_cur."newpad"()
     unless $P10, rx213_fail
     rx213_pos = $P10."pos"()
-.annotate 'line', 133
+.annotate 'line', 134
   # rx subrule "blockoid" subtype=capture negate=
     rx213_cur."!cursor_pos"(rx213_pos)
     $P10 = rx213_cur."blockoid"()
@@ -2807,7 +2828,7 @@
     rx213_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("blockoid")
     rx213_pos = $P10."pos"()
-.annotate 'line', 130
+.annotate 'line', 131
   # rx pass
     rx213_cur."!cursor_pass"(rx213_pos, "block")
     rx213_cur."!cursor_debug"("PASS  ", "block", " at pos=", rx213_pos)
@@ -2827,7 +2848,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__block"  :subid("45_1274800460.92525") :method
+.sub "!PREFIX__block"  :subid("45_1274853038.58734") :method
 .annotate 'line', 4
     $P215 = self."!PREFIX__!subrule"("", "")
     new $P216, "ResizablePMCArray"
@@ -2838,7 +2859,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "blockoid"  :subid("46_1274800460.92525") :method :outer("11_1274800460.92525")
+.sub "blockoid"  :subid("46_1274853038.58734") :method :outer("11_1274853038.58734")
 .annotate 'line', 4
     .local string rx220_tgt
     .local int rx220_pos
@@ -2869,13 +2890,13 @@
     set_addr $I10, rxscan224_loop
     rx220_cur."!mark_push"(0, rx220_pos, $I10)
   rxscan224_done:
-.annotate 'line', 137
+.annotate 'line', 138
   # rx subrule "finishpad" subtype=method negate=
     rx220_cur."!cursor_pos"(rx220_pos)
     $P10 = rx220_cur."finishpad"()
     unless $P10, rx220_fail
     rx220_pos = $P10."pos"()
-.annotate 'line', 138
+.annotate 'line', 139
   # rx literal  "{"
     add $I11, rx220_pos, 1
     gt $I11, rx220_eos, rx220_fail
@@ -2908,12 +2929,12 @@
     unless $P10, rx220_fail
     rx220_pos = $P10."pos"()
   alt225_end:
-.annotate 'line', 139
+.annotate 'line', 140
   # rx subrule "ENDSTMT" subtype=zerowidth negate=
     rx220_cur."!cursor_pos"(rx220_pos)
     $P10 = rx220_cur."ENDSTMT"()
     unless $P10, rx220_fail
-.annotate 'line', 136
+.annotate 'line', 137
   # rx pass
     rx220_cur."!cursor_pass"(rx220_pos, "blockoid")
     rx220_cur."!cursor_debug"("PASS  ", "blockoid", " at pos=", rx220_pos)
@@ -2933,7 +2954,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__blockoid"  :subid("47_1274800460.92525") :method
+.sub "!PREFIX__blockoid"  :subid("47_1274853038.58734") :method
 .annotate 'line', 4
     $P222 = self."!PREFIX__!subrule"("", "")
     new $P223, "ResizablePMCArray"
@@ -2943,7 +2964,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "newpad"  :subid("48_1274800460.92525") :method :outer("11_1274800460.92525")
+.sub "newpad"  :subid("48_1274853038.58734") :method :outer("11_1274853038.58734")
 .annotate 'line', 4
     .local string rx228_tgt
     .local int rx228_pos
@@ -2974,7 +2995,7 @@
     set_addr $I10, rxscan231_loop
     rx228_cur."!mark_push"(0, rx228_pos, $I10)
   rxscan231_done:
-.annotate 'line', 142
+.annotate 'line', 143
   # rx pass
     rx228_cur."!cursor_pass"(rx228_pos, "newpad")
     rx228_cur."!cursor_debug"("PASS  ", "newpad", " at pos=", rx228_pos)
@@ -2994,7 +3015,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__newpad"  :subid("49_1274800460.92525") :method
+.sub "!PREFIX__newpad"  :subid("49_1274853038.58734") :method
 .annotate 'line', 4
     new $P230, "ResizablePMCArray"
     push $P230, ""
@@ -3003,7 +3024,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "finishpad"  :subid("50_1274800460.92525") :method :outer("11_1274800460.92525")
+.sub "outerctx"  :subid("50_1274853038.58734") :method :outer("11_1274853038.58734")
 .annotate 'line', 4
     .local string rx233_tgt
     .local int rx233_pos
@@ -3012,7 +3033,7 @@
     .local int rx233_rep
     .local pmc rx233_cur
     (rx233_cur, rx233_pos, rx233_tgt) = self."!cursor_start"()
-    rx233_cur."!cursor_debug"("START ", "finishpad")
+    rx233_cur."!cursor_debug"("START ", "outerctx")
     .lex unicode:"$\x{a2}", rx233_cur
     .local pmc match
     .lex "$/", match
@@ -3034,10 +3055,10 @@
     set_addr $I10, rxscan236_loop
     rx233_cur."!mark_push"(0, rx233_pos, $I10)
   rxscan236_done:
-.annotate 'line', 143
+.annotate 'line', 144
   # rx pass
-    rx233_cur."!cursor_pass"(rx233_pos, "finishpad")
-    rx233_cur."!cursor_debug"("PASS  ", "finishpad", " at pos=", rx233_pos)
+    rx233_cur."!cursor_pass"(rx233_pos, "outerctx")
+    rx233_cur."!cursor_debug"("PASS  ", "outerctx", " at pos=", rx233_pos)
     .return (rx233_cur)
   rx233_fail:
 .annotate 'line', 4
@@ -3047,14 +3068,14 @@
     jump $I10
   rx233_done:
     rx233_cur."!cursor_fail"()
-    rx233_cur."!cursor_debug"("FAIL  ", "finishpad")
+    rx233_cur."!cursor_debug"("FAIL  ", "outerctx")
     .return (rx233_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__finishpad"  :subid("51_1274800460.92525") :method
+.sub "!PREFIX__outerctx"  :subid("51_1274853038.58734") :method
 .annotate 'line', 4
     new $P235, "ResizablePMCArray"
     push $P235, ""
@@ -3063,89 +3084,83 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "terminator"  :subid("52_1274800460.92525") :method
+.sub "finishpad"  :subid("52_1274853038.58734") :method :outer("11_1274853038.58734")
+.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 ", "finishpad")
+    .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:
 .annotate 'line', 145
-    $P238 = self."!protoregex"("terminator")
-    .return ($P238)
+  # rx pass
+    rx238_cur."!cursor_pass"(rx238_pos, "finishpad")
+    rx238_cur."!cursor_debug"("PASS  ", "finishpad", " at pos=", rx238_pos)
+    .return (rx238_cur)
+  rx238_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
+    jump $I10
+  rx238_done:
+    rx238_cur."!cursor_fail"()
+    rx238_cur."!cursor_debug"("FAIL  ", "finishpad")
+    .return (rx238_cur)
+    .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__terminator"  :subid("53_1274800460.92525") :method
-.annotate 'line', 145
-    $P240 = self."!PREFIX__!protoregex"("terminator")
+.sub "!PREFIX__finishpad"  :subid("53_1274853038.58734") :method
+.annotate 'line', 4
+    new $P240, "ResizablePMCArray"
+    push $P240, ""
     .return ($P240)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "terminator:sym<;>"  :subid("54_1274800460.92525") :method :outer("11_1274800460.92525")
-.annotate 'line', 4
-    .local string rx242_tgt
-    .local int rx242_pos
-    .local int rx242_off
-    .local int rx242_eos
-    .local int rx242_rep
-    .local pmc rx242_cur
-    (rx242_cur, rx242_pos, rx242_tgt) = self."!cursor_start"()
-    rx242_cur."!cursor_debug"("START ", "terminator:sym<;>")
-    .lex unicode:"$\x{a2}", rx242_cur
-    .local pmc match
-    .lex "$/", match
-    length rx242_eos, rx242_tgt
-    set rx242_off, 0
-    lt rx242_pos, 2, rx242_start
-    sub rx242_off, rx242_pos, 1
-    substr rx242_tgt, rx242_tgt, rx242_off
-  rx242_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan245_done
-    goto rxscan245_scan
-  rxscan245_loop:
-    ($P10) = rx242_cur."from"()
-    inc $P10
-    set rx242_pos, $P10
-    ge rx242_pos, rx242_eos, rxscan245_done
-  rxscan245_scan:
-    set_addr $I10, rxscan245_loop
-    rx242_cur."!mark_push"(0, rx242_pos, $I10)
-  rxscan245_done:
+.sub "terminator"  :subid("54_1274853038.58734") :method
 .annotate 'line', 147
-  # rx enumcharlist negate=0 zerowidth
-    ge rx242_pos, rx242_eos, rx242_fail
-    sub $I10, rx242_pos, rx242_off
-    substr $S10, rx242_tgt, $I10, 1
-    index $I11, ";", $S10
-    lt $I11, 0, rx242_fail
-  # rx pass
-    rx242_cur."!cursor_pass"(rx242_pos, "terminator:sym<;>")
-    rx242_cur."!cursor_debug"("PASS  ", "terminator:sym<;>", " at pos=", rx242_pos)
-    .return (rx242_cur)
-  rx242_fail:
-.annotate 'line', 4
-    (rx242_rep, rx242_pos, $I10, $P10) = rx242_cur."!mark_fail"(0)
-    lt rx242_pos, -1, rx242_done
-    eq rx242_pos, -1, rx242_fail
-    jump $I10
-  rx242_done:
-    rx242_cur."!cursor_fail"()
-    rx242_cur."!cursor_debug"("FAIL  ", "terminator:sym<;>")
-    .return (rx242_cur)
-    .return ()
+    $P243 = self."!protoregex"("terminator")
+    .return ($P243)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__terminator:sym<;>"  :subid("55_1274800460.92525") :method
-.annotate 'line', 4
-    new $P244, "ResizablePMCArray"
-    push $P244, ";"
-    .return ($P244)
+.sub "!PREFIX__terminator"  :subid("55_1274853038.58734") :method
+.annotate 'line', 147
+    $P245 = self."!PREFIX__!protoregex"("terminator")
+    .return ($P245)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "terminator:sym<}>"  :subid("56_1274800460.92525") :method :outer("11_1274800460.92525")
+.sub "terminator:sym<;>"  :subid("56_1274853038.58734") :method :outer("11_1274853038.58734")
 .annotate 'line', 4
     .local string rx247_tgt
     .local int rx247_pos
@@ -3154,7 +3169,7 @@
     .local int rx247_rep
     .local pmc rx247_cur
     (rx247_cur, rx247_pos, rx247_tgt) = self."!cursor_start"()
-    rx247_cur."!cursor_debug"("START ", "terminator:sym<}>")
+    rx247_cur."!cursor_debug"("START ", "terminator:sym<;>")
     .lex unicode:"$\x{a2}", rx247_cur
     .local pmc match
     .lex "$/", match
@@ -3176,16 +3191,16 @@
     set_addr $I10, rxscan250_loop
     rx247_cur."!mark_push"(0, rx247_pos, $I10)
   rxscan250_done:
-.annotate 'line', 148
+.annotate 'line', 149
   # rx enumcharlist negate=0 zerowidth
     ge rx247_pos, rx247_eos, rx247_fail
     sub $I10, rx247_pos, rx247_off
     substr $S10, rx247_tgt, $I10, 1
-    index $I11, "}", $S10
+    index $I11, ";", $S10
     lt $I11, 0, rx247_fail
   # rx pass
-    rx247_cur."!cursor_pass"(rx247_pos, "terminator:sym<}>")
-    rx247_cur."!cursor_debug"("PASS  ", "terminator:sym<}>", " at pos=", rx247_pos)
+    rx247_cur."!cursor_pass"(rx247_pos, "terminator:sym<;>")
+    rx247_cur."!cursor_debug"("PASS  ", "terminator:sym<;>", " at pos=", rx247_pos)
     .return (rx247_cur)
   rx247_fail:
 .annotate 'line', 4
@@ -3195,2464 +3210,2459 @@
     jump $I10
   rx247_done:
     rx247_cur."!cursor_fail"()
-    rx247_cur."!cursor_debug"("FAIL  ", "terminator:sym<}>")
+    rx247_cur."!cursor_debug"("FAIL  ", "terminator:sym<;>")
     .return (rx247_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__terminator:sym<}>"  :subid("57_1274800460.92525") :method
+.sub "!PREFIX__terminator:sym<;>"  :subid("57_1274853038.58734") :method
 .annotate 'line', 4
     new $P249, "ResizablePMCArray"
-    push $P249, "}"
+    push $P249, ";"
     .return ($P249)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "statement_control"  :subid("58_1274800460.92525") :method
-.annotate 'line', 152
-    $P252 = self."!protoregex"("statement_control")
-    .return ($P252)
+.sub "terminator:sym<}>"  :subid("58_1274853038.58734") :method :outer("11_1274853038.58734")
+.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 ", "terminator:sym<}>")
+    .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:
+.annotate 'line', 150
+  # rx enumcharlist negate=0 zerowidth
+    ge rx252_pos, rx252_eos, rx252_fail
+    sub $I10, rx252_pos, rx252_off
+    substr $S10, rx252_tgt, $I10, 1
+    index $I11, "}", $S10
+    lt $I11, 0, rx252_fail
+  # rx pass
+    rx252_cur."!cursor_pass"(rx252_pos, "terminator:sym<}>")
+    rx252_cur."!cursor_debug"("PASS  ", "terminator:sym<}>", " at pos=", rx252_pos)
+    .return (rx252_cur)
+  rx252_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
+    jump $I10
+  rx252_done:
+    rx252_cur."!cursor_fail"()
+    rx252_cur."!cursor_debug"("FAIL  ", "terminator:sym<}>")
+    .return (rx252_cur)
+    .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__statement_control"  :subid("59_1274800460.92525") :method
-.annotate 'line', 152
-    $P254 = self."!PREFIX__!protoregex"("statement_control")
+.sub "!PREFIX__terminator:sym<}>"  :subid("59_1274853038.58734") :method
+.annotate 'line', 4
+    new $P254, "ResizablePMCArray"
+    push $P254, "}"
     .return ($P254)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "statement_control:sym<if>"  :subid("60_1274800460.92525") :method :outer("11_1274800460.92525")
+.sub "statement_control"  :subid("60_1274853038.58734") :method
+.annotate 'line', 154
+    $P257 = self."!protoregex"("statement_control")
+    .return ($P257)
+.end
+
+
+.namespace ["NQP";"Grammar"]
+.sub "!PREFIX__statement_control"  :subid("61_1274853038.58734") :method
+.annotate 'line', 154
+    $P259 = self."!PREFIX__!protoregex"("statement_control")
+    .return ($P259)
+.end
+
+
+.namespace ["NQP";"Grammar"]
+.sub "statement_control:sym<if>"  :subid("62_1274853038.58734") :method :outer("11_1274853038.58734")
 .annotate 'line', 4
-    .local string rx256_tgt
-    .local int rx256_pos
-    .local int rx256_off
-    .local int rx256_eos
-    .local int rx256_rep
-    .local pmc rx256_cur
-    (rx256_cur, rx256_pos, rx256_tgt) = self."!cursor_start"()
-    rx256_cur."!cursor_debug"("START ", "statement_control:sym<if>")
-    rx256_cur."!cursor_caparray"("else", "xblock")
-    .lex unicode:"$\x{a2}", rx256_cur
-    .local pmc match
-    .lex "$/", match
-    length rx256_eos, rx256_tgt
-    set rx256_off, 0
-    lt rx256_pos, 2, rx256_start
-    sub rx256_off, rx256_pos, 1
-    substr rx256_tgt, rx256_tgt, rx256_off
-  rx256_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan259_done
-    goto rxscan259_scan
-  rxscan259_loop:
-    ($P10) = rx256_cur."from"()
-    inc $P10
-    set rx256_pos, $P10
-    ge rx256_pos, rx256_eos, rxscan259_done
-  rxscan259_scan:
-    set_addr $I10, rxscan259_loop
-    rx256_cur."!mark_push"(0, rx256_pos, $I10)
-  rxscan259_done:
-.annotate 'line', 155
+    .local string rx261_tgt
+    .local int rx261_pos
+    .local int rx261_off
+    .local int rx261_eos
+    .local int rx261_rep
+    .local pmc rx261_cur
+    (rx261_cur, rx261_pos, rx261_tgt) = self."!cursor_start"()
+    rx261_cur."!cursor_debug"("START ", "statement_control:sym<if>")
+    rx261_cur."!cursor_caparray"("xblock", "else")
+    .lex unicode:"$\x{a2}", rx261_cur
+    .local pmc match
+    .lex "$/", match
+    length rx261_eos, rx261_tgt
+    set rx261_off, 0
+    lt rx261_pos, 2, rx261_start
+    sub rx261_off, rx261_pos, 1
+    substr rx261_tgt, rx261_tgt, rx261_off
+  rx261_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan264_done
+    goto rxscan264_scan
+  rxscan264_loop:
+    ($P10) = rx261_cur."from"()
+    inc $P10
+    set rx261_pos, $P10
+    ge rx261_pos, rx261_eos, rxscan264_done
+  rxscan264_scan:
+    set_addr $I10, rxscan264_loop
+    rx261_cur."!mark_push"(0, rx261_pos, $I10)
+  rxscan264_done:
+.annotate 'line', 157
   # rx subcapture "sym"
-    set_addr $I10, rxcap_260_fail
-    rx256_cur."!mark_push"(0, rx256_pos, $I10)
+    set_addr $I10, rxcap_265_fail
+    rx261_cur."!mark_push"(0, rx261_pos, $I10)
   # rx literal  "if"
-    add $I11, rx256_pos, 2
-    gt $I11, rx256_eos, rx256_fail
-    sub $I11, rx256_pos, rx256_off
-    substr $S10, rx256_tgt, $I11, 2
-    ne $S10, "if", rx256_fail
-    add rx256_pos, 2
-    set_addr $I10, rxcap_260_fail
-    ($I12, $I11) = rx256_cur."!mark_peek"($I10)
-    rx256_cur."!cursor_pos"($I11)
-    ($P10) = rx256_cur."!cursor_start"()
-    $P10."!cursor_pass"(rx256_pos, "")
-    rx256_cur."!mark_push"(0, -1, 0, $P10)
+    add $I11, rx261_pos, 2
+    gt $I11, rx261_eos, rx261_fail
+    sub $I11, rx261_pos, rx261_off
+    substr $S10, rx261_tgt, $I11, 2
+    ne $S10, "if", rx261_fail
+    add rx261_pos, 2
+    set_addr $I10, rxcap_265_fail
+    ($I12, $I11) = rx261_cur."!mark_peek"($I10)
+    rx261_cur."!cursor_pos"($I11)
+    ($P10) = rx261_cur."!cursor_start"()
+    $P10."!cursor_pass"(rx261_pos, "")
+    rx261_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("sym")
-    goto rxcap_260_done
-  rxcap_260_fail:
-    goto rx256_fail
-  rxcap_260_done:
+    goto rxcap_265_done
+  rxcap_265_fail:
+    goto rx261_fail
+  rxcap_265_done:
   # rx charclass s
-    ge rx256_pos, rx256_eos, rx256_fail
-    sub $I10, rx256_pos, rx256_off
-    is_cclass $I11, 32, rx256_tgt, $I10
-    unless $I11, rx256_fail
-    inc rx256_pos
-  # rx subrule "ws" subtype=method negate=
-    rx256_cur."!cursor_pos"(rx256_pos)
-    $P10 = rx256_cur."ws"()
-    unless $P10, rx256_fail
-    rx256_pos = $P10."pos"()
-.annotate 'line', 156
+    ge rx261_pos, rx261_eos, rx261_fail
+    sub $I10, rx261_pos, rx261_off
+    is_cclass $I11, 32, rx261_tgt, $I10
+    unless $I11, rx261_fail
+    inc rx261_pos
+  # rx subrule "ws" subtype=method negate=
+    rx261_cur."!cursor_pos"(rx261_pos)
+    $P10 = rx261_cur."ws"()
+    unless $P10, rx261_fail
+    rx261_pos = $P10."pos"()
+.annotate 'line', 158
   # rx subrule "xblock" subtype=capture negate=
-    rx256_cur."!cursor_pos"(rx256_pos)
-    $P10 = rx256_cur."xblock"()
-    unless $P10, rx256_fail
-    rx256_cur."!mark_push"(0, -1, 0, $P10)
+    rx261_cur."!cursor_pos"(rx261_pos)
+    $P10 = rx261_cur."xblock"()
+    unless $P10, rx261_fail
+    rx261_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("xblock")
-    rx256_pos = $P10."pos"()
+    rx261_pos = $P10."pos"()
   # rx subrule "ws" subtype=method negate=
-    rx256_cur."!cursor_pos"(rx256_pos)
-    $P10 = rx256_cur."ws"()
-    unless $P10, rx256_fail
-    rx256_pos = $P10."pos"()
-.annotate 'line', 157
-  # rx rxquantr263 ** 0..*
-    set_addr $I267, rxquantr263_done
-    rx256_cur."!mark_push"(0, rx256_pos, $I267)
-  rxquantr263_loop:
-  # rx subrule "ws" subtype=method negate=
-    rx256_cur."!cursor_pos"(rx256_pos)
-    $P10 = rx256_cur."ws"()
-    unless $P10, rx256_fail
-    rx256_pos = $P10."pos"()
+    rx261_cur."!cursor_pos"(rx261_pos)
+    $P10 = rx261_cur."ws"()
+    unless $P10, rx261_fail
+    rx261_pos = $P10."pos"()
+.annotate 'line', 159
+  # rx rxquantr268 ** 0..*
+    set_addr $I272, rxquantr268_done
+    rx261_cur."!mark_push"(0, rx261_pos, $I272)
+  rxquantr268_loop:
+  # rx subrule "ws" subtype=method negate=
+    rx261_cur."!cursor_pos"(rx261_pos)
+    $P10 = rx261_cur."ws"()
+    unless $P10, rx261_fail
+    rx261_pos = $P10."pos"()
   # rx literal  "elsif"
-    add $I11, rx256_pos, 5
-    gt $I11, rx256_eos, rx256_fail
-    sub $I11, rx256_pos, rx256_off
-    substr $S10, rx256_tgt, $I11, 5
-    ne $S10, "elsif", rx256_fail
-    add rx256_pos, 5
+    add $I11, rx261_pos, 5
+    gt $I11, rx261_eos, rx261_fail
+    sub $I11, rx261_pos, rx261_off
+    substr $S10, rx261_tgt, $I11, 5
+    ne $S10, "elsif", rx261_fail
+    add rx261_pos, 5
   # rx charclass s
-    ge rx256_pos, rx256_eos, rx256_fail
-    sub $I10, rx256_pos, rx256_off
-    is_cclass $I11, 32, rx256_tgt, $I10
-    unless $I11, rx256_fail
-    inc rx256_pos
-  # rx subrule "ws" subtype=method negate=
-    rx256_cur."!cursor_pos"(rx256_pos)
-    $P10 = rx256_cur."ws"()
-    unless $P10, rx256_fail
-    rx256_pos = $P10."pos"()
+    ge rx261_pos, rx261_eos, rx261_fail
+    sub $I10, rx261_pos, rx261_off
+    is_cclass $I11, 32, rx261_tgt, $I10
+    unless $I11, rx261_fail
+    inc rx261_pos
+  # rx subrule "ws" subtype=method negate=
+    rx261_cur."!cursor_pos"(rx261_pos)
+    $P10 = rx261_cur."ws"()
+    unless $P10, rx261_fail
+    rx261_pos = $P10."pos"()
   # rx subrule "xblock" subtype=capture negate=
-    rx256_cur."!cursor_pos"(rx256_pos)
-    $P10 = rx256_cur."xblock"()
-    unless $P10, rx256_fail
-    rx256_cur."!mark_push"(0, -1, 0, $P10)
+    rx261_cur."!cursor_pos"(rx261_pos)
+    $P10 = rx261_cur."xblock"()
+    unless $P10, rx261_fail
+    rx261_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("xblock")
-    rx256_pos = $P10."pos"()
+    rx261_pos = $P10."pos"()
   # rx subrule "ws" subtype=method negate=
-    rx256_cur."!cursor_pos"(rx256_pos)
-    $P10 = rx256_cur."ws"()
-    unless $P10, rx256_fail
-    rx256_pos = $P10."pos"()
-    (rx256_rep) = rx256_cur."!mark_commit"($I267)
-    rx256_cur."!mark_push"(rx256_rep, rx256_pos, $I267)
-    goto rxquantr263_loop
-  rxquantr263_done:
-  # rx subrule "ws" subtype=method negate=
-    rx256_cur."!cursor_pos"(rx256_pos)
-    $P10 = rx256_cur."ws"()
-    unless $P10, rx256_fail
-    rx256_pos = $P10."pos"()
-.annotate 'line', 158
-  # rx rxquantr269 ** 0..1
-    set_addr $I273, rxquantr269_done
-    rx256_cur."!mark_push"(0, rx256_pos, $I273)
-  rxquantr269_loop:
-  # rx subrule "ws" subtype=method negate=
-    rx256_cur."!cursor_pos"(rx256_pos)
-    $P10 = rx256_cur."ws"()
-    unless $P10, rx256_fail
-    rx256_pos = $P10."pos"()
+    rx261_cur."!cursor_pos"(rx261_pos)
+    $P10 = rx261_cur."ws"()
+    unless $P10, rx261_fail
+    rx261_pos = $P10."pos"()
+    (rx261_rep) = rx261_cur."!mark_commit"($I272)
+    rx261_cur."!mark_push"(rx261_rep, rx261_pos, $I272)
+    goto rxquantr268_loop
+  rxquantr268_done:
+  # rx subrule "ws" subtype=method negate=
+    rx261_cur."!cursor_pos"(rx261_pos)
+    $P10 = rx261_cur."ws"()
+    unless $P10, rx261_fail
+    rx261_pos = $P10."pos"()
+.annotate 'line', 160
+  # rx rxquantr274 ** 0..1
+    set_addr $I278, rxquantr274_done
+    rx261_cur."!mark_push"(0, rx261_pos, $I278)
+  rxquantr274_loop:
+  # rx subrule "ws" subtype=method negate=
+    rx261_cur."!cursor_pos"(rx261_pos)
+    $P10 = rx261_cur."ws"()
+    unless $P10, rx261_fail
+    rx261_pos = $P10."pos"()
   # rx literal  "else"
-    add $I11, rx256_pos, 4
-    gt $I11, rx256_eos, rx256_fail
-    sub $I11, rx256_pos, rx256_off
-    substr $S10, rx256_tgt, $I11, 4
-    ne $S10, "else", rx256_fail
-    add rx256_pos, 4
+    add $I11, rx261_pos, 4
+    gt $I11, rx261_eos, rx261_fail
+    sub $I11, rx261_pos, rx261_off
+    substr $S10, rx261_tgt, $I11, 4
+    ne $S10, "else", rx261_fail
+    add rx261_pos, 4
   # rx charclass s
-    ge rx256_pos, rx256_eos, rx256_fail
-    sub $I10, rx256_pos, rx256_off
-    is_cclass $I11, 32, rx256_tgt, $I10
-    unless $I11, rx256_fail
-    inc rx256_pos
-  # rx subrule "ws" subtype=method negate=
-    rx256_cur."!cursor_pos"(rx256_pos)
-    $P10 = rx256_cur."ws"()
-    unless $P10, rx256_fail
-    rx256_pos = $P10."pos"()
+    ge rx261_pos, rx261_eos, rx261_fail
+    sub $I10, rx261_pos, rx261_off
+    is_cclass $I11, 32, rx261_tgt, $I10
+    unless $I11, rx261_fail
+    inc rx261_pos
+  # rx subrule "ws" subtype=method negate=
+    rx261_cur."!cursor_pos"(rx261_pos)
+    $P10 = rx261_cur."ws"()
+    unless $P10, rx261_fail
+    rx261_pos = $P10."pos"()
   # rx subrule "pblock" subtype=capture negate=
-    rx256_cur."!cursor_pos"(rx256_pos)
-    $P10 = rx256_cur."pblock"()
-    unless $P10, rx256_fail
-    rx256_cur."!mark_push"(0, -1, 0, $P10)
+    rx261_cur."!cursor_pos"(rx261_pos)
+    $P10 = rx261_cur."pblock"()
+    unless $P10, rx261_fail
+    rx261_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("else")
-    rx256_pos = $P10."pos"()
+    rx261_pos = $P10."pos"()
   # rx subrule "ws" subtype=method negate=
-    rx256_cur."!cursor_pos"(rx256_pos)
-    $P10 = rx256_cur."ws"()
-    unless $P10, rx256_fail
-    rx256_pos = $P10."pos"()
-    (rx256_rep) = rx256_cur."!mark_commit"($I273)
-  rxquantr269_done:
-  # rx subrule "ws" subtype=method negate=
-    rx256_cur."!cursor_pos"(rx256_pos)
-    $P10 = rx256_cur."ws"()
-    unless $P10, rx256_fail
-    rx256_pos = $P10."pos"()
-.annotate 'line', 154
+    rx261_cur."!cursor_pos"(rx261_pos)
+    $P10 = rx261_cur."ws"()
+    unless $P10, rx261_fail
+    rx261_pos = $P10."pos"()
+    (rx261_rep) = rx261_cur."!mark_commit"($I278)
+  rxquantr274_done:
+  # rx subrule "ws" subtype=method negate=
+    rx261_cur."!cursor_pos"(rx261_pos)
+    $P10 = rx261_cur."ws"()
+    unless $P10, rx261_fail
+    rx261_pos = $P10."pos"()
+.annotate 'line', 156
   # rx pass
-    rx256_cur."!cursor_pass"(rx256_pos, "statement_control:sym<if>")
-    rx256_cur."!cursor_debug"("PASS  ", "statement_control:sym<if>", " at pos=", rx256_pos)
-    .return (rx256_cur)
-  rx256_fail:
+    rx261_cur."!cursor_pass"(rx261_pos, "statement_control:sym<if>")
+    rx261_cur."!cursor_debug"("PASS  ", "statement_control:sym<if>", " at pos=", rx261_pos)
+    .return (rx261_cur)
+  rx261_fail:
 .annotate 'line', 4
-    (rx256_rep, rx256_pos, $I10, $P10) = rx256_cur."!mark_fail"(0)
-    lt rx256_pos, -1, rx256_done
-    eq rx256_pos, -1, rx256_fail
+    (rx261_rep, rx261_pos, $I10, $P10) = rx261_cur."!mark_fail"(0)
+    lt rx261_pos, -1, rx261_done
+    eq rx261_pos, -1, rx261_fail
     jump $I10
-  rx256_done:
-    rx256_cur."!cursor_fail"()
-    rx256_cur."!cursor_debug"("FAIL  ", "statement_control:sym<if>")
-    .return (rx256_cur)
+  rx261_done:
+    rx261_cur."!cursor_fail"()
+    rx261_cur."!cursor_debug"("FAIL  ", "statement_control:sym<if>")
+    .return (rx261_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__statement_control:sym<if>"  :subid("61_1274800460.92525") :method
+.sub "!PREFIX__statement_control:sym<if>"  :subid("63_1274853038.58734") :method
 .annotate 'line', 4
-    new $P258, "ResizablePMCArray"
-    push $P258, "if"
-    .return ($P258)
+    new $P263, "ResizablePMCArray"
+    push $P263, "if"
+    .return ($P263)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "statement_control:sym<unless>"  :subid("62_1274800460.92525") :method :outer("11_1274800460.92525")
+.sub "statement_control:sym<unless>"  :subid("64_1274853038.58734") :method :outer("11_1274853038.58734")
 .annotate 'line', 4
-    .const 'Sub' $P286 = "64_1274800460.92525" 
-    capture_lex $P286
-    .local string rx276_tgt
-    .local int rx276_pos
-    .local int rx276_off
-    .local int rx276_eos
-    .local int rx276_rep
-    .local pmc rx276_cur
-    (rx276_cur, rx276_pos, rx276_tgt) = self."!cursor_start"()
-    rx276_cur."!cursor_debug"("START ", "statement_control:sym<unless>")
-    .lex unicode:"$\x{a2}", rx276_cur
+    .const 'Sub' $P291 = "66_1274853038.58734" 
+    capture_lex $P291
+    .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 ", "statement_control:sym<unless>")
+    .lex unicode:"$\x{a2}", rx281_cur
     .local pmc match
     .lex "$/", match
-    length rx276_eos, rx276_tgt
-    set rx276_off, 0
-    lt rx276_pos, 2, rx276_start
-    sub rx276_off, rx276_pos, 1
-    substr rx276_tgt, rx276_tgt, rx276_off
-  rx276_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, rxscan279_done
-    goto rxscan279_scan
-  rxscan279_loop:
-    ($P10) = rx276_cur."from"()
+    ne $I10, -1, rxscan284_done
+    goto rxscan284_scan
+  rxscan284_loop:
+    ($P10) = rx281_cur."from"()
     inc $P10
-    set rx276_pos, $P10
-    ge rx276_pos, rx276_eos, rxscan279_done
-  rxscan279_scan:
-    set_addr $I10, rxscan279_loop
-    rx276_cur."!mark_push"(0, rx276_pos, $I10)
-  rxscan279_done:
-.annotate 'line', 162
+    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', 164
   # rx subcapture "sym"
-    set_addr $I10, rxcap_280_fail
-    rx276_cur."!mark_push"(0, rx276_pos, $I10)
+    set_addr $I10, rxcap_285_fail
+    rx281_cur."!mark_push"(0, rx281_pos, $I10)
   # rx literal  "unless"
-    add $I11, rx276_pos, 6
-    gt $I11, rx276_eos, rx276_fail
-    sub $I11, rx276_pos, rx276_off
-    substr $S10, rx276_tgt, $I11, 6
-    ne $S10, "unless", rx276_fail
-    add rx276_pos, 6
-    set_addr $I10, rxcap_280_fail
-    ($I12, $I11) = rx276_cur."!mark_peek"($I10)
-    rx276_cur."!cursor_pos"($I11)
-    ($P10) = rx276_cur."!cursor_start"()
-    $P10."!cursor_pass"(rx276_pos, "")
-    rx276_cur."!mark_push"(0, -1, 0, $P10)
+    add $I11, rx281_pos, 6
+    gt $I11, rx281_eos, rx281_fail
+    sub $I11, rx281_pos, rx281_off
+    substr $S10, rx281_tgt, $I11, 6
+    ne $S10, "unless", rx281_fail
+    add rx281_pos, 6
+    set_addr $I10, rxcap_285_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)
     $P10."!cursor_names"("sym")
-    goto rxcap_280_done
-  rxcap_280_fail:
-    goto rx276_fail
-  rxcap_280_done:
+    goto rxcap_285_done
+  rxcap_285_fail:
+    goto rx281_fail
+  rxcap_285_done:
   # rx charclass s
-    ge rx276_pos, rx276_eos, rx276_fail
-    sub $I10, rx276_pos, rx276_off
-    is_cclass $I11, 32, rx276_tgt, $I10
-    unless $I11, rx276_fail
-    inc rx276_pos
-  # rx subrule "ws" subtype=method negate=
-    rx276_cur."!cursor_pos"(rx276_pos)
-    $P10 = rx276_cur."ws"()
-    unless $P10, rx276_fail
-    rx276_pos = $P10."pos"()
-.annotate 'line', 163
+    ge rx281_pos, rx281_eos, rx281_fail
+    sub $I10, rx281_pos, rx281_off
+    is_cclass $I11, 32, rx281_tgt, $I10
+    unless $I11, rx281_fail
+    inc rx281_pos
+  # rx subrule "ws" subtype=method negate=
+    rx281_cur."!cursor_pos"(rx281_pos)
+    $P10 = rx281_cur."ws"()
+    unless $P10, rx281_fail
+    rx281_pos = $P10."pos"()
+.annotate 'line', 165
   # rx subrule "xblock" subtype=capture negate=
-    rx276_cur."!cursor_pos"(rx276_pos)
-    $P10 = rx276_cur."xblock"()
-    unless $P10, rx276_fail
-    rx276_cur."!mark_push"(0, -1, 0, $P10)
+    rx281_cur."!cursor_pos"(rx281_pos)
+    $P10 = rx281_cur."xblock"()
+    unless $P10, rx281_fail
+    rx281_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("xblock")
-    rx276_pos = $P10."pos"()
+    rx281_pos = $P10."pos"()
   # rx subrule "ws" subtype=method negate=
-    rx276_cur."!cursor_pos"(rx276_pos)
-    $P10 = rx276_cur."ws"()
-    unless $P10, rx276_fail
-    rx276_pos = $P10."pos"()
-  alt283_0:
-.annotate 'line', 164
-    set_addr $I10, alt283_1
-    rx276_cur."!mark_push"(0, rx276_pos, $I10)
+    rx281_cur."!cursor_pos"(rx281_pos)
+    $P10 = rx281_cur."ws"()
+    unless $P10, rx281_fail
+    rx281_pos = $P10."pos"()
+  alt288_0:
+.annotate 'line', 166
+    set_addr $I10, alt288_1
+    rx281_cur."!mark_push"(0, rx281_pos, $I10)
   # rx subrule "ws" subtype=method negate=
-    rx276_cur."!cursor_pos"(rx276_pos)
-    $P10 = rx276_cur."ws"()
-    unless $P10, rx276_fail
-    rx276_pos = $P10."pos"()
+    rx281_cur."!cursor_pos"(rx281_pos)
+    $P10 = rx281_cur."ws"()
+    unless $P10, rx281_fail
+    rx281_pos = $P10."pos"()
   # rx subrule "before" subtype=zerowidth negate=1
-    rx276_cur."!cursor_pos"(rx276_pos)
-    .const 'Sub' $P286 = "64_1274800460.92525" 
-    capture_lex $P286
-    $P10 = rx276_cur."before"($P286)
-    if $P10, rx276_fail
-  # rx subrule "ws" subtype=method negate=
-    rx276_cur."!cursor_pos"(rx276_pos)
-    $P10 = rx276_cur."ws"()
-    unless $P10, rx276_fail
-    rx276_pos = $P10."pos"()
-    goto alt283_end
-  alt283_1:
-  # rx subrule "ws" subtype=method negate=
-    rx276_cur."!cursor_pos"(rx276_pos)
-    $P10 = rx276_cur."ws"()
-    unless $P10, rx276_fail
-    rx276_pos = $P10."pos"()
+    rx281_cur."!cursor_pos"(rx281_pos)
+    .const 'Sub' $P291 = "66_1274853038.58734" 
+    capture_lex $P291
+    $P10 = rx281_cur."before"($P291)
+    if $P10, rx281_fail
+  # rx subrule "ws" subtype=method negate=
+    rx281_cur."!cursor_pos"(rx281_pos)
+    $P10 = rx281_cur."ws"()
+    unless $P10, rx281_fail
+    rx281_pos = $P10."pos"()
+    goto alt288_end
+  alt288_1:
+  # rx subrule "ws" subtype=method negate=
+    rx281_cur."!cursor_pos"(rx281_pos)
+    $P10 = rx281_cur."ws"()
+    unless $P10, rx281_fail
+    rx281_pos = $P10."pos"()
   # rx subrule "panic" subtype=method negate=
-    rx276_cur."!cursor_pos"(rx276_pos)
-    $P10 = rx276_cur."panic"("unless does not take \"else\", please rewrite using \"if\"")
-    unless $P10, rx276_fail
-    rx276_pos = $P10."pos"()
-  # rx subrule "ws" subtype=method negate=
-    rx276_cur."!cursor_pos"(rx276_pos)
-    $P10 = rx276_cur."ws"()
-    unless $P10, rx276_fail
-    rx276_pos = $P10."pos"()
-  alt283_end:
-  # rx subrule "ws" subtype=method negate=
-    rx276_cur."!cursor_pos"(rx276_pos)
-    $P10 = rx276_cur."ws"()
-    unless $P10, rx276_fail
-    rx276_pos = $P10."pos"()
-.annotate 'line', 161
+    rx281_cur."!cursor_pos"(rx281_pos)
+    $P10 = rx281_cur."panic"("unless does not take \"else\", please rewrite using \"if\"")
+    unless $P10, rx281_fail
+    rx281_pos = $P10."pos"()
+  # rx subrule "ws" subtype=method negate=
+    rx281_cur."!cursor_pos"(rx281_pos)
+    $P10 = rx281_cur."ws"()
+    unless $P10, rx281_fail
+    rx281_pos = $P10."pos"()
+  alt288_end:
+  # rx subrule "ws" subtype=method negate=
+    rx281_cur."!cursor_pos"(rx281_pos)
+    $P10 = rx281_cur."ws"()
+    unless $P10, rx281_fail
+    rx281_pos = $P10."pos"()
+.annotate 'line', 163
   # rx pass
-    rx276_cur."!cursor_pass"(rx276_pos, "statement_control:sym<unless>")
-    rx276_cur."!cursor_debug"("PASS  ", "statement_control:sym<unless>", " at pos=", rx276_pos)
-    .return (rx276_cur)
-  rx276_fail:
+    rx281_cur."!cursor_pass"(rx281_pos, "statement_control:sym<unless>")
+    rx281_cur."!cursor_debug"("PASS  ", "statement_control:sym<unless>", " at pos=", rx281_pos)
+    .return (rx281_cur)
+  rx281_fail:
 .annotate 'line', 4
-    (rx276_rep, rx276_pos, $I10, $P10) = rx276_cur."!mark_fail"(0)
-    lt rx276_pos, -1, rx276_done
-    eq rx276_pos, -1, rx276_fail
+    (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
-  rx276_done:
-    rx276_cur."!cursor_fail"()
-    rx276_cur."!cursor_debug"("FAIL  ", "statement_control:sym<unless>")
-    .return (rx276_cur)
+  rx281_done:
+    rx281_cur."!cursor_fail"()
+    rx281_cur."!cursor_debug"("FAIL  ", "statement_control:sym<unless>")
+    .return (rx281_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__statement_control:sym<unless>"  :subid("63_1274800460.92525") :method
+.sub "!PREFIX__statement_control:sym<unless>"  :subid("65_1274853038.58734") :method
 .annotate 'line', 4
-    new $P278, "ResizablePMCArray"
-    push $P278, "unless"
-    .return ($P278)
+    new $P283, "ResizablePMCArray"
+    push $P283, "unless"
+    .return ($P283)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "_block285"  :anon :subid("64_1274800460.92525") :method :outer("62_1274800460.92525")
-.annotate 'line', 164
-    .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:
+.sub "_block290"  :anon :subid("66_1274853038.58734") :method :outer("64_1274853038.58734")
+.annotate 'line', 166
+    .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 ", "")
+    .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, rxscan293_done
+    goto rxscan293_scan
+  rxscan293_loop:
+    ($P10) = rx292_cur."from"()
+    inc $P10
+    set rx292_pos, $P10
+    ge rx292_pos, rx292_eos, rxscan293_done
+  rxscan293_scan:
+    set_addr $I10, rxscan293_loop
+    rx292_cur."!mark_push"(0, rx292_pos, $I10)
+  rxscan293_done:
   # rx literal  "else"
-    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)
+    add $I11, rx292_pos, 4
+    gt $I11, rx292_eos, rx292_fail
+    sub $I11, rx292_pos, rx292_off
+    substr $S10, rx292_tgt, $I11, 4
+    ne $S10, "else", rx292_fail
+    add rx292_pos, 4
+  # rx pass
+    rx292_cur."!cursor_pass"(rx292_pos, "")
+    rx292_cur."!cursor_debug"("PASS  ", "", " at pos=", rx292_pos)
+    .return (rx292_cur)
+  rx292_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
+  rx292_done:
+    rx292_cur."!cursor_fail"()
+    rx292_cur."!cursor_debug"("FAIL  ", "")
+    .return (rx292_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "statement_control:sym<while>"  :subid("65_1274800460.92525") :method :outer("11_1274800460.92525")
-.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', 168
+.sub "statement_control:sym<while>"  :subid("67_1274853038.58734") :method :outer("11_1274853038.58734")
+.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<while>")
+    .lex unicode:"$\x{a2}", rx299_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:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan302_done
+    goto rxscan302_scan
+  rxscan302_loop:
+    ($P10) = rx299_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:
+.annotate 'line', 170
   # rx subcapture "sym"
-    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)
+    set_addr $I10, rxcap_304_fail
+    rx299_cur."!mark_push"(0, rx299_pos, $I10)
+  alt303_0:
+    set_addr $I10, alt303_1
+    rx299_cur."!mark_push"(0, rx299_pos, $I10)
   # rx literal  "while"
-    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:
+    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 alt303_end
+  alt303_1:
   # rx literal  "until"
-    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)
+    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
+  alt303_end:
+    set_addr $I10, rxcap_304_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)
     $P10."!cursor_names"("sym")
-    goto rxcap_299_done
-  rxcap_299_fail:
-    goto rx294_fail
-  rxcap_299_done:
+    goto rxcap_304_done
+  rxcap_304_fail:
+    goto rx299_fail
+  rxcap_304_done:
   # rx charclass s
-    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', 169
+    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"()
+.annotate 'line', 171
   # rx subrule "xblock" subtype=capture negate=
-    rx294_cur."!cursor_pos"(rx294_pos)
-    $P10 = rx294_cur."xblock"()
-    unless $P10, rx294_fail
-    rx294_cur."!mark_push"(0, -1, 0, $P10)
+    rx299_cur."!cursor_pos"(rx299_pos)
+    $P10 = rx299_cur."xblock"()
+    unless $P10, rx299_fail
+    rx299_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("xblock")
-    rx294_pos = $P10."pos"()
+    rx299_pos = $P10."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', 167
+    rx299_cur."!cursor_pos"(rx299_pos)
+    $P10 = rx299_cur."ws"()
+    unless $P10, rx299_fail
+    rx299_pos = $P10."pos"()
+.annotate 'line', 169
   # rx pass
-    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:
+    rx299_cur."!cursor_pass"(rx299_pos, "statement_control:sym<while>")
+    rx299_cur."!cursor_debug"("PASS  ", "statement_control:sym<while>", " at pos=", rx299_pos)
+    .return (rx299_cur)
+  rx299_fail:
 .annotate 'line', 4
-    (rx294_rep, rx294_pos, $I10, $P10) = rx294_cur."!mark_fail"(0)
-    lt rx294_pos, -1, rx294_done
-    eq rx294_pos, -1, rx294_fail
+    (rx299_rep, rx299_pos, $I10, $P10) = rx299_cur."!mark_fail"(0)
+    lt rx299_pos, -1, rx299_done
+    eq rx299_pos, -1, rx299_fail
     jump $I10
-  rx294_done:
-    rx294_cur."!cursor_fail"()
-    rx294_cur."!cursor_debug"("FAIL  ", "statement_control:sym<while>")
-    .return (rx294_cur)
+  rx299_done:
+    rx299_cur."!cursor_fail"()
+    rx299_cur."!cursor_debug"("FAIL  ", "statement_control:sym<while>")
+    .return (rx299_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__statement_control:sym<while>"  :subid("66_1274800460.92525") :method
+.sub "!PREFIX__statement_control:sym<while>"  :subid("68_1274853038.58734") :method
 .annotate 'line', 4
-    new $P296, "ResizablePMCArray"
-    push $P296, "until"
-    push $P296, "while"
-    .return ($P296)
+    new $P301, "ResizablePMCArray"
+    push $P301, "until"
+    push $P301, "while"
+    .return ($P301)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "statement_control:sym<repeat>"  :subid("67_1274800460.92525") :method :outer("11_1274800460.92525")
+.sub "statement_control:sym<repeat>"  :subid("69_1274853038.58734") :method :outer("11_1274853038.58734")
 .annotate 'line', 4
-    .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 string rx308_tgt
+    .local int rx308_pos
+    .local int rx308_off
+    .local int rx308_eos
+    .local int rx308_rep
+    .local pmc rx308_cur
+    (rx308_cur, rx308_pos, rx308_tgt) = self."!cursor_start"()
+    rx308_cur."!cursor_debug"("START ", "statement_control:sym<repeat>")
+    .lex unicode:"$\x{a2}", rx308_cur
     .local pmc match
     .lex "$/", match
-    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:
+    length rx308_eos, rx308_tgt
+    set rx308_off, 0
+    lt rx308_pos, 2, rx308_start
+    sub rx308_off, rx308_pos, 1
+    substr rx308_tgt, rx308_tgt, rx308_off
+  rx308_start:
     $I10 = self.'from'()
-    ne $I10, -1, rxscan306_done
-    goto rxscan306_scan
-  rxscan306_loop:
-    ($P10) = rx303_cur."from"()
+    ne $I10, -1, rxscan311_done
+    goto rxscan311_scan
+  rxscan311_loop:
+    ($P10) = rx308_cur."from"()
     inc $P10
-    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', 173
+    set rx308_pos, $P10
+    ge rx308_pos, rx308_eos, rxscan311_done
+  rxscan311_scan:
+    set_addr $I10, rxscan311_loop
+    rx308_cur."!mark_push"(0, rx308_pos, $I10)
+  rxscan311_done:
+.annotate 'line', 175
   # rx subcapture "sym"
-    set_addr $I10, rxcap_307_fail
-    rx303_cur."!mark_push"(0, rx303_pos, $I10)
+    set_addr $I10, rxcap_312_fail
+    rx308_cur."!mark_push"(0, rx308_pos, $I10)
   # rx literal  "repeat"
-    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)
+    add $I11, rx308_pos, 6
+    gt $I11, rx308_eos, rx308_fail
+    sub $I11, rx308_pos, rx308_off
+    substr $S10, rx308_tgt, $I11, 6
+    ne $S10, "repeat", rx308_fail
+    add rx308_pos, 6
+    set_addr $I10, rxcap_312_fail
+    ($I12, $I11) = rx308_cur."!mark_peek"($I10)
+    rx308_cur."!cursor_pos"($I11)
+    ($P10) = rx308_cur."!cursor_start"()
+    $P10."!cursor_pass"(rx308_pos, "")
+    rx308_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("sym")
-    goto rxcap_307_done
-  rxcap_307_fail:
-    goto rx303_fail
-  rxcap_307_done:
+    goto rxcap_312_done
+  rxcap_312_fail:
+    goto rx308_fail
+  rxcap_312_done:
   # rx charclass s
-    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', 174
-    set_addr $I10, alt309_1
-    rx303_cur."!mark_push"(0, rx303_pos, $I10)
-.annotate 'line', 175
+    ge rx308_pos, rx308_eos, rx308_fail
+    sub $I10, rx308_pos, rx308_off
+    is_cclass $I11, 32, rx308_tgt, $I10
+    unless $I11, rx308_fail
+    inc rx308_pos
+  # rx subrule "ws" subtype=method negate=
+    rx308_cur."!cursor_pos"(rx308_pos)
+    $P10 = rx308_cur."ws"()
+    unless $P10, rx308_fail
+    rx308_pos = $P10."pos"()
+  alt314_0:
+.annotate 'line', 176
+    set_addr $I10, alt314_1
+    rx308_cur."!mark_push"(0, rx308_pos, $I10)
+.annotate 'line', 177
   # rx subrule "ws" subtype=method negate=
-    rx303_cur."!cursor_pos"(rx303_pos)
-    $P10 = rx303_cur."ws"()
-    unless $P10, rx303_fail
-    rx303_pos = $P10."pos"()
+    rx308_cur."!cursor_pos"(rx308_pos)
+    $P10 = rx308_cur."ws"()
+    unless $P10, rx308_fail
+    rx308_pos = $P10."pos"()
   # rx subcapture "wu"
-    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)
+    set_addr $I10, rxcap_317_fail
+    rx308_cur."!mark_push"(0, rx308_pos, $I10)
+  alt316_0:
+    set_addr $I10, alt316_1
+    rx308_cur."!mark_push"(0, rx308_pos, $I10)
   # rx literal  "while"
-    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:
+    add $I11, rx308_pos, 5
+    gt $I11, rx308_eos, rx308_fail
+    sub $I11, rx308_pos, rx308_off
+    substr $S10, rx308_tgt, $I11, 5
+    ne $S10, "while", rx308_fail
+    add rx308_pos, 5
+    goto alt316_end
+  alt316_1:
   # rx literal  "until"
-    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)
+    add $I11, rx308_pos, 5
+    gt $I11, rx308_eos, rx308_fail
+    sub $I11, rx308_pos, rx308_off
+    substr $S10, rx308_tgt, $I11, 5
+    ne $S10, "until", rx308_fail
+    add rx308_pos, 5
+  alt316_end:
+    set_addr $I10, rxcap_317_fail
+    ($I12, $I11) = rx308_cur."!mark_peek"($I10)
+    rx308_cur."!cursor_pos"($I11)
+    ($P10) = rx308_cur."!cursor_start"()
+    $P10."!cursor_pass"(rx308_pos, "")
+    rx308_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("wu")
-    goto rxcap_312_done
-  rxcap_312_fail:
-    goto rx303_fail
-  rxcap_312_done:
+    goto rxcap_317_done
+  rxcap_317_fail:
+    goto rx308_fail
+  rxcap_317_done:
   # rx charclass s
-    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"()
+    ge rx308_pos, rx308_eos, rx308_fail
+    sub $I10, rx308_pos, rx308_off
+    is_cclass $I11, 32, rx308_tgt, $I10
+    unless $I11, rx308_fail
+    inc rx308_pos
+  # rx subrule "ws" subtype=method negate=
+    rx308_cur."!cursor_pos"(rx308_pos)
+    $P10 = rx308_cur."ws"()
+    unless $P10, rx308_fail
+    rx308_pos = $P10."pos"()
   # rx subrule "xblock" subtype=capture negate=
-    rx303_cur."!cursor_pos"(rx303_pos)
-    $P10 = rx303_cur."xblock"()
-    unless $P10, rx303_fail
-    rx303_cur."!mark_push"(0, -1, 0, $P10)
+    rx308_cur."!cursor_pos"(rx308_pos)
+    $P10 = rx308_cur."xblock"()
+    unless $P10, rx308_fail
+    rx308_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("xblock")
-    rx303_pos = $P10."pos"()
+    rx308_pos = $P10."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"()
-    goto alt309_end
-  alt309_1:
-.annotate 'line', 176
+    rx308_cur."!cursor_pos"(rx308_pos)
+    $P10 = rx308_cur."ws"()
+    unless $P10, rx308_fail
+    rx308_pos = $P10."pos"()
+    goto alt314_end
+  alt314_1:
+.annotate 'line', 178
   # rx subrule "ws" subtype=method negate=
-    rx303_cur."!cursor_pos"(rx303_pos)
-    $P10 = rx303_cur."ws"()
-    unless $P10, rx303_fail
-    rx303_pos = $P10."pos"()
+    rx308_cur."!cursor_pos"(rx308_pos)
+    $P10 = rx308_cur."ws"()
+    unless $P10, rx308_fail
+    rx308_pos = $P10."pos"()
   # rx subrule "pblock" subtype=capture negate=
-    rx303_cur."!cursor_pos"(rx303_pos)
-    $P10 = rx303_cur."pblock"()
-    unless $P10, rx303_fail
-    rx303_cur."!mark_push"(0, -1, 0, $P10)
+    rx308_cur."!cursor_pos"(rx308_pos)
+    $P10 = rx308_cur."pblock"()
+    unless $P10, rx308_fail
+    rx308_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("pblock")
-    rx303_pos = $P10."pos"()
+    rx308_pos = $P10."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"()
+    rx308_cur."!cursor_pos"(rx308_pos)
+    $P10 = rx308_cur."ws"()
+    unless $P10, rx308_fail
+    rx308_pos = $P10."pos"()
   # rx subcapture "wu"
-    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)
+    set_addr $I10, rxcap_323_fail
+    rx308_cur."!mark_push"(0, rx308_pos, $I10)
+  alt322_0:
+    set_addr $I10, alt322_1
+    rx308_cur."!mark_push"(0, rx308_pos, $I10)
   # rx literal  "while"
-    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:
+    add $I11, rx308_pos, 5
+    gt $I11, rx308_eos, rx308_fail
+    sub $I11, rx308_pos, rx308_off
+    substr $S10, rx308_tgt, $I11, 5
+    ne $S10, "while", rx308_fail
+    add rx308_pos, 5
+    goto alt322_end
+  alt322_1:
   # rx literal  "until"
-    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)
+    add $I11, rx308_pos, 5
+    gt $I11, rx308_eos, rx308_fail
+    sub $I11, rx308_pos, rx308_off
+    substr $S10, rx308_tgt, $I11, 5
+    ne $S10, "until", rx308_fail
+    add rx308_pos, 5
+  alt322_end:
+    set_addr $I10, rxcap_323_fail
+    ($I12, $I11) = rx308_cur."!mark_peek"($I10)
+    rx308_cur."!cursor_pos"($I11)
+    ($P10) = rx308_cur."!cursor_start"()
+    $P10."!cursor_pass"(rx308_pos, "")
+    rx308_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("wu")
-    goto rxcap_318_done
-  rxcap_318_fail:
-    goto rx303_fail
-  rxcap_318_done:
+    goto rxcap_323_done
+  rxcap_323_fail:
+    goto rx308_fail
+  rxcap_323_done:
   # rx charclass s
-    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"()
+    ge rx308_pos, rx308_eos, rx308_fail
+    sub $I10, rx308_pos, rx308_off
+    is_cclass $I11, 32, rx308_tgt, $I10
+    unless $I11, rx308_fail
+    inc rx308_pos
+  # rx subrule "ws" subtype=method negate=
+    rx308_cur."!cursor_pos"(rx308_pos)
+    $P10 = rx308_cur."ws"()
+    unless $P10, rx308_fail
+    rx308_pos = $P10."pos"()
   # rx subrule "EXPR" subtype=capture negate=
-    rx303_cur."!cursor_pos"(rx303_pos)
-    $P10 = rx303_cur."EXPR"()
-    unless $P10, rx303_fail
-    rx303_cur."!mark_push"(0, -1, 0, $P10)
+    rx308_cur."!cursor_pos"(rx308_pos)
+    $P10 = rx308_cur."EXPR"()
+    unless $P10, rx308_fail
+    rx308_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("EXPR")
-    rx303_pos = $P10."pos"()
+    rx308_pos = $P10."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_end:
-.annotate 'line', 177
+    rx308_cur."!cursor_pos"(rx308_pos)
+    $P10 = rx308_cur."ws"()
+    unless $P10, rx308_fail
+    rx308_pos = $P10."pos"()
+  alt314_end:
+.annotate 'line', 179
   # rx subrule "ws" subtype=method negate=
-    rx303_cur."!cursor_pos"(rx303_pos)
-    $P10 = rx303_cur."ws"()
-    unless $P10, rx303_fail
-    rx303_pos = $P10."pos"()
-.annotate 'line', 172
+    rx308_cur."!cursor_pos"(rx308_pos)
+    $P10 = rx308_cur."ws"()
+    unless $P10, rx308_fail
+    rx308_pos = $P10."pos"()
+.annotate 'line', 174
   # rx pass
-    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:
+    rx308_cur."!cursor_pass"(rx308_pos, "statement_control:sym<repeat>")
+    rx308_cur."!cursor_debug"("PASS  ", "statement_control:sym<repeat>", " at pos=", rx308_pos)
+    .return (rx308_cur)
+  rx308_fail:
 .annotate 'line', 4
-    (rx303_rep, rx303_pos, $I10, $P10) = rx303_cur."!mark_fail"(0)
-    lt rx303_pos, -1, rx303_done
-    eq rx303_pos, -1, rx303_fail
+    (rx308_rep, rx308_pos, $I10, $P10) = rx308_cur."!mark_fail"(0)
+    lt rx308_pos, -1, rx308_done
+    eq rx308_pos, -1, rx308_fail
     jump $I10
-  rx303_done:
-    rx303_cur."!cursor_fail"()
-    rx303_cur."!cursor_debug"("FAIL  ", "statement_control:sym<repeat>")
-    .return (rx303_cur)
+  rx308_done:
+    rx308_cur."!cursor_fail"()
+    rx308_cur."!cursor_debug"("FAIL  ", "statement_control:sym<repeat>")
+    .return (rx308_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__statement_control:sym<repeat>"  :subid("68_1274800460.92525") :method
+.sub "!PREFIX__statement_control:sym<repeat>"  :subid("70_1274853038.58734") :method
 .annotate 'line', 4
-    new $P305, "ResizablePMCArray"
-    push $P305, "repeat"
-    .return ($P305)
+    new $P310, "ResizablePMCArray"
+    push $P310, "repeat"
+    .return ($P310)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "statement_control:sym<for>"  :subid("69_1274800460.92525") :method :outer("11_1274800460.92525")
+.sub "statement_control:sym<for>"  :subid("71_1274853038.58734") :method :outer("11_1274853038.58734")
 .annotate 'line', 4
-    .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 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 ", "statement_control:sym<for>")
+    .lex unicode:"$\x{a2}", rx328_cur
     .local pmc match
     .lex "$/", match
-    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:
+    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, rxscan326_done
-    goto rxscan326_scan
-  rxscan326_loop:
-    ($P10) = rx323_cur."from"()
+    ne $I10, -1, rxscan331_done
+    goto rxscan331_scan
+  rxscan331_loop:
+    ($P10) = rx328_cur."from"()
     inc $P10
-    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', 181
+    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', 183
   # rx subcapture "sym"
-    set_addr $I10, rxcap_327_fail
-    rx323_cur."!mark_push"(0, rx323_pos, $I10)
+    set_addr $I10, rxcap_332_fail
+    rx328_cur."!mark_push"(0, rx328_pos, $I10)
   # rx literal  "for"
-    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)
+    add $I11, rx328_pos, 3
+    gt $I11, rx328_eos, rx328_fail
+    sub $I11, rx328_pos, rx328_off
+    substr $S10, rx328_tgt, $I11, 3
+    ne $S10, "for", rx328_fail
+    add rx328_pos, 3
+    set_addr $I10, rxcap_332_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"("sym")
-    goto rxcap_327_done
-  rxcap_327_fail:
-    goto rx323_fail
-  rxcap_327_done:
+    goto rxcap_332_done
+  rxcap_332_fail:
+    goto rx328_fail
+  rxcap_332_done:
   # rx charclass s
-    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', 182
+    ge rx328_pos, rx328_eos, rx328_fail
+    sub $I10, rx328_pos, rx328_off
+    is_cclass $I11, 32, rx328_tgt, $I10
+    unless $I11, rx328_fail
+    inc rx328_pos
+  # rx subrule "ws" subtype=method negate=
+    rx328_cur."!cursor_pos"(rx328_pos)
+    $P10 = rx328_cur."ws"()
+    unless $P10, rx328_fail
+    rx328_pos = $P10."pos"()
+.annotate 'line', 184
   # rx subrule "xblock" subtype=capture negate=
-    rx323_cur."!cursor_pos"(rx323_pos)
-    $P10 = rx323_cur."xblock"()
-    unless $P10, rx323_fail
-    rx323_cur."!mark_push"(0, -1, 0, $P10)
+    rx328_cur."!cursor_pos"(rx328_pos)
+    $P10 = rx328_cur."xblock"()
+    unless $P10, rx328_fail
+    rx328_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("xblock")
-    rx323_pos = $P10."pos"()
+    rx328_pos = $P10."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', 180
+    rx328_cur."!cursor_pos"(rx328_pos)
+    $P10 = rx328_cur."ws"()
+    unless $P10, rx328_fail
+    rx328_pos = $P10."pos"()
+.annotate 'line', 182
   # rx pass
-    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:
+    rx328_cur."!cursor_pass"(rx328_pos, "statement_control:sym<for>")
+    rx328_cur."!cursor_debug"("PASS  ", "statement_control:sym<for>", " at pos=", rx328_pos)
+    .return (rx328_cur)
+  rx328_fail:
 .annotate 'line', 4
-    (rx323_rep, rx323_pos, $I10, $P10) = rx323_cur."!mark_fail"(0)
-    lt rx323_pos, -1, rx323_done
-    eq rx323_pos, -1, rx323_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
-  rx323_done:
-    rx323_cur."!cursor_fail"()
-    rx323_cur."!cursor_debug"("FAIL  ", "statement_control:sym<for>")
-    .return (rx323_cur)
+  rx328_done:
+    rx328_cur."!cursor_fail"()
+    rx328_cur."!cursor_debug"("FAIL  ", "statement_control:sym<for>")
+    .return (rx328_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__statement_control:sym<for>"  :subid("70_1274800460.92525") :method
+.sub "!PREFIX__statement_control:sym<for>"  :subid("72_1274853038.58734") :method
 .annotate 'line', 4
-    new $P325, "ResizablePMCArray"
-    push $P325, "for"
-    .return ($P325)
+    new $P330, "ResizablePMCArray"
+    push $P330, "for"
+    .return ($P330)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "statement_control:sym<CATCH>"  :subid("71_1274800460.92525") :method :outer("11_1274800460.92525")
+.sub "statement_control:sym<CATCH>"  :subid("73_1274853038.58734") :method :outer("11_1274853038.58734")
 .annotate 'line', 4
-    .local string rx331_tgt
-    .local int rx331_pos
-    .local int rx331_off
-    .local int rx331_eos
-    .local int rx331_rep
-    .local pmc rx331_cur
-    (rx331_cur, rx331_pos, rx331_tgt) = self."!cursor_start"()
-    rx331_cur."!cursor_debug"("START ", "statement_control:sym<CATCH>")
-    .lex unicode:"$\x{a2}", rx331_cur
-    .local pmc match
-    .lex "$/", match
-    length rx331_eos, rx331_tgt
-    set rx331_off, 0
-    lt rx331_pos, 2, rx331_start
-    sub rx331_off, rx331_pos, 1
-    substr rx331_tgt, rx331_tgt, rx331_off
-  rx331_start:
-    $I10 = self.'from'()
-    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, rxscan334_done
-  rxscan334_scan:
-    set_addr $I10, rxscan334_loop
-    rx331_cur."!mark_push"(0, rx331_pos, $I10)
-  rxscan334_done:
-.annotate 'line', 186
+    .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 ", "statement_control:sym<CATCH>")
+    .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:
+.annotate 'line', 188
   # rx subcapture "sym"
-    set_addr $I10, rxcap_335_fail
-    rx331_cur."!mark_push"(0, rx331_pos, $I10)
+    set_addr $I10, rxcap_340_fail
+    rx336_cur."!mark_push"(0, rx336_pos, $I10)
   # 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, 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)
+    add $I11, rx336_pos, 5
+    gt $I11, rx336_eos, rx336_fail
+    sub $I11, rx336_pos, rx336_off
+    substr $S10, rx336_tgt, $I11, 5
+    ne $S10, "CATCH", rx336_fail
+    add rx336_pos, 5
+    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)
     $P10."!cursor_names"("sym")
-    goto rxcap_335_done
-  rxcap_335_fail:
-    goto rx331_fail
-  rxcap_335_done:
+    goto rxcap_340_done
+  rxcap_340_fail:
+    goto rx336_fail
+  rxcap_340_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', 187
+    ge rx336_pos, rx336_eos, rx336_fail
+    sub $I10, rx336_pos, rx336_off
+    is_cclass $I11, 32, rx336_tgt, $I10
+    unless $I11, rx336_fail
+    inc rx336_pos
+  # rx subrule "ws" subtype=method negate=
+    rx336_cur."!cursor_pos"(rx336_pos)
+    $P10 = rx336_cur."ws"()
+    unless $P10, rx336_fail
+    rx336_pos = $P10."pos"()
+.annotate 'line', 189
   # rx subrule "block" subtype=capture negate=
-    rx331_cur."!cursor_pos"(rx331_pos)
-    $P10 = rx331_cur."block"()
-    unless $P10, rx331_fail
-    rx331_cur."!mark_push"(0, -1, 0, $P10)
+    rx336_cur."!cursor_pos"(rx336_pos)
+    $P10 = rx336_cur."block"()
+    unless $P10, rx336_fail
+    rx336_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("block")
-    rx331_pos = $P10."pos"()
+    rx336_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', 185
+    rx336_cur."!cursor_pos"(rx336_pos)
+    $P10 = rx336_cur."ws"()
+    unless $P10, rx336_fail
+    rx336_pos = $P10."pos"()
+.annotate 'line', 187
   # rx pass
-    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:
+    rx336_cur."!cursor_pass"(rx336_pos, "statement_control:sym<CATCH>")
+    rx336_cur."!cursor_debug"("PASS  ", "statement_control:sym<CATCH>", " at pos=", rx336_pos)
+    .return (rx336_cur)
+  rx336_fail:
 .annotate 'line', 4
-    (rx331_rep, rx331_pos, $I10, $P10) = rx331_cur."!mark_fail"(0)
-    lt rx331_pos, -1, rx331_done
-    eq rx331_pos, -1, rx331_fail
+    (rx336_rep, rx336_pos, $I10, $P10) = rx336_cur."!mark_fail"(0)
+    lt rx336_pos, -1, rx336_done
+    eq rx336_pos, -1, rx336_fail
     jump $I10
-  rx331_done:
-    rx331_cur."!cursor_fail"()
-    rx331_cur."!cursor_debug"("FAIL  ", "statement_control:sym<CATCH>")
-    .return (rx331_cur)
+  rx336_done:
+    rx336_cur."!cursor_fail"()
+    rx336_cur."!cursor_debug"("FAIL  ", "statement_control:sym<CATCH>")
+    .return (rx336_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__statement_control:sym<CATCH>"  :subid("72_1274800460.92525") :method
+.sub "!PREFIX__statement_control:sym<CATCH>"  :subid("74_1274853038.58734") :method
 .annotate 'line', 4
-    new $P333, "ResizablePMCArray"
-    push $P333, "CATCH"
-    .return ($P333)
+    new $P338, "ResizablePMCArray"
+    push $P338, "CATCH"
+    .return ($P338)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "statement_control:sym<CONTROL>"  :subid("73_1274800460.92525") :method :outer("11_1274800460.92525")
+.sub "statement_control:sym<CONTROL>"  :subid("75_1274853038.58734") :method :outer("11_1274853038.58734")
 .annotate 'line', 4
-    .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 string rx344_tgt
+    .local int rx344_pos
+    .local int rx344_off
+    .local int rx344_eos
+    .local int rx344_rep
+    .local pmc rx344_cur
+    (rx344_cur, rx344_pos, rx344_tgt) = self."!cursor_start"()
+    rx344_cur."!cursor_debug"("START ", "statement_control:sym<CONTROL>")
+    .lex unicode:"$\x{a2}", rx344_cur
     .local pmc match
     .lex "$/", match
-    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:
+    length rx344_eos, rx344_tgt
+    set rx344_off, 0
+    lt rx344_pos, 2, rx344_start
+    sub rx344_off, rx344_pos, 1
+    substr rx344_tgt, rx344_tgt, rx344_off
+  rx344_start:
     $I10 = self.'from'()
-    ne $I10, -1, rxscan342_done
-    goto rxscan342_scan
-  rxscan342_loop:
-    ($P10) = rx339_cur."from"()
+    ne $I10, -1, rxscan347_done
+    goto rxscan347_scan
+  rxscan347_loop:
+    ($P10) = rx344_cur."from"()
     inc $P10
-    set rx339_pos, $P10
-    ge rx339_pos, rx339_eos, rxscan342_done
-  rxscan342_scan:
-    set_addr $I10, rxscan342_loop
-    rx339_cur."!mark_push"(0, rx339_pos, $I10)
-  rxscan342_done:
-.annotate 'line', 191
+    set rx344_pos, $P10
+    ge rx344_pos, rx344_eos, rxscan347_done
+  rxscan347_scan:
+    set_addr $I10, rxscan347_loop
+    rx344_cur."!mark_push"(0, rx344_pos, $I10)
+  rxscan347_done:
+.annotate 'line', 193
   # rx subcapture "sym"
-    set_addr $I10, rxcap_343_fail
-    rx339_cur."!mark_push"(0, rx339_pos, $I10)
+    set_addr $I10, rxcap_348_fail
+    rx344_cur."!mark_push"(0, rx344_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) = 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)
+    add $I11, rx344_pos, 7
+    gt $I11, rx344_eos, rx344_fail
+    sub $I11, rx344_pos, rx344_off
+    substr $S10, rx344_tgt, $I11, 7
+    ne $S10, "CONTROL", rx344_fail
+    add rx344_pos, 7
+    set_addr $I10, rxcap_348_fail
+    ($I12, $I11) = rx344_cur."!mark_peek"($I10)
+    rx344_cur."!cursor_pos"($I11)
+    ($P10) = rx344_cur."!cursor_start"()
+    $P10."!cursor_pass"(rx344_pos, "")
+    rx344_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("sym")
-    goto rxcap_343_done
-  rxcap_343_fail:
-    goto rx339_fail
-  rxcap_343_done:
+    goto rxcap_348_done
+  rxcap_348_fail:
+    goto rx344_fail
+  rxcap_348_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', 192
+    ge rx344_pos, rx344_eos, rx344_fail
+    sub $I10, rx344_pos, rx344_off
+    is_cclass $I11, 32, rx344_tgt, $I10
+    unless $I11, rx344_fail
+    inc rx344_pos
+  # rx subrule "ws" subtype=method negate=
+    rx344_cur."!cursor_pos"(rx344_pos)
+    $P10 = rx344_cur."ws"()
+    unless $P10, rx344_fail
+    rx344_pos = $P10."pos"()
+.annotate 'line', 194
   # 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)
+    rx344_cur."!cursor_pos"(rx344_pos)
+    $P10 = rx344_cur."block"()
+    unless $P10, rx344_fail
+    rx344_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("block")
-    rx339_pos = $P10."pos"()
+    rx344_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', 190
+    rx344_cur."!cursor_pos"(rx344_pos)
+    $P10 = rx344_cur."ws"()
+    unless $P10, rx344_fail
+    rx344_pos = $P10."pos"()
+.annotate 'line', 192
   # rx pass
-    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:
+    rx344_cur."!cursor_pass"(rx344_pos, "statement_control:sym<CONTROL>")
+    rx344_cur."!cursor_debug"("PASS  ", "statement_control:sym<CONTROL>", " at pos=", rx344_pos)
+    .return (rx344_cur)
+  rx344_fail:
 .annotate 'line', 4
-    (rx339_rep, rx339_pos, $I10, $P10) = rx339_cur."!mark_fail"(0)
-    lt rx339_pos, -1, rx339_done
-    eq rx339_pos, -1, rx339_fail
+    (rx344_rep, rx344_pos, $I10, $P10) = rx344_cur."!mark_fail"(0)
+    lt rx344_pos, -1, rx344_done
+    eq rx344_pos, -1, rx344_fail
     jump $I10
-  rx339_done:
-    rx339_cur."!cursor_fail"()
-    rx339_cur."!cursor_debug"("FAIL  ", "statement_control:sym<CONTROL>")
-    .return (rx339_cur)
+  rx344_done:
+    rx344_cur."!cursor_fail"()
+    rx344_cur."!cursor_debug"("FAIL  ", "statement_control:sym<CONTROL>")
+    .return (rx344_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__statement_control:sym<CONTROL>"  :subid("74_1274800460.92525") :method
+.sub "!PREFIX__statement_control:sym<CONTROL>"  :subid("76_1274853038.58734") :method
 .annotate 'line', 4
-    new $P341, "ResizablePMCArray"
-    push $P341, "CONTROL"
-    .return ($P341)
+    new $P346, "ResizablePMCArray"
+    push $P346, "CONTROL"
+    .return ($P346)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "statement_prefix"  :subid("75_1274800460.92525") :method
-.annotate 'line', 195
-    $P347 = self."!protoregex"("statement_prefix")
-    .return ($P347)
+.sub "statement_prefix"  :subid("77_1274853038.58734") :method
+.annotate 'line', 197
+    $P352 = self."!protoregex"("statement_prefix")
+    .return ($P352)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__statement_prefix"  :subid("76_1274800460.92525") :method
-.annotate 'line', 195
-    $P349 = self."!PREFIX__!protoregex"("statement_prefix")
-    .return ($P349)
+.sub "!PREFIX__statement_prefix"  :subid("78_1274853038.58734") :method
+.annotate 'line', 197
+    $P354 = self."!PREFIX__!protoregex"("statement_prefix")
+    .return ($P354)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "statement_prefix:sym<INIT>"  :subid("77_1274800460.92525") :method :outer("11_1274800460.92525")
+.sub "statement_prefix:sym<INIT>"  :subid("79_1274853038.58734") :method :outer("11_1274853038.58734")
 .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', 196
+    .local string rx356_tgt
+    .local int rx356_pos
+    .local int rx356_off
+    .local int rx356_eos
+    .local int rx356_rep
+    .local pmc rx356_cur
+    (rx356_cur, rx356_pos, rx356_tgt) = self."!cursor_start"()
+    rx356_cur."!cursor_debug"("START ", "statement_prefix:sym<INIT>")
+    .lex unicode:"$\x{a2}", rx356_cur
+    .local pmc match
+    .lex "$/", match
+    length rx356_eos, rx356_tgt
+    set rx356_off, 0
+    lt rx356_pos, 2, rx356_start
+    sub rx356_off, rx356_pos, 1
+    substr rx356_tgt, rx356_tgt, rx356_off
+  rx356_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan360_done
+    goto rxscan360_scan
+  rxscan360_loop:
+    ($P10) = rx356_cur."from"()
+    inc $P10
+    set rx356_pos, $P10
+    ge rx356_pos, rx356_eos, rxscan360_done
+  rxscan360_scan:
+    set_addr $I10, rxscan360_loop
+    rx356_cur."!mark_push"(0, rx356_pos, $I10)
+  rxscan360_done:
+.annotate 'line', 198
   # rx subcapture "sym"
-    set_addr $I10, rxcap_356_fail
-    rx351_cur."!mark_push"(0, rx351_pos, $I10)
+    set_addr $I10, rxcap_361_fail
+    rx356_cur."!mark_push"(0, rx356_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)
+    add $I11, rx356_pos, 4
+    gt $I11, rx356_eos, rx356_fail
+    sub $I11, rx356_pos, rx356_off
+    substr $S10, rx356_tgt, $I11, 4
+    ne $S10, "INIT", rx356_fail
+    add rx356_pos, 4
+    set_addr $I10, rxcap_361_fail
+    ($I12, $I11) = rx356_cur."!mark_peek"($I10)
+    rx356_cur."!cursor_pos"($I11)
+    ($P10) = rx356_cur."!cursor_start"()
+    $P10."!cursor_pass"(rx356_pos, "")
+    rx356_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("sym")
-    goto rxcap_356_done
-  rxcap_356_fail:
-    goto rx351_fail
-  rxcap_356_done:
+    goto rxcap_361_done
+  rxcap_361_fail:
+    goto rx356_fail
+  rxcap_361_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)
+    rx356_cur."!cursor_pos"(rx356_pos)
+    $P10 = rx356_cur."blorst"()
+    unless $P10, rx356_fail
+    rx356_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("blorst")
-    rx351_pos = $P10."pos"()
+    rx356_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:
+    rx356_cur."!cursor_pass"(rx356_pos, "statement_prefix:sym<INIT>")
+    rx356_cur."!cursor_debug"("PASS  ", "statement_prefix:sym<INIT>", " at pos=", rx356_pos)
+    .return (rx356_cur)
+  rx356_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
+    (rx356_rep, rx356_pos, $I10, $P10) = rx356_cur."!mark_fail"(0)
+    lt rx356_pos, -1, rx356_done
+    eq rx356_pos, -1, rx356_fail
     jump $I10
-  rx351_done:
-    rx351_cur."!cursor_fail"()
-    rx351_cur."!cursor_debug"("FAIL  ", "statement_prefix:sym<INIT>")
-    .return (rx351_cur)
+  rx356_done:
+    rx356_cur."!cursor_fail"()
+    rx356_cur."!cursor_debug"("FAIL  ", "statement_prefix:sym<INIT>")
+    .return (rx356_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__statement_prefix:sym<INIT>"  :subid("78_1274800460.92525") :method
+.sub "!PREFIX__statement_prefix:sym<INIT>"  :subid("80_1274853038.58734") :method
 .annotate 'line', 4
-    $P353 = self."!PREFIX__!subrule"("blorst", "INIT")
-    new $P354, "ResizablePMCArray"
-    push $P354, $P353
-    .return ($P354)
+    $P358 = self."!PREFIX__!subrule"("blorst", "INIT")
+    new $P359, "ResizablePMCArray"
+    push $P359, $P358
+    .return ($P359)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "statement_prefix:sym<try>"  :subid("79_1274800460.92525") :method :outer("11_1274800460.92525")
+.sub "statement_prefix:sym<try>"  :subid("81_1274853038.58734") :method :outer("11_1274853038.58734")
 .annotate 'line', 4
-    .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', 199
+    .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_prefix:sym<try>")
+    .lex unicode:"$\x{a2}", rx363_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:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan367_done
+    goto rxscan367_scan
+  rxscan367_loop:
+    ($P10) = rx363_cur."from"()
+    inc $P10
+    set rx363_pos, $P10
+    ge rx363_pos, rx363_eos, rxscan367_done
+  rxscan367_scan:
+    set_addr $I10, rxscan367_loop
+    rx363_cur."!mark_push"(0, rx363_pos, $I10)
+  rxscan367_done:
+.annotate 'line', 201
   # rx subcapture "sym"
-    set_addr $I10, rxcap_363_fail
-    rx358_cur."!mark_push"(0, rx358_pos, $I10)
+    set_addr $I10, rxcap_368_fail
+    rx363_cur."!mark_push"(0, rx363_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)
+    add $I11, rx363_pos, 3
+    gt $I11, rx363_eos, rx363_fail
+    sub $I11, rx363_pos, rx363_off
+    substr $S10, rx363_tgt, $I11, 3
+    ne $S10, "try", rx363_fail
+    add rx363_pos, 3
+    set_addr $I10, rxcap_368_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_363_done
-  rxcap_363_fail:
-    goto rx358_fail
-  rxcap_363_done:
-.annotate 'line', 200
+    goto rxcap_368_done
+  rxcap_368_fail:
+    goto rx363_fail
+  rxcap_368_done:
+.annotate 'line', 202
   # 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)
+    rx363_cur."!cursor_pos"(rx363_pos)
+    $P10 = rx363_cur."blorst"()
+    unless $P10, rx363_fail
+    rx363_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("blorst")
-    rx358_pos = $P10."pos"()
-.annotate 'line', 198
+    rx363_pos = $P10."pos"()
+.annotate 'line', 200
   # rx pass
-    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:
+    rx363_cur."!cursor_pass"(rx363_pos, "statement_prefix:sym<try>")
+    rx363_cur."!cursor_debug"("PASS  ", "statement_prefix:sym<try>", " at pos=", rx363_pos)
+    .return (rx363_cur)
+  rx363_fail:
 .annotate 'line', 4
-    (rx358_rep, rx358_pos, $I10, $P10) = rx358_cur."!mark_fail"(0)
-    lt rx358_pos, -1, rx358_done
-    eq rx358_pos, -1, rx358_fail
+    (rx363_rep, rx363_pos, $I10, $P10) = rx363_cur."!mark_fail"(0)
+    lt rx363_pos, -1, rx363_done
+    eq rx363_pos, -1, rx363_fail
     jump $I10
-  rx358_done:
-    rx358_cur."!cursor_fail"()
-    rx358_cur."!cursor_debug"("FAIL  ", "statement_prefix:sym<try>")
-    .return (rx358_cur)
+  rx363_done:
+    rx363_cur."!cursor_fail"()
+    rx363_cur."!cursor_debug"("FAIL  ", "statement_prefix:sym<try>")
+    .return (rx363_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__statement_prefix:sym<try>"  :subid("80_1274800460.92525") :method
+.sub "!PREFIX__statement_prefix:sym<try>"  :subid("82_1274853038.58734") :method
 .annotate 'line', 4
-    $P360 = self."!PREFIX__!subrule"("blorst", "try")
-    new $P361, "ResizablePMCArray"
-    push $P361, $P360
-    .return ($P361)
+    $P365 = self."!PREFIX__!subrule"("blorst", "try")
+    new $P366, "ResizablePMCArray"
+    push $P366, $P365
+    .return ($P366)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "blorst"  :subid("81_1274800460.92525") :method :outer("11_1274800460.92525")
+.sub "blorst"  :subid("83_1274853038.58734") :method :outer("11_1274853038.58734")
 .annotate 'line', 4
-    .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 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 ", "blorst")
+    .lex unicode:"$\x{a2}", rx370_cur
     .local pmc match
     .lex "$/", match
-    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:
+    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, rxscan368_done
-    goto rxscan368_scan
-  rxscan368_loop:
-    ($P10) = rx365_cur."from"()
+    ne $I10, -1, rxscan373_done
+    goto rxscan373_scan
+  rxscan373_loop:
+    ($P10) = rx370_cur."from"()
     inc $P10
-    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', 204
+    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', 206
   # 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)
+    ge rx370_pos, rx370_eos, rx370_fail
+    sub $I10, rx370_pos, rx370_off
+    is_cclass $I11, 32, rx370_tgt, $I10
+    unless $I11, rx370_fail
+    inc rx370_pos
+  # rx subrule "ws" subtype=method negate=
+    rx370_cur."!cursor_pos"(rx370_pos)
+    $P10 = rx370_cur."ws"()
+    unless $P10, rx370_fail
+    rx370_pos = $P10."pos"()
+  alt374_0:
+    set_addr $I10, alt374_1
+    rx370_cur."!mark_push"(0, rx370_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
+    ge rx370_pos, rx370_eos, rx370_fail
+    sub $I10, rx370_pos, rx370_off
+    substr $S10, rx370_tgt, $I10, 1
     index $I11, "{", $S10
-    lt $I11, 0, rx365_fail
+    lt $I11, 0, rx370_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)
+    rx370_cur."!cursor_pos"(rx370_pos)
+    $P10 = rx370_cur."block"()
+    unless $P10, rx370_fail
+    rx370_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("block")
-    rx365_pos = $P10."pos"()
-    goto alt369_end
-  alt369_1:
+    rx370_pos = $P10."pos"()
+    goto alt374_end
+  alt374_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)
+    rx370_cur."!cursor_pos"(rx370_pos)
+    $P10 = rx370_cur."statement"()
+    unless $P10, rx370_fail
+    rx370_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("statement")
-    rx365_pos = $P10."pos"()
-  alt369_end:
-.annotate 'line', 203
+    rx370_pos = $P10."pos"()
+  alt374_end:
+.annotate 'line', 205
   # rx pass
-    rx365_cur."!cursor_pass"(rx365_pos, "blorst")
-    rx365_cur."!cursor_debug"("PASS  ", "blorst", " at pos=", rx365_pos)
-    .return (rx365_cur)
-  rx365_fail:
+    rx370_cur."!cursor_pass"(rx370_pos, "blorst")
+    rx370_cur."!cursor_debug"("PASS  ", "blorst", " at pos=", rx370_pos)
+    .return (rx370_cur)
+  rx370_fail:
 .annotate 'line', 4
-    (rx365_rep, rx365_pos, $I10, $P10) = rx365_cur."!mark_fail"(0)
-    lt rx365_pos, -1, rx365_done
-    eq rx365_pos, -1, rx365_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
-  rx365_done:
-    rx365_cur."!cursor_fail"()
-    rx365_cur."!cursor_debug"("FAIL  ", "blorst")
-    .return (rx365_cur)
+  rx370_done:
+    rx370_cur."!cursor_fail"()
+    rx370_cur."!cursor_debug"("FAIL  ", "blorst")
+    .return (rx370_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__blorst"  :subid("82_1274800460.92525") :method
+.sub "!PREFIX__blorst"  :subid("84_1274853038.58734") :method
 .annotate 'line', 4
-    new $P367, "ResizablePMCArray"
-    push $P367, ""
-    .return ($P367)
+    new $P372, "ResizablePMCArray"
+    push $P372, ""
+    .return ($P372)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "statement_mod_cond"  :subid("83_1274800460.92525") :method
-.annotate 'line', 209
-    $P371 = self."!protoregex"("statement_mod_cond")
-    .return ($P371)
+.sub "statement_mod_cond"  :subid("85_1274853038.58734") :method
+.annotate 'line', 211
+    $P376 = self."!protoregex"("statement_mod_cond")
+    .return ($P376)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__statement_mod_cond"  :subid("84_1274800460.92525") :method
-.annotate 'line', 209
-    $P373 = self."!PREFIX__!protoregex"("statement_mod_cond")
-    .return ($P373)
+.sub "!PREFIX__statement_mod_cond"  :subid("86_1274853038.58734") :method
+.annotate 'line', 211
+    $P378 = self."!PREFIX__!protoregex"("statement_mod_cond")
+    .return ($P378)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "statement_mod_cond:sym<if>"  :subid("85_1274800460.92525") :method :outer("11_1274800460.92525")
+.sub "statement_mod_cond:sym<if>"  :subid("87_1274853038.58734") :method :outer("11_1274853038.58734")
 .annotate 'line', 4
-    .local string rx375_tgt
-    .local int rx375_pos
-    .local int rx375_off
-    .local int rx375_eos
-    .local int rx375_rep
-    .local pmc rx375_cur
-    (rx375_cur, rx375_pos, rx375_tgt) = self."!cursor_start"()
-    rx375_cur."!cursor_debug"("START ", "statement_mod_cond:sym<if>")
-    .lex unicode:"$\x{a2}", rx375_cur
-    .local pmc match
-    .lex "$/", match
-    length rx375_eos, rx375_tgt
-    set rx375_off, 0
-    lt rx375_pos, 2, rx375_start
-    sub rx375_off, rx375_pos, 1
-    substr rx375_tgt, rx375_tgt, rx375_off
-  rx375_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan378_done
-    goto rxscan378_scan
-  rxscan378_loop:
-    ($P10) = rx375_cur."from"()
-    inc $P10
-    set rx375_pos, $P10
-    ge rx375_pos, rx375_eos, rxscan378_done
-  rxscan378_scan:
-    set_addr $I10, rxscan378_loop
-    rx375_cur."!mark_push"(0, rx375_pos, $I10)
-  rxscan378_done:
-.annotate 'line', 211
+    .local string rx380_tgt
+    .local int rx380_pos
+    .local int rx380_off
+    .local int rx380_eos
+    .local int rx380_rep
+    .local pmc rx380_cur
+    (rx380_cur, rx380_pos, rx380_tgt) = self."!cursor_start"()
+    rx380_cur."!cursor_debug"("START ", "statement_mod_cond:sym<if>")
+    .lex unicode:"$\x{a2}", rx380_cur
+    .local pmc match
+    .lex "$/", match
+    length rx380_eos, rx380_tgt
+    set rx380_off, 0
+    lt rx380_pos, 2, rx380_start
+    sub rx380_off, rx380_pos, 1
+    substr rx380_tgt, rx380_tgt, rx380_off
+  rx380_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan383_done
+    goto rxscan383_scan
+  rxscan383_loop:
+    ($P10) = rx380_cur."from"()
+    inc $P10
+    set rx380_pos, $P10
+    ge rx380_pos, rx380_eos, rxscan383_done
+  rxscan383_scan:
+    set_addr $I10, rxscan383_loop
+    rx380_cur."!mark_push"(0, rx380_pos, $I10)
+  rxscan383_done:
+.annotate 'line', 213
   # rx subcapture "sym"
-    set_addr $I10, rxcap_379_fail
-    rx375_cur."!mark_push"(0, rx375_pos, $I10)
+    set_addr $I10, rxcap_384_fail
+    rx380_cur."!mark_push"(0, rx380_pos, $I10)
   # 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, 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)
-    ($P10) = rx375_cur."!cursor_start"()
-    $P10."!cursor_pass"(rx375_pos, "")
-    rx375_cur."!mark_push"(0, -1, 0, $P10)
+    add $I11, rx380_pos, 2
+    gt $I11, rx380_eos, rx380_fail
+    sub $I11, rx380_pos, rx380_off
+    substr $S10, rx380_tgt, $I11, 2
+    ne $S10, "if", rx380_fail
+    add rx380_pos, 2
+    set_addr $I10, rxcap_384_fail
+    ($I12, $I11) = rx380_cur."!mark_peek"($I10)
+    rx380_cur."!cursor_pos"($I11)
+    ($P10) = rx380_cur."!cursor_start"()
+    $P10."!cursor_pass"(rx380_pos, "")
+    rx380_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("sym")
-    goto rxcap_379_done
-  rxcap_379_fail:
-    goto rx375_fail
-  rxcap_379_done:
-  # rx subrule "ws" subtype=method negate=
-    rx375_cur."!cursor_pos"(rx375_pos)
-    $P10 = rx375_cur."ws"()
-    unless $P10, rx375_fail
-    rx375_pos = $P10."pos"()
+    goto rxcap_384_done
+  rxcap_384_fail:
+    goto rx380_fail
+  rxcap_384_done:
+  # rx subrule "ws" subtype=method negate=
+    rx380_cur."!cursor_pos"(rx380_pos)
+    $P10 = rx380_cur."ws"()
+    unless $P10, rx380_fail
+    rx380_pos = $P10."pos"()
   # rx subrule "EXPR" subtype=capture negate=
-    rx375_cur."!cursor_pos"(rx375_pos)
-    $P10 = rx375_cur."EXPR"()
-    unless $P10, rx375_fail
-    rx375_cur."!mark_push"(0, -1, 0, $P10)
+    rx380_cur."!cursor_pos"(rx380_pos)
+    $P10 = rx380_cur."EXPR"()
+    unless $P10, rx380_fail
+    rx380_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("cond")
-    rx375_pos = $P10."pos"()
+    rx380_pos = $P10."pos"()
   # rx subrule "ws" subtype=method negate=
-    rx375_cur."!cursor_pos"(rx375_pos)
-    $P10 = rx375_cur."ws"()
-    unless $P10, rx375_fail
-    rx375_pos = $P10."pos"()
+    rx380_cur."!cursor_pos"(rx380_pos)
+    $P10 = rx380_cur."ws"()
+    unless $P10, rx380_fail
+    rx380_pos = $P10."pos"()
   # rx pass
-    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:
+    rx380_cur."!cursor_pass"(rx380_pos, "statement_mod_cond:sym<if>")
+    rx380_cur."!cursor_debug"("PASS  ", "statement_mod_cond:sym<if>", " at pos=", rx380_pos)
+    .return (rx380_cur)
+  rx380_fail:
 .annotate 'line', 4
-    (rx375_rep, rx375_pos, $I10, $P10) = rx375_cur."!mark_fail"(0)
-    lt rx375_pos, -1, rx375_done
-    eq rx375_pos, -1, rx375_fail
+    (rx380_rep, rx380_pos, $I10, $P10) = rx380_cur."!mark_fail"(0)
+    lt rx380_pos, -1, rx380_done
+    eq rx380_pos, -1, rx380_fail
     jump $I10
-  rx375_done:
-    rx375_cur."!cursor_fail"()
-    rx375_cur."!cursor_debug"("FAIL  ", "statement_mod_cond:sym<if>")
-    .return (rx375_cur)
+  rx380_done:
+    rx380_cur."!cursor_fail"()
+    rx380_cur."!cursor_debug"("FAIL  ", "statement_mod_cond:sym<if>")
+    .return (rx380_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__statement_mod_cond:sym<if>"  :subid("86_1274800460.92525") :method
+.sub "!PREFIX__statement_mod_cond:sym<if>"  :subid("88_1274853038.58734") :method
 .annotate 'line', 4
-    new $P377, "ResizablePMCArray"
-    push $P377, "if"
-    .return ($P377)
+    new $P382, "ResizablePMCArray"
+    push $P382, "if"
+    .return ($P382)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "statement_mod_cond:sym<unless>"  :subid("87_1274800460.92525") :method :outer("11_1274800460.92525")
+.sub "statement_mod_cond:sym<unless>"  :subid("89_1274853038.58734") :method :outer("11_1274853038.58734")
 .annotate 'line', 4
-    .local string rx383_tgt
-    .local int rx383_pos
-    .local int rx383_off
-    .local int rx383_eos
-    .local int rx383_rep
-    .local pmc rx383_cur
-    (rx383_cur, rx383_pos, rx383_tgt) = self."!cursor_start"()
-    rx383_cur."!cursor_debug"("START ", "statement_mod_cond:sym<unless>")
-    .lex unicode:"$\x{a2}", rx383_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 ", "statement_mod_cond:sym<unless>")
+    .lex unicode:"$\x{a2}", rx388_cur
     .local pmc match
     .lex "$/", match
-    length rx383_eos, rx383_tgt
-    set rx383_off, 0
-    lt rx383_pos, 2, rx383_start
-    sub rx383_off, rx383_pos, 1
-    substr rx383_tgt, rx383_tgt, rx383_off
-  rx383_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, rxscan386_done
-    goto rxscan386_scan
-  rxscan386_loop:
-    ($P10) = rx383_cur."from"()
+    ne $I10, -1, rxscan391_done
+    goto rxscan391_scan
+  rxscan391_loop:
+    ($P10) = rx388_cur."from"()
     inc $P10
-    set rx383_pos, $P10
-    ge rx383_pos, rx383_eos, rxscan386_done
-  rxscan386_scan:
-    set_addr $I10, rxscan386_loop
-    rx383_cur."!mark_push"(0, rx383_pos, $I10)
-  rxscan386_done:
-.annotate 'line', 212
+    set rx388_pos, $P10
+    ge rx388_pos, rx388_eos, rxscan391_done
+  rxscan391_scan:
+    set_addr $I10, rxscan391_loop
+    rx388_cur."!mark_push"(0, rx388_pos, $I10)
+  rxscan391_done:
+.annotate 'line', 214
   # rx subcapture "sym"
-    set_addr $I10, rxcap_387_fail
-    rx383_cur."!mark_push"(0, rx383_pos, $I10)
+    set_addr $I10, rxcap_392_fail
+    rx388_cur."!mark_push"(0, rx388_pos, $I10)
   # 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, 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)
-    ($P10) = rx383_cur."!cursor_start"()
-    $P10."!cursor_pass"(rx383_pos, "")
-    rx383_cur."!mark_push"(0, -1, 0, $P10)
+    add $I11, rx388_pos, 6
+    gt $I11, rx388_eos, rx388_fail
+    sub $I11, rx388_pos, rx388_off
+    substr $S10, rx388_tgt, $I11, 6
+    ne $S10, "unless", rx388_fail
+    add rx388_pos, 6
+    set_addr $I10, rxcap_392_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_387_done
-  rxcap_387_fail:
-    goto rx383_fail
-  rxcap_387_done:
-  # rx subrule "ws" subtype=method negate=
-    rx383_cur."!cursor_pos"(rx383_pos)
-    $P10 = rx383_cur."ws"()
-    unless $P10, rx383_fail
-    rx383_pos = $P10."pos"()
+    goto rxcap_392_done
+  rxcap_392_fail:
+    goto rx388_fail
+  rxcap_392_done:
+  # rx subrule "ws" subtype=method negate=
+    rx388_cur."!cursor_pos"(rx388_pos)
+    $P10 = rx388_cur."ws"()
+    unless $P10, rx388_fail
+    rx388_pos = $P10."pos"()
   # rx subrule "EXPR" subtype=capture negate=
-    rx383_cur."!cursor_pos"(rx383_pos)
-    $P10 = rx383_cur."EXPR"()
-    unless $P10, rx383_fail
-    rx383_cur."!mark_push"(0, -1, 0, $P10)
+    rx388_cur."!cursor_pos"(rx388_pos)
+    $P10 = rx388_cur."EXPR"()
+    unless $P10, rx388_fail
+    rx388_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("cond")
-    rx383_pos = $P10."pos"()
+    rx388_pos = $P10."pos"()
   # rx subrule "ws" subtype=method negate=
-    rx383_cur."!cursor_pos"(rx383_pos)
-    $P10 = rx383_cur."ws"()
-    unless $P10, rx383_fail
-    rx383_pos = $P10."pos"()
+    rx388_cur."!cursor_pos"(rx388_pos)
+    $P10 = rx388_cur."ws"()
+    unless $P10, rx388_fail
+    rx388_pos = $P10."pos"()
   # rx pass
-    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:
+    rx388_cur."!cursor_pass"(rx388_pos, "statement_mod_cond:sym<unless>")
+    rx388_cur."!cursor_debug"("PASS  ", "statement_mod_cond:sym<unless>", " at pos=", rx388_pos)
+    .return (rx388_cur)
+  rx388_fail:
 .annotate 'line', 4
-    (rx383_rep, rx383_pos, $I10, $P10) = rx383_cur."!mark_fail"(0)
-    lt rx383_pos, -1, rx383_done
-    eq rx383_pos, -1, rx383_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
-  rx383_done:
-    rx383_cur."!cursor_fail"()
-    rx383_cur."!cursor_debug"("FAIL  ", "statement_mod_cond:sym<unless>")
-    .return (rx383_cur)
+  rx388_done:
+    rx388_cur."!cursor_fail"()
+    rx388_cur."!cursor_debug"("FAIL  ", "statement_mod_cond:sym<unless>")
+    .return (rx388_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__statement_mod_cond:sym<unless>"  :subid("88_1274800460.92525") :method
+.sub "!PREFIX__statement_mod_cond:sym<unless>"  :subid("90_1274853038.58734") :method
 .annotate 'line', 4
-    new $P385, "ResizablePMCArray"
-    push $P385, "unless"
-    .return ($P385)
+    new $P390, "ResizablePMCArray"
+    push $P390, "unless"
+    .return ($P390)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "statement_mod_loop"  :subid("89_1274800460.92525") :method
-.annotate 'line', 214
-    $P391 = self."!protoregex"("statement_mod_loop")
-    .return ($P391)
+.sub "statement_mod_loop"  :subid("91_1274853038.58734") :method
+.annotate 'line', 216
+    $P396 = self."!protoregex"("statement_mod_loop")
+    .return ($P396)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__statement_mod_loop"  :subid("90_1274800460.92525") :method
-.annotate 'line', 214
-    $P393 = self."!PREFIX__!protoregex"("statement_mod_loop")
-    .return ($P393)
+.sub "!PREFIX__statement_mod_loop"  :subid("92_1274853038.58734") :method
+.annotate 'line', 216
+    $P398 = self."!PREFIX__!protoregex"("statement_mod_loop")
+    .return ($P398)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "statement_mod_loop:sym<while>"  :subid("91_1274800460.92525") :method :outer("11_1274800460.92525")
+.sub "statement_mod_loop:sym<while>"  :subid("93_1274853038.58734") :method :outer("11_1274853038.58734")
 .annotate 'line', 4
-    .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', 216
+    .local string rx400_tgt
+    .local int rx400_pos
+    .local int rx400_off
+    .local int rx400_eos
+    .local int rx400_rep
+    .local pmc rx400_cur
+    (rx400_cur, rx400_pos, rx400_tgt) = self."!cursor_start"()
+    rx400_cur."!cursor_debug"("START ", "statement_mod_loop:sym<while>")
+    .lex unicode:"$\x{a2}", rx400_cur
+    .local pmc match
+    .lex "$/", match
+    length rx400_eos, rx400_tgt
+    set rx400_off, 0
+    lt rx400_pos, 2, rx400_start
+    sub rx400_off, rx400_pos, 1
+    substr rx400_tgt, rx400_tgt, rx400_off
+  rx400_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan403_done
+    goto rxscan403_scan
+  rxscan403_loop:
+    ($P10) = rx400_cur."from"()
+    inc $P10
+    set rx400_pos, $P10
+    ge rx400_pos, rx400_eos, rxscan403_done
+  rxscan403_scan:
+    set_addr $I10, rxscan403_loop
+    rx400_cur."!mark_push"(0, rx400_pos, $I10)
+  rxscan403_done:
+.annotate 'line', 218
   # rx subcapture "sym"
-    set_addr $I10, rxcap_399_fail
-    rx395_cur."!mark_push"(0, rx395_pos, $I10)
+    set_addr $I10, rxcap_404_fail
+    rx400_cur."!mark_push"(0, rx400_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)
+    add $I11, rx400_pos, 5
+    gt $I11, rx400_eos, rx400_fail
+    sub $I11, rx400_pos, rx400_off
+    substr $S10, rx400_tgt, $I11, 5
+    ne $S10, "while", rx400_fail
+    add rx400_pos, 5
+    set_addr $I10, rxcap_404_fail
+    ($I12, $I11) = rx400_cur."!mark_peek"($I10)
+    rx400_cur."!cursor_pos"($I11)
+    ($P10) = rx400_cur."!cursor_start"()
+    $P10."!cursor_pass"(rx400_pos, "")
+    rx400_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"()
+    goto rxcap_404_done
+  rxcap_404_fail:
+    goto rx400_fail
+  rxcap_404_done:
+  # rx subrule "ws" subtype=method negate=
+    rx400_cur."!cursor_pos"(rx400_pos)
+    $P10 = rx400_cur."ws"()
+    unless $P10, rx400_fail
+    rx400_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)
+    rx400_cur."!cursor_pos"(rx400_pos)
+    $P10 = rx400_cur."EXPR"()
+    unless $P10, rx400_fail
+    rx400_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("cond")
-    rx395_pos = $P10."pos"()
+    rx400_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"()
+    rx400_cur."!cursor_pos"(rx400_pos)
+    $P10 = rx400_cur."ws"()
+    unless $P10, rx400_fail
+    rx400_pos = $P10."pos"()
   # rx pass
-    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:
+    rx400_cur."!cursor_pass"(rx400_pos, "statement_mod_loop:sym<while>")
+    rx400_cur."!cursor_debug"("PASS  ", "statement_mod_loop:sym<while>", " at pos=", rx400_pos)
+    .return (rx400_cur)
+  rx400_fail:
 .annotate 'line', 4
-    (rx395_rep, rx395_pos, $I10, $P10) = rx395_cur."!mark_fail"(0)
-    lt rx395_pos, -1, rx395_done
-    eq rx395_pos, -1, rx395_fail
+    (rx400_rep, rx400_pos, $I10, $P10) = rx400_cur."!mark_fail"(0)
+    lt rx400_pos, -1, rx400_done
+    eq rx400_pos, -1, rx400_fail
     jump $I10
-  rx395_done:
-    rx395_cur."!cursor_fail"()
-    rx395_cur."!cursor_debug"("FAIL  ", "statement_mod_loop:sym<while>")
-    .return (rx395_cur)
+  rx400_done:
+    rx400_cur."!cursor_fail"()
+    rx400_cur."!cursor_debug"("FAIL  ", "statement_mod_loop:sym<while>")
+    .return (rx400_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__statement_mod_loop:sym<while>"  :subid("92_1274800460.92525") :method
+.sub "!PREFIX__statement_mod_loop:sym<while>"  :subid("94_1274853038.58734") :method
 .annotate 'line', 4
-    new $P397, "ResizablePMCArray"
-    push $P397, "while"
-    .return ($P397)
+    new $P402, "ResizablePMCArray"
+    push $P402, "while"
+    .return ($P402)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "statement_mod_loop:sym<until>"  :subid("93_1274800460.92525") :method :outer("11_1274800460.92525")
+.sub "statement_mod_loop:sym<until>"  :subid("95_1274853038.58734") :method :outer("11_1274853038.58734")
 .annotate 'line', 4
-    .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 ", "statement_mod_loop:sym<until>")
-    .lex unicode:"$\x{a2}", rx403_cur
+    .local string rx408_tgt
+    .local int rx408_pos
+    .local int rx408_off
+    .local int rx408_eos
+    .local int rx408_rep
+    .local pmc rx408_cur
+    (rx408_cur, rx408_pos, rx408_tgt) = self."!cursor_start"()
+    rx408_cur."!cursor_debug"("START ", "statement_mod_loop:sym<until>")
+    .lex unicode:"$\x{a2}", rx408_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:
+    length rx408_eos, rx408_tgt
+    set rx408_off, 0
+    lt rx408_pos, 2, rx408_start
+    sub rx408_off, rx408_pos, 1
+    substr rx408_tgt, rx408_tgt, rx408_off
+  rx408_start:
     $I10 = self.'from'()
-    ne $I10, -1, rxscan406_done
-    goto rxscan406_scan
-  rxscan406_loop:
-    ($P10) = rx403_cur."from"()
+    ne $I10, -1, rxscan411_done
+    goto rxscan411_scan
+  rxscan411_loop:
+    ($P10) = rx408_cur."from"()
     inc $P10
-    set rx403_pos, $P10
-    ge rx403_pos, rx403_eos, rxscan406_done
-  rxscan406_scan:
-    set_addr $I10, rxscan406_loop
-    rx403_cur."!mark_push"(0, rx403_pos, $I10)
-  rxscan406_done:
-.annotate 'line', 217
+    set rx408_pos, $P10
+    ge rx408_pos, rx408_eos, rxscan411_done
+  rxscan411_scan:
+    set_addr $I10, rxscan411_loop
+    rx408_cur."!mark_push"(0, rx408_pos, $I10)
+  rxscan411_done:
+.annotate 'line', 219
   # rx subcapture "sym"
-    set_addr $I10, rxcap_407_fail
-    rx403_cur."!mark_push"(0, rx403_pos, $I10)
+    set_addr $I10, rxcap_412_fail
+    rx408_cur."!mark_push"(0, rx408_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)
+    add $I11, rx408_pos, 5
+    gt $I11, rx408_eos, rx408_fail
+    sub $I11, rx408_pos, rx408_off
+    substr $S10, rx408_tgt, $I11, 5
+    ne $S10, "until", rx408_fail
+    add rx408_pos, 5
+    set_addr $I10, rxcap_412_fail
+    ($I12, $I11) = rx408_cur."!mark_peek"($I10)
+    rx408_cur."!cursor_pos"($I11)
+    ($P10) = rx408_cur."!cursor_start"()
+    $P10."!cursor_pass"(rx408_pos, "")
+    rx408_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"()
+    goto rxcap_412_done
+  rxcap_412_fail:
+    goto rx408_fail
+  rxcap_412_done:
+  # rx subrule "ws" subtype=method negate=
+    rx408_cur."!cursor_pos"(rx408_pos)
+    $P10 = rx408_cur."ws"()
+    unless $P10, rx408_fail
+    rx408_pos = $P10."pos"()
   # rx subrule "EXPR" subtype=capture negate=
-    rx403_cur."!cursor_pos"(rx403_pos)
-    $P10 = rx403_cur."EXPR"()
-    unless $P10, rx403_fail
-    rx403_cur."!mark_push"(0, -1, 0, $P10)
+    rx408_cur."!cursor_pos"(rx408_pos)
+    $P10 = rx408_cur."EXPR"()
+    unless $P10, rx408_fail
+    rx408_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("cond")
-    rx403_pos = $P10."pos"()
+    rx408_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"()
+    rx408_cur."!cursor_pos"(rx408_pos)
+    $P10 = rx408_cur."ws"()
+    unless $P10, rx408_fail
+    rx408_pos = $P10."pos"()
   # rx pass
-    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:
+    rx408_cur."!cursor_pass"(rx408_pos, "statement_mod_loop:sym<until>")
+    rx408_cur."!cursor_debug"("PASS  ", "statement_mod_loop:sym<until>", " at pos=", rx408_pos)
+    .return (rx408_cur)
+  rx408_fail:
 .annotate 'line', 4
-    (rx403_rep, rx403_pos, $I10, $P10) = rx403_cur."!mark_fail"(0)
-    lt rx403_pos, -1, rx403_done
-    eq rx403_pos, -1, rx403_fail
+    (rx408_rep, rx408_pos, $I10, $P10) = rx408_cur."!mark_fail"(0)
+    lt rx408_pos, -1, rx408_done
+    eq rx408_pos, -1, rx408_fail
     jump $I10
-  rx403_done:
-    rx403_cur."!cursor_fail"()
-    rx403_cur."!cursor_debug"("FAIL  ", "statement_mod_loop:sym<until>")
-    .return (rx403_cur)
+  rx408_done:
+    rx408_cur."!cursor_fail"()
+    rx408_cur."!cursor_debug"("FAIL  ", "statement_mod_loop:sym<until>")
+    .return (rx408_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__statement_mod_loop:sym<until>"  :subid("94_1274800460.92525") :method
+.sub "!PREFIX__statement_mod_loop:sym<until>"  :subid("96_1274853038.58734") :method
 .annotate 'line', 4
-    new $P405, "ResizablePMCArray"
-    push $P405, "until"
-    .return ($P405)
+    new $P410, "ResizablePMCArray"
+    push $P410, "until"
+    .return ($P410)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "term:sym<fatarrow>"  :subid("95_1274800460.92525") :method :outer("11_1274800460.92525")
+.sub "term:sym<fatarrow>"  :subid("97_1274853038.58734") :method :outer("11_1274853038.58734")
 .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<fatarrow>")
-    .lex unicode:"$\x{a2}", rx411_cur
+    .local string rx416_tgt
+    .local int rx416_pos
+    .local int rx416_off
+    .local int rx416_eos
+    .local int rx416_rep
+    .local pmc rx416_cur
+    (rx416_cur, rx416_pos, rx416_tgt) = self."!cursor_start"()
+    rx416_cur."!cursor_debug"("START ", "term:sym<fatarrow>")
+    .lex unicode:"$\x{a2}", rx416_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:
+    length rx416_eos, rx416_tgt
+    set rx416_off, 0
+    lt rx416_pos, 2, rx416_start
+    sub rx416_off, rx416_pos, 1
+    substr rx416_tgt, rx416_tgt, rx416_off
+  rx416_start:
     $I10 = self.'from'()
-    ne $I10, -1, rxscan415_done
-    goto rxscan415_scan
-  rxscan415_loop:
-    ($P10) = rx411_cur."from"()
+    ne $I10, -1, rxscan420_done
+    goto rxscan420_scan
+  rxscan420_loop:
+    ($P10) = rx416_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', 221
+    set rx416_pos, $P10
+    ge rx416_pos, rx416_eos, rxscan420_done
+  rxscan420_scan:
+    set_addr $I10, rxscan420_loop
+    rx416_cur."!mark_push"(0, rx416_pos, $I10)
+  rxscan420_done:
+.annotate 'line', 223
   # rx subrule "fatarrow" subtype=capture negate=
-    rx411_cur."!cursor_pos"(rx411_pos)
-    $P10 = rx411_cur."fatarrow"()
-    unless $P10, rx411_fail
-    rx411_cur."!mark_push"(0, -1, 0, $P10)
+    rx416_cur."!cursor_pos"(rx416_pos)
+    $P10 = rx416_cur."fatarrow"()
+    unless $P10, rx416_fail
+    rx416_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("fatarrow")
-    rx411_pos = $P10."pos"()
+    rx416_pos = $P10."pos"()
   # rx pass
-    rx411_cur."!cursor_pass"(rx411_pos, "term:sym<fatarrow>")
-    rx411_cur."!cursor_debug"("PASS  ", "term:sym<fatarrow>", " at pos=", rx411_pos)
-    .return (rx411_cur)
-  rx411_fail:
+    rx416_cur."!cursor_pass"(rx416_pos, "term:sym<fatarrow>")
+    rx416_cur."!cursor_debug"("PASS  ", "term:sym<fatarrow>", " at pos=", rx416_pos)
+    .return (rx416_cur)
+  rx416_fail:
 .annotate 'line', 4
-    (rx411_rep, rx411_pos, $I10, $P10) = rx411_cur."!mark_fail"(0)
-    lt rx411_pos, -1, rx411_done
-    eq rx411_pos, -1, rx411_fail
+    (rx416_rep, rx416_pos, $I10, $P10) = rx416_cur."!mark_fail"(0)
+    lt rx416_pos, -1, rx416_done
+    eq rx416_pos, -1, rx416_fail
     jump $I10
-  rx411_done:
-    rx411_cur."!cursor_fail"()
-    rx411_cur."!cursor_debug"("FAIL  ", "term:sym<fatarrow>")
-    .return (rx411_cur)
+  rx416_done:
+    rx416_cur."!cursor_fail"()
+    rx416_cur."!cursor_debug"("FAIL  ", "term:sym<fatarrow>")
+    .return (rx416_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__term:sym<fatarrow>"  :subid("96_1274800460.92525") :method
+.sub "!PREFIX__term:sym<fatarrow>"  :subid("98_1274853038.58734") :method
 .annotate 'line', 4
-    $P413 = self."!PREFIX__!subrule"("fatarrow", "")
-    new $P414, "ResizablePMCArray"
-    push $P414, $P413
-    .return ($P414)
+    $P418 = self."!PREFIX__!subrule"("fatarrow", "")
+    new $P419, "ResizablePMCArray"
+    push $P419, $P418
+    .return ($P419)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "term:sym<colonpair>"  :subid("97_1274800460.92525") :method :outer("11_1274800460.92525")
+.sub "term:sym<colonpair>"  :subid("99_1274853038.58734") :method :outer("11_1274853038.58734")
 .annotate 'line', 4
-    .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<colonpair>")
-    .lex unicode:"$\x{a2}", rx417_cur
+    .local string rx422_tgt
+    .local int rx422_pos
+    .local int rx422_off
+    .local int rx422_eos
+    .local int rx422_rep
+    .local pmc rx422_cur
+    (rx422_cur, rx422_pos, rx422_tgt) = self."!cursor_start"()
+    rx422_cur."!cursor_debug"("START ", "term:sym<colonpair>")
+    .lex unicode:"$\x{a2}", rx422_cur
     .local pmc match
     .lex "$/", match
-    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:
+    length rx422_eos, rx422_tgt
+    set rx422_off, 0
+    lt rx422_pos, 2, rx422_start
+    sub rx422_off, rx422_pos, 1
+    substr rx422_tgt, rx422_tgt, rx422_off
+  rx422_start:
     $I10 = self.'from'()
-    ne $I10, -1, rxscan421_done
-    goto rxscan421_scan
-  rxscan421_loop:
-    ($P10) = rx417_cur."from"()
+    ne $I10, -1, rxscan426_done
+    goto rxscan426_scan
+  rxscan426_loop:
+    ($P10) = rx422_cur."from"()
     inc $P10
-    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', 222
+    set rx422_pos, $P10
+    ge rx422_pos, rx422_eos, rxscan426_done
+  rxscan426_scan:
+    set_addr $I10, rxscan426_loop
+    rx422_cur."!mark_push"(0, rx422_pos, $I10)
+  rxscan426_done:
+.annotate 'line', 224
   # rx subrule "colonpair" subtype=capture negate=
-    rx417_cur."!cursor_pos"(rx417_pos)
-    $P10 = rx417_cur."colonpair"()
-    unless $P10, rx417_fail
-    rx417_cur."!mark_push"(0, -1, 0, $P10)
+    rx422_cur."!cursor_pos"(rx422_pos)
+    $P10 = rx422_cur."colonpair"()
+    unless $P10, rx422_fail
+    rx422_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("colonpair")
-    rx417_pos = $P10."pos"()
+    rx422_pos = $P10."pos"()
   # rx pass
-    rx417_cur."!cursor_pass"(rx417_pos, "term:sym<colonpair>")
-    rx417_cur."!cursor_debug"("PASS  ", "term:sym<colonpair>", " at pos=", rx417_pos)
-    .return (rx417_cur)
-  rx417_fail:
+    rx422_cur."!cursor_pass"(rx422_pos, "term:sym<colonpair>")
+    rx422_cur."!cursor_debug"("PASS  ", "term:sym<colonpair>", " at pos=", rx422_pos)
+    .return (rx422_cur)
+  rx422_fail:
 .annotate 'line', 4
-    (rx417_rep, rx417_pos, $I10, $P10) = rx417_cur."!mark_fail"(0)
-    lt rx417_pos, -1, rx417_done
-    eq rx417_pos, -1, rx417_fail
+    (rx422_rep, rx422_pos, $I10, $P10) = rx422_cur."!mark_fail"(0)
+    lt rx422_pos, -1, rx422_done
+    eq rx422_pos, -1, rx422_fail
     jump $I10
-  rx417_done:
-    rx417_cur."!cursor_fail"()
-    rx417_cur."!cursor_debug"("FAIL  ", "term:sym<colonpair>")
-    .return (rx417_cur)
+  rx422_done:
+    rx422_cur."!cursor_fail"()
+    rx422_cur."!cursor_debug"("FAIL  ", "term:sym<colonpair>")
+    .return (rx422_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__term:sym<colonpair>"  :subid("98_1274800460.92525") :method
+.sub "!PREFIX__term:sym<colonpair>"  :subid("100_1274853038.58734") :method
 .annotate 'line', 4
-    $P419 = self."!PREFIX__!subrule"("colonpair", "")
-    new $P420, "ResizablePMCArray"
-    push $P420, $P419
-    .return ($P420)
+    $P424 = self."!PREFIX__!subrule"("colonpair", "")
+    new $P425, "ResizablePMCArray"
+    push $P425, $P424
+    .return ($P425)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "term:sym<variable>"  :subid("99_1274800460.92525") :method :outer("11_1274800460.92525")
+.sub "term:sym<variable>"  :subid("101_1274853038.58734") :method :outer("11_1274853038.58734")
 .annotate 'line', 4
-    .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<variable>")
-    .lex unicode:"$\x{a2}", rx423_cur
+    .local string rx428_tgt
+    .local int rx428_pos
+    .local int rx428_off
+    .local int rx428_eos
+    .local int rx428_rep
+    .local pmc rx428_cur
+    (rx428_cur, rx428_pos, rx428_tgt) = self."!cursor_start"()
+    rx428_cur."!cursor_debug"("START ", "term:sym<variable>")
+    .lex unicode:"$\x{a2}", rx428_cur
     .local pmc match
     .lex "$/", match
-    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:
+    length rx428_eos, rx428_tgt
+    set rx428_off, 0
+    lt rx428_pos, 2, rx428_start
+    sub rx428_off, rx428_pos, 1
+    substr rx428_tgt, rx428_tgt, rx428_off
+  rx428_start:
     $I10 = self.'from'()
-    ne $I10, -1, rxscan427_done
-    goto rxscan427_scan
-  rxscan427_loop:
-    ($P10) = rx423_cur."from"()
+    ne $I10, -1, rxscan432_done
+    goto rxscan432_scan
+  rxscan432_loop:
+    ($P10) = rx428_cur."from"()
     inc $P10
-    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', 223
+    set rx428_pos, $P10
+    ge rx428_pos, rx428_eos, rxscan432_done
+  rxscan432_scan:
+    set_addr $I10, rxscan432_loop
+    rx428_cur."!mark_push"(0, rx428_pos, $I10)
+  rxscan432_done:
+.annotate 'line', 225
   # rx subrule "variable" subtype=capture negate=
-    rx423_cur."!cursor_pos"(rx423_pos)
-    $P10 = rx423_cur."variable"()
-    unless $P10, rx423_fail
-    rx423_cur."!mark_push"(0, -1, 0, $P10)
+    rx428_cur."!cursor_pos"(rx428_pos)
+    $P10 = rx428_cur."variable"()
+    unless $P10, rx428_fail
+    rx428_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("variable")
-    rx423_pos = $P10."pos"()
+    rx428_pos = $P10."pos"()
   # rx pass
-    rx423_cur."!cursor_pass"(rx423_pos, "term:sym<variable>")
-    rx423_cur."!cursor_debug"("PASS  ", "term:sym<variable>", " at pos=", rx423_pos)
-    .return (rx423_cur)
-  rx423_fail:
+    rx428_cur."!cursor_pass"(rx428_pos, "term:sym<variable>")
+    rx428_cur."!cursor_debug"("PASS  ", "term:sym<variable>", " at pos=", rx428_pos)
+    .return (rx428_cur)
+  rx428_fail:
 .annotate 'line', 4
-    (rx423_rep, rx423_pos, $I10, $P10) = rx423_cur."!mark_fail"(0)
-    lt rx423_pos, -1, rx423_done
-    eq rx423_pos, -1, rx423_fail
+    (rx428_rep, rx428_pos, $I10, $P10) = rx428_cur."!mark_fail"(0)
+    lt rx428_pos, -1, rx428_done
+    eq rx428_pos, -1, rx428_fail
     jump $I10
-  rx423_done:
-    rx423_cur."!cursor_fail"()
-    rx423_cur."!cursor_debug"("FAIL  ", "term:sym<variable>")
-    .return (rx423_cur)
+  rx428_done:
+    rx428_cur."!cursor_fail"()
+    rx428_cur."!cursor_debug"("FAIL  ", "term:sym<variable>")
+    .return (rx428_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__term:sym<variable>"  :subid("100_1274800460.92525") :method
+.sub "!PREFIX__term:sym<variable>"  :subid("102_1274853038.58734") :method
 .annotate 'line', 4
-    $P425 = self."!PREFIX__!subrule"("variable", "")
-    new $P426, "ResizablePMCArray"
-    push $P426, $P425
-    .return ($P426)
+    $P430 = self."!PREFIX__!subrule"("variable", "")
+    new $P431, "ResizablePMCArray"
+    push $P431, $P430
+    .return ($P431)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "term:sym<package_declarator>"  :subid("101_1274800460.92525") :method :outer("11_1274800460.92525")
+.sub "term:sym<package_declarator>"  :subid("103_1274853038.58734") :method :outer("11_1274853038.58734")
 .annotate 'line', 4
-    .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<package_declarator>")
-    .lex unicode:"$\x{a2}", rx429_cur
+    .local string rx434_tgt
+    .local int rx434_pos
+    .local int rx434_off
+    .local int rx434_eos
+    .local int rx434_rep
+    .local pmc rx434_cur
+    (rx434_cur, rx434_pos, rx434_tgt) = self."!cursor_start"()
+    rx434_cur."!cursor_debug"("START ", "term:sym<package_declarator>")
+    .lex unicode:"$\x{a2}", rx434_cur
     .local pmc match
     .lex "$/", match
-    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:
+    length rx434_eos, rx434_tgt
+    set rx434_off, 0
+    lt rx434_pos, 2, rx434_start
+    sub rx434_off, rx434_pos, 1
+    substr rx434_tgt, rx434_tgt, rx434_off
+  rx434_start:
     $I10 = self.'from'()
-    ne $I10, -1, rxscan433_done
-    goto rxscan433_scan
-  rxscan433_loop:
-    ($P10) = rx429_cur."from"()
+    ne $I10, -1, rxscan438_done
+    goto rxscan438_scan
+  rxscan438_loop:
+    ($P10) = rx434_cur."from"()
     inc $P10
-    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', 224
+    set rx434_pos, $P10
+    ge rx434_pos, rx434_eos, rxscan438_done
+  rxscan438_scan:
+    set_addr $I10, rxscan438_loop
+    rx434_cur."!mark_push"(0, rx434_pos, $I10)
+  rxscan438_done:
+.annotate 'line', 226
   # rx subrule "package_declarator" subtype=capture negate=
-    rx429_cur."!cursor_pos"(rx429_pos)
-    $P10 = rx429_cur."package_declarator"()
-    unless $P10, rx429_fail
-    rx429_cur."!mark_push"(0, -1, 0, $P10)
+    rx434_cur."!cursor_pos"(rx434_pos)
+    $P10 = rx434_cur."package_declarator"()
+    unless $P10, rx434_fail
+    rx434_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("package_declarator")
-    rx429_pos = $P10."pos"()
+    rx434_pos = $P10."pos"()
   # rx pass
-    rx429_cur."!cursor_pass"(rx429_pos, "term:sym<package_declarator>")
-    rx429_cur."!cursor_debug"("PASS  ", "term:sym<package_declarator>", " at pos=", rx429_pos)
-    .return (rx429_cur)
-  rx429_fail:
+    rx434_cur."!cursor_pass"(rx434_pos, "term:sym<package_declarator>")
+    rx434_cur."!cursor_debug"("PASS  ", "term:sym<package_declarator>", " at pos=", rx434_pos)
+    .return (rx434_cur)
+  rx434_fail:
 .annotate 'line', 4
-    (rx429_rep, rx429_pos, $I10, $P10) = rx429_cur."!mark_fail"(0)
-    lt rx429_pos, -1, rx429_done
-    eq rx429_pos, -1, rx429_fail
+    (rx434_rep, rx434_pos, $I10, $P10) = rx434_cur."!mark_fail"(0)
+    lt rx434_pos, -1, rx434_done
+    eq rx434_pos, -1, rx434_fail
     jump $I10
-  rx429_done:
-    rx429_cur."!cursor_fail"()
-    rx429_cur."!cursor_debug"("FAIL  ", "term:sym<package_declarator>")
-    .return (rx429_cur)
+  rx434_done:
+    rx434_cur."!cursor_fail"()
+    rx434_cur."!cursor_debug"("FAIL  ", "term:sym<package_declarator>")
+    .return (rx434_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__term:sym<package_declarator>"  :subid("102_1274800460.92525") :method
+.sub "!PREFIX__term:sym<package_declarator>"  :subid("104_1274853038.58734") :method
 .annotate 'line', 4
-    $P431 = self."!PREFIX__!subrule"("package_declarator", "")
-    new $P432, "ResizablePMCArray"
-    push $P432, $P431
-    .return ($P432)
+    $P436 = self."!PREFIX__!subrule"("package_declarator", "")
+    new $P437, "ResizablePMCArray"
+    push $P437, $P436
+    .return ($P437)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "term:sym<scope_declarator>"  :subid("103_1274800460.92525") :method :outer("11_1274800460.92525")
+.sub "term:sym<scope_declarator>"  :subid("105_1274853038.58734") :method :outer("11_1274853038.58734")
 .annotate 'line', 4
-    .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<scope_declarator>")
-    .lex unicode:"$\x{a2}", rx435_cur
+    .local string rx440_tgt
+    .local int rx440_pos
+    .local int rx440_off
+    .local int rx440_eos
+    .local int rx440_rep
+    .local pmc rx440_cur
+    (rx440_cur, rx440_pos, rx440_tgt) = self."!cursor_start"()
+    rx440_cur."!cursor_debug"("START ", "term:sym<scope_declarator>")
+    .lex unicode:"$\x{a2}", rx440_cur
     .local pmc match
     .lex "$/", match
-    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:
+    length rx440_eos, rx440_tgt
+    set rx440_off, 0
+    lt rx440_pos, 2, rx440_start
+    sub rx440_off, rx440_pos, 1
+    substr rx440_tgt, rx440_tgt, rx440_off
+  rx440_start:
     $I10 = self.'from'()
-    ne $I10, -1, rxscan439_done
-    goto rxscan439_scan
-  rxscan439_loop:
-    ($P10) = rx435_cur."from"()
+    ne $I10, -1, rxscan444_done
+    goto rxscan444_scan
+  rxscan444_loop:
+    ($P10) = rx440_cur."from"()
     inc $P10
-    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', 225
+    set rx440_pos, $P10
+    ge rx440_pos, rx440_eos, rxscan444_done
+  rxscan444_scan:
+    set_addr $I10, rxscan444_loop
+    rx440_cur."!mark_push"(0, rx440_pos, $I10)
+  rxscan444_done:
+.annotate 'line', 227
   # rx subrule "scope_declarator" subtype=capture negate=
-    rx435_cur."!cursor_pos"(rx435_pos)
-    $P10 = rx435_cur."scope_declarator"()
-    unless $P10, rx435_fail
-    rx435_cur."!mark_push"(0, -1, 0, $P10)
+    rx440_cur."!cursor_pos"(rx440_pos)
+    $P10 = rx440_cur."scope_declarator"()
+    unless $P10, rx440_fail
+    rx440_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("scope_declarator")
-    rx435_pos = $P10."pos"()
+    rx440_pos = $P10."pos"()
   # rx pass
-    rx435_cur."!cursor_pass"(rx435_pos, "term:sym<scope_declarator>")
-    rx435_cur."!cursor_debug"("PASS  ", "term:sym<scope_declarator>", " at pos=", rx435_pos)
-    .return (rx435_cur)
-  rx435_fail:
+    rx440_cur."!cursor_pass"(rx440_pos, "term:sym<scope_declarator>")
+    rx440_cur."!cursor_debug"("PASS  ", "term:sym<scope_declarator>", " at pos=", rx440_pos)
+    .return (rx440_cur)
+  rx440_fail:
 .annotate 'line', 4
-    (rx435_rep, rx435_pos, $I10, $P10) = rx435_cur."!mark_fail"(0)
-    lt rx435_pos, -1, rx435_done
-    eq rx435_pos, -1, rx435_fail
+    (rx440_rep, rx440_pos, $I10, $P10) = rx440_cur."!mark_fail"(0)
+    lt rx440_pos, -1, rx440_done
+    eq rx440_pos, -1, rx440_fail
     jump $I10
-  rx435_done:
-    rx435_cur."!cursor_fail"()
-    rx435_cur."!cursor_debug"("FAIL  ", "term:sym<scope_declarator>")
-    .return (rx435_cur)
+  rx440_done:
+    rx440_cur."!cursor_fail"()
+    rx440_cur."!cursor_debug"("FAIL  ", "term:sym<scope_declarator>")
+    .return (rx440_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__term:sym<scope_declarator>"  :subid("104_1274800460.92525") :method
+.sub "!PREFIX__term:sym<scope_declarator>"  :subid("106_1274853038.58734") :method
 .annotate 'line', 4
-    $P437 = self."!PREFIX__!subrule"("scope_declarator", "")
-    new $P438, "ResizablePMCArray"
-    push $P438, $P437
-    .return ($P438)
+    $P442 = self."!PREFIX__!subrule"("scope_declarator", "")
+    new $P443, "ResizablePMCArray"
+    push $P443, $P442
+    .return ($P443)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "term:sym<routine_declarator>"  :subid("105_1274800460.92525") :method :outer("11_1274800460.92525")
+.sub "term:sym<routine_declarator>"  :subid("107_1274853038.58734") :method :outer("11_1274853038.58734")
 .annotate 'line', 4
-    .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<routine_declarator>")
-    .lex unicode:"$\x{a2}", rx441_cur
+    .local string rx446_tgt
+    .local int rx446_pos
+    .local int rx446_off
+    .local int rx446_eos
+    .local int rx446_rep
+    .local pmc rx446_cur
+    (rx446_cur, rx446_pos, rx446_tgt) = self."!cursor_start"()
+    rx446_cur."!cursor_debug"("START ", "term:sym<routine_declarator>")
+    .lex unicode:"$\x{a2}", rx446_cur
     .local pmc match
     .lex "$/", match
-    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:
+    length rx446_eos, rx446_tgt
+    set rx446_off, 0
+    lt rx446_pos, 2, rx446_start
+    sub rx446_off, rx446_pos, 1
+    substr rx446_tgt, rx446_tgt, rx446_off
+  rx446_start:
     $I10 = self.'from'()
-    ne $I10, -1, rxscan445_done
-    goto rxscan445_scan
-  rxscan445_loop:
-    ($P10) = rx441_cur."from"()
+    ne $I10, -1, rxscan450_done
+    goto rxscan450_scan
+  rxscan450_loop:
+    ($P10) = rx446_cur."from"()
     inc $P10
-    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', 226
+    set rx446_pos, $P10
+    ge rx446_pos, rx446_eos, rxscan450_done
+  rxscan450_scan:
+    set_addr $I10, rxscan450_loop
+    rx446_cur."!mark_push"(0, rx446_pos, $I10)
+  rxscan450_done:
+.annotate 'line', 228
   # rx subrule "routine_declarator" subtype=capture negate=
-    rx441_cur."!cursor_pos"(rx441_pos)
-    $P10 = rx441_cur."routine_declarator"()
-    unless $P10, rx441_fail
-    rx441_cur."!mark_push"(0, -1, 0, $P10)
+    rx446_cur."!cursor_pos"(rx446_pos)
+    $P10 = rx446_cur."routine_declarator"()
+    unless $P10, rx446_fail
+    rx446_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("routine_declarator")
-    rx441_pos = $P10."pos"()
+    rx446_pos = $P10."pos"()
   # rx pass
-    rx441_cur."!cursor_pass"(rx441_pos, "term:sym<routine_declarator>")
-    rx441_cur."!cursor_debug"("PASS  ", "term:sym<routine_declarator>", " at pos=", rx441_pos)
-    .return (rx441_cur)
-  rx441_fail:
+    rx446_cur."!cursor_pass"(rx446_pos, "term:sym<routine_declarator>")
+    rx446_cur."!cursor_debug"("PASS  ", "term:sym<routine_declarator>", " at pos=", rx446_pos)
+    .return (rx446_cur)
+  rx446_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
+    (rx446_rep, rx446_pos, $I10, $P10) = rx446_cur."!mark_fail"(0)
+    lt rx446_pos, -1, rx446_done
+    eq rx446_pos, -1, rx446_fail
     jump $I10
-  rx441_done:
-    rx441_cur."!cursor_fail"()
-    rx441_cur."!cursor_debug"("FAIL  ", "term:sym<routine_declarator>")
-    .return (rx441_cur)
+  rx446_done:
+    rx446_cur."!cursor_fail"()
+    rx446_cur."!cursor_debug"("FAIL  ", "term:sym<routine_declarator>")
+    .return (rx446_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__term:sym<routine_declarator>"  :subid("106_1274800460.92525") :method
+.sub "!PREFIX__term:sym<routine_declarator>"  :subid("108_1274853038.58734") :method
 .annotate 'line', 4
-    $P443 = self."!PREFIX__!subrule"("routine_declarator", "")
-    new $P444, "ResizablePMCArray"
-    push $P444, $P443
-    .return ($P444)
+    $P448 = self."!PREFIX__!subrule"("routine_declarator", "")
+    new $P449, "ResizablePMCArray"
+    push $P449, $P448
+    .return ($P449)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "term:sym<regex_declarator>"  :subid("107_1274800460.92525") :method :outer("11_1274800460.92525")
+.sub "term:sym<regex_declarator>"  :subid("109_1274853038.58734") :method :outer("11_1274853038.58734")
 .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<regex_declarator>")
-    .lex unicode:"$\x{a2}", rx447_cur
+    .local string rx452_tgt
+    .local int rx452_pos
+    .local int rx452_off
+    .local int rx452_eos
+    .local int rx452_rep
+    .local pmc rx452_cur
+    (rx452_cur, rx452_pos, rx452_tgt) = self."!cursor_start"()
+    rx452_cur."!cursor_debug"("START ", "term:sym<regex_declarator>")
+    .lex unicode:"$\x{a2}", rx452_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:
+    length rx452_eos, rx452_tgt
+    set rx452_off, 0
+    lt rx452_pos, 2, rx452_start
+    sub rx452_off, rx452_pos, 1
+    substr rx452_tgt, rx452_tgt, rx452_off
+  rx452_start:
     $I10 = self.'from'()
-    ne $I10, -1, rxscan451_done
-    goto rxscan451_scan
-  rxscan451_loop:
-    ($P10) = rx447_cur."from"()
+    ne $I10, -1, rxscan456_done
+    goto rxscan456_scan
+  rxscan456_loop:
+    ($P10) = rx452_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', 227
+    set rx452_pos, $P10
+    ge rx452_pos, rx452_eos, rxscan456_done
+  rxscan456_scan:
+    set_addr $I10, rxscan456_loop
+    rx452_cur."!mark_push"(0, rx452_pos, $I10)
+  rxscan456_done:
+.annotate 'line', 229
   # rx subrule "regex_declarator" subtype=capture negate=
-    rx447_cur."!cursor_pos"(rx447_pos)
-    $P10 = rx447_cur."regex_declarator"()
-    unless $P10, rx447_fail
-    rx447_cur."!mark_push"(0, -1, 0, $P10)
+    rx452_cur."!cursor_pos"(rx452_pos)
+    $P10 = rx452_cur."regex_declarator"()
+    unless $P10, rx452_fail
+    rx452_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("regex_declarator")
-    rx447_pos = $P10."pos"()
-  # rx pass
-    rx447_cur."!cursor_pass"(rx447_pos, "term:sym<regex_declarator>")
-    rx447_cur."!cursor_debug"("PASS  ", "term:sym<regex_declarator>", " 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<regex_declarator>")
-    .return (rx447_cur)
-    .return ()
-.end
-
-
-.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__term:sym<regex_declarator>"  :subid("108_1274800460.92525") :method
-.annotate 'line', 4
-    $P449 = self."!PREFIX__!subrule"("regex_declarator", "")
-    new $P450, "ResizablePMCArray"
-    push $P450, $P449
-    .return ($P450)
-.end
-
-
-.namespace ["NQP";"Grammar"]
-.sub "term:sym<statement_prefix>"  :subid("109_1274800460.92525") :method :outer("11_1274800460.92525")
-.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<statement_prefix>")
-    .lex unicode:"$\x{a2}", rx453_cur
-    .local pmc match
-    .lex "$/", match
-    length rx453_eos, rx453_tgt
-    set rx453_off, 0
-    lt rx453_pos, 2, rx453_start
-    sub rx453_off, rx453_pos, 1
-    substr rx453_tgt, rx453_tgt, rx453_off
-  rx453_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan457_done
-    goto rxscan457_scan
-  rxscan457_loop:
-    ($P10) = rx453_cur."from"()
-    inc $P10
-    set rx453_pos, $P10
-    ge rx453_pos, rx453_eos, rxscan457_done
-  rxscan457_scan:
-    set_addr $I10, rxscan457_loop
-    rx453_cur."!mark_push"(0, rx453_pos, $I10)
-  rxscan457_done:
-.annotate 'line', 228
-  # rx subrule "statement_prefix" subtype=capture negate=
-    rx453_cur."!cursor_pos"(rx453_pos)
-    $P10 = rx453_cur."statement_prefix"()
-    unless $P10, rx453_fail
-    rx453_cur."!mark_push"(0, -1, 0, $P10)
-    $P10."!cursor_names"("statement_prefix")
-    rx453_pos = $P10."pos"()
+    rx452_pos = $P10."pos"()
   # rx pass
-    rx453_cur."!cursor_pass"(rx453_pos, "term:sym<statement_prefix>")
-    rx453_cur."!cursor_debug"("PASS  ", "term:sym<statement_prefix>", " at pos=", rx453_pos)
-    .return (rx453_cur)
-  rx453_fail:
+    rx452_cur."!cursor_pass"(rx452_pos, "term:sym<regex_declarator>")
+    rx452_cur."!cursor_debug"("PASS  ", "term:sym<regex_declarator>", " at pos=", rx452_pos)
+    .return (rx452_cur)
+  rx452_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
+    (rx452_rep, rx452_pos, $I10, $P10) = rx452_cur."!mark_fail"(0)
+    lt rx452_pos, -1, rx452_done
+    eq rx452_pos, -1, rx452_fail
     jump $I10
-  rx453_done:
-    rx453_cur."!cursor_fail"()
-    rx453_cur."!cursor_debug"("FAIL  ", "term:sym<statement_prefix>")
-    .return (rx453_cur)
+  rx452_done:
+    rx452_cur."!cursor_fail"()
+    rx452_cur."!cursor_debug"("FAIL  ", "term:sym<regex_declarator>")
+    .return (rx452_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__term:sym<statement_prefix>"  :subid("110_1274800460.92525") :method
+.sub "!PREFIX__term:sym<regex_declarator>"  :subid("110_1274853038.58734") :method
 .annotate 'line', 4
-    $P455 = self."!PREFIX__!subrule"("statement_prefix", "")
-    new $P456, "ResizablePMCArray"
-    push $P456, $P455
-    .return ($P456)
+    $P454 = self."!PREFIX__!subrule"("regex_declarator", "")
+    new $P455, "ResizablePMCArray"
+    push $P455, $P454
+    .return ($P455)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "term:sym<lambda>"  :subid("111_1274800460.92525") :method :outer("11_1274800460.92525")
+.sub "term:sym<statement_prefix>"  :subid("111_1274853038.58734") :method :outer("11_1274853038.58734")
 .annotate 'line', 4
-    .local string rx459_tgt
-    .local int rx459_pos
-    .local int rx459_off
-    .local int rx459_eos
-    .local int rx459_rep
-    .local pmc rx459_cur
-    (rx459_cur, rx459_pos, rx459_tgt) = self."!cursor_start"()
-    rx459_cur."!cursor_debug"("START ", "term:sym<lambda>")
-    .lex unicode:"$\x{a2}", rx459_cur
+    .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 ", "term:sym<statement_prefix>")
+    .lex unicode:"$\x{a2}", rx458_cur
     .local pmc match
     .lex "$/", match
-    length rx459_eos, rx459_tgt
-    set rx459_off, 0
-    lt rx459_pos, 2, rx459_start
-    sub rx459_off, rx459_pos, 1
-    substr rx459_tgt, rx459_tgt, rx459_off
-  rx459_start:
+    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) = rx459_cur."from"()
+    ($P10) = rx458_cur."from"()
     inc $P10
-    set rx459_pos, $P10
-    ge rx459_pos, rx459_eos, rxscan462_done
+    set rx458_pos, $P10
+    ge rx458_pos, rx458_eos, rxscan462_done
   rxscan462_scan:
     set_addr $I10, rxscan462_loop
-    rx459_cur."!mark_push"(0, rx459_pos, $I10)
+    rx458_cur."!mark_push"(0, rx458_pos, $I10)
   rxscan462_done:
-.annotate 'line', 229
-  # rx subrule "lambda" subtype=zerowidth negate=
-    rx459_cur."!cursor_pos"(rx459_pos)
-    $P10 = rx459_cur."lambda"()
-    unless $P10, rx459_fail
-  # rx subrule "pblock" subtype=capture negate=
-    rx459_cur."!cursor_pos"(rx459_pos)
-    $P10 = rx459_cur."pblock"()
-    unless $P10, rx459_fail
-    rx459_cur."!mark_push"(0, -1, 0, $P10)
-    $P10."!cursor_names"("pblock")
-    rx459_pos = $P10."pos"()
+.annotate 'line', 230
+  # rx subrule "statement_prefix" subtype=capture negate=
+    rx458_cur."!cursor_pos"(rx458_pos)
+    $P10 = rx458_cur."statement_prefix"()
+    unless $P10, rx458_fail
+    rx458_cur."!mark_push"(0, -1, 0, $P10)
+    $P10."!cursor_names"("statement_prefix")
+    rx458_pos = $P10."pos"()
   # rx pass
-    rx459_cur."!cursor_pass"(rx459_pos, "term:sym<lambda>")
-    rx459_cur."!cursor_debug"("PASS  ", "term:sym<lambda>", " at pos=", rx459_pos)
-    .return (rx459_cur)
-  rx459_fail:
+    rx458_cur."!cursor_pass"(rx458_pos, "term:sym<statement_prefix>")
+    rx458_cur."!cursor_debug"("PASS  ", "term:sym<statement_prefix>", " at pos=", rx458_pos)
+    .return (rx458_cur)
+  rx458_fail:
 .annotate 'line', 4
-    (rx459_rep, rx459_pos, $I10, $P10) = rx459_cur."!mark_fail"(0)
-    lt rx459_pos, -1, rx459_done
-    eq rx459_pos, -1, rx459_fail
+    (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
-  rx459_done:
-    rx459_cur."!cursor_fail"()
-    rx459_cur."!cursor_debug"("FAIL  ", "term:sym<lambda>")
-    .return (rx459_cur)
+  rx458_done:
+    rx458_cur."!cursor_fail"()
+    rx458_cur."!cursor_debug"("FAIL  ", "term:sym<statement_prefix>")
+    .return (rx458_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__term:sym<lambda>"  :subid("112_1274800460.92525") :method
+.sub "!PREFIX__term:sym<statement_prefix>"  :subid("112_1274853038.58734") :method
 .annotate 'line', 4
+    $P460 = self."!PREFIX__!subrule"("statement_prefix", "")
     new $P461, "ResizablePMCArray"
-    push $P461, ""
+    push $P461, $P460
     .return ($P461)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "fatarrow"  :subid("113_1274800460.92525") :method :outer("11_1274800460.92525")
+.sub "term:sym<lambda>"  :subid("113_1274853038.58734") :method :outer("11_1274853038.58734")
 .annotate 'line', 4
     .local string rx464_tgt
     .local int rx464_pos
@@ -5661,7 +5671,7 @@
     .local int rx464_rep
     .local pmc rx464_cur
     (rx464_cur, rx464_pos, rx464_tgt) = self."!cursor_start"()
-    rx464_cur."!cursor_debug"("START ", "fatarrow")
+    rx464_cur."!cursor_debug"("START ", "term:sym<lambda>")
     .lex unicode:"$\x{a2}", rx464_cur
     .local pmc match
     .lex "$/", match
@@ -5672,63 +5682,32 @@
     substr rx464_tgt, rx464_tgt, rx464_off
   rx464_start:
     $I10 = self.'from'()
-    ne $I10, -1, rxscan468_done
-    goto rxscan468_scan
-  rxscan468_loop:
+    ne $I10, -1, rxscan467_done
+    goto rxscan467_scan
+  rxscan467_loop:
     ($P10) = rx464_cur."from"()
     inc $P10
     set rx464_pos, $P10
-    ge rx464_pos, rx464_eos, rxscan468_done
-  rxscan468_scan:
-    set_addr $I10, rxscan468_loop
+    ge rx464_pos, rx464_eos, rxscan467_done
+  rxscan467_scan:
+    set_addr $I10, rxscan467_loop
     rx464_cur."!mark_push"(0, rx464_pos, $I10)
-  rxscan468_done:
-.annotate 'line', 232
-  # rx subrule "identifier" subtype=capture negate=
-    rx464_cur."!cursor_pos"(rx464_pos)
-    $P10 = rx464_cur."identifier"()
-    unless $P10, rx464_fail
-    rx464_cur."!mark_push"(0, -1, 0, $P10)
-    $P10."!cursor_names"("key")
-    rx464_pos = $P10."pos"()
-  # rx rxquantr469 ** 0..*
-    set_addr $I470, rxquantr469_done
-    rx464_cur."!mark_push"(0, rx464_pos, $I470)
-  rxquantr469_loop:
-  # rx enumcharlist negate=0 
-    ge rx464_pos, rx464_eos, rx464_fail
-    sub $I10, rx464_pos, rx464_off
-    substr $S10, rx464_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, rx464_fail
-    inc rx464_pos
-    (rx464_rep) = rx464_cur."!mark_commit"($I470)
-    rx464_cur."!mark_push"(rx464_rep, rx464_pos, $I470)
-    goto rxquantr469_loop
-  rxquantr469_done:
-  # rx literal  "=>"
-    add $I11, rx464_pos, 2
-    gt $I11, rx464_eos, rx464_fail
-    sub $I11, rx464_pos, rx464_off
-    substr $S10, rx464_tgt, $I11, 2
-    ne $S10, "=>", rx464_fail
-    add rx464_pos, 2
-  # rx subrule "ws" subtype=method negate=
+  rxscan467_done:
+.annotate 'line', 231
+  # rx subrule "lambda" subtype=zerowidth negate=
     rx464_cur."!cursor_pos"(rx464_pos)
-    $P10 = rx464_cur."ws"()
+    $P10 = rx464_cur."lambda"()
     unless $P10, rx464_fail
-    rx464_pos = $P10."pos"()
-  # rx subrule "EXPR" subtype=capture negate=
+  # rx subrule "pblock" subtype=capture negate=
     rx464_cur."!cursor_pos"(rx464_pos)
-    $P10 = rx464_cur."EXPR"("i=")
+    $P10 = rx464_cur."pblock"()
     unless $P10, rx464_fail
     rx464_cur."!mark_push"(0, -1, 0, $P10)
-    $P10."!cursor_names"("val")
+    $P10."!cursor_names"("pblock")
     rx464_pos = $P10."pos"()
-.annotate 'line', 231
   # rx pass
-    rx464_cur."!cursor_pass"(rx464_pos, "fatarrow")
-    rx464_cur."!cursor_debug"("PASS  ", "fatarrow", " at pos=", rx464_pos)
+    rx464_cur."!cursor_pass"(rx464_pos, "term:sym<lambda>")
+    rx464_cur."!cursor_debug"("PASS  ", "term:sym<lambda>", " at pos=", rx464_pos)
     .return (rx464_cur)
   rx464_fail:
 .annotate 'line', 4
@@ -5738,407 +5717,439 @@
     jump $I10
   rx464_done:
     rx464_cur."!cursor_fail"()
-    rx464_cur."!cursor_debug"("FAIL  ", "fatarrow")
+    rx464_cur."!cursor_debug"("FAIL  ", "term:sym<lambda>")
     .return (rx464_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__fatarrow"  :subid("114_1274800460.92525") :method
+.sub "!PREFIX__term:sym<lambda>"  :subid("114_1274853038.58734") :method
 .annotate 'line', 4
-    $P466 = self."!PREFIX__!subrule"("key", "")
-    new $P467, "ResizablePMCArray"
-    push $P467, $P466
-    .return ($P467)
+    new $P466, "ResizablePMCArray"
+    push $P466, ""
+    .return ($P466)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "colonpair"  :subid("115_1274800460.92525") :method :outer("11_1274800460.92525")
-.annotate 'line', 4
-    .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 ", "colonpair")
-    rx472_cur."!cursor_caparray"("circumfix")
-    .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, rxscan478_done
-    goto rxscan478_scan
-  rxscan478_loop:
-    ($P10) = rx472_cur."from"()
-    inc $P10
-    set rx472_pos, $P10
-    ge rx472_pos, rx472_eos, rxscan478_done
-  rxscan478_scan:
-    set_addr $I10, rxscan478_loop
-    rx472_cur."!mark_push"(0, rx472_pos, $I10)
-  rxscan478_done:
-.annotate 'line', 236
-  # 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
-  alt479_0:
-.annotate 'line', 237
-    set_addr $I10, alt479_1
-    rx472_cur."!mark_push"(0, rx472_pos, $I10)
+.sub "fatarrow"  :subid("115_1274853038.58734") :method :outer("11_1274853038.58734")
+.annotate 'line', 4
+    .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 ", "fatarrow")
+    .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:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan473_done
+    goto rxscan473_scan
+  rxscan473_loop:
+    ($P10) = rx469_cur."from"()
+    inc $P10
+    set rx469_pos, $P10
+    ge rx469_pos, rx469_eos, rxscan473_done
+  rxscan473_scan:
+    set_addr $I10, rxscan473_loop
+    rx469_cur."!mark_push"(0, rx469_pos, $I10)
+  rxscan473_done:
+.annotate 'line', 234
+  # rx subrule "identifier" subtype=capture negate=
+    rx469_cur."!cursor_pos"(rx469_pos)
+    $P10 = rx469_cur."identifier"()
+    unless $P10, rx469_fail
+    rx469_cur."!mark_push"(0, -1, 0, $P10)
+    $P10."!cursor_names"("key")
+    rx469_pos = $P10."pos"()
+  # rx rxquantr474 ** 0..*
+    set_addr $I475, rxquantr474_done
+    rx469_cur."!mark_push"(0, rx469_pos, $I475)
+  rxquantr474_loop:
+  # rx enumcharlist negate=0 
+    ge rx469_pos, rx469_eos, rx469_fail
+    sub $I10, rx469_pos, rx469_off
+    substr $S10, rx469_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, rx469_fail
+    inc rx469_pos
+    (rx469_rep) = rx469_cur."!mark_commit"($I475)
+    rx469_cur."!mark_push"(rx469_rep, rx469_pos, $I475)
+    goto rxquantr474_loop
+  rxquantr474_done:
+  # rx literal  "=>"
+    add $I11, rx469_pos, 2
+    gt $I11, rx469_eos, rx469_fail
+    sub $I11, rx469_pos, rx469_off
+    substr $S10, rx469_tgt, $I11, 2
+    ne $S10, "=>", rx469_fail
+    add rx469_pos, 2
+  # rx subrule "ws" subtype=method negate=
+    rx469_cur."!cursor_pos"(rx469_pos)
+    $P10 = rx469_cur."ws"()
+    unless $P10, rx469_fail
+    rx469_pos = $P10."pos"()
+  # rx subrule "EXPR" subtype=capture negate=
+    rx469_cur."!cursor_pos"(rx469_pos)
+    $P10 = rx469_cur."EXPR"("i=")
+    unless $P10, rx469_fail
+    rx469_cur."!mark_push"(0, -1, 0, $P10)
+    $P10."!cursor_names"("val")
+    rx469_pos = $P10."pos"()
+.annotate 'line', 233
+  # rx pass
+    rx469_cur."!cursor_pass"(rx469_pos, "fatarrow")
+    rx469_cur."!cursor_debug"("PASS  ", "fatarrow", " at pos=", rx469_pos)
+    .return (rx469_cur)
+  rx469_fail:
+.annotate 'line', 4
+    (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
+  rx469_done:
+    rx469_cur."!cursor_fail"()
+    rx469_cur."!cursor_debug"("FAIL  ", "fatarrow")
+    .return (rx469_cur)
+    .return ()
+.end
+
+
+.namespace ["NQP";"Grammar"]
+.sub "!PREFIX__fatarrow"  :subid("116_1274853038.58734") :method
+.annotate 'line', 4
+    $P471 = self."!PREFIX__!subrule"("key", "")
+    new $P472, "ResizablePMCArray"
+    push $P472, $P471
+    .return ($P472)
+.end
+
+
+.namespace ["NQP";"Grammar"]
+.sub "colonpair"  :subid("117_1274853038.58734") :method :outer("11_1274853038.58734")
+.annotate 'line', 4
+    .local string rx477_tgt
+    .local int rx477_pos
+    .local int rx477_off
+    .local int rx477_eos
+    .local int rx477_rep
+    .local pmc rx477_cur
+    (rx477_cur, rx477_pos, rx477_tgt) = self."!cursor_start"()
+    rx477_cur."!cursor_debug"("START ", "colonpair")
+    rx477_cur."!cursor_caparray"("circumfix")
+    .lex unicode:"$\x{a2}", rx477_cur
+    .local pmc match
+    .lex "$/", match
+    length rx477_eos, rx477_tgt
+    set rx477_off, 0
+    lt rx477_pos, 2, rx477_start
+    sub rx477_off, rx477_pos, 1
+    substr rx477_tgt, rx477_tgt, rx477_off
+  rx477_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan483_done
+    goto rxscan483_scan
+  rxscan483_loop:
+    ($P10) = rx477_cur."from"()
+    inc $P10
+    set rx477_pos, $P10
+    ge rx477_pos, rx477_eos, rxscan483_done
+  rxscan483_scan:
+    set_addr $I10, rxscan483_loop
+    rx477_cur."!mark_push"(0, rx477_pos, $I10)
+  rxscan483_done:
 .annotate 'line', 238
+  # rx literal  ":"
+    add $I11, rx477_pos, 1
+    gt $I11, rx477_eos, rx477_fail
+    sub $I11, rx477_pos, rx477_off
+    substr $S10, rx477_tgt, $I11, 1
+    ne $S10, ":", rx477_fail
+    add rx477_pos, 1
+  alt484_0:
+.annotate 'line', 239
+    set_addr $I10, alt484_1
+    rx477_cur."!mark_push"(0, rx477_pos, $I10)
+.annotate 'line', 240
   # rx subcapture "not"
-    set_addr $I10, rxcap_480_fail
-    rx472_cur."!mark_push"(0, rx472_pos, $I10)
+    set_addr $I10, rxcap_485_fail
+    rx477_cur."!mark_push"(0, rx477_pos, $I10)
   # 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
-    set_addr $I10, rxcap_480_fail
-    ($I12, $I11) = rx472_cur."!mark_peek"($I10)
-    rx472_cur."!cursor_pos"($I11)
-    ($P10) = rx472_cur."!cursor_start"()
-    $P10."!cursor_pass"(rx472_pos, "")
-    rx472_cur."!mark_push"(0, -1, 0, $P10)
+    add $I11, rx477_pos, 1
+    gt $I11, rx477_eos, rx477_fail
+    sub $I11, rx477_pos, rx477_off
+    substr $S10, rx477_tgt, $I11, 1
+    ne $S10, "!", rx477_fail
+    add rx477_pos, 1
+    set_addr $I10, rxcap_485_fail
+    ($I12, $I11) = rx477_cur."!mark_peek"($I10)
+    rx477_cur."!cursor_pos"($I11)
+    ($P10) = rx477_cur."!cursor_start"()
+    $P10."!cursor_pass"(rx477_pos, "")
+    rx477_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("not")
-    goto rxcap_480_done
-  rxcap_480_fail:
-    goto rx472_fail
-  rxcap_480_done:
+    goto rxcap_485_done
+  rxcap_485_fail:
+    goto rx477_fail
+  rxcap_485_done:
   # rx subrule "identifier" subtype=capture negate=
-    rx472_cur."!cursor_pos"(rx472_pos)
-    $P10 = rx472_cur."identifier"()
-    unless $P10, rx472_fail
-    rx472_cur."!mark_push"(0, -1, 0, $P10)
+    rx477_cur."!cursor_pos"(rx477_pos)
+    $P10 = rx477_cur."identifier"()
+    unless $P10, rx477_fail
+    rx477_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("identifier")
-    rx472_pos = $P10."pos"()
-    goto alt479_end
-  alt479_1:
-    set_addr $I10, alt479_2
-    rx472_cur."!mark_push"(0, rx472_pos, $I10)
-.annotate 'line', 239
+    rx477_pos = $P10."pos"()
+    goto alt484_end
+  alt484_1:
+    set_addr $I10, alt484_2
+    rx477_cur."!mark_push"(0, rx477_pos, $I10)
+.annotate 'line', 241
   # rx subrule "identifier" subtype=capture negate=
-    rx472_cur."!cursor_pos"(rx472_pos)
-    $P10 = rx472_cur."identifier"()
-    unless $P10, rx472_fail
-    rx472_cur."!mark_push"(0, -1, 0, $P10)
+    rx477_cur."!cursor_pos"(rx477_pos)
+    $P10 = rx477_cur."identifier"()
+    unless $P10, rx477_fail
+    rx477_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("identifier")
-    rx472_pos = $P10."pos"()
-  # rx rxquantr481 ** 0..1
-    set_addr $I482, rxquantr481_done
-    rx472_cur."!mark_push"(0, rx472_pos, $I482)
-  rxquantr481_loop:
+    rx477_pos = $P10."pos"()
+  # rx rxquantr486 ** 0..1
+    set_addr $I487, rxquantr486_done
+    rx477_cur."!mark_push"(0, rx477_pos, $I487)
+  rxquantr486_loop:
   # rx subrule "circumfix" subtype=capture negate=
-    rx472_cur."!cursor_pos"(rx472_pos)
-    $P10 = rx472_cur."circumfix"()
-    unless $P10, rx472_fail
-    rx472_cur."!mark_push"(0, -1, 0, $P10)
+    rx477_cur."!cursor_pos"(rx477_pos)
+    $P10 = rx477_cur."circumfix"()
+    unless $P10, rx477_fail
+    rx477_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("circumfix")
-    rx472_pos = $P10."pos"()
-    (rx472_rep) = rx472_cur."!mark_commit"($I482)
-  rxquantr481_done:
-    goto alt479_end
-  alt479_2:
-.annotate 'line', 240
+    rx477_pos = $P10."pos"()
+    (rx477_rep) = rx477_cur."!mark_commit"($I487)
+  rxquantr486_done:
+    goto alt484_end
+  alt484_2:
+.annotate 'line', 242
   # rx subrule "circumfix" subtype=capture negate=
-    rx472_cur."!cursor_pos"(rx472_pos)
-    $P10 = rx472_cur."circumfix"()
-    unless $P10, rx472_fail
-    rx472_cur."!mark_push"(0, -1, 0, $P10)
+    rx477_cur."!cursor_pos"(rx477_pos)
+    $P10 = rx477_cur."circumfix"()
+    unless $P10, rx477_fail
+    rx477_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("circumfix")
-    rx472_pos = $P10."pos"()
-  alt479_end:
-.annotate 'line', 235
-  # rx pass
-    rx472_cur."!cursor_pass"(rx472_pos, "colonpair")
-    rx472_cur."!cursor_debug"("PASS  ", "colonpair", " at pos=", rx472_pos)
-    .return (rx472_cur)
-  rx472_fail:
-.annotate 'line', 4
-    (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
-  rx472_done:
-    rx472_cur."!cursor_fail"()
-    rx472_cur."!cursor_debug"("FAIL  ", "colonpair")
-    .return (rx472_cur)
+    rx477_pos = $P10."pos"()
+  alt484_end:
+.annotate 'line', 237
+  # rx pass
+    rx477_cur."!cursor_pass"(rx477_pos, "colonpair")
+    rx477_cur."!cursor_debug"("PASS  ", "colonpair", " at pos=", rx477_pos)
+    .return (rx477_cur)
+  rx477_fail:
+.annotate 'line', 4
+    (rx477_rep, rx477_pos, $I10, $P10) = rx477_cur."!mark_fail"(0)
+    lt rx477_pos, -1, rx477_done
+    eq rx477_pos, -1, rx477_fail
+    jump $I10
+  rx477_done:
+    rx477_cur."!cursor_fail"()
+    rx477_cur."!cursor_debug"("FAIL  ", "colonpair")
+    .return (rx477_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__colonpair"  :subid("116_1274800460.92525") :method
-.annotate 'line', 4
-    $P474 = self."!PREFIX__!subrule"("circumfix", ":")
-    $P475 = self."!PREFIX__!subrule"("identifier", ":")
-    $P476 = self."!PREFIX__!subrule"("identifier", ":!")
-    new $P477, "ResizablePMCArray"
-    push $P477, $P474
-    push $P477, $P475
-    push $P477, $P476
-    .return ($P477)
-.end
-
-
-.namespace ["NQP";"Grammar"]
-.sub "variable"  :subid("117_1274800460.92525") :method :outer("11_1274800460.92525")
-.annotate 'line', 4
-    .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 ", "variable")
-    rx484_cur."!cursor_caparray"("twigil")
-    .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, rxscan489_done
-    goto rxscan489_scan
-  rxscan489_loop:
-    ($P10) = rx484_cur."from"()
-    inc $P10
-    set rx484_pos, $P10
-    ge rx484_pos, rx484_eos, rxscan489_done
-  rxscan489_scan:
-    set_addr $I10, rxscan489_loop
-    rx484_cur."!mark_push"(0, rx484_pos, $I10)
-  rxscan489_done:
-  alt490_0:
-.annotate 'line', 244
-    set_addr $I10, alt490_1
-    rx484_cur."!mark_push"(0, rx484_pos, $I10)
-.annotate 'line', 245
+.sub "!PREFIX__colonpair"  :subid("118_1274853038.58734") :method
+.annotate 'line', 4
+    $P479 = self."!PREFIX__!subrule"("circumfix", ":")
+    $P480 = self."!PREFIX__!subrule"("identifier", ":")
+    $P481 = self."!PREFIX__!subrule"("identifier", ":!")
+    new $P482, "ResizablePMCArray"
+    push $P482, $P479
+    push $P482, $P480
+    push $P482, $P481
+    .return ($P482)
+.end
+
+
+.namespace ["NQP";"Grammar"]
+.sub "variable"  :subid("119_1274853038.58734") :method :outer("11_1274853038.58734")
+.annotate 'line', 4
+    .local string rx489_tgt
+    .local int rx489_pos
+    .local int rx489_off
+    .local int rx489_eos
+    .local int rx489_rep
+    .local pmc rx489_cur
+    (rx489_cur, rx489_pos, rx489_tgt) = self."!cursor_start"()
+    rx489_cur."!cursor_debug"("START ", "variable")
+    rx489_cur."!cursor_caparray"("twigil")
+    .lex unicode:"$\x{a2}", rx489_cur
+    .local pmc match
+    .lex "$/", match
+    length rx489_eos, rx489_tgt
+    set rx489_off, 0
+    lt rx489_pos, 2, rx489_start
+    sub rx489_off, rx489_pos, 1
+    substr rx489_tgt, rx489_tgt, rx489_off
+  rx489_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan494_done
+    goto rxscan494_scan
+  rxscan494_loop:
+    ($P10) = rx489_cur."from"()
+    inc $P10
+    set rx489_pos, $P10
+    ge rx489_pos, rx489_eos, rxscan494_done
+  rxscan494_scan:
+    set_addr $I10, rxscan494_loop
+    rx489_cur."!mark_push"(0, rx489_pos, $I10)
+  rxscan494_done:
+  alt495_0:
+.annotate 'line', 246
+    set_addr $I10, alt495_1
+    rx489_cur."!mark_push"(0, rx489_pos, $I10)
+.annotate 'line', 247
   # rx subrule "sigil" subtype=capture negate=
-    rx484_cur."!cursor_pos"(rx484_pos)
-    $P10 = rx484_cur."sigil"()
-    unless $P10, rx484_fail
-    rx484_cur."!mark_push"(0, -1, 0, $P10)
+    rx489_cur."!cursor_pos"(rx489_pos)
+    $P10 = rx489_cur."sigil"()
+    unless $P10, rx489_fail
+    rx489_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("sigil")
-    rx484_pos = $P10."pos"()
-  # rx rxquantr491 ** 0..1
-    set_addr $I492, rxquantr491_done
-    rx484_cur."!mark_push"(0, rx484_pos, $I492)
-  rxquantr491_loop:
+    rx489_pos = $P10."pos"()
+  # rx rxquantr496 ** 0..1
+    set_addr $I497, rxquantr496_done
+    rx489_cur."!mark_push"(0, rx489_pos, $I497)
+  rxquantr496_loop:
   # rx subrule "twigil" subtype=capture negate=
-    rx484_cur."!cursor_pos"(rx484_pos)
-    $P10 = rx484_cur."twigil"()
-    unless $P10, rx484_fail
-    rx484_cur."!mark_push"(0, -1, 0, $P10)
+    rx489_cur."!cursor_pos"(rx489_pos)
+    $P10 = rx489_cur."twigil"()
+    unless $P10, rx489_fail
+    rx489_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("twigil")
-    rx484_pos = $P10."pos"()
-    (rx484_rep) = rx484_cur."!mark_commit"($I492)
-  rxquantr491_done:
+    rx489_pos = $P10."pos"()
+    (rx489_rep) = rx489_cur."!mark_commit"($I497)
+  rxquantr496_done:
   # rx subrule "name" subtype=capture negate=
-    rx484_cur."!cursor_pos"(rx484_pos)
-    $P10 = rx484_cur."name"()
-    unless $P10, rx484_fail
-    rx484_cur."!mark_push"(0, -1, 0, $P10)
+    rx489_cur."!cursor_pos"(rx489_pos)
+    $P10 = rx489_cur."name"()
+    unless $P10, rx489_fail
+    rx489_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("desigilname")
-    rx484_pos = $P10."pos"()
-    goto alt490_end
-  alt490_1:
-    set_addr $I10, alt490_2
-    rx484_cur."!mark_push"(0, rx484_pos, $I10)
-.annotate 'line', 246
+    rx489_pos = $P10."pos"()
+    goto alt495_end
+  alt495_1:
+    set_addr $I10, alt495_2
+    rx489_cur."!mark_push"(0, rx489_pos, $I10)
+.annotate 'line', 248
   # rx subrule "sigil" subtype=capture negate=
-    rx484_cur."!cursor_pos"(rx484_pos)
-    $P10 = rx484_cur."sigil"()
-    unless $P10, rx484_fail
-    rx484_cur."!mark_push"(0, -1, 0, $P10)
+    rx489_cur."!cursor_pos"(rx489_pos)
+    $P10 = rx489_cur."sigil"()
+    unless $P10, rx489_fail
+    rx489_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("sigil")
-    rx484_pos = $P10."pos"()
+    rx489_pos = $P10."pos"()
   # rx enumcharlist negate=0 zerowidth
-    ge rx484_pos, rx484_eos, rx484_fail
-    sub $I10, rx484_pos, rx484_off
-    substr $S10, rx484_tgt, $I10, 1
+    ge rx489_pos, rx489_eos, rx489_fail
+    sub $I10, rx489_pos, rx489_off
+    substr $S10, rx489_tgt, $I10, 1
     index $I11, "<[", $S10
-    lt $I11, 0, rx484_fail
+    lt $I11, 0, rx489_fail
   # rx subrule "postcircumfix" subtype=capture negate=
-    rx484_cur."!cursor_pos"(rx484_pos)
-    $P10 = rx484_cur."postcircumfix"()
-    unless $P10, rx484_fail
-    rx484_cur."!mark_push"(0, -1, 0, $P10)
+    rx489_cur."!cursor_pos"(rx489_pos)
+    $P10 = rx489_cur."postcircumfix"()
+    unless $P10, rx489_fail
+    rx489_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("postcircumfix")
-    rx484_pos = $P10."pos"()
-    goto alt490_end
-  alt490_2:
-.annotate 'line', 247
+    rx489_pos = $P10."pos"()
+    goto alt495_end
+  alt495_2:
+.annotate 'line', 249
   # rx subcapture "sigil"
-    set_addr $I10, rxcap_493_fail
-    rx484_cur."!mark_push"(0, rx484_pos, $I10)
+    set_addr $I10, rxcap_498_fail
+    rx489_cur."!mark_push"(0, rx489_pos, $I10)
   # 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
-    set_addr $I10, rxcap_493_fail
-    ($I12, $I11) = rx484_cur."!mark_peek"($I10)
-    rx484_cur."!cursor_pos"($I11)
-    ($P10) = rx484_cur."!cursor_start"()
-    $P10."!cursor_pass"(rx484_pos, "")
-    rx484_cur."!mark_push"(0, -1, 0, $P10)
+    add $I11, rx489_pos, 1
+    gt $I11, rx489_eos, rx489_fail
+    sub $I11, rx489_pos, rx489_off
+    substr $S10, rx489_tgt, $I11, 1
+    ne $S10, "$", rx489_fail
+    add rx489_pos, 1
+    set_addr $I10, rxcap_498_fail
+    ($I12, $I11) = rx489_cur."!mark_peek"($I10)
+    rx489_cur."!cursor_pos"($I11)
+    ($P10) = rx489_cur."!cursor_start"()
+    $P10."!cursor_pass"(rx489_pos, "")
+    rx489_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("sigil")
-    goto rxcap_493_done
-  rxcap_493_fail:
-    goto rx484_fail
-  rxcap_493_done:
+    goto rxcap_498_done
+  rxcap_498_fail:
+    goto rx489_fail
+  rxcap_498_done:
   # rx subcapture "desigilname"
-    set_addr $I10, rxcap_494_fail
-    rx484_cur."!mark_push"(0, rx484_pos, $I10)
+    set_addr $I10, rxcap_499_fail
+    rx489_cur."!mark_push"(0, rx489_pos, $I10)
   # rx enumcharlist negate=0 
-    ge rx484_pos, rx484_eos, rx484_fail
-    sub $I10, rx484_pos, rx484_off
-    substr $S10, rx484_tgt, $I10, 1
+    ge rx489_pos, rx489_eos, rx489_fail
+    sub $I10, rx489_pos, rx489_off
+    substr $S10, rx489_tgt, $I10, 1
     index $I11, "/_!", $S10
-    lt $I11, 0, rx484_fail
-    inc rx484_pos
-    set_addr $I10, rxcap_494_fail
-    ($I12, $I11) = rx484_cur."!mark_peek"($I10)
-    rx484_cur."!cursor_pos"($I11)
-    ($P10) = rx484_cur."!cursor_start"()
-    $P10."!cursor_pass"(rx484_pos, "")
-    rx484_cur."!mark_push"(0, -1, 0, $P10)
+    lt $I11, 0, rx489_fail
+    inc rx489_pos
+    set_addr $I10, rxcap_499_fail
+    ($I12, $I11) = rx489_cur."!mark_peek"($I10)
+    rx489_cur."!cursor_pos"($I11)
+    ($P10) = rx489_cur."!cursor_start"()
+    $P10."!cursor_pass"(rx489_pos, "")
+    rx489_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("desigilname")
-    goto rxcap_494_done
-  rxcap_494_fail:
-    goto rx484_fail
-  rxcap_494_done:
-  alt490_end:
-.annotate 'line', 244
-  # rx pass
-    rx484_cur."!cursor_pass"(rx484_pos, "variable")
-    rx484_cur."!cursor_debug"("PASS  ", "variable", " at pos=", rx484_pos)
-    .return (rx484_cur)
-  rx484_fail:
-.annotate 'line', 4
-    (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  ", "variable")
-    .return (rx484_cur)
-    .return ()
-.end
-
-
-.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__variable"  :subid("118_1274800460.92525") :method
-.annotate 'line', 4
-    $P486 = self."!PREFIX__!subrule"("sigil", "")
-    $P487 = self."!PREFIX__!subrule"("sigil", "")
-    new $P488, "ResizablePMCArray"
-    push $P488, "$!"
-    push $P488, "$_"
-    push $P488, "$/"
-    push $P488, $P486
-    push $P488, $P487
-    .return ($P488)
-.end
-
-
-.namespace ["NQP";"Grammar"]
-.sub "sigil"  :subid("119_1274800460.92525") :method :outer("11_1274800460.92525")
-.annotate 'line', 4
-    .local string rx496_tgt
-    .local int rx496_pos
-    .local int rx496_off
-    .local int rx496_eos
-    .local int rx496_rep
-    .local pmc rx496_cur
-    (rx496_cur, rx496_pos, rx496_tgt) = self."!cursor_start"()
-    rx496_cur."!cursor_debug"("START ", "sigil")
-    .lex unicode:"$\x{a2}", rx496_cur
-    .local pmc match
-    .lex "$/", match
-    length rx496_eos, rx496_tgt
-    set rx496_off, 0
-    lt rx496_pos, 2, rx496_start
-    sub rx496_off, rx496_pos, 1
-    substr rx496_tgt, rx496_tgt, rx496_off
-  rx496_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan499_done
-    goto rxscan499_scan
-  rxscan499_loop:
-    ($P10) = rx496_cur."from"()
-    inc $P10
-    set rx496_pos, $P10
-    ge rx496_pos, rx496_eos, rxscan499_done
-  rxscan499_scan:
-    set_addr $I10, rxscan499_loop
-    rx496_cur."!mark_push"(0, rx496_pos, $I10)
-  rxscan499_done:
-.annotate 'line', 250
-  # rx enumcharlist negate=0 
-    ge rx496_pos, rx496_eos, rx496_fail
-    sub $I10, rx496_pos, rx496_off
-    substr $S10, rx496_tgt, $I10, 1
-    index $I11, "$@%&", $S10
-    lt $I11, 0, rx496_fail
-    inc rx496_pos
+    goto rxcap_499_done
+  rxcap_499_fail:
+    goto rx489_fail
+  rxcap_499_done:
+  alt495_end:
+.annotate 'line', 246
   # rx pass
-    rx496_cur."!cursor_pass"(rx496_pos, "sigil")
-    rx496_cur."!cursor_debug"("PASS  ", "sigil", " at pos=", rx496_pos)
-    .return (rx496_cur)
-  rx496_fail:
+    rx489_cur."!cursor_pass"(rx489_pos, "variable")
+    rx489_cur."!cursor_debug"("PASS  ", "variable", " at pos=", rx489_pos)
+    .return (rx489_cur)
+  rx489_fail:
 .annotate 'line', 4
-    (rx496_rep, rx496_pos, $I10, $P10) = rx496_cur."!mark_fail"(0)
-    lt rx496_pos, -1, rx496_done
-    eq rx496_pos, -1, rx496_fail
+    (rx489_rep, rx489_pos, $I10, $P10) = rx489_cur."!mark_fail"(0)
+    lt rx489_pos, -1, rx489_done
+    eq rx489_pos, -1, rx489_fail
     jump $I10
-  rx496_done:
-    rx496_cur."!cursor_fail"()
-    rx496_cur."!cursor_debug"("FAIL  ", "sigil")
-    .return (rx496_cur)
+  rx489_done:
+    rx489_cur."!cursor_fail"()
+    rx489_cur."!cursor_debug"("FAIL  ", "variable")
+    .return (rx489_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__sigil"  :subid("120_1274800460.92525") :method
+.sub "!PREFIX__variable"  :subid("120_1274853038.58734") :method
 .annotate 'line', 4
-    new $P498, "ResizablePMCArray"
-    push $P498, "&"
-    push $P498, "%"
-    push $P498, "@"
-    push $P498, "$"
-    .return ($P498)
+    $P491 = self."!PREFIX__!subrule"("sigil", "")
+    $P492 = self."!PREFIX__!subrule"("sigil", "")
+    new $P493, "ResizablePMCArray"
+    push $P493, "$!"
+    push $P493, "$_"
+    push $P493, "$/"
+    push $P493, $P491
+    push $P493, $P492
+    .return ($P493)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "twigil"  :subid("121_1274800460.92525") :method :outer("11_1274800460.92525")
+.sub "sigil"  :subid("121_1274853038.58734") :method :outer("11_1274853038.58734")
 .annotate 'line', 4
     .local string rx501_tgt
     .local int rx501_pos
@@ -6147,7 +6158,7 @@
     .local int rx501_rep
     .local pmc rx501_cur
     (rx501_cur, rx501_pos, rx501_tgt) = self."!cursor_start"()
-    rx501_cur."!cursor_debug"("START ", "twigil")
+    rx501_cur."!cursor_debug"("START ", "sigil")
     .lex unicode:"$\x{a2}", rx501_cur
     .local pmc match
     .lex "$/", match
@@ -6174,12 +6185,12 @@
     ge rx501_pos, rx501_eos, rx501_fail
     sub $I10, rx501_pos, rx501_off
     substr $S10, rx501_tgt, $I10, 1
-    index $I11, "*!?", $S10
+    index $I11, "$@%&", $S10
     lt $I11, 0, rx501_fail
     inc rx501_pos
   # rx pass
-    rx501_cur."!cursor_pass"(rx501_pos, "twigil")
-    rx501_cur."!cursor_debug"("PASS  ", "twigil", " at pos=", rx501_pos)
+    rx501_cur."!cursor_pass"(rx501_pos, "sigil")
+    rx501_cur."!cursor_debug"("PASS  ", "sigil", " at pos=", rx501_pos)
     .return (rx501_cur)
   rx501_fail:
 .annotate 'line', 4
@@ -6189,3708 +6200,3705 @@
     jump $I10
   rx501_done:
     rx501_cur."!cursor_fail"()
-    rx501_cur."!cursor_debug"("FAIL  ", "twigil")
+    rx501_cur."!cursor_debug"("FAIL  ", "sigil")
     .return (rx501_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__twigil"  :subid("122_1274800460.92525") :method
+.sub "!PREFIX__sigil"  :subid("122_1274853038.58734") :method
 .annotate 'line', 4
     new $P503, "ResizablePMCArray"
-    push $P503, "?"
-    push $P503, "!"
-    push $P503, "*"
+    push $P503, "&"
+    push $P503, "%"
+    push $P503, "@"
+    push $P503, "$"
     .return ($P503)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "package_declarator"  :subid("123_1274800460.92525") :method
+.sub "twigil"  :subid("123_1274853038.58734") :method :outer("11_1274853038.58734")
+.annotate 'line', 4
+    .local string rx506_tgt
+    .local int rx506_pos
+    .local int rx506_off
+    .local int rx506_eos
+    .local int rx506_rep
+    .local pmc rx506_cur
+    (rx506_cur, rx506_pos, rx506_tgt) = self."!cursor_start"()
+    rx506_cur."!cursor_debug"("START ", "twigil")
+    .lex unicode:"$\x{a2}", rx506_cur
+    .local pmc match
+    .lex "$/", match
+    length rx506_eos, rx506_tgt
+    set rx506_off, 0
+    lt rx506_pos, 2, rx506_start
+    sub rx506_off, rx506_pos, 1
+    substr rx506_tgt, rx506_tgt, rx506_off
+  rx506_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan509_done
+    goto rxscan509_scan
+  rxscan509_loop:
+    ($P10) = rx506_cur."from"()
+    inc $P10
+    set rx506_pos, $P10
+    ge rx506_pos, rx506_eos, rxscan509_done
+  rxscan509_scan:
+    set_addr $I10, rxscan509_loop
+    rx506_cur."!mark_push"(0, rx506_pos, $I10)
+  rxscan509_done:
 .annotate 'line', 254
-    $P506 = self."!protoregex"("package_declarator")
-    .return ($P506)
+  # rx enumcharlist negate=0 
+    ge rx506_pos, rx506_eos, rx506_fail
+    sub $I10, rx506_pos, rx506_off
+    substr $S10, rx506_tgt, $I10, 1
+    index $I11, "*!?", $S10
+    lt $I11, 0, rx506_fail
+    inc rx506_pos
+  # rx pass
+    rx506_cur."!cursor_pass"(rx506_pos, "twigil")
+    rx506_cur."!cursor_debug"("PASS  ", "twigil", " at pos=", rx506_pos)
+    .return (rx506_cur)
+  rx506_fail:
+.annotate 'line', 4
+    (rx506_rep, rx506_pos, $I10, $P10) = rx506_cur."!mark_fail"(0)
+    lt rx506_pos, -1, rx506_done
+    eq rx506_pos, -1, rx506_fail
+    jump $I10
+  rx506_done:
+    rx506_cur."!cursor_fail"()
+    rx506_cur."!cursor_debug"("FAIL  ", "twigil")
+    .return (rx506_cur)
+    .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__package_declarator"  :subid("124_1274800460.92525") :method
-.annotate 'line', 254
-    $P508 = self."!PREFIX__!protoregex"("package_declarator")
+.sub "!PREFIX__twigil"  :subid("124_1274853038.58734") :method
+.annotate 'line', 4
+    new $P508, "ResizablePMCArray"
+    push $P508, "?"
+    push $P508, "!"
+    push $P508, "*"
     .return ($P508)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "package_declarator:sym<module>"  :subid("125_1274800460.92525") :method :outer("11_1274800460.92525")
+.sub "package_declarator"  :subid("125_1274853038.58734") :method
+.annotate 'line', 256
+    $P511 = self."!protoregex"("package_declarator")
+    .return ($P511)
+.end
+
+
+.namespace ["NQP";"Grammar"]
+.sub "!PREFIX__package_declarator"  :subid("126_1274853038.58734") :method
+.annotate 'line', 256
+    $P513 = self."!PREFIX__!protoregex"("package_declarator")
+    .return ($P513)
+.end
+
+
+.namespace ["NQP";"Grammar"]
+.sub "package_declarator:sym<module>"  :subid("127_1274853038.58734") :method :outer("11_1274853038.58734")
 .annotate 'line', 4
-    .local string rx510_tgt
-    .local int rx510_pos
-    .local int rx510_off
-    .local int rx510_eos
-    .local int rx510_rep
-    .local pmc rx510_cur
-    (rx510_cur, rx510_pos, rx510_tgt) = self."!cursor_start"()
-    rx510_cur."!cursor_debug"("START ", "package_declarator:sym<module>")
-    .lex unicode:"$\x{a2}", rx510_cur
-    .local pmc match
-    .lex "$/", match
-    length rx510_eos, rx510_tgt
-    set rx510_off, 0
-    lt rx510_pos, 2, rx510_start
-    sub rx510_off, rx510_pos, 1
-    substr rx510_tgt, rx510_tgt, rx510_off
-  rx510_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan514_done
-    goto rxscan514_scan
-  rxscan514_loop:
-    ($P10) = rx510_cur."from"()
-    inc $P10
-    set rx510_pos, $P10
-    ge rx510_pos, rx510_eos, rxscan514_done
-  rxscan514_scan:
-    set_addr $I10, rxscan514_loop
-    rx510_cur."!mark_push"(0, rx510_pos, $I10)
-  rxscan514_done:
-.annotate 'line', 255
+    .local string rx515_tgt
+    .local int rx515_pos
+    .local int rx515_off
+    .local int rx515_eos
+    .local int rx515_rep
+    .local pmc rx515_cur
+    (rx515_cur, rx515_pos, rx515_tgt) = self."!cursor_start"()
+    rx515_cur."!cursor_debug"("START ", "package_declarator:sym<module>")
+    .lex unicode:"$\x{a2}", rx515_cur
+    .local pmc match
+    .lex "$/", match
+    length rx515_eos, rx515_tgt
+    set rx515_off, 0
+    lt rx515_pos, 2, rx515_start
+    sub rx515_off, rx515_pos, 1
+    substr rx515_tgt, rx515_tgt, rx515_off
+  rx515_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan519_done
+    goto rxscan519_scan
+  rxscan519_loop:
+    ($P10) = rx515_cur."from"()
+    inc $P10
+    set rx515_pos, $P10
+    ge rx515_pos, rx515_eos, rxscan519_done
+  rxscan519_scan:
+    set_addr $I10, rxscan519_loop
+    rx515_cur."!mark_push"(0, rx515_pos, $I10)
+  rxscan519_done:
+.annotate 'line', 257
   # rx subcapture "sym"
-    set_addr $I10, rxcap_515_fail
-    rx510_cur."!mark_push"(0, rx510_pos, $I10)
+    set_addr $I10, rxcap_520_fail
+    rx515_cur."!mark_push"(0, rx515_pos, $I10)
   # rx literal  "module"
-    add $I11, rx510_pos, 6
-    gt $I11, rx510_eos, rx510_fail
-    sub $I11, rx510_pos, rx510_off
-    substr $S10, rx510_tgt, $I11, 6
-    ne $S10, "module", rx510_fail
-    add rx510_pos, 6
-    set_addr $I10, rxcap_515_fail
-    ($I12, $I11) = rx510_cur."!mark_peek"($I10)
-    rx510_cur."!cursor_pos"($I11)
-    ($P10) = rx510_cur."!cursor_start"()
-    $P10."!cursor_pass"(rx510_pos, "")
-    rx510_cur."!mark_push"(0, -1, 0, $P10)
+    add $I11, rx515_pos, 6
+    gt $I11, rx515_eos, rx515_fail
+    sub $I11, rx515_pos, rx515_off
+    substr $S10, rx515_tgt, $I11, 6
+    ne $S10, "module", rx515_fail
+    add rx515_pos, 6
+    set_addr $I10, rxcap_520_fail
+    ($I12, $I11) = rx515_cur."!mark_peek"($I10)
+    rx515_cur."!cursor_pos"($I11)
+    ($P10) = rx515_cur."!cursor_start"()
+    $P10."!cursor_pass"(rx515_pos, "")
+    rx515_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("sym")
-    goto rxcap_515_done
-  rxcap_515_fail:
-    goto rx510_fail
-  rxcap_515_done:
+    goto rxcap_520_done
+  rxcap_520_fail:
+    goto rx515_fail
+  rxcap_520_done:
   # rx subrule "package_def" subtype=capture negate=
-    rx510_cur."!cursor_pos"(rx510_pos)
-    $P10 = rx510_cur."package_def"()
-    unless $P10, rx510_fail
-    rx510_cur."!mark_push"(0, -1, 0, $P10)
+    rx515_cur."!cursor_pos"(rx515_pos)
+    $P10 = rx515_cur."package_def"()
+    unless $P10, rx515_fail
+    rx515_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("package_def")
-    rx510_pos = $P10."pos"()
+    rx515_pos = $P10."pos"()
   # rx pass
-    rx510_cur."!cursor_pass"(rx510_pos, "package_declarator:sym<module>")
-    rx510_cur."!cursor_debug"("PASS  ", "package_declarator:sym<module>", " at pos=", rx510_pos)
-    .return (rx510_cur)
-  rx510_fail:
+    rx515_cur."!cursor_pass"(rx515_pos, "package_declarator:sym<module>")
+    rx515_cur."!cursor_debug"("PASS  ", "package_declarator:sym<module>", " at pos=", rx515_pos)
+    .return (rx515_cur)
+  rx515_fail:
 .annotate 'line', 4
-    (rx510_rep, rx510_pos, $I10, $P10) = rx510_cur."!mark_fail"(0)
-    lt rx510_pos, -1, rx510_done
-    eq rx510_pos, -1, rx510_fail
+    (rx515_rep, rx515_pos, $I10, $P10) = rx515_cur."!mark_fail"(0)
+    lt rx515_pos, -1, rx515_done
+    eq rx515_pos, -1, rx515_fail
     jump $I10
-  rx510_done:
-    rx510_cur."!cursor_fail"()
-    rx510_cur."!cursor_debug"("FAIL  ", "package_declarator:sym<module>")
-    .return (rx510_cur)
+  rx515_done:
+    rx515_cur."!cursor_fail"()
+    rx515_cur."!cursor_debug"("FAIL  ", "package_declarator:sym<module>")
+    .return (rx515_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__package_declarator:sym<module>"  :subid("126_1274800460.92525") :method
+.sub "!PREFIX__package_declarator:sym<module>"  :subid("128_1274853038.58734") :method
 .annotate 'line', 4
-    $P512 = self."!PREFIX__!subrule"("package_def", "module")
-    new $P513, "ResizablePMCArray"
-    push $P513, $P512
-    .return ($P513)
+    $P517 = self."!PREFIX__!subrule"("package_def", "module")
+    new $P518, "ResizablePMCArray"
+    push $P518, $P517
+    .return ($P518)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "package_declarator:sym<class>"  :subid("127_1274800460.92525") :method :outer("11_1274800460.92525")
+.sub "package_declarator:sym<class>"  :subid("129_1274853038.58734") :method :outer("11_1274853038.58734")
 .annotate 'line', 4
-    .local string rx517_tgt
-    .local int rx517_pos
-    .local int rx517_off
-    .local int rx517_eos
-    .local int rx517_rep
-    .local pmc rx517_cur
-    (rx517_cur, rx517_pos, rx517_tgt) = self."!cursor_start"()
-    rx517_cur."!cursor_debug"("START ", "package_declarator:sym<class>")
-    .lex unicode:"$\x{a2}", rx517_cur
-    .local pmc match
-    .lex "$/", match
-    length rx517_eos, rx517_tgt
-    set rx517_off, 0
-    lt rx517_pos, 2, rx517_start
-    sub rx517_off, rx517_pos, 1
-    substr rx517_tgt, rx517_tgt, rx517_off
-  rx517_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan522_done
-    goto rxscan522_scan
-  rxscan522_loop:
-    ($P10) = rx517_cur."from"()
-    inc $P10
-    set rx517_pos, $P10
-    ge rx517_pos, rx517_eos, rxscan522_done
-  rxscan522_scan:
-    set_addr $I10, rxscan522_loop
-    rx517_cur."!mark_push"(0, rx517_pos, $I10)
-  rxscan522_done:
-.annotate 'line', 256
+    .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 ", "package_declarator:sym<class>")
+    .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, rxscan527_done
+    goto rxscan527_scan
+  rxscan527_loop:
+    ($P10) = rx522_cur."from"()
+    inc $P10
+    set rx522_pos, $P10
+    ge rx522_pos, rx522_eos, rxscan527_done
+  rxscan527_scan:
+    set_addr $I10, rxscan527_loop
+    rx522_cur."!mark_push"(0, rx522_pos, $I10)
+  rxscan527_done:
+.annotate 'line', 258
   # rx subcapture "sym"
-    set_addr $I10, rxcap_524_fail
-    rx517_cur."!mark_push"(0, rx517_pos, $I10)
-  alt523_0:
-    set_addr $I10, alt523_1
-    rx517_cur."!mark_push"(0, rx517_pos, $I10)
+    set_addr $I10, rxcap_529_fail
+    rx522_cur."!mark_push"(0, rx522_pos, $I10)
+  alt528_0:
+    set_addr $I10, alt528_1
+    rx522_cur."!mark_push"(0, rx522_pos, $I10)
   # rx literal  "class"
-    add $I11, rx517_pos, 5
-    gt $I11, rx517_eos, rx517_fail
-    sub $I11, rx517_pos, rx517_off
-    substr $S10, rx517_tgt, $I11, 5
-    ne $S10, "class", rx517_fail
-    add rx517_pos, 5
-    goto alt523_end
-  alt523_1:
+    add $I11, rx522_pos, 5
+    gt $I11, rx522_eos, rx522_fail
+    sub $I11, rx522_pos, rx522_off
+    substr $S10, rx522_tgt, $I11, 5
+    ne $S10, "class", rx522_fail
+    add rx522_pos, 5
+    goto alt528_end
+  alt528_1:
   # rx literal  "grammar"
-    add $I11, rx517_pos, 7
-    gt $I11, rx517_eos, rx517_fail
-    sub $I11, rx517_pos, rx517_off
-    substr $S10, rx517_tgt, $I11, 7
-    ne $S10, "grammar", rx517_fail
-    add rx517_pos, 7
-  alt523_end:
-    set_addr $I10, rxcap_524_fail
-    ($I12, $I11) = rx517_cur."!mark_peek"($I10)
-    rx517_cur."!cursor_pos"($I11)
-    ($P10) = rx517_cur."!cursor_start"()
-    $P10."!cursor_pass"(rx517_pos, "")
-    rx517_cur."!mark_push"(0, -1, 0, $P10)
+    add $I11, rx522_pos, 7
+    gt $I11, rx522_eos, rx522_fail
+    sub $I11, rx522_pos, rx522_off
+    substr $S10, rx522_tgt, $I11, 7
+    ne $S10, "grammar", rx522_fail
+    add rx522_pos, 7
+  alt528_end:
+    set_addr $I10, rxcap_529_fail
+    ($I12, $I11) = rx522_cur."!mark_peek"($I10)
+    rx522_cur."!cursor_pos"($I11)
+    ($P10) = rx522_cur."!cursor_start"()
+    $P10."!cursor_pass"(rx522_pos, "")
+    rx522_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("sym")
-    goto rxcap_524_done
-  rxcap_524_fail:
-    goto rx517_fail
-  rxcap_524_done:
+    goto rxcap_529_done
+  rxcap_529_fail:
+    goto rx522_fail
+  rxcap_529_done:
   # rx subrule "package_def" subtype=capture negate=
-    rx517_cur."!cursor_pos"(rx517_pos)
-    $P10 = rx517_cur."package_def"()
-    unless $P10, rx517_fail
-    rx517_cur."!mark_push"(0, -1, 0, $P10)
+    rx522_cur."!cursor_pos"(rx522_pos)
+    $P10 = rx522_cur."package_def"()
+    unless $P10, rx522_fail
+    rx522_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("package_def")
-    rx517_pos = $P10."pos"()
+    rx522_pos = $P10."pos"()
   # rx pass
-    rx517_cur."!cursor_pass"(rx517_pos, "package_declarator:sym<class>")
-    rx517_cur."!cursor_debug"("PASS  ", "package_declarator:sym<class>", " at pos=", rx517_pos)
-    .return (rx517_cur)
-  rx517_fail:
+    rx522_cur."!cursor_pass"(rx522_pos, "package_declarator:sym<class>")
+    rx522_cur."!cursor_debug"("PASS  ", "package_declarator:sym<class>", " at pos=", rx522_pos)
+    .return (rx522_cur)
+  rx522_fail:
 .annotate 'line', 4
-    (rx517_rep, rx517_pos, $I10, $P10) = rx517_cur."!mark_fail"(0)
-    lt rx517_pos, -1, rx517_done
-    eq rx517_pos, -1, rx517_fail
+    (rx522_rep, rx522_pos, $I10, $P10) = rx522_cur."!mark_fail"(0)
+    lt rx522_pos, -1, rx522_done
+    eq rx522_pos, -1, rx522_fail
     jump $I10
-  rx517_done:
-    rx517_cur."!cursor_fail"()
-    rx517_cur."!cursor_debug"("FAIL  ", "package_declarator:sym<class>")
-    .return (rx517_cur)
+  rx522_done:
+    rx522_cur."!cursor_fail"()
+    rx522_cur."!cursor_debug"("FAIL  ", "package_declarator:sym<class>")
+    .return (rx522_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__package_declarator:sym<class>"  :subid("128_1274800460.92525") :method
+.sub "!PREFIX__package_declarator:sym<class>"  :subid("130_1274853038.58734") :method
 .annotate 'line', 4
-    $P519 = self."!PREFIX__!subrule"("package_def", "grammar")
-    $P520 = self."!PREFIX__!subrule"("package_def", "class")
-    new $P521, "ResizablePMCArray"
-    push $P521, $P519
-    push $P521, $P520
-    .return ($P521)
+    $P524 = self."!PREFIX__!subrule"("package_def", "grammar")
+    $P525 = self."!PREFIX__!subrule"("package_def", "class")
+    new $P526, "ResizablePMCArray"
+    push $P526, $P524
+    push $P526, $P525
+    .return ($P526)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "package_def"  :subid("129_1274800460.92525") :method :outer("11_1274800460.92525")
+.sub "package_def"  :subid("131_1274853038.58734") :method :outer("11_1274853038.58734")
 .annotate 'line', 4
-    .local string rx526_tgt
-    .local int rx526_pos
-    .local int rx526_off
-    .local int rx526_eos
-    .local int rx526_rep
-    .local pmc rx526_cur
-    (rx526_cur, rx526_pos, rx526_tgt) = self."!cursor_start"()
-    rx526_cur."!cursor_debug"("START ", "package_def")
-    rx526_cur."!cursor_caparray"("parent")
-    .lex unicode:"$\x{a2}", rx526_cur
+    .local string rx531_tgt
+    .local int rx531_pos
+    .local int rx531_off
+    .local int rx531_eos
+    .local int rx531_rep
+    .local pmc rx531_cur
+    (rx531_cur, rx531_pos, rx531_tgt) = self."!cursor_start"()
+    rx531_cur."!cursor_debug"("START ", "package_def")
+    rx531_cur."!cursor_caparray"("parent")
+    .lex unicode:"$\x{a2}", rx531_cur
     .local pmc match
     .lex "$/", match
-    length rx526_eos, rx526_tgt
-    set rx526_off, 0
-    lt rx526_pos, 2, rx526_start
-    sub rx526_off, rx526_pos, 1
-    substr rx526_tgt, rx526_tgt, rx526_off
-  rx526_start:
+    length rx531_eos, rx531_tgt
+    set rx531_off, 0
+    lt rx531_pos, 2, rx531_start
+    sub rx531_off, rx531_pos, 1
+    substr rx531_tgt, rx531_tgt, rx531_off
+  rx531_start:
     $I10 = self.'from'()
-    ne $I10, -1, rxscan529_done
-    goto rxscan529_scan
-  rxscan529_loop:
-    ($P10) = rx526_cur."from"()
+    ne $I10, -1, rxscan534_done
+    goto rxscan534_scan
+  rxscan534_loop:
+    ($P10) = rx531_cur."from"()
     inc $P10
-    set rx526_pos, $P10
-    ge rx526_pos, rx526_eos, rxscan529_done
-  rxscan529_scan:
-    set_addr $I10, rxscan529_loop
-    rx526_cur."!mark_push"(0, rx526_pos, $I10)
-  rxscan529_done:
-.annotate 'line', 258
+    set rx531_pos, $P10
+    ge rx531_pos, rx531_eos, rxscan534_done
+  rxscan534_scan:
+    set_addr $I10, rxscan534_loop
+    rx531_cur."!mark_push"(0, rx531_pos, $I10)
+  rxscan534_done:
+.annotate 'line', 260
   # rx subrule "ws" subtype=method negate=
-    rx526_cur."!cursor_pos"(rx526_pos)
-    $P10 = rx526_cur."ws"()
-    unless $P10, rx526_fail
-    rx526_pos = $P10."pos"()
-.annotate 'line', 259
+    rx531_cur."!cursor_pos"(rx531_pos)
+    $P10 = rx531_cur."ws"()
+    unless $P10, rx531_fail
+    rx531_pos = $P10."pos"()
+.annotate 'line', 261
   # rx subrule "name" subtype=capture negate=
-    rx526_cur."!cursor_pos"(rx526_pos)
-    $P10 = rx526_cur."name"()
-    unless $P10, rx526_fail
-    rx526_cur."!mark_push"(0, -1, 0, $P10)
+    rx531_cur."!cursor_pos"(rx531_pos)
+    $P10 = rx531_cur."name"()
+    unless $P10, rx531_fail
+    rx531_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("name")
-    rx526_pos = $P10."pos"()
+    rx531_pos = $P10."pos"()
   # rx subrule "ws" subtype=method negate=
-    rx526_cur."!cursor_pos"(rx526_pos)
-    $P10 = rx526_cur."ws"()
-    unless $P10, rx526_fail
-    rx526_pos = $P10."pos"()
-.annotate 'line', 260
-  # rx rxquantr532 ** 0..1
-    set_addr $I536, rxquantr532_done
-    rx526_cur."!mark_push"(0, rx526_pos, $I536)
-  rxquantr532_loop:
-  # rx subrule "ws" subtype=method negate=
-    rx526_cur."!cursor_pos"(rx526_pos)
-    $P10 = rx526_cur."ws"()
-    unless $P10, rx526_fail
-    rx526_pos = $P10."pos"()
+    rx531_cur."!cursor_pos"(rx531_pos)
+    $P10 = rx531_cur."ws"()
+    unless $P10, rx531_fail
+    rx531_pos = $P10."pos"()
+.annotate 'line', 262
+  # rx rxquantr537 ** 0..1
+    set_addr $I541, rxquantr537_done
+    rx531_cur."!mark_push"(0, rx531_pos, $I541)
+  rxquantr537_loop:
+  # rx subrule "ws" subtype=method negate=
+    rx531_cur."!cursor_pos"(rx531_pos)
+    $P10 = rx531_cur."ws"()
+    unless $P10, rx531_fail
+    rx531_pos = $P10."pos"()
   # rx literal  "is"
-    add $I11, rx526_pos, 2
-    gt $I11, rx526_eos, rx526_fail
-    sub $I11, rx526_pos, rx526_off
-    substr $S10, rx526_tgt, $I11, 2
-    ne $S10, "is", rx526_fail
-    add rx526_pos, 2
-  # rx subrule "ws" subtype=method negate=
-    rx526_cur."!cursor_pos"(rx526_pos)
-    $P10 = rx526_cur."ws"()
-    unless $P10, rx526_fail
-    rx526_pos = $P10."pos"()
+    add $I11, rx531_pos, 2
+    gt $I11, rx531_eos, rx531_fail
+    sub $I11, rx531_pos, rx531_off
+    substr $S10, rx531_tgt, $I11, 2
+    ne $S10, "is", rx531_fail
+    add rx531_pos, 2
+  # rx subrule "ws" subtype=method negate=
+    rx531_cur."!cursor_pos"(rx531_pos)
+    $P10 = rx531_cur."ws"()
+    unless $P10, rx531_fail
+    rx531_pos = $P10."pos"()
   # rx subrule "name" subtype=capture negate=
-    rx526_cur."!cursor_pos"(rx526_pos)
-    $P10 = rx526_cur."name"()
-    unless $P10, rx526_fail
-    rx526_cur."!mark_push"(0, -1, 0, $P10)
+    rx531_cur."!cursor_pos"(rx531_pos)
+    $P10 = rx531_cur."name"()
+    unless $P10, rx531_fail
+    rx531_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("parent")
-    rx526_pos = $P10."pos"()
+    rx531_pos = $P10."pos"()
   # rx subrule "ws" subtype=method negate=
-    rx526_cur."!cursor_pos"(rx526_pos)
-    $P10 = rx526_cur."ws"()
-    unless $P10, rx526_fail
-    rx526_pos = $P10."pos"()
-    (rx526_rep) = rx526_cur."!mark_commit"($I536)
-  rxquantr532_done:
-  # rx subrule "ws" subtype=method negate=
-    rx526_cur."!cursor_pos"(rx526_pos)
-    $P10 = rx526_cur."ws"()
-    unless $P10, rx526_fail
-    rx526_pos = $P10."pos"()
-  alt538_0:
-.annotate 'line', 261
-    set_addr $I10, alt538_1
-    rx526_cur."!mark_push"(0, rx526_pos, $I10)
-.annotate 'line', 262
+    rx531_cur."!cursor_pos"(rx531_pos)
+    $P10 = rx531_cur."ws"()
+    unless $P10, rx531_fail
+    rx531_pos = $P10."pos"()
+    (rx531_rep) = rx531_cur."!mark_commit"($I541)
+  rxquantr537_done:
+  # rx subrule "ws" subtype=method negate=
+    rx531_cur."!cursor_pos"(rx531_pos)
+    $P10 = rx531_cur."ws"()
+    unless $P10, rx531_fail
+    rx531_pos = $P10."pos"()
+  alt543_0:
+.annotate 'line', 263
+    set_addr $I10, alt543_1
+    rx531_cur."!mark_push"(0, rx531_pos, $I10)
+.annotate 'line', 264
   # rx subrule "ws" subtype=method negate=
-    rx526_cur."!cursor_pos"(rx526_pos)
-    $P10 = rx526_cur."ws"()
-    unless $P10, rx526_fail
-    rx526_pos = $P10."pos"()
+    rx531_cur."!cursor_pos"(rx531_pos)
+    $P10 = rx531_cur."ws"()
+    unless $P10, rx531_fail
+    rx531_pos = $P10."pos"()
   # rx literal  ";"
-    add $I11, rx526_pos, 1
-    gt $I11, rx526_eos, rx526_fail
-    sub $I11, rx526_pos, rx526_off
-    substr $S10, rx526_tgt, $I11, 1
-    ne $S10, ";", rx526_fail
-    add rx526_pos, 1
-  # rx subrule "ws" subtype=method negate=
-    rx526_cur."!cursor_pos"(rx526_pos)
-    $P10 = rx526_cur."ws"()
-    unless $P10, rx526_fail
-    rx526_pos = $P10."pos"()
+    add $I11, rx531_pos, 1
+    gt $I11, rx531_eos, rx531_fail
+    sub $I11, rx531_pos, rx531_off
+    substr $S10, rx531_tgt, $I11, 1
+    ne $S10, ";", rx531_fail
+    add rx531_pos, 1
+  # rx subrule "ws" subtype=method negate=
+    rx531_cur."!cursor_pos"(rx531_pos)
+    $P10 = rx531_cur."ws"()
+    unless $P10, rx531_fail
+    rx531_pos = $P10."pos"()
   # rx subrule "comp_unit" subtype=capture negate=
-    rx526_cur."!cursor_pos"(rx526_pos)
-    $P10 = rx526_cur."comp_unit"()
-    unless $P10, rx526_fail
-    rx526_cur."!mark_push"(0, -1, 0, $P10)
+    rx531_cur."!cursor_pos"(rx531_pos)
+    $P10 = rx531_cur."comp_unit"()
+    unless $P10, rx531_fail
+    rx531_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("comp_unit")
-    rx526_pos = $P10."pos"()
+    rx531_pos = $P10."pos"()
   # rx subrule "ws" subtype=method negate=
-    rx526_cur."!cursor_pos"(rx526_pos)
-    $P10 = rx526_cur."ws"()
-    unless $P10, rx526_fail
-    rx526_pos = $P10."pos"()
-    goto alt538_end
-  alt538_1:
-    set_addr $I10, alt538_2
-    rx526_cur."!mark_push"(0, rx526_pos, $I10)
-.annotate 'line', 263
+    rx531_cur."!cursor_pos"(rx531_pos)
+    $P10 = rx531_cur."ws"()
+    unless $P10, rx531_fail
+    rx531_pos = $P10."pos"()
+    goto alt543_end
+  alt543_1:
+    set_addr $I10, alt543_2
+    rx531_cur."!mark_push"(0, rx531_pos, $I10)
+.annotate 'line', 265
   # rx subrule "ws" subtype=method negate=
-    rx526_cur."!cursor_pos"(rx526_pos)
-    $P10 = rx526_cur."ws"()
-    unless $P10, rx526_fail
-    rx526_pos = $P10."pos"()
+    rx531_cur."!cursor_pos"(rx531_pos)
+    $P10 = rx531_cur."ws"()
+    unless $P10, rx531_fail
+    rx531_pos = $P10."pos"()
   # rx enumcharlist negate=0 zerowidth
-    ge rx526_pos, rx526_eos, rx526_fail
-    sub $I10, rx526_pos, rx526_off
-    substr $S10, rx526_tgt, $I10, 1
+    ge rx531_pos, rx531_eos, rx531_fail
+    sub $I10, rx531_pos, rx531_off
+    substr $S10, rx531_tgt, $I10, 1
     index $I11, "{", $S10
-    lt $I11, 0, rx526_fail
+    lt $I11, 0, rx531_fail
   # rx subrule "ws" subtype=method negate=
-    rx526_cur."!cursor_pos"(rx526_pos)
-    $P10 = rx526_cur."ws"()
-    unless $P10, rx526_fail
-    rx526_pos = $P10."pos"()
+    rx531_cur."!cursor_pos"(rx531_pos)
+    $P10 = rx531_cur."ws"()
+    unless $P10, rx531_fail
+    rx531_pos = $P10."pos"()
   # rx subrule "block" subtype=capture negate=
-    rx526_cur."!cursor_pos"(rx526_pos)
-    $P10 = rx526_cur."block"()
-    unless $P10, rx526_fail
-    rx526_cur."!mark_push"(0, -1, 0, $P10)
+    rx531_cur."!cursor_pos"(rx531_pos)
+    $P10 = rx531_cur."block"()
+    unless $P10, rx531_fail
+    rx531_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("block")
-    rx526_pos = $P10."pos"()
+    rx531_pos = $P10."pos"()
   # rx subrule "ws" subtype=method negate=
-    rx526_cur."!cursor_pos"(rx526_pos)
-    $P10 = rx526_cur."ws"()
-    unless $P10, rx526_fail
-    rx526_pos = $P10."pos"()
-    goto alt538_end
-  alt538_2:
-.annotate 'line', 264
+    rx531_cur."!cursor_pos"(rx531_pos)
+    $P10 = rx531_cur."ws"()
+    unless $P10, rx531_fail
+    rx531_pos = $P10."pos"()
+    goto alt543_end
+  alt543_2:
+.annotate 'line', 266
   # rx subrule "ws" subtype=method negate=
-    rx526_cur."!cursor_pos"(rx526_pos)
-    $P10 = rx526_cur."ws"()
-    unless $P10, rx526_fail
-    rx526_pos = $P10."pos"()
+    rx531_cur."!cursor_pos"(rx531_pos)
+    $P10 = rx531_cur."ws"()
+    unless $P10, rx531_fail
+    rx531_pos = $P10."pos"()
   # rx subrule "panic" subtype=method negate=
-    rx526_cur."!cursor_pos"(rx526_pos)
-    $P10 = rx526_cur."panic"("Malformed package declaration")
-    unless $P10, rx526_fail
-    rx526_pos = $P10."pos"()
-  # rx subrule "ws" subtype=method negate=
-    rx526_cur."!cursor_pos"(rx526_pos)
-    $P10 = rx526_cur."ws"()
-    unless $P10, rx526_fail
-    rx526_pos = $P10."pos"()
-  alt538_end:
-.annotate 'line', 265
-  # rx subrule "ws" subtype=method negate=
-    rx526_cur."!cursor_pos"(rx526_pos)
-    $P10 = rx526_cur."ws"()
-    unless $P10, rx526_fail
-    rx526_pos = $P10."pos"()
-.annotate 'line', 258
+    rx531_cur."!cursor_pos"(rx531_pos)
+    $P10 = rx531_cur."panic"("Malformed package declaration")
+    unless $P10, rx531_fail
+    rx531_pos = $P10."pos"()
+  # rx subrule "ws" subtype=method negate=
+    rx531_cur."!cursor_pos"(rx531_pos)
+    $P10 = rx531_cur."ws"()
+    unless $P10, rx531_fail
+    rx531_pos = $P10."pos"()
+  alt543_end:
+.annotate 'line', 267
+  # rx subrule "ws" subtype=method negate=
+    rx531_cur."!cursor_pos"(rx531_pos)
+    $P10 = rx531_cur."ws"()
+    unless $P10, rx531_fail
+    rx531_pos = $P10."pos"()
+.annotate 'line', 260
   # rx pass
-    rx526_cur."!cursor_pass"(rx526_pos, "package_def")
-    rx526_cur."!cursor_debug"("PASS  ", "package_def", " at pos=", rx526_pos)
-    .return (rx526_cur)
-  rx526_fail:
+    rx531_cur."!cursor_pass"(rx531_pos, "package_def")
+    rx531_cur."!cursor_debug"("PASS  ", "package_def", " at pos=", rx531_pos)
+    .return (rx531_cur)
+  rx531_fail:
 .annotate 'line', 4
-    (rx526_rep, rx526_pos, $I10, $P10) = rx526_cur."!mark_fail"(0)
-    lt rx526_pos, -1, rx526_done
-    eq rx526_pos, -1, rx526_fail
+    (rx531_rep, rx531_pos, $I10, $P10) = rx531_cur."!mark_fail"(0)
+    lt rx531_pos, -1, rx531_done
+    eq rx531_pos, -1, rx531_fail
     jump $I10
-  rx526_done:
-    rx526_cur."!cursor_fail"()
-    rx526_cur."!cursor_debug"("FAIL  ", "package_def")
-    .return (rx526_cur)
+  rx531_done:
+    rx531_cur."!cursor_fail"()
+    rx531_cur."!cursor_debug"("FAIL  ", "package_def")
+    .return (rx531_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__package_def"  :subid("130_1274800460.92525") :method
+.sub "!PREFIX__package_def"  :subid("132_1274853038.58734") :method
 .annotate 'line', 4
-    new $P528, "ResizablePMCArray"
-    push $P528, ""
-    .return ($P528)
+    new $P533, "ResizablePMCArray"
+    push $P533, ""
+    .return ($P533)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "scope_declarator"  :subid("131_1274800460.92525") :method
-.annotate 'line', 268
-    $P549 = self."!protoregex"("scope_declarator")
-    .return ($P549)
+.sub "scope_declarator"  :subid("133_1274853038.58734") :method
+.annotate 'line', 270
+    $P554 = self."!protoregex"("scope_declarator")
+    .return ($P554)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__scope_declarator"  :subid("132_1274800460.92525") :method
-.annotate 'line', 268
-    $P551 = self."!PREFIX__!protoregex"("scope_declarator")
-    .return ($P551)
+.sub "!PREFIX__scope_declarator"  :subid("134_1274853038.58734") :method
+.annotate 'line', 270
+    $P556 = self."!PREFIX__!protoregex"("scope_declarator")
+    .return ($P556)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "scope_declarator:sym<my>"  :subid("133_1274800460.92525") :method :outer("11_1274800460.92525")
+.sub "scope_declarator:sym<my>"  :subid("135_1274853038.58734") :method :outer("11_1274853038.58734")
 .annotate 'line', 4
-    .local string rx553_tgt
-    .local int rx553_pos
-    .local int rx553_off
-    .local int rx553_eos
-    .local int rx553_rep
-    .local pmc rx553_cur
-    (rx553_cur, rx553_pos, rx553_tgt) = self."!cursor_start"()
-    rx553_cur."!cursor_debug"("START ", "scope_declarator:sym<my>")
-    .lex unicode:"$\x{a2}", rx553_cur
-    .local pmc match
-    .lex "$/", match
-    length rx553_eos, rx553_tgt
-    set rx553_off, 0
-    lt rx553_pos, 2, rx553_start
-    sub rx553_off, rx553_pos, 1
-    substr rx553_tgt, rx553_tgt, rx553_off
-  rx553_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan557_done
-    goto rxscan557_scan
-  rxscan557_loop:
-    ($P10) = rx553_cur."from"()
-    inc $P10
-    set rx553_pos, $P10
-    ge rx553_pos, rx553_eos, rxscan557_done
-  rxscan557_scan:
-    set_addr $I10, rxscan557_loop
-    rx553_cur."!mark_push"(0, rx553_pos, $I10)
-  rxscan557_done:
-.annotate 'line', 269
+    .local string rx558_tgt
+    .local int rx558_pos
+    .local int rx558_off
+    .local int rx558_eos
+    .local int rx558_rep
+    .local pmc rx558_cur
+    (rx558_cur, rx558_pos, rx558_tgt) = self."!cursor_start"()
+    rx558_cur."!cursor_debug"("START ", "scope_declarator:sym<my>")
+    .lex unicode:"$\x{a2}", rx558_cur
+    .local pmc match
+    .lex "$/", match
+    length rx558_eos, rx558_tgt
+    set rx558_off, 0
+    lt rx558_pos, 2, rx558_start
+    sub rx558_off, rx558_pos, 1
+    substr rx558_tgt, rx558_tgt, rx558_off
+  rx558_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan562_done
+    goto rxscan562_scan
+  rxscan562_loop:
+    ($P10) = rx558_cur."from"()
+    inc $P10
+    set rx558_pos, $P10
+    ge rx558_pos, rx558_eos, rxscan562_done
+  rxscan562_scan:
+    set_addr $I10, rxscan562_loop
+    rx558_cur."!mark_push"(0, rx558_pos, $I10)
+  rxscan562_done:
+.annotate 'line', 271
   # rx subcapture "sym"
-    set_addr $I10, rxcap_558_fail
-    rx553_cur."!mark_push"(0, rx553_pos, $I10)
+    set_addr $I10, rxcap_563_fail
+    rx558_cur."!mark_push"(0, rx558_pos, $I10)
   # rx literal  "my"
-    add $I11, rx553_pos, 2
-    gt $I11, rx553_eos, rx553_fail
-    sub $I11, rx553_pos, rx553_off
-    substr $S10, rx553_tgt, $I11, 2
-    ne $S10, "my", rx553_fail
-    add rx553_pos, 2
-    set_addr $I10, rxcap_558_fail
-    ($I12, $I11) = rx553_cur."!mark_peek"($I10)
-    rx553_cur."!cursor_pos"($I11)
-    ($P10) = rx553_cur."!cursor_start"()
-    $P10."!cursor_pass"(rx553_pos, "")
-    rx553_cur."!mark_push"(0, -1, 0, $P10)
+    add $I11, rx558_pos, 2
+    gt $I11, rx558_eos, rx558_fail
+    sub $I11, rx558_pos, rx558_off
+    substr $S10, rx558_tgt, $I11, 2
+    ne $S10, "my", rx558_fail
+    add rx558_pos, 2
+    set_addr $I10, rxcap_563_fail
+    ($I12, $I11) = rx558_cur."!mark_peek"($I10)
+    rx558_cur."!cursor_pos"($I11)
+    ($P10) = rx558_cur."!cursor_start"()
+    $P10."!cursor_pass"(rx558_pos, "")
+    rx558_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("sym")
-    goto rxcap_558_done
-  rxcap_558_fail:
-    goto rx553_fail
-  rxcap_558_done:
+    goto rxcap_563_done
+  rxcap_563_fail:
+    goto rx558_fail
+  rxcap_563_done:
   # rx subrule "scoped" subtype=capture negate=
-    rx553_cur."!cursor_pos"(rx553_pos)
-    $P10 = rx553_cur."scoped"("my")
-    unless $P10, rx553_fail
-    rx553_cur."!mark_push"(0, -1, 0, $P10)
+    rx558_cur."!cursor_pos"(rx558_pos)
+    $P10 = rx558_cur."scoped"("my")
+    unless $P10, rx558_fail
+    rx558_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("scoped")
-    rx553_pos = $P10."pos"()
+    rx558_pos = $P10."pos"()
   # rx pass
-    rx553_cur."!cursor_pass"(rx553_pos, "scope_declarator:sym<my>")
-    rx553_cur."!cursor_debug"("PASS  ", "scope_declarator:sym<my>", " at pos=", rx553_pos)
-    .return (rx553_cur)
-  rx553_fail:
+    rx558_cur."!cursor_pass"(rx558_pos, "scope_declarator:sym<my>")
+    rx558_cur."!cursor_debug"("PASS  ", "scope_declarator:sym<my>", " at pos=", rx558_pos)
+    .return (rx558_cur)
+  rx558_fail:
 .annotate 'line', 4
-    (rx553_rep, rx553_pos, $I10, $P10) = rx553_cur."!mark_fail"(0)
-    lt rx553_pos, -1, rx553_done
-    eq rx553_pos, -1, rx553_fail
+    (rx558_rep, rx558_pos, $I10, $P10) = rx558_cur."!mark_fail"(0)
+    lt rx558_pos, -1, rx558_done
+    eq rx558_pos, -1, rx558_fail
     jump $I10
-  rx553_done:
-    rx553_cur."!cursor_fail"()
-    rx553_cur."!cursor_debug"("FAIL  ", "scope_declarator:sym<my>")
-    .return (rx553_cur)
+  rx558_done:
+    rx558_cur."!cursor_fail"()
+    rx558_cur."!cursor_debug"("FAIL  ", "scope_declarator:sym<my>")
+    .return (rx558_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__scope_declarator:sym<my>"  :subid("134_1274800460.92525") :method
+.sub "!PREFIX__scope_declarator:sym<my>"  :subid("136_1274853038.58734") :method
 .annotate 'line', 4
-    $P555 = self."!PREFIX__!subrule"("scoped", "my")
-    new $P556, "ResizablePMCArray"
-    push $P556, $P555
-    .return ($P556)
+    $P560 = self."!PREFIX__!subrule"("scoped", "my")
+    new $P561, "ResizablePMCArray"
+    push $P561, $P560
+    .return ($P561)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "scope_declarator:sym<our>"  :subid("135_1274800460.92525") :method :outer("11_1274800460.92525")
+.sub "scope_declarator:sym<our>"  :subid("137_1274853038.58734") :method :outer("11_1274853038.58734")
 .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 ", "scope_declarator:sym<our>")
-    .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', 270
+    .local string rx565_tgt
+    .local int rx565_pos
+    .local int rx565_off
+    .local int rx565_eos
+    .local int rx565_rep
+    .local pmc rx565_cur
+    (rx565_cur, rx565_pos, rx565_tgt) = self."!cursor_start"()
+    rx565_cur."!cursor_debug"("START ", "scope_declarator:sym<our>")
+    .lex unicode:"$\x{a2}", rx565_cur
+    .local pmc match
+    .lex "$/", match
+    length rx565_eos, rx565_tgt
+    set rx565_off, 0
+    lt rx565_pos, 2, rx565_start
+    sub rx565_off, rx565_pos, 1
+    substr rx565_tgt, rx565_tgt, rx565_off
+  rx565_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan569_done
+    goto rxscan569_scan
+  rxscan569_loop:
+    ($P10) = rx565_cur."from"()
+    inc $P10
+    set rx565_pos, $P10
+    ge rx565_pos, rx565_eos, rxscan569_done
+  rxscan569_scan:
+    set_addr $I10, rxscan569_loop
+    rx565_cur."!mark_push"(0, rx565_pos, $I10)
+  rxscan569_done:
+.annotate 'line', 272
   # rx subcapture "sym"
-    set_addr $I10, rxcap_565_fail
-    rx560_cur."!mark_push"(0, rx560_pos, $I10)
+    set_addr $I10, rxcap_570_fail
+    rx565_cur."!mark_push"(0, rx565_pos, $I10)
   # rx literal  "our"
-    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, "our", 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, rx565_pos, 3
+    gt $I11, rx565_eos, rx565_fail
+    sub $I11, rx565_pos, rx565_off
+    substr $S10, rx565_tgt, $I11, 3
+    ne $S10, "our", rx565_fail
+    add rx565_pos, 3
+    set_addr $I10, rxcap_570_fail
+    ($I12, $I11) = rx565_cur."!mark_peek"($I10)
+    rx565_cur."!cursor_pos"($I11)
+    ($P10) = rx565_cur."!cursor_start"()
+    $P10."!cursor_pass"(rx565_pos, "")
+    rx565_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_570_done
+  rxcap_570_fail:
+    goto rx565_fail
+  rxcap_570_done:
   # rx subrule "scoped" subtype=capture negate=
-    rx560_cur."!cursor_pos"(rx560_pos)
-    $P10 = rx560_cur."scoped"("our")
-    unless $P10, rx560_fail
-    rx560_cur."!mark_push"(0, -1, 0, $P10)
+    rx565_cur."!cursor_pos"(rx565_pos)
+    $P10 = rx565_cur."scoped"("our")
+    unless $P10, rx565_fail
+    rx565_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("scoped")
-    rx560_pos = $P10."pos"()
+    rx565_pos = $P10."pos"()
   # rx pass
-    rx560_cur."!cursor_pass"(rx560_pos, "scope_declarator:sym<our>")
-    rx560_cur."!cursor_debug"("PASS  ", "scope_declarator:sym<our>", " at pos=", rx560_pos)
-    .return (rx560_cur)
-  rx560_fail:
+    rx565_cur."!cursor_pass"(rx565_pos, "scope_declarator:sym<our>")
+    rx565_cur."!cursor_debug"("PASS  ", "scope_declarator:sym<our>", " at pos=", rx565_pos)
+    .return (rx565_cur)
+  rx565_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
+    (rx565_rep, rx565_pos, $I10, $P10) = rx565_cur."!mark_fail"(0)
+    lt rx565_pos, -1, rx565_done
+    eq rx565_pos, -1, rx565_fail
     jump $I10
-  rx560_done:
-    rx560_cur."!cursor_fail"()
-    rx560_cur."!cursor_debug"("FAIL  ", "scope_declarator:sym<our>")
-    .return (rx560_cur)
+  rx565_done:
+    rx565_cur."!cursor_fail"()
+    rx565_cur."!cursor_debug"("FAIL  ", "scope_declarator:sym<our>")
+    .return (rx565_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__scope_declarator:sym<our>"  :subid("136_1274800460.92525") :method
+.sub "!PREFIX__scope_declarator:sym<our>"  :subid("138_1274853038.58734") :method
 .annotate 'line', 4
-    $P562 = self."!PREFIX__!subrule"("scoped", "our")
-    new $P563, "ResizablePMCArray"
-    push $P563, $P562
-    .return ($P563)
+    $P567 = self."!PREFIX__!subrule"("scoped", "our")
+    new $P568, "ResizablePMCArray"
+    push $P568, $P567
+    .return ($P568)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "scope_declarator:sym<has>"  :subid("137_1274800460.92525") :method :outer("11_1274800460.92525")
+.sub "scope_declarator:sym<has>"  :subid("139_1274853038.58734") :method :outer("11_1274853038.58734")
 .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 ", "scope_declarator:sym<has>")
-    .lex unicode:"$\x{a2}", rx567_cur
+    .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 ", "scope_declarator:sym<has>")
+    .lex unicode:"$\x{a2}", rx572_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:
+    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, rxscan571_done
-    goto rxscan571_scan
-  rxscan571_loop:
-    ($P10) = rx567_cur."from"()
+    ne $I10, -1, rxscan576_done
+    goto rxscan576_scan
+  rxscan576_loop:
+    ($P10) = rx572_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', 271
+    set rx572_pos, $P10
+    ge rx572_pos, rx572_eos, rxscan576_done
+  rxscan576_scan:
+    set_addr $I10, rxscan576_loop
+    rx572_cur."!mark_push"(0, rx572_pos, $I10)
+  rxscan576_done:
+.annotate 'line', 273
   # rx subcapture "sym"
-    set_addr $I10, rxcap_572_fail
-    rx567_cur."!mark_push"(0, rx567_pos, $I10)
+    set_addr $I10, rxcap_577_fail
+    rx572_cur."!mark_push"(0, rx572_pos, $I10)
   # rx literal  "has"
-    add $I11, rx567_pos, 3
-    gt $I11, rx567_eos, rx567_fail
-    sub $I11, rx567_pos, rx567_off
-    substr $S10, rx567_tgt, $I11, 3
-    ne $S10, "has", rx567_fail
-    add rx567_pos, 3
-    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, rx572_pos, 3
+    gt $I11, rx572_eos, rx572_fail
+    sub $I11, rx572_pos, rx572_off
+    substr $S10, rx572_tgt, $I11, 3
+    ne $S10, "has", rx572_fail
+    add rx572_pos, 3
+    set_addr $I10, rxcap_577_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)
     $P10."!cursor_names"("sym")
-    goto rxcap_572_done
-  rxcap_572_fail:
-    goto rx567_fail
-  rxcap_572_done:
+    goto rxcap_577_done
+  rxcap_577_fail:
+    goto rx572_fail
+  rxcap_577_done:
   # rx subrule "scoped" subtype=capture negate=
-    rx567_cur."!cursor_pos"(rx567_pos)
-    $P10 = rx567_cur."scoped"("has")
-    unless $P10, rx567_fail
-    rx567_cur."!mark_push"(0, -1, 0, $P10)
+    rx572_cur."!cursor_pos"(rx572_pos)
+    $P10 = rx572_cur."scoped"("has")
+    unless $P10, rx572_fail
+    rx572_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("scoped")
-    rx567_pos = $P10."pos"()
+    rx572_pos = $P10."pos"()
   # rx pass
-    rx567_cur."!cursor_pass"(rx567_pos, "scope_declarator:sym<has>")
-    rx567_cur."!cursor_debug"("PASS  ", "scope_declarator:sym<has>", " at pos=", rx567_pos)
-    .return (rx567_cur)
-  rx567_fail:
+    rx572_cur."!cursor_pass"(rx572_pos, "scope_declarator:sym<has>")
+    rx572_cur."!cursor_debug"("PASS  ", "scope_declarator:sym<has>", " at pos=", rx572_pos)
+    .return (rx572_cur)
+  rx572_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
+    (rx572_rep, rx572_pos, $I10, $P10) = rx572_cur."!mark_fail"(0)
+    lt rx572_pos, -1, rx572_done
+    eq rx572_pos, -1, rx572_fail
     jump $I10
-  rx567_done:
-    rx567_cur."!cursor_fail"()
-    rx567_cur."!cursor_debug"("FAIL  ", "scope_declarator:sym<has>")
-    .return (rx567_cur)
+  rx572_done:
+    rx572_cur."!cursor_fail"()
+    rx572_cur."!cursor_debug"("FAIL  ", "scope_declarator:sym<has>")
+    .return (rx572_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__scope_declarator:sym<has>"  :subid("138_1274800460.92525") :method
+.sub "!PREFIX__scope_declarator:sym<has>"  :subid("140_1274853038.58734") :method
 .annotate 'line', 4
-    $P569 = self."!PREFIX__!subrule"("scoped", "has")
-    new $P570, "ResizablePMCArray"
-    push $P570, $P569
-    .return ($P570)
+    $P574 = self."!PREFIX__!subrule"("scoped", "has")
+    new $P575, "ResizablePMCArray"
+    push $P575, $P574
+    .return ($P575)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "scoped"  :subid("139_1274800460.92525") :method :outer("11_1274800460.92525")
-    .param pmc param_574
-.annotate 'line', 273
-    .lex "$*SCOPE", param_574
+.sub "scoped"  :subid("141_1274853038.58734") :method :outer("11_1274853038.58734")
+    .param pmc param_579
+.annotate 'line', 275
+    .lex "$*SCOPE", param_579
 .annotate 'line', 4
-    .local string rx575_tgt
-    .local int rx575_pos
-    .local int rx575_off
-    .local int rx575_eos
-    .local int rx575_rep
-    .local pmc rx575_cur
-    (rx575_cur, rx575_pos, rx575_tgt) = self."!cursor_start"()
-    rx575_cur."!cursor_debug"("START ", "scoped")
-    rx575_cur."!cursor_caparray"("typename")
-    .lex unicode:"$\x{a2}", rx575_cur
-    .local pmc match
-    .lex "$/", match
-    length rx575_eos, rx575_tgt
-    set rx575_off, 0
-    lt rx575_pos, 2, rx575_start
-    sub rx575_off, rx575_pos, 1
-    substr rx575_tgt, rx575_tgt, rx575_off
-  rx575_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan578_done
-    goto rxscan578_scan
-  rxscan578_loop:
-    ($P10) = rx575_cur."from"()
-    inc $P10
-    set rx575_pos, $P10
-    ge rx575_pos, rx575_eos, rxscan578_done
-  rxscan578_scan:
-    set_addr $I10, rxscan578_loop
-    rx575_cur."!mark_push"(0, rx575_pos, $I10)
-  rxscan578_done:
-  alt579_0:
-.annotate 'line', 273
-    set_addr $I10, alt579_1
-    rx575_cur."!mark_push"(0, rx575_pos, $I10)
-.annotate 'line', 274
-  # rx subrule "ws" subtype=method negate=
-    rx575_cur."!cursor_pos"(rx575_pos)
-    $P10 = rx575_cur."ws"()
-    unless $P10, rx575_fail
-    rx575_pos = $P10."pos"()
+    .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 ", "scoped")
+    rx580_cur."!cursor_caparray"("typename")
+    .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, rxscan583_done
+    goto rxscan583_scan
+  rxscan583_loop:
+    ($P10) = rx580_cur."from"()
+    inc $P10
+    set rx580_pos, $P10
+    ge rx580_pos, rx580_eos, rxscan583_done
+  rxscan583_scan:
+    set_addr $I10, rxscan583_loop
+    rx580_cur."!mark_push"(0, rx580_pos, $I10)
+  rxscan583_done:
+  alt584_0:
+.annotate 'line', 275
+    set_addr $I10, alt584_1
+    rx580_cur."!mark_push"(0, rx580_pos, $I10)
+.annotate 'line', 276
+  # rx subrule "ws" subtype=method negate=
+    rx580_cur."!cursor_pos"(rx580_pos)
+    $P10 = rx580_cur."ws"()
+    unless $P10, rx580_fail
+    rx580_pos = $P10."pos"()
   # rx subrule "declarator" subtype=capture negate=
-    rx575_cur."!cursor_pos"(rx575_pos)
-    $P10 = rx575_cur."declarator"()
-    unless $P10, rx575_fail
-    rx575_cur."!mark_push"(0, -1, 0, $P10)
+    rx580_cur."!cursor_pos"(rx580_pos)
+    $P10 = rx580_cur."declarator"()
+    unless $P10, rx580_fail
+    rx580_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("declarator")
-    rx575_pos = $P10."pos"()
+    rx580_pos = $P10."pos"()
   # rx subrule "ws" subtype=method negate=
-    rx575_cur."!cursor_pos"(rx575_pos)
-    $P10 = rx575_cur."ws"()
-    unless $P10, rx575_fail
-    rx575_pos = $P10."pos"()
-    goto alt579_end
-  alt579_1:
-.annotate 'line', 275
+    rx580_cur."!cursor_pos"(rx580_pos)
+    $P10 = rx580_cur."ws"()
+    unless $P10, rx580_fail
+    rx580_pos = $P10."pos"()
+    goto alt584_end
+  alt584_1:
+.annotate 'line', 277
   # rx subrule "ws" subtype=method negate=
-    rx575_cur."!cursor_pos"(rx575_pos)
-    $P10 = rx575_cur."ws"()
-    unless $P10, rx575_fail
-    rx575_pos = $P10."pos"()
-  # rx rxquantr583 ** 1..*
-    set_addr $I584, rxquantr583_done
-    rx575_cur."!mark_push"(0, -1, $I584)
-  rxquantr583_loop:
+    rx580_cur."!cursor_pos"(rx580_pos)
+    $P10 = rx580_cur."ws"()
+    unless $P10, rx580_fail
+    rx580_pos = $P10."pos"()
+  # rx rxquantr588 ** 1..*
+    set_addr $I589, rxquantr588_done
+    rx580_cur."!mark_push"(0, -1, $I589)
+  rxquantr588_loop:
   # rx subrule "typename" subtype=capture negate=
-    rx575_cur."!cursor_pos"(rx575_pos)
-    $P10 = rx575_cur."typename"()
-    unless $P10, rx575_fail
-    rx575_cur."!mark_push"(0, -1, 0, $P10)
+    rx580_cur."!cursor_pos"(rx580_pos)
+    $P10 = rx580_cur."typename"()
+    unless $P10, rx580_fail
+    rx580_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("typename")
-    rx575_pos = $P10."pos"()
-    (rx575_rep) = rx575_cur."!mark_commit"($I584)
-    rx575_cur."!mark_push"(rx575_rep, rx575_pos, $I584)
-    goto rxquantr583_loop
-  rxquantr583_done:
-  # rx subrule "ws" subtype=method negate=
-    rx575_cur."!cursor_pos"(rx575_pos)
-    $P10 = rx575_cur."ws"()
-    unless $P10, rx575_fail
-    rx575_pos = $P10."pos"()
+    rx580_pos = $P10."pos"()
+    (rx580_rep) = rx580_cur."!mark_commit"($I589)
+    rx580_cur."!mark_push"(rx580_rep, rx580_pos, $I589)
+    goto rxquantr588_loop
+  rxquantr588_done:
+  # rx subrule "ws" subtype=method negate=
+    rx580_cur."!cursor_pos"(rx580_pos)
+    $P10 = rx580_cur."ws"()
+    unless $P10, rx580_fail
+    rx580_pos = $P10."pos"()
   # rx subrule "declarator" subtype=capture negate=
-    rx575_cur."!cursor_pos"(rx575_pos)
-    $P10 = rx575_cur."declarator"()
-    unless $P10, rx575_fail
-    rx575_cur."!mark_push"(0, -1, 0, $P10)
+    rx580_cur."!cursor_pos"(rx580_pos)
+    $P10 = rx580_cur."declarator"()
+    unless $P10, rx580_fail
+    rx580_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("declarator")
-    rx575_pos = $P10."pos"()
+    rx580_pos = $P10."pos"()
   # rx subrule "ws" subtype=method negate=
-    rx575_cur."!cursor_pos"(rx575_pos)
-    $P10 = rx575_cur."ws"()
-    unless $P10, rx575_fail
-    rx575_pos = $P10."pos"()
-  alt579_end:
-.annotate 'line', 273
+    rx580_cur."!cursor_pos"(rx580_pos)
+    $P10 = rx580_cur."ws"()
+    unless $P10, rx580_fail
+    rx580_pos = $P10."pos"()
+  alt584_end:
+.annotate 'line', 275
   # rx pass
-    rx575_cur."!cursor_pass"(rx575_pos, "scoped")
-    rx575_cur."!cursor_debug"("PASS  ", "scoped", " at pos=", rx575_pos)
-    .return (rx575_cur)
-  rx575_fail:
+    rx580_cur."!cursor_pass"(rx580_pos, "scoped")
+    rx580_cur."!cursor_debug"("PASS  ", "scoped", " at pos=", rx580_pos)
+    .return (rx580_cur)
+  rx580_fail:
 .annotate 'line', 4
-    (rx575_rep, rx575_pos, $I10, $P10) = rx575_cur."!mark_fail"(0)
-    lt rx575_pos, -1, rx575_done
-    eq rx575_pos, -1, rx575_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
-  rx575_done:
-    rx575_cur."!cursor_fail"()
-    rx575_cur."!cursor_debug"("FAIL  ", "scoped")
-    .return (rx575_cur)
+  rx580_done:
+    rx580_cur."!cursor_fail"()
+    rx580_cur."!cursor_debug"("FAIL  ", "scoped")
+    .return (rx580_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__scoped"  :subid("140_1274800460.92525") :method
+.sub "!PREFIX__scoped"  :subid("142_1274853038.58734") :method
 .annotate 'line', 4
-    new $P577, "ResizablePMCArray"
-    push $P577, ""
-    push $P577, ""
-    .return ($P577)
+    new $P582, "ResizablePMCArray"
+    push $P582, ""
+    push $P582, ""
+    .return ($P582)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "typename"  :subid("141_1274800460.92525") :method :outer("11_1274800460.92525")
+.sub "typename"  :subid("143_1274853038.58734") :method :outer("11_1274853038.58734")
 .annotate 'line', 4
-    .local string rx588_tgt
-    .local int rx588_pos
-    .local int rx588_off
-    .local int rx588_eos
-    .local int rx588_rep
-    .local pmc rx588_cur
-    (rx588_cur, rx588_pos, rx588_tgt) = self."!cursor_start"()
-    rx588_cur."!cursor_debug"("START ", "typename")
-    .lex unicode:"$\x{a2}", rx588_cur
+    .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 ", "typename")
+    .lex unicode:"$\x{a2}", rx593_cur
     .local pmc match
     .lex "$/", match
-    length rx588_eos, rx588_tgt
-    set rx588_off, 0
-    lt rx588_pos, 2, rx588_start
-    sub rx588_off, rx588_pos, 1
-    substr rx588_tgt, rx588_tgt, rx588_off
-  rx588_start:
+    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, rxscan592_done
-    goto rxscan592_scan
-  rxscan592_loop:
-    ($P10) = rx588_cur."from"()
+    ne $I10, -1, rxscan597_done
+    goto rxscan597_scan
+  rxscan597_loop:
+    ($P10) = rx593_cur."from"()
     inc $P10
-    set rx588_pos, $P10
-    ge rx588_pos, rx588_eos, rxscan592_done
-  rxscan592_scan:
-    set_addr $I10, rxscan592_loop
-    rx588_cur."!mark_push"(0, rx588_pos, $I10)
-  rxscan592_done:
-.annotate 'line', 278
+    set rx593_pos, $P10
+    ge rx593_pos, rx593_eos, rxscan597_done
+  rxscan597_scan:
+    set_addr $I10, rxscan597_loop
+    rx593_cur."!mark_push"(0, rx593_pos, $I10)
+  rxscan597_done:
+.annotate 'line', 280
   # rx subrule "name" subtype=capture negate=
-    rx588_cur."!cursor_pos"(rx588_pos)
-    $P10 = rx588_cur."name"()
-    unless $P10, rx588_fail
-    rx588_cur."!mark_push"(0, -1, 0, $P10)
+    rx593_cur."!cursor_pos"(rx593_pos)
+    $P10 = rx593_cur."name"()
+    unless $P10, rx593_fail
+    rx593_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("name")
-    rx588_pos = $P10."pos"()
+    rx593_pos = $P10."pos"()
   # rx pass
-    rx588_cur."!cursor_pass"(rx588_pos, "typename")
-    rx588_cur."!cursor_debug"("PASS  ", "typename", " at pos=", rx588_pos)
-    .return (rx588_cur)
-  rx588_fail:
+    rx593_cur."!cursor_pass"(rx593_pos, "typename")
+    rx593_cur."!cursor_debug"("PASS  ", "typename", " at pos=", rx593_pos)
+    .return (rx593_cur)
+  rx593_fail:
 .annotate 'line', 4
-    (rx588_rep, rx588_pos, $I10, $P10) = rx588_cur."!mark_fail"(0)
-    lt rx588_pos, -1, rx588_done
-    eq rx588_pos, -1, rx588_fail
+    (rx593_rep, rx593_pos, $I10, $P10) = rx593_cur."!mark_fail"(0)
+    lt rx593_pos, -1, rx593_done
+    eq rx593_pos, -1, rx593_fail
     jump $I10
-  rx588_done:
-    rx588_cur."!cursor_fail"()
-    rx588_cur."!cursor_debug"("FAIL  ", "typename")
-    .return (rx588_cur)
+  rx593_done:
+    rx593_cur."!cursor_fail"()
+    rx593_cur."!cursor_debug"("FAIL  ", "typename")
+    .return (rx593_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__typename"  :subid("142_1274800460.92525") :method
+.sub "!PREFIX__typename"  :subid("144_1274853038.58734") :method
 .annotate 'line', 4
-    $P590 = self."!PREFIX__!subrule"("name", "")
-    new $P591, "ResizablePMCArray"
-    push $P591, $P590
-    .return ($P591)
+    $P595 = self."!PREFIX__!subrule"("name", "")
+    new $P596, "ResizablePMCArray"
+    push $P596, $P595
+    .return ($P596)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "declarator"  :subid("143_1274800460.92525") :method :outer("11_1274800460.92525")
+.sub "declarator"  :subid("145_1274853038.58734") :method :outer("11_1274853038.58734")
 .annotate 'line', 4
-    .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 ", "declarator")
-    .lex unicode:"$\x{a2}", rx594_cur
+    .local string rx599_tgt
+    .local int rx599_pos
+    .local int rx599_off
+    .local int rx599_eos
+    .local int rx599_rep
+    .local pmc rx599_cur
+    (rx599_cur, rx599_pos, rx599_tgt) = self."!cursor_start"()
+    rx599_cur."!cursor_debug"("START ", "declarator")
+    .lex unicode:"$\x{a2}", rx599_cur
     .local pmc match
     .lex "$/", match
-    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:
+    length rx599_eos, rx599_tgt
+    set rx599_off, 0
+    lt rx599_pos, 2, rx599_start
+    sub rx599_off, rx599_pos, 1
+    substr rx599_tgt, rx599_tgt, rx599_off
+  rx599_start:
     $I10 = self.'from'()
-    ne $I10, -1, rxscan599_done
-    goto rxscan599_scan
-  rxscan599_loop:
-    ($P10) = rx594_cur."from"()
+    ne $I10, -1, rxscan604_done
+    goto rxscan604_scan
+  rxscan604_loop:
+    ($P10) = rx599_cur."from"()
     inc $P10
-    set rx594_pos, $P10
-    ge rx594_pos, rx594_eos, rxscan599_done
-  rxscan599_scan:
-    set_addr $I10, rxscan599_loop
-    rx594_cur."!mark_push"(0, rx594_pos, $I10)
-  rxscan599_done:
-  alt600_0:
-.annotate 'line', 280
-    set_addr $I10, alt600_1
-    rx594_cur."!mark_push"(0, rx594_pos, $I10)
-.annotate 'line', 281
+    set rx599_pos, $P10
+    ge rx599_pos, rx599_eos, rxscan604_done
+  rxscan604_scan:
+    set_addr $I10, rxscan604_loop
+    rx599_cur."!mark_push"(0, rx599_pos, $I10)
+  rxscan604_done:
+  alt605_0:
+.annotate 'line', 282
+    set_addr $I10, alt605_1
+    rx599_cur."!mark_push"(0, rx599_pos, $I10)
+.annotate 'line', 283
   # rx subrule "variable_declarator" subtype=capture negate=
-    rx594_cur."!cursor_pos"(rx594_pos)
-    $P10 = rx594_cur."variable_declarator"()
-    unless $P10, rx594_fail
-    rx594_cur."!mark_push"(0, -1, 0, $P10)
+    rx599_cur."!cursor_pos"(rx599_pos)
+    $P10 = rx599_cur."variable_declarator"()
+    unless $P10, rx599_fail
+    rx599_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("variable_declarator")
-    rx594_pos = $P10."pos"()
-    goto alt600_end
-  alt600_1:
-.annotate 'line', 282
+    rx599_pos = $P10."pos"()
+    goto alt605_end
+  alt605_1:
+.annotate 'line', 284
   # rx subrule "routine_declarator" subtype=capture negate=
-    rx594_cur."!cursor_pos"(rx594_pos)
-    $P10 = rx594_cur."routine_declarator"()
-    unless $P10, rx594_fail
-    rx594_cur."!mark_push"(0, -1, 0, $P10)
+    rx599_cur."!cursor_pos"(rx599_pos)
+    $P10 = rx599_cur."routine_declarator"()
+    unless $P10, rx599_fail
+    rx599_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("routine_declarator")
-    rx594_pos = $P10."pos"()
-  alt600_end:
-.annotate 'line', 280
+    rx599_pos = $P10."pos"()
+  alt605_end:
+.annotate 'line', 282
   # rx pass
-    rx594_cur."!cursor_pass"(rx594_pos, "declarator")
-    rx594_cur."!cursor_debug"("PASS  ", "declarator", " at pos=", rx594_pos)
-    .return (rx594_cur)
-  rx594_fail:
+    rx599_cur."!cursor_pass"(rx599_pos, "declarator")
+    rx599_cur."!cursor_debug"("PASS  ", "declarator", " at pos=", rx599_pos)
+    .return (rx599_cur)
+  rx599_fail:
 .annotate 'line', 4
-    (rx594_rep, rx594_pos, $I10, $P10) = rx594_cur."!mark_fail"(0)
-    lt rx594_pos, -1, rx594_done
-    eq rx594_pos, -1, rx594_fail
+    (rx599_rep, rx599_pos, $I10, $P10) = rx599_cur."!mark_fail"(0)
+    lt rx599_pos, -1, rx599_done
+    eq rx599_pos, -1, rx599_fail
     jump $I10
-  rx594_done:
-    rx594_cur."!cursor_fail"()
-    rx594_cur."!cursor_debug"("FAIL  ", "declarator")
-    .return (rx594_cur)
+  rx599_done:
+    rx599_cur."!cursor_fail"()
+    rx599_cur."!cursor_debug"("FAIL  ", "declarator")
+    .return (rx599_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__declarator"  :subid("144_1274800460.92525") :method
+.sub "!PREFIX__declarator"  :subid("146_1274853038.58734") :method
 .annotate 'line', 4
-    $P596 = self."!PREFIX__!subrule"("routine_declarator", "")
-    $P597 = self."!PREFIX__!subrule"("variable_declarator", "")
-    new $P598, "ResizablePMCArray"
-    push $P598, $P596
-    push $P598, $P597
-    .return ($P598)
+    $P601 = self."!PREFIX__!subrule"("routine_declarator", "")
+    $P602 = self."!PREFIX__!subrule"("variable_declarator", "")
+    new $P603, "ResizablePMCArray"
+    push $P603, $P601
+    push $P603, $P602
+    .return ($P603)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "variable_declarator"  :subid("145_1274800460.92525") :method :outer("11_1274800460.92525")
+.sub "variable_declarator"  :subid("147_1274853038.58734") :method :outer("11_1274853038.58734")
 .annotate 'line', 4
-    .local string rx602_tgt
-    .local int rx602_pos
-    .local int rx602_off
-    .local int rx602_eos
-    .local int rx602_rep
-    .local pmc rx602_cur
-    (rx602_cur, rx602_pos, rx602_tgt) = self."!cursor_start"()
-    rx602_cur."!cursor_debug"("START ", "variable_declarator")
-    .lex unicode:"$\x{a2}", rx602_cur
+    .local string rx607_tgt
+    .local int rx607_pos
+    .local int rx607_off
+    .local int rx607_eos
+    .local int rx607_rep
+    .local pmc rx607_cur
+    (rx607_cur, rx607_pos, rx607_tgt) = self."!cursor_start"()
+    rx607_cur."!cursor_debug"("START ", "variable_declarator")
+    .lex unicode:"$\x{a2}", rx607_cur
     .local pmc match
     .lex "$/", match
-    length rx602_eos, rx602_tgt
-    set rx602_off, 0
-    lt rx602_pos, 2, rx602_start
-    sub rx602_off, rx602_pos, 1
-    substr rx602_tgt, rx602_tgt, rx602_off
-  rx602_start:
+    length rx607_eos, rx607_tgt
+    set rx607_off, 0
+    lt rx607_pos, 2, rx607_start
+    sub rx607_off, rx607_pos, 1
+    substr rx607_tgt, rx607_tgt, rx607_off
+  rx607_start:
     $I10 = self.'from'()
-    ne $I10, -1, rxscan606_done
-    goto rxscan606_scan
-  rxscan606_loop:
-    ($P10) = rx602_cur."from"()
+    ne $I10, -1, rxscan611_done
+    goto rxscan611_scan
+  rxscan611_loop:
+    ($P10) = rx607_cur."from"()
     inc $P10
-    set rx602_pos, $P10
-    ge rx602_pos, rx602_eos, rxscan606_done
-  rxscan606_scan:
-    set_addr $I10, rxscan606_loop
-    rx602_cur."!mark_push"(0, rx602_pos, $I10)
-  rxscan606_done:
-.annotate 'line', 285
+    set rx607_pos, $P10
+    ge rx607_pos, rx607_eos, rxscan611_done
+  rxscan611_scan:
+    set_addr $I10, rxscan611_loop
+    rx607_cur."!mark_push"(0, rx607_pos, $I10)
+  rxscan611_done:
+.annotate 'line', 287
   # rx subrule "variable" subtype=capture negate=
-    rx602_cur."!cursor_pos"(rx602_pos)
-    $P10 = rx602_cur."variable"()
-    unless $P10, rx602_fail
-    rx602_cur."!mark_push"(0, -1, 0, $P10)
+    rx607_cur."!cursor_pos"(rx607_pos)
+    $P10 = rx607_cur."variable"()
+    unless $P10, rx607_fail
+    rx607_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("variable")
-    rx602_pos = $P10."pos"()
+    rx607_pos = $P10."pos"()
   # rx pass
-    rx602_cur."!cursor_pass"(rx602_pos, "variable_declarator")
-    rx602_cur."!cursor_debug"("PASS  ", "variable_declarator", " at pos=", rx602_pos)
-    .return (rx602_cur)
-  rx602_fail:
+    rx607_cur."!cursor_pass"(rx607_pos, "variable_declarator")
+    rx607_cur."!cursor_debug"("PASS  ", "variable_declarator", " at pos=", rx607_pos)
+    .return (rx607_cur)
+  rx607_fail:
 .annotate 'line', 4
-    (rx602_rep, rx602_pos, $I10, $P10) = rx602_cur."!mark_fail"(0)
-    lt rx602_pos, -1, rx602_done
-    eq rx602_pos, -1, rx602_fail
+    (rx607_rep, rx607_pos, $I10, $P10) = rx607_cur."!mark_fail"(0)
+    lt rx607_pos, -1, rx607_done
+    eq rx607_pos, -1, rx607_fail
     jump $I10
-  rx602_done:
-    rx602_cur."!cursor_fail"()
-    rx602_cur."!cursor_debug"("FAIL  ", "variable_declarator")
-    .return (rx602_cur)
+  rx607_done:
+    rx607_cur."!cursor_fail"()
+    rx607_cur."!cursor_debug"("FAIL  ", "variable_declarator")
+    .return (rx607_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__variable_declarator"  :subid("146_1274800460.92525") :method
+.sub "!PREFIX__variable_declarator"  :subid("148_1274853038.58734") :method
 .annotate 'line', 4
-    $P604 = self."!PREFIX__!subrule"("variable", "")
-    new $P605, "ResizablePMCArray"
-    push $P605, $P604
-    .return ($P605)
+    $P609 = self."!PREFIX__!subrule"("variable", "")
+    new $P610, "ResizablePMCArray"
+    push $P610, $P609
+    .return ($P610)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "routine_declarator"  :subid("147_1274800460.92525") :method
-.annotate 'line', 287
-    $P608 = self."!protoregex"("routine_declarator")
-    .return ($P608)
+.sub "routine_declarator"  :subid("149_1274853038.58734") :method
+.annotate 'line', 289
+    $P613 = self."!protoregex"("routine_declarator")
+    .return ($P613)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__routine_declarator"  :subid("148_1274800460.92525") :method
-.annotate 'line', 287
-    $P610 = self."!PREFIX__!protoregex"("routine_declarator")
-    .return ($P610)
+.sub "!PREFIX__routine_declarator"  :subid("150_1274853038.58734") :method
+.annotate 'line', 289
+    $P615 = self."!PREFIX__!protoregex"("routine_declarator")
+    .return ($P615)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "routine_declarator:sym<sub>"  :subid("149_1274800460.92525") :method :outer("11_1274800460.92525")
+.sub "routine_declarator:sym<sub>"  :subid("151_1274853038.58734") :method :outer("11_1274853038.58734")
 .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 ", "routine_declarator:sym<sub>")
-    .lex unicode:"$\x{a2}", rx612_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:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan616_done
-    goto rxscan616_scan
-  rxscan616_loop:
-    ($P10) = rx612_cur."from"()
-    inc $P10
-    set rx612_pos, $P10
-    ge rx612_pos, rx612_eos, rxscan616_done
-  rxscan616_scan:
-    set_addr $I10, rxscan616_loop
-    rx612_cur."!mark_push"(0, rx612_pos, $I10)
-  rxscan616_done:
-.annotate 'line', 288
+    .local string rx617_tgt
+    .local int rx617_pos
+    .local int rx617_off
+    .local int rx617_eos
+    .local int rx617_rep
+    .local pmc rx617_cur
+    (rx617_cur, rx617_pos, rx617_tgt) = self."!cursor_start"()
+    rx617_cur."!cursor_debug"("START ", "routine_declarator:sym<sub>")
+    .lex unicode:"$\x{a2}", rx617_cur
+    .local pmc match
+    .lex "$/", match
+    length rx617_eos, rx617_tgt
+    set rx617_off, 0
+    lt rx617_pos, 2, rx617_start
+    sub rx617_off, rx617_pos, 1
+    substr rx617_tgt, rx617_tgt, rx617_off
+  rx617_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan621_done
+    goto rxscan621_scan
+  rxscan621_loop:
+    ($P10) = rx617_cur."from"()
+    inc $P10
+    set rx617_pos, $P10
+    ge rx617_pos, rx617_eos, rxscan621_done
+  rxscan621_scan:
+    set_addr $I10, rxscan621_loop
+    rx617_cur."!mark_push"(0, rx617_pos, $I10)
+  rxscan621_done:
+.annotate 'line', 290
   # rx subcapture "sym"
-    set_addr $I10, rxcap_617_fail
-    rx612_cur."!mark_push"(0, rx612_pos, $I10)
+    set_addr $I10, rxcap_622_fail
+    rx617_cur."!mark_push"(0, rx617_pos, $I10)
   # rx literal  "sub"
-    add $I11, rx612_pos, 3
-    gt $I11, rx612_eos, rx612_fail
-    sub $I11, rx612_pos, rx612_off
-    substr $S10, rx612_tgt, $I11, 3
-    ne $S10, "sub", rx612_fail
-    add rx612_pos, 3
-    set_addr $I10, rxcap_617_fail
-    ($I12, $I11) = rx612_cur."!mark_peek"($I10)
-    rx612_cur."!cursor_pos"($I11)
-    ($P10) = rx612_cur."!cursor_start"()
-    $P10."!cursor_pass"(rx612_pos, "")
-    rx612_cur."!mark_push"(0, -1, 0, $P10)
+    add $I11, rx617_pos, 3
+    gt $I11, rx617_eos, rx617_fail
+    sub $I11, rx617_pos, rx617_off
+    substr $S10, rx617_tgt, $I11, 3
+    ne $S10, "sub", rx617_fail
+    add rx617_pos, 3
+    set_addr $I10, rxcap_622_fail
+    ($I12, $I11) = rx617_cur."!mark_peek"($I10)
+    rx617_cur."!cursor_pos"($I11)
+    ($P10) = rx617_cur."!cursor_start"()
+    $P10."!cursor_pass"(rx617_pos, "")
+    rx617_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("sym")
-    goto rxcap_617_done
-  rxcap_617_fail:
-    goto rx612_fail
-  rxcap_617_done:
+    goto rxcap_622_done
+  rxcap_622_fail:
+    goto rx617_fail
+  rxcap_622_done:
   # rx subrule "routine_def" subtype=capture negate=
-    rx612_cur."!cursor_pos"(rx612_pos)
-    $P10 = rx612_cur."routine_def"()
-    unless $P10, rx612_fail
-    rx612_cur."!mark_push"(0, -1, 0, $P10)
+    rx617_cur."!cursor_pos"(rx617_pos)
+    $P10 = rx617_cur."routine_def"()
+    unless $P10, rx617_fail
+    rx617_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("routine_def")
-    rx612_pos = $P10."pos"()
+    rx617_pos = $P10."pos"()
   # rx pass
-    rx612_cur."!cursor_pass"(rx612_pos, "routine_declarator:sym<sub>")
-    rx612_cur."!cursor_debug"("PASS  ", "routine_declarator:sym<sub>", " at pos=", rx612_pos)
-    .return (rx612_cur)
-  rx612_fail:
+    rx617_cur."!cursor_pass"(rx617_pos, "routine_declarator:sym<sub>")
+    rx617_cur."!cursor_debug"("PASS  ", "routine_declarator:sym<sub>", " at pos=", rx617_pos)
+    .return (rx617_cur)
+  rx617_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
+    (rx617_rep, rx617_pos, $I10, $P10) = rx617_cur."!mark_fail"(0)
+    lt rx617_pos, -1, rx617_done
+    eq rx617_pos, -1, rx617_fail
     jump $I10
-  rx612_done:
-    rx612_cur."!cursor_fail"()
-    rx612_cur."!cursor_debug"("FAIL  ", "routine_declarator:sym<sub>")
-    .return (rx612_cur)
+  rx617_done:
+    rx617_cur."!cursor_fail"()
+    rx617_cur."!cursor_debug"("FAIL  ", "routine_declarator:sym<sub>")
+    .return (rx617_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__routine_declarator:sym<sub>"  :subid("150_1274800460.92525") :method
+.sub "!PREFIX__routine_declarator:sym<sub>"  :subid("152_1274853038.58734") :method
 .annotate 'line', 4
-    $P614 = self."!PREFIX__!subrule"("routine_def", "sub")
-    new $P615, "ResizablePMCArray"
-    push $P615, $P614
-    .return ($P615)
+    $P619 = self."!PREFIX__!subrule"("routine_def", "sub")
+    new $P620, "ResizablePMCArray"
+    push $P620, $P619
+    .return ($P620)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "routine_declarator:sym<method>"  :subid("151_1274800460.92525") :method :outer("11_1274800460.92525")
+.sub "routine_declarator:sym<method>"  :subid("153_1274853038.58734") :method :outer("11_1274853038.58734")
 .annotate 'line', 4
-    .local string rx619_tgt
-    .local int rx619_pos
-    .local int rx619_off
-    .local int rx619_eos
-    .local int rx619_rep
-    .local pmc rx619_cur
-    (rx619_cur, rx619_pos, rx619_tgt) = self."!cursor_start"()
-    rx619_cur."!cursor_debug"("START ", "routine_declarator:sym<method>")
-    .lex unicode:"$\x{a2}", rx619_cur
-    .local pmc match
-    .lex "$/", match
-    length rx619_eos, rx619_tgt
-    set rx619_off, 0
-    lt rx619_pos, 2, rx619_start
-    sub rx619_off, rx619_pos, 1
-    substr rx619_tgt, rx619_tgt, rx619_off
-  rx619_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan623_done
-    goto rxscan623_scan
-  rxscan623_loop:
-    ($P10) = rx619_cur."from"()
-    inc $P10
-    set rx619_pos, $P10
-    ge rx619_pos, rx619_eos, rxscan623_done
-  rxscan623_scan:
-    set_addr $I10, rxscan623_loop
-    rx619_cur."!mark_push"(0, rx619_pos, $I10)
-  rxscan623_done:
-.annotate 'line', 289
+    .local string rx624_tgt
+    .local int rx624_pos
+    .local int rx624_off
+    .local int rx624_eos
+    .local int rx624_rep
+    .local pmc rx624_cur
+    (rx624_cur, rx624_pos, rx624_tgt) = self."!cursor_start"()
+    rx624_cur."!cursor_debug"("START ", "routine_declarator:sym<method>")
+    .lex unicode:"$\x{a2}", rx624_cur
+    .local pmc match
+    .lex "$/", match
+    length rx624_eos, rx624_tgt
+    set rx624_off, 0
+    lt rx624_pos, 2, rx624_start
+    sub rx624_off, rx624_pos, 1
+    substr rx624_tgt, rx624_tgt, rx624_off
+  rx624_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan628_done
+    goto rxscan628_scan
+  rxscan628_loop:
+    ($P10) = rx624_cur."from"()
+    inc $P10
+    set rx624_pos, $P10
+    ge rx624_pos, rx624_eos, rxscan628_done
+  rxscan628_scan:
+    set_addr $I10, rxscan628_loop
+    rx624_cur."!mark_push"(0, rx624_pos, $I10)
+  rxscan628_done:
+.annotate 'line', 291
   # rx subcapture "sym"
-    set_addr $I10, rxcap_624_fail
-    rx619_cur."!mark_push"(0, rx619_pos, $I10)
+    set_addr $I10, rxcap_629_fail
+    rx624_cur."!mark_push"(0, rx624_pos, $I10)
   # rx literal  "method"
-    add $I11, rx619_pos, 6
-    gt $I11, rx619_eos, rx619_fail
-    sub $I11, rx619_pos, rx619_off
-    substr $S10, rx619_tgt, $I11, 6
-    ne $S10, "method", rx619_fail
-    add rx619_pos, 6
-    set_addr $I10, rxcap_624_fail
-    ($I12, $I11) = rx619_cur."!mark_peek"($I10)
-    rx619_cur."!cursor_pos"($I11)
-    ($P10) = rx619_cur."!cursor_start"()
-    $P10."!cursor_pass"(rx619_pos, "")
-    rx619_cur."!mark_push"(0, -1, 0, $P10)
+    add $I11, rx624_pos, 6
+    gt $I11, rx624_eos, rx624_fail
+    sub $I11, rx624_pos, rx624_off
+    substr $S10, rx624_tgt, $I11, 6
+    ne $S10, "method", rx624_fail
+    add rx624_pos, 6
+    set_addr $I10, rxcap_629_fail
+    ($I12, $I11) = rx624_cur."!mark_peek"($I10)
+    rx624_cur."!cursor_pos"($I11)
+    ($P10) = rx624_cur."!cursor_start"()
+    $P10."!cursor_pass"(rx624_pos, "")
+    rx624_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("sym")
-    goto rxcap_624_done
-  rxcap_624_fail:
-    goto rx619_fail
-  rxcap_624_done:
+    goto rxcap_629_done
+  rxcap_629_fail:
+    goto rx624_fail
+  rxcap_629_done:
   # rx subrule "method_def" subtype=capture negate=
-    rx619_cur."!cursor_pos"(rx619_pos)
-    $P10 = rx619_cur."method_def"()
-    unless $P10, rx619_fail
-    rx619_cur."!mark_push"(0, -1, 0, $P10)
+    rx624_cur."!cursor_pos"(rx624_pos)
+    $P10 = rx624_cur."method_def"()
+    unless $P10, rx624_fail
+    rx624_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("method_def")
-    rx619_pos = $P10."pos"()
+    rx624_pos = $P10."pos"()
   # rx pass
-    rx619_cur."!cursor_pass"(rx619_pos, "routine_declarator:sym<method>")
-    rx619_cur."!cursor_debug"("PASS  ", "routine_declarator:sym<method>", " at pos=", rx619_pos)
-    .return (rx619_cur)
-  rx619_fail:
+    rx624_cur."!cursor_pass"(rx624_pos, "routine_declarator:sym<method>")
+    rx624_cur."!cursor_debug"("PASS  ", "routine_declarator:sym<method>", " at pos=", rx624_pos)
+    .return (rx624_cur)
+  rx624_fail:
 .annotate 'line', 4
-    (rx619_rep, rx619_pos, $I10, $P10) = rx619_cur."!mark_fail"(0)
-    lt rx619_pos, -1, rx619_done
-    eq rx619_pos, -1, rx619_fail
+    (rx624_rep, rx624_pos, $I10, $P10) = rx624_cur."!mark_fail"(0)
+    lt rx624_pos, -1, rx624_done
+    eq rx624_pos, -1, rx624_fail
     jump $I10
-  rx619_done:
-    rx619_cur."!cursor_fail"()
-    rx619_cur."!cursor_debug"("FAIL  ", "routine_declarator:sym<method>")
-    .return (rx619_cur)
+  rx624_done:
+    rx624_cur."!cursor_fail"()
+    rx624_cur."!cursor_debug"("FAIL  ", "routine_declarator:sym<method>")
+    .return (rx624_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__routine_declarator:sym<method>"  :subid("152_1274800460.92525") :method
+.sub "!PREFIX__routine_declarator:sym<method>"  :subid("154_1274853038.58734") :method
 .annotate 'line', 4
-    $P621 = self."!PREFIX__!subrule"("method_def", "method")
-    new $P622, "ResizablePMCArray"
-    push $P622, $P621
-    .return ($P622)
+    $P626 = self."!PREFIX__!subrule"("method_def", "method")
+    new $P627, "ResizablePMCArray"
+    push $P627, $P626
+    .return ($P627)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "routine_def"  :subid("153_1274800460.92525") :method :outer("11_1274800460.92525")
+.sub "routine_def"  :subid("155_1274853038.58734") :method :outer("11_1274853038.58734")
 .annotate 'line', 4
-    .local string rx626_tgt
-    .local int rx626_pos
-    .local int rx626_off
-    .local int rx626_eos
-    .local int rx626_rep
-    .local pmc rx626_cur
-    (rx626_cur, rx626_pos, rx626_tgt) = self."!cursor_start"()
-    rx626_cur."!cursor_debug"("START ", "routine_def")
-    rx626_cur."!cursor_caparray"("sigil", "deflongname")
-    .lex unicode:"$\x{a2}", rx626_cur
+    .local string rx631_tgt
+    .local int rx631_pos
+    .local int rx631_off
+    .local int rx631_eos
+    .local int rx631_rep
+    .local pmc rx631_cur
+    (rx631_cur, rx631_pos, rx631_tgt) = self."!cursor_start"()
+    rx631_cur."!cursor_debug"("START ", "routine_def")
+    rx631_cur."!cursor_caparray"("sigil", "deflongname")
+    .lex unicode:"$\x{a2}", rx631_cur
     .local pmc match
     .lex "$/", match
-    length rx626_eos, rx626_tgt
-    set rx626_off, 0
-    lt rx626_pos, 2, rx626_start
-    sub rx626_off, rx626_pos, 1
-    substr rx626_tgt, rx626_tgt, rx626_off
-  rx626_start:
+    length rx631_eos, rx631_tgt
+    set rx631_off, 0
+    lt rx631_pos, 2, rx631_start
+    sub rx631_off, rx631_pos, 1
+    substr rx631_tgt, rx631_tgt, rx631_off
+  rx631_start:
     $I10 = self.'from'()
-    ne $I10, -1, rxscan629_done
-    goto rxscan629_scan
-  rxscan629_loop:
-    ($P10) = rx626_cur."from"()
+    ne $I10, -1, rxscan634_done
+    goto rxscan634_scan
+  rxscan634_loop:
+    ($P10) = rx631_cur."from"()
     inc $P10
-    set rx626_pos, $P10
-    ge rx626_pos, rx626_eos, rxscan629_done
-  rxscan629_scan:
-    set_addr $I10, rxscan629_loop
-    rx626_cur."!mark_push"(0, rx626_pos, $I10)
-  rxscan629_done:
-.annotate 'line', 291
+    set rx631_pos, $P10
+    ge rx631_pos, rx631_eos, rxscan634_done
+  rxscan634_scan:
+    set_addr $I10, rxscan634_loop
+    rx631_cur."!mark_push"(0, rx631_pos, $I10)
+  rxscan634_done:
+.annotate 'line', 293
   # rx subrule "ws" subtype=method negate=
-    rx626_cur."!cursor_pos"(rx626_pos)
-    $P10 = rx626_cur."ws"()
-    unless $P10, rx626_fail
-    rx626_pos = $P10."pos"()
-.annotate 'line', 292
-  # rx rxquantr631 ** 0..1
-    set_addr $I637, rxquantr631_done
-    rx626_cur."!mark_push"(0, rx626_pos, $I637)
-  rxquantr631_loop:
-  # rx subrule "ws" subtype=method negate=
-    rx626_cur."!cursor_pos"(rx626_pos)
-    $P10 = rx626_cur."ws"()
-    unless $P10, rx626_fail
-    rx626_pos = $P10."pos"()
+    rx631_cur."!cursor_pos"(rx631_pos)
+    $P10 = rx631_cur."ws"()
+    unless $P10, rx631_fail
+    rx631_pos = $P10."pos"()
+.annotate 'line', 294
+  # rx rxquantr636 ** 0..1
+    set_addr $I642, rxquantr636_done
+    rx631_cur."!mark_push"(0, rx631_pos, $I642)
+  rxquantr636_loop:
+  # rx subrule "ws" subtype=method negate=
+    rx631_cur."!cursor_pos"(rx631_pos)
+    $P10 = rx631_cur."ws"()
+    unless $P10, rx631_fail
+    rx631_pos = $P10."pos"()
   # rx subcapture "sigil"
-    set_addr $I10, rxcap_635_fail
-    rx626_cur."!mark_push"(0, rx626_pos, $I10)
-  # rx rxquantr633 ** 0..1
-    set_addr $I634, rxquantr633_done
-    rx626_cur."!mark_push"(0, rx626_pos, $I634)
-  rxquantr633_loop:
+    set_addr $I10, rxcap_640_fail
+    rx631_cur."!mark_push"(0, rx631_pos, $I10)
+  # rx rxquantr638 ** 0..1
+    set_addr $I639, rxquantr638_done
+    rx631_cur."!mark_push"(0, rx631_pos, $I639)
+  rxquantr638_loop:
   # rx literal  "&"
-    add $I11, rx626_pos, 1
-    gt $I11, rx626_eos, rx626_fail
-    sub $I11, rx626_pos, rx626_off
-    substr $S10, rx626_tgt, $I11, 1
-    ne $S10, "&", rx626_fail
-    add rx626_pos, 1
-    (rx626_rep) = rx626_cur."!mark_commit"($I634)
-  rxquantr633_done:
-    set_addr $I10, rxcap_635_fail
-    ($I12, $I11) = rx626_cur."!mark_peek"($I10)
-    rx626_cur."!cursor_pos"($I11)
-    ($P10) = rx626_cur."!cursor_start"()
-    $P10."!cursor_pass"(rx626_pos, "")
-    rx626_cur."!mark_push"(0, -1, 0, $P10)
+    add $I11, rx631_pos, 1
+    gt $I11, rx631_eos, rx631_fail
+    sub $I11, rx631_pos, rx631_off
+    substr $S10, rx631_tgt, $I11, 1
+    ne $S10, "&", rx631_fail
+    add rx631_pos, 1
+    (rx631_rep) = rx631_cur."!mark_commit"($I639)
+  rxquantr638_done:
+    set_addr $I10, rxcap_640_fail
+    ($I12, $I11) = rx631_cur."!mark_peek"($I10)
+    rx631_cur."!cursor_pos"($I11)
+    ($P10) = rx631_cur."!cursor_start"()
+    $P10."!cursor_pass"(rx631_pos, "")
+    rx631_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("sigil")
-    goto rxcap_635_done
-  rxcap_635_fail:
-    goto rx626_fail
-  rxcap_635_done:
+    goto rxcap_640_done
+  rxcap_640_fail:
+    goto rx631_fail
+  rxcap_640_done:
   # rx subrule "deflongname" subtype=capture negate=
-    rx626_cur."!cursor_pos"(rx626_pos)
-    $P10 = rx626_cur."deflongname"()
-    unless $P10, rx626_fail
-    rx626_cur."!mark_push"(0, -1, 0, $P10)
+    rx631_cur."!cursor_pos"(rx631_pos)
+    $P10 = rx631_cur."deflongname"()
+    unless $P10, rx631_fail
+    rx631_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("deflongname")
-    rx626_pos = $P10."pos"()
+    rx631_pos = $P10."pos"()
   # rx subrule "ws" subtype=method negate=
-    rx626_cur."!cursor_pos"(rx626_pos)
-    $P10 = rx626_cur."ws"()
-    unless $P10, rx626_fail
-    rx626_pos = $P10."pos"()
-    (rx626_rep) = rx626_cur."!mark_commit"($I637)
-  rxquantr631_done:
-  # rx subrule "ws" subtype=method negate=
-    rx626_cur."!cursor_pos"(rx626_pos)
-    $P10 = rx626_cur."ws"()
-    unless $P10, rx626_fail
-    rx626_pos = $P10."pos"()
-.annotate 'line', 293
+    rx631_cur."!cursor_pos"(rx631_pos)
+    $P10 = rx631_cur."ws"()
+    unless $P10, rx631_fail
+    rx631_pos = $P10."pos"()
+    (rx631_rep) = rx631_cur."!mark_commit"($I642)
+  rxquantr636_done:
+  # rx subrule "ws" subtype=method negate=
+    rx631_cur."!cursor_pos"(rx631_pos)
+    $P10 = rx631_cur."ws"()
+    unless $P10, rx631_fail
+    rx631_pos = $P10."pos"()
+.annotate 'line', 295
   # rx subrule "newpad" subtype=method negate=
-    rx626_cur."!cursor_pos"(rx626_pos)
-    $P10 = rx626_cur."newpad"()
-    unless $P10, rx626_fail
-    rx626_pos = $P10."pos"()
-  # rx subrule "ws" subtype=method negate=
-    rx626_cur."!cursor_pos"(rx626_pos)
-    $P10 = rx626_cur."ws"()
-    unless $P10, rx626_fail
-    rx626_pos = $P10."pos"()
-  alt640_0:
-.annotate 'line', 294
-    set_addr $I10, alt640_1
-    rx626_cur."!mark_push"(0, rx626_pos, $I10)
+    rx631_cur."!cursor_pos"(rx631_pos)
+    $P10 = rx631_cur."newpad"()
+    unless $P10, rx631_fail
+    rx631_pos = $P10."pos"()
+  # rx subrule "ws" subtype=method negate=
+    rx631_cur."!cursor_pos"(rx631_pos)
+    $P10 = rx631_cur."ws"()
+    unless $P10, rx631_fail
+    rx631_pos = $P10."pos"()
+  alt645_0:
+.annotate 'line', 296
+    set_addr $I10, alt645_1
+    rx631_cur."!mark_push"(0, rx631_pos, $I10)
   # rx subrule "ws" subtype=method negate=
-    rx626_cur."!cursor_pos"(rx626_pos)
-    $P10 = rx626_cur."ws"()
-    unless $P10, rx626_fail
-    rx626_pos = $P10."pos"()
+    rx631_cur."!cursor_pos"(rx631_pos)
+    $P10 = rx631_cur."ws"()
+    unless $P10, rx631_fail
+    rx631_pos = $P10."pos"()
   # rx literal  "("
-    add $I11, rx626_pos, 1
-    gt $I11, rx626_eos, rx626_fail
-    sub $I11, rx626_pos, rx626_off
-    substr $S10, rx626_tgt, $I11, 1
-    ne $S10, "(", rx626_fail
-    add rx626_pos, 1
-  # rx subrule "ws" subtype=method negate=
-    rx626_cur."!cursor_pos"(rx626_pos)
-    $P10 = rx626_cur."ws"()
-    unless $P10, rx626_fail
-    rx626_pos = $P10."pos"()
+    add $I11, rx631_pos, 1
+    gt $I11, rx631_eos, rx631_fail
+    sub $I11, rx631_pos, rx631_off
+    substr $S10, rx631_tgt, $I11, 1
+    ne $S10, "(", rx631_fail
+    add rx631_pos, 1
+  # rx subrule "ws" subtype=method negate=
+    rx631_cur."!cursor_pos"(rx631_pos)
+    $P10 = rx631_cur."ws"()
+    unless $P10, rx631_fail
+    rx631_pos = $P10."pos"()
   # rx subrule "signature" subtype=capture negate=
-    rx626_cur."!cursor_pos"(rx626_pos)
-    $P10 = rx626_cur."signature"()
-    unless $P10, rx626_fail
-    rx626_cur."!mark_push"(0, -1, 0, $P10)
+    rx631_cur."!cursor_pos"(rx631_pos)
+    $P10 = rx631_cur."signature"()
+    unless $P10, rx631_fail
+    rx631_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("signature")
-    rx626_pos = $P10."pos"()
+    rx631_pos = $P10."pos"()
   # rx subrule "ws" subtype=method negate=
-    rx626_cur."!cursor_pos"(rx626_pos)
-    $P10 = rx626_cur."ws"()
-    unless $P10, rx626_fail
-    rx626_pos = $P10."pos"()
+    rx631_cur."!cursor_pos"(rx631_pos)
+    $P10 = rx631_cur."ws"()
+    unless $P10, rx631_fail
+    rx631_pos = $P10."pos"()
   # rx literal  ")"
-    add $I11, rx626_pos, 1
-    gt $I11, rx626_eos, rx626_fail
-    sub $I11, rx626_pos, rx626_off
-    substr $S10, rx626_tgt, $I11, 1
-    ne $S10, ")", rx626_fail
-    add rx626_pos, 1
-  # rx subrule "ws" subtype=method negate=
-    rx626_cur."!cursor_pos"(rx626_pos)
-    $P10 = rx626_cur."ws"()
-    unless $P10, rx626_fail
-    rx626_pos = $P10."pos"()
-    goto alt640_end
-  alt640_1:
-.annotate 'line', 295
+    add $I11, rx631_pos, 1
+    gt $I11, rx631_eos, rx631_fail
+    sub $I11, rx631_pos, rx631_off
+    substr $S10, rx631_tgt, $I11, 1
+    ne $S10, ")", rx631_fail
+    add rx631_pos, 1
+  # rx subrule "ws" subtype=method negate=
+    rx631_cur."!cursor_pos"(rx631_pos)
+    $P10 = rx631_cur."ws"()
+    unless $P10, rx631_fail
+    rx631_pos = $P10."pos"()
+    goto alt645_end
+  alt645_1:
+.annotate 'line', 297
   # rx subrule "ws" subtype=method negate=
-    rx626_cur."!cursor_pos"(rx626_pos)
-    $P10 = rx626_cur."ws"()
-    unless $P10, rx626_fail
-    rx626_pos = $P10."pos"()
+    rx631_cur."!cursor_pos"(rx631_pos)
+    $P10 = rx631_cur."ws"()
+    unless $P10, rx631_fail
+    rx631_pos = $P10."pos"()
   # rx subrule "panic" subtype=method negate=
-    rx626_cur."!cursor_pos"(rx626_pos)
-    $P10 = rx626_cur."panic"("Routine declaration requires a signature")
-    unless $P10, rx626_fail
-    rx626_pos = $P10."pos"()
-  # rx subrule "ws" subtype=method negate=
-    rx626_cur."!cursor_pos"(rx626_pos)
-    $P10 = rx626_cur."ws"()
-    unless $P10, rx626_fail
-    rx626_pos = $P10."pos"()
-  alt640_end:
-  # rx subrule "ws" subtype=method negate=
-    rx626_cur."!cursor_pos"(rx626_pos)
-    $P10 = rx626_cur."ws"()
-    unless $P10, rx626_fail
-    rx626_pos = $P10."pos"()
-.annotate 'line', 296
+    rx631_cur."!cursor_pos"(rx631_pos)
+    $P10 = rx631_cur."panic"("Routine declaration requires a signature")
+    unless $P10, rx631_fail
+    rx631_pos = $P10."pos"()
+  # rx subrule "ws" subtype=method negate=
+    rx631_cur."!cursor_pos"(rx631_pos)
+    $P10 = rx631_cur."ws"()
+    unless $P10, rx631_fail
+    rx631_pos = $P10."pos"()
+  alt645_end:
+  # rx subrule "ws" subtype=method negate=
+    rx631_cur."!cursor_pos"(rx631_pos)
+    $P10 = rx631_cur."ws"()
+    unless $P10, rx631_fail
+    rx631_pos = $P10."pos"()
+.annotate 'line', 298
   # rx subrule "blockoid" subtype=capture negate=
-    rx626_cur."!cursor_pos"(rx626_pos)
-    $P10 = rx626_cur."blockoid"()
-    unless $P10, rx626_fail
-    rx626_cur."!mark_push"(0, -1, 0, $P10)
+    rx631_cur."!cursor_pos"(rx631_pos)
+    $P10 = rx631_cur."blockoid"()
+    unless $P10, rx631_fail
+    rx631_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("blockoid")
-    rx626_pos = $P10."pos"()
+    rx631_pos = $P10."pos"()
   # rx subrule "ws" subtype=method negate=
-    rx626_cur."!cursor_pos"(rx626_pos)
-    $P10 = rx626_cur."ws"()
-    unless $P10, rx626_fail
-    rx626_pos = $P10."pos"()
-.annotate 'line', 291
+    rx631_cur."!cursor_pos"(rx631_pos)
+    $P10 = rx631_cur."ws"()
+    unless $P10, rx631_fail
+    rx631_pos = $P10."pos"()
+.annotate 'line', 293
   # rx pass
-    rx626_cur."!cursor_pass"(rx626_pos, "routine_def")
-    rx626_cur."!cursor_debug"("PASS  ", "routine_def", " at pos=", rx626_pos)
-    .return (rx626_cur)
-  rx626_fail:
+    rx631_cur."!cursor_pass"(rx631_pos, "routine_def")
+    rx631_cur."!cursor_debug"("PASS  ", "routine_def", " at pos=", rx631_pos)
+    .return (rx631_cur)
+  rx631_fail:
 .annotate 'line', 4
-    (rx626_rep, rx626_pos, $I10, $P10) = rx626_cur."!mark_fail"(0)
-    lt rx626_pos, -1, rx626_done
-    eq rx626_pos, -1, rx626_fail
+    (rx631_rep, rx631_pos, $I10, $P10) = rx631_cur."!mark_fail"(0)
+    lt rx631_pos, -1, rx631_done
+    eq rx631_pos, -1, rx631_fail
     jump $I10
-  rx626_done:
-    rx626_cur."!cursor_fail"()
-    rx626_cur."!cursor_debug"("FAIL  ", "routine_def")
-    .return (rx626_cur)
+  rx631_done:
+    rx631_cur."!cursor_fail"()
+    rx631_cur."!cursor_debug"("FAIL  ", "routine_def")
+    .return (rx631_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__routine_def"  :subid("154_1274800460.92525") :method
+.sub "!PREFIX__routine_def"  :subid("156_1274853038.58734") :method
 .annotate 'line', 4
-    new $P628, "ResizablePMCArray"
-    push $P628, ""
-    .return ($P628)
+    new $P633, "ResizablePMCArray"
+    push $P633, ""
+    .return ($P633)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "method_def"  :subid("155_1274800460.92525") :method :outer("11_1274800460.92525")
+.sub "method_def"  :subid("157_1274853038.58734") :method :outer("11_1274853038.58734")
 .annotate 'line', 4
-    .local string rx650_tgt
-    .local int rx650_pos
-    .local int rx650_off
-    .local int rx650_eos
-    .local int rx650_rep
-    .local pmc rx650_cur
-    (rx650_cur, rx650_pos, rx650_tgt) = self."!cursor_start"()
-    rx650_cur."!cursor_debug"("START ", "method_def")
-    rx650_cur."!cursor_caparray"("deflongname")
-    .lex unicode:"$\x{a2}", rx650_cur
+    .local string rx655_tgt
+    .local int rx655_pos
+    .local int rx655_off
+    .local int rx655_eos
+    .local int rx655_rep
+    .local pmc rx655_cur
+    (rx655_cur, rx655_pos, rx655_tgt) = self."!cursor_start"()
+    rx655_cur."!cursor_debug"("START ", "method_def")
+    rx655_cur."!cursor_caparray"("deflongname")
+    .lex unicode:"$\x{a2}", rx655_cur
     .local pmc match
     .lex "$/", match
-    length rx650_eos, rx650_tgt
-    set rx650_off, 0
-    lt rx650_pos, 2, rx650_start
-    sub rx650_off, rx650_pos, 1
-    substr rx650_tgt, rx650_tgt, rx650_off
-  rx650_start:
+    length rx655_eos, rx655_tgt
+    set rx655_off, 0
+    lt rx655_pos, 2, rx655_start
+    sub rx655_off, rx655_pos, 1
+    substr rx655_tgt, rx655_tgt, rx655_off
+  rx655_start:
     $I10 = self.'from'()
-    ne $I10, -1, rxscan653_done
-    goto rxscan653_scan
-  rxscan653_loop:
-    ($P10) = rx650_cur."from"()
+    ne $I10, -1, rxscan658_done
+    goto rxscan658_scan
+  rxscan658_loop:
+    ($P10) = rx655_cur."from"()
     inc $P10
-    set rx650_pos, $P10
-    ge rx650_pos, rx650_eos, rxscan653_done
-  rxscan653_scan:
-    set_addr $I10, rxscan653_loop
-    rx650_cur."!mark_push"(0, rx650_pos, $I10)
-  rxscan653_done:
-.annotate 'line', 299
+    set rx655_pos, $P10
+    ge rx655_pos, rx655_eos, rxscan658_done
+  rxscan658_scan:
+    set_addr $I10, rxscan658_loop
+    rx655_cur."!mark_push"(0, rx655_pos, $I10)
+  rxscan658_done:
+.annotate 'line', 301
   # rx subrule "ws" subtype=method negate=
-    rx650_cur."!cursor_pos"(rx650_pos)
-    $P10 = rx650_cur."ws"()
-    unless $P10, rx650_fail
-    rx650_pos = $P10."pos"()
-.annotate 'line', 300
-  # rx rxquantr655 ** 0..1
-    set_addr $I656, rxquantr655_done
-    rx650_cur."!mark_push"(0, rx650_pos, $I656)
-  rxquantr655_loop:
+    rx655_cur."!cursor_pos"(rx655_pos)
+    $P10 = rx655_cur."ws"()
+    unless $P10, rx655_fail
+    rx655_pos = $P10."pos"()
+.annotate 'line', 302
+  # rx rxquantr660 ** 0..1
+    set_addr $I661, rxquantr660_done
+    rx655_cur."!mark_push"(0, rx655_pos, $I661)
+  rxquantr660_loop:
   # rx subrule "deflongname" subtype=capture negate=
-    rx650_cur."!cursor_pos"(rx650_pos)
-    $P10 = rx650_cur."deflongname"()
-    unless $P10, rx650_fail
-    rx650_cur."!mark_push"(0, -1, 0, $P10)
+    rx655_cur."!cursor_pos"(rx655_pos)
+    $P10 = rx655_cur."deflongname"()
+    unless $P10, rx655_fail
+    rx655_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("deflongname")
-    rx650_pos = $P10."pos"()
-    (rx650_rep) = rx650_cur."!mark_commit"($I656)
-  rxquantr655_done:
-  # rx subrule "ws" subtype=method negate=
-    rx650_cur."!cursor_pos"(rx650_pos)
-    $P10 = rx650_cur."ws"()
-    unless $P10, rx650_fail
-    rx650_pos = $P10."pos"()
-.annotate 'line', 301
+    rx655_pos = $P10."pos"()
+    (rx655_rep) = rx655_cur."!mark_commit"($I661)
+  rxquantr660_done:
+  # rx subrule "ws" subtype=method negate=
+    rx655_cur."!cursor_pos"(rx655_pos)
+    $P10 = rx655_cur."ws"()
+    unless $P10, rx655_fail
+    rx655_pos = $P10."pos"()
+.annotate 'line', 303
   # rx subrule "newpad" subtype=method negate=
-    rx650_cur."!cursor_pos"(rx650_pos)
-    $P10 = rx650_cur."newpad"()
-    unless $P10, rx650_fail
-    rx650_pos = $P10."pos"()
-  # rx subrule "ws" subtype=method negate=
-    rx650_cur."!cursor_pos"(rx650_pos)
-    $P10 = rx650_cur."ws"()
-    unless $P10, rx650_fail
-    rx650_pos = $P10."pos"()
-  alt659_0:
-.annotate 'line', 302
-    set_addr $I10, alt659_1
-    rx650_cur."!mark_push"(0, rx650_pos, $I10)
+    rx655_cur."!cursor_pos"(rx655_pos)
+    $P10 = rx655_cur."newpad"()
+    unless $P10, rx655_fail
+    rx655_pos = $P10."pos"()
+  # rx subrule "ws" subtype=method negate=
+    rx655_cur."!cursor_pos"(rx655_pos)
+    $P10 = rx655_cur."ws"()
+    unless $P10, rx655_fail
+    rx655_pos = $P10."pos"()
+  alt664_0:
+.annotate 'line', 304
+    set_addr $I10, alt664_1
+    rx655_cur."!mark_push"(0, rx655_pos, $I10)
   # rx subrule "ws" subtype=method negate=
-    rx650_cur."!cursor_pos"(rx650_pos)
-    $P10 = rx650_cur."ws"()
-    unless $P10, rx650_fail
-    rx650_pos = $P10."pos"()
+    rx655_cur."!cursor_pos"(rx655_pos)
+    $P10 = rx655_cur."ws"()
+    unless $P10, rx655_fail
+    rx655_pos = $P10."pos"()
   # rx literal  "("
-    add $I11, rx650_pos, 1
-    gt $I11, rx650_eos, rx650_fail
-    sub $I11, rx650_pos, rx650_off
-    substr $S10, rx650_tgt, $I11, 1
-    ne $S10, "(", rx650_fail
-    add rx650_pos, 1
-  # rx subrule "ws" subtype=method negate=
-    rx650_cur."!cursor_pos"(rx650_pos)
-    $P10 = rx650_cur."ws"()
-    unless $P10, rx650_fail
-    rx650_pos = $P10."pos"()
+    add $I11, rx655_pos, 1
+    gt $I11, rx655_eos, rx655_fail
+    sub $I11, rx655_pos, rx655_off
+    substr $S10, rx655_tgt, $I11, 1
+    ne $S10, "(", rx655_fail
+    add rx655_pos, 1
+  # rx subrule "ws" subtype=method negate=
+    rx655_cur."!cursor_pos"(rx655_pos)
+    $P10 = rx655_cur."ws"()
+    unless $P10, rx655_fail
+    rx655_pos = $P10."pos"()
   # rx subrule "signature" subtype=capture negate=
-    rx650_cur."!cursor_pos"(rx650_pos)
-    $P10 = rx650_cur."signature"()
-    unless $P10, rx650_fail
-    rx650_cur."!mark_push"(0, -1, 0, $P10)
+    rx655_cur."!cursor_pos"(rx655_pos)
+    $P10 = rx655_cur."signature"()
+    unless $P10, rx655_fail
+    rx655_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("signature")
-    rx650_pos = $P10."pos"()
+    rx655_pos = $P10."pos"()
   # rx subrule "ws" subtype=method negate=
-    rx650_cur."!cursor_pos"(rx650_pos)
-    $P10 = rx650_cur."ws"()
-    unless $P10, rx650_fail
-    rx650_pos = $P10."pos"()
+    rx655_cur."!cursor_pos"(rx655_pos)
+    $P10 = rx655_cur."ws"()
+    unless $P10, rx655_fail
+    rx655_pos = $P10."pos"()
   # rx literal  ")"
-    add $I11, rx650_pos, 1
-    gt $I11, rx650_eos, rx650_fail
-    sub $I11, rx650_pos, rx650_off
-    substr $S10, rx650_tgt, $I11, 1
-    ne $S10, ")", rx650_fail
-    add rx650_pos, 1
-  # rx subrule "ws" subtype=method negate=
-    rx650_cur."!cursor_pos"(rx650_pos)
-    $P10 = rx650_cur."ws"()
-    unless $P10, rx650_fail
-    rx650_pos = $P10."pos"()
-    goto alt659_end
-  alt659_1:
-.annotate 'line', 303
+    add $I11, rx655_pos, 1
+    gt $I11, rx655_eos, rx655_fail
+    sub $I11, rx655_pos, rx655_off
+    substr $S10, rx655_tgt, $I11, 1
+    ne $S10, ")", rx655_fail
+    add rx655_pos, 1
+  # rx subrule "ws" subtype=method negate=
+    rx655_cur."!cursor_pos"(rx655_pos)
+    $P10 = rx655_cur."ws"()
+    unless $P10, rx655_fail
+    rx655_pos = $P10."pos"()
+    goto alt664_end
+  alt664_1:
+.annotate 'line', 305
   # rx subrule "ws" subtype=method negate=
-    rx650_cur."!cursor_pos"(rx650_pos)
-    $P10 = rx650_cur."ws"()
-    unless $P10, rx650_fail
-    rx650_pos = $P10."pos"()
+    rx655_cur."!cursor_pos"(rx655_pos)
+    $P10 = rx655_cur."ws"()
+    unless $P10, rx655_fail
+    rx655_pos = $P10."pos"()
   # rx subrule "panic" subtype=method negate=
-    rx650_cur."!cursor_pos"(rx650_pos)
-    $P10 = rx650_cur."panic"("Routine declaration requires a signature")
-    unless $P10, rx650_fail
-    rx650_pos = $P10."pos"()
-  # rx subrule "ws" subtype=method negate=
-    rx650_cur."!cursor_pos"(rx650_pos)
-    $P10 = rx650_cur."ws"()
-    unless $P10, rx650_fail
-    rx650_pos = $P10."pos"()
-  alt659_end:
-  # rx subrule "ws" subtype=method negate=
-    rx650_cur."!cursor_pos"(rx650_pos)
-    $P10 = rx650_cur."ws"()
-    unless $P10, rx650_fail
-    rx650_pos = $P10."pos"()
-.annotate 'line', 304
+    rx655_cur."!cursor_pos"(rx655_pos)
+    $P10 = rx655_cur."panic"("Routine declaration requires a signature")
+    unless $P10, rx655_fail
+    rx655_pos = $P10."pos"()
+  # rx subrule "ws" subtype=method negate=
+    rx655_cur."!cursor_pos"(rx655_pos)
+    $P10 = rx655_cur."ws"()
+    unless $P10, rx655_fail
+    rx655_pos = $P10."pos"()
+  alt664_end:
+  # rx subrule "ws" subtype=method negate=
+    rx655_cur."!cursor_pos"(rx655_pos)
+    $P10 = rx655_cur."ws"()
+    unless $P10, rx655_fail
+    rx655_pos = $P10."pos"()
+.annotate 'line', 306
   # rx subrule "blockoid" subtype=capture negate=
-    rx650_cur."!cursor_pos"(rx650_pos)
-    $P10 = rx650_cur."blockoid"()
-    unless $P10, rx650_fail
-    rx650_cur."!mark_push"(0, -1, 0, $P10)
+    rx655_cur."!cursor_pos"(rx655_pos)
+    $P10 = rx655_cur."blockoid"()
+    unless $P10, rx655_fail
+    rx655_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("blockoid")
-    rx650_pos = $P10."pos"()
+    rx655_pos = $P10."pos"()
   # rx subrule "ws" subtype=method negate=
-    rx650_cur."!cursor_pos"(rx650_pos)
-    $P10 = rx650_cur."ws"()
-    unless $P10, rx650_fail
-    rx650_pos = $P10."pos"()
-.annotate 'line', 299
+    rx655_cur."!cursor_pos"(rx655_pos)
+    $P10 = rx655_cur."ws"()
+    unless $P10, rx655_fail
+    rx655_pos = $P10."pos"()
+.annotate 'line', 301
   # rx pass
-    rx650_cur."!cursor_pass"(rx650_pos, "method_def")
-    rx650_cur."!cursor_debug"("PASS  ", "method_def", " at pos=", rx650_pos)
-    .return (rx650_cur)
-  rx650_fail:
+    rx655_cur."!cursor_pass"(rx655_pos, "method_def")
+    rx655_cur."!cursor_debug"("PASS  ", "method_def", " at pos=", rx655_pos)
+    .return (rx655_cur)
+  rx655_fail:
 .annotate 'line', 4
-    (rx650_rep, rx650_pos, $I10, $P10) = rx650_cur."!mark_fail"(0)
-    lt rx650_pos, -1, rx650_done
-    eq rx650_pos, -1, rx650_fail
+    (rx655_rep, rx655_pos, $I10, $P10) = rx655_cur."!mark_fail"(0)
+    lt rx655_pos, -1, rx655_done
+    eq rx655_pos, -1, rx655_fail
     jump $I10
-  rx650_done:
-    rx650_cur."!cursor_fail"()
-    rx650_cur."!cursor_debug"("FAIL  ", "method_def")
-    .return (rx650_cur)
+  rx655_done:
+    rx655_cur."!cursor_fail"()
+    rx655_cur."!cursor_debug"("FAIL  ", "method_def")
+    .return (rx655_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__method_def"  :subid("156_1274800460.92525") :method
+.sub "!PREFIX__method_def"  :subid("158_1274853038.58734") :method
 .annotate 'line', 4
-    new $P652, "ResizablePMCArray"
-    push $P652, ""
-    .return ($P652)
+    new $P657, "ResizablePMCArray"
+    push $P657, ""
+    .return ($P657)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "signature"  :subid("157_1274800460.92525") :method :outer("11_1274800460.92525")
+.sub "signature"  :subid("159_1274853038.58734") :method :outer("11_1274853038.58734")
 .annotate 'line', 4
-    .local string rx669_tgt
-    .local int rx669_pos
-    .local int rx669_off
-    .local int rx669_eos
-    .local int rx669_rep
-    .local pmc rx669_cur
-    (rx669_cur, rx669_pos, rx669_tgt) = self."!cursor_start"()
-    rx669_cur."!cursor_debug"("START ", "signature")
-    rx669_cur."!cursor_caparray"("parameter")
-    .lex unicode:"$\x{a2}", rx669_cur
+    .local string rx674_tgt
+    .local int rx674_pos
+    .local int rx674_off
+    .local int rx674_eos
+    .local int rx674_rep
+    .local pmc rx674_cur
+    (rx674_cur, rx674_pos, rx674_tgt) = self."!cursor_start"()
+    rx674_cur."!cursor_debug"("START ", "signature")
+    rx674_cur."!cursor_caparray"("parameter")
+    .lex unicode:"$\x{a2}", rx674_cur
     .local pmc match
     .lex "$/", match
-    length rx669_eos, rx669_tgt
-    set rx669_off, 0
-    lt rx669_pos, 2, rx669_start
-    sub rx669_off, rx669_pos, 1
-    substr rx669_tgt, rx669_tgt, rx669_off
-  rx669_start:
+    length rx674_eos, rx674_tgt
+    set rx674_off, 0
+    lt rx674_pos, 2, rx674_start
+    sub rx674_off, rx674_pos, 1
+    substr rx674_tgt, rx674_tgt, rx674_off
+  rx674_start:
     $I10 = self.'from'()
-    ne $I10, -1, rxscan672_done
-    goto rxscan672_scan
-  rxscan672_loop:
-    ($P10) = rx669_cur."from"()
+    ne $I10, -1, rxscan677_done
+    goto rxscan677_scan
+  rxscan677_loop:
+    ($P10) = rx674_cur."from"()
     inc $P10
-    set rx669_pos, $P10
-    ge rx669_pos, rx669_eos, rxscan672_done
-  rxscan672_scan:
-    set_addr $I10, rxscan672_loop
-    rx669_cur."!mark_push"(0, rx669_pos, $I10)
-  rxscan672_done:
-.annotate 'line', 307
-  # rx rxquantr673 ** 0..1
-    set_addr $I676, rxquantr673_done
-    rx669_cur."!mark_push"(0, rx669_pos, $I676)
-  rxquantr673_loop:
-  # rx rxquantr674 ** 1..*
-    set_addr $I675, rxquantr674_done
-    rx669_cur."!mark_push"(0, -1, $I675)
-  rxquantr674_loop:
-  # rx subrule "ws" subtype=method negate=
-    rx669_cur."!cursor_pos"(rx669_pos)
-    $P10 = rx669_cur."ws"()
-    unless $P10, rx669_fail
-    rx669_pos = $P10."pos"()
+    set rx674_pos, $P10
+    ge rx674_pos, rx674_eos, rxscan677_done
+  rxscan677_scan:
+    set_addr $I10, rxscan677_loop
+    rx674_cur."!mark_push"(0, rx674_pos, $I10)
+  rxscan677_done:
+.annotate 'line', 309
+  # rx rxquantr678 ** 0..1
+    set_addr $I681, rxquantr678_done
+    rx674_cur."!mark_push"(0, rx674_pos, $I681)
+  rxquantr678_loop:
+  # rx rxquantr679 ** 1..*
+    set_addr $I680, rxquantr679_done
+    rx674_cur."!mark_push"(0, -1, $I680)
+  rxquantr679_loop:
+  # rx subrule "ws" subtype=method negate=
+    rx674_cur."!cursor_pos"(rx674_pos)
+    $P10 = rx674_cur."ws"()
+    unless $P10, rx674_fail
+    rx674_pos = $P10."pos"()
   # rx subrule "parameter" subtype=capture negate=
-    rx669_cur."!cursor_pos"(rx669_pos)
-    $P10 = rx669_cur."parameter"()
-    unless $P10, rx669_fail
-    rx669_cur."!mark_push"(0, -1, 0, $P10)
+    rx674_cur."!cursor_pos"(rx674_pos)
+    $P10 = rx674_cur."parameter"()
+    unless $P10, rx674_fail
+    rx674_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("parameter")
-    rx669_pos = $P10."pos"()
+    rx674_pos = $P10."pos"()
   # rx subrule "ws" subtype=method negate=
-    rx669_cur."!cursor_pos"(rx669_pos)
-    $P10 = rx669_cur."ws"()
-    unless $P10, rx669_fail
-    rx669_pos = $P10."pos"()
-    (rx669_rep) = rx669_cur."!mark_commit"($I675)
-    rx669_cur."!mark_push"(rx669_rep, rx669_pos, $I675)
+    rx674_cur."!cursor_pos"(rx674_pos)
+    $P10 = rx674_cur."ws"()
+    unless $P10, rx674_fail
+    rx674_pos = $P10."pos"()
+    (rx674_rep) = rx674_cur."!mark_commit"($I680)
+    rx674_cur."!mark_push"(rx674_rep, rx674_pos, $I680)
   # rx literal  ","
-    add $I11, rx669_pos, 1
-    gt $I11, rx669_eos, rx669_fail
-    sub $I11, rx669_pos, rx669_off
-    substr $S10, rx669_tgt, $I11, 1
-    ne $S10, ",", rx669_fail
-    add rx669_pos, 1
-    goto rxquantr674_loop
-  rxquantr674_done:
-    (rx669_rep) = rx669_cur."!mark_commit"($I676)
-  rxquantr673_done:
+    add $I11, rx674_pos, 1
+    gt $I11, rx674_eos, rx674_fail
+    sub $I11, rx674_pos, rx674_off
+    substr $S10, rx674_tgt, $I11, 1
+    ne $S10, ",", rx674_fail
+    add rx674_pos, 1
+    goto rxquantr679_loop
+  rxquantr679_done:
+    (rx674_rep) = rx674_cur."!mark_commit"($I681)
+  rxquantr678_done:
   # rx pass
-    rx669_cur."!cursor_pass"(rx669_pos, "signature")
-    rx669_cur."!cursor_debug"("PASS  ", "signature", " at pos=", rx669_pos)
-    .return (rx669_cur)
-  rx669_fail:
+    rx674_cur."!cursor_pass"(rx674_pos, "signature")
+    rx674_cur."!cursor_debug"("PASS  ", "signature", " at pos=", rx674_pos)
+    .return (rx674_cur)
+  rx674_fail:
 .annotate 'line', 4
-    (rx669_rep, rx669_pos, $I10, $P10) = rx669_cur."!mark_fail"(0)
-    lt rx669_pos, -1, rx669_done
-    eq rx669_pos, -1, rx669_fail
+    (rx674_rep, rx674_pos, $I10, $P10) = rx674_cur."!mark_fail"(0)
+    lt rx674_pos, -1, rx674_done
+    eq rx674_pos, -1, rx674_fail
     jump $I10
-  rx669_done:
-    rx669_cur."!cursor_fail"()
-    rx669_cur."!cursor_debug"("FAIL  ", "signature")
-    .return (rx669_cur)
+  rx674_done:
+    rx674_cur."!cursor_fail"()
+    rx674_cur."!cursor_debug"("FAIL  ", "signature")
+    .return (rx674_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__signature"  :subid("158_1274800460.92525") :method
+.sub "!PREFIX__signature"  :subid("160_1274853038.58734") :method
 .annotate 'line', 4
-    new $P671, "ResizablePMCArray"
-    push $P671, ""
-    .return ($P671)
+    new $P676, "ResizablePMCArray"
+    push $P676, ""
+    .return ($P676)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "parameter"  :subid("159_1274800460.92525") :method :outer("11_1274800460.92525")
+.sub "parameter"  :subid("161_1274853038.58734") :method :outer("11_1274853038.58734")
 .annotate 'line', 4
-    .local string rx678_tgt
-    .local int rx678_pos
-    .local int rx678_off
-    .local int rx678_eos
-    .local int rx678_rep
-    .local pmc rx678_cur
-    (rx678_cur, rx678_pos, rx678_tgt) = self."!cursor_start"()
-    rx678_cur."!cursor_debug"("START ", "parameter")
-    rx678_cur."!cursor_caparray"("default_value", "typename")
-    .lex unicode:"$\x{a2}", rx678_cur
+    .local string rx683_tgt
+    .local int rx683_pos
+    .local int rx683_off
+    .local int rx683_eos
+    .local int rx683_rep
+    .local pmc rx683_cur
+    (rx683_cur, rx683_pos, rx683_tgt) = self."!cursor_start"()
+    rx683_cur."!cursor_debug"("START ", "parameter")
+    rx683_cur."!cursor_caparray"("typename", "default_value")
+    .lex unicode:"$\x{a2}", rx683_cur
     .local pmc match
     .lex "$/", match
-    length rx678_eos, rx678_tgt
-    set rx678_off, 0
-    lt rx678_pos, 2, rx678_start
-    sub rx678_off, rx678_pos, 1
-    substr rx678_tgt, rx678_tgt, rx678_off
-  rx678_start:
+    length rx683_eos, rx683_tgt
+    set rx683_off, 0
+    lt rx683_pos, 2, rx683_start
+    sub rx683_off, rx683_pos, 1
+    substr rx683_tgt, rx683_tgt, rx683_off
+  rx683_start:
     $I10 = self.'from'()
-    ne $I10, -1, rxscan681_done
-    goto rxscan681_scan
-  rxscan681_loop:
-    ($P10) = rx678_cur."from"()
+    ne $I10, -1, rxscan686_done
+    goto rxscan686_scan
+  rxscan686_loop:
+    ($P10) = rx683_cur."from"()
     inc $P10
-    set rx678_pos, $P10
-    ge rx678_pos, rx678_eos, rxscan681_done
-  rxscan681_scan:
-    set_addr $I10, rxscan681_loop
-    rx678_cur."!mark_push"(0, rx678_pos, $I10)
-  rxscan681_done:
-.annotate 'line', 310
-  # rx rxquantr682 ** 0..*
-    set_addr $I683, rxquantr682_done
-    rx678_cur."!mark_push"(0, rx678_pos, $I683)
-  rxquantr682_loop:
+    set rx683_pos, $P10
+    ge rx683_pos, rx683_eos, rxscan686_done
+  rxscan686_scan:
+    set_addr $I10, rxscan686_loop
+    rx683_cur."!mark_push"(0, rx683_pos, $I10)
+  rxscan686_done:
+.annotate 'line', 312
+  # rx rxquantr687 ** 0..*
+    set_addr $I688, rxquantr687_done
+    rx683_cur."!mark_push"(0, rx683_pos, $I688)
+  rxquantr687_loop:
   # rx subrule "typename" subtype=capture negate=
-    rx678_cur."!cursor_pos"(rx678_pos)
-    $P10 = rx678_cur."typename"()
-    unless $P10, rx678_fail
-    rx678_cur."!mark_push"(0, -1, 0, $P10)
+    rx683_cur."!cursor_pos"(rx683_pos)
+    $P10 = rx683_cur."typename"()
+    unless $P10, rx683_fail
+    rx683_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("typename")
-    rx678_pos = $P10."pos"()
+    rx683_pos = $P10."pos"()
   # rx subrule "ws" subtype=method negate=
-    rx678_cur."!cursor_pos"(rx678_pos)
-    $P10 = rx678_cur."ws"()
-    unless $P10, rx678_fail
-    rx678_pos = $P10."pos"()
-    (rx678_rep) = rx678_cur."!mark_commit"($I683)
-    rx678_cur."!mark_push"(rx678_rep, rx678_pos, $I683)
-    goto rxquantr682_loop
-  rxquantr682_done:
-  alt684_0:
-.annotate 'line', 311
-    set_addr $I10, alt684_1
-    rx678_cur."!mark_push"(0, rx678_pos, $I10)
-.annotate 'line', 312
+    rx683_cur."!cursor_pos"(rx683_pos)
+    $P10 = rx683_cur."ws"()
+    unless $P10, rx683_fail
+    rx683_pos = $P10."pos"()
+    (rx683_rep) = rx683_cur."!mark_commit"($I688)
+    rx683_cur."!mark_push"(rx683_rep, rx683_pos, $I688)
+    goto rxquantr687_loop
+  rxquantr687_done:
+  alt689_0:
+.annotate 'line', 313
+    set_addr $I10, alt689_1
+    rx683_cur."!mark_push"(0, rx683_pos, $I10)
+.annotate 'line', 314
   # rx subcapture "quant"
-    set_addr $I10, rxcap_685_fail
-    rx678_cur."!mark_push"(0, rx678_pos, $I10)
+    set_addr $I10, rxcap_690_fail
+    rx683_cur."!mark_push"(0, rx683_pos, $I10)
   # rx literal  "*"
-    add $I11, rx678_pos, 1
-    gt $I11, rx678_eos, rx678_fail
-    sub $I11, rx678_pos, rx678_off
-    substr $S10, rx678_tgt, $I11, 1
-    ne $S10, "*", rx678_fail
-    add rx678_pos, 1
-    set_addr $I10, rxcap_685_fail
-    ($I12, $I11) = rx678_cur."!mark_peek"($I10)
-    rx678_cur."!cursor_pos"($I11)
-    ($P10) = rx678_cur."!cursor_start"()
-    $P10."!cursor_pass"(rx678_pos, "")
-    rx678_cur."!mark_push"(0, -1, 0, $P10)
+    add $I11, rx683_pos, 1
+    gt $I11, rx683_eos, rx683_fail
+    sub $I11, rx683_pos, rx683_off
+    substr $S10, rx683_tgt, $I11, 1
+    ne $S10, "*", rx683_fail
+    add rx683_pos, 1
+    set_addr $I10, rxcap_690_fail
+    ($I12, $I11) = rx683_cur."!mark_peek"($I10)
+    rx683_cur."!cursor_pos"($I11)
+    ($P10) = rx683_cur."!cursor_start"()
+    $P10."!cursor_pass"(rx683_pos, "")
+    rx683_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("quant")
-    goto rxcap_685_done
-  rxcap_685_fail:
-    goto rx678_fail
-  rxcap_685_done:
+    goto rxcap_690_done
+  rxcap_690_fail:
+    goto rx683_fail
+  rxcap_690_done:
   # rx subrule "param_var" subtype=capture negate=
-    rx678_cur."!cursor_pos"(rx678_pos)
-    $P10 = rx678_cur."param_var"()
-    unless $P10, rx678_fail
-    rx678_cur."!mark_push"(0, -1, 0, $P10)
+    rx683_cur."!cursor_pos"(rx683_pos)
+    $P10 = rx683_cur."param_var"()
+    unless $P10, rx683_fail
+    rx683_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("param_var")
-    rx678_pos = $P10."pos"()
-    goto alt684_end
-  alt684_1:
-  alt686_0:
-.annotate 'line', 313
-    set_addr $I10, alt686_1
-    rx678_cur."!mark_push"(0, rx678_pos, $I10)
+    rx683_pos = $P10."pos"()
+    goto alt689_end
+  alt689_1:
+  alt691_0:
+.annotate 'line', 315
+    set_addr $I10, alt691_1
+    rx683_cur."!mark_push"(0, rx683_pos, $I10)
   # rx subrule "param_var" subtype=capture negate=
-    rx678_cur."!cursor_pos"(rx678_pos)
-    $P10 = rx678_cur."param_var"()
-    unless $P10, rx678_fail
-    rx678_cur."!mark_push"(0, -1, 0, $P10)
+    rx683_cur."!cursor_pos"(rx683_pos)
+    $P10 = rx683_cur."param_var"()
+    unless $P10, rx683_fail
+    rx683_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("param_var")
-    rx678_pos = $P10."pos"()
-    goto alt686_end
-  alt686_1:
+    rx683_pos = $P10."pos"()
+    goto alt691_end
+  alt691_1:
   # rx subrule "named_param" subtype=capture negate=
-    rx678_cur."!cursor_pos"(rx678_pos)
-    $P10 = rx678_cur."named_param"()
-    unless $P10, rx678_fail
-    rx678_cur."!mark_push"(0, -1, 0, $P10)
+    rx683_cur."!cursor_pos"(rx683_pos)
+    $P10 = rx683_cur."named_param"()
+    unless $P10, rx683_fail
+    rx683_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("named_param")
-    rx678_pos = $P10."pos"()
-  alt686_end:
+    rx683_pos = $P10."pos"()
+  alt691_end:
   # rx subcapture "quant"
-    set_addr $I10, rxcap_688_fail
-    rx678_cur."!mark_push"(0, rx678_pos, $I10)
-  alt687_0:
-    set_addr $I10, alt687_1
-    rx678_cur."!mark_push"(0, rx678_pos, $I10)
+    set_addr $I10, rxcap_693_fail
+    rx683_cur."!mark_push"(0, rx683_pos, $I10)
+  alt692_0:
+    set_addr $I10, alt692_1
+    rx683_cur."!mark_push"(0, rx683_pos, $I10)
   # rx literal  "?"
-    add $I11, rx678_pos, 1
-    gt $I11, rx678_eos, rx678_fail
-    sub $I11, rx678_pos, rx678_off
-    substr $S10, rx678_tgt, $I11, 1
-    ne $S10, "?", rx678_fail
-    add rx678_pos, 1
-    goto alt687_end
-  alt687_1:
-    set_addr $I10, alt687_2
-    rx678_cur."!mark_push"(0, rx678_pos, $I10)
+    add $I11, rx683_pos, 1
+    gt $I11, rx683_eos, rx683_fail
+    sub $I11, rx683_pos, rx683_off
+    substr $S10, rx683_tgt, $I11, 1
+    ne $S10, "?", rx683_fail
+    add rx683_pos, 1
+    goto alt692_end
+  alt692_1:
+    set_addr $I10, alt692_2
+    rx683_cur."!mark_push"(0, rx683_pos, $I10)
   # rx literal  "!"
-    add $I11, rx678_pos, 1
-    gt $I11, rx678_eos, rx678_fail
-    sub $I11, rx678_pos, rx678_off
-    substr $S10, rx678_tgt, $I11, 1
-    ne $S10, "!", rx678_fail
-    add rx678_pos, 1
-    goto alt687_end
-  alt687_2:
-  alt687_end:
-    set_addr $I10, rxcap_688_fail
-    ($I12, $I11) = rx678_cur."!mark_peek"($I10)
-    rx678_cur."!cursor_pos"($I11)
-    ($P10) = rx678_cur."!cursor_start"()
-    $P10."!cursor_pass"(rx678_pos, "")
-    rx678_cur."!mark_push"(0, -1, 0, $P10)
+    add $I11, rx683_pos, 1
+    gt $I11, rx683_eos, rx683_fail
+    sub $I11, rx683_pos, rx683_off
+    substr $S10, rx683_tgt, $I11, 1
+    ne $S10, "!", rx683_fail
+    add rx683_pos, 1
+    goto alt692_end
+  alt692_2:
+  alt692_end:
+    set_addr $I10, rxcap_693_fail
+    ($I12, $I11) = rx683_cur."!mark_peek"($I10)
+    rx683_cur."!cursor_pos"($I11)
+    ($P10) = rx683_cur."!cursor_start"()
+    $P10."!cursor_pass"(rx683_pos, "")
+    rx683_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("quant")
-    goto rxcap_688_done
-  rxcap_688_fail:
-    goto rx678_fail
-  rxcap_688_done:
-  alt684_end:
-.annotate 'line', 315
-  # rx rxquantr689 ** 0..1
-    set_addr $I690, rxquantr689_done
-    rx678_cur."!mark_push"(0, rx678_pos, $I690)
-  rxquantr689_loop:
+    goto rxcap_693_done
+  rxcap_693_fail:
+    goto rx683_fail
+  rxcap_693_done:
+  alt689_end:
+.annotate 'line', 317
+  # rx rxquantr694 ** 0..1
+    set_addr $I695, rxquantr694_done
+    rx683_cur."!mark_push"(0, rx683_pos, $I695)
+  rxquantr694_loop:
   # rx subrule "default_value" subtype=capture negate=
-    rx678_cur."!cursor_pos"(rx678_pos)
-    $P10 = rx678_cur."default_value"()
-    unless $P10, rx678_fail
-    rx678_cur."!mark_push"(0, -1, 0, $P10)
+    rx683_cur."!cursor_pos"(rx683_pos)
+    $P10 = rx683_cur."default_value"()
+    unless $P10, rx683_fail
+    rx683_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("default_value")
-    rx678_pos = $P10."pos"()
-    (rx678_rep) = rx678_cur."!mark_commit"($I690)
-  rxquantr689_done:
-.annotate 'line', 309
+    rx683_pos = $P10."pos"()
+    (rx683_rep) = rx683_cur."!mark_commit"($I695)
+  rxquantr694_done:
+.annotate 'line', 311
   # rx pass
-    rx678_cur."!cursor_pass"(rx678_pos, "parameter")
-    rx678_cur."!cursor_debug"("PASS  ", "parameter", " at pos=", rx678_pos)
-    .return (rx678_cur)
-  rx678_fail:
+    rx683_cur."!cursor_pass"(rx683_pos, "parameter")
+    rx683_cur."!cursor_debug"("PASS  ", "parameter", " at pos=", rx683_pos)
+    .return (rx683_cur)
+  rx683_fail:
 .annotate 'line', 4
-    (rx678_rep, rx678_pos, $I10, $P10) = rx678_cur."!mark_fail"(0)
-    lt rx678_pos, -1, rx678_done
-    eq rx678_pos, -1, rx678_fail
+    (rx683_rep, rx683_pos, $I10, $P10) = rx683_cur."!mark_fail"(0)
+    lt rx683_pos, -1, rx683_done
+    eq rx683_pos, -1, rx683_fail
     jump $I10
-  rx678_done:
-    rx678_cur."!cursor_fail"()
-    rx678_cur."!cursor_debug"("FAIL  ", "parameter")
-    .return (rx678_cur)
+  rx683_done:
+    rx683_cur."!cursor_fail"()
+    rx683_cur."!cursor_debug"("FAIL  ", "parameter")
+    .return (rx683_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__parameter"  :subid("160_1274800460.92525") :method
+.sub "!PREFIX__parameter"  :subid("162_1274853038.58734") :method
 .annotate 'line', 4
-    new $P680, "ResizablePMCArray"
-    push $P680, ""
-    .return ($P680)
+    new $P685, "ResizablePMCArray"
+    push $P685, ""
+    .return ($P685)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "param_var"  :subid("161_1274800460.92525") :method :outer("11_1274800460.92525")
+.sub "param_var"  :subid("163_1274853038.58734") :method :outer("11_1274853038.58734")
 .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 ", "param_var")
-    rx692_cur."!cursor_caparray"("twigil")
-    .lex unicode:"$\x{a2}", rx692_cur
+    .local string rx697_tgt
+    .local int rx697_pos
+    .local int rx697_off
+    .local int rx697_eos
+    .local int rx697_rep
+    .local pmc rx697_cur
+    (rx697_cur, rx697_pos, rx697_tgt) = self."!cursor_start"()
+    rx697_cur."!cursor_debug"("START ", "param_var")
+    rx697_cur."!cursor_caparray"("twigil")
+    .lex unicode:"$\x{a2}", rx697_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:
+    length rx697_eos, rx697_tgt
+    set rx697_off, 0
+    lt rx697_pos, 2, rx697_start
+    sub rx697_off, rx697_pos, 1
+    substr rx697_tgt, rx697_tgt, rx697_off
+  rx697_start:
     $I10 = self.'from'()
-    ne $I10, -1, rxscan696_done
-    goto rxscan696_scan
-  rxscan696_loop:
-    ($P10) = rx692_cur."from"()
+    ne $I10, -1, rxscan701_done
+    goto rxscan701_scan
+  rxscan701_loop:
+    ($P10) = rx697_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', 319
+    set rx697_pos, $P10
+    ge rx697_pos, rx697_eos, rxscan701_done
+  rxscan701_scan:
+    set_addr $I10, rxscan701_loop
+    rx697_cur."!mark_push"(0, rx697_pos, $I10)
+  rxscan701_done:
+.annotate 'line', 321
   # rx subrule "sigil" subtype=capture negate=
-    rx692_cur."!cursor_pos"(rx692_pos)
-    $P10 = rx692_cur."sigil"()
-    unless $P10, rx692_fail
-    rx692_cur."!mark_push"(0, -1, 0, $P10)
+    rx697_cur."!cursor_pos"(rx697_pos)
+    $P10 = rx697_cur."sigil"()
+    unless $P10, rx697_fail
+    rx697_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("sigil")
-    rx692_pos = $P10."pos"()
-  # rx rxquantr697 ** 0..1
-    set_addr $I698, rxquantr697_done
-    rx692_cur."!mark_push"(0, rx692_pos, $I698)
-  rxquantr697_loop:
+    rx697_pos = $P10."pos"()
+  # rx rxquantr702 ** 0..1
+    set_addr $I703, rxquantr702_done
+    rx697_cur."!mark_push"(0, rx697_pos, $I703)
+  rxquantr702_loop:
   # rx subrule "twigil" subtype=capture negate=
-    rx692_cur."!cursor_pos"(rx692_pos)
-    $P10 = rx692_cur."twigil"()
-    unless $P10, rx692_fail
-    rx692_cur."!mark_push"(0, -1, 0, $P10)
+    rx697_cur."!cursor_pos"(rx697_pos)
+    $P10 = rx697_cur."twigil"()
+    unless $P10, rx697_fail
+    rx697_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("twigil")
-    rx692_pos = $P10."pos"()
-    (rx692_rep) = rx692_cur."!mark_commit"($I698)
-  rxquantr697_done:
-  alt699_0:
-.annotate 'line', 320
-    set_addr $I10, alt699_1
-    rx692_cur."!mark_push"(0, rx692_pos, $I10)
+    rx697_pos = $P10."pos"()
+    (rx697_rep) = rx697_cur."!mark_commit"($I703)
+  rxquantr702_done:
+  alt704_0:
+.annotate 'line', 322
+    set_addr $I10, alt704_1
+    rx697_cur."!mark_push"(0, rx697_pos, $I10)
   # rx subrule "ident" subtype=capture negate=
-    rx692_cur."!cursor_pos"(rx692_pos)
-    $P10 = rx692_cur."ident"()
-    unless $P10, rx692_fail
-    rx692_cur."!mark_push"(0, -1, 0, $P10)
+    rx697_cur."!cursor_pos"(rx697_pos)
+    $P10 = rx697_cur."ident"()
+    unless $P10, rx697_fail
+    rx697_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("name")
-    rx692_pos = $P10."pos"()
-    goto alt699_end
-  alt699_1:
+    rx697_pos = $P10."pos"()
+    goto alt704_end
+  alt704_1:
   # rx subcapture "name"
-    set_addr $I10, rxcap_700_fail
-    rx692_cur."!mark_push"(0, rx692_pos, $I10)
+    set_addr $I10, rxcap_705_fail
+    rx697_cur."!mark_push"(0, rx697_pos, $I10)
   # rx enumcharlist negate=0 
-    ge rx692_pos, rx692_eos, rx692_fail
-    sub $I10, rx692_pos, rx692_off
-    substr $S10, rx692_tgt, $I10, 1
+    ge rx697_pos, rx697_eos, rx697_fail
+    sub $I10, rx697_pos, rx697_off
+    substr $S10, rx697_tgt, $I10, 1
     index $I11, "/!", $S10
-    lt $I11, 0, rx692_fail
-    inc rx692_pos
-    set_addr $I10, rxcap_700_fail
-    ($I12, $I11) = rx692_cur."!mark_peek"($I10)
-    rx692_cur."!cursor_pos"($I11)
-    ($P10) = rx692_cur."!cursor_start"()
-    $P10."!cursor_pass"(rx692_pos, "")
-    rx692_cur."!mark_push"(0, -1, 0, $P10)
+    lt $I11, 0, rx697_fail
+    inc rx697_pos
+    set_addr $I10, rxcap_705_fail
+    ($I12, $I11) = rx697_cur."!mark_peek"($I10)
+    rx697_cur."!cursor_pos"($I11)
+    ($P10) = rx697_cur."!cursor_start"()
+    $P10."!cursor_pass"(rx697_pos, "")
+    rx697_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("name")
-    goto rxcap_700_done
-  rxcap_700_fail:
-    goto rx692_fail
-  rxcap_700_done:
-  alt699_end:
-.annotate 'line', 318
+    goto rxcap_705_done
+  rxcap_705_fail:
+    goto rx697_fail
+  rxcap_705_done:
+  alt704_end:
+.annotate 'line', 320
   # rx pass
-    rx692_cur."!cursor_pass"(rx692_pos, "param_var")
-    rx692_cur."!cursor_debug"("PASS  ", "param_var", " at pos=", rx692_pos)
-    .return (rx692_cur)
-  rx692_fail:
+    rx697_cur."!cursor_pass"(rx697_pos, "param_var")
+    rx697_cur."!cursor_debug"("PASS  ", "param_var", " at pos=", rx697_pos)
+    .return (rx697_cur)
+  rx697_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
+    (rx697_rep, rx697_pos, $I10, $P10) = rx697_cur."!mark_fail"(0)
+    lt rx697_pos, -1, rx697_done
+    eq rx697_pos, -1, rx697_fail
     jump $I10
-  rx692_done:
-    rx692_cur."!cursor_fail"()
-    rx692_cur."!cursor_debug"("FAIL  ", "param_var")
-    .return (rx692_cur)
+  rx697_done:
+    rx697_cur."!cursor_fail"()
+    rx697_cur."!cursor_debug"("FAIL  ", "param_var")
+    .return (rx697_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__param_var"  :subid("162_1274800460.92525") :method
+.sub "!PREFIX__param_var"  :subid("164_1274853038.58734") :method
 .annotate 'line', 4
-    $P694 = self."!PREFIX__!subrule"("sigil", "")
-    new $P695, "ResizablePMCArray"
-    push $P695, $P694
-    .return ($P695)
+    $P699 = self."!PREFIX__!subrule"("sigil", "")
+    new $P700, "ResizablePMCArray"
+    push $P700, $P699
+    .return ($P700)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "named_param"  :subid("163_1274800460.92525") :method :outer("11_1274800460.92525")
+.sub "named_param"  :subid("165_1274853038.58734") :method :outer("11_1274853038.58734")
 .annotate 'line', 4
-    .local string rx702_tgt
-    .local int rx702_pos
-    .local int rx702_off
-    .local int rx702_eos
-    .local int rx702_rep
-    .local pmc rx702_cur
-    (rx702_cur, rx702_pos, rx702_tgt) = self."!cursor_start"()
-    rx702_cur."!cursor_debug"("START ", "named_param")
-    .lex unicode:"$\x{a2}", rx702_cur
+    .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 ", "named_param")
+    .lex unicode:"$\x{a2}", rx707_cur
     .local pmc match
     .lex "$/", match
-    length rx702_eos, rx702_tgt
-    set rx702_off, 0
-    lt rx702_pos, 2, rx702_start
-    sub rx702_off, rx702_pos, 1
-    substr rx702_tgt, rx702_tgt, rx702_off
-  rx702_start:
+    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, rxscan706_done
-    goto rxscan706_scan
-  rxscan706_loop:
-    ($P10) = rx702_cur."from"()
+    ne $I10, -1, rxscan711_done
+    goto rxscan711_scan
+  rxscan711_loop:
+    ($P10) = rx707_cur."from"()
     inc $P10
-    set rx702_pos, $P10
-    ge rx702_pos, rx702_eos, rxscan706_done
-  rxscan706_scan:
-    set_addr $I10, rxscan706_loop
-    rx702_cur."!mark_push"(0, rx702_pos, $I10)
-  rxscan706_done:
-.annotate 'line', 324
+    set rx707_pos, $P10
+    ge rx707_pos, rx707_eos, rxscan711_done
+  rxscan711_scan:
+    set_addr $I10, rxscan711_loop
+    rx707_cur."!mark_push"(0, rx707_pos, $I10)
+  rxscan711_done:
+.annotate 'line', 326
   # rx literal  ":"
-    add $I11, rx702_pos, 1
-    gt $I11, rx702_eos, rx702_fail
-    sub $I11, rx702_pos, rx702_off
-    substr $S10, rx702_tgt, $I11, 1
-    ne $S10, ":", rx702_fail
-    add rx702_pos, 1
+    add $I11, rx707_pos, 1
+    gt $I11, rx707_eos, rx707_fail
+    sub $I11, rx707_pos, rx707_off
+    substr $S10, rx707_tgt, $I11, 1
+    ne $S10, ":", rx707_fail
+    add rx707_pos, 1
   # rx subrule "param_var" subtype=capture negate=
-    rx702_cur."!cursor_pos"(rx702_pos)
-    $P10 = rx702_cur."param_var"()
-    unless $P10, rx702_fail
-    rx702_cur."!mark_push"(0, -1, 0, $P10)
+    rx707_cur."!cursor_pos"(rx707_pos)
+    $P10 = rx707_cur."param_var"()
+    unless $P10, rx707_fail
+    rx707_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("param_var")
-    rx702_pos = $P10."pos"()
-.annotate 'line', 323
+    rx707_pos = $P10."pos"()
+.annotate 'line', 325
   # rx pass
-    rx702_cur."!cursor_pass"(rx702_pos, "named_param")
-    rx702_cur."!cursor_debug"("PASS  ", "named_param", " at pos=", rx702_pos)
-    .return (rx702_cur)
-  rx702_fail:
+    rx707_cur."!cursor_pass"(rx707_pos, "named_param")
+    rx707_cur."!cursor_debug"("PASS  ", "named_param", " at pos=", rx707_pos)
+    .return (rx707_cur)
+  rx707_fail:
 .annotate 'line', 4
-    (rx702_rep, rx702_pos, $I10, $P10) = rx702_cur."!mark_fail"(0)
-    lt rx702_pos, -1, rx702_done
-    eq rx702_pos, -1, rx702_fail
+    (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
-  rx702_done:
-    rx702_cur."!cursor_fail"()
-    rx702_cur."!cursor_debug"("FAIL  ", "named_param")
-    .return (rx702_cur)
+  rx707_done:
+    rx707_cur."!cursor_fail"()
+    rx707_cur."!cursor_debug"("FAIL  ", "named_param")
+    .return (rx707_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__named_param"  :subid("164_1274800460.92525") :method
+.sub "!PREFIX__named_param"  :subid("166_1274853038.58734") :method
 .annotate 'line', 4
-    $P704 = self."!PREFIX__!subrule"("param_var", ":")
-    new $P705, "ResizablePMCArray"
-    push $P705, $P704
-    .return ($P705)
+    $P709 = self."!PREFIX__!subrule"("param_var", ":")
+    new $P710, "ResizablePMCArray"
+    push $P710, $P709
+    .return ($P710)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "default_value"  :subid("165_1274800460.92525") :method :outer("11_1274800460.92525")
+.sub "default_value"  :subid("167_1274853038.58734") :method :outer("11_1274853038.58734")
 .annotate 'line', 4
-    .local string rx708_tgt
-    .local int rx708_pos
-    .local int rx708_off
-    .local int rx708_eos
-    .local int rx708_rep
-    .local pmc rx708_cur
-    (rx708_cur, rx708_pos, rx708_tgt) = self."!cursor_start"()
-    rx708_cur."!cursor_debug"("START ", "default_value")
-    .lex unicode:"$\x{a2}", rx708_cur
-    .local pmc match
-    .lex "$/", match
-    length rx708_eos, rx708_tgt
-    set rx708_off, 0
-    lt rx708_pos, 2, rx708_start
-    sub rx708_off, rx708_pos, 1
-    substr rx708_tgt, rx708_tgt, rx708_off
-  rx708_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan711_done
-    goto rxscan711_scan
-  rxscan711_loop:
-    ($P10) = rx708_cur."from"()
-    inc $P10
-    set rx708_pos, $P10
-    ge rx708_pos, rx708_eos, rxscan711_done
-  rxscan711_scan:
-    set_addr $I10, rxscan711_loop
-    rx708_cur."!mark_push"(0, rx708_pos, $I10)
-  rxscan711_done:
-.annotate 'line', 327
+    .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 ", "default_value")
+    .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, rxscan716_done
+    goto rxscan716_scan
+  rxscan716_loop:
+    ($P10) = rx713_cur."from"()
+    inc $P10
+    set rx713_pos, $P10
+    ge rx713_pos, rx713_eos, rxscan716_done
+  rxscan716_scan:
+    set_addr $I10, rxscan716_loop
+    rx713_cur."!mark_push"(0, rx713_pos, $I10)
+  rxscan716_done:
+.annotate 'line', 329
   # rx subrule "ws" subtype=method negate=
-    rx708_cur."!cursor_pos"(rx708_pos)
-    $P10 = rx708_cur."ws"()
-    unless $P10, rx708_fail
-    rx708_pos = $P10."pos"()
+    rx713_cur."!cursor_pos"(rx713_pos)
+    $P10 = rx713_cur."ws"()
+    unless $P10, rx713_fail
+    rx713_pos = $P10."pos"()
   # rx literal  "="
-    add $I11, rx708_pos, 1
-    gt $I11, rx708_eos, rx708_fail
-    sub $I11, rx708_pos, rx708_off
-    substr $S10, rx708_tgt, $I11, 1
-    ne $S10, "=", rx708_fail
-    add rx708_pos, 1
-  # rx subrule "ws" subtype=method negate=
-    rx708_cur."!cursor_pos"(rx708_pos)
-    $P10 = rx708_cur."ws"()
-    unless $P10, rx708_fail
-    rx708_pos = $P10."pos"()
+    add $I11, rx713_pos, 1
+    gt $I11, rx713_eos, rx713_fail
+    sub $I11, rx713_pos, rx713_off
+    substr $S10, rx713_tgt, $I11, 1
+    ne $S10, "=", rx713_fail
+    add rx713_pos, 1
+  # rx subrule "ws" subtype=method negate=
+    rx713_cur."!cursor_pos"(rx713_pos)
+    $P10 = rx713_cur."ws"()
+    unless $P10, rx713_fail
+    rx713_pos = $P10."pos"()
   # rx subrule "EXPR" subtype=capture negate=
-    rx708_cur."!cursor_pos"(rx708_pos)
-    $P10 = rx708_cur."EXPR"("i=")
-    unless $P10, rx708_fail
-    rx708_cur."!mark_push"(0, -1, 0, $P10)
+    rx713_cur."!cursor_pos"(rx713_pos)
+    $P10 = rx713_cur."EXPR"("i=")
+    unless $P10, rx713_fail
+    rx713_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("EXPR")
-    rx708_pos = $P10."pos"()
+    rx713_pos = $P10."pos"()
   # rx subrule "ws" subtype=method negate=
-    rx708_cur."!cursor_pos"(rx708_pos)
-    $P10 = rx708_cur."ws"()
-    unless $P10, rx708_fail
-    rx708_pos = $P10."pos"()
+    rx713_cur."!cursor_pos"(rx713_pos)
+    $P10 = rx713_cur."ws"()
+    unless $P10, rx713_fail
+    rx713_pos = $P10."pos"()
   # rx pass
-    rx708_cur."!cursor_pass"(rx708_pos, "default_value")
-    rx708_cur."!cursor_debug"("PASS  ", "default_value", " at pos=", rx708_pos)
-    .return (rx708_cur)
-  rx708_fail:
+    rx713_cur."!cursor_pass"(rx713_pos, "default_value")
+    rx713_cur."!cursor_debug"("PASS  ", "default_value", " at pos=", rx713_pos)
+    .return (rx713_cur)
+  rx713_fail:
 .annotate 'line', 4
-    (rx708_rep, rx708_pos, $I10, $P10) = rx708_cur."!mark_fail"(0)
-    lt rx708_pos, -1, rx708_done
-    eq rx708_pos, -1, rx708_fail
+    (rx713_rep, rx713_pos, $I10, $P10) = rx713_cur."!mark_fail"(0)
+    lt rx713_pos, -1, rx713_done
+    eq rx713_pos, -1, rx713_fail
     jump $I10
-  rx708_done:
-    rx708_cur."!cursor_fail"()
-    rx708_cur."!cursor_debug"("FAIL  ", "default_value")
-    .return (rx708_cur)
+  rx713_done:
+    rx713_cur."!cursor_fail"()
+    rx713_cur."!cursor_debug"("FAIL  ", "default_value")
+    .return (rx713_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__default_value"  :subid("166_1274800460.92525") :method
+.sub "!PREFIX__default_value"  :subid("168_1274853038.58734") :method
 .annotate 'line', 4
-    new $P710, "ResizablePMCArray"
-    push $P710, ""
-    .return ($P710)
+    new $P715, "ResizablePMCArray"
+    push $P715, ""
+    .return ($P715)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "regex_declarator"  :subid("167_1274800460.92525") :method :outer("11_1274800460.92525")
+.sub "regex_declarator"  :subid("169_1274853038.58734") :method :outer("11_1274853038.58734")
 .annotate 'line', 4
-    .local string rx716_tgt
-    .local int rx716_pos
-    .local int rx716_off
-    .local int rx716_eos
-    .local int rx716_rep
-    .local pmc rx716_cur
-    (rx716_cur, rx716_pos, rx716_tgt) = self."!cursor_start"()
-    rx716_cur."!cursor_debug"("START ", "regex_declarator")
-    rx716_cur."!cursor_caparray"("signature")
-    .lex unicode:"$\x{a2}", rx716_cur
-    .local pmc match
-    .lex "$/", match
-    length rx716_eos, rx716_tgt
-    set rx716_off, 0
-    lt rx716_pos, 2, rx716_start
-    sub rx716_off, rx716_pos, 1
-    substr rx716_tgt, rx716_tgt, rx716_off
-  rx716_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan719_done
-    goto rxscan719_scan
-  rxscan719_loop:
-    ($P10) = rx716_cur."from"()
-    inc $P10
-    set rx716_pos, $P10
-    ge rx716_pos, rx716_eos, rxscan719_done
-  rxscan719_scan:
-    set_addr $I10, rxscan719_loop
-    rx716_cur."!mark_push"(0, rx716_pos, $I10)
-  rxscan719_done:
-.annotate 'line', 329
-  # rx subrule "ws" subtype=method negate=
-    rx716_cur."!cursor_pos"(rx716_pos)
-    $P10 = rx716_cur."ws"()
-    unless $P10, rx716_fail
-    rx716_pos = $P10."pos"()
-  alt721_0:
-.annotate 'line', 330
-    set_addr $I10, alt721_1
-    rx716_cur."!mark_push"(0, rx716_pos, $I10)
+    .local string rx721_tgt
+    .local int rx721_pos
+    .local int rx721_off
+    .local int rx721_eos
+    .local int rx721_rep
+    .local pmc rx721_cur
+    (rx721_cur, rx721_pos, rx721_tgt) = self."!cursor_start"()
+    rx721_cur."!cursor_debug"("START ", "regex_declarator")
+    rx721_cur."!cursor_caparray"("signature")
+    .lex unicode:"$\x{a2}", rx721_cur
+    .local pmc match
+    .lex "$/", match
+    length rx721_eos, rx721_tgt
+    set rx721_off, 0
+    lt rx721_pos, 2, rx721_start
+    sub rx721_off, rx721_pos, 1
+    substr rx721_tgt, rx721_tgt, rx721_off
+  rx721_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan724_done
+    goto rxscan724_scan
+  rxscan724_loop:
+    ($P10) = rx721_cur."from"()
+    inc $P10
+    set rx721_pos, $P10
+    ge rx721_pos, rx721_eos, rxscan724_done
+  rxscan724_scan:
+    set_addr $I10, rxscan724_loop
+    rx721_cur."!mark_push"(0, rx721_pos, $I10)
+  rxscan724_done:
 .annotate 'line', 331
   # rx subrule "ws" subtype=method negate=
-    rx716_cur."!cursor_pos"(rx716_pos)
-    $P10 = rx716_cur."ws"()
-    unless $P10, rx716_fail
-    rx716_pos = $P10."pos"()
+    rx721_cur."!cursor_pos"(rx721_pos)
+    $P10 = rx721_cur."ws"()
+    unless $P10, rx721_fail
+    rx721_pos = $P10."pos"()
+  alt726_0:
+.annotate 'line', 332
+    set_addr $I10, alt726_1
+    rx721_cur."!mark_push"(0, rx721_pos, $I10)
+.annotate 'line', 333
+  # rx subrule "ws" subtype=method negate=
+    rx721_cur."!cursor_pos"(rx721_pos)
+    $P10 = rx721_cur."ws"()
+    unless $P10, rx721_fail
+    rx721_pos = $P10."pos"()
   # rx subcapture "proto"
-    set_addr $I10, rxcap_723_fail
-    rx716_cur."!mark_push"(0, rx716_pos, $I10)
+    set_addr $I10, rxcap_728_fail
+    rx721_cur."!mark_push"(0, rx721_pos, $I10)
   # rx literal  "proto"
-    add $I11, rx716_pos, 5
-    gt $I11, rx716_eos, rx716_fail
-    sub $I11, rx716_pos, rx716_off
-    substr $S10, rx716_tgt, $I11, 5
-    ne $S10, "proto", rx716_fail
-    add rx716_pos, 5
-    set_addr $I10, rxcap_723_fail
-    ($I12, $I11) = rx716_cur."!mark_peek"($I10)
-    rx716_cur."!cursor_pos"($I11)
-    ($P10) = rx716_cur."!cursor_start"()
-    $P10."!cursor_pass"(rx716_pos, "")
-    rx716_cur."!mark_push"(0, -1, 0, $P10)
+    add $I11, rx721_pos, 5
+    gt $I11, rx721_eos, rx721_fail
+    sub $I11, rx721_pos, rx721_off
+    substr $S10, rx721_tgt, $I11, 5
+    ne $S10, "proto", rx721_fail
+    add rx721_pos, 5
+    set_addr $I10, rxcap_728_fail
+    ($I12, $I11) = rx721_cur."!mark_peek"($I10)
+    rx721_cur."!cursor_pos"($I11)
+    ($P10) = rx721_cur."!cursor_start"()
+    $P10."!cursor_pass"(rx721_pos, "")
+    rx721_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("proto")
-    goto rxcap_723_done
-  rxcap_723_fail:
-    goto rx716_fail
-  rxcap_723_done:
-  # rx subrule "ws" subtype=method negate=
-    rx716_cur."!cursor_pos"(rx716_pos)
-    $P10 = rx716_cur."ws"()
-    unless $P10, rx716_fail
-    rx716_pos = $P10."pos"()
-  alt725_0:
-    set_addr $I10, alt725_1
-    rx716_cur."!mark_push"(0, rx716_pos, $I10)
+    goto rxcap_728_done
+  rxcap_728_fail:
+    goto rx721_fail
+  rxcap_728_done:
+  # rx subrule "ws" subtype=method negate=
+    rx721_cur."!cursor_pos"(rx721_pos)
+    $P10 = rx721_cur."ws"()
+    unless $P10, rx721_fail
+    rx721_pos = $P10."pos"()
+  alt730_0:
+    set_addr $I10, alt730_1
+    rx721_cur."!mark_push"(0, rx721_pos, $I10)
   # rx literal  "regex"
-    add $I11, rx716_pos, 5
-    gt $I11, rx716_eos, rx716_fail
-    sub $I11, rx716_pos, rx716_off
-    substr $S10, rx716_tgt, $I11, 5
-    ne $S10, "regex", rx716_fail
-    add rx716_pos, 5
-    goto alt725_end
-  alt725_1:
-    set_addr $I10, alt725_2
-    rx716_cur."!mark_push"(0, rx716_pos, $I10)
+    add $I11, rx721_pos, 5
+    gt $I11, rx721_eos, rx721_fail
+    sub $I11, rx721_pos, rx721_off
+    substr $S10, rx721_tgt, $I11, 5
+    ne $S10, "regex", rx721_fail
+    add rx721_pos, 5
+    goto alt730_end
+  alt730_1:
+    set_addr $I10, alt730_2
+    rx721_cur."!mark_push"(0, rx721_pos, $I10)
   # rx literal  "token"
-    add $I11, rx716_pos, 5
-    gt $I11, rx716_eos, rx716_fail
-    sub $I11, rx716_pos, rx716_off
-    substr $S10, rx716_tgt, $I11, 5
-    ne $S10, "token", rx716_fail
-    add rx716_pos, 5
-    goto alt725_end
-  alt725_2:
+    add $I11, rx721_pos, 5
+    gt $I11, rx721_eos, rx721_fail
+    sub $I11, rx721_pos, rx721_off
+    substr $S10, rx721_tgt, $I11, 5
+    ne $S10, "token", rx721_fail
+    add rx721_pos, 5
+    goto alt730_end
+  alt730_2:
   # rx literal  "rule"
-    add $I11, rx716_pos, 4
-    gt $I11, rx716_eos, rx716_fail
-    sub $I11, rx716_pos, rx716_off
-    substr $S10, rx716_tgt, $I11, 4
-    ne $S10, "rule", rx716_fail
-    add rx716_pos, 4
-  alt725_end:
-  # rx subrule "ws" subtype=method negate=
-    rx716_cur."!cursor_pos"(rx716_pos)
-    $P10 = rx716_cur."ws"()
-    unless $P10, rx716_fail
-    rx716_pos = $P10."pos"()
-.annotate 'line', 332
+    add $I11, rx721_pos, 4
+    gt $I11, rx721_eos, rx721_fail
+    sub $I11, rx721_pos, rx721_off
+    substr $S10, rx721_tgt, $I11, 4
+    ne $S10, "rule", rx721_fail
+    add rx721_pos, 4
+  alt730_end:
+  # rx subrule "ws" subtype=method negate=
+    rx721_cur."!cursor_pos"(rx721_pos)
+    $P10 = rx721_cur."ws"()
+    unless $P10, rx721_fail
+    rx721_pos = $P10."pos"()
+.annotate 'line', 334
   # rx subrule "deflongname" subtype=capture negate=
-    rx716_cur."!cursor_pos"(rx716_pos)
-    $P10 = rx716_cur."deflongname"()
-    unless $P10, rx716_fail
-    rx716_cur."!mark_push"(0, -1, 0, $P10)
+    rx721_cur."!cursor_pos"(rx721_pos)
+    $P10 = rx721_cur."deflongname"()
+    unless $P10, rx721_fail
+    rx721_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("deflongname")
-    rx716_pos = $P10."pos"()
+    rx721_pos = $P10."pos"()
   # rx subrule "ws" subtype=method negate=
-    rx716_cur."!cursor_pos"(rx716_pos)
-    $P10 = rx716_cur."ws"()
-    unless $P10, rx716_fail
-    rx716_pos = $P10."pos"()
-  alt728_0:
-.annotate 'line', 333
-    set_addr $I10, alt728_1
-    rx716_cur."!mark_push"(0, rx716_pos, $I10)
-.annotate 'line', 334
+    rx721_cur."!cursor_pos"(rx721_pos)
+    $P10 = rx721_cur."ws"()
+    unless $P10, rx721_fail
+    rx721_pos = $P10."pos"()
+  alt733_0:
+.annotate 'line', 335
+    set_addr $I10, alt733_1
+    rx721_cur."!mark_push"(0, rx721_pos, $I10)
+.annotate 'line', 336
   # rx subrule "ws" subtype=method negate=
-    rx716_cur."!cursor_pos"(rx716_pos)
-    $P10 = rx716_cur."ws"()
-    unless $P10, rx716_fail
-    rx716_pos = $P10."pos"()
+    rx721_cur."!cursor_pos"(rx721_pos)
+    $P10 = rx721_cur."ws"()
+    unless $P10, rx721_fail
+    rx721_pos = $P10."pos"()
   # rx literal  "{"
-    add $I11, rx716_pos, 1
-    gt $I11, rx716_eos, rx716_fail
-    sub $I11, rx716_pos, rx716_off
-    substr $S10, rx716_tgt, $I11, 1
-    ne $S10, "{", rx716_fail
-    add rx716_pos, 1
-  # rx subrule "ws" subtype=method negate=
-    rx716_cur."!cursor_pos"(rx716_pos)
-    $P10 = rx716_cur."ws"()
-    unless $P10, rx716_fail
-    rx716_pos = $P10."pos"()
+    add $I11, rx721_pos, 1
+    gt $I11, rx721_eos, rx721_fail
+    sub $I11, rx721_pos, rx721_off
+    substr $S10, rx721_tgt, $I11, 1
+    ne $S10, "{", rx721_fail
+    add rx721_pos, 1
+  # rx subrule "ws" subtype=method negate=
+    rx721_cur."!cursor_pos"(rx721_pos)
+    $P10 = rx721_cur."ws"()
+    unless $P10, rx721_fail
+    rx721_pos = $P10."pos"()
   # rx literal  "<...>"
-    add $I11, rx716_pos, 5
-    gt $I11, rx716_eos, rx716_fail
-    sub $I11, rx716_pos, rx716_off
-    substr $S10, rx716_tgt, $I11, 5
-    ne $S10, "<...>", rx716_fail
-    add rx716_pos, 5
-  # rx subrule "ws" subtype=method negate=
-    rx716_cur."!cursor_pos"(rx716_pos)
-    $P10 = rx716_cur."ws"()
-    unless $P10, rx716_fail
-    rx716_pos = $P10."pos"()
+    add $I11, rx721_pos, 5
+    gt $I11, rx721_eos, rx721_fail
+    sub $I11, rx721_pos, rx721_off
+    substr $S10, rx721_tgt, $I11, 5
+    ne $S10, "<...>", rx721_fail
+    add rx721_pos, 5
+  # rx subrule "ws" subtype=method negate=
+    rx721_cur."!cursor_pos"(rx721_pos)
+    $P10 = rx721_cur."ws"()
+    unless $P10, rx721_fail
+    rx721_pos = $P10."pos"()
   # rx literal  "}"
-    add $I11, rx716_pos, 1
-    gt $I11, rx716_eos, rx716_fail
-    sub $I11, rx716_pos, rx716_off
-    substr $S10, rx716_tgt, $I11, 1
-    ne $S10, "}", rx716_fail
-    add rx716_pos, 1
+    add $I11, rx721_pos, 1
+    gt $I11, rx721_eos, rx721_fail
+    sub $I11, rx721_pos, rx721_off
+    substr $S10, rx721_tgt, $I11, 1
+    ne $S10, "}", rx721_fail
+    add rx721_pos, 1
   # rx subrule "ENDSTMT" subtype=zerowidth negate=
-    rx716_cur."!cursor_pos"(rx716_pos)
-    $P10 = rx716_cur."ENDSTMT"()
-    unless $P10, rx716_fail
-  # rx subrule "ws" subtype=method negate=
-    rx716_cur."!cursor_pos"(rx716_pos)
-    $P10 = rx716_cur."ws"()
-    unless $P10, rx716_fail
-    rx716_pos = $P10."pos"()
-    goto alt728_end
-  alt728_1:
-.annotate 'line', 335
+    rx721_cur."!cursor_pos"(rx721_pos)
+    $P10 = rx721_cur."ENDSTMT"()
+    unless $P10, rx721_fail
+  # rx subrule "ws" subtype=method negate=
+    rx721_cur."!cursor_pos"(rx721_pos)
+    $P10 = rx721_cur."ws"()
+    unless $P10, rx721_fail
+    rx721_pos = $P10."pos"()
+    goto alt733_end
+  alt733_1:
+.annotate 'line', 337
   # rx subrule "ws" subtype=method negate=
-    rx716_cur."!cursor_pos"(rx716_pos)
-    $P10 = rx716_cur."ws"()
-    unless $P10, rx716_fail
-    rx716_pos = $P10."pos"()
+    rx721_cur."!cursor_pos"(rx721_pos)
+    $P10 = rx721_cur."ws"()
+    unless $P10, rx721_fail
+    rx721_pos = $P10."pos"()
   # rx subrule "panic" subtype=method negate=
-    rx716_cur."!cursor_pos"(rx716_pos)
-    $P10 = rx716_cur."panic"("Proto regex body must be <...>")
-    unless $P10, rx716_fail
-    rx716_pos = $P10."pos"()
-  # rx subrule "ws" subtype=method negate=
-    rx716_cur."!cursor_pos"(rx716_pos)
-    $P10 = rx716_cur."ws"()
-    unless $P10, rx716_fail
-    rx716_pos = $P10."pos"()
-  alt728_end:
-.annotate 'line', 336
+    rx721_cur."!cursor_pos"(rx721_pos)
+    $P10 = rx721_cur."panic"("Proto regex body must be <...>")
+    unless $P10, rx721_fail
+    rx721_pos = $P10."pos"()
+  # rx subrule "ws" subtype=method negate=
+    rx721_cur."!cursor_pos"(rx721_pos)
+    $P10 = rx721_cur."ws"()
+    unless $P10, rx721_fail
+    rx721_pos = $P10."pos"()
+  alt733_end:
+.annotate 'line', 338
   # rx subrule "ws" subtype=method negate=
-    rx716_cur."!cursor_pos"(rx716_pos)
-    $P10 = rx716_cur."ws"()
-    unless $P10, rx716_fail
-    rx716_pos = $P10."pos"()
-.annotate 'line', 331
-    goto alt721_end
-  alt721_1:
-.annotate 'line', 337
+    rx721_cur."!cursor_pos"(rx721_pos)
+    $P10 = rx721_cur."ws"()
+    unless $P10, rx721_fail
+    rx721_pos = $P10."pos"()
+.annotate 'line', 333
+    goto alt726_end
+  alt726_1:
+.annotate 'line', 339
   # rx subrule "ws" subtype=method negate=
-    rx716_cur."!cursor_pos"(rx716_pos)
-    $P10 = rx716_cur."ws"()
-    unless $P10, rx716_fail
-    rx716_pos = $P10."pos"()
+    rx721_cur."!cursor_pos"(rx721_pos)
+    $P10 = rx721_cur."ws"()
+    unless $P10, rx721_fail
+    rx721_pos = $P10."pos"()
   # rx subcapture "sym"
-    set_addr $I10, rxcap_738_fail
-    rx716_cur."!mark_push"(0, rx716_pos, $I10)
-  alt737_0:
-    set_addr $I10, alt737_1
-    rx716_cur."!mark_push"(0, rx716_pos, $I10)
+    set_addr $I10, rxcap_743_fail
+    rx721_cur."!mark_push"(0, rx721_pos, $I10)
+  alt742_0:
+    set_addr $I10, alt742_1
+    rx721_cur."!mark_push"(0, rx721_pos, $I10)
   # rx literal  "regex"
-    add $I11, rx716_pos, 5
-    gt $I11, rx716_eos, rx716_fail
-    sub $I11, rx716_pos, rx716_off
-    substr $S10, rx716_tgt, $I11, 5
-    ne $S10, "regex", rx716_fail
-    add rx716_pos, 5
-    goto alt737_end
-  alt737_1:
-    set_addr $I10, alt737_2
-    rx716_cur."!mark_push"(0, rx716_pos, $I10)
+    add $I11, rx721_pos, 5
+    gt $I11, rx721_eos, rx721_fail
+    sub $I11, rx721_pos, rx721_off
+    substr $S10, rx721_tgt, $I11, 5
+    ne $S10, "regex", rx721_fail
+    add rx721_pos, 5
+    goto alt742_end
+  alt742_1:
+    set_addr $I10, alt742_2
+    rx721_cur."!mark_push"(0, rx721_pos, $I10)
   # rx literal  "token"
-    add $I11, rx716_pos, 5
-    gt $I11, rx716_eos, rx716_fail
-    sub $I11, rx716_pos, rx716_off
-    substr $S10, rx716_tgt, $I11, 5
-    ne $S10, "token", rx716_fail
-    add rx716_pos, 5
-    goto alt737_end
-  alt737_2:
+    add $I11, rx721_pos, 5
+    gt $I11, rx721_eos, rx721_fail
+    sub $I11, rx721_pos, rx721_off
+    substr $S10, rx721_tgt, $I11, 5
+    ne $S10, "token", rx721_fail
+    add rx721_pos, 5
+    goto alt742_end
+  alt742_2:
   # rx literal  "rule"
-    add $I11, rx716_pos, 4
-    gt $I11, rx716_eos, rx716_fail
-    sub $I11, rx716_pos, rx716_off
-    substr $S10, rx716_tgt, $I11, 4
-    ne $S10, "rule", rx716_fail
-    add rx716_pos, 4
-  alt737_end:
-    set_addr $I10, rxcap_738_fail
-    ($I12, $I11) = rx716_cur."!mark_peek"($I10)
-    rx716_cur."!cursor_pos"($I11)
-    ($P10) = rx716_cur."!cursor_start"()
-    $P10."!cursor_pass"(rx716_pos, "")
-    rx716_cur."!mark_push"(0, -1, 0, $P10)
+    add $I11, rx721_pos, 4
+    gt $I11, rx721_eos, rx721_fail
+    sub $I11, rx721_pos, rx721_off
+    substr $S10, rx721_tgt, $I11, 4
+    ne $S10, "rule", rx721_fail
+    add rx721_pos, 4
+  alt742_end:
+    set_addr $I10, rxcap_743_fail
+    ($I12, $I11) = rx721_cur."!mark_peek"($I10)
+    rx721_cur."!cursor_pos"($I11)
+    ($P10) = rx721_cur."!cursor_start"()
+    $P10."!cursor_pass"(rx721_pos, "")
+    rx721_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("sym")
-    goto rxcap_738_done
-  rxcap_738_fail:
-    goto rx716_fail
-  rxcap_738_done:
-  # rx subrule "ws" subtype=method negate=
-    rx716_cur."!cursor_pos"(rx716_pos)
-    $P10 = rx716_cur."ws"()
-    unless $P10, rx716_fail
-    rx716_pos = $P10."pos"()
-.annotate 'line', 338
+    goto rxcap_743_done
+  rxcap_743_fail:
+    goto rx721_fail
+  rxcap_743_done:
+  # rx subrule "ws" subtype=method negate=
+    rx721_cur."!cursor_pos"(rx721_pos)
+    $P10 = rx721_cur."ws"()
+    unless $P10, rx721_fail
+    rx721_pos = $P10."pos"()
+.annotate 'line', 340
   # rx subrule "deflongname" subtype=capture negate=
-    rx716_cur."!cursor_pos"(rx716_pos)
-    $P10 = rx716_cur."deflongname"()
-    unless $P10, rx716_fail
-    rx716_cur."!mark_push"(0, -1, 0, $P10)
+    rx721_cur."!cursor_pos"(rx721_pos)
+    $P10 = rx721_cur."deflongname"()
+    unless $P10, rx721_fail
+    rx721_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("deflongname")
-    rx716_pos = $P10."pos"()
+    rx721_pos = $P10."pos"()
   # rx subrule "ws" subtype=method negate=
-    rx716_cur."!cursor_pos"(rx716_pos)
-    $P10 = rx716_cur."ws"()
-    unless $P10, rx716_fail
-    rx716_pos = $P10."pos"()
-.annotate 'line', 339
+    rx721_cur."!cursor_pos"(rx721_pos)
+    $P10 = rx721_cur."ws"()
+    unless $P10, rx721_fail
+    rx721_pos = $P10."pos"()
+.annotate 'line', 341
   # rx subrule "newpad" subtype=method negate=
-    rx716_cur."!cursor_pos"(rx716_pos)
-    $P10 = rx716_cur."newpad"()
-    unless $P10, rx716_fail
-    rx716_pos = $P10."pos"()
-  # rx subrule "ws" subtype=method negate=
-    rx716_cur."!cursor_pos"(rx716_pos)
-    $P10 = rx716_cur."ws"()
-    unless $P10, rx716_fail
-    rx716_pos = $P10."pos"()
-.annotate 'line', 340
-  # rx rxquantr742 ** 0..1
-    set_addr $I747, rxquantr742_done
-    rx716_cur."!mark_push"(0, rx716_pos, $I747)
-  rxquantr742_loop:
-  # rx subrule "ws" subtype=method negate=
-    rx716_cur."!cursor_pos"(rx716_pos)
-    $P10 = rx716_cur."ws"()
-    unless $P10, rx716_fail
-    rx716_pos = $P10."pos"()
+    rx721_cur."!cursor_pos"(rx721_pos)
+    $P10 = rx721_cur."newpad"()
+    unless $P10, rx721_fail
+    rx721_pos = $P10."pos"()
+  # rx subrule "ws" subtype=method negate=
+    rx721_cur."!cursor_pos"(rx721_pos)
+    $P10 = rx721_cur."ws"()
+    unless $P10, rx721_fail
+    rx721_pos = $P10."pos"()
+.annotate 'line', 342
+  # rx rxquantr747 ** 0..1
+    set_addr $I752, rxquantr747_done
+    rx721_cur."!mark_push"(0, rx721_pos, $I752)
+  rxquantr747_loop:
+  # rx subrule "ws" subtype=method negate=
+    rx721_cur."!cursor_pos"(rx721_pos)
+    $P10 = rx721_cur."ws"()
+    unless $P10, rx721_fail
+    rx721_pos = $P10."pos"()
   # rx literal  "("
-    add $I11, rx716_pos, 1
-    gt $I11, rx716_eos, rx716_fail
-    sub $I11, rx716_pos, rx716_off
-    substr $S10, rx716_tgt, $I11, 1
-    ne $S10, "(", rx716_fail
-    add rx716_pos, 1
-  # rx subrule "ws" subtype=method negate=
-    rx716_cur."!cursor_pos"(rx716_pos)
-    $P10 = rx716_cur."ws"()
-    unless $P10, rx716_fail
-    rx716_pos = $P10."pos"()
+    add $I11, rx721_pos, 1
+    gt $I11, rx721_eos, rx721_fail
+    sub $I11, rx721_pos, rx721_off
+    substr $S10, rx721_tgt, $I11, 1
+    ne $S10, "(", rx721_fail
+    add rx721_pos, 1
+  # rx subrule "ws" subtype=method negate=
+    rx721_cur."!cursor_pos"(rx721_pos)
+    $P10 = rx721_cur."ws"()
+    unless $P10, rx721_fail
+    rx721_pos = $P10."pos"()
   # rx subrule "signature" subtype=capture negate=
-    rx716_cur."!cursor_pos"(rx716_pos)
-    $P10 = rx716_cur."signature"()
-    unless $P10, rx716_fail
-    rx716_cur."!mark_push"(0, -1, 0, $P10)
+    rx721_cur."!cursor_pos"(rx721_pos)
+    $P10 = rx721_cur."signature"()
+    unless $P10, rx721_fail
+    rx721_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("signature")
-    rx716_pos = $P10."pos"()
+    rx721_pos = $P10."pos"()
   # rx subrule "ws" subtype=method negate=
-    rx716_cur."!cursor_pos"(rx716_pos)
-    $P10 = rx716_cur."ws"()
-    unless $P10, rx716_fail
-    rx716_pos = $P10."pos"()
+    rx721_cur."!cursor_pos"(rx721_pos)
+    $P10 = rx721_cur."ws"()
+    unless $P10, rx721_fail
+    rx721_pos = $P10."pos"()
   # rx literal  ")"
-    add $I11, rx716_pos, 1
-    gt $I11, rx716_eos, rx716_fail
-    sub $I11, rx716_pos, rx716_off
-    substr $S10, rx716_tgt, $I11, 1
-    ne $S10, ")", rx716_fail
-    add rx716_pos, 1
-  # rx subrule "ws" subtype=method negate=
-    rx716_cur."!cursor_pos"(rx716_pos)
-    $P10 = rx716_cur."ws"()
-    unless $P10, rx716_fail
-    rx716_pos = $P10."pos"()
-    (rx716_rep) = rx716_cur."!mark_commit"($I747)
-  rxquantr742_done:
-  # rx subrule "ws" subtype=method negate=
-    rx716_cur."!cursor_pos"(rx716_pos)
-    $P10 = rx716_cur."ws"()
-    unless $P10, rx716_fail
-    rx716_pos = $P10."pos"()
-.annotate 'line', 341
+    add $I11, rx721_pos, 1
+    gt $I11, rx721_eos, rx721_fail
+    sub $I11, rx721_pos, rx721_off
+    substr $S10, rx721_tgt, $I11, 1
+    ne $S10, ")", rx721_fail
+    add rx721_pos, 1
+  # rx subrule "ws" subtype=method negate=
+    rx721_cur."!cursor_pos"(rx721_pos)
+    $P10 = rx721_cur."ws"()
+    unless $P10, rx721_fail
+    rx721_pos = $P10."pos"()
+    (rx721_rep) = rx721_cur."!mark_commit"($I752)
+  rxquantr747_done:
+  # rx subrule "ws" subtype=method negate=
+    rx721_cur."!cursor_pos"(rx721_pos)
+    $P10 = rx721_cur."ws"()
+    unless $P10, rx721_fail
+    rx721_pos = $P10."pos"()
+.annotate 'line', 343
   # rx reduce name="regex_declarator" key="open"
-    rx716_cur."!cursor_pos"(rx716_pos)
-    rx716_cur."!reduce"("regex_declarator", "open")
+    rx721_cur."!cursor_pos"(rx721_pos)
+    rx721_cur."!reduce"("regex_declarator", "open")
   # rx subrule "ws" subtype=method negate=
-    rx716_cur."!cursor_pos"(rx716_pos)
-    $P10 = rx716_cur."ws"()
-    unless $P10, rx716_fail
-    rx716_pos = $P10."pos"()
-.annotate 'line', 342
+    rx721_cur."!cursor_pos"(rx721_pos)
+    $P10 = rx721_cur."ws"()
+    unless $P10, rx721_fail
+    rx721_pos = $P10."pos"()
+.annotate 'line', 344
   # rx literal  "{"
-    add $I11, rx716_pos, 1
-    gt $I11, rx716_eos, rx716_fail
-    sub $I11, rx716_pos, rx716_off
-    substr $S10, rx716_tgt, $I11, 1
-    ne $S10, "{", rx716_fail
-    add rx716_pos, 1
+    add $I11, rx721_pos, 1
+    gt $I11, rx721_eos, rx721_fail
+    sub $I11, rx721_pos, rx721_off
+    substr $S10, rx721_tgt, $I11, 1
+    ne $S10, "{", rx721_fail
+    add rx721_pos, 1
   # rx subrule "LANG" subtype=capture negate=
-    rx716_cur."!cursor_pos"(rx716_pos)
-    $P10 = rx716_cur."LANG"("Regex", "nibbler")
-    unless $P10, rx716_fail
-    rx716_cur."!mark_push"(0, -1, 0, $P10)
+    rx721_cur."!cursor_pos"(rx721_pos)
+    $P10 = rx721_cur."LANG"("Regex", "nibbler")
+    unless $P10, rx721_fail
+    rx721_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("p6regex")
-    rx716_pos = $P10."pos"()
+    rx721_pos = $P10."pos"()
   # rx literal  "}"
-    add $I11, rx716_pos, 1
-    gt $I11, rx716_eos, rx716_fail
-    sub $I11, rx716_pos, rx716_off
-    substr $S10, rx716_tgt, $I11, 1
-    ne $S10, "}", rx716_fail
-    add rx716_pos, 1
+    add $I11, rx721_pos, 1
+    gt $I11, rx721_eos, rx721_fail
+    sub $I11, rx721_pos, rx721_off
+    substr $S10, rx721_tgt, $I11, 1
+    ne $S10, "}", rx721_fail
+    add rx721_pos, 1
   # rx subrule "ENDSTMT" subtype=zerowidth negate=
-    rx716_cur."!cursor_pos"(rx716_pos)
-    $P10 = rx716_cur."ENDSTMT"()
-    unless $P10, rx716_fail
-  # rx subrule "ws" subtype=method negate=
-    rx716_cur."!cursor_pos"(rx716_pos)
-    $P10 = rx716_cur."ws"()
-    unless $P10, rx716_fail
-    rx716_pos = $P10."pos"()
-  alt721_end:
-.annotate 'line', 343
-  # rx subrule "ws" subtype=method negate=
-    rx716_cur."!cursor_pos"(rx716_pos)
-    $P10 = rx716_cur."ws"()
-    unless $P10, rx716_fail
-    rx716_pos = $P10."pos"()
-.annotate 'line', 329
+    rx721_cur."!cursor_pos"(rx721_pos)
+    $P10 = rx721_cur."ENDSTMT"()
+    unless $P10, rx721_fail
+  # rx subrule "ws" subtype=method negate=
+    rx721_cur."!cursor_pos"(rx721_pos)
+    $P10 = rx721_cur."ws"()
+    unless $P10, rx721_fail
+    rx721_pos = $P10."pos"()
+  alt726_end:
+.annotate 'line', 345
+  # rx subrule "ws" subtype=method negate=
+    rx721_cur."!cursor_pos"(rx721_pos)
+    $P10 = rx721_cur."ws"()
+    unless $P10, rx721_fail
+    rx721_pos = $P10."pos"()
+.annotate 'line', 331
   # rx pass
-    rx716_cur."!cursor_pass"(rx716_pos, "regex_declarator")
-    rx716_cur."!cursor_debug"("PASS  ", "regex_declarator", " at pos=", rx716_pos)
-    .return (rx716_cur)
-  rx716_fail:
+    rx721_cur."!cursor_pass"(rx721_pos, "regex_declarator")
+    rx721_cur."!cursor_debug"("PASS  ", "regex_declarator", " at pos=", rx721_pos)
+    .return (rx721_cur)
+  rx721_fail:
 .annotate 'line', 4
-    (rx716_rep, rx716_pos, $I10, $P10) = rx716_cur."!mark_fail"(0)
-    lt rx716_pos, -1, rx716_done
-    eq rx716_pos, -1, rx716_fail
+    (rx721_rep, rx721_pos, $I10, $P10) = rx721_cur."!mark_fail"(0)
+    lt rx721_pos, -1, rx721_done
+    eq rx721_pos, -1, rx721_fail
     jump $I10
-  rx716_done:
-    rx716_cur."!cursor_fail"()
-    rx716_cur."!cursor_debug"("FAIL  ", "regex_declarator")
-    .return (rx716_cur)
+  rx721_done:
+    rx721_cur."!cursor_fail"()
+    rx721_cur."!cursor_debug"("FAIL  ", "regex_declarator")
+    .return (rx721_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__regex_declarator"  :subid("168_1274800460.92525") :method
+.sub "!PREFIX__regex_declarator"  :subid("170_1274853038.58734") :method
 .annotate 'line', 4
-    new $P718, "ResizablePMCArray"
-    push $P718, ""
-    .return ($P718)
+    new $P723, "ResizablePMCArray"
+    push $P723, ""
+    .return ($P723)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "dotty"  :subid("169_1274800460.92525") :method :outer("11_1274800460.92525")
+.sub "dotty"  :subid("171_1274853038.58734") :method :outer("11_1274853038.58734")
 .annotate 'line', 4
-    .local string rx753_tgt
-    .local int rx753_pos
-    .local int rx753_off
-    .local int rx753_eos
-    .local int rx753_rep
-    .local pmc rx753_cur
-    (rx753_cur, rx753_pos, rx753_tgt) = self."!cursor_start"()
-    rx753_cur."!cursor_debug"("START ", "dotty")
-    rx753_cur."!cursor_caparray"("args")
-    .lex unicode:"$\x{a2}", rx753_cur
-    .local pmc match
-    .lex "$/", match
-    length rx753_eos, rx753_tgt
-    set rx753_off, 0
-    lt rx753_pos, 2, rx753_start
-    sub rx753_off, rx753_pos, 1
-    substr rx753_tgt, rx753_tgt, rx753_off
-  rx753_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan757_done
-    goto rxscan757_scan
-  rxscan757_loop:
-    ($P10) = rx753_cur."from"()
-    inc $P10
-    set rx753_pos, $P10
-    ge rx753_pos, rx753_eos, rxscan757_done
-  rxscan757_scan:
-    set_addr $I10, rxscan757_loop
-    rx753_cur."!mark_push"(0, rx753_pos, $I10)
-  rxscan757_done:
-.annotate 'line', 347
+    .local string rx758_tgt
+    .local int rx758_pos
+    .local int rx758_off
+    .local int rx758_eos
+    .local int rx758_rep
+    .local pmc rx758_cur
+    (rx758_cur, rx758_pos, rx758_tgt) = self."!cursor_start"()
+    rx758_cur."!cursor_debug"("START ", "dotty")
+    rx758_cur."!cursor_caparray"("args")
+    .lex unicode:"$\x{a2}", rx758_cur
+    .local pmc match
+    .lex "$/", match
+    length rx758_eos, rx758_tgt
+    set rx758_off, 0
+    lt rx758_pos, 2, rx758_start
+    sub rx758_off, rx758_pos, 1
+    substr rx758_tgt, rx758_tgt, rx758_off
+  rx758_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan762_done
+    goto rxscan762_scan
+  rxscan762_loop:
+    ($P10) = rx758_cur."from"()
+    inc $P10
+    set rx758_pos, $P10
+    ge rx758_pos, rx758_eos, rxscan762_done
+  rxscan762_scan:
+    set_addr $I10, rxscan762_loop
+    rx758_cur."!mark_push"(0, rx758_pos, $I10)
+  rxscan762_done:
+.annotate 'line', 349
   # rx literal  "."
-    add $I11, rx753_pos, 1
-    gt $I11, rx753_eos, rx753_fail
-    sub $I11, rx753_pos, rx753_off
-    substr $S10, rx753_tgt, $I11, 1
-    ne $S10, ".", rx753_fail
-    add rx753_pos, 1
-  alt758_0:
-.annotate 'line', 348
-    set_addr $I10, alt758_1
-    rx753_cur."!mark_push"(0, rx753_pos, $I10)
+    add $I11, rx758_pos, 1
+    gt $I11, rx758_eos, rx758_fail
+    sub $I11, rx758_pos, rx758_off
+    substr $S10, rx758_tgt, $I11, 1
+    ne $S10, ".", rx758_fail
+    add rx758_pos, 1
+  alt763_0:
+.annotate 'line', 350
+    set_addr $I10, alt763_1
+    rx758_cur."!mark_push"(0, rx758_pos, $I10)
   # rx subrule "identifier" subtype=capture negate=
-    rx753_cur."!cursor_pos"(rx753_pos)
-    $P10 = rx753_cur."identifier"()
-    unless $P10, rx753_fail
-    rx753_cur."!mark_push"(0, -1, 0, $P10)
+    rx758_cur."!cursor_pos"(rx758_pos)
+    $P10 = rx758_cur."identifier"()
+    unless $P10, rx758_fail
+    rx758_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("longname=identifier")
-    rx753_pos = $P10."pos"()
-    goto alt758_end
-  alt758_1:
-.annotate 'line', 349
+    rx758_pos = $P10."pos"()
+    goto alt763_end
+  alt763_1:
+.annotate 'line', 351
   # rx enumcharlist negate=0 zerowidth
-    ge rx753_pos, rx753_eos, rx753_fail
-    sub $I10, rx753_pos, rx753_off
-    substr $S10, rx753_tgt, $I10, 1
+    ge rx758_pos, rx758_eos, rx758_fail
+    sub $I10, rx758_pos, rx758_off
+    substr $S10, rx758_tgt, $I10, 1
     index $I11, "'\"", $S10
-    lt $I11, 0, rx753_fail
+    lt $I11, 0, rx758_fail
   # rx subrule "quote" subtype=capture negate=
-    rx753_cur."!cursor_pos"(rx753_pos)
-    $P10 = rx753_cur."quote"()
-    unless $P10, rx753_fail
-    rx753_cur."!mark_push"(0, -1, 0, $P10)
+    rx758_cur."!cursor_pos"(rx758_pos)
+    $P10 = rx758_cur."quote"()
+    unless $P10, rx758_fail
+    rx758_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("quote")
-    rx753_pos = $P10."pos"()
-  alt759_0:
-.annotate 'line', 350
-    set_addr $I10, alt759_1
-    rx753_cur."!mark_push"(0, rx753_pos, $I10)
+    rx758_pos = $P10."pos"()
+  alt764_0:
+.annotate 'line', 352
+    set_addr $I10, alt764_1
+    rx758_cur."!mark_push"(0, rx758_pos, $I10)
   # rx enumcharlist negate=0 zerowidth
-    ge rx753_pos, rx753_eos, rx753_fail
-    sub $I10, rx753_pos, rx753_off
-    substr $S10, rx753_tgt, $I10, 1
+    ge rx758_pos, rx758_eos, rx758_fail
+    sub $I10, rx758_pos, rx758_off
+    substr $S10, rx758_tgt, $I10, 1
     index $I11, "(", $S10
-    lt $I11, 0, rx753_fail
-    goto alt759_end
-  alt759_1:
+    lt $I11, 0, rx758_fail
+    goto alt764_end
+  alt764_1:
   # rx subrule "panic" subtype=method negate=
-    rx753_cur."!cursor_pos"(rx753_pos)
-    $P10 = rx753_cur."panic"("Quoted method name requires parenthesized arguments")
-    unless $P10, rx753_fail
-    rx753_pos = $P10."pos"()
-  alt759_end:
-  alt758_end:
+    rx758_cur."!cursor_pos"(rx758_pos)
+    $P10 = rx758_cur."panic"("Quoted method name requires parenthesized arguments")
+    unless $P10, rx758_fail
+    rx758_pos = $P10."pos"()
+  alt764_end:
+  alt763_end:
+.annotate 'line', 358
+  # rx rxquantr765 ** 0..1
+    set_addr $I767, rxquantr765_done
+    rx758_cur."!mark_push"(0, rx758_pos, $I767)
+  rxquantr765_loop:
+  alt766_0:
+.annotate 'line', 355
+    set_addr $I10, alt766_1
+    rx758_cur."!mark_push"(0, rx758_pos, $I10)
 .annotate 'line', 356
-  # rx rxquantr760 ** 0..1
-    set_addr $I762, rxquantr760_done
-    rx753_cur."!mark_push"(0, rx753_pos, $I762)
-  rxquantr760_loop:
-  alt761_0:
-.annotate 'line', 353
-    set_addr $I10, alt761_1
-    rx753_cur."!mark_push"(0, rx753_pos, $I10)
-.annotate 'line', 354
   # rx enumcharlist negate=0 zerowidth
-    ge rx753_pos, rx753_eos, rx753_fail
-    sub $I10, rx753_pos, rx753_off
-    substr $S10, rx753_tgt, $I10, 1
+    ge rx758_pos, rx758_eos, rx758_fail
+    sub $I10, rx758_pos, rx758_off
+    substr $S10, rx758_tgt, $I10, 1
     index $I11, "(", $S10
-    lt $I11, 0, rx753_fail
+    lt $I11, 0, rx758_fail
   # rx subrule "args" subtype=capture negate=
-    rx753_cur."!cursor_pos"(rx753_pos)
-    $P10 = rx753_cur."args"()
-    unless $P10, rx753_fail
-    rx753_cur."!mark_push"(0, -1, 0, $P10)
+    rx758_cur."!cursor_pos"(rx758_pos)
+    $P10 = rx758_cur."args"()
+    unless $P10, rx758_fail
+    rx758_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("args")
-    rx753_pos = $P10."pos"()
-    goto alt761_end
-  alt761_1:
-.annotate 'line', 355
+    rx758_pos = $P10."pos"()
+    goto alt766_end
+  alt766_1:
+.annotate 'line', 357
   # rx literal  ":"
-    add $I11, rx753_pos, 1
-    gt $I11, rx753_eos, rx753_fail
-    sub $I11, rx753_pos, rx753_off
-    substr $S10, rx753_tgt, $I11, 1
-    ne $S10, ":", rx753_fail
-    add rx753_pos, 1
+    add $I11, rx758_pos, 1
+    gt $I11, rx758_eos, rx758_fail
+    sub $I11, rx758_pos, rx758_off
+    substr $S10, rx758_tgt, $I11, 1
+    ne $S10, ":", rx758_fail
+    add rx758_pos, 1
   # rx charclass s
-    ge rx753_pos, rx753_eos, rx753_fail
-    sub $I10, rx753_pos, rx753_off
-    is_cclass $I11, 32, rx753_tgt, $I10
-    unless $I11, rx753_fail
-    inc rx753_pos
+    ge rx758_pos, rx758_eos, rx758_fail
+    sub $I10, rx758_pos, rx758_off
+    is_cclass $I11, 32, rx758_tgt, $I10
+    unless $I11, rx758_fail
+    inc rx758_pos
   # rx subrule "arglist" subtype=capture negate=
-    rx753_cur."!cursor_pos"(rx753_pos)
-    $P10 = rx753_cur."arglist"()
-    unless $P10, rx753_fail
-    rx753_cur."!mark_push"(0, -1, 0, $P10)
+    rx758_cur."!cursor_pos"(rx758_pos)
+    $P10 = rx758_cur."arglist"()
+    unless $P10, rx758_fail
+    rx758_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("args")
-    rx753_pos = $P10."pos"()
-  alt761_end:
-.annotate 'line', 356
-    (rx753_rep) = rx753_cur."!mark_commit"($I762)
-  rxquantr760_done:
-.annotate 'line', 346
+    rx758_pos = $P10."pos"()
+  alt766_end:
+.annotate 'line', 358
+    (rx758_rep) = rx758_cur."!mark_commit"($I767)
+  rxquantr765_done:
+.annotate 'line', 348
   # rx pass
-    rx753_cur."!cursor_pass"(rx753_pos, "dotty")
-    rx753_cur."!cursor_debug"("PASS  ", "dotty", " at pos=", rx753_pos)
-    .return (rx753_cur)
-  rx753_fail:
+    rx758_cur."!cursor_pass"(rx758_pos, "dotty")
+    rx758_cur."!cursor_debug"("PASS  ", "dotty", " at pos=", rx758_pos)
+    .return (rx758_cur)
+  rx758_fail:
 .annotate 'line', 4
-    (rx753_rep, rx753_pos, $I10, $P10) = rx753_cur."!mark_fail"(0)
-    lt rx753_pos, -1, rx753_done
-    eq rx753_pos, -1, rx753_fail
+    (rx758_rep, rx758_pos, $I10, $P10) = rx758_cur."!mark_fail"(0)
+    lt rx758_pos, -1, rx758_done
+    eq rx758_pos, -1, rx758_fail
     jump $I10
-  rx753_done:
-    rx753_cur."!cursor_fail"()
-    rx753_cur."!cursor_debug"("FAIL  ", "dotty")
-    .return (rx753_cur)
+  rx758_done:
+    rx758_cur."!cursor_fail"()
+    rx758_cur."!cursor_debug"("FAIL  ", "dotty")
+    .return (rx758_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__dotty"  :subid("170_1274800460.92525") :method
+.sub "!PREFIX__dotty"  :subid("172_1274853038.58734") :method
 .annotate 'line', 4
-    $P755 = self."!PREFIX__!subrule"("longname=identifier", ".")
-    new $P756, "ResizablePMCArray"
-    push $P756, "'"
-    push $P756, "\""
-    push $P756, $P755
-    .return ($P756)
+    $P760 = self."!PREFIX__!subrule"("longname=identifier", ".")
+    new $P761, "ResizablePMCArray"
+    push $P761, "'"
+    push $P761, "\""
+    push $P761, $P760
+    .return ($P761)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "term"  :subid("171_1274800460.92525") :method
-.annotate 'line', 360
-    $P764 = self."!protoregex"("term")
-    .return ($P764)
+.sub "term"  :subid("173_1274853038.58734") :method
+.annotate 'line', 362
+    $P769 = self."!protoregex"("term")
+    .return ($P769)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__term"  :subid("172_1274800460.92525") :method
-.annotate 'line', 360
-    $P766 = self."!PREFIX__!protoregex"("term")
-    .return ($P766)
+.sub "!PREFIX__term"  :subid("174_1274853038.58734") :method
+.annotate 'line', 362
+    $P771 = self."!PREFIX__!protoregex"("term")
+    .return ($P771)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "term:sym<self>"  :subid("173_1274800460.92525") :method :outer("11_1274800460.92525")
+.sub "term:sym<self>"  :subid("175_1274853038.58734") :method :outer("11_1274853038.58734")
 .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<self>")
-    .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, rxscan771_done
-    goto rxscan771_scan
-  rxscan771_loop:
-    ($P10) = rx768_cur."from"()
-    inc $P10
-    set rx768_pos, $P10
-    ge rx768_pos, rx768_eos, rxscan771_done
-  rxscan771_scan:
-    set_addr $I10, rxscan771_loop
-    rx768_cur."!mark_push"(0, rx768_pos, $I10)
-  rxscan771_done:
-.annotate 'line', 362
+    .local string rx773_tgt
+    .local int rx773_pos
+    .local int rx773_off
+    .local int rx773_eos
+    .local int rx773_rep
+    .local pmc rx773_cur
+    (rx773_cur, rx773_pos, rx773_tgt) = self."!cursor_start"()
+    rx773_cur."!cursor_debug"("START ", "term:sym<self>")
+    .lex unicode:"$\x{a2}", rx773_cur
+    .local pmc match
+    .lex "$/", match
+    length rx773_eos, rx773_tgt
+    set rx773_off, 0
+    lt rx773_pos, 2, rx773_start
+    sub rx773_off, rx773_pos, 1
+    substr rx773_tgt, rx773_tgt, rx773_off
+  rx773_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan776_done
+    goto rxscan776_scan
+  rxscan776_loop:
+    ($P10) = rx773_cur."from"()
+    inc $P10
+    set rx773_pos, $P10
+    ge rx773_pos, rx773_eos, rxscan776_done
+  rxscan776_scan:
+    set_addr $I10, rxscan776_loop
+    rx773_cur."!mark_push"(0, rx773_pos, $I10)
+  rxscan776_done:
+.annotate 'line', 364
   # rx subcapture "sym"
-    set_addr $I10, rxcap_772_fail
-    rx768_cur."!mark_push"(0, rx768_pos, $I10)
+    set_addr $I10, rxcap_777_fail
+    rx773_cur."!mark_push"(0, rx773_pos, $I10)
   # rx literal  "self"
-    add $I11, rx768_pos, 4
-    gt $I11, rx768_eos, rx768_fail
-    sub $I11, rx768_pos, rx768_off
-    substr $S10, rx768_tgt, $I11, 4
-    ne $S10, "self", rx768_fail
-    add rx768_pos, 4
-    set_addr $I10, rxcap_772_fail
-    ($I12, $I11) = rx768_cur."!mark_peek"($I10)
-    rx768_cur."!cursor_pos"($I11)
-    ($P10) = rx768_cur."!cursor_start"()
-    $P10."!cursor_pass"(rx768_pos, "")
-    rx768_cur."!mark_push"(0, -1, 0, $P10)
+    add $I11, rx773_pos, 4
+    gt $I11, rx773_eos, rx773_fail
+    sub $I11, rx773_pos, rx773_off
+    substr $S10, rx773_tgt, $I11, 4
+    ne $S10, "self", rx773_fail
+    add rx773_pos, 4
+    set_addr $I10, rxcap_777_fail
+    ($I12, $I11) = rx773_cur."!mark_peek"($I10)
+    rx773_cur."!cursor_pos"($I11)
+    ($P10) = rx773_cur."!cursor_start"()
+    $P10."!cursor_pass"(rx773_pos, "")
+    rx773_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("sym")
-    goto rxcap_772_done
-  rxcap_772_fail:
-    goto rx768_fail
-  rxcap_772_done:
+    goto rxcap_777_done
+  rxcap_777_fail:
+    goto rx773_fail
+  rxcap_777_done:
   # rxanchor rwb
-    le rx768_pos, 0, rx768_fail
-    sub $I10, rx768_pos, rx768_off
-    is_cclass $I11, 8192, rx768_tgt, $I10
-    if $I11, rx768_fail
+    le rx773_pos, 0, rx773_fail
+    sub $I10, rx773_pos, rx773_off
+    is_cclass $I11, 8192, rx773_tgt, $I10
+    if $I11, rx773_fail
     dec $I10
-    is_cclass $I11, 8192, rx768_tgt, $I10
-    unless $I11, rx768_fail
+    is_cclass $I11, 8192, rx773_tgt, $I10
+    unless $I11, rx773_fail
   # rx pass
-    rx768_cur."!cursor_pass"(rx768_pos, "term:sym<self>")
-    rx768_cur."!cursor_debug"("PASS  ", "term:sym<self>", " at pos=", rx768_pos)
-    .return (rx768_cur)
-  rx768_fail:
+    rx773_cur."!cursor_pass"(rx773_pos, "term:sym<self>")
+    rx773_cur."!cursor_debug"("PASS  ", "term:sym<self>", " at pos=", rx773_pos)
+    .return (rx773_cur)
+  rx773_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
+    (rx773_rep, rx773_pos, $I10, $P10) = rx773_cur."!mark_fail"(0)
+    lt rx773_pos, -1, rx773_done
+    eq rx773_pos, -1, rx773_fail
     jump $I10
-  rx768_done:
-    rx768_cur."!cursor_fail"()
-    rx768_cur."!cursor_debug"("FAIL  ", "term:sym<self>")
-    .return (rx768_cur)
+  rx773_done:
+    rx773_cur."!cursor_fail"()
+    rx773_cur."!cursor_debug"("FAIL  ", "term:sym<self>")
+    .return (rx773_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__term:sym<self>"  :subid("174_1274800460.92525") :method
+.sub "!PREFIX__term:sym<self>"  :subid("176_1274853038.58734") :method
 .annotate 'line', 4
-    new $P770, "ResizablePMCArray"
-    push $P770, "self"
-    .return ($P770)
+    new $P775, "ResizablePMCArray"
+    push $P775, "self"
+    .return ($P775)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "term:sym<identifier>"  :subid("175_1274800460.92525") :method :outer("11_1274800460.92525")
+.sub "term:sym<identifier>"  :subid("177_1274853038.58734") :method :outer("11_1274853038.58734")
 .annotate 'line', 4
-    .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 ", "term:sym<identifier>")
-    .lex unicode:"$\x{a2}", rx774_cur
+    .local string rx779_tgt
+    .local int rx779_pos
+    .local int rx779_off
+    .local int rx779_eos
+    .local int rx779_rep
+    .local pmc rx779_cur
+    (rx779_cur, rx779_pos, rx779_tgt) = self."!cursor_start"()
+    rx779_cur."!cursor_debug"("START ", "term:sym<identifier>")
+    .lex unicode:"$\x{a2}", rx779_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:
+    length rx779_eos, rx779_tgt
+    set rx779_off, 0
+    lt rx779_pos, 2, rx779_start
+    sub rx779_off, rx779_pos, 1
+    substr rx779_tgt, rx779_tgt, rx779_off
+  rx779_start:
     $I10 = self.'from'()
-    ne $I10, -1, rxscan778_done
-    goto rxscan778_scan
-  rxscan778_loop:
-    ($P10) = rx774_cur."from"()
+    ne $I10, -1, rxscan783_done
+    goto rxscan783_scan
+  rxscan783_loop:
+    ($P10) = rx779_cur."from"()
     inc $P10
-    set rx774_pos, $P10
-    ge rx774_pos, rx774_eos, rxscan778_done
-  rxscan778_scan:
-    set_addr $I10, rxscan778_loop
-    rx774_cur."!mark_push"(0, rx774_pos, $I10)
-  rxscan778_done:
-.annotate 'line', 365
+    set rx779_pos, $P10
+    ge rx779_pos, rx779_eos, rxscan783_done
+  rxscan783_scan:
+    set_addr $I10, rxscan783_loop
+    rx779_cur."!mark_push"(0, rx779_pos, $I10)
+  rxscan783_done:
+.annotate 'line', 367
   # rx subrule "identifier" subtype=capture negate=
-    rx774_cur."!cursor_pos"(rx774_pos)
-    $P10 = rx774_cur."identifier"()
-    unless $P10, rx774_fail
-    rx774_cur."!mark_push"(0, -1, 0, $P10)
+    rx779_cur."!cursor_pos"(rx779_pos)
+    $P10 = rx779_cur."identifier"()
+    unless $P10, rx779_fail
+    rx779_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("identifier")
-    rx774_pos = $P10."pos"()
+    rx779_pos = $P10."pos"()
   # rx enumcharlist negate=0 zerowidth
-    ge rx774_pos, rx774_eos, rx774_fail
-    sub $I10, rx774_pos, rx774_off
-    substr $S10, rx774_tgt, $I10, 1
+    ge rx779_pos, rx779_eos, rx779_fail
+    sub $I10, rx779_pos, rx779_off
+    substr $S10, rx779_tgt, $I10, 1
     index $I11, "(", $S10
-    lt $I11, 0, rx774_fail
+    lt $I11, 0, rx779_fail
   # rx subrule "args" subtype=capture negate=
-    rx774_cur."!cursor_pos"(rx774_pos)
-    $P10 = rx774_cur."args"()
-    unless $P10, rx774_fail
-    rx774_cur."!mark_push"(0, -1, 0, $P10)
+    rx779_cur."!cursor_pos"(rx779_pos)
+    $P10 = rx779_cur."args"()
+    unless $P10, rx779_fail
+    rx779_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("args")
-    rx774_pos = $P10."pos"()
-.annotate 'line', 364
+    rx779_pos = $P10."pos"()
+.annotate 'line', 366
   # rx pass
-    rx774_cur."!cursor_pass"(rx774_pos, "term:sym<identifier>")
-    rx774_cur."!cursor_debug"("PASS  ", "term:sym<identifier>", " at pos=", rx774_pos)
-    .return (rx774_cur)
-  rx774_fail:
+    rx779_cur."!cursor_pass"(rx779_pos, "term:sym<identifier>")
+    rx779_cur."!cursor_debug"("PASS  ", "term:sym<identifier>", " at pos=", rx779_pos)
+    .return (rx779_cur)
+  rx779_fail:
 .annotate 'line', 4
-    (rx774_rep, rx774_pos, $I10, $P10) = rx774_cur."!mark_fail"(0)
-    lt rx774_pos, -1, rx774_done
-    eq rx774_pos, -1, rx774_fail
+    (rx779_rep, rx779_pos, $I10, $P10) = rx779_cur."!mark_fail"(0)
+    lt rx779_pos, -1, rx779_done
+    eq rx779_pos, -1, rx779_fail
     jump $I10
-  rx774_done:
-    rx774_cur."!cursor_fail"()
-    rx774_cur."!cursor_debug"("FAIL  ", "term:sym<identifier>")
-    .return (rx774_cur)
+  rx779_done:
+    rx779_cur."!cursor_fail"()
+    rx779_cur."!cursor_debug"("FAIL  ", "term:sym<identifier>")
+    .return (rx779_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__term:sym<identifier>"  :subid("176_1274800460.92525") :method
+.sub "!PREFIX__term:sym<identifier>"  :subid("178_1274853038.58734") :method
 .annotate 'line', 4
-    $P776 = self."!PREFIX__!subrule"("identifier", "")
-    new $P777, "ResizablePMCArray"
-    push $P777, $P776
-    .return ($P777)
+    $P781 = self."!PREFIX__!subrule"("identifier", "")
+    new $P782, "ResizablePMCArray"
+    push $P782, $P781
+    .return ($P782)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "term:sym<name>"  :subid("177_1274800460.92525") :method :outer("11_1274800460.92525")
+.sub "term:sym<name>"  :subid("179_1274853038.58734") :method :outer("11_1274853038.58734")
 .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 ", "term:sym<name>")
-    rx780_cur."!cursor_caparray"("args")
-    .lex unicode:"$\x{a2}", rx780_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:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan784_done
-    goto rxscan784_scan
-  rxscan784_loop:
-    ($P10) = rx780_cur."from"()
-    inc $P10
-    set rx780_pos, $P10
-    ge rx780_pos, rx780_eos, rxscan784_done
-  rxscan784_scan:
-    set_addr $I10, rxscan784_loop
-    rx780_cur."!mark_push"(0, rx780_pos, $I10)
-  rxscan784_done:
-.annotate 'line', 369
+    .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 ", "term:sym<name>")
+    rx785_cur."!cursor_caparray"("args")
+    .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', 371
   # rx subrule "name" subtype=capture negate=
-    rx780_cur."!cursor_pos"(rx780_pos)
-    $P10 = rx780_cur."name"()
-    unless $P10, rx780_fail
-    rx780_cur."!mark_push"(0, -1, 0, $P10)
+    rx785_cur."!cursor_pos"(rx785_pos)
+    $P10 = rx785_cur."name"()
+    unless $P10, rx785_fail
+    rx785_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("name")
-    rx780_pos = $P10."pos"()
-  # rx rxquantr785 ** 0..1
-    set_addr $I786, rxquantr785_done
-    rx780_cur."!mark_push"(0, rx780_pos, $I786)
-  rxquantr785_loop:
+    rx785_pos = $P10."pos"()
+  # rx rxquantr790 ** 0..1
+    set_addr $I791, rxquantr790_done
+    rx785_cur."!mark_push"(0, rx785_pos, $I791)
+  rxquantr790_loop:
   # rx subrule "args" subtype=capture negate=
-    rx780_cur."!cursor_pos"(rx780_pos)
-    $P10 = rx780_cur."args"()
-    unless $P10, rx780_fail
-    rx780_cur."!mark_push"(0, -1, 0, $P10)
+    rx785_cur."!cursor_pos"(rx785_pos)
+    $P10 = rx785_cur."args"()
+    unless $P10, rx785_fail
+    rx785_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("args")
-    rx780_pos = $P10."pos"()
-    (rx780_rep) = rx780_cur."!mark_commit"($I786)
-  rxquantr785_done:
-.annotate 'line', 368
+    rx785_pos = $P10."pos"()
+    (rx785_rep) = rx785_cur."!mark_commit"($I791)
+  rxquantr790_done:
+.annotate 'line', 370
   # rx pass
-    rx780_cur."!cursor_pass"(rx780_pos, "term:sym<name>")
-    rx780_cur."!cursor_debug"("PASS  ", "term:sym<name>", " at pos=", rx780_pos)
-    .return (rx780_cur)
-  rx780_fail:
+    rx785_cur."!cursor_pass"(rx785_pos, "term:sym<name>")
+    rx785_cur."!cursor_debug"("PASS  ", "term:sym<name>", " at pos=", rx785_pos)
+    .return (rx785_cur)
+  rx785_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
+    (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
-  rx780_done:
-    rx780_cur."!cursor_fail"()
-    rx780_cur."!cursor_debug"("FAIL  ", "term:sym<name>")
-    .return (rx780_cur)
+  rx785_done:
+    rx785_cur."!cursor_fail"()
+    rx785_cur."!cursor_debug"("FAIL  ", "term:sym<name>")
+    .return (rx785_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__term:sym<name>"  :subid("178_1274800460.92525") :method
+.sub "!PREFIX__term:sym<name>"  :subid("180_1274853038.58734") :method
 .annotate 'line', 4
-    $P782 = self."!PREFIX__!subrule"("name", "")
-    new $P783, "ResizablePMCArray"
-    push $P783, $P782
-    .return ($P783)
+    $P787 = self."!PREFIX__!subrule"("name", "")
+    new $P788, "ResizablePMCArray"
+    push $P788, $P787
+    .return ($P788)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "term:sym<pir::op>"  :subid("179_1274800460.92525") :method :outer("11_1274800460.92525")
+.sub "term:sym<pir::op>"  :subid("181_1274853038.58734") :method :outer("11_1274853038.58734")
 .annotate 'line', 4
-    .local string rx788_tgt
-    .local int rx788_pos
-    .local int rx788_off
-    .local int rx788_eos
-    .local int rx788_rep
-    .local pmc rx788_cur
-    (rx788_cur, rx788_pos, rx788_tgt) = self."!cursor_start"()
-    rx788_cur."!cursor_debug"("START ", "term:sym<pir::op>")
-    rx788_cur."!cursor_caparray"("args")
-    .lex unicode:"$\x{a2}", rx788_cur
+    .local string rx793_tgt
+    .local int rx793_pos
+    .local int rx793_off
+    .local int rx793_eos
+    .local int rx793_rep
+    .local pmc rx793_cur
+    (rx793_cur, rx793_pos, rx793_tgt) = self."!cursor_start"()
+    rx793_cur."!cursor_debug"("START ", "term:sym<pir::op>")
+    rx793_cur."!cursor_caparray"("args")
+    .lex unicode:"$\x{a2}", rx793_cur
     .local pmc match
     .lex "$/", match
-    length rx788_eos, rx788_tgt
-    set rx788_off, 0
-    lt rx788_pos, 2, rx788_start
-    sub rx788_off, rx788_pos, 1
-    substr rx788_tgt, rx788_tgt, rx788_off
-  rx788_start:
+    length rx793_eos, rx793_tgt
+    set rx793_off, 0
+    lt rx793_pos, 2, rx793_start
+    sub rx793_off, rx793_pos, 1
+    substr rx793_tgt, rx793_tgt, rx793_off
+  rx793_start:
     $I10 = self.'from'()
-    ne $I10, -1, rxscan791_done
-    goto rxscan791_scan
-  rxscan791_loop:
-    ($P10) = rx788_cur."from"()
+    ne $I10, -1, rxscan796_done
+    goto rxscan796_scan
+  rxscan796_loop:
+    ($P10) = rx793_cur."from"()
     inc $P10
-    set rx788_pos, $P10
-    ge rx788_pos, rx788_eos, rxscan791_done
-  rxscan791_scan:
-    set_addr $I10, rxscan791_loop
-    rx788_cur."!mark_push"(0, rx788_pos, $I10)
-  rxscan791_done:
-.annotate 'line', 373
+    set rx793_pos, $P10
+    ge rx793_pos, rx793_eos, rxscan796_done
+  rxscan796_scan:
+    set_addr $I10, rxscan796_loop
+    rx793_cur."!mark_push"(0, rx793_pos, $I10)
+  rxscan796_done:
+.annotate 'line', 375
   # rx literal  "pir::"
-    add $I11, rx788_pos, 5
-    gt $I11, rx788_eos, rx788_fail
-    sub $I11, rx788_pos, rx788_off
-    substr $S10, rx788_tgt, $I11, 5
-    ne $S10, "pir::", rx788_fail
-    add rx788_pos, 5
+    add $I11, rx793_pos, 5
+    gt $I11, rx793_eos, rx793_fail
+    sub $I11, rx793_pos, rx793_off
+    substr $S10, rx793_tgt, $I11, 5
+    ne $S10, "pir::", rx793_fail
+    add rx793_pos, 5
   # rx subcapture "op"
-    set_addr $I10, rxcap_792_fail
-    rx788_cur."!mark_push"(0, rx788_pos, $I10)
+    set_addr $I10, rxcap_797_fail
+    rx793_cur."!mark_push"(0, rx793_pos, $I10)
   # rx charclass_q w r 1..-1
-    sub $I10, rx788_pos, rx788_off
-    find_not_cclass $I11, 8192, rx788_tgt, $I10, rx788_eos
+    sub $I10, rx793_pos, rx793_off
+    find_not_cclass $I11, 8192, rx793_tgt, $I10, rx793_eos
     add $I12, $I10, 1
-    lt $I11, $I12, rx788_fail
-    add rx788_pos, rx788_off, $I11
-    set_addr $I10, rxcap_792_fail
-    ($I12, $I11) = rx788_cur."!mark_peek"($I10)
-    rx788_cur."!cursor_pos"($I11)
-    ($P10) = rx788_cur."!cursor_start"()
-    $P10."!cursor_pass"(rx788_pos, "")
-    rx788_cur."!mark_push"(0, -1, 0, $P10)
+    lt $I11, $I12, rx793_fail
+    add rx793_pos, rx793_off, $I11
+    set_addr $I10, rxcap_797_fail
+    ($I12, $I11) = rx793_cur."!mark_peek"($I10)
+    rx793_cur."!cursor_pos"($I11)
+    ($P10) = rx793_cur."!cursor_start"()
+    $P10."!cursor_pass"(rx793_pos, "")
+    rx793_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("op")
-    goto rxcap_792_done
-  rxcap_792_fail:
-    goto rx788_fail
-  rxcap_792_done:
-  # rx rxquantr793 ** 0..1
-    set_addr $I794, rxquantr793_done
-    rx788_cur."!mark_push"(0, rx788_pos, $I794)
-  rxquantr793_loop:
+    goto rxcap_797_done
+  rxcap_797_fail:
+    goto rx793_fail
+  rxcap_797_done:
+  # rx rxquantr798 ** 0..1
+    set_addr $I799, rxquantr798_done
+    rx793_cur."!mark_push"(0, rx793_pos, $I799)
+  rxquantr798_loop:
   # rx subrule "args" subtype=capture negate=
-    rx788_cur."!cursor_pos"(rx788_pos)
-    $P10 = rx788_cur."args"()
-    unless $P10, rx788_fail
-    rx788_cur."!mark_push"(0, -1, 0, $P10)
+    rx793_cur."!cursor_pos"(rx793_pos)
+    $P10 = rx793_cur."args"()
+    unless $P10, rx793_fail
+    rx793_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("args")
-    rx788_pos = $P10."pos"()
-    (rx788_rep) = rx788_cur."!mark_commit"($I794)
-  rxquantr793_done:
-.annotate 'line', 372
+    rx793_pos = $P10."pos"()
+    (rx793_rep) = rx793_cur."!mark_commit"($I799)
+  rxquantr798_done:
+.annotate 'line', 374
   # rx pass
-    rx788_cur."!cursor_pass"(rx788_pos, "term:sym<pir::op>")
-    rx788_cur."!cursor_debug"("PASS  ", "term:sym<pir::op>", " at pos=", rx788_pos)
-    .return (rx788_cur)
-  rx788_fail:
+    rx793_cur."!cursor_pass"(rx793_pos, "term:sym<pir::op>")
+    rx793_cur."!cursor_debug"("PASS  ", "term:sym<pir::op>", " at pos=", rx793_pos)
+    .return (rx793_cur)
+  rx793_fail:
 .annotate 'line', 4
-    (rx788_rep, rx788_pos, $I10, $P10) = rx788_cur."!mark_fail"(0)
-    lt rx788_pos, -1, rx788_done
-    eq rx788_pos, -1, rx788_fail
+    (rx793_rep, rx793_pos, $I10, $P10) = rx793_cur."!mark_fail"(0)
+    lt rx793_pos, -1, rx793_done
+    eq rx793_pos, -1, rx793_fail
     jump $I10
-  rx788_done:
-    rx788_cur."!cursor_fail"()
-    rx788_cur."!cursor_debug"("FAIL  ", "term:sym<pir::op>")
-    .return (rx788_cur)
+  rx793_done:
+    rx793_cur."!cursor_fail"()
+    rx793_cur."!cursor_debug"("FAIL  ", "term:sym<pir::op>")
+    .return (rx793_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__term:sym<pir::op>"  :subid("180_1274800460.92525") :method
+.sub "!PREFIX__term:sym<pir::op>"  :subid("182_1274853038.58734") :method
 .annotate 'line', 4
-    new $P790, "ResizablePMCArray"
-    push $P790, "pir::"
-    .return ($P790)
+    new $P795, "ResizablePMCArray"
+    push $P795, "pir::"
+    .return ($P795)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "args"  :subid("181_1274800460.92525") :method :outer("11_1274800460.92525")
+.sub "args"  :subid("183_1274853038.58734") :method :outer("11_1274853038.58734")
 .annotate 'line', 4
-    .local string rx796_tgt
-    .local int rx796_pos
-    .local int rx796_off
-    .local int rx796_eos
-    .local int rx796_rep
-    .local pmc rx796_cur
-    (rx796_cur, rx796_pos, rx796_tgt) = self."!cursor_start"()
-    rx796_cur."!cursor_debug"("START ", "args")
-    .lex unicode:"$\x{a2}", rx796_cur
+    .local string rx801_tgt
+    .local int rx801_pos
+    .local int rx801_off
+    .local int rx801_eos
+    .local int rx801_rep
+    .local pmc rx801_cur
+    (rx801_cur, rx801_pos, rx801_tgt) = self."!cursor_start"()
+    rx801_cur."!cursor_debug"("START ", "args")
+    .lex unicode:"$\x{a2}", rx801_cur
     .local pmc match
     .lex "$/", match
-    length rx796_eos, rx796_tgt
-    set rx796_off, 0
-    lt rx796_pos, 2, rx796_start
-    sub rx796_off, rx796_pos, 1
-    substr rx796_tgt, rx796_tgt, rx796_off
-  rx796_start:
+    length rx801_eos, rx801_tgt
+    set rx801_off, 0
+    lt rx801_pos, 2, rx801_start
+    sub rx801_off, rx801_pos, 1
+    substr rx801_tgt, rx801_tgt, rx801_off
+  rx801_start:
     $I10 = self.'from'()
-    ne $I10, -1, rxscan800_done
-    goto rxscan800_scan
-  rxscan800_loop:
-    ($P10) = rx796_cur."from"()
+    ne $I10, -1, rxscan805_done
+    goto rxscan805_scan
+  rxscan805_loop:
+    ($P10) = rx801_cur."from"()
     inc $P10
-    set rx796_pos, $P10
-    ge rx796_pos, rx796_eos, rxscan800_done
-  rxscan800_scan:
-    set_addr $I10, rxscan800_loop
-    rx796_cur."!mark_push"(0, rx796_pos, $I10)
-  rxscan800_done:
-.annotate 'line', 377
+    set rx801_pos, $P10
+    ge rx801_pos, rx801_eos, rxscan805_done
+  rxscan805_scan:
+    set_addr $I10, rxscan805_loop
+    rx801_cur."!mark_push"(0, rx801_pos, $I10)
+  rxscan805_done:
+.annotate 'line', 379
   # rx literal  "("
-    add $I11, rx796_pos, 1
-    gt $I11, rx796_eos, rx796_fail
-    sub $I11, rx796_pos, rx796_off
-    substr $S10, rx796_tgt, $I11, 1
-    ne $S10, "(", rx796_fail
-    add rx796_pos, 1
+    add $I11, rx801_pos, 1
+    gt $I11, rx801_eos, rx801_fail
+    sub $I11, rx801_pos, rx801_off
+    substr $S10, rx801_tgt, $I11, 1
+    ne $S10, "(", rx801_fail
+    add rx801_pos, 1
   # rx subrule "arglist" subtype=capture negate=
-    rx796_cur."!cursor_pos"(rx796_pos)
-    $P10 = rx796_cur."arglist"()
-    unless $P10, rx796_fail
-    rx796_cur."!mark_push"(0, -1, 0, $P10)
+    rx801_cur."!cursor_pos"(rx801_pos)
+    $P10 = rx801_cur."arglist"()
+    unless $P10, rx801_fail
+    rx801_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("arglist")
-    rx796_pos = $P10."pos"()
+    rx801_pos = $P10."pos"()
   # rx literal  ")"
-    add $I11, rx796_pos, 1
-    gt $I11, rx796_eos, rx796_fail
-    sub $I11, rx796_pos, rx796_off
-    substr $S10, rx796_tgt, $I11, 1
-    ne $S10, ")", rx796_fail
-    add rx796_pos, 1
+    add $I11, rx801_pos, 1
+    gt $I11, rx801_eos, rx801_fail
+    sub $I11, rx801_pos, rx801_off
+    substr $S10, rx801_tgt, $I11, 1
+    ne $S10, ")", rx801_fail
+    add rx801_pos, 1
   # rx pass
-    rx796_cur."!cursor_pass"(rx796_pos, "args")
-    rx796_cur."!cursor_debug"("PASS  ", "args", " at pos=", rx796_pos)
-    .return (rx796_cur)
-  rx796_fail:
+    rx801_cur."!cursor_pass"(rx801_pos, "args")
+    rx801_cur."!cursor_debug"("PASS  ", "args", " at pos=", rx801_pos)
+    .return (rx801_cur)
+  rx801_fail:
 .annotate 'line', 4
-    (rx796_rep, rx796_pos, $I10, $P10) = rx796_cur."!mark_fail"(0)
-    lt rx796_pos, -1, rx796_done
-    eq rx796_pos, -1, rx796_fail
+    (rx801_rep, rx801_pos, $I10, $P10) = rx801_cur."!mark_fail"(0)
+    lt rx801_pos, -1, rx801_done
+    eq rx801_pos, -1, rx801_fail
     jump $I10
-  rx796_done:
-    rx796_cur."!cursor_fail"()
-    rx796_cur."!cursor_debug"("FAIL  ", "args")
-    .return (rx796_cur)
+  rx801_done:
+    rx801_cur."!cursor_fail"()
+    rx801_cur."!cursor_debug"("FAIL  ", "args")
+    .return (rx801_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__args"  :subid("182_1274800460.92525") :method
+.sub "!PREFIX__args"  :subid("184_1274853038.58734") :method
 .annotate 'line', 4
-    $P798 = self."!PREFIX__!subrule"("arglist", "(")
-    new $P799, "ResizablePMCArray"
-    push $P799, $P798
-    .return ($P799)
+    $P803 = self."!PREFIX__!subrule"("arglist", "(")
+    new $P804, "ResizablePMCArray"
+    push $P804, $P803
+    .return ($P804)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "arglist"  :subid("183_1274800460.92525") :method :outer("11_1274800460.92525")
+.sub "arglist"  :subid("185_1274853038.58734") :method :outer("11_1274853038.58734")
 .annotate 'line', 4
-    .local string rx802_tgt
-    .local int rx802_pos
-    .local int rx802_off
-    .local int rx802_eos
-    .local int rx802_rep
-    .local pmc rx802_cur
-    (rx802_cur, rx802_pos, rx802_tgt) = self."!cursor_start"()
-    rx802_cur."!cursor_debug"("START ", "arglist")
-    .lex unicode:"$\x{a2}", rx802_cur
+    .local string rx807_tgt
+    .local int rx807_pos
+    .local int rx807_off
+    .local int rx807_eos
+    .local int rx807_rep
+    .local pmc rx807_cur
+    (rx807_cur, rx807_pos, rx807_tgt) = self."!cursor_start"()
+    rx807_cur."!cursor_debug"("START ", "arglist")
+    .lex unicode:"$\x{a2}", rx807_cur
     .local pmc match
     .lex "$/", match
-    length rx802_eos, rx802_tgt
-    set rx802_off, 0
-    lt rx802_pos, 2, rx802_start
-    sub rx802_off, rx802_pos, 1
-    substr rx802_tgt, rx802_tgt, rx802_off
-  rx802_start:
+    length rx807_eos, rx807_tgt
+    set rx807_off, 0
+    lt rx807_pos, 2, rx807_start
+    sub rx807_off, rx807_pos, 1
+    substr rx807_tgt, rx807_tgt, rx807_off
+  rx807_start:
     $I10 = self.'from'()
-    ne $I10, -1, rxscan806_done
-    goto rxscan806_scan
-  rxscan806_loop:
-    ($P10) = rx802_cur."from"()
+    ne $I10, -1, rxscan811_done
+    goto rxscan811_scan
+  rxscan811_loop:
+    ($P10) = rx807_cur."from"()
     inc $P10
-    set rx802_pos, $P10
-    ge rx802_pos, rx802_eos, rxscan806_done
-  rxscan806_scan:
-    set_addr $I10, rxscan806_loop
-    rx802_cur."!mark_push"(0, rx802_pos, $I10)
-  rxscan806_done:
-.annotate 'line', 381
-  # rx subrule "ws" subtype=method negate=
-    rx802_cur."!cursor_pos"(rx802_pos)
-    $P10 = rx802_cur."ws"()
-    unless $P10, rx802_fail
-    rx802_pos = $P10."pos"()
-  alt807_0:
-.annotate 'line', 382
-    set_addr $I10, alt807_1
-    rx802_cur."!mark_push"(0, rx802_pos, $I10)
+    set rx807_pos, $P10
+    ge rx807_pos, rx807_eos, rxscan811_done
+  rxscan811_scan:
+    set_addr $I10, rxscan811_loop
+    rx807_cur."!mark_push"(0, rx807_pos, $I10)
+  rxscan811_done:
 .annotate 'line', 383
+  # rx subrule "ws" subtype=method negate=
+    rx807_cur."!cursor_pos"(rx807_pos)
+    $P10 = rx807_cur."ws"()
+    unless $P10, rx807_fail
+    rx807_pos = $P10."pos"()
+  alt812_0:
+.annotate 'line', 384
+    set_addr $I10, alt812_1
+    rx807_cur."!mark_push"(0, rx807_pos, $I10)
+.annotate 'line', 385
   # rx subrule "EXPR" subtype=capture negate=
-    rx802_cur."!cursor_pos"(rx802_pos)
-    $P10 = rx802_cur."EXPR"("f=")
-    unless $P10, rx802_fail
-    rx802_cur."!mark_push"(0, -1, 0, $P10)
+    rx807_cur."!cursor_pos"(rx807_pos)
+    $P10 = rx807_cur."EXPR"("f=")
+    unless $P10, rx807_fail
+    rx807_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("EXPR")
-    rx802_pos = $P10."pos"()
-    goto alt807_end
-  alt807_1:
-  alt807_end:
-.annotate 'line', 380
+    rx807_pos = $P10."pos"()
+    goto alt812_end
+  alt812_1:
+  alt812_end:
+.annotate 'line', 382
   # rx pass
-    rx802_cur."!cursor_pass"(rx802_pos, "arglist")
-    rx802_cur."!cursor_debug"("PASS  ", "arglist", " at pos=", rx802_pos)
-    .return (rx802_cur)
-  rx802_fail:
+    rx807_cur."!cursor_pass"(rx807_pos, "arglist")
+    rx807_cur."!cursor_debug"("PASS  ", "arglist", " at pos=", rx807_pos)
+    .return (rx807_cur)
+  rx807_fail:
 .annotate 'line', 4
-    (rx802_rep, rx802_pos, $I10, $P10) = rx802_cur."!mark_fail"(0)
-    lt rx802_pos, -1, rx802_done
-    eq rx802_pos, -1, rx802_fail
+    (rx807_rep, rx807_pos, $I10, $P10) = rx807_cur."!mark_fail"(0)
+    lt rx807_pos, -1, rx807_done
+    eq rx807_pos, -1, rx807_fail
     jump $I10
-  rx802_done:
-    rx802_cur."!cursor_fail"()
-    rx802_cur."!cursor_debug"("FAIL  ", "arglist")
-    .return (rx802_cur)
+  rx807_done:
+    rx807_cur."!cursor_fail"()
+    rx807_cur."!cursor_debug"("FAIL  ", "arglist")
+    .return (rx807_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__arglist"  :subid("184_1274800460.92525") :method
+.sub "!PREFIX__arglist"  :subid("186_1274853038.58734") :method
 .annotate 'line', 4
-    $P804 = self."!PREFIX__!subrule"("", "")
-    new $P805, "ResizablePMCArray"
-    push $P805, $P804
-    .return ($P805)
+    $P809 = self."!PREFIX__!subrule"("", "")
+    new $P810, "ResizablePMCArray"
+    push $P810, $P809
+    .return ($P810)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "term:sym<value>"  :subid("185_1274800460.92525") :method :outer("11_1274800460.92525")
+.sub "term:sym<value>"  :subid("187_1274853038.58734") :method :outer("11_1274853038.58734")
 .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 ", "term:sym<value>")
-    .lex unicode:"$\x{a2}", rx809_cur
+    .local string rx814_tgt
+    .local int rx814_pos
+    .local int rx814_off
+    .local int rx814_eos
+    .local int rx814_rep
+    .local pmc rx814_cur
+    (rx814_cur, rx814_pos, rx814_tgt) = self."!cursor_start"()
+    rx814_cur."!cursor_debug"("START ", "term:sym<value>")
+    .lex unicode:"$\x{a2}", rx814_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 rx814_eos, rx814_tgt
+    set rx814_off, 0
+    lt rx814_pos, 2, rx814_start
+    sub rx814_off, rx814_pos, 1
+    substr rx814_tgt, rx814_tgt, rx814_off
+  rx814_start:
     $I10 = self.'from'()
-    ne $I10, -1, rxscan813_done
-    goto rxscan813_scan
-  rxscan813_loop:
-    ($P10) = rx809_cur."from"()
+    ne $I10, -1, rxscan818_done
+    goto rxscan818_scan
+  rxscan818_loop:
+    ($P10) = rx814_cur."from"()
     inc $P10
-    set rx809_pos, $P10
-    ge rx809_pos, rx809_eos, rxscan813_done
-  rxscan813_scan:
-    set_addr $I10, rxscan813_loop
-    rx809_cur."!mark_push"(0, rx809_pos, $I10)
-  rxscan813_done:
-.annotate 'line', 389
+    set rx814_pos, $P10
+    ge rx814_pos, rx814_eos, rxscan818_done
+  rxscan818_scan:
+    set_addr $I10, rxscan818_loop
+    rx814_cur."!mark_push"(0, rx814_pos, $I10)
+  rxscan818_done:
+.annotate 'line', 391
   # rx subrule "value" subtype=capture negate=
-    rx809_cur."!cursor_pos"(rx809_pos)
-    $P10 = rx809_cur."value"()
-    unless $P10, rx809_fail
-    rx809_cur."!mark_push"(0, -1, 0, $P10)
+    rx814_cur."!cursor_pos"(rx814_pos)
+    $P10 = rx814_cur."value"()
+    unless $P10, rx814_fail
+    rx814_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("value")
-    rx809_pos = $P10."pos"()
+    rx814_pos = $P10."pos"()
   # rx pass
-    rx809_cur."!cursor_pass"(rx809_pos, "term:sym<value>")
-    rx809_cur."!cursor_debug"("PASS  ", "term:sym<value>", " at pos=", rx809_pos)
-    .return (rx809_cur)
-  rx809_fail:
+    rx814_cur."!cursor_pass"(rx814_pos, "term:sym<value>")
+    rx814_cur."!cursor_debug"("PASS  ", "term:sym<value>", " at pos=", rx814_pos)
+    .return (rx814_cur)
+  rx814_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
+    (rx814_rep, rx814_pos, $I10, $P10) = rx814_cur."!mark_fail"(0)
+    lt rx814_pos, -1, rx814_done
+    eq rx814_pos, -1, rx814_fail
     jump $I10
-  rx809_done:
-    rx809_cur."!cursor_fail"()
-    rx809_cur."!cursor_debug"("FAIL  ", "term:sym<value>")
-    .return (rx809_cur)
+  rx814_done:
+    rx814_cur."!cursor_fail"()
+    rx814_cur."!cursor_debug"("FAIL  ", "term:sym<value>")
+    .return (rx814_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__term:sym<value>"  :subid("186_1274800460.92525") :method
+.sub "!PREFIX__term:sym<value>"  :subid("188_1274853038.58734") :method
 .annotate 'line', 4
-    $P811 = self."!PREFIX__!subrule"("value", "")
-    new $P812, "ResizablePMCArray"
-    push $P812, $P811
-    .return ($P812)
+    $P816 = self."!PREFIX__!subrule"("value", "")
+    new $P817, "ResizablePMCArray"
+    push $P817, $P816
+    .return ($P817)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "value"  :subid("187_1274800460.92525") :method :outer("11_1274800460.92525")
+.sub "value"  :subid("189_1274853038.58734") :method :outer("11_1274853038.58734")
 .annotate 'line', 4
-    .local string rx815_tgt
-    .local int rx815_pos
-    .local int rx815_off
-    .local int rx815_eos
-    .local int rx815_rep
-    .local pmc rx815_cur
-    (rx815_cur, rx815_pos, rx815_tgt) = self."!cursor_start"()
-    rx815_cur."!cursor_debug"("START ", "value")
-    .lex unicode:"$\x{a2}", rx815_cur
+    .local string rx820_tgt
+    .local int rx820_pos
+    .local int rx820_off
+    .local int rx820_eos
+    .local int rx820_rep
+    .local pmc rx820_cur
+    (rx820_cur, rx820_pos, rx820_tgt) = self."!cursor_start"()
+    rx820_cur."!cursor_debug"("START ", "value")
+    .lex unicode:"$\x{a2}", rx820_cur
     .local pmc match
     .lex "$/", match
-    length rx815_eos, rx815_tgt
-    set rx815_off, 0
-    lt rx815_pos, 2, rx815_start
-    sub rx815_off, rx815_pos, 1
-    substr rx815_tgt, rx815_tgt, rx815_off
-  rx815_start:
+    length rx820_eos, rx820_tgt
+    set rx820_off, 0
+    lt rx820_pos, 2, rx820_start
+    sub rx820_off, rx820_pos, 1
+    substr rx820_tgt, rx820_tgt, rx820_off
+  rx820_start:
     $I10 = self.'from'()
-    ne $I10, -1, rxscan820_done
-    goto rxscan820_scan
-  rxscan820_loop:
-    ($P10) = rx815_cur."from"()
+    ne $I10, -1, rxscan825_done
+    goto rxscan825_scan
+  rxscan825_loop:
+    ($P10) = rx820_cur."from"()
     inc $P10
-    set rx815_pos, $P10
-    ge rx815_pos, rx815_eos, rxscan820_done
-  rxscan820_scan:
-    set_addr $I10, rxscan820_loop
-    rx815_cur."!mark_push"(0, rx815_pos, $I10)
-  rxscan820_done:
-  alt821_0:
-.annotate 'line', 391
-    set_addr $I10, alt821_1
-    rx815_cur."!mark_push"(0, rx815_pos, $I10)
-.annotate 'line', 392
+    set rx820_pos, $P10
+    ge rx820_pos, rx820_eos, rxscan825_done
+  rxscan825_scan:
+    set_addr $I10, rxscan825_loop
+    rx820_cur."!mark_push"(0, rx820_pos, $I10)
+  rxscan825_done:
+  alt826_0:
+.annotate 'line', 393
+    set_addr $I10, alt826_1
+    rx820_cur."!mark_push"(0, rx820_pos, $I10)
+.annotate 'line', 394
   # rx subrule "quote" subtype=capture negate=
-    rx815_cur."!cursor_pos"(rx815_pos)
-    $P10 = rx815_cur."quote"()
-    unless $P10, rx815_fail
-    rx815_cur."!mark_push"(0, -1, 0, $P10)
+    rx820_cur."!cursor_pos"(rx820_pos)
+    $P10 = rx820_cur."quote"()
+    unless $P10, rx820_fail
+    rx820_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("quote")
-    rx815_pos = $P10."pos"()
-    goto alt821_end
-  alt821_1:
-.annotate 'line', 393
+    rx820_pos = $P10."pos"()
+    goto alt826_end
+  alt826_1:
+.annotate 'line', 395
   # rx subrule "number" subtype=capture negate=
-    rx815_cur."!cursor_pos"(rx815_pos)
-    $P10 = rx815_cur."number"()
-    unless $P10, rx815_fail
-    rx815_cur."!mark_push"(0, -1, 0, $P10)
+    rx820_cur."!cursor_pos"(rx820_pos)
+    $P10 = rx820_cur."number"()
+    unless $P10, rx820_fail
+    rx820_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("number")
-    rx815_pos = $P10."pos"()
-  alt821_end:
-.annotate 'line', 391
+    rx820_pos = $P10."pos"()
+  alt826_end:
+.annotate 'line', 393
   # rx pass
-    rx815_cur."!cursor_pass"(rx815_pos, "value")
-    rx815_cur."!cursor_debug"("PASS  ", "value", " at pos=", rx815_pos)
-    .return (rx815_cur)
-  rx815_fail:
+    rx820_cur."!cursor_pass"(rx820_pos, "value")
+    rx820_cur."!cursor_debug"("PASS  ", "value", " at pos=", rx820_pos)
+    .return (rx820_cur)
+  rx820_fail:
 .annotate 'line', 4
-    (rx815_rep, rx815_pos, $I10, $P10) = rx815_cur."!mark_fail"(0)
-    lt rx815_pos, -1, rx815_done
-    eq rx815_pos, -1, rx815_fail
+    (rx820_rep, rx820_pos, $I10, $P10) = rx820_cur."!mark_fail"(0)
+    lt rx820_pos, -1, rx820_done
+    eq rx820_pos, -1, rx820_fail
     jump $I10
-  rx815_done:
-    rx815_cur."!cursor_fail"()
-    rx815_cur."!cursor_debug"("FAIL  ", "value")
-    .return (rx815_cur)
+  rx820_done:
+    rx820_cur."!cursor_fail"()
+    rx820_cur."!cursor_debug"("FAIL  ", "value")
+    .return (rx820_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__value"  :subid("188_1274800460.92525") :method
+.sub "!PREFIX__value"  :subid("190_1274853038.58734") :method
 .annotate 'line', 4
-    $P817 = self."!PREFIX__!subrule"("number", "")
-    $P818 = self."!PREFIX__!subrule"("quote", "")
-    new $P819, "ResizablePMCArray"
-    push $P819, $P817
-    push $P819, $P818
-    .return ($P819)
+    $P822 = self."!PREFIX__!subrule"("number", "")
+    $P823 = self."!PREFIX__!subrule"("quote", "")
+    new $P824, "ResizablePMCArray"
+    push $P824, $P822
+    push $P824, $P823
+    .return ($P824)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "number"  :subid("189_1274800460.92525") :method :outer("11_1274800460.92525")
+.sub "number"  :subid("191_1274853038.58734") :method :outer("11_1274853038.58734")
 .annotate 'line', 4
-    .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 ", "number")
-    .lex unicode:"$\x{a2}", rx823_cur
+    .local string rx828_tgt
+    .local int rx828_pos
+    .local int rx828_off
+    .local int rx828_eos
+    .local int rx828_rep
+    .local pmc rx828_cur
+    (rx828_cur, rx828_pos, rx828_tgt) = self."!cursor_start"()
+    rx828_cur."!cursor_debug"("START ", "number")
+    .lex unicode:"$\x{a2}", rx828_cur
     .local pmc match
     .lex "$/", match
-    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:
+    length rx828_eos, rx828_tgt
+    set rx828_off, 0
+    lt rx828_pos, 2, rx828_start
+    sub rx828_off, rx828_pos, 1
+    substr rx828_tgt, rx828_tgt, rx828_off
+  rx828_start:
     $I10 = self.'from'()
-    ne $I10, -1, rxscan826_done
-    goto rxscan826_scan
-  rxscan826_loop:
-    ($P10) = rx823_cur."from"()
+    ne $I10, -1, rxscan831_done
+    goto rxscan831_scan
+  rxscan831_loop:
+    ($P10) = rx828_cur."from"()
     inc $P10
-    set rx823_pos, $P10
-    ge rx823_pos, rx823_eos, rxscan826_done
-  rxscan826_scan:
-    set_addr $I10, rxscan826_loop
-    rx823_cur."!mark_push"(0, rx823_pos, $I10)
-  rxscan826_done:
-.annotate 'line', 397
+    set rx828_pos, $P10
+    ge rx828_pos, rx828_eos, rxscan831_done
+  rxscan831_scan:
+    set_addr $I10, rxscan831_loop
+    rx828_cur."!mark_push"(0, rx828_pos, $I10)
+  rxscan831_done:
+.annotate 'line', 399
   # rx subcapture "sign"
-    set_addr $I10, rxcap_829_fail
-    rx823_cur."!mark_push"(0, rx823_pos, $I10)
-  # rx rxquantr827 ** 0..1
-    set_addr $I828, rxquantr827_done
-    rx823_cur."!mark_push"(0, rx823_pos, $I828)
-  rxquantr827_loop:
+    set_addr $I10, rxcap_834_fail
+    rx828_cur."!mark_push"(0, rx828_pos, $I10)
+  # rx rxquantr832 ** 0..1
+    set_addr $I833, rxquantr832_done
+    rx828_cur."!mark_push"(0, rx828_pos, $I833)
+  rxquantr832_loop:
   # rx enumcharlist negate=0 
-    ge rx823_pos, rx823_eos, rx823_fail
-    sub $I10, rx823_pos, rx823_off
-    substr $S10, rx823_tgt, $I10, 1
+    ge rx828_pos, rx828_eos, rx828_fail
+    sub $I10, rx828_pos, rx828_off
+    substr $S10, rx828_tgt, $I10, 1
     index $I11, "+-", $S10
-    lt $I11, 0, rx823_fail
-    inc rx823_pos
-    (rx823_rep) = rx823_cur."!mark_commit"($I828)
-  rxquantr827_done:
-    set_addr $I10, rxcap_829_fail
-    ($I12, $I11) = rx823_cur."!mark_peek"($I10)
-    rx823_cur."!cursor_pos"($I11)
-    ($P10) = rx823_cur."!cursor_start"()
-    $P10."!cursor_pass"(rx823_pos, "")
-    rx823_cur."!mark_push"(0, -1, 0, $P10)
+    lt $I11, 0, rx828_fail
+    inc rx828_pos
+    (rx828_rep) = rx828_cur."!mark_commit"($I833)
+  rxquantr832_done:
+    set_addr $I10, rxcap_834_fail
+    ($I12, $I11) = rx828_cur."!mark_peek"($I10)
+    rx828_cur."!cursor_pos"($I11)
+    ($P10) = rx828_cur."!cursor_start"()
+    $P10."!cursor_pass"(rx828_pos, "")
+    rx828_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("sign")
-    goto rxcap_829_done
-  rxcap_829_fail:
-    goto rx823_fail
-  rxcap_829_done:
-  alt830_0:
-.annotate 'line', 398
-    set_addr $I10, alt830_1
-    rx823_cur."!mark_push"(0, rx823_pos, $I10)
+    goto rxcap_834_done
+  rxcap_834_fail:
+    goto rx828_fail
+  rxcap_834_done:
+  alt835_0:
+.annotate 'line', 400
+    set_addr $I10, alt835_1
+    rx828_cur."!mark_push"(0, rx828_pos, $I10)
   # rx subrule "dec_number" subtype=capture negate=
-    rx823_cur."!cursor_pos"(rx823_pos)
-    $P10 = rx823_cur."dec_number"()
-    unless $P10, rx823_fail
-    rx823_cur."!mark_push"(0, -1, 0, $P10)
+    rx828_cur."!cursor_pos"(rx828_pos)
+    $P10 = rx828_cur."dec_number"()
+    unless $P10, rx828_fail
+    rx828_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("dec_number")
-    rx823_pos = $P10."pos"()
-    goto alt830_end
-  alt830_1:
+    rx828_pos = $P10."pos"()
+    goto alt835_end
+  alt835_1:
   # rx subrule "integer" subtype=capture negate=
-    rx823_cur."!cursor_pos"(rx823_pos)
-    $P10 = rx823_cur."integer"()
-    unless $P10, rx823_fail
-    rx823_cur."!mark_push"(0, -1, 0, $P10)
+    rx828_cur."!cursor_pos"(rx828_pos)
+    $P10 = rx828_cur."integer"()
+    unless $P10, rx828_fail
+    rx828_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("integer")
-    rx823_pos = $P10."pos"()
-  alt830_end:
-.annotate 'line', 396
+    rx828_pos = $P10."pos"()
+  alt835_end:
+.annotate 'line', 398
   # rx pass
-    rx823_cur."!cursor_pass"(rx823_pos, "number")
-    rx823_cur."!cursor_debug"("PASS  ", "number", " at pos=", rx823_pos)
-    .return (rx823_cur)
-  rx823_fail:
+    rx828_cur."!cursor_pass"(rx828_pos, "number")
+    rx828_cur."!cursor_debug"("PASS  ", "number", " at pos=", rx828_pos)
+    .return (rx828_cur)
+  rx828_fail:
 .annotate 'line', 4
-    (rx823_rep, rx823_pos, $I10, $P10) = rx823_cur."!mark_fail"(0)
-    lt rx823_pos, -1, rx823_done
-    eq rx823_pos, -1, rx823_fail
+    (rx828_rep, rx828_pos, $I10, $P10) = rx828_cur."!mark_fail"(0)
+    lt rx828_pos, -1, rx828_done
+    eq rx828_pos, -1, rx828_fail
     jump $I10
-  rx823_done:
-    rx823_cur."!cursor_fail"()
-    rx823_cur."!cursor_debug"("FAIL  ", "number")
-    .return (rx823_cur)
+  rx828_done:
+    rx828_cur."!cursor_fail"()
+    rx828_cur."!cursor_debug"("FAIL  ", "number")
+    .return (rx828_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__number"  :subid("190_1274800460.92525") :method
+.sub "!PREFIX__number"  :subid("192_1274853038.58734") :method
 .annotate 'line', 4
-    new $P825, "ResizablePMCArray"
-    push $P825, ""
-    .return ($P825)
-.end
-
-
-.namespace ["NQP";"Grammar"]
-.sub "quote"  :subid("191_1274800460.92525") :method
-.annotate 'line', 401
-    $P832 = self."!protoregex"("quote")
-    .return ($P832)
-.end
-
-
-.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__quote"  :subid("192_1274800460.92525") :method
-.annotate 'line', 401
-    $P834 = self."!PREFIX__!protoregex"("quote")
-    .return ($P834)
+    new $P830, "ResizablePMCArray"
+    push $P830, ""
+    .return ($P830)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "quote:sym<apos>"  :subid("193_1274800460.92525") :method :outer("11_1274800460.92525")
-.annotate 'line', 4
-    .local string rx836_tgt
-    .local int rx836_pos
-    .local int rx836_off
-    .local int rx836_eos
-    .local int rx836_rep
-    .local pmc rx836_cur
-    (rx836_cur, rx836_pos, rx836_tgt) = self."!cursor_start"()
-    rx836_cur."!cursor_debug"("START ", "quote:sym<apos>")
-    .lex unicode:"$\x{a2}", rx836_cur
-    .local pmc match
-    .lex "$/", match
-    length rx836_eos, rx836_tgt
-    set rx836_off, 0
-    lt rx836_pos, 2, rx836_start
-    sub rx836_off, rx836_pos, 1
-    substr rx836_tgt, rx836_tgt, rx836_off
-  rx836_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan839_done
-    goto rxscan839_scan
-  rxscan839_loop:
-    ($P10) = rx836_cur."from"()
-    inc $P10
-    set rx836_pos, $P10
-    ge rx836_pos, rx836_eos, rxscan839_done
-  rxscan839_scan:
-    set_addr $I10, rxscan839_loop
-    rx836_cur."!mark_push"(0, rx836_pos, $I10)
-  rxscan839_done:
-.annotate 'line', 402
-  # rx enumcharlist negate=0 zerowidth
-    ge rx836_pos, rx836_eos, rx836_fail
-    sub $I10, rx836_pos, rx836_off
-    substr $S10, rx836_tgt, $I10, 1
-    index $I11, "'", $S10
-    lt $I11, 0, rx836_fail
-  # rx subrule "quote_EXPR" subtype=capture negate=
-    rx836_cur."!cursor_pos"(rx836_pos)
-    $P10 = rx836_cur."quote_EXPR"(":q")
-    unless $P10, rx836_fail
-    rx836_cur."!mark_push"(0, -1, 0, $P10)
-    $P10."!cursor_names"("quote_EXPR")
-    rx836_pos = $P10."pos"()
-  # rx pass
-    rx836_cur."!cursor_pass"(rx836_pos, "quote:sym<apos>")
-    rx836_cur."!cursor_debug"("PASS  ", "quote:sym<apos>", " at pos=", rx836_pos)
-    .return (rx836_cur)
-  rx836_fail:
-.annotate 'line', 4
-    (rx836_rep, rx836_pos, $I10, $P10) = rx836_cur."!mark_fail"(0)
-    lt rx836_pos, -1, rx836_done
-    eq rx836_pos, -1, rx836_fail
-    jump $I10
-  rx836_done:
-    rx836_cur."!cursor_fail"()
-    rx836_cur."!cursor_debug"("FAIL  ", "quote:sym<apos>")
-    .return (rx836_cur)
-    .return ()
+.sub "quote"  :subid("193_1274853038.58734") :method
+.annotate 'line', 403
+    $P837 = self."!protoregex"("quote")
+    .return ($P837)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__quote:sym<apos>"  :subid("194_1274800460.92525") :method
-.annotate 'line', 4
-    new $P838, "ResizablePMCArray"
-    push $P838, "'"
-    .return ($P838)
+.sub "!PREFIX__quote"  :subid("194_1274853038.58734") :method
+.annotate 'line', 403
+    $P839 = self."!PREFIX__!protoregex"("quote")
+    .return ($P839)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "quote:sym<dblq>"  :subid("195_1274800460.92525") :method :outer("11_1274800460.92525")
+.sub "quote:sym<apos>"  :subid("195_1274853038.58734") :method :outer("11_1274853038.58734")
 .annotate 'line', 4
     .local string rx841_tgt
     .local int rx841_pos
@@ -9899,7 +9907,7 @@
     .local int rx841_rep
     .local pmc rx841_cur
     (rx841_cur, rx841_pos, rx841_tgt) = self."!cursor_start"()
-    rx841_cur."!cursor_debug"("START ", "quote:sym<dblq>")
+    rx841_cur."!cursor_debug"("START ", "quote:sym<apos>")
     .lex unicode:"$\x{a2}", rx841_cur
     .local pmc match
     .lex "$/", match
@@ -9921,23 +9929,23 @@
     set_addr $I10, rxscan844_loop
     rx841_cur."!mark_push"(0, rx841_pos, $I10)
   rxscan844_done:
-.annotate 'line', 403
+.annotate 'line', 404
   # rx enumcharlist negate=0 zerowidth
     ge rx841_pos, rx841_eos, rx841_fail
     sub $I10, rx841_pos, rx841_off
     substr $S10, rx841_tgt, $I10, 1
-    index $I11, "\"", $S10
+    index $I11, "'", $S10
     lt $I11, 0, rx841_fail
   # rx subrule "quote_EXPR" subtype=capture negate=
     rx841_cur."!cursor_pos"(rx841_pos)
-    $P10 = rx841_cur."quote_EXPR"(":qq")
+    $P10 = rx841_cur."quote_EXPR"(":q")
     unless $P10, rx841_fail
     rx841_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("quote_EXPR")
     rx841_pos = $P10."pos"()
   # rx pass
-    rx841_cur."!cursor_pass"(rx841_pos, "quote:sym<dblq>")
-    rx841_cur."!cursor_debug"("PASS  ", "quote:sym<dblq>", " at pos=", rx841_pos)
+    rx841_cur."!cursor_pass"(rx841_pos, "quote:sym<apos>")
+    rx841_cur."!cursor_debug"("PASS  ", "quote:sym<apos>", " at pos=", rx841_pos)
     .return (rx841_cur)
   rx841_fail:
 .annotate 'line', 4
@@ -9947,23 +9955,23 @@
     jump $I10
   rx841_done:
     rx841_cur."!cursor_fail"()
-    rx841_cur."!cursor_debug"("FAIL  ", "quote:sym<dblq>")
+    rx841_cur."!cursor_debug"("FAIL  ", "quote:sym<apos>")
     .return (rx841_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__quote:sym<dblq>"  :subid("196_1274800460.92525") :method
+.sub "!PREFIX__quote:sym<apos>"  :subid("196_1274853038.58734") :method
 .annotate 'line', 4
     new $P843, "ResizablePMCArray"
-    push $P843, "\""
+    push $P843, "'"
     .return ($P843)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "quote:sym<q>"  :subid("197_1274800460.92525") :method :outer("11_1274800460.92525")
+.sub "quote:sym<dblq>"  :subid("197_1274853038.58734") :method :outer("11_1274853038.58734")
 .annotate 'line', 4
     .local string rx846_tgt
     .local int rx846_pos
@@ -9972,7 +9980,7 @@
     .local int rx846_rep
     .local pmc rx846_cur
     (rx846_cur, rx846_pos, rx846_tgt) = self."!cursor_start"()
-    rx846_cur."!cursor_debug"("START ", "quote:sym<q>")
+    rx846_cur."!cursor_debug"("START ", "quote:sym<dblq>")
     .lex unicode:"$\x{a2}", rx846_cur
     .local pmc match
     .lex "$/", match
@@ -9983,54 +9991,34 @@
     substr rx846_tgt, rx846_tgt, rx846_off
   rx846_start:
     $I10 = self.'from'()
-    ne $I10, -1, rxscan850_done
-    goto rxscan850_scan
-  rxscan850_loop:
+    ne $I10, -1, rxscan849_done
+    goto rxscan849_scan
+  rxscan849_loop:
     ($P10) = rx846_cur."from"()
     inc $P10
     set rx846_pos, $P10
-    ge rx846_pos, rx846_eos, rxscan850_done
-  rxscan850_scan:
-    set_addr $I10, rxscan850_loop
+    ge rx846_pos, rx846_eos, rxscan849_done
+  rxscan849_scan:
+    set_addr $I10, rxscan849_loop
     rx846_cur."!mark_push"(0, rx846_pos, $I10)
-  rxscan850_done:
-.annotate 'line', 404
-  # rx literal  "q"
-    add $I11, rx846_pos, 1
-    gt $I11, rx846_eos, rx846_fail
-    sub $I11, rx846_pos, rx846_off
-    substr $S10, rx846_tgt, $I11, 1
-    ne $S10, "q", rx846_fail
-    add rx846_pos, 1
-  # rxanchor rwb
-    le rx846_pos, 0, rx846_fail
-    sub $I10, rx846_pos, rx846_off
-    is_cclass $I11, 8192, rx846_tgt, $I10
-    if $I11, rx846_fail
-    dec $I10
-    is_cclass $I11, 8192, rx846_tgt, $I10
-    unless $I11, rx846_fail
-  # rx enumcharlist negate=1 zerowidth
+  rxscan849_done:
+.annotate 'line', 405
+  # rx enumcharlist negate=0 zerowidth
     ge rx846_pos, rx846_eos, rx846_fail
     sub $I10, rx846_pos, rx846_off
     substr $S10, rx846_tgt, $I10, 1
-    index $I11, "(", $S10
-    ge $I11, 0, rx846_fail
-  # rx subrule "ws" subtype=method negate=
-    rx846_cur."!cursor_pos"(rx846_pos)
-    $P10 = rx846_cur."ws"()
-    unless $P10, rx846_fail
-    rx846_pos = $P10."pos"()
+    index $I11, "\"", $S10
+    lt $I11, 0, rx846_fail
   # rx subrule "quote_EXPR" subtype=capture negate=
     rx846_cur."!cursor_pos"(rx846_pos)
-    $P10 = rx846_cur."quote_EXPR"(":q")
+    $P10 = rx846_cur."quote_EXPR"(":qq")
     unless $P10, rx846_fail
     rx846_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("quote_EXPR")
     rx846_pos = $P10."pos"()
   # rx pass
-    rx846_cur."!cursor_pass"(rx846_pos, "quote:sym<q>")
-    rx846_cur."!cursor_debug"("PASS  ", "quote:sym<q>", " at pos=", rx846_pos)
+    rx846_cur."!cursor_pass"(rx846_pos, "quote:sym<dblq>")
+    rx846_cur."!cursor_debug"("PASS  ", "quote:sym<dblq>", " at pos=", rx846_pos)
     .return (rx846_cur)
   rx846_fail:
 .annotate 'line', 4
@@ -10040,464 +10028,480 @@
     jump $I10
   rx846_done:
     rx846_cur."!cursor_fail"()
-    rx846_cur."!cursor_debug"("FAIL  ", "quote:sym<q>")
+    rx846_cur."!cursor_debug"("FAIL  ", "quote:sym<dblq>")
     .return (rx846_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__quote:sym<q>"  :subid("198_1274800460.92525") :method
+.sub "!PREFIX__quote:sym<dblq>"  :subid("198_1274853038.58734") :method
 .annotate 'line', 4
-    $P848 = self."!PREFIX__!subrule"("", "q")
-    new $P849, "ResizablePMCArray"
-    push $P849, $P848
-    .return ($P849)
+    new $P848, "ResizablePMCArray"
+    push $P848, "\""
+    .return ($P848)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "quote:sym<qq>"  :subid("199_1274800460.92525") :method :outer("11_1274800460.92525")
-.annotate 'line', 4
-    .local string rx852_tgt
-    .local int rx852_pos
-    .local int rx852_off
-    .local int rx852_eos
-    .local int rx852_rep
-    .local pmc rx852_cur
-    (rx852_cur, rx852_pos, rx852_tgt) = self."!cursor_start"()
-    rx852_cur."!cursor_debug"("START ", "quote:sym<qq>")
-    .lex unicode:"$\x{a2}", rx852_cur
-    .local pmc match
-    .lex "$/", match
-    length rx852_eos, rx852_tgt
-    set rx852_off, 0
-    lt rx852_pos, 2, rx852_start
-    sub rx852_off, rx852_pos, 1
-    substr rx852_tgt, rx852_tgt, rx852_off
-  rx852_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan856_done
-    goto rxscan856_scan
-  rxscan856_loop:
-    ($P10) = rx852_cur."from"()
-    inc $P10
-    set rx852_pos, $P10
-    ge rx852_pos, rx852_eos, rxscan856_done
-  rxscan856_scan:
-    set_addr $I10, rxscan856_loop
-    rx852_cur."!mark_push"(0, rx852_pos, $I10)
-  rxscan856_done:
-.annotate 'line', 405
+.sub "quote:sym<q>"  :subid("199_1274853038.58734") :method :outer("11_1274853038.58734")
+.annotate 'line', 4
+    .local string rx851_tgt
+    .local int rx851_pos
+    .local int rx851_off
+    .local int rx851_eos
+    .local int rx851_rep
+    .local pmc rx851_cur
+    (rx851_cur, rx851_pos, rx851_tgt) = self."!cursor_start"()
+    rx851_cur."!cursor_debug"("START ", "quote:sym<q>")
+    .lex unicode:"$\x{a2}", rx851_cur
+    .local pmc match
+    .lex "$/", match
+    length rx851_eos, rx851_tgt
+    set rx851_off, 0
+    lt rx851_pos, 2, rx851_start
+    sub rx851_off, rx851_pos, 1
+    substr rx851_tgt, rx851_tgt, rx851_off
+  rx851_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan855_done
+    goto rxscan855_scan
+  rxscan855_loop:
+    ($P10) = rx851_cur."from"()
+    inc $P10
+    set rx851_pos, $P10
+    ge rx851_pos, rx851_eos, rxscan855_done
+  rxscan855_scan:
+    set_addr $I10, rxscan855_loop
+    rx851_cur."!mark_push"(0, rx851_pos, $I10)
+  rxscan855_done:
+.annotate 'line', 406
+  # rx literal  "q"
+    add $I11, rx851_pos, 1
+    gt $I11, rx851_eos, rx851_fail
+    sub $I11, rx851_pos, rx851_off
+    substr $S10, rx851_tgt, $I11, 1
+    ne $S10, "q", rx851_fail
+    add rx851_pos, 1
+  # rxanchor rwb
+    le rx851_pos, 0, rx851_fail
+    sub $I10, rx851_pos, rx851_off
+    is_cclass $I11, 8192, rx851_tgt, $I10
+    if $I11, rx851_fail
+    dec $I10
+    is_cclass $I11, 8192, rx851_tgt, $I10
+    unless $I11, rx851_fail
+  # rx enumcharlist negate=1 zerowidth
+    ge rx851_pos, rx851_eos, rx851_fail
+    sub $I10, rx851_pos, rx851_off
+    substr $S10, rx851_tgt, $I10, 1
+    index $I11, "(", $S10
+    ge $I11, 0, rx851_fail
+  # rx subrule "ws" subtype=method negate=
+    rx851_cur."!cursor_pos"(rx851_pos)
+    $P10 = rx851_cur."ws"()
+    unless $P10, rx851_fail
+    rx851_pos = $P10."pos"()
+  # rx subrule "quote_EXPR" subtype=capture negate=
+    rx851_cur."!cursor_pos"(rx851_pos)
+    $P10 = rx851_cur."quote_EXPR"(":q")
+    unless $P10, rx851_fail
+    rx851_cur."!mark_push"(0, -1, 0, $P10)
+    $P10."!cursor_names"("quote_EXPR")
+    rx851_pos = $P10."pos"()
+  # rx pass
+    rx851_cur."!cursor_pass"(rx851_pos, "quote:sym<q>")
+    rx851_cur."!cursor_debug"("PASS  ", "quote:sym<q>", " at pos=", rx851_pos)
+    .return (rx851_cur)
+  rx851_fail:
+.annotate 'line', 4
+    (rx851_rep, rx851_pos, $I10, $P10) = rx851_cur."!mark_fail"(0)
+    lt rx851_pos, -1, rx851_done
+    eq rx851_pos, -1, rx851_fail
+    jump $I10
+  rx851_done:
+    rx851_cur."!cursor_fail"()
+    rx851_cur."!cursor_debug"("FAIL  ", "quote:sym<q>")
+    .return (rx851_cur)
+    .return ()
+.end
+
+
+.namespace ["NQP";"Grammar"]
+.sub "!PREFIX__quote:sym<q>"  :subid("200_1274853038.58734") :method
+.annotate 'line', 4
+    $P853 = self."!PREFIX__!subrule"("", "q")
+    new $P854, "ResizablePMCArray"
+    push $P854, $P853
+    .return ($P854)
+.end
+
+
+.namespace ["NQP";"Grammar"]
+.sub "quote:sym<qq>"  :subid("201_1274853038.58734") :method :outer("11_1274853038.58734")
+.annotate 'line', 4
+    .local string rx857_tgt
+    .local int rx857_pos
+    .local int rx857_off
+    .local int rx857_eos
+    .local int rx857_rep
+    .local pmc rx857_cur
+    (rx857_cur, rx857_pos, rx857_tgt) = self."!cursor_start"()
+    rx857_cur."!cursor_debug"("START ", "quote:sym<qq>")
+    .lex unicode:"$\x{a2}", rx857_cur
+    .local pmc match
+    .lex "$/", match
+    length rx857_eos, rx857_tgt
+    set rx857_off, 0
+    lt rx857_pos, 2, rx857_start
+    sub rx857_off, rx857_pos, 1
+    substr rx857_tgt, rx857_tgt, rx857_off
+  rx857_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan861_done
+    goto rxscan861_scan
+  rxscan861_loop:
+    ($P10) = rx857_cur."from"()
+    inc $P10
+    set rx857_pos, $P10
+    ge rx857_pos, rx857_eos, rxscan861_done
+  rxscan861_scan:
+    set_addr $I10, rxscan861_loop
+    rx857_cur."!mark_push"(0, rx857_pos, $I10)
+  rxscan861_done:
+.annotate 'line', 407
   # rx literal  "qq"
-    add $I11, rx852_pos, 2
-    gt $I11, rx852_eos, rx852_fail
-    sub $I11, rx852_pos, rx852_off
-    substr $S10, rx852_tgt, $I11, 2
-    ne $S10, "qq", rx852_fail
-    add rx852_pos, 2
+    add $I11, rx857_pos, 2
+    gt $I11, rx857_eos, rx857_fail
+    sub $I11, rx857_pos, rx857_off
+    substr $S10, rx857_tgt, $I11, 2
+    ne $S10, "qq", rx857_fail
+    add rx857_pos, 2
   # rxanchor rwb
-    le rx852_pos, 0, rx852_fail
-    sub $I10, rx852_pos, rx852_off
-    is_cclass $I11, 8192, rx852_tgt, $I10
-    if $I11, rx852_fail
+    le rx857_pos, 0, rx857_fail
+    sub $I10, rx857_pos, rx857_off
+    is_cclass $I11, 8192, rx857_tgt, $I10
+    if $I11, rx857_fail
     dec $I10
-    is_cclass $I11, 8192, rx852_tgt, $I10
-    unless $I11, rx852_fail
+    is_cclass $I11, 8192, rx857_tgt, $I10
+    unless $I11, rx857_fail
   # rx enumcharlist negate=1 zerowidth
-    ge rx852_pos, rx852_eos, rx852_fail
-    sub $I10, rx852_pos, rx852_off
-    substr $S10, rx852_tgt, $I10, 1
+    ge rx857_pos, rx857_eos, rx857_fail
+    sub $I10, rx857_pos, rx857_off
+    substr $S10, rx857_tgt, $I10, 1
     index $I11, "(", $S10
-    ge $I11, 0, rx852_fail
+    ge $I11, 0, rx857_fail
   # rx subrule "ws" subtype=method negate=
-    rx852_cur."!cursor_pos"(rx852_pos)
-    $P10 = rx852_cur."ws"()
-    unless $P10, rx852_fail
-    rx852_pos = $P10."pos"()
+    rx857_cur."!cursor_pos"(rx857_pos)
+    $P10 = rx857_cur."ws"()
+    unless $P10, rx857_fail
+    rx857_pos = $P10."pos"()
   # rx subrule "quote_EXPR" subtype=capture negate=
-    rx852_cur."!cursor_pos"(rx852_pos)
-    $P10 = rx852_cur."quote_EXPR"(":qq")
-    unless $P10, rx852_fail
-    rx852_cur."!mark_push"(0, -1, 0, $P10)
+    rx857_cur."!cursor_pos"(rx857_pos)
+    $P10 = rx857_cur."quote_EXPR"(":qq")
+    unless $P10, rx857_fail
+    rx857_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("quote_EXPR")
-    rx852_pos = $P10."pos"()
+    rx857_pos = $P10."pos"()
   # rx pass
-    rx852_cur."!cursor_pass"(rx852_pos, "quote:sym<qq>")
-    rx852_cur."!cursor_debug"("PASS  ", "quote:sym<qq>", " at pos=", rx852_pos)
-    .return (rx852_cur)
-  rx852_fail:
+    rx857_cur."!cursor_pass"(rx857_pos, "quote:sym<qq>")
+    rx857_cur."!cursor_debug"("PASS  ", "quote:sym<qq>", " at pos=", rx857_pos)
+    .return (rx857_cur)
+  rx857_fail:
 .annotate 'line', 4
-    (rx852_rep, rx852_pos, $I10, $P10) = rx852_cur."!mark_fail"(0)
-    lt rx852_pos, -1, rx852_done
-    eq rx852_pos, -1, rx852_fail
+    (rx857_rep, rx857_pos, $I10, $P10) = rx857_cur."!mark_fail"(0)
+    lt rx857_pos, -1, rx857_done
+    eq rx857_pos, -1, rx857_fail
     jump $I10
-  rx852_done:
-    rx852_cur."!cursor_fail"()
-    rx852_cur."!cursor_debug"("FAIL  ", "quote:sym<qq>")
-    .return (rx852_cur)
+  rx857_done:
+    rx857_cur."!cursor_fail"()
+    rx857_cur."!cursor_debug"("FAIL  ", "quote:sym<qq>")
+    .return (rx857_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__quote:sym<qq>"  :subid("200_1274800460.92525") :method
+.sub "!PREFIX__quote:sym<qq>"  :subid("202_1274853038.58734") :method
 .annotate 'line', 4
-    $P854 = self."!PREFIX__!subrule"("", "qq")
-    new $P855, "ResizablePMCArray"
-    push $P855, $P854
-    .return ($P855)
+    $P859 = self."!PREFIX__!subrule"("", "qq")
+    new $P860, "ResizablePMCArray"
+    push $P860, $P859
+    .return ($P860)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "quote:sym<Q>"  :subid("201_1274800460.92525") :method :outer("11_1274800460.92525")
+.sub "quote:sym<Q>"  :subid("203_1274853038.58734") :method :outer("11_1274853038.58734")
 .annotate 'line', 4
-    .local string rx858_tgt
-    .local int rx858_pos
-    .local int rx858_off
-    .local int rx858_eos
-    .local int rx858_rep
-    .local pmc rx858_cur
-    (rx858_cur, rx858_pos, rx858_tgt) = self."!cursor_start"()
-    rx858_cur."!cursor_debug"("START ", "quote:sym<Q>")
-    .lex unicode:"$\x{a2}", rx858_cur
+    .local string rx863_tgt
+    .local int rx863_pos
+    .local int rx863_off
+    .local int rx863_eos
+    .local int rx863_rep
+    .local pmc rx863_cur
+    (rx863_cur, rx863_pos, rx863_tgt) = self."!cursor_start"()
+    rx863_cur."!cursor_debug"("START ", "quote:sym<Q>")
+    .lex unicode:"$\x{a2}", rx863_cur
     .local pmc match
     .lex "$/", match
-    length rx858_eos, rx858_tgt
-    set rx858_off, 0
-    lt rx858_pos, 2, rx858_start
-    sub rx858_off, rx858_pos, 1
-    substr rx858_tgt, rx858_tgt, rx858_off
-  rx858_start:
+    length rx863_eos, rx863_tgt
+    set rx863_off, 0
+    lt rx863_pos, 2, rx863_start
+    sub rx863_off, rx863_pos, 1
+    substr rx863_tgt, rx863_tgt, rx863_off
+  rx863_start:
     $I10 = self.'from'()
-    ne $I10, -1, rxscan862_done
-    goto rxscan862_scan
-  rxscan862_loop:
-    ($P10) = rx858_cur."from"()
+    ne $I10, -1, rxscan867_done
+    goto rxscan867_scan
+  rxscan867_loop:
+    ($P10) = rx863_cur."from"()
     inc $P10
-    set rx858_pos, $P10
-    ge rx858_pos, rx858_eos, rxscan862_done
-  rxscan862_scan:
-    set_addr $I10, rxscan862_loop
-    rx858_cur."!mark_push"(0, rx858_pos, $I10)
-  rxscan862_done:
-.annotate 'line', 406
+    set rx863_pos, $P10
+    ge rx863_pos, rx863_eos, rxscan867_done
+  rxscan867_scan:
+    set_addr $I10, rxscan867_loop
+    rx863_cur."!mark_push"(0, rx863_pos, $I10)
+  rxscan867_done:
+.annotate 'line', 408
   # rx literal  "Q"
-    add $I11, rx858_pos, 1
-    gt $I11, rx858_eos, rx858_fail
-    sub $I11, rx858_pos, rx858_off
-    substr $S10, rx858_tgt, $I11, 1
-    ne $S10, "Q", rx858_fail
-    add rx858_pos, 1
+    add $I11, rx863_pos, 1
+    gt $I11, rx863_eos, rx863_fail
+    sub $I11, rx863_pos, rx863_off
+    substr $S10, rx863_tgt, $I11, 1
+    ne $S10, "Q", rx863_fail
+    add rx863_pos, 1
   # rxanchor rwb
-    le rx858_pos, 0, rx858_fail
-    sub $I10, rx858_pos, rx858_off
-    is_cclass $I11, 8192, rx858_tgt, $I10
-    if $I11, rx858_fail
+    le rx863_pos, 0, rx863_fail
+    sub $I10, rx863_pos, rx863_off
+    is_cclass $I11, 8192, rx863_tgt, $I10
+    if $I11, rx863_fail
     dec $I10
-    is_cclass $I11, 8192, rx858_tgt, $I10
-    unless $I11, rx858_fail
+    is_cclass $I11, 8192, rx863_tgt, $I10
+    unless $I11, rx863_fail
   # rx enumcharlist negate=1 zerowidth
-    ge rx858_pos, rx858_eos, rx858_fail
-    sub $I10, rx858_pos, rx858_off
-    substr $S10, rx858_tgt, $I10, 1
+    ge rx863_pos, rx863_eos, rx863_fail
+    sub $I10, rx863_pos, rx863_off
+    substr $S10, rx863_tgt, $I10, 1
     index $I11, "(", $S10
-    ge $I11, 0, rx858_fail
+    ge $I11, 0, rx863_fail
   # rx subrule "ws" subtype=method negate=
-    rx858_cur."!cursor_pos"(rx858_pos)
-    $P10 = rx858_cur."ws"()
-    unless $P10, rx858_fail
-    rx858_pos = $P10."pos"()
+    rx863_cur."!cursor_pos"(rx863_pos)
+    $P10 = rx863_cur."ws"()
+    unless $P10, rx863_fail
+    rx863_pos = $P10."pos"()
   # rx subrule "quote_EXPR" subtype=capture negate=
-    rx858_cur."!cursor_pos"(rx858_pos)
-    $P10 = rx858_cur."quote_EXPR"()
-    unless $P10, rx858_fail
-    rx858_cur."!mark_push"(0, -1, 0, $P10)
+    rx863_cur."!cursor_pos"(rx863_pos)
+    $P10 = rx863_cur."quote_EXPR"()
+    unless $P10, rx863_fail
+    rx863_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("quote_EXPR")
-    rx858_pos = $P10."pos"()
+    rx863_pos = $P10."pos"()
   # rx pass
-    rx858_cur."!cursor_pass"(rx858_pos, "quote:sym<Q>")
-    rx858_cur."!cursor_debug"("PASS  ", "quote:sym<Q>", " at pos=", rx858_pos)
-    .return (rx858_cur)
-  rx858_fail:
+    rx863_cur."!cursor_pass"(rx863_pos, "quote:sym<Q>")
+    rx863_cur."!cursor_debug"("PASS  ", "quote:sym<Q>", " at pos=", rx863_pos)
+    .return (rx863_cur)
+  rx863_fail:
 .annotate 'line', 4
-    (rx858_rep, rx858_pos, $I10, $P10) = rx858_cur."!mark_fail"(0)
-    lt rx858_pos, -1, rx858_done
-    eq rx858_pos, -1, rx858_fail
+    (rx863_rep, rx863_pos, $I10, $P10) = rx863_cur."!mark_fail"(0)
+    lt rx863_pos, -1, rx863_done
+    eq rx863_pos, -1, rx863_fail
     jump $I10
-  rx858_done:
-    rx858_cur."!cursor_fail"()
-    rx858_cur."!cursor_debug"("FAIL  ", "quote:sym<Q>")
-    .return (rx858_cur)
+  rx863_done:
+    rx863_cur."!cursor_fail"()
+    rx863_cur."!cursor_debug"("FAIL  ", "quote:sym<Q>")
+    .return (rx863_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__quote:sym<Q>"  :subid("202_1274800460.92525") :method
+.sub "!PREFIX__quote:sym<Q>"  :subid("204_1274853038.58734") :method
 .annotate 'line', 4
-    $P860 = self."!PREFIX__!subrule"("", "Q")
-    new $P861, "ResizablePMCArray"
-    push $P861, $P860
-    .return ($P861)
+    $P865 = self."!PREFIX__!subrule"("", "Q")
+    new $P866, "ResizablePMCArray"
+    push $P866, $P865
+    .return ($P866)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "quote:sym<Q:PIR>"  :subid("203_1274800460.92525") :method :outer("11_1274800460.92525")
+.sub "quote:sym<Q:PIR>"  :subid("205_1274853038.58734") :method :outer("11_1274853038.58734")
 .annotate 'line', 4
-    .local string rx864_tgt
-    .local int rx864_pos
-    .local int rx864_off
-    .local int rx864_eos
-    .local int rx864_rep
-    .local pmc rx864_cur
-    (rx864_cur, rx864_pos, rx864_tgt) = self."!cursor_start"()
-    rx864_cur."!cursor_debug"("START ", "quote:sym<Q:PIR>")
-    .lex unicode:"$\x{a2}", rx864_cur
+    .local string rx869_tgt
+    .local int rx869_pos
+    .local int rx869_off
+    .local int rx869_eos
+    .local int rx869_rep
+    .local pmc rx869_cur
+    (rx869_cur, rx869_pos, rx869_tgt) = self."!cursor_start"()
+    rx869_cur."!cursor_debug"("START ", "quote:sym<Q:PIR>")
+    .lex unicode:"$\x{a2}", rx869_cur
     .local pmc match
     .lex "$/", match
-    length rx864_eos, rx864_tgt
-    set rx864_off, 0
-    lt rx864_pos, 2, rx864_start
-    sub rx864_off, rx864_pos, 1
-    substr rx864_tgt, rx864_tgt, rx864_off
-  rx864_start:
+    length rx869_eos, rx869_tgt
+    set rx869_off, 0
+    lt rx869_pos, 2, rx869_start
+    sub rx869_off, rx869_pos, 1
+    substr rx869_tgt, rx869_tgt, rx869_off
+  rx869_start:
     $I10 = self.'from'()
-    ne $I10, -1, rxscan868_done
-    goto rxscan868_scan
-  rxscan868_loop:
-    ($P10) = rx864_cur."from"()
+    ne $I10, -1, rxscan873_done
+    goto rxscan873_scan
+  rxscan873_loop:
+    ($P10) = rx869_cur."from"()
     inc $P10
-    set rx864_pos, $P10
-    ge rx864_pos, rx864_eos, rxscan868_done
-  rxscan868_scan:
-    set_addr $I10, rxscan868_loop
-    rx864_cur."!mark_push"(0, rx864_pos, $I10)
-  rxscan868_done:
-.annotate 'line', 407
+    set rx869_pos, $P10
+    ge rx869_pos, rx869_eos, rxscan873_done
+  rxscan873_scan:
+    set_addr $I10, rxscan873_loop
+    rx869_cur."!mark_push"(0, rx869_pos, $I10)
+  rxscan873_done:
+.annotate 'line', 409
   # rx literal  "Q:PIR"
-    add $I11, rx864_pos, 5
-    gt $I11, rx864_eos, rx864_fail
-    sub $I11, rx864_pos, rx864_off
-    substr $S10, rx864_tgt, $I11, 5
-    ne $S10, "Q:PIR", rx864_fail
-    add rx864_pos, 5
-  # rx subrule "ws" subtype=method negate=
-    rx864_cur."!cursor_pos"(rx864_pos)
-    $P10 = rx864_cur."ws"()
-    unless $P10, rx864_fail
-    rx864_pos = $P10."pos"()
+    add $I11, rx869_pos, 5
+    gt $I11, rx869_eos, rx869_fail
+    sub $I11, rx869_pos, rx869_off
+    substr $S10, rx869_tgt, $I11, 5
+    ne $S10, "Q:PIR", rx869_fail
+    add rx869_pos, 5
+  # rx subrule "ws" subtype=method negate=
+    rx869_cur."!cursor_pos"(rx869_pos)
+    $P10 = rx869_cur."ws"()
+    unless $P10, rx869_fail
+    rx869_pos = $P10."pos"()
   # rx subrule "quote_EXPR" subtype=capture negate=
-    rx864_cur."!cursor_pos"(rx864_pos)
-    $P10 = rx864_cur."quote_EXPR"()
-    unless $P10, rx864_fail
-    rx864_cur."!mark_push"(0, -1, 0, $P10)
+    rx869_cur."!cursor_pos"(rx869_pos)
+    $P10 = rx869_cur."quote_EXPR"()
+    unless $P10, rx869_fail
+    rx869_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("quote_EXPR")
-    rx864_pos = $P10."pos"()
+    rx869_pos = $P10."pos"()
   # rx pass
-    rx864_cur."!cursor_pass"(rx864_pos, "quote:sym<Q:PIR>")
-    rx864_cur."!cursor_debug"("PASS  ", "quote:sym<Q:PIR>", " at pos=", rx864_pos)
-    .return (rx864_cur)
-  rx864_fail:
+    rx869_cur."!cursor_pass"(rx869_pos, "quote:sym<Q:PIR>")
+    rx869_cur."!cursor_debug"("PASS  ", "quote:sym<Q:PIR>", " at pos=", rx869_pos)
+    .return (rx869_cur)
+  rx869_fail:
 .annotate 'line', 4
-    (rx864_rep, rx864_pos, $I10, $P10) = rx864_cur."!mark_fail"(0)
-    lt rx864_pos, -1, rx864_done
-    eq rx864_pos, -1, rx864_fail
+    (rx869_rep, rx869_pos, $I10, $P10) = rx869_cur."!mark_fail"(0)
+    lt rx869_pos, -1, rx869_done
+    eq rx869_pos, -1, rx869_fail
     jump $I10
-  rx864_done:
-    rx864_cur."!cursor_fail"()
-    rx864_cur."!cursor_debug"("FAIL  ", "quote:sym<Q:PIR>")
-    .return (rx864_cur)
+  rx869_done:
+    rx869_cur."!cursor_fail"()
+    rx869_cur."!cursor_debug"("FAIL  ", "quote:sym<Q:PIR>")
+    .return (rx869_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__quote:sym<Q:PIR>"  :subid("204_1274800460.92525") :method
+.sub "!PREFIX__quote:sym<Q:PIR>"  :subid("206_1274853038.58734") :method
 .annotate 'line', 4
-    $P866 = self."!PREFIX__!subrule"("", "Q:PIR")
-    new $P867, "ResizablePMCArray"
-    push $P867, $P866
-    .return ($P867)
+    $P871 = self."!PREFIX__!subrule"("", "Q:PIR")
+    new $P872, "ResizablePMCArray"
+    push $P872, $P871
+    .return ($P872)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "quote:sym</ />"  :subid("205_1274800460.92525") :method :outer("11_1274800460.92525")
+.sub "quote:sym</ />"  :subid("207_1274853038.58734") :method :outer("11_1274853038.58734")
 .annotate 'line', 4
-    .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 ", "quote:sym</ />")
-    .lex unicode:"$\x{a2}", rx870_cur
+    .local string rx875_tgt
+    .local int rx875_pos
+    .local int rx875_off
+    .local int rx875_eos
+    .local int rx875_rep
+    .local pmc rx875_cur
+    (rx875_cur, rx875_pos, rx875_tgt) = self."!cursor_start"()
+    rx875_cur."!cursor_debug"("START ", "quote:sym</ />")
+    .lex unicode:"$\x{a2}", rx875_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:
+    length rx875_eos, rx875_tgt
+    set rx875_off, 0
+    lt rx875_pos, 2, rx875_start
+    sub rx875_off, rx875_pos, 1
+    substr rx875_tgt, rx875_tgt, rx875_off
+  rx875_start:
     $I10 = self.'from'()
-    ne $I10, -1, rxscan874_done
-    goto rxscan874_scan
-  rxscan874_loop:
-    ($P10) = rx870_cur."from"()
+    ne $I10, -1, rxscan879_done
+    goto rxscan879_scan
+  rxscan879_loop:
+    ($P10) = rx875_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', 409
+    set rx875_pos, $P10
+    ge rx875_pos, rx875_eos, rxscan879_done
+  rxscan879_scan:
+    set_addr $I10, rxscan879_loop
+    rx875_cur."!mark_push"(0, rx875_pos, $I10)
+  rxscan879_done:
+.annotate 'line', 411
   # 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', 410
+    add $I11, rx875_pos, 1
+    gt $I11, rx875_eos, rx875_fail
+    sub $I11, rx875_pos, rx875_off
+    substr $S10, rx875_tgt, $I11, 1
+    ne $S10, "/", rx875_fail
+    add rx875_pos, 1
+.annotate 'line', 412
   # rx subrule "newpad" subtype=method negate=
-    rx870_cur."!cursor_pos"(rx870_pos)
-    $P10 = rx870_cur."newpad"()
-    unless $P10, rx870_fail
-    rx870_pos = $P10."pos"()
-.annotate 'line', 411
+    rx875_cur."!cursor_pos"(rx875_pos)
+    $P10 = rx875_cur."newpad"()
+    unless $P10, rx875_fail
+    rx875_pos = $P10."pos"()
+.annotate 'line', 413
   # rx reduce name="quote:sym</ />" key="open"
-    rx870_cur."!cursor_pos"(rx870_pos)
-    rx870_cur."!reduce"("quote:sym</ />", "open")
-.annotate 'line', 412
+    rx875_cur."!cursor_pos"(rx875_pos)
+    rx875_cur."!reduce"("quote:sym</ />", "open")
+.annotate 'line', 414
   # rx subrule "LANG" subtype=capture negate=
-    rx870_cur."!cursor_pos"(rx870_pos)
-    $P10 = rx870_cur."LANG"("Regex", "nibbler")
-    unless $P10, rx870_fail
-    rx870_cur."!mark_push"(0, -1, 0, $P10)
+    rx875_cur."!cursor_pos"(rx875_pos)
+    $P10 = rx875_cur."LANG"("Regex", "nibbler")
+    unless $P10, rx875_fail
+    rx875_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("p6regex")
-    rx870_pos = $P10."pos"()
-.annotate 'line', 413
+    rx875_pos = $P10."pos"()
+.annotate 'line', 415
   # 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', 408
-  # rx pass
-    rx870_cur."!cursor_pass"(rx870_pos, "quote:sym</ />")
-    rx870_cur."!cursor_debug"("PASS  ", "quote:sym</ />", " at pos=", rx870_pos)
-    .return (rx870_cur)
-  rx870_fail:
-.annotate 'line', 4
-    (rx870_rep, rx870_pos, $I10, $P10) = rx870_cur."!mark_fail"(0)
-    lt rx870_pos, -1, rx870_done
-    eq rx870_pos, -1, rx870_fail
-    jump $I10
-  rx870_done:
-    rx870_cur."!cursor_fail"()
-    rx870_cur."!cursor_debug"("FAIL  ", "quote:sym</ />")
-    .return (rx870_cur)
-    .return ()
-.end
-
-
-.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__quote:sym</ />"  :subid("206_1274800460.92525") :method
-.annotate 'line', 4
-    $P872 = self."!PREFIX__!subrule"("", "/")
-    new $P873, "ResizablePMCArray"
-    push $P873, $P872
-    .return ($P873)
-.end
-
-
-.namespace ["NQP";"Grammar"]
-.sub "quote_escape:sym<$>"  :subid("207_1274800460.92525") :method :outer("11_1274800460.92525")
-.annotate 'line', 4
-    .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 ", "quote_escape: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, rxscan879_done
-    goto rxscan879_scan
-  rxscan879_loop:
-    ($P10) = rx876_cur."from"()
-    inc $P10
-    set rx876_pos, $P10
-    ge rx876_pos, rx876_eos, rxscan879_done
-  rxscan879_scan:
-    set_addr $I10, rxscan879_loop
-    rx876_cur."!mark_push"(0, rx876_pos, $I10)
-  rxscan879_done:
-.annotate 'line', 416
-  # rx enumcharlist negate=0 zerowidth
-    ge rx876_pos, rx876_eos, rx876_fail
-    sub $I10, rx876_pos, rx876_off
-    substr $S10, rx876_tgt, $I10, 1
-    index $I11, "$", $S10
-    lt $I11, 0, rx876_fail
-  # rx subrule "quotemod_check" subtype=zerowidth negate=
-    rx876_cur."!cursor_pos"(rx876_pos)
-    $P10 = rx876_cur."quotemod_check"("s")
-    unless $P10, rx876_fail
-  # rx subrule "variable" subtype=capture negate=
-    rx876_cur."!cursor_pos"(rx876_pos)
-    $P10 = rx876_cur."variable"()
-    unless $P10, rx876_fail
-    rx876_cur."!mark_push"(0, -1, 0, $P10)
-    $P10."!cursor_names"("variable")
-    rx876_pos = $P10."pos"()
+    add $I11, rx875_pos, 1
+    gt $I11, rx875_eos, rx875_fail
+    sub $I11, rx875_pos, rx875_off
+    substr $S10, rx875_tgt, $I11, 1
+    ne $S10, "/", rx875_fail
+    add rx875_pos, 1
+.annotate 'line', 410
   # rx pass
-    rx876_cur."!cursor_pass"(rx876_pos, "quote_escape:sym<$>")
-    rx876_cur."!cursor_debug"("PASS  ", "quote_escape:sym<$>", " at pos=", rx876_pos)
-    .return (rx876_cur)
-  rx876_fail:
+    rx875_cur."!cursor_pass"(rx875_pos, "quote:sym</ />")
+    rx875_cur."!cursor_debug"("PASS  ", "quote:sym</ />", " at pos=", rx875_pos)
+    .return (rx875_cur)
+  rx875_fail:
 .annotate 'line', 4
-    (rx876_rep, rx876_pos, $I10, $P10) = rx876_cur."!mark_fail"(0)
-    lt rx876_pos, -1, rx876_done
-    eq rx876_pos, -1, rx876_fail
+    (rx875_rep, rx875_pos, $I10, $P10) = rx875_cur."!mark_fail"(0)
+    lt rx875_pos, -1, rx875_done
+    eq rx875_pos, -1, rx875_fail
     jump $I10
-  rx876_done:
-    rx876_cur."!cursor_fail"()
-    rx876_cur."!cursor_debug"("FAIL  ", "quote_escape:sym<$>")
-    .return (rx876_cur)
+  rx875_done:
+    rx875_cur."!cursor_fail"()
+    rx875_cur."!cursor_debug"("FAIL  ", "quote:sym</ />")
+    .return (rx875_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__quote_escape:sym<$>"  :subid("208_1274800460.92525") :method
+.sub "!PREFIX__quote:sym</ />"  :subid("208_1274853038.58734") :method
 .annotate 'line', 4
+    $P877 = self."!PREFIX__!subrule"("", "/")
     new $P878, "ResizablePMCArray"
-    push $P878, "$"
+    push $P878, $P877
     .return ($P878)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "quote_escape:sym<{ }>"  :subid("209_1274800460.92525") :method :outer("11_1274800460.92525")
+.sub "quote_escape:sym<$>"  :subid("209_1274853038.58734") :method :outer("11_1274853038.58734")
 .annotate 'line', 4
     .local string rx881_tgt
     .local int rx881_pos
@@ -10506,7 +10510,7 @@
     .local int rx881_rep
     .local pmc rx881_cur
     (rx881_cur, rx881_pos, rx881_tgt) = self."!cursor_start"()
-    rx881_cur."!cursor_debug"("START ", "quote_escape:sym<{ }>")
+    rx881_cur."!cursor_debug"("START ", "quote_escape:sym<$>")
     .lex unicode:"$\x{a2}", rx881_cur
     .local pmc match
     .lex "$/", match
@@ -10528,27 +10532,27 @@
     set_addr $I10, rxscan884_loop
     rx881_cur."!mark_push"(0, rx881_pos, $I10)
   rxscan884_done:
-.annotate 'line', 417
+.annotate 'line', 418
   # rx enumcharlist negate=0 zerowidth
     ge rx881_pos, rx881_eos, rx881_fail
     sub $I10, rx881_pos, rx881_off
     substr $S10, rx881_tgt, $I10, 1
-    index $I11, "{", $S10
+    index $I11, "$", $S10
     lt $I11, 0, rx881_fail
   # rx subrule "quotemod_check" subtype=zerowidth negate=
     rx881_cur."!cursor_pos"(rx881_pos)
-    $P10 = rx881_cur."quotemod_check"("c")
+    $P10 = rx881_cur."quotemod_check"("s")
     unless $P10, rx881_fail
-  # rx subrule "block" subtype=capture negate=
+  # rx subrule "variable" subtype=capture negate=
     rx881_cur."!cursor_pos"(rx881_pos)
-    $P10 = rx881_cur."block"()
+    $P10 = rx881_cur."variable"()
     unless $P10, rx881_fail
     rx881_cur."!mark_push"(0, -1, 0, $P10)
-    $P10."!cursor_names"("block")
+    $P10."!cursor_names"("variable")
     rx881_pos = $P10."pos"()
   # rx pass
-    rx881_cur."!cursor_pass"(rx881_pos, "quote_escape:sym<{ }>")
-    rx881_cur."!cursor_debug"("PASS  ", "quote_escape:sym<{ }>", " at pos=", rx881_pos)
+    rx881_cur."!cursor_pass"(rx881_pos, "quote_escape:sym<$>")
+    rx881_cur."!cursor_debug"("PASS  ", "quote_escape:sym<$>", " at pos=", rx881_pos)
     .return (rx881_cur)
   rx881_fail:
 .annotate 'line', 4
@@ -10558,23 +10562,23 @@
     jump $I10
   rx881_done:
     rx881_cur."!cursor_fail"()
-    rx881_cur."!cursor_debug"("FAIL  ", "quote_escape:sym<{ }>")
+    rx881_cur."!cursor_debug"("FAIL  ", "quote_escape:sym<$>")
     .return (rx881_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__quote_escape:sym<{ }>"  :subid("210_1274800460.92525") :method
+.sub "!PREFIX__quote_escape:sym<$>"  :subid("210_1274853038.58734") :method
 .annotate 'line', 4
     new $P883, "ResizablePMCArray"
-    push $P883, "{"
+    push $P883, "$"
     .return ($P883)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "quote_escape:sym<esc>"  :subid("211_1274800460.92525") :method :outer("11_1274800460.92525")
+.sub "quote_escape:sym<{ }>"  :subid("211_1274853038.58734") :method :outer("11_1274853038.58734")
 .annotate 'line', 4
     .local string rx886_tgt
     .local int rx886_pos
@@ -10583,7 +10587,7 @@
     .local int rx886_rep
     .local pmc rx886_cur
     (rx886_cur, rx886_pos, rx886_tgt) = self."!cursor_start"()
-    rx886_cur."!cursor_debug"("START ", "quote_escape:sym<esc>")
+    rx886_cur."!cursor_debug"("START ", "quote_escape:sym<{ }>")
     .lex unicode:"$\x{a2}", rx886_cur
     .local pmc match
     .lex "$/", match
@@ -10605,21 +10609,27 @@
     set_addr $I10, rxscan889_loop
     rx886_cur."!mark_push"(0, rx886_pos, $I10)
   rxscan889_done:
-.annotate 'line', 418
-  # rx literal  "\\e"
-    add $I11, rx886_pos, 2
-    gt $I11, rx886_eos, rx886_fail
-    sub $I11, rx886_pos, rx886_off
-    substr $S10, rx886_tgt, $I11, 2
-    ne $S10, "\\e", rx886_fail
-    add rx886_pos, 2
+.annotate 'line', 419
+  # rx enumcharlist negate=0 zerowidth
+    ge rx886_pos, rx886_eos, rx886_fail
+    sub $I10, rx886_pos, rx886_off
+    substr $S10, rx886_tgt, $I10, 1
+    index $I11, "{", $S10
+    lt $I11, 0, rx886_fail
   # rx subrule "quotemod_check" subtype=zerowidth negate=
     rx886_cur."!cursor_pos"(rx886_pos)
-    $P10 = rx886_cur."quotemod_check"("b")
+    $P10 = rx886_cur."quotemod_check"("c")
     unless $P10, rx886_fail
+  # rx subrule "block" subtype=capture negate=
+    rx886_cur."!cursor_pos"(rx886_pos)
+    $P10 = rx886_cur."block"()
+    unless $P10, rx886_fail
+    rx886_cur."!mark_push"(0, -1, 0, $P10)
+    $P10."!cursor_names"("block")
+    rx886_pos = $P10."pos"()
   # rx pass
-    rx886_cur."!cursor_pass"(rx886_pos, "quote_escape:sym<esc>")
-    rx886_cur."!cursor_debug"("PASS  ", "quote_escape:sym<esc>", " at pos=", rx886_pos)
+    rx886_cur."!cursor_pass"(rx886_pos, "quote_escape:sym<{ }>")
+    rx886_cur."!cursor_debug"("PASS  ", "quote_escape:sym<{ }>", " at pos=", rx886_pos)
     .return (rx886_cur)
   rx886_fail:
 .annotate 'line', 4
@@ -10629,23 +10639,23 @@
     jump $I10
   rx886_done:
     rx886_cur."!cursor_fail"()
-    rx886_cur."!cursor_debug"("FAIL  ", "quote_escape:sym<esc>")
+    rx886_cur."!cursor_debug"("FAIL  ", "quote_escape:sym<{ }>")
     .return (rx886_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__quote_escape:sym<esc>"  :subid("212_1274800460.92525") :method
+.sub "!PREFIX__quote_escape:sym<{ }>"  :subid("212_1274853038.58734") :method
 .annotate 'line', 4
     new $P888, "ResizablePMCArray"
-    push $P888, "\\e"
+    push $P888, "{"
     .return ($P888)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "circumfix:sym<( )>"  :subid("213_1274800460.92525") :method :outer("11_1274800460.92525")
+.sub "quote_escape:sym<esc>"  :subid("213_1274853038.58734") :method :outer("11_1274853038.58734")
 .annotate 'line', 4
     .local string rx891_tgt
     .local int rx891_pos
@@ -10654,8 +10664,7 @@
     .local int rx891_rep
     .local pmc rx891_cur
     (rx891_cur, rx891_pos, rx891_tgt) = self."!cursor_start"()
-    rx891_cur."!cursor_debug"("START ", "circumfix:sym<( )>")
-    rx891_cur."!cursor_caparray"("EXPR")
+    rx891_cur."!cursor_debug"("START ", "quote_escape:sym<esc>")
     .lex unicode:"$\x{a2}", rx891_cur
     .local pmc match
     .lex "$/", match
@@ -10666,53 +10675,32 @@
     substr rx891_tgt, rx891_tgt, rx891_off
   rx891_start:
     $I10 = self.'from'()
-    ne $I10, -1, rxscan895_done
-    goto rxscan895_scan
-  rxscan895_loop:
+    ne $I10, -1, rxscan894_done
+    goto rxscan894_scan
+  rxscan894_loop:
     ($P10) = rx891_cur."from"()
     inc $P10
     set rx891_pos, $P10
-    ge rx891_pos, rx891_eos, rxscan895_done
-  rxscan895_scan:
-    set_addr $I10, rxscan895_loop
+    ge rx891_pos, rx891_eos, rxscan894_done
+  rxscan894_scan:
+    set_addr $I10, rxscan894_loop
     rx891_cur."!mark_push"(0, rx891_pos, $I10)
-  rxscan895_done:
+  rxscan894_done:
 .annotate 'line', 420
-  # rx literal  "("
-    add $I11, rx891_pos, 1
+  # rx literal  "\\e"
+    add $I11, rx891_pos, 2
     gt $I11, rx891_eos, rx891_fail
     sub $I11, rx891_pos, rx891_off
-    substr $S10, rx891_tgt, $I11, 1
-    ne $S10, "(", rx891_fail
-    add rx891_pos, 1
-  # rx subrule "ws" subtype=method negate=
-    rx891_cur."!cursor_pos"(rx891_pos)
-    $P10 = rx891_cur."ws"()
-    unless $P10, rx891_fail
-    rx891_pos = $P10."pos"()
-  # rx rxquantr896 ** 0..1
-    set_addr $I897, rxquantr896_done
-    rx891_cur."!mark_push"(0, rx891_pos, $I897)
-  rxquantr896_loop:
-  # rx subrule "EXPR" subtype=capture negate=
+    substr $S10, rx891_tgt, $I11, 2
+    ne $S10, "\\e", rx891_fail
+    add rx891_pos, 2
+  # rx subrule "quotemod_check" subtype=zerowidth negate=
     rx891_cur."!cursor_pos"(rx891_pos)
-    $P10 = rx891_cur."EXPR"()
+    $P10 = rx891_cur."quotemod_check"("b")
     unless $P10, rx891_fail
-    rx891_cur."!mark_push"(0, -1, 0, $P10)
-    $P10."!cursor_names"("EXPR")
-    rx891_pos = $P10."pos"()
-    (rx891_rep) = rx891_cur."!mark_commit"($I897)
-  rxquantr896_done:
-  # rx literal  ")"
-    add $I11, rx891_pos, 1
-    gt $I11, rx891_eos, rx891_fail
-    sub $I11, rx891_pos, rx891_off
-    substr $S10, rx891_tgt, $I11, 1
-    ne $S10, ")", rx891_fail
-    add rx891_pos, 1
   # rx pass
-    rx891_cur."!cursor_pass"(rx891_pos, "circumfix:sym<( )>")
-    rx891_cur."!cursor_debug"("PASS  ", "circumfix:sym<( )>", " at pos=", rx891_pos)
+    rx891_cur."!cursor_pass"(rx891_pos, "quote_escape:sym<esc>")
+    rx891_cur."!cursor_debug"("PASS  ", "quote_escape:sym<esc>", " at pos=", rx891_pos)
     .return (rx891_cur)
   rx891_fail:
 .annotate 'line', 4
@@ -10722,191 +10710,211 @@
     jump $I10
   rx891_done:
     rx891_cur."!cursor_fail"()
-    rx891_cur."!cursor_debug"("FAIL  ", "circumfix:sym<( )>")
+    rx891_cur."!cursor_debug"("FAIL  ", "quote_escape:sym<esc>")
     .return (rx891_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__circumfix:sym<( )>"  :subid("214_1274800460.92525") :method
+.sub "!PREFIX__quote_escape:sym<esc>"  :subid("214_1274853038.58734") :method
 .annotate 'line', 4
-    $P893 = self."!PREFIX__!subrule"("", "(")
-    new $P894, "ResizablePMCArray"
-    push $P894, $P893
-    .return ($P894)
+    new $P893, "ResizablePMCArray"
+    push $P893, "\\e"
+    .return ($P893)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "circumfix:sym<[ ]>"  :subid("215_1274800460.92525") :method :outer("11_1274800460.92525")
-.annotate 'line', 4
-    .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 ", "circumfix:sym<[ ]>")
-    rx899_cur."!cursor_caparray"("EXPR")
-    .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:
-.annotate 'line', 421
-  # rx literal  "["
-    add $I11, rx899_pos, 1
-    gt $I11, rx899_eos, rx899_fail
-    sub $I11, rx899_pos, rx899_off
-    substr $S10, rx899_tgt, $I11, 1
-    ne $S10, "[", rx899_fail
-    add rx899_pos, 1
-  # rx subrule "ws" subtype=method negate=
-    rx899_cur."!cursor_pos"(rx899_pos)
-    $P10 = rx899_cur."ws"()
-    unless $P10, rx899_fail
-    rx899_pos = $P10."pos"()
-  # rx rxquantr904 ** 0..1
-    set_addr $I905, rxquantr904_done
-    rx899_cur."!mark_push"(0, rx899_pos, $I905)
-  rxquantr904_loop:
+.sub "circumfix:sym<( )>"  :subid("215_1274853038.58734") :method :outer("11_1274853038.58734")
+.annotate 'line', 4
+    .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 ", "circumfix:sym<( )>")
+    rx896_cur."!cursor_caparray"("EXPR")
+    .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', 422
+  # 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 rxquantr901 ** 0..1
+    set_addr $I902, rxquantr901_done
+    rx896_cur."!mark_push"(0, rx896_pos, $I902)
+  rxquantr901_loop:
   # rx subrule "EXPR" subtype=capture negate=
-    rx899_cur."!cursor_pos"(rx899_pos)
-    $P10 = rx899_cur."EXPR"()
-    unless $P10, rx899_fail
-    rx899_cur."!mark_push"(0, -1, 0, $P10)
+    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")
-    rx899_pos = $P10."pos"()
-    (rx899_rep) = rx899_cur."!mark_commit"($I905)
-  rxquantr904_done:
-  # rx literal  "]"
-    add $I11, rx899_pos, 1
-    gt $I11, rx899_eos, rx899_fail
-    sub $I11, rx899_pos, rx899_off
-    substr $S10, rx899_tgt, $I11, 1
-    ne $S10, "]", rx899_fail
-    add rx899_pos, 1
+    rx896_pos = $P10."pos"()
+    (rx896_rep) = rx896_cur."!mark_commit"($I902)
+  rxquantr901_done:
+  # 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 pass
-    rx899_cur."!cursor_pass"(rx899_pos, "circumfix:sym<[ ]>")
-    rx899_cur."!cursor_debug"("PASS  ", "circumfix:sym<[ ]>", " at pos=", rx899_pos)
-    .return (rx899_cur)
-  rx899_fail:
+    rx896_cur."!cursor_pass"(rx896_pos, "circumfix:sym<( )>")
+    rx896_cur."!cursor_debug"("PASS  ", "circumfix:sym<( )>", " at pos=", rx896_pos)
+    .return (rx896_cur)
+  rx896_fail:
 .annotate 'line', 4
-    (rx899_rep, rx899_pos, $I10, $P10) = rx899_cur."!mark_fail"(0)
-    lt rx899_pos, -1, rx899_done
-    eq rx899_pos, -1, rx899_fail
+    (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
-  rx899_done:
-    rx899_cur."!cursor_fail"()
-    rx899_cur."!cursor_debug"("FAIL  ", "circumfix:sym<[ ]>")
-    .return (rx899_cur)
+  rx896_done:
+    rx896_cur."!cursor_fail"()
+    rx896_cur."!cursor_debug"("FAIL  ", "circumfix:sym<( )>")
+    .return (rx896_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__circumfix:sym<[ ]>"  :subid("216_1274800460.92525") :method
+.sub "!PREFIX__circumfix:sym<( )>"  :subid("216_1274853038.58734") :method
 .annotate 'line', 4
-    $P901 = self."!PREFIX__!subrule"("", "[")
-    new $P902, "ResizablePMCArray"
-    push $P902, $P901
-    .return ($P902)
+    $P898 = self."!PREFIX__!subrule"("", "(")
+    new $P899, "ResizablePMCArray"
+    push $P899, $P898
+    .return ($P899)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "circumfix:sym<ang>"  :subid("217_1274800460.92525") :method :outer("11_1274800460.92525")
+.sub "circumfix:sym<[ ]>"  :subid("217_1274853038.58734") :method :outer("11_1274853038.58734")
 .annotate 'line', 4
-    .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 ", "circumfix:sym<ang>")
-    .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, rxscan910_done
-    goto rxscan910_scan
-  rxscan910_loop:
-    ($P10) = rx907_cur."from"()
-    inc $P10
-    set rx907_pos, $P10
-    ge rx907_pos, rx907_eos, rxscan910_done
-  rxscan910_scan:
-    set_addr $I10, rxscan910_loop
-    rx907_cur."!mark_push"(0, rx907_pos, $I10)
-  rxscan910_done:
-.annotate 'line', 422
-  # rx enumcharlist negate=0 zerowidth
-    ge rx907_pos, rx907_eos, rx907_fail
-    sub $I10, rx907_pos, rx907_off
-    substr $S10, rx907_tgt, $I10, 1
-    index $I11, "<", $S10
-    lt $I11, 0, rx907_fail
-  # rx subrule "quote_EXPR" subtype=capture negate=
-    rx907_cur."!cursor_pos"(rx907_pos)
-    $P10 = rx907_cur."quote_EXPR"(":q", ":w")
-    unless $P10, rx907_fail
-    rx907_cur."!mark_push"(0, -1, 0, $P10)
-    $P10."!cursor_names"("quote_EXPR")
-    rx907_pos = $P10."pos"()
+    .local string rx904_tgt
+    .local int rx904_pos
+    .local int rx904_off
+    .local int rx904_eos
+    .local int rx904_rep
+    .local pmc rx904_cur
+    (rx904_cur, rx904_pos, rx904_tgt) = self."!cursor_start"()
+    rx904_cur."!cursor_debug"("START ", "circumfix:sym<[ ]>")
+    rx904_cur."!cursor_caparray"("EXPR")
+    .lex unicode:"$\x{a2}", rx904_cur
+    .local pmc match
+    .lex "$/", match
+    length rx904_eos, rx904_tgt
+    set rx904_off, 0
+    lt rx904_pos, 2, rx904_start
+    sub rx904_off, rx904_pos, 1
+    substr rx904_tgt, rx904_tgt, rx904_off
+  rx904_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan908_done
+    goto rxscan908_scan
+  rxscan908_loop:
+    ($P10) = rx904_cur."from"()
+    inc $P10
+    set rx904_pos, $P10
+    ge rx904_pos, rx904_eos, rxscan908_done
+  rxscan908_scan:
+    set_addr $I10, rxscan908_loop
+    rx904_cur."!mark_push"(0, rx904_pos, $I10)
+  rxscan908_done:
+.annotate 'line', 423
+  # rx literal  "["
+    add $I11, rx904_pos, 1
+    gt $I11, rx904_eos, rx904_fail
+    sub $I11, rx904_pos, rx904_off
+    substr $S10, rx904_tgt, $I11, 1
+    ne $S10, "[", rx904_fail
+    add rx904_pos, 1
+  # rx subrule "ws" subtype=method negate=
+    rx904_cur."!cursor_pos"(rx904_pos)
+    $P10 = rx904_cur."ws"()
+    unless $P10, rx904_fail
+    rx904_pos = $P10."pos"()
+  # rx rxquantr909 ** 0..1
+    set_addr $I910, rxquantr909_done
+    rx904_cur."!mark_push"(0, rx904_pos, $I910)
+  rxquantr909_loop:
+  # rx subrule "EXPR" subtype=capture negate=
+    rx904_cur."!cursor_pos"(rx904_pos)
+    $P10 = rx904_cur."EXPR"()
+    unless $P10, rx904_fail
+    rx904_cur."!mark_push"(0, -1, 0, $P10)
+    $P10."!cursor_names"("EXPR")
+    rx904_pos = $P10."pos"()
+    (rx904_rep) = rx904_cur."!mark_commit"($I910)
+  rxquantr909_done:
+  # rx literal  "]"
+    add $I11, rx904_pos, 1
+    gt $I11, rx904_eos, rx904_fail
+    sub $I11, rx904_pos, rx904_off
+    substr $S10, rx904_tgt, $I11, 1
+    ne $S10, "]", rx904_fail
+    add rx904_pos, 1
   # rx pass
-    rx907_cur."!cursor_pass"(rx907_pos, "circumfix:sym<ang>")
-    rx907_cur."!cursor_debug"("PASS  ", "circumfix:sym<ang>", " at pos=", rx907_pos)
-    .return (rx907_cur)
-  rx907_fail:
+    rx904_cur."!cursor_pass"(rx904_pos, "circumfix:sym<[ ]>")
+    rx904_cur."!cursor_debug"("PASS  ", "circumfix:sym<[ ]>", " at pos=", rx904_pos)
+    .return (rx904_cur)
+  rx904_fail:
 .annotate 'line', 4
-    (rx907_rep, rx907_pos, $I10, $P10) = rx907_cur."!mark_fail"(0)
-    lt rx907_pos, -1, rx907_done
-    eq rx907_pos, -1, rx907_fail
+    (rx904_rep, rx904_pos, $I10, $P10) = rx904_cur."!mark_fail"(0)
+    lt rx904_pos, -1, rx904_done
+    eq rx904_pos, -1, rx904_fail
     jump $I10
-  rx907_done:
-    rx907_cur."!cursor_fail"()
-    rx907_cur."!cursor_debug"("FAIL  ", "circumfix:sym<ang>")
-    .return (rx907_cur)
+  rx904_done:
+    rx904_cur."!cursor_fail"()
+    rx904_cur."!cursor_debug"("FAIL  ", "circumfix:sym<[ ]>")
+    .return (rx904_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__circumfix:sym<ang>"  :subid("218_1274800460.92525") :method
+.sub "!PREFIX__circumfix:sym<[ ]>"  :subid("218_1274853038.58734") :method
 .annotate 'line', 4
-    new $P909, "ResizablePMCArray"
-    push $P909, "<"
-    .return ($P909)
+    $P906 = self."!PREFIX__!subrule"("", "[")
+    new $P907, "ResizablePMCArray"
+    push $P907, $P906
+    .return ($P907)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub unicode:"circumfix:sym<\x{ab} \x{bb}>"  :subid("219_1274800460.92525") :method :outer("11_1274800460.92525")
+.sub "circumfix:sym<ang>"  :subid("219_1274853038.58734") :method :outer("11_1274853038.58734")
 .annotate 'line', 4
     .local string rx912_tgt
     .local int rx912_pos
@@ -10915,7 +10923,7 @@
     .local int rx912_rep
     .local pmc rx912_cur
     (rx912_cur, rx912_pos, rx912_tgt) = self."!cursor_start"()
-    rx912_cur."!cursor_debug"("START ", unicode:"circumfix:sym<\x{ab} \x{bb}>")
+    rx912_cur."!cursor_debug"("START ", "circumfix:sym<ang>")
     .lex unicode:"$\x{a2}", rx912_cur
     .local pmc match
     .lex "$/", match
@@ -10937,23 +10945,23 @@
     set_addr $I10, rxscan915_loop
     rx912_cur."!mark_push"(0, rx912_pos, $I10)
   rxscan915_done:
-.annotate 'line', 423
+.annotate 'line', 424
   # rx enumcharlist negate=0 zerowidth
     ge rx912_pos, rx912_eos, rx912_fail
     sub $I10, rx912_pos, rx912_off
     substr $S10, rx912_tgt, $I10, 1
-    index $I11, unicode:"\x{ab}", $S10
+    index $I11, "<", $S10
     lt $I11, 0, rx912_fail
   # rx subrule "quote_EXPR" subtype=capture negate=
     rx912_cur."!cursor_pos"(rx912_pos)
-    $P10 = rx912_cur."quote_EXPR"(":qq", ":w")
+    $P10 = rx912_cur."quote_EXPR"(":q", ":w")
     unless $P10, rx912_fail
     rx912_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("quote_EXPR")
     rx912_pos = $P10."pos"()
   # rx pass
-    rx912_cur."!cursor_pass"(rx912_pos, unicode:"circumfix:sym<\x{ab} \x{bb}>")
-    rx912_cur."!cursor_debug"("PASS  ", unicode:"circumfix:sym<\x{ab} \x{bb}>", " at pos=", rx912_pos)
+    rx912_cur."!cursor_pass"(rx912_pos, "circumfix:sym<ang>")
+    rx912_cur."!cursor_debug"("PASS  ", "circumfix:sym<ang>", " at pos=", rx912_pos)
     .return (rx912_cur)
   rx912_fail:
 .annotate 'line', 4
@@ -10963,23 +10971,23 @@
     jump $I10
   rx912_done:
     rx912_cur."!cursor_fail"()
-    rx912_cur."!cursor_debug"("FAIL  ", unicode:"circumfix:sym<\x{ab} \x{bb}>")
+    rx912_cur."!cursor_debug"("FAIL  ", "circumfix:sym<ang>")
     .return (rx912_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub unicode:"!PREFIX__circumfix:sym<\x{ab} \x{bb}>"  :subid("220_1274800460.92525") :method
+.sub "!PREFIX__circumfix:sym<ang>"  :subid("220_1274853038.58734") :method
 .annotate 'line', 4
     new $P914, "ResizablePMCArray"
-    push $P914, unicode:"\x{ab}"
+    push $P914, "<"
     .return ($P914)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "circumfix:sym<{ }>"  :subid("221_1274800460.92525") :method :outer("11_1274800460.92525")
+.sub unicode:"circumfix:sym<\x{ab} \x{bb}>"  :subid("221_1274853038.58734") :method :outer("11_1274853038.58734")
 .annotate 'line', 4
     .local string rx917_tgt
     .local int rx917_pos
@@ -10988,7 +10996,7 @@
     .local int rx917_rep
     .local pmc rx917_cur
     (rx917_cur, rx917_pos, rx917_tgt) = self."!cursor_start"()
-    rx917_cur."!cursor_debug"("START ", "circumfix:sym<{ }>")
+    rx917_cur."!cursor_debug"("START ", unicode:"circumfix:sym<\x{ab} \x{bb}>")
     .lex unicode:"$\x{a2}", rx917_cur
     .local pmc match
     .lex "$/", match
@@ -11010,23 +11018,23 @@
     set_addr $I10, rxscan920_loop
     rx917_cur."!mark_push"(0, rx917_pos, $I10)
   rxscan920_done:
-.annotate 'line', 424
+.annotate 'line', 425
   # rx enumcharlist negate=0 zerowidth
     ge rx917_pos, rx917_eos, rx917_fail
     sub $I10, rx917_pos, rx917_off
     substr $S10, rx917_tgt, $I10, 1
-    index $I11, "{", $S10
+    index $I11, unicode:"\x{ab}", $S10
     lt $I11, 0, rx917_fail
-  # rx subrule "pblock" subtype=capture negate=
+  # rx subrule "quote_EXPR" subtype=capture negate=
     rx917_cur."!cursor_pos"(rx917_pos)
-    $P10 = rx917_cur."pblock"()
+    $P10 = rx917_cur."quote_EXPR"(":qq", ":w")
     unless $P10, rx917_fail
     rx917_cur."!mark_push"(0, -1, 0, $P10)
-    $P10."!cursor_names"("pblock")
+    $P10."!cursor_names"("quote_EXPR")
     rx917_pos = $P10."pos"()
   # rx pass
-    rx917_cur."!cursor_pass"(rx917_pos, "circumfix:sym<{ }>")
-    rx917_cur."!cursor_debug"("PASS  ", "circumfix:sym<{ }>", " at pos=", rx917_pos)
+    rx917_cur."!cursor_pass"(rx917_pos, unicode:"circumfix:sym<\x{ab} \x{bb}>")
+    rx917_cur."!cursor_debug"("PASS  ", unicode:"circumfix:sym<\x{ab} \x{bb}>", " at pos=", rx917_pos)
     .return (rx917_cur)
   rx917_fail:
 .annotate 'line', 4
@@ -11036,23 +11044,23 @@
     jump $I10
   rx917_done:
     rx917_cur."!cursor_fail"()
-    rx917_cur."!cursor_debug"("FAIL  ", "circumfix:sym<{ }>")
+    rx917_cur."!cursor_debug"("FAIL  ", unicode:"circumfix:sym<\x{ab} \x{bb}>")
     .return (rx917_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__circumfix:sym<{ }>"  :subid("222_1274800460.92525") :method
+.sub unicode:"!PREFIX__circumfix:sym<\x{ab} \x{bb}>"  :subid("222_1274853038.58734") :method
 .annotate 'line', 4
     new $P919, "ResizablePMCArray"
-    push $P919, "{"
+    push $P919, unicode:"\x{ab}"
     .return ($P919)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "circumfix:sym<sigil>"  :subid("223_1274800460.92525") :method :outer("11_1274800460.92525")
+.sub "circumfix:sym<{ }>"  :subid("223_1274853038.58734") :method :outer("11_1274853038.58734")
 .annotate 'line', 4
     .local string rx922_tgt
     .local int rx922_pos
@@ -11061,7 +11069,7 @@
     .local int rx922_rep
     .local pmc rx922_cur
     (rx922_cur, rx922_pos, rx922_tgt) = self."!cursor_start"()
-    rx922_cur."!cursor_debug"("START ", "circumfix:sym<sigil>")
+    rx922_cur."!cursor_debug"("START ", "circumfix:sym<{ }>")
     .lex unicode:"$\x{a2}", rx922_cur
     .local pmc match
     .lex "$/", match
@@ -11072,60 +11080,34 @@
     substr rx922_tgt, rx922_tgt, rx922_off
   rx922_start:
     $I10 = self.'from'()
-    ne $I10, -1, rxscan926_done
-    goto rxscan926_scan
-  rxscan926_loop:
+    ne $I10, -1, rxscan925_done
+    goto rxscan925_scan
+  rxscan925_loop:
     ($P10) = rx922_cur."from"()
     inc $P10
     set rx922_pos, $P10
-    ge rx922_pos, rx922_eos, rxscan926_done
-  rxscan926_scan:
-    set_addr $I10, rxscan926_loop
+    ge rx922_pos, rx922_eos, rxscan925_done
+  rxscan925_scan:
+    set_addr $I10, rxscan925_loop
     rx922_cur."!mark_push"(0, rx922_pos, $I10)
-  rxscan926_done:
-.annotate 'line', 425
-  # rx subrule "sigil" subtype=capture negate=
-    rx922_cur."!cursor_pos"(rx922_pos)
-    $P10 = rx922_cur."sigil"()
-    unless $P10, rx922_fail
-    rx922_cur."!mark_push"(0, -1, 0, $P10)
-    $P10."!cursor_names"("sigil")
-    rx922_pos = $P10."pos"()
-  # rx literal  "("
-    add $I11, rx922_pos, 1
-    gt $I11, rx922_eos, rx922_fail
-    sub $I11, rx922_pos, rx922_off
-    substr $S10, rx922_tgt, $I11, 1
-    ne $S10, "(", rx922_fail
-    add rx922_pos, 1
-  # rx subrule "semilist" subtype=capture negate=
+  rxscan925_done:
+.annotate 'line', 426
+  # rx enumcharlist negate=0 zerowidth
+    ge rx922_pos, rx922_eos, rx922_fail
+    sub $I10, rx922_pos, rx922_off
+    substr $S10, rx922_tgt, $I10, 1
+    index $I11, "{", $S10
+    lt $I11, 0, rx922_fail
+  # rx subrule "pblock" subtype=capture negate=
     rx922_cur."!cursor_pos"(rx922_pos)
-    $P10 = rx922_cur."semilist"()
+    $P10 = rx922_cur."pblock"()
     unless $P10, rx922_fail
     rx922_cur."!mark_push"(0, -1, 0, $P10)
-    $P10."!cursor_names"("semilist")
-    rx922_pos = $P10."pos"()
-  alt927_0:
-    set_addr $I10, alt927_1
-    rx922_cur."!mark_push"(0, rx922_pos, $I10)
-  # rx literal  ")"
-    add $I11, rx922_pos, 1
-    gt $I11, rx922_eos, rx922_fail
-    sub $I11, rx922_pos, rx922_off
-    substr $S10, rx922_tgt, $I11, 1
-    ne $S10, ")", rx922_fail
-    add rx922_pos, 1
-    goto alt927_end
-  alt927_1:
-  # rx subrule "FAILGOAL" subtype=method negate=
-    rx922_cur."!cursor_pos"(rx922_pos)
-    $P10 = rx922_cur."FAILGOAL"("')'")
-    unless $P10, rx922_fail
+    $P10."!cursor_names"("pblock")
     rx922_pos = $P10."pos"()
-  alt927_end:
   # rx pass
-    rx922_cur."!cursor_pass"(rx922_pos, "circumfix:sym<sigil>")
-    rx922_cur."!cursor_debug"("PASS  ", "circumfix:sym<sigil>", " at pos=", rx922_pos)
+    rx922_cur."!cursor_pass"(rx922_pos, "circumfix:sym<{ }>")
+    rx922_cur."!cursor_debug"("PASS  ", "circumfix:sym<{ }>", " at pos=", rx922_pos)
     .return (rx922_cur)
   rx922_fail:
 .annotate 'line', 4
@@ -11135,173 +11117,201 @@
     jump $I10
   rx922_done:
     rx922_cur."!cursor_fail"()
-    rx922_cur."!cursor_debug"("FAIL  ", "circumfix:sym<sigil>")
+    rx922_cur."!cursor_debug"("FAIL  ", "circumfix:sym<{ }>")
     .return (rx922_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__circumfix:sym<sigil>"  :subid("224_1274800460.92525") :method
+.sub "!PREFIX__circumfix:sym<{ }>"  :subid("224_1274853038.58734") :method
 .annotate 'line', 4
-    $P924 = self."!PREFIX__!subrule"("sigil", "")
-    new $P925, "ResizablePMCArray"
-    push $P925, $P924
-    .return ($P925)
+    new $P924, "ResizablePMCArray"
+    push $P924, "{"
+    .return ($P924)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "semilist"  :subid("225_1274800460.92525") :method :outer("11_1274800460.92525")
-.annotate 'line', 4
-    .local string rx930_tgt
-    .local int rx930_pos
-    .local int rx930_off
-    .local int rx930_eos
-    .local int rx930_rep
-    .local pmc rx930_cur
-    (rx930_cur, rx930_pos, rx930_tgt) = self."!cursor_start"()
-    rx930_cur."!cursor_debug"("START ", "semilist")
-    .lex unicode:"$\x{a2}", rx930_cur
-    .local pmc match
-    .lex "$/", match
-    length rx930_eos, rx930_tgt
-    set rx930_off, 0
-    lt rx930_pos, 2, rx930_start
-    sub rx930_off, rx930_pos, 1
-    substr rx930_tgt, rx930_tgt, rx930_off
-  rx930_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan933_done
-    goto rxscan933_scan
-  rxscan933_loop:
-    ($P10) = rx930_cur."from"()
-    inc $P10
-    set rx930_pos, $P10
-    ge rx930_pos, rx930_eos, rxscan933_done
-  rxscan933_scan:
-    set_addr $I10, rxscan933_loop
-    rx930_cur."!mark_push"(0, rx930_pos, $I10)
-  rxscan933_done:
+.sub "circumfix:sym<sigil>"  :subid("225_1274853038.58734") :method :outer("11_1274853038.58734")
+.annotate 'line', 4
+    .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 ", "circumfix:sym<sigil>")
+    .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', 427
-  # rx subrule "ws" subtype=method negate=
-    rx930_cur."!cursor_pos"(rx930_pos)
-    $P10 = rx930_cur."ws"()
-    unless $P10, rx930_fail
-    rx930_pos = $P10."pos"()
-  # rx subrule "statement" subtype=capture negate=
-    rx930_cur."!cursor_pos"(rx930_pos)
-    $P10 = rx930_cur."statement"()
-    unless $P10, rx930_fail
-    rx930_cur."!mark_push"(0, -1, 0, $P10)
-    $P10."!cursor_names"("statement")
-    rx930_pos = $P10."pos"()
-  # rx subrule "ws" subtype=method negate=
-    rx930_cur."!cursor_pos"(rx930_pos)
-    $P10 = rx930_cur."ws"()
-    unless $P10, rx930_fail
-    rx930_pos = $P10."pos"()
+  # rx subrule "sigil" subtype=capture negate=
+    rx927_cur."!cursor_pos"(rx927_pos)
+    $P10 = rx927_cur."sigil"()
+    unless $P10, rx927_fail
+    rx927_cur."!mark_push"(0, -1, 0, $P10)
+    $P10."!cursor_names"("sigil")
+    rx927_pos = $P10."pos"()
+  # rx literal  "("
+    add $I11, rx927_pos, 1
+    gt $I11, rx927_eos, rx927_fail
+    sub $I11, rx927_pos, rx927_off
+    substr $S10, rx927_tgt, $I11, 1
+    ne $S10, "(", rx927_fail
+    add rx927_pos, 1
+  # rx subrule "semilist" subtype=capture negate=
+    rx927_cur."!cursor_pos"(rx927_pos)
+    $P10 = rx927_cur."semilist"()
+    unless $P10, rx927_fail
+    rx927_cur."!mark_push"(0, -1, 0, $P10)
+    $P10."!cursor_names"("semilist")
+    rx927_pos = $P10."pos"()
+  alt932_0:
+    set_addr $I10, alt932_1
+    rx927_cur."!mark_push"(0, rx927_pos, $I10)
+  # rx literal  ")"
+    add $I11, rx927_pos, 1
+    gt $I11, rx927_eos, rx927_fail
+    sub $I11, rx927_pos, rx927_off
+    substr $S10, rx927_tgt, $I11, 1
+    ne $S10, ")", rx927_fail
+    add rx927_pos, 1
+    goto alt932_end
+  alt932_1:
+  # rx subrule "FAILGOAL" subtype=method negate=
+    rx927_cur."!cursor_pos"(rx927_pos)
+    $P10 = rx927_cur."FAILGOAL"("')'")
+    unless $P10, rx927_fail
+    rx927_pos = $P10."pos"()
+  alt932_end:
   # rx pass
-    rx930_cur."!cursor_pass"(rx930_pos, "semilist")
-    rx930_cur."!cursor_debug"("PASS  ", "semilist", " at pos=", rx930_pos)
-    .return (rx930_cur)
-  rx930_fail:
+    rx927_cur."!cursor_pass"(rx927_pos, "circumfix:sym<sigil>")
+    rx927_cur."!cursor_debug"("PASS  ", "circumfix:sym<sigil>", " at pos=", rx927_pos)
+    .return (rx927_cur)
+  rx927_fail:
 .annotate 'line', 4
-    (rx930_rep, rx930_pos, $I10, $P10) = rx930_cur."!mark_fail"(0)
-    lt rx930_pos, -1, rx930_done
-    eq rx930_pos, -1, rx930_fail
+    (rx927_rep, rx927_pos, $I10, $P10) = rx927_cur."!mark_fail"(0)
+    lt rx927_pos, -1, rx927_done
+    eq rx927_pos, -1, rx927_fail
     jump $I10
-  rx930_done:
-    rx930_cur."!cursor_fail"()
-    rx930_cur."!cursor_debug"("FAIL  ", "semilist")
-    .return (rx930_cur)
+  rx927_done:
+    rx927_cur."!cursor_fail"()
+    rx927_cur."!cursor_debug"("FAIL  ", "circumfix:sym<sigil>")
+    .return (rx927_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__semilist"  :subid("226_1274800460.92525") :method
+.sub "!PREFIX__circumfix:sym<sigil>"  :subid("226_1274853038.58734") :method
 .annotate 'line', 4
-    new $P932, "ResizablePMCArray"
-    push $P932, ""
-    .return ($P932)
+    $P929 = self."!PREFIX__!subrule"("sigil", "")
+    new $P930, "ResizablePMCArray"
+    push $P930, $P929
+    .return ($P930)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "infixish"  :subid("227_1274800460.92525") :method :outer("11_1274800460.92525")
-.annotate 'line', 431
-    .local string rx937_tgt
-    .local int rx937_pos
-    .local int rx937_off
-    .local int rx937_eos
-    .local int rx937_rep
-    .local pmc rx937_cur
-    (rx937_cur, rx937_pos, rx937_tgt) = self."!cursor_start"()
-    rx937_cur."!cursor_debug"("START ", "infixish")
-    .lex unicode:"$\x{a2}", rx937_cur
+.sub "semilist"  :subid("227_1274853038.58734") :method :outer("11_1274853038.58734")
+.annotate 'line', 4
+    .local string rx935_tgt
+    .local int rx935_pos
+    .local int rx935_off
+    .local int rx935_eos
+    .local int rx935_rep
+    .local pmc rx935_cur
+    (rx935_cur, rx935_pos, rx935_tgt) = self."!cursor_start"()
+    rx935_cur."!cursor_debug"("START ", "semilist")
+    .lex unicode:"$\x{a2}", rx935_cur
     .local pmc match
     .lex "$/", match
-    length rx937_eos, rx937_tgt
-    set rx937_off, 0
-    lt rx937_pos, 2, rx937_start
-    sub rx937_off, rx937_pos, 1
-    substr rx937_tgt, rx937_tgt, rx937_off
-  rx937_start:
+    length rx935_eos, rx935_tgt
+    set rx935_off, 0
+    lt rx935_pos, 2, rx935_start
+    sub rx935_off, rx935_pos, 1
+    substr rx935_tgt, rx935_tgt, rx935_off
+  rx935_start:
     $I10 = self.'from'()
-    ne $I10, -1, rxscan940_done
-    goto rxscan940_scan
-  rxscan940_loop:
-    ($P10) = rx937_cur."from"()
+    ne $I10, -1, rxscan938_done
+    goto rxscan938_scan
+  rxscan938_loop:
+    ($P10) = rx935_cur."from"()
     inc $P10
-    set rx937_pos, $P10
-    ge rx937_pos, rx937_eos, rxscan940_done
-  rxscan940_scan:
-    set_addr $I10, rxscan940_loop
-    rx937_cur."!mark_push"(0, rx937_pos, $I10)
-  rxscan940_done:
-.annotate 'line', 450
-  # rx subrule "infixstopper" subtype=zerowidth negate=1
-    rx937_cur."!cursor_pos"(rx937_pos)
-    $P10 = rx937_cur."infixstopper"()
-    if $P10, rx937_fail
-  # rx subrule "infix" subtype=capture negate=
-    rx937_cur."!cursor_pos"(rx937_pos)
-    $P10 = rx937_cur."infix"()
-    unless $P10, rx937_fail
-    rx937_cur."!mark_push"(0, -1, 0, $P10)
-    $P10."!cursor_names"("OPER=infix")
-    rx937_pos = $P10."pos"()
+    set rx935_pos, $P10
+    ge rx935_pos, rx935_eos, rxscan938_done
+  rxscan938_scan:
+    set_addr $I10, rxscan938_loop
+    rx935_cur."!mark_push"(0, rx935_pos, $I10)
+  rxscan938_done:
+.annotate 'line', 429
+  # rx subrule "ws" subtype=method negate=
+    rx935_cur."!cursor_pos"(rx935_pos)
+    $P10 = rx935_cur."ws"()
+    unless $P10, rx935_fail
+    rx935_pos = $P10."pos"()
+  # rx subrule "statement" subtype=capture negate=
+    rx935_cur."!cursor_pos"(rx935_pos)
+    $P10 = rx935_cur."statement"()
+    unless $P10, rx935_fail
+    rx935_cur."!mark_push"(0, -1, 0, $P10)
+    $P10."!cursor_names"("statement")
+    rx935_pos = $P10."pos"()
+  # rx subrule "ws" subtype=method negate=
+    rx935_cur."!cursor_pos"(rx935_pos)
+    $P10 = rx935_cur."ws"()
+    unless $P10, rx935_fail
+    rx935_pos = $P10."pos"()
   # rx pass
-    rx937_cur."!cursor_pass"(rx937_pos, "infixish")
-    rx937_cur."!cursor_debug"("PASS  ", "infixish", " at pos=", rx937_pos)
-    .return (rx937_cur)
-  rx937_fail:
-.annotate 'line', 431
-    (rx937_rep, rx937_pos, $I10, $P10) = rx937_cur."!mark_fail"(0)
-    lt rx937_pos, -1, rx937_done
-    eq rx937_pos, -1, rx937_fail
+    rx935_cur."!cursor_pass"(rx935_pos, "semilist")
+    rx935_cur."!cursor_debug"("PASS  ", "semilist", " at pos=", rx935_pos)
+    .return (rx935_cur)
+  rx935_fail:
+.annotate 'line', 4
+    (rx935_rep, rx935_pos, $I10, $P10) = rx935_cur."!mark_fail"(0)
+    lt rx935_pos, -1, rx935_done
+    eq rx935_pos, -1, rx935_fail
     jump $I10
-  rx937_done:
-    rx937_cur."!cursor_fail"()
-    rx937_cur."!cursor_debug"("FAIL  ", "infixish")
-    .return (rx937_cur)
+  rx935_done:
+    rx935_cur."!cursor_fail"()
+    rx935_cur."!cursor_debug"("FAIL  ", "semilist")
+    .return (rx935_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__infixish"  :subid("228_1274800460.92525") :method
-.annotate 'line', 431
-    new $P939, "ResizablePMCArray"
-    push $P939, ""
-    .return ($P939)
+.sub "!PREFIX__semilist"  :subid("228_1274853038.58734") :method
+.annotate 'line', 4
+    new $P937, "ResizablePMCArray"
+    push $P937, ""
+    .return ($P937)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "infixstopper"  :subid("229_1274800460.92525") :method :outer("11_1274800460.92525")
-.annotate 'line', 431
+.sub "infixish"  :subid("229_1274853038.58734") :method :outer("11_1274853038.58734")
+.annotate 'line', 433
     .local string rx942_tgt
     .local int rx942_pos
     .local int rx942_off
@@ -11309,7 +11319,7 @@
     .local int rx942_rep
     .local pmc rx942_cur
     (rx942_cur, rx942_pos, rx942_tgt) = self."!cursor_start"()
-    rx942_cur."!cursor_debug"("START ", "infixstopper")
+    rx942_cur."!cursor_debug"("START ", "infixish")
     .lex unicode:"$\x{a2}", rx942_cur
     .local pmc match
     .lex "$/", match
@@ -11331,32 +11341,39 @@
     set_addr $I10, rxscan945_loop
     rx942_cur."!mark_push"(0, rx942_pos, $I10)
   rxscan945_done:
-.annotate 'line', 451
-  # rx subrule "lambda" subtype=zerowidth negate=
+.annotate 'line', 452
+  # rx subrule "infixstopper" subtype=zerowidth negate=1
     rx942_cur."!cursor_pos"(rx942_pos)
-    $P10 = rx942_cur."lambda"()
+    $P10 = rx942_cur."infixstopper"()
+    if $P10, rx942_fail
+  # rx subrule "infix" subtype=capture negate=
+    rx942_cur."!cursor_pos"(rx942_pos)
+    $P10 = rx942_cur."infix"()
     unless $P10, rx942_fail
+    rx942_cur."!mark_push"(0, -1, 0, $P10)
+    $P10."!cursor_names"("OPER=infix")
+    rx942_pos = $P10."pos"()
   # rx pass
-    rx942_cur."!cursor_pass"(rx942_pos, "infixstopper")
-    rx942_cur."!cursor_debug"("PASS  ", "infixstopper", " at pos=", rx942_pos)
+    rx942_cur."!cursor_pass"(rx942_pos, "infixish")
+    rx942_cur."!cursor_debug"("PASS  ", "infixish", " at pos=", rx942_pos)
     .return (rx942_cur)
   rx942_fail:
-.annotate 'line', 431
+.annotate 'line', 433
     (rx942_rep, rx942_pos, $I10, $P10) = rx942_cur."!mark_fail"(0)
     lt rx942_pos, -1, rx942_done
     eq rx942_pos, -1, rx942_fail
     jump $I10
   rx942_done:
     rx942_cur."!cursor_fail"()
-    rx942_cur."!cursor_debug"("FAIL  ", "infixstopper")
+    rx942_cur."!cursor_debug"("FAIL  ", "infixish")
     .return (rx942_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__infixstopper"  :subid("230_1274800460.92525") :method
-.annotate 'line', 431
+.sub "!PREFIX__infixish"  :subid("230_1274853038.58734") :method
+.annotate 'line', 433
     new $P944, "ResizablePMCArray"
     push $P944, ""
     .return ($P944)
@@ -11364,8 +11381,8 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "postcircumfix:sym<[ ]>"  :subid("231_1274800460.92525") :method :outer("11_1274800460.92525")
-.annotate 'line', 431
+.sub "infixstopper"  :subid("231_1274853038.58734") :method :outer("11_1274853038.58734")
+.annotate 'line', 433
     .local string rx947_tgt
     .local int rx947_pos
     .local int rx947_off
@@ -11373,7 +11390,7 @@
     .local int rx947_rep
     .local pmc rx947_cur
     (rx947_cur, rx947_pos, rx947_tgt) = self."!cursor_start"()
-    rx947_cur."!cursor_debug"("START ", "postcircumfix:sym<[ ]>")
+    rx947_cur."!cursor_debug"("START ", "infixstopper")
     .lex unicode:"$\x{a2}", rx947_cur
     .local pmc match
     .lex "$/", match
@@ -11384,262 +11401,244 @@
     substr rx947_tgt, rx947_tgt, rx947_off
   rx947_start:
     $I10 = self.'from'()
-    ne $I10, -1, rxscan951_done
-    goto rxscan951_scan
-  rxscan951_loop:
+    ne $I10, -1, rxscan950_done
+    goto rxscan950_scan
+  rxscan950_loop:
     ($P10) = rx947_cur."from"()
     inc $P10
     set rx947_pos, $P10
-    ge rx947_pos, rx947_eos, rxscan951_done
-  rxscan951_scan:
-    set_addr $I10, rxscan951_loop
+    ge rx947_pos, rx947_eos, rxscan950_done
+  rxscan950_scan:
+    set_addr $I10, rxscan950_loop
     rx947_cur."!mark_push"(0, rx947_pos, $I10)
-  rxscan951_done:
-.annotate 'line', 454
-  # rx literal  "["
-    add $I11, rx947_pos, 1
-    gt $I11, rx947_eos, rx947_fail
-    sub $I11, rx947_pos, rx947_off
-    substr $S10, rx947_tgt, $I11, 1
-    ne $S10, "[", rx947_fail
-    add rx947_pos, 1
-  # rx subrule "ws" subtype=method negate=
-    rx947_cur."!cursor_pos"(rx947_pos)
-    $P10 = rx947_cur."ws"()
-    unless $P10, rx947_fail
-    rx947_pos = $P10."pos"()
-  # rx subrule "EXPR" subtype=capture negate=
-    rx947_cur."!cursor_pos"(rx947_pos)
-    $P10 = rx947_cur."EXPR"()
-    unless $P10, rx947_fail
-    rx947_cur."!mark_push"(0, -1, 0, $P10)
-    $P10."!cursor_names"("EXPR")
-    rx947_pos = $P10."pos"()
-  # rx literal  "]"
-    add $I11, rx947_pos, 1
-    gt $I11, rx947_eos, rx947_fail
-    sub $I11, rx947_pos, rx947_off
-    substr $S10, rx947_tgt, $I11, 1
-    ne $S10, "]", rx947_fail
-    add rx947_pos, 1
-.annotate 'line', 455
-  # rx subrule "O" subtype=capture negate=
+  rxscan950_done:
+.annotate 'line', 453
+  # rx subrule "lambda" subtype=zerowidth negate=
     rx947_cur."!cursor_pos"(rx947_pos)
-    $P10 = rx947_cur."O"("%methodop")
+    $P10 = rx947_cur."lambda"()
     unless $P10, rx947_fail
-    rx947_cur."!mark_push"(0, -1, 0, $P10)
-    $P10."!cursor_names"("O")
-    rx947_pos = $P10."pos"()
-.annotate 'line', 453
   # rx pass
-    rx947_cur."!cursor_pass"(rx947_pos, "postcircumfix:sym<[ ]>")
-    rx947_cur."!cursor_debug"("PASS  ", "postcircumfix:sym<[ ]>", " at pos=", rx947_pos)
+    rx947_cur."!cursor_pass"(rx947_pos, "infixstopper")
+    rx947_cur."!cursor_debug"("PASS  ", "infixstopper", " at pos=", rx947_pos)
     .return (rx947_cur)
   rx947_fail:
-.annotate 'line', 431
+.annotate 'line', 433
     (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
   rx947_done:
     rx947_cur."!cursor_fail"()
-    rx947_cur."!cursor_debug"("FAIL  ", "postcircumfix:sym<[ ]>")
+    rx947_cur."!cursor_debug"("FAIL  ", "infixstopper")
     .return (rx947_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__postcircumfix:sym<[ ]>"  :subid("232_1274800460.92525") :method
-.annotate 'line', 431
-    $P949 = self."!PREFIX__!subrule"("", "[")
-    new $P950, "ResizablePMCArray"
-    push $P950, $P949
-    .return ($P950)
+.sub "!PREFIX__infixstopper"  :subid("232_1274853038.58734") :method
+.annotate 'line', 433
+    new $P949, "ResizablePMCArray"
+    push $P949, ""
+    .return ($P949)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "postcircumfix:sym<{ }>"  :subid("233_1274800460.92525") :method :outer("11_1274800460.92525")
-.annotate 'line', 431
-    .local string rx953_tgt
-    .local int rx953_pos
-    .local int rx953_off
-    .local int rx953_eos
-    .local int rx953_rep
-    .local pmc rx953_cur
-    (rx953_cur, rx953_pos, rx953_tgt) = self."!cursor_start"()
-    rx953_cur."!cursor_debug"("START ", "postcircumfix:sym<{ }>")
-    .lex unicode:"$\x{a2}", rx953_cur
-    .local pmc match
-    .lex "$/", match
-    length rx953_eos, rx953_tgt
-    set rx953_off, 0
-    lt rx953_pos, 2, rx953_start
-    sub rx953_off, rx953_pos, 1
-    substr rx953_tgt, rx953_tgt, rx953_off
-  rx953_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan957_done
-    goto rxscan957_scan
-  rxscan957_loop:
-    ($P10) = rx953_cur."from"()
-    inc $P10
-    set rx953_pos, $P10
-    ge rx953_pos, rx953_eos, rxscan957_done
-  rxscan957_scan:
-    set_addr $I10, rxscan957_loop
-    rx953_cur."!mark_push"(0, rx953_pos, $I10)
-  rxscan957_done:
-.annotate 'line', 459
-  # rx literal  "{"
-    add $I11, rx953_pos, 1
-    gt $I11, rx953_eos, rx953_fail
-    sub $I11, rx953_pos, rx953_off
-    substr $S10, rx953_tgt, $I11, 1
-    ne $S10, "{", rx953_fail
-    add rx953_pos, 1
-  # rx subrule "ws" subtype=method negate=
-    rx953_cur."!cursor_pos"(rx953_pos)
-    $P10 = rx953_cur."ws"()
-    unless $P10, rx953_fail
-    rx953_pos = $P10."pos"()
+.sub "postcircumfix:sym<[ ]>"  :subid("233_1274853038.58734") :method :outer("11_1274853038.58734")
+.annotate 'line', 433
+    .local string rx952_tgt
+    .local int rx952_pos
+    .local int rx952_off
+    .local int rx952_eos
+    .local int rx952_rep
+    .local pmc rx952_cur
+    (rx952_cur, rx952_pos, rx952_tgt) = self."!cursor_start"()
+    rx952_cur."!cursor_debug"("START ", "postcircumfix:sym<[ ]>")
+    .lex unicode:"$\x{a2}", rx952_cur
+    .local pmc match
+    .lex "$/", match
+    length rx952_eos, rx952_tgt
+    set rx952_off, 0
+    lt rx952_pos, 2, rx952_start
+    sub rx952_off, rx952_pos, 1
+    substr rx952_tgt, rx952_tgt, rx952_off
+  rx952_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan956_done
+    goto rxscan956_scan
+  rxscan956_loop:
+    ($P10) = rx952_cur."from"()
+    inc $P10
+    set rx952_pos, $P10
+    ge rx952_pos, rx952_eos, rxscan956_done
+  rxscan956_scan:
+    set_addr $I10, rxscan956_loop
+    rx952_cur."!mark_push"(0, rx952_pos, $I10)
+  rxscan956_done:
+.annotate 'line', 456
+  # rx literal  "["
+    add $I11, rx952_pos, 1
+    gt $I11, rx952_eos, rx952_fail
+    sub $I11, rx952_pos, rx952_off
+    substr $S10, rx952_tgt, $I11, 1
+    ne $S10, "[", rx952_fail
+    add rx952_pos, 1
+  # rx subrule "ws" subtype=method negate=
+    rx952_cur."!cursor_pos"(rx952_pos)
+    $P10 = rx952_cur."ws"()
+    unless $P10, rx952_fail
+    rx952_pos = $P10."pos"()
   # rx subrule "EXPR" subtype=capture negate=
-    rx953_cur."!cursor_pos"(rx953_pos)
-    $P10 = rx953_cur."EXPR"()
-    unless $P10, rx953_fail
-    rx953_cur."!mark_push"(0, -1, 0, $P10)
+    rx952_cur."!cursor_pos"(rx952_pos)
+    $P10 = rx952_cur."EXPR"()
+    unless $P10, rx952_fail
+    rx952_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("EXPR")
-    rx953_pos = $P10."pos"()
-  # rx literal  "}"
-    add $I11, rx953_pos, 1
-    gt $I11, rx953_eos, rx953_fail
-    sub $I11, rx953_pos, rx953_off
-    substr $S10, rx953_tgt, $I11, 1
-    ne $S10, "}", rx953_fail
-    add rx953_pos, 1
-.annotate 'line', 460
+    rx952_pos = $P10."pos"()
+  # rx literal  "]"
+    add $I11, rx952_pos, 1
+    gt $I11, rx952_eos, rx952_fail
+    sub $I11, rx952_pos, rx952_off
+    substr $S10, rx952_tgt, $I11, 1
+    ne $S10, "]", rx952_fail
+    add rx952_pos, 1
+.annotate 'line', 457
   # rx subrule "O" subtype=capture negate=
-    rx953_cur."!cursor_pos"(rx953_pos)
-    $P10 = rx953_cur."O"("%methodop")
-    unless $P10, rx953_fail
-    rx953_cur."!mark_push"(0, -1, 0, $P10)
+    rx952_cur."!cursor_pos"(rx952_pos)
+    $P10 = rx952_cur."O"("%methodop")
+    unless $P10, rx952_fail
+    rx952_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("O")
-    rx953_pos = $P10."pos"()
-.annotate 'line', 458
+    rx952_pos = $P10."pos"()
+.annotate 'line', 455
   # rx pass
-    rx953_cur."!cursor_pass"(rx953_pos, "postcircumfix:sym<{ }>")
-    rx953_cur."!cursor_debug"("PASS  ", "postcircumfix:sym<{ }>", " at pos=", rx953_pos)
-    .return (rx953_cur)
-  rx953_fail:
-.annotate 'line', 431
-    (rx953_rep, rx953_pos, $I10, $P10) = rx953_cur."!mark_fail"(0)
-    lt rx953_pos, -1, rx953_done
-    eq rx953_pos, -1, rx953_fail
+    rx952_cur."!cursor_pass"(rx952_pos, "postcircumfix:sym<[ ]>")
+    rx952_cur."!cursor_debug"("PASS  ", "postcircumfix:sym<[ ]>", " at pos=", rx952_pos)
+    .return (rx952_cur)
+  rx952_fail:
+.annotate 'line', 433
+    (rx952_rep, rx952_pos, $I10, $P10) = rx952_cur."!mark_fail"(0)
+    lt rx952_pos, -1, rx952_done
+    eq rx952_pos, -1, rx952_fail
     jump $I10
-  rx953_done:
-    rx953_cur."!cursor_fail"()
-    rx953_cur."!cursor_debug"("FAIL  ", "postcircumfix:sym<{ }>")
-    .return (rx953_cur)
+  rx952_done:
+    rx952_cur."!cursor_fail"()
+    rx952_cur."!cursor_debug"("FAIL  ", "postcircumfix:sym<[ ]>")
+    .return (rx952_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__postcircumfix:sym<{ }>"  :subid("234_1274800460.92525") :method
-.annotate 'line', 431
-    $P955 = self."!PREFIX__!subrule"("", "{")
-    new $P956, "ResizablePMCArray"
-    push $P956, $P955
-    .return ($P956)
+.sub "!PREFIX__postcircumfix:sym<[ ]>"  :subid("234_1274853038.58734") :method
+.annotate 'line', 433
+    $P954 = self."!PREFIX__!subrule"("", "[")
+    new $P955, "ResizablePMCArray"
+    push $P955, $P954
+    .return ($P955)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "postcircumfix:sym<ang>"  :subid("235_1274800460.92525") :method :outer("11_1274800460.92525")
-.annotate 'line', 431
-    .local string rx959_tgt
-    .local int rx959_pos
-    .local int rx959_off
-    .local int rx959_eos
-    .local int rx959_rep
-    .local pmc rx959_cur
-    (rx959_cur, rx959_pos, rx959_tgt) = self."!cursor_start"()
-    rx959_cur."!cursor_debug"("START ", "postcircumfix:sym<ang>")
-    .lex unicode:"$\x{a2}", rx959_cur
-    .local pmc match
-    .lex "$/", match
-    length rx959_eos, rx959_tgt
-    set rx959_off, 0
-    lt rx959_pos, 2, rx959_start
-    sub rx959_off, rx959_pos, 1
-    substr rx959_tgt, rx959_tgt, rx959_off
-  rx959_start:
+.sub "postcircumfix:sym<{ }>"  :subid("235_1274853038.58734") :method :outer("11_1274853038.58734")
+.annotate 'line', 433
+    .local string rx958_tgt
+    .local int rx958_pos
+    .local int rx958_off
+    .local int rx958_eos
+    .local int rx958_rep
+    .local pmc rx958_cur
+    (rx958_cur, rx958_pos, rx958_tgt) = self."!cursor_start"()
+    rx958_cur."!cursor_debug"("START ", "postcircumfix:sym<{ }>")
+    .lex unicode:"$\x{a2}", rx958_cur
+    .local pmc match
+    .lex "$/", match
+    length rx958_eos, rx958_tgt
+    set rx958_off, 0
+    lt rx958_pos, 2, rx958_start
+    sub rx958_off, rx958_pos, 1
+    substr rx958_tgt, rx958_tgt, rx958_off
+  rx958_start:
     $I10 = self.'from'()
     ne $I10, -1, rxscan962_done
     goto rxscan962_scan
   rxscan962_loop:
-    ($P10) = rx959_cur."from"()
+    ($P10) = rx958_cur."from"()
     inc $P10
-    set rx959_pos, $P10
-    ge rx959_pos, rx959_eos, rxscan962_done
+    set rx958_pos, $P10
+    ge rx958_pos, rx958_eos, rxscan962_done
   rxscan962_scan:
     set_addr $I10, rxscan962_loop
-    rx959_cur."!mark_push"(0, rx959_pos, $I10)
+    rx958_cur."!mark_push"(0, rx958_pos, $I10)
   rxscan962_done:
-.annotate 'line', 464
-  # rx enumcharlist negate=0 zerowidth
-    ge rx959_pos, rx959_eos, rx959_fail
-    sub $I10, rx959_pos, rx959_off
-    substr $S10, rx959_tgt, $I10, 1
-    index $I11, "<", $S10
-    lt $I11, 0, rx959_fail
-  # rx subrule "quote_EXPR" subtype=capture negate=
-    rx959_cur."!cursor_pos"(rx959_pos)
-    $P10 = rx959_cur."quote_EXPR"(":q")
-    unless $P10, rx959_fail
-    rx959_cur."!mark_push"(0, -1, 0, $P10)
-    $P10."!cursor_names"("quote_EXPR")
-    rx959_pos = $P10."pos"()
-.annotate 'line', 465
+.annotate 'line', 461
+  # rx literal  "{"
+    add $I11, rx958_pos, 1
+    gt $I11, rx958_eos, rx958_fail
+    sub $I11, rx958_pos, rx958_off
+    substr $S10, rx958_tgt, $I11, 1
+    ne $S10, "{", rx958_fail
+    add rx958_pos, 1
+  # rx subrule "ws" subtype=method negate=
+    rx958_cur."!cursor_pos"(rx958_pos)
+    $P10 = rx958_cur."ws"()
+    unless $P10, rx958_fail
+    rx958_pos = $P10."pos"()
+  # rx subrule "EXPR" subtype=capture negate=
+    rx958_cur."!cursor_pos"(rx958_pos)
+    $P10 = rx958_cur."EXPR"()
+    unless $P10, rx958_fail
+    rx958_cur."!mark_push"(0, -1, 0, $P10)
+    $P10."!cursor_names"("EXPR")
+    rx958_pos = $P10."pos"()
+  # rx literal  "}"
+    add $I11, rx958_pos, 1
+    gt $I11, rx958_eos, rx958_fail
+    sub $I11, rx958_pos, rx958_off
+    substr $S10, rx958_tgt, $I11, 1
+    ne $S10, "}", rx958_fail
+    add rx958_pos, 1
+.annotate 'line', 462
   # rx subrule "O" subtype=capture negate=
-    rx959_cur."!cursor_pos"(rx959_pos)
-    $P10 = rx959_cur."O"("%methodop")
-    unless $P10, rx959_fail
-    rx959_cur."!mark_push"(0, -1, 0, $P10)
+    rx958_cur."!cursor_pos"(rx958_pos)
+    $P10 = rx958_cur."O"("%methodop")
+    unless $P10, rx958_fail
+    rx958_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("O")
-    rx959_pos = $P10."pos"()
-.annotate 'line', 463
+    rx958_pos = $P10."pos"()
+.annotate 'line', 460
   # rx pass
-    rx959_cur."!cursor_pass"(rx959_pos, "postcircumfix:sym<ang>")
-    rx959_cur."!cursor_debug"("PASS  ", "postcircumfix:sym<ang>", " at pos=", rx959_pos)
-    .return (rx959_cur)
-  rx959_fail:
-.annotate 'line', 431
-    (rx959_rep, rx959_pos, $I10, $P10) = rx959_cur."!mark_fail"(0)
-    lt rx959_pos, -1, rx959_done
-    eq rx959_pos, -1, rx959_fail
+    rx958_cur."!cursor_pass"(rx958_pos, "postcircumfix:sym<{ }>")
+    rx958_cur."!cursor_debug"("PASS  ", "postcircumfix:sym<{ }>", " at pos=", rx958_pos)
+    .return (rx958_cur)
+  rx958_fail:
+.annotate 'line', 433
+    (rx958_rep, rx958_pos, $I10, $P10) = rx958_cur."!mark_fail"(0)
+    lt rx958_pos, -1, rx958_done
+    eq rx958_pos, -1, rx958_fail
     jump $I10
-  rx959_done:
-    rx959_cur."!cursor_fail"()
-    rx959_cur."!cursor_debug"("FAIL  ", "postcircumfix:sym<ang>")
-    .return (rx959_cur)
+  rx958_done:
+    rx958_cur."!cursor_fail"()
+    rx958_cur."!cursor_debug"("FAIL  ", "postcircumfix:sym<{ }>")
+    .return (rx958_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__postcircumfix:sym<ang>"  :subid("236_1274800460.92525") :method
-.annotate 'line', 431
+.sub "!PREFIX__postcircumfix:sym<{ }>"  :subid("236_1274853038.58734") :method
+.annotate 'line', 433
+    $P960 = self."!PREFIX__!subrule"("", "{")
     new $P961, "ResizablePMCArray"
-    push $P961, "<"
+    push $P961, $P960
     .return ($P961)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "postcircumfix:sym<( )>"  :subid("237_1274800460.92525") :method :outer("11_1274800460.92525")
-.annotate 'line', 431
+.sub "postcircumfix:sym<ang>"  :subid("237_1274853038.58734") :method :outer("11_1274853038.58734")
+.annotate 'line', 433
     .local string rx964_tgt
     .local int rx964_pos
     .local int rx964_off
@@ -11647,7 +11646,7 @@
     .local int rx964_rep
     .local pmc rx964_cur
     (rx964_cur, rx964_pos, rx964_tgt) = self."!cursor_start"()
-    rx964_cur."!cursor_debug"("START ", "postcircumfix:sym<( )>")
+    rx964_cur."!cursor_debug"("START ", "postcircumfix:sym<ang>")
     .lex unicode:"$\x{a2}", rx964_cur
     .local pmc match
     .lex "$/", match
@@ -11658,45 +11657,32 @@
     substr rx964_tgt, rx964_tgt, rx964_off
   rx964_start:
     $I10 = self.'from'()
-    ne $I10, -1, rxscan968_done
-    goto rxscan968_scan
-  rxscan968_loop:
+    ne $I10, -1, rxscan967_done
+    goto rxscan967_scan
+  rxscan967_loop:
     ($P10) = rx964_cur."from"()
     inc $P10
     set rx964_pos, $P10
-    ge rx964_pos, rx964_eos, rxscan968_done
-  rxscan968_scan:
-    set_addr $I10, rxscan968_loop
+    ge rx964_pos, rx964_eos, rxscan967_done
+  rxscan967_scan:
+    set_addr $I10, rxscan967_loop
     rx964_cur."!mark_push"(0, rx964_pos, $I10)
-  rxscan968_done:
-.annotate 'line', 469
-  # rx literal  "("
-    add $I11, rx964_pos, 1
-    gt $I11, rx964_eos, rx964_fail
-    sub $I11, rx964_pos, rx964_off
-    substr $S10, rx964_tgt, $I11, 1
-    ne $S10, "(", rx964_fail
-    add rx964_pos, 1
-  # rx subrule "ws" subtype=method negate=
-    rx964_cur."!cursor_pos"(rx964_pos)
-    $P10 = rx964_cur."ws"()
-    unless $P10, rx964_fail
-    rx964_pos = $P10."pos"()
-  # rx subrule "arglist" subtype=capture negate=
+  rxscan967_done:
+.annotate 'line', 466
+  # rx enumcharlist negate=0 zerowidth
+    ge rx964_pos, rx964_eos, rx964_fail
+    sub $I10, rx964_pos, rx964_off
+    substr $S10, rx964_tgt, $I10, 1
+    index $I11, "<", $S10
+    lt $I11, 0, rx964_fail
+  # rx subrule "quote_EXPR" subtype=capture negate=
     rx964_cur."!cursor_pos"(rx964_pos)
-    $P10 = rx964_cur."arglist"()
+    $P10 = rx964_cur."quote_EXPR"(":q")
     unless $P10, rx964_fail
     rx964_cur."!mark_push"(0, -1, 0, $P10)
-    $P10."!cursor_names"("arglist")
+    $P10."!cursor_names"("quote_EXPR")
     rx964_pos = $P10."pos"()
-  # rx literal  ")"
-    add $I11, rx964_pos, 1
-    gt $I11, rx964_eos, rx964_fail
-    sub $I11, rx964_pos, rx964_off
-    substr $S10, rx964_tgt, $I11, 1
-    ne $S10, ")", rx964_fail
-    add rx964_pos, 1
-.annotate 'line', 470
+.annotate 'line', 467
   # rx subrule "O" subtype=capture negate=
     rx964_cur."!cursor_pos"(rx964_pos)
     $P10 = rx964_cur."O"("%methodop")
@@ -11704,4338 +11690,4357 @@
     rx964_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("O")
     rx964_pos = $P10."pos"()
-.annotate 'line', 468
+.annotate 'line', 465
   # rx pass
-    rx964_cur."!cursor_pass"(rx964_pos, "postcircumfix:sym<( )>")
-    rx964_cur."!cursor_debug"("PASS  ", "postcircumfix:sym<( )>", " at pos=", rx964_pos)
+    rx964_cur."!cursor_pass"(rx964_pos, "postcircumfix:sym<ang>")
+    rx964_cur."!cursor_debug"("PASS  ", "postcircumfix:sym<ang>", " at pos=", rx964_pos)
     .return (rx964_cur)
   rx964_fail:
-.annotate 'line', 431
+.annotate 'line', 433
     (rx964_rep, rx964_pos, $I10, $P10) = rx964_cur."!mark_fail"(0)
     lt rx964_pos, -1, rx964_done
     eq rx964_pos, -1, rx964_fail
     jump $I10
   rx964_done:
     rx964_cur."!cursor_fail"()
-    rx964_cur."!cursor_debug"("FAIL  ", "postcircumfix:sym<( )>")
+    rx964_cur."!cursor_debug"("FAIL  ", "postcircumfix:sym<ang>")
     .return (rx964_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__postcircumfix:sym<( )>"  :subid("238_1274800460.92525") :method
-.annotate 'line', 431
-    $P966 = self."!PREFIX__!subrule"("", "(")
-    new $P967, "ResizablePMCArray"
-    push $P967, $P966
-    .return ($P967)
+.sub "!PREFIX__postcircumfix:sym<ang>"  :subid("238_1274853038.58734") :method
+.annotate 'line', 433
+    new $P966, "ResizablePMCArray"
+    push $P966, "<"
+    .return ($P966)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "postfix:sym<.>"  :subid("239_1274800460.92525") :method :outer("11_1274800460.92525")
-.annotate 'line', 431
-    .local string rx970_tgt
-    .local int rx970_pos
-    .local int rx970_off
-    .local int rx970_eos
-    .local int rx970_rep
-    .local pmc rx970_cur
-    (rx970_cur, rx970_pos, rx970_tgt) = self."!cursor_start"()
-    rx970_cur."!cursor_debug"("START ", "postfix:sym<.>")
-    .lex unicode:"$\x{a2}", rx970_cur
-    .local pmc match
-    .lex "$/", match
-    length rx970_eos, rx970_tgt
-    set rx970_off, 0
-    lt rx970_pos, 2, rx970_start
-    sub rx970_off, rx970_pos, 1
-    substr rx970_tgt, rx970_tgt, rx970_off
-  rx970_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan974_done
-    goto rxscan974_scan
-  rxscan974_loop:
-    ($P10) = rx970_cur."from"()
-    inc $P10
-    set rx970_pos, $P10
-    ge rx970_pos, rx970_eos, rxscan974_done
-  rxscan974_scan:
-    set_addr $I10, rxscan974_loop
-    rx970_cur."!mark_push"(0, rx970_pos, $I10)
-  rxscan974_done:
-.annotate 'line', 473
-  # rx subrule "dotty" subtype=capture negate=
-    rx970_cur."!cursor_pos"(rx970_pos)
-    $P10 = rx970_cur."dotty"()
-    unless $P10, rx970_fail
-    rx970_cur."!mark_push"(0, -1, 0, $P10)
-    $P10."!cursor_names"("dotty")
-    rx970_pos = $P10."pos"()
+.sub "postcircumfix:sym<( )>"  :subid("239_1274853038.58734") :method :outer("11_1274853038.58734")
+.annotate 'line', 433
+    .local string rx969_tgt
+    .local int rx969_pos
+    .local int rx969_off
+    .local int rx969_eos
+    .local int rx969_rep
+    .local pmc rx969_cur
+    (rx969_cur, rx969_pos, rx969_tgt) = self."!cursor_start"()
+    rx969_cur."!cursor_debug"("START ", "postcircumfix:sym<( )>")
+    .lex unicode:"$\x{a2}", rx969_cur
+    .local pmc match
+    .lex "$/", match
+    length rx969_eos, rx969_tgt
+    set rx969_off, 0
+    lt rx969_pos, 2, rx969_start
+    sub rx969_off, rx969_pos, 1
+    substr rx969_tgt, rx969_tgt, rx969_off
+  rx969_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan973_done
+    goto rxscan973_scan
+  rxscan973_loop:
+    ($P10) = rx969_cur."from"()
+    inc $P10
+    set rx969_pos, $P10
+    ge rx969_pos, rx969_eos, rxscan973_done
+  rxscan973_scan:
+    set_addr $I10, rxscan973_loop
+    rx969_cur."!mark_push"(0, rx969_pos, $I10)
+  rxscan973_done:
+.annotate 'line', 471
+  # rx literal  "("
+    add $I11, rx969_pos, 1
+    gt $I11, rx969_eos, rx969_fail
+    sub $I11, rx969_pos, rx969_off
+    substr $S10, rx969_tgt, $I11, 1
+    ne $S10, "(", rx969_fail
+    add rx969_pos, 1
+  # rx subrule "ws" subtype=method negate=
+    rx969_cur."!cursor_pos"(rx969_pos)
+    $P10 = rx969_cur."ws"()
+    unless $P10, rx969_fail
+    rx969_pos = $P10."pos"()
+  # rx subrule "arglist" subtype=capture negate=
+    rx969_cur."!cursor_pos"(rx969_pos)
+    $P10 = rx969_cur."arglist"()
+    unless $P10, rx969_fail
+    rx969_cur."!mark_push"(0, -1, 0, $P10)
+    $P10."!cursor_names"("arglist")
+    rx969_pos = $P10."pos"()
+  # rx literal  ")"
+    add $I11, rx969_pos, 1
+    gt $I11, rx969_eos, rx969_fail
+    sub $I11, rx969_pos, rx969_off
+    substr $S10, rx969_tgt, $I11, 1
+    ne $S10, ")", rx969_fail
+    add rx969_pos, 1
+.annotate 'line', 472
   # rx subrule "O" subtype=capture negate=
-    rx970_cur."!cursor_pos"(rx970_pos)
-    $P10 = rx970_cur."O"("%methodop")
-    unless $P10, rx970_fail
-    rx970_cur."!mark_push"(0, -1, 0, $P10)
+    rx969_cur."!cursor_pos"(rx969_pos)
+    $P10 = rx969_cur."O"("%methodop")
+    unless $P10, rx969_fail
+    rx969_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("O")
-    rx970_pos = $P10."pos"()
+    rx969_pos = $P10."pos"()
+.annotate 'line', 470
   # rx pass
-    rx970_cur."!cursor_pass"(rx970_pos, "postfix:sym<.>")
-    rx970_cur."!cursor_debug"("PASS  ", "postfix:sym<.>", " at pos=", rx970_pos)
-    .return (rx970_cur)
-  rx970_fail:
-.annotate 'line', 431
-    (rx970_rep, rx970_pos, $I10, $P10) = rx970_cur."!mark_fail"(0)
-    lt rx970_pos, -1, rx970_done
-    eq rx970_pos, -1, rx970_fail
-    jump $I10
-  rx970_done:
-    rx970_cur."!cursor_fail"()
-    rx970_cur."!cursor_debug"("FAIL  ", "postfix:sym<.>")
-    .return (rx970_cur)
+    rx969_cur."!cursor_pass"(rx969_pos, "postcircumfix:sym<( )>")
+    rx969_cur."!cursor_debug"("PASS  ", "postcircumfix:sym<( )>", " at pos=", rx969_pos)
+    .return (rx969_cur)
+  rx969_fail:
+.annotate 'line', 433
+    (rx969_rep, rx969_pos, $I10, $P10) = rx969_cur."!mark_fail"(0)
+    lt rx969_pos, -1, rx969_done
+    eq rx969_pos, -1, rx969_fail
+    jump $I10
+  rx969_done:
+    rx969_cur."!cursor_fail"()
+    rx969_cur."!cursor_debug"("FAIL  ", "postcircumfix:sym<( )>")
+    .return (rx969_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__postfix:sym<.>"  :subid("240_1274800460.92525") :method
-.annotate 'line', 431
-    $P972 = self."!PREFIX__!subrule"("dotty", "")
-    new $P973, "ResizablePMCArray"
-    push $P973, $P972
-    .return ($P973)
+.sub "!PREFIX__postcircumfix:sym<( )>"  :subid("240_1274853038.58734") :method
+.annotate 'line', 433
+    $P971 = self."!PREFIX__!subrule"("", "(")
+    new $P972, "ResizablePMCArray"
+    push $P972, $P971
+    .return ($P972)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "prefix:sym<++>"  :subid("241_1274800460.92525") :method :outer("11_1274800460.92525")
-.annotate 'line', 431
-    .local string rx976_tgt
-    .local int rx976_pos
-    .local int rx976_off
-    .local int rx976_eos
-    .local int rx976_rep
-    .local pmc rx976_cur
-    (rx976_cur, rx976_pos, rx976_tgt) = self."!cursor_start"()
-    rx976_cur."!cursor_debug"("START ", "prefix:sym<++>")
-    .lex unicode:"$\x{a2}", rx976_cur
-    .local pmc match
-    .lex "$/", match
-    length rx976_eos, rx976_tgt
-    set rx976_off, 0
-    lt rx976_pos, 2, rx976_start
-    sub rx976_off, rx976_pos, 1
-    substr rx976_tgt, rx976_tgt, rx976_off
-  rx976_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan980_done
-    goto rxscan980_scan
-  rxscan980_loop:
-    ($P10) = rx976_cur."from"()
-    inc $P10
-    set rx976_pos, $P10
-    ge rx976_pos, rx976_eos, rxscan980_done
-  rxscan980_scan:
-    set_addr $I10, rxscan980_loop
-    rx976_cur."!mark_push"(0, rx976_pos, $I10)
-  rxscan980_done:
+.sub "postfix:sym<.>"  :subid("241_1274853038.58734") :method :outer("11_1274853038.58734")
+.annotate 'line', 433
+    .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 ", "postfix: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', 475
-  # rx subcapture "sym"
-    set_addr $I10, rxcap_981_fail
-    rx976_cur."!mark_push"(0, rx976_pos, $I10)
-  # rx literal  "++"
-    add $I11, rx976_pos, 2
-    gt $I11, rx976_eos, rx976_fail
-    sub $I11, rx976_pos, rx976_off
-    substr $S10, rx976_tgt, $I11, 2
-    ne $S10, "++", rx976_fail
-    add rx976_pos, 2
-    set_addr $I10, rxcap_981_fail
-    ($I12, $I11) = rx976_cur."!mark_peek"($I10)
-    rx976_cur."!cursor_pos"($I11)
-    ($P10) = rx976_cur."!cursor_start"()
-    $P10."!cursor_pass"(rx976_pos, "")
-    rx976_cur."!mark_push"(0, -1, 0, $P10)
-    $P10."!cursor_names"("sym")
-    goto rxcap_981_done
-  rxcap_981_fail:
-    goto rx976_fail
-  rxcap_981_done:
+  # rx subrule "dotty" subtype=capture negate=
+    rx975_cur."!cursor_pos"(rx975_pos)
+    $P10 = rx975_cur."dotty"()
+    unless $P10, rx975_fail
+    rx975_cur."!mark_push"(0, -1, 0, $P10)
+    $P10."!cursor_names"("dotty")
+    rx975_pos = $P10."pos"()
   # rx subrule "O" subtype=capture negate=
-    rx976_cur."!cursor_pos"(rx976_pos)
-    $P10 = rx976_cur."O"("%autoincrement, :pirop<inc>")
-    unless $P10, rx976_fail
-    rx976_cur."!mark_push"(0, -1, 0, $P10)
+    rx975_cur."!cursor_pos"(rx975_pos)
+    $P10 = rx975_cur."O"("%methodop")
+    unless $P10, rx975_fail
+    rx975_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("O")
-    rx976_pos = $P10."pos"()
+    rx975_pos = $P10."pos"()
   # rx pass
-    rx976_cur."!cursor_pass"(rx976_pos, "prefix:sym<++>")
-    rx976_cur."!cursor_debug"("PASS  ", "prefix:sym<++>", " at pos=", rx976_pos)
-    .return (rx976_cur)
-  rx976_fail:
-.annotate 'line', 431
-    (rx976_rep, rx976_pos, $I10, $P10) = rx976_cur."!mark_fail"(0)
-    lt rx976_pos, -1, rx976_done
-    eq rx976_pos, -1, rx976_fail
-    jump $I10
-  rx976_done:
-    rx976_cur."!cursor_fail"()
-    rx976_cur."!cursor_debug"("FAIL  ", "prefix:sym<++>")
-    .return (rx976_cur)
+    rx975_cur."!cursor_pass"(rx975_pos, "postfix:sym<.>")
+    rx975_cur."!cursor_debug"("PASS  ", "postfix:sym<.>", " at pos=", rx975_pos)
+    .return (rx975_cur)
+  rx975_fail:
+.annotate 'line', 433
+    (rx975_rep, rx975_pos, $I10, $P10) = rx975_cur."!mark_fail"(0)
+    lt rx975_pos, -1, rx975_done
+    eq rx975_pos, -1, rx975_fail
+    jump $I10
+  rx975_done:
+    rx975_cur."!cursor_fail"()
+    rx975_cur."!cursor_debug"("FAIL  ", "postfix:sym<.>")
+    .return (rx975_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__prefix:sym<++>"  :subid("242_1274800460.92525") :method
-.annotate 'line', 431
-    $P978 = self."!PREFIX__!subrule"("O", "++")
-    new $P979, "ResizablePMCArray"
-    push $P979, $P978
-    .return ($P979)
+.sub "!PREFIX__postfix:sym<.>"  :subid("242_1274853038.58734") :method
+.annotate 'line', 433
+    $P977 = self."!PREFIX__!subrule"("dotty", "")
+    new $P978, "ResizablePMCArray"
+    push $P978, $P977
+    .return ($P978)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "prefix:sym<-->"  :subid("243_1274800460.92525") :method :outer("11_1274800460.92525")
-.annotate 'line', 431
-    .local string rx983_tgt
-    .local int rx983_pos
-    .local int rx983_off
-    .local int rx983_eos
-    .local int rx983_rep
-    .local pmc rx983_cur
-    (rx983_cur, rx983_pos, rx983_tgt) = self."!cursor_start"()
-    rx983_cur."!cursor_debug"("START ", "prefix:sym<-->")
-    .lex unicode:"$\x{a2}", rx983_cur
-    .local pmc match
-    .lex "$/", match
-    length rx983_eos, rx983_tgt
-    set rx983_off, 0
-    lt rx983_pos, 2, rx983_start
-    sub rx983_off, rx983_pos, 1
-    substr rx983_tgt, rx983_tgt, rx983_off
-  rx983_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan987_done
-    goto rxscan987_scan
-  rxscan987_loop:
-    ($P10) = rx983_cur."from"()
-    inc $P10
-    set rx983_pos, $P10
-    ge rx983_pos, rx983_eos, rxscan987_done
-  rxscan987_scan:
-    set_addr $I10, rxscan987_loop
-    rx983_cur."!mark_push"(0, rx983_pos, $I10)
-  rxscan987_done:
-.annotate 'line', 476
+.sub "prefix:sym<++>"  :subid("243_1274853038.58734") :method :outer("11_1274853038.58734")
+.annotate 'line', 433
+    .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', 477
   # rx subcapture "sym"
-    set_addr $I10, rxcap_988_fail
-    rx983_cur."!mark_push"(0, rx983_pos, $I10)
-  # rx literal  "--"
-    add $I11, rx983_pos, 2
-    gt $I11, rx983_eos, rx983_fail
-    sub $I11, rx983_pos, rx983_off
-    substr $S10, rx983_tgt, $I11, 2
-    ne $S10, "--", rx983_fail
-    add rx983_pos, 2
-    set_addr $I10, rxcap_988_fail
-    ($I12, $I11) = rx983_cur."!mark_peek"($I10)
-    rx983_cur."!cursor_pos"($I11)
-    ($P10) = rx983_cur."!cursor_start"()
-    $P10."!cursor_pass"(rx983_pos, "")
-    rx983_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, 2
+    gt $I11, rx981_eos, rx981_fail
+    sub $I11, rx981_pos, rx981_off
+    substr $S10, rx981_tgt, $I11, 2
+    ne $S10, "++", rx981_fail
+    add rx981_pos, 2
+    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_988_done
-  rxcap_988_fail:
-    goto rx983_fail
-  rxcap_988_done:
+    goto rxcap_986_done
+  rxcap_986_fail:
+    goto rx981_fail
+  rxcap_986_done:
   # rx subrule "O" subtype=capture negate=
-    rx983_cur."!cursor_pos"(rx983_pos)
-    $P10 = rx983_cur."O"("%autoincrement, :pirop<dec>")
-    unless $P10, rx983_fail
-    rx983_cur."!mark_push"(0, -1, 0, $P10)
+    rx981_cur."!cursor_pos"(rx981_pos)
+    $P10 = rx981_cur."O"("%autoincrement, :pirop<inc>")
+    unless $P10, rx981_fail
+    rx981_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("O")
-    rx983_pos = $P10."pos"()
+    rx981_pos = $P10."pos"()
   # rx pass
-    rx983_cur."!cursor_pass"(rx983_pos, "prefix:sym<-->")
-    rx983_cur."!cursor_debug"("PASS  ", "prefix:sym<-->", " at pos=", rx983_pos)
-    .return (rx983_cur)
-  rx983_fail:
-.annotate 'line', 431
-    (rx983_rep, rx983_pos, $I10, $P10) = rx983_cur."!mark_fail"(0)
-    lt rx983_pos, -1, rx983_done
-    eq rx983_pos, -1, rx983_fail
-    jump $I10
-  rx983_done:
-    rx983_cur."!cursor_fail"()
-    rx983_cur."!cursor_debug"("FAIL  ", "prefix:sym<-->")
-    .return (rx983_cur)
+    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', 433
+    (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
+  rx981_done:
+    rx981_cur."!cursor_fail"()
+    rx981_cur."!cursor_debug"("FAIL  ", "prefix:sym<++>")
+    .return (rx981_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__prefix:sym<-->"  :subid("244_1274800460.92525") :method
-.annotate 'line', 431
-    $P985 = self."!PREFIX__!subrule"("O", "--")
-    new $P986, "ResizablePMCArray"
-    push $P986, $P985
-    .return ($P986)
+.sub "!PREFIX__prefix:sym<++>"  :subid("244_1274853038.58734") :method
+.annotate 'line', 433
+    $P983 = self."!PREFIX__!subrule"("O", "++")
+    new $P984, "ResizablePMCArray"
+    push $P984, $P983
+    .return ($P984)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "postfix:sym<++>"  :subid("245_1274800460.92525") :method :outer("11_1274800460.92525")
-.annotate 'line', 431
-    .local string rx990_tgt
-    .local int rx990_pos
-    .local int rx990_off
-    .local int rx990_eos
-    .local int rx990_rep
-    .local pmc rx990_cur
-    (rx990_cur, rx990_pos, rx990_tgt) = self."!cursor_start"()
-    rx990_cur."!cursor_debug"("START ", "postfix:sym<++>")
-    .lex unicode:"$\x{a2}", rx990_cur
-    .local pmc match
-    .lex "$/", match
-    length rx990_eos, rx990_tgt
-    set rx990_off, 0
-    lt rx990_pos, 2, rx990_start
-    sub rx990_off, rx990_pos, 1
-    substr rx990_tgt, rx990_tgt, rx990_off
-  rx990_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan994_done
-    goto rxscan994_scan
-  rxscan994_loop:
-    ($P10) = rx990_cur."from"()
-    inc $P10
-    set rx990_pos, $P10
-    ge rx990_pos, rx990_eos, rxscan994_done
-  rxscan994_scan:
-    set_addr $I10, rxscan994_loop
-    rx990_cur."!mark_push"(0, rx990_pos, $I10)
-  rxscan994_done:
-.annotate 'line', 479
+.sub "prefix:sym<-->"  :subid("245_1274853038.58734") :method :outer("11_1274853038.58734")
+.annotate 'line', 433
+    .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', 478
+  # rx subcapture "sym"
+    set_addr $I10, rxcap_993_fail
+    rx988_cur."!mark_push"(0, rx988_pos, $I10)
+  # rx literal  "--"
+    add $I11, rx988_pos, 2
+    gt $I11, rx988_eos, rx988_fail
+    sub $I11, rx988_pos, rx988_off
+    substr $S10, rx988_tgt, $I11, 2
+    ne $S10, "--", rx988_fail
+    add rx988_pos, 2
+    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_993_done
+  rxcap_993_fail:
+    goto rx988_fail
+  rxcap_993_done:
+  # rx subrule "O" subtype=capture negate=
+    rx988_cur."!cursor_pos"(rx988_pos)
+    $P10 = rx988_cur."O"("%autoincrement, :pirop<dec>")
+    unless $P10, rx988_fail
+    rx988_cur."!mark_push"(0, -1, 0, $P10)
+    $P10."!cursor_names"("O")
+    rx988_pos = $P10."pos"()
+  # rx pass
+    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', 433
+    (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
+  rx988_done:
+    rx988_cur."!cursor_fail"()
+    rx988_cur."!cursor_debug"("FAIL  ", "prefix:sym<-->")
+    .return (rx988_cur)
+    .return ()
+.end
+
+
+.namespace ["NQP";"Grammar"]
+.sub "!PREFIX__prefix:sym<-->"  :subid("246_1274853038.58734") :method
+.annotate 'line', 433
+    $P990 = self."!PREFIX__!subrule"("O", "--")
+    new $P991, "ResizablePMCArray"
+    push $P991, $P990
+    .return ($P991)
+.end
+
+
+.namespace ["NQP";"Grammar"]
+.sub "postfix:sym<++>"  :subid("247_1274853038.58734") :method :outer("11_1274853038.58734")
+.annotate 'line', 433
+    .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 ", "postfix: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', 481
   # rx subcapture "sym"
-    set_addr $I10, rxcap_995_fail
-    rx990_cur."!mark_push"(0, rx990_pos, $I10)
+    set_addr $I10, rxcap_1000_fail
+    rx995_cur."!mark_push"(0, rx995_pos, $I10)
   # rx literal  "++"
-    add $I11, rx990_pos, 2
-    gt $I11, rx990_eos, rx990_fail
-    sub $I11, rx990_pos, rx990_off
-    substr $S10, rx990_tgt, $I11, 2
-    ne $S10, "++", rx990_fail
-    add rx990_pos, 2
-    set_addr $I10, rxcap_995_fail
-    ($I12, $I11) = rx990_cur."!mark_peek"($I10)
-    rx990_cur."!cursor_pos"($I11)
-    ($P10) = rx990_cur."!cursor_start"()
-    $P10."!cursor_pass"(rx990_pos, "")
-    rx990_cur."!mark_push"(0, -1, 0, $P10)
+    add $I11, rx995_pos, 2
+    gt $I11, rx995_eos, rx995_fail
+    sub $I11, rx995_pos, rx995_off
+    substr $S10, rx995_tgt, $I11, 2
+    ne $S10, "++", rx995_fail
+    add rx995_pos, 2
+    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_995_done
-  rxcap_995_fail:
-    goto rx990_fail
-  rxcap_995_done:
+    goto rxcap_1000_done
+  rxcap_1000_fail:
+    goto rx995_fail
+  rxcap_1000_done:
   # rx subrule "O" subtype=capture negate=
-    rx990_cur."!cursor_pos"(rx990_pos)
-    $P10 = rx990_cur."O"("%autoincrement")
-    unless $P10, rx990_fail
-    rx990_cur."!mark_push"(0, -1, 0, $P10)
+    rx995_cur."!cursor_pos"(rx995_pos)
+    $P10 = rx995_cur."O"("%autoincrement")
+    unless $P10, rx995_fail
+    rx995_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("O")
-    rx990_pos = $P10."pos"()
+    rx995_pos = $P10."pos"()
   # rx pass
-    rx990_cur."!cursor_pass"(rx990_pos, "postfix:sym<++>")
-    rx990_cur."!cursor_debug"("PASS  ", "postfix:sym<++>", " at pos=", rx990_pos)
-    .return (rx990_cur)
-  rx990_fail:
-.annotate 'line', 431
-    (rx990_rep, rx990_pos, $I10, $P10) = rx990_cur."!mark_fail"(0)
-    lt rx990_pos, -1, rx990_done
-    eq rx990_pos, -1, rx990_fail
-    jump $I10
-  rx990_done:
-    rx990_cur."!cursor_fail"()
-    rx990_cur."!cursor_debug"("FAIL  ", "postfix:sym<++>")
-    .return (rx990_cur)
+    rx995_cur."!cursor_pass"(rx995_pos, "postfix:sym<++>")
+    rx995_cur."!cursor_debug"("PASS  ", "postfix:sym<++>", " at pos=", rx995_pos)
+    .return (rx995_cur)
+  rx995_fail:
+.annotate 'line', 433
+    (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
+  rx995_done:
+    rx995_cur."!cursor_fail"()
+    rx995_cur."!cursor_debug"("FAIL  ", "postfix:sym<++>")
+    .return (rx995_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__postfix:sym<++>"  :subid("246_1274800460.92525") :method
-.annotate 'line', 431
-    $P992 = self."!PREFIX__!subrule"("O", "++")
-    new $P993, "ResizablePMCArray"
-    push $P993, $P992
-    .return ($P993)
+.sub "!PREFIX__postfix:sym<++>"  :subid("248_1274853038.58734") :method
+.annotate 'line', 433
+    $P997 = self."!PREFIX__!subrule"("O", "++")
+    new $P998, "ResizablePMCArray"
+    push $P998, $P997
+    .return ($P998)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "postfix:sym<-->"  :subid("247_1274800460.92525") :method :outer("11_1274800460.92525")
-.annotate 'line', 431
-    .local string rx997_tgt
-    .local int rx997_pos
-    .local int rx997_off
-    .local int rx997_eos
-    .local int rx997_rep
-    .local pmc rx997_cur
-    (rx997_cur, rx997_pos, rx997_tgt) = self."!cursor_start"()
-    rx997_cur."!cursor_debug"("START ", "postfix:sym<-->")
-    .lex unicode:"$\x{a2}", rx997_cur
-    .local pmc match
-    .lex "$/", match
-    length rx997_eos, rx997_tgt
-    set rx997_off, 0
-    lt rx997_pos, 2, rx997_start
-    sub rx997_off, rx997_pos, 1
-    substr rx997_tgt, rx997_tgt, rx997_off
-  rx997_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan1001_done
-    goto rxscan1001_scan
-  rxscan1001_loop:
-    ($P10) = rx997_cur."from"()
-    inc $P10
-    set rx997_pos, $P10
-    ge rx997_pos, rx997_eos, rxscan1001_done
-  rxscan1001_scan:
-    set_addr $I10, rxscan1001_loop
-    rx997_cur."!mark_push"(0, rx997_pos, $I10)
-  rxscan1001_done:
-.annotate 'line', 480
+.sub "postfix:sym<-->"  :subid("249_1274853038.58734") :method :outer("11_1274853038.58734")
+.annotate 'line', 433
+    .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 ", "postfix: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', 482
   # rx subcapture "sym"
-    set_addr $I10, rxcap_1002_fail
-    rx997_cur."!mark_push"(0, rx997_pos, $I10)
+    set_addr $I10, rxcap_1007_fail
+    rx1002_cur."!mark_push"(0, rx1002_pos, $I10)
   # rx literal  "--"
-    add $I11, rx997_pos, 2
-    gt $I11, rx997_eos, rx997_fail
-    sub $I11, rx997_pos, rx997_off
-    substr $S10, rx997_tgt, $I11, 2
-    ne $S10, "--", rx997_fail
-    add rx997_pos, 2
-    set_addr $I10, rxcap_1002_fail
-    ($I12, $I11) = rx997_cur."!mark_peek"($I10)
-    rx997_cur."!cursor_pos"($I11)
-    ($P10) = rx997_cur."!cursor_start"()
-    $P10."!cursor_pass"(rx997_pos, "")
-    rx997_cur."!mark_push"(0, -1, 0, $P10)
+    add $I11, rx1002_pos, 2
+    gt $I11, rx1002_eos, rx1002_fail
+    sub $I11, rx1002_pos, rx1002_off
+    substr $S10, rx1002_tgt, $I11, 2
+    ne $S10, "--", rx1002_fail
+    add rx1002_pos, 2
+    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_1002_done
-  rxcap_1002_fail:
-    goto rx997_fail
-  rxcap_1002_done:
+    goto rxcap_1007_done
+  rxcap_1007_fail:
+    goto rx1002_fail
+  rxcap_1007_done:
   # rx subrule "O" subtype=capture negate=
-    rx997_cur."!cursor_pos"(rx997_pos)
-    $P10 = rx997_cur."O"("%autoincrement")
-    unless $P10, rx997_fail
-    rx997_cur."!mark_push"(0, -1, 0, $P10)
+    rx1002_cur."!cursor_pos"(rx1002_pos)
+    $P10 = rx1002_cur."O"("%autoincrement")
+    unless $P10, rx1002_fail
+    rx1002_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("O")
-    rx997_pos = $P10."pos"()
+    rx1002_pos = $P10."pos"()
   # rx pass
-    rx997_cur."!cursor_pass"(rx997_pos, "postfix:sym<-->")
-    rx997_cur."!cursor_debug"("PASS  ", "postfix:sym<-->", " at pos=", rx997_pos)
-    .return (rx997_cur)
-  rx997_fail:
-.annotate 'line', 431
-    (rx997_rep, rx997_pos, $I10, $P10) = rx997_cur."!mark_fail"(0)
-    lt rx997_pos, -1, rx997_done
-    eq rx997_pos, -1, rx997_fail
-    jump $I10
-  rx997_done:
-    rx997_cur."!cursor_fail"()
-    rx997_cur."!cursor_debug"("FAIL  ", "postfix:sym<-->")
-    .return (rx997_cur)
+    rx1002_cur."!cursor_pass"(rx1002_pos, "postfix:sym<-->")
+    rx1002_cur."!cursor_debug"("PASS  ", "postfix:sym<-->", " at pos=", rx1002_pos)
+    .return (rx1002_cur)
+  rx1002_fail:
+.annotate 'line', 433
+    (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
+  rx1002_done:
+    rx1002_cur."!cursor_fail"()
+    rx1002_cur."!cursor_debug"("FAIL  ", "postfix:sym<-->")
+    .return (rx1002_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__postfix:sym<-->"  :subid("248_1274800460.92525") :method
-.annotate 'line', 431
-    $P999 = self."!PREFIX__!subrule"("O", "--")
-    new $P1000, "ResizablePMCArray"
-    push $P1000, $P999
-    .return ($P1000)
+.sub "!PREFIX__postfix:sym<-->"  :subid("250_1274853038.58734") :method
+.annotate 'line', 433
+    $P1004 = self."!PREFIX__!subrule"("O", "--")
+    new $P1005, "ResizablePMCArray"
+    push $P1005, $P1004
+    .return ($P1005)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "infix:sym<**>"  :subid("249_1274800460.92525") :method :outer("11_1274800460.92525")
-.annotate 'line', 431
-    .local string rx1004_tgt
-    .local int rx1004_pos
-    .local int rx1004_off
-    .local int rx1004_eos
-    .local int rx1004_rep
-    .local pmc rx1004_cur
-    (rx1004_cur, rx1004_pos, rx1004_tgt) = self."!cursor_start"()
-    rx1004_cur."!cursor_debug"("START ", "infix:sym<**>")
-    .lex unicode:"$\x{a2}", rx1004_cur
-    .local pmc match
-    .lex "$/", match
-    length rx1004_eos, rx1004_tgt
-    set rx1004_off, 0
-    lt rx1004_pos, 2, rx1004_start
-    sub rx1004_off, rx1004_pos, 1
-    substr rx1004_tgt, rx1004_tgt, rx1004_off
-  rx1004_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan1008_done
-    goto rxscan1008_scan
-  rxscan1008_loop:
-    ($P10) = rx1004_cur."from"()
-    inc $P10
-    set rx1004_pos, $P10
-    ge rx1004_pos, rx1004_eos, rxscan1008_done
-  rxscan1008_scan:
-    set_addr $I10, rxscan1008_loop
-    rx1004_cur."!mark_push"(0, rx1004_pos, $I10)
-  rxscan1008_done:
-.annotate 'line', 482
+.sub "infix:sym<**>"  :subid("251_1274853038.58734") :method :outer("11_1274853038.58734")
+.annotate 'line', 433
+    .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', 484
   # rx subcapture "sym"
-    set_addr $I10, rxcap_1009_fail
-    rx1004_cur."!mark_push"(0, rx1004_pos, $I10)
+    set_addr $I10, rxcap_1014_fail
+    rx1009_cur."!mark_push"(0, rx1009_pos, $I10)
   # rx literal  "**"
-    add $I11, rx1004_pos, 2
-    gt $I11, rx1004_eos, rx1004_fail
-    sub $I11, rx1004_pos, rx1004_off
-    substr $S10, rx1004_tgt, $I11, 2
-    ne $S10, "**", rx1004_fail
-    add rx1004_pos, 2
-    set_addr $I10, rxcap_1009_fail
-    ($I12, $I11) = rx1004_cur."!mark_peek"($I10)
-    rx1004_cur."!cursor_pos"($I11)
-    ($P10) = rx1004_cur."!cursor_start"()
-    $P10."!cursor_pass"(rx1004_pos, "")
-    rx1004_cur."!mark_push"(0, -1, 0, $P10)
+    add $I11, rx1009_pos, 2
+    gt $I11, rx1009_eos, rx1009_fail
+    sub $I11, rx1009_pos, rx1009_off
+    substr $S10, rx1009_tgt, $I11, 2
+    ne $S10, "**", rx1009_fail
+    add rx1009_pos, 2
+    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_1009_done
-  rxcap_1009_fail:
-    goto rx1004_fail
-  rxcap_1009_done:
+    goto rxcap_1014_done
+  rxcap_1014_fail:
+    goto rx1009_fail
+  rxcap_1014_done:
   # rx subrule "O" subtype=capture negate=
-    rx1004_cur."!cursor_pos"(rx1004_pos)
-    $P10 = rx1004_cur."O"("%exponentiation, :pirop<pow>")
-    unless $P10, rx1004_fail
-    rx1004_cur."!mark_push"(0, -1, 0, $P10)
+    rx1009_cur."!cursor_pos"(rx1009_pos)
+    $P10 = rx1009_cur."O"("%exponentiation, :pirop<pow>")
+    unless $P10, rx1009_fail
+    rx1009_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("O")
-    rx1004_pos = $P10."pos"()
+    rx1009_pos = $P10."pos"()
   # rx pass
-    rx1004_cur."!cursor_pass"(rx1004_pos, "infix:sym<**>")
-    rx1004_cur."!cursor_debug"("PASS  ", "infix:sym<**>", " at pos=", rx1004_pos)
-    .return (rx1004_cur)
-  rx1004_fail:
-.annotate 'line', 431
-    (rx1004_rep, rx1004_pos, $I10, $P10) = rx1004_cur."!mark_fail"(0)
-    lt rx1004_pos, -1, rx1004_done
-    eq rx1004_pos, -1, rx1004_fail
-    jump $I10
-  rx1004_done:
-    rx1004_cur."!cursor_fail"()
-    rx1004_cur."!cursor_debug"("FAIL  ", "infix:sym<**>")
-    .return (rx1004_cur)
+    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', 433
+    (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
+  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("250_1274800460.92525") :method
-.annotate 'line', 431
-    $P1006 = self."!PREFIX__!subrule"("O", "**")
-    new $P1007, "ResizablePMCArray"
-    push $P1007, $P1006
-    .return ($P1007)
+.sub "!PREFIX__infix:sym<**>"  :subid("252_1274853038.58734") :method
+.annotate 'line', 433
+    $P1011 = self."!PREFIX__!subrule"("O", "**")
+    new $P1012, "ResizablePMCArray"
+    push $P1012, $P1011
+    .return ($P1012)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "prefix:sym<+>"  :subid("251_1274800460.92525") :method :outer("11_1274800460.92525")
-.annotate 'line', 431
-    .local string rx1011_tgt
-    .local int rx1011_pos
-    .local int rx1011_off
-    .local int rx1011_eos
-    .local int rx1011_rep
-    .local pmc rx1011_cur
-    (rx1011_cur, rx1011_pos, rx1011_tgt) = self."!cursor_start"()
-    rx1011_cur."!cursor_debug"("START ", "prefix:sym<+>")
-    .lex unicode:"$\x{a2}", rx1011_cur
-    .local pmc match
-    .lex "$/", match
-    length rx1011_eos, rx1011_tgt
-    set rx1011_off, 0
-    lt rx1011_pos, 2, rx1011_start
-    sub rx1011_off, rx1011_pos, 1
-    substr rx1011_tgt, rx1011_tgt, rx1011_off
-  rx1011_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan1015_done
-    goto rxscan1015_scan
-  rxscan1015_loop:
-    ($P10) = rx1011_cur."from"()
-    inc $P10
-    set rx1011_pos, $P10
-    ge rx1011_pos, rx1011_eos, rxscan1015_done
-  rxscan1015_scan:
-    set_addr $I10, rxscan1015_loop
-    rx1011_cur."!mark_push"(0, rx1011_pos, $I10)
-  rxscan1015_done:
-.annotate 'line', 484
+.sub "prefix:sym<+>"  :subid("253_1274853038.58734") :method :outer("11_1274853038.58734")
+.annotate 'line', 433
+    .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 ", "prefix: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', 486
   # rx subcapture "sym"
-    set_addr $I10, rxcap_1016_fail
-    rx1011_cur."!mark_push"(0, rx1011_pos, $I10)
+    set_addr $I10, rxcap_1021_fail
+    rx1016_cur."!mark_push"(0, rx1016_pos, $I10)
   # rx literal  "+"
-    add $I11, rx1011_pos, 1
-    gt $I11, rx1011_eos, rx1011_fail
-    sub $I11, rx1011_pos, rx1011_off
-    substr $S10, rx1011_tgt, $I11, 1
-    ne $S10, "+", rx1011_fail
-    add rx1011_pos, 1
-    set_addr $I10, rxcap_1016_fail
-    ($I12, $I11) = rx1011_cur."!mark_peek"($I10)
-    rx1011_cur."!cursor_pos"($I11)
-    ($P10) = rx1011_cur."!cursor_start"()
-    $P10."!cursor_pass"(rx1011_pos, "")
-    rx1011_cur."!mark_push"(0, -1, 0, $P10)
+    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_1016_done
-  rxcap_1016_fail:
-    goto rx1011_fail
-  rxcap_1016_done:
+    goto rxcap_1021_done
+  rxcap_1021_fail:
+    goto rx1016_fail
+  rxcap_1021_done:
   # rx subrule "O" subtype=capture negate=
-    rx1011_cur."!cursor_pos"(rx1011_pos)
-    $P10 = rx1011_cur."O"("%symbolic_unary, :pirop<set N*>")
-    unless $P10, rx1011_fail
-    rx1011_cur."!mark_push"(0, -1, 0, $P10)
+    rx1016_cur."!cursor_pos"(rx1016_pos)
+    $P10 = rx1016_cur."O"("%symbolic_unary, :pirop<set N*>")
+    unless $P10, rx1016_fail
+    rx1016_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("O")
-    rx1011_pos = $P10."pos"()
+    rx1016_pos = $P10."pos"()
   # rx pass
-    rx1011_cur."!cursor_pass"(rx1011_pos, "prefix:sym<+>")
-    rx1011_cur."!cursor_debug"("PASS  ", "prefix:sym<+>", " at pos=", rx1011_pos)
-    .return (rx1011_cur)
-  rx1011_fail:
-.annotate 'line', 431
-    (rx1011_rep, rx1011_pos, $I10, $P10) = rx1011_cur."!mark_fail"(0)
-    lt rx1011_pos, -1, rx1011_done
-    eq rx1011_pos, -1, rx1011_fail
-    jump $I10
-  rx1011_done:
-    rx1011_cur."!cursor_fail"()
-    rx1011_cur."!cursor_debug"("FAIL  ", "prefix:sym<+>")
-    .return (rx1011_cur)
+    rx1016_cur."!cursor_pass"(rx1016_pos, "prefix:sym<+>")
+    rx1016_cur."!cursor_debug"("PASS  ", "prefix:sym<+>", " at pos=", rx1016_pos)
+    .return (rx1016_cur)
+  rx1016_fail:
+.annotate 'line', 433
+    (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
+  rx1016_done:
+    rx1016_cur."!cursor_fail"()
+    rx1016_cur."!cursor_debug"("FAIL  ", "prefix:sym<+>")
+    .return (rx1016_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__prefix:sym<+>"  :subid("252_1274800460.92525") :method
-.annotate 'line', 431
-    $P1013 = self."!PREFIX__!subrule"("O", "+")
-    new $P1014, "ResizablePMCArray"
-    push $P1014, $P1013
-    .return ($P1014)
+.sub "!PREFIX__prefix:sym<+>"  :subid("254_1274853038.58734") :method
+.annotate 'line', 433
+    $P1018 = self."!PREFIX__!subrule"("O", "+")
+    new $P1019, "ResizablePMCArray"
+    push $P1019, $P1018
+    .return ($P1019)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "prefix:sym<~>"  :subid("253_1274800460.92525") :method :outer("11_1274800460.92525")
-.annotate 'line', 431
-    .local string rx1018_tgt
-    .local int rx1018_pos
-    .local int rx1018_off
-    .local int rx1018_eos
-    .local int rx1018_rep
-    .local pmc rx1018_cur
-    (rx1018_cur, rx1018_pos, rx1018_tgt) = self."!cursor_start"()
-    rx1018_cur."!cursor_debug"("START ", "prefix:sym<~>")
-    .lex unicode:"$\x{a2}", rx1018_cur
-    .local pmc match
-    .lex "$/", match
-    length rx1018_eos, rx1018_tgt
-    set rx1018_off, 0
-    lt rx1018_pos, 2, rx1018_start
-    sub rx1018_off, rx1018_pos, 1
-    substr rx1018_tgt, rx1018_tgt, rx1018_off
-  rx1018_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan1022_done
-    goto rxscan1022_scan
-  rxscan1022_loop:
-    ($P10) = rx1018_cur."from"()
-    inc $P10
-    set rx1018_pos, $P10
-    ge rx1018_pos, rx1018_eos, rxscan1022_done
-  rxscan1022_scan:
-    set_addr $I10, rxscan1022_loop
-    rx1018_cur."!mark_push"(0, rx1018_pos, $I10)
-  rxscan1022_done:
-.annotate 'line', 485
+.sub "prefix:sym<~>"  :subid("255_1274853038.58734") :method :outer("11_1274853038.58734")
+.annotate 'line', 433
+    .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 ", "prefix: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', 487
   # rx subcapture "sym"
-    set_addr $I10, rxcap_1023_fail
-    rx1018_cur."!mark_push"(0, rx1018_pos, $I10)
+    set_addr $I10, rxcap_1028_fail
+    rx1023_cur."!mark_push"(0, rx1023_pos, $I10)
   # rx literal  "~"
-    add $I11, rx1018_pos, 1
-    gt $I11, rx1018_eos, rx1018_fail
-    sub $I11, rx1018_pos, rx1018_off
-    substr $S10, rx1018_tgt, $I11, 1
-    ne $S10, "~", rx1018_fail
-    add rx1018_pos, 1
-    set_addr $I10, rxcap_1023_fail
-    ($I12, $I11) = rx1018_cur."!mark_peek"($I10)
-    rx1018_cur."!cursor_pos"($I11)
-    ($P10) = rx1018_cur."!cursor_start"()
-    $P10."!cursor_pass"(rx1018_pos, "")
-    rx1018_cur."!mark_push"(0, -1, 0, $P10)
+    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_1023_done
-  rxcap_1023_fail:
-    goto rx1018_fail
-  rxcap_1023_done:
+    goto rxcap_1028_done
+  rxcap_1028_fail:
+    goto rx1023_fail
+  rxcap_1028_done:
   # rx subrule "O" subtype=capture negate=
-    rx1018_cur."!cursor_pos"(rx1018_pos)
-    $P10 = rx1018_cur."O"("%symbolic_unary, :pirop<set S*>")
-    unless $P10, rx1018_fail
-    rx1018_cur."!mark_push"(0, -1, 0, $P10)
+    rx1023_cur."!cursor_pos"(rx1023_pos)
+    $P10 = rx1023_cur."O"("%symbolic_unary, :pirop<set S*>")
+    unless $P10, rx1023_fail
+    rx1023_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("O")
-    rx1018_pos = $P10."pos"()
+    rx1023_pos = $P10."pos"()
   # rx pass
-    rx1018_cur."!cursor_pass"(rx1018_pos, "prefix:sym<~>")
-    rx1018_cur."!cursor_debug"("PASS  ", "prefix:sym<~>", " at pos=", rx1018_pos)
-    .return (rx1018_cur)
-  rx1018_fail:
-.annotate 'line', 431
-    (rx1018_rep, rx1018_pos, $I10, $P10) = rx1018_cur."!mark_fail"(0)
-    lt rx1018_pos, -1, rx1018_done
-    eq rx1018_pos, -1, rx1018_fail
+    rx1023_cur."!cursor_pass"(rx1023_pos, "prefix:sym<~>")
+    rx1023_cur."!cursor_debug"("PASS  ", "prefix:sym<~>", " at pos=", rx1023_pos)
+    .return (rx1023_cur)
+  rx1023_fail:
+.annotate 'line', 433
+    (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
-  rx1018_done:
-    rx1018_cur."!cursor_fail"()
-    rx1018_cur."!cursor_debug"("FAIL  ", "prefix:sym<~>")
-    .return (rx1018_cur)
+  rx1023_done:
+    rx1023_cur."!cursor_fail"()
+    rx1023_cur."!cursor_debug"("FAIL  ", "prefix:sym<~>")
+    .return (rx1023_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__prefix:sym<~>"  :subid("254_1274800460.92525") :method
-.annotate 'line', 431
-    $P1020 = self."!PREFIX__!subrule"("O", "~")
-    new $P1021, "ResizablePMCArray"
-    push $P1021, $P1020
-    .return ($P1021)
+.sub "!PREFIX__prefix:sym<~>"  :subid("256_1274853038.58734") :method
+.annotate 'line', 433
+    $P1025 = self."!PREFIX__!subrule"("O", "~")
+    new $P1026, "ResizablePMCArray"
+    push $P1026, $P1025
+    .return ($P1026)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "prefix:sym<->"  :subid("255_1274800460.92525") :method :outer("11_1274800460.92525")
-.annotate 'line', 431
-    .local string rx1025_tgt
-    .local int rx1025_pos
-    .local int rx1025_off
-    .local int rx1025_eos
-    .local int rx1025_rep
-    .local pmc rx1025_cur
-    (rx1025_cur, rx1025_pos, rx1025_tgt) = self."!cursor_start"()
-    rx1025_cur."!cursor_debug"("START ", "prefix:sym<->")
-    .lex unicode:"$\x{a2}", rx1025_cur
-    .local pmc match
-    .lex "$/", match
-    length rx1025_eos, rx1025_tgt
-    set rx1025_off, 0
-    lt rx1025_pos, 2, rx1025_start
-    sub rx1025_off, rx1025_pos, 1
-    substr rx1025_tgt, rx1025_tgt, rx1025_off
-  rx1025_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan1028_done
-    goto rxscan1028_scan
-  rxscan1028_loop:
-    ($P10) = rx1025_cur."from"()
-    inc $P10
-    set rx1025_pos, $P10
-    ge rx1025_pos, rx1025_eos, rxscan1028_done
-  rxscan1028_scan:
-    set_addr $I10, rxscan1028_loop
-    rx1025_cur."!mark_push"(0, rx1025_pos, $I10)
-  rxscan1028_done:
-.annotate 'line', 486
+.sub "prefix:sym<->"  :subid("257_1274853038.58734") :method :outer("11_1274853038.58734")
+.annotate 'line', 433
+    .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 ", "prefix: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, rxscan1033_done
+    goto rxscan1033_scan
+  rxscan1033_loop:
+    ($P10) = rx1030_cur."from"()
+    inc $P10
+    set rx1030_pos, $P10
+    ge rx1030_pos, rx1030_eos, rxscan1033_done
+  rxscan1033_scan:
+    set_addr $I10, rxscan1033_loop
+    rx1030_cur."!mark_push"(0, rx1030_pos, $I10)
+  rxscan1033_done:
+.annotate 'line', 488
   # rx subcapture "sym"
-    set_addr $I10, rxcap_1029_fail
-    rx1025_cur."!mark_push"(0, rx1025_pos, $I10)
+    set_addr $I10, rxcap_1034_fail
+    rx1030_cur."!mark_push"(0, rx1030_pos, $I10)
   # rx literal  "-"
-    add $I11, rx1025_pos, 1
-    gt $I11, rx1025_eos, rx1025_fail
-    sub $I11, rx1025_pos, rx1025_off
-    substr $S10, rx1025_tgt, $I11, 1
-    ne $S10, "-", rx1025_fail
-    add rx1025_pos, 1
-    set_addr $I10, rxcap_1029_fail
-    ($I12, $I11) = rx1025_cur."!mark_peek"($I10)
-    rx1025_cur."!cursor_pos"($I11)
-    ($P10) = rx1025_cur."!cursor_start"()
-    $P10."!cursor_pass"(rx1025_pos, "")
-    rx1025_cur."!mark_push"(0, -1, 0, $P10)
+    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_1034_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_1029_done
-  rxcap_1029_fail:
-    goto rx1025_fail
-  rxcap_1029_done:
+    goto rxcap_1034_done
+  rxcap_1034_fail:
+    goto rx1030_fail
+  rxcap_1034_done:
   # rx enumcharlist negate=1 zerowidth
-    ge rx1025_pos, rx1025_eos, rx1025_fail
-    sub $I10, rx1025_pos, rx1025_off
-    substr $S10, rx1025_tgt, $I10, 1
+    ge rx1030_pos, rx1030_eos, rx1030_fail
+    sub $I10, rx1030_pos, rx1030_off
+    substr $S10, rx1030_tgt, $I10, 1
     index $I11, ">", $S10
-    ge $I11, 0, rx1025_fail
+    ge $I11, 0, rx1030_fail
   # rx subrule "number" subtype=zerowidth negate=1
-    rx1025_cur."!cursor_pos"(rx1025_pos)
-    $P10 = rx1025_cur."number"()
-    if $P10, rx1025_fail
+    rx1030_cur."!cursor_pos"(rx1030_pos)
+    $P10 = rx1030_cur."number"()
+    if $P10, rx1030_fail
   # rx subrule "O" subtype=capture negate=
-    rx1025_cur."!cursor_pos"(rx1025_pos)
-    $P10 = rx1025_cur."O"("%symbolic_unary, :pirop<neg>")
-    unless $P10, rx1025_fail
-    rx1025_cur."!mark_push"(0, -1, 0, $P10)
+    rx1030_cur."!cursor_pos"(rx1030_pos)
+    $P10 = rx1030_cur."O"("%symbolic_unary, :pirop<neg>")
+    unless $P10, rx1030_fail
+    rx1030_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("O")
-    rx1025_pos = $P10."pos"()
+    rx1030_pos = $P10."pos"()
   # rx pass
-    rx1025_cur."!cursor_pass"(rx1025_pos, "prefix:sym<->")
-    rx1025_cur."!cursor_debug"("PASS  ", "prefix:sym<->", " at pos=", rx1025_pos)
-    .return (rx1025_cur)
-  rx1025_fail:
-.annotate 'line', 431
-    (rx1025_rep, rx1025_pos, $I10, $P10) = rx1025_cur."!mark_fail"(0)
-    lt rx1025_pos, -1, rx1025_done
-    eq rx1025_pos, -1, rx1025_fail
-    jump $I10
-  rx1025_done:
-    rx1025_cur."!cursor_fail"()
-    rx1025_cur."!cursor_debug"("FAIL  ", "prefix:sym<->")
-    .return (rx1025_cur)
+    rx1030_cur."!cursor_pass"(rx1030_pos, "prefix:sym<->")
+    rx1030_cur."!cursor_debug"("PASS  ", "prefix:sym<->", " at pos=", rx1030_pos)
+    .return (rx1030_cur)
+  rx1030_fail:
+.annotate 'line', 433
+    (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
+  rx1030_done:
+    rx1030_cur."!cursor_fail"()
+    rx1030_cur."!cursor_debug"("FAIL  ", "prefix:sym<->")
+    .return (rx1030_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__prefix:sym<->"  :subid("256_1274800460.92525") :method
-.annotate 'line', 431
-    new $P1027, "ResizablePMCArray"
-    push $P1027, "-"
-    .return ($P1027)
+.sub "!PREFIX__prefix:sym<->"  :subid("258_1274853038.58734") :method
+.annotate 'line', 433
+    new $P1032, "ResizablePMCArray"
+    push $P1032, "-"
+    .return ($P1032)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "prefix:sym<?>"  :subid("257_1274800460.92525") :method :outer("11_1274800460.92525")
-.annotate 'line', 431
-    .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 ", "prefix: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', 487
+.sub "prefix:sym<?>"  :subid("259_1274853038.58734") :method :outer("11_1274853038.58734")
+.annotate 'line', 433
+    .local string rx1036_tgt
+    .local int rx1036_pos
+    .local int rx1036_off
+    .local int rx1036_eos
+    .local int rx1036_rep
+    .local pmc rx1036_cur
+    (rx1036_cur, rx1036_pos, rx1036_tgt) = self."!cursor_start"()
+    rx1036_cur."!cursor_debug"("START ", "prefix:sym<?>")
+    .lex unicode:"$\x{a2}", rx1036_cur
+    .local pmc match
+    .lex "$/", match
+    length rx1036_eos, rx1036_tgt
+    set rx1036_off, 0
+    lt rx1036_pos, 2, rx1036_start
+    sub rx1036_off, rx1036_pos, 1
+    substr rx1036_tgt, rx1036_tgt, rx1036_off
+  rx1036_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan1040_done
+    goto rxscan1040_scan
+  rxscan1040_loop:
+    ($P10) = rx1036_cur."from"()
+    inc $P10
+    set rx1036_pos, $P10
+    ge rx1036_pos, rx1036_eos, rxscan1040_done
+  rxscan1040_scan:
+    set_addr $I10, rxscan1040_loop
+    rx1036_cur."!mark_push"(0, rx1036_pos, $I10)
+  rxscan1040_done:
+.annotate 'line', 489
   # rx subcapture "sym"
-    set_addr $I10, rxcap_1036_fail
-    rx1031_cur."!mark_push"(0, rx1031_pos, $I10)
+    set_addr $I10, rxcap_1041_fail
+    rx1036_cur."!mark_push"(0, rx1036_pos, $I10)
   # rx literal  "?"
-    add $I11, rx1031_pos, 1
-    gt $I11, rx1031_eos, rx1031_fail
-    sub $I11, rx1031_pos, rx1031_off
-    substr $S10, rx1031_tgt, $I11, 1
-    ne $S10, "?", rx1031_fail
-    add rx1031_pos, 1
-    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)
+    add $I11, rx1036_pos, 1
+    gt $I11, rx1036_eos, rx1036_fail
+    sub $I11, rx1036_pos, rx1036_off
+    substr $S10, rx1036_tgt, $I11, 1
+    ne $S10, "?", rx1036_fail
+    add rx1036_pos, 1
+    set_addr $I10, rxcap_1041_fail
+    ($I12, $I11) = rx1036_cur."!mark_peek"($I10)
+    rx1036_cur."!cursor_pos"($I11)
+    ($P10) = rx1036_cur."!cursor_start"()
+    $P10."!cursor_pass"(rx1036_pos, "")
+    rx1036_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_1041_done
+  rxcap_1041_fail:
+    goto rx1036_fail
+  rxcap_1041_done:
   # rx subrule "O" subtype=capture negate=
-    rx1031_cur."!cursor_pos"(rx1031_pos)
-    $P10 = rx1031_cur."O"("%symbolic_unary, :pirop<istrue>")
-    unless $P10, rx1031_fail
-    rx1031_cur."!mark_push"(0, -1, 0, $P10)
+    rx1036_cur."!cursor_pos"(rx1036_pos)
+    $P10 = rx1036_cur."O"("%symbolic_unary, :pirop<istrue>")
+    unless $P10, rx1036_fail
+    rx1036_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("O")
-    rx1031_pos = $P10."pos"()
+    rx1036_pos = $P10."pos"()
   # rx pass
-    rx1031_cur."!cursor_pass"(rx1031_pos, "prefix:sym<?>")
-    rx1031_cur."!cursor_debug"("PASS  ", "prefix:sym<?>", " at pos=", rx1031_pos)
-    .return (rx1031_cur)
-  rx1031_fail:
-.annotate 'line', 431
-    (rx1031_rep, rx1031_pos, $I10, $P10) = rx1031_cur."!mark_fail"(0)
-    lt rx1031_pos, -1, rx1031_done
-    eq rx1031_pos, -1, rx1031_fail
-    jump $I10
-  rx1031_done:
-    rx1031_cur."!cursor_fail"()
-    rx1031_cur."!cursor_debug"("FAIL  ", "prefix:sym<?>")
-    .return (rx1031_cur)
+    rx1036_cur."!cursor_pass"(rx1036_pos, "prefix:sym<?>")
+    rx1036_cur."!cursor_debug"("PASS  ", "prefix:sym<?>", " at pos=", rx1036_pos)
+    .return (rx1036_cur)
+  rx1036_fail:
+.annotate 'line', 433
+    (rx1036_rep, rx1036_pos, $I10, $P10) = rx1036_cur."!mark_fail"(0)
+    lt rx1036_pos, -1, rx1036_done
+    eq rx1036_pos, -1, rx1036_fail
+    jump $I10
+  rx1036_done:
+    rx1036_cur."!cursor_fail"()
+    rx1036_cur."!cursor_debug"("FAIL  ", "prefix:sym<?>")
+    .return (rx1036_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__prefix:sym<?>"  :subid("258_1274800460.92525") :method
-.annotate 'line', 431
-    $P1033 = self."!PREFIX__!subrule"("O", "?")
-    new $P1034, "ResizablePMCArray"
-    push $P1034, $P1033
-    .return ($P1034)
+.sub "!PREFIX__prefix:sym<?>"  :subid("260_1274853038.58734") :method
+.annotate 'line', 433
+    $P1038 = self."!PREFIX__!subrule"("O", "?")
+    new $P1039, "ResizablePMCArray"
+    push $P1039, $P1038
+    .return ($P1039)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "prefix:sym<!>"  :subid("259_1274800460.92525") :method :outer("11_1274800460.92525")
-.annotate 'line', 431
-    .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 ", "prefix: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', 488
+.sub "prefix:sym<!>"  :subid("261_1274853038.58734") :method :outer("11_1274853038.58734")
+.annotate 'line', 433
+    .local string rx1043_tgt
+    .local int rx1043_pos
+    .local int rx1043_off
+    .local int rx1043_eos
+    .local int rx1043_rep
+    .local pmc rx1043_cur
+    (rx1043_cur, rx1043_pos, rx1043_tgt) = self."!cursor_start"()
+    rx1043_cur."!cursor_debug"("START ", "prefix:sym<!>")
+    .lex unicode:"$\x{a2}", rx1043_cur
+    .local pmc match
+    .lex "$/", match
+    length rx1043_eos, rx1043_tgt
+    set rx1043_off, 0
+    lt rx1043_pos, 2, rx1043_start
+    sub rx1043_off, rx1043_pos, 1
+    substr rx1043_tgt, rx1043_tgt, rx1043_off
+  rx1043_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan1047_done
+    goto rxscan1047_scan
+  rxscan1047_loop:
+    ($P10) = rx1043_cur."from"()
+    inc $P10
+    set rx1043_pos, $P10
+    ge rx1043_pos, rx1043_eos, rxscan1047_done
+  rxscan1047_scan:
+    set_addr $I10, rxscan1047_loop
+    rx1043_cur."!mark_push"(0, rx1043_pos, $I10)
+  rxscan1047_done:
+.annotate 'line', 490
   # rx subcapture "sym"
-    set_addr $I10, rxcap_1043_fail
-    rx1038_cur."!mark_push"(0, rx1038_pos, $I10)
+    set_addr $I10, rxcap_1048_fail
+    rx1043_cur."!mark_push"(0, rx1043_pos, $I10)
   # rx literal  "!"
-    add $I11, rx1038_pos, 1
-    gt $I11, rx1038_eos, rx1038_fail
-    sub $I11, rx1038_pos, rx1038_off
-    substr $S10, rx1038_tgt, $I11, 1
-    ne $S10, "!", rx1038_fail
-    add rx1038_pos, 1
-    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)
+    add $I11, rx1043_pos, 1
+    gt $I11, rx1043_eos, rx1043_fail
+    sub $I11, rx1043_pos, rx1043_off
+    substr $S10, rx1043_tgt, $I11, 1
+    ne $S10, "!", rx1043_fail
+    add rx1043_pos, 1
+    set_addr $I10, rxcap_1048_fail
+    ($I12, $I11) = rx1043_cur."!mark_peek"($I10)
+    rx1043_cur."!cursor_pos"($I11)
+    ($P10) = rx1043_cur."!cursor_start"()
+    $P10."!cursor_pass"(rx1043_pos, "")
+    rx1043_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_1048_done
+  rxcap_1048_fail:
+    goto rx1043_fail
+  rxcap_1048_done:
   # rx subrule "O" subtype=capture negate=
-    rx1038_cur."!cursor_pos"(rx1038_pos)
-    $P10 = rx1038_cur."O"("%symbolic_unary, :pirop<isfalse>")
-    unless $P10, rx1038_fail
-    rx1038_cur."!mark_push"(0, -1, 0, $P10)
+    rx1043_cur."!cursor_pos"(rx1043_pos)
+    $P10 = rx1043_cur."O"("%symbolic_unary, :pirop<isfalse>")
+    unless $P10, rx1043_fail
+    rx1043_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("O")
-    rx1038_pos = $P10."pos"()
+    rx1043_pos = $P10."pos"()
   # rx pass
-    rx1038_cur."!cursor_pass"(rx1038_pos, "prefix:sym<!>")
-    rx1038_cur."!cursor_debug"("PASS  ", "prefix:sym<!>", " at pos=", rx1038_pos)
-    .return (rx1038_cur)
-  rx1038_fail:
-.annotate 'line', 431
-    (rx1038_rep, rx1038_pos, $I10, $P10) = rx1038_cur."!mark_fail"(0)
-    lt rx1038_pos, -1, rx1038_done
-    eq rx1038_pos, -1, rx1038_fail
-    jump $I10
-  rx1038_done:
-    rx1038_cur."!cursor_fail"()
-    rx1038_cur."!cursor_debug"("FAIL  ", "prefix:sym<!>")
-    .return (rx1038_cur)
+    rx1043_cur."!cursor_pass"(rx1043_pos, "prefix:sym<!>")
+    rx1043_cur."!cursor_debug"("PASS  ", "prefix:sym<!>", " at pos=", rx1043_pos)
+    .return (rx1043_cur)
+  rx1043_fail:
+.annotate 'line', 433
+    (rx1043_rep, rx1043_pos, $I10, $P10) = rx1043_cur."!mark_fail"(0)
+    lt rx1043_pos, -1, rx1043_done
+    eq rx1043_pos, -1, rx1043_fail
+    jump $I10
+  rx1043_done:
+    rx1043_cur."!cursor_fail"()
+    rx1043_cur."!cursor_debug"("FAIL  ", "prefix:sym<!>")
+    .return (rx1043_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__prefix:sym<!>"  :subid("260_1274800460.92525") :method
-.annotate 'line', 431
-    $P1040 = self."!PREFIX__!subrule"("O", "!")
-    new $P1041, "ResizablePMCArray"
-    push $P1041, $P1040
-    .return ($P1041)
+.sub "!PREFIX__prefix:sym<!>"  :subid("262_1274853038.58734") :method
+.annotate 'line', 433
+    $P1045 = self."!PREFIX__!subrule"("O", "!")
+    new $P1046, "ResizablePMCArray"
+    push $P1046, $P1045
+    .return ($P1046)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "prefix:sym<|>"  :subid("261_1274800460.92525") :method :outer("11_1274800460.92525")
-.annotate 'line', 431
-    .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 ", "prefix: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', 489
+.sub "prefix:sym<|>"  :subid("263_1274853038.58734") :method :outer("11_1274853038.58734")
+.annotate 'line', 433
+    .local string rx1050_tgt
+    .local int rx1050_pos
+    .local int rx1050_off
+    .local int rx1050_eos
+    .local int rx1050_rep
+    .local pmc rx1050_cur
+    (rx1050_cur, rx1050_pos, rx1050_tgt) = self."!cursor_start"()
+    rx1050_cur."!cursor_debug"("START ", "prefix:sym<|>")
+    .lex unicode:"$\x{a2}", rx1050_cur
+    .local pmc match
+    .lex "$/", match
+    length rx1050_eos, rx1050_tgt
+    set rx1050_off, 0
+    lt rx1050_pos, 2, rx1050_start
+    sub rx1050_off, rx1050_pos, 1
+    substr rx1050_tgt, rx1050_tgt, rx1050_off
+  rx1050_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan1054_done
+    goto rxscan1054_scan
+  rxscan1054_loop:
+    ($P10) = rx1050_cur."from"()
+    inc $P10
+    set rx1050_pos, $P10
+    ge rx1050_pos, rx1050_eos, rxscan1054_done
+  rxscan1054_scan:
+    set_addr $I10, rxscan1054_loop
+    rx1050_cur."!mark_push"(0, rx1050_pos, $I10)
+  rxscan1054_done:
+.annotate 'line', 491
   # rx subcapture "sym"
-    set_addr $I10, rxcap_1050_fail
-    rx1045_cur."!mark_push"(0, rx1045_pos, $I10)
+    set_addr $I10, rxcap_1055_fail
+    rx1050_cur."!mark_push"(0, rx1050_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)
+    add $I11, rx1050_pos, 1
+    gt $I11, rx1050_eos, rx1050_fail
+    sub $I11, rx1050_pos, rx1050_off
+    substr $S10, rx1050_tgt, $I11, 1
+    ne $S10, "|", rx1050_fail
+    add rx1050_pos, 1
+    set_addr $I10, rxcap_1055_fail
+    ($I12, $I11) = rx1050_cur."!mark_peek"($I10)
+    rx1050_cur."!cursor_pos"($I11)
+    ($P10) = rx1050_cur."!cursor_start"()
+    $P10."!cursor_pass"(rx1050_pos, "")
+    rx1050_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_1055_done
+  rxcap_1055_fail:
+    goto rx1050_fail
+  rxcap_1055_done:
   # rx subrule "O" subtype=capture negate=
-    rx1045_cur."!cursor_pos"(rx1045_pos)
-    $P10 = rx1045_cur."O"("%symbolic_unary")
-    unless $P10, rx1045_fail
-    rx1045_cur."!mark_push"(0, -1, 0, $P10)
+    rx1050_cur."!cursor_pos"(rx1050_pos)
+    $P10 = rx1050_cur."O"("%symbolic_unary")
+    unless $P10, rx1050_fail
+    rx1050_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("O")
-    rx1045_pos = $P10."pos"()
+    rx1050_pos = $P10."pos"()
   # rx pass
-    rx1045_cur."!cursor_pass"(rx1045_pos, "prefix:sym<|>")
-    rx1045_cur."!cursor_debug"("PASS  ", "prefix:sym<|>", " at pos=", rx1045_pos)
-    .return (rx1045_cur)
-  rx1045_fail:
-.annotate 'line', 431
-    (rx1045_rep, rx1045_pos, $I10, $P10) = rx1045_cur."!mark_fail"(0)
-    lt rx1045_pos, -1, rx1045_done
-    eq rx1045_pos, -1, rx1045_fail
-    jump $I10
-  rx1045_done:
-    rx1045_cur."!cursor_fail"()
-    rx1045_cur."!cursor_debug"("FAIL  ", "prefix:sym<|>")
-    .return (rx1045_cur)
+    rx1050_cur."!cursor_pass"(rx1050_pos, "prefix:sym<|>")
+    rx1050_cur."!cursor_debug"("PASS  ", "prefix:sym<|>", " at pos=", rx1050_pos)
+    .return (rx1050_cur)
+  rx1050_fail:
+.annotate 'line', 433
+    (rx1050_rep, rx1050_pos, $I10, $P10) = rx1050_cur."!mark_fail"(0)
+    lt rx1050_pos, -1, rx1050_done
+    eq rx1050_pos, -1, rx1050_fail
+    jump $I10
+  rx1050_done:
+    rx1050_cur."!cursor_fail"()
+    rx1050_cur."!cursor_debug"("FAIL  ", "prefix:sym<|>")
+    .return (rx1050_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__prefix:sym<|>"  :subid("262_1274800460.92525") :method
-.annotate 'line', 431
-    $P1047 = self."!PREFIX__!subrule"("O", "|")
-    new $P1048, "ResizablePMCArray"
-    push $P1048, $P1047
-    .return ($P1048)
+.sub "!PREFIX__prefix:sym<|>"  :subid("264_1274853038.58734") :method
+.annotate 'line', 433
+    $P1052 = self."!PREFIX__!subrule"("O", "|")
+    new $P1053, "ResizablePMCArray"
+    push $P1053, $P1052
+    .return ($P1053)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "infix:sym<*>"  :subid("263_1274800460.92525") :method :outer("11_1274800460.92525")
-.annotate 'line', 431
-    .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', 491
+.sub "infix:sym<*>"  :subid("265_1274853038.58734") :method :outer("11_1274853038.58734")
+.annotate 'line', 433
+    .local string rx1057_tgt
+    .local int rx1057_pos
+    .local int rx1057_off
+    .local int rx1057_eos
+    .local int rx1057_rep
+    .local pmc rx1057_cur
+    (rx1057_cur, rx1057_pos, rx1057_tgt) = self."!cursor_start"()
+    rx1057_cur."!cursor_debug"("START ", "infix:sym<*>")
+    .lex unicode:"$\x{a2}", rx1057_cur
+    .local pmc match
+    .lex "$/", match
+    length rx1057_eos, rx1057_tgt
+    set rx1057_off, 0
+    lt rx1057_pos, 2, rx1057_start
+    sub rx1057_off, rx1057_pos, 1
+    substr rx1057_tgt, rx1057_tgt, rx1057_off
+  rx1057_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan1061_done
+    goto rxscan1061_scan
+  rxscan1061_loop:
+    ($P10) = rx1057_cur."from"()
+    inc $P10
+    set rx1057_pos, $P10
+    ge rx1057_pos, rx1057_eos, rxscan1061_done
+  rxscan1061_scan:
+    set_addr $I10, rxscan1061_loop
+    rx1057_cur."!mark_push"(0, rx1057_pos, $I10)
+  rxscan1061_done:
+.annotate 'line', 493
   # rx subcapture "sym"
-    set_addr $I10, rxcap_1057_fail
-    rx1052_cur."!mark_push"(0, rx1052_pos, $I10)
+    set_addr $I10, rxcap_1062_fail
+    rx1057_cur."!mark_push"(0, rx1057_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)
+    add $I11, rx1057_pos, 1
+    gt $I11, rx1057_eos, rx1057_fail
+    sub $I11, rx1057_pos, rx1057_off
+    substr $S10, rx1057_tgt, $I11, 1
+    ne $S10, "*", rx1057_fail
+    add rx1057_pos, 1
+    set_addr $I10, rxcap_1062_fail
+    ($I12, $I11) = rx1057_cur."!mark_peek"($I10)
+    rx1057_cur."!cursor_pos"($I11)
+    ($P10) = rx1057_cur."!cursor_start"()
+    $P10."!cursor_pass"(rx1057_pos, "")
+    rx1057_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_1062_done
+  rxcap_1062_fail:
+    goto rx1057_fail
+  rxcap_1062_done:
   # rx subrule "O" subtype=capture negate=
-    rx1052_cur."!cursor_pos"(rx1052_pos)
-    $P10 = rx1052_cur."O"("%multiplicative, :pirop<mul>")
-    unless $P10, rx1052_fail
-    rx1052_cur."!mark_push"(0, -1, 0, $P10)
+    rx1057_cur."!cursor_pos"(rx1057_pos)
+    $P10 = rx1057_cur."O"("%multiplicative, :pirop<mul>")
+    unless $P10, rx1057_fail
+    rx1057_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("O")
-    rx1052_pos = $P10."pos"()
+    rx1057_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', 431
-    (rx1052_rep, rx1052_pos, $I10, $P10) = rx1052_cur."!mark_fail"(0)
-    lt rx1052_pos, -1, rx1052_done
-    eq rx1052_pos, -1, rx1052_fail
+    rx1057_cur."!cursor_pass"(rx1057_pos, "infix:sym<*>")
+    rx1057_cur."!cursor_debug"("PASS  ", "infix:sym<*>", " at pos=", rx1057_pos)
+    .return (rx1057_cur)
+  rx1057_fail:
+.annotate 'line', 433
+    (rx1057_rep, rx1057_pos, $I10, $P10) = rx1057_cur."!mark_fail"(0)
+    lt rx1057_pos, -1, rx1057_done
+    eq rx1057_pos, -1, rx1057_fail
     jump $I10
-  rx1052_done:
-    rx1052_cur."!cursor_fail"()
-    rx1052_cur."!cursor_debug"("FAIL  ", "infix:sym<*>")
-    .return (rx1052_cur)
+  rx1057_done:
+    rx1057_cur."!cursor_fail"()
+    rx1057_cur."!cursor_debug"("FAIL  ", "infix:sym<*>")
+    .return (rx1057_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__infix:sym<*>"  :subid("264_1274800460.92525") :method
-.annotate 'line', 431
-    $P1054 = self."!PREFIX__!subrule"("O", "*")
-    new $P1055, "ResizablePMCArray"
-    push $P1055, $P1054
-    .return ($P1055)
+.sub "!PREFIX__infix:sym<*>"  :subid("266_1274853038.58734") :method
+.annotate 'line', 433
+    $P1059 = self."!PREFIX__!subrule"("O", "*")
+    new $P1060, "ResizablePMCArray"
+    push $P1060, $P1059
+    .return ($P1060)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "infix:sym</>"  :subid("265_1274800460.92525") :method :outer("11_1274800460.92525")
-.annotate 'line', 431
-    .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</>")
-    .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', 492
+.sub "infix:sym</>"  :subid("267_1274853038.58734") :method :outer("11_1274853038.58734")
+.annotate 'line', 433
+    .local string rx1064_tgt
+    .local int rx1064_pos
+    .local int rx1064_off
+    .local int rx1064_eos
+    .local int rx1064_rep
+    .local pmc rx1064_cur
+    (rx1064_cur, rx1064_pos, rx1064_tgt) = self."!cursor_start"()
+    rx1064_cur."!cursor_debug"("START ", "infix:sym</>")
+    .lex unicode:"$\x{a2}", rx1064_cur
+    .local pmc match
+    .lex "$/", match
+    length rx1064_eos, rx1064_tgt
+    set rx1064_off, 0
+    lt rx1064_pos, 2, rx1064_start
+    sub rx1064_off, rx1064_pos, 1
+    substr rx1064_tgt, rx1064_tgt, rx1064_off
+  rx1064_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan1068_done
+    goto rxscan1068_scan
+  rxscan1068_loop:
+    ($P10) = rx1064_cur."from"()
+    inc $P10
+    set rx1064_pos, $P10
+    ge rx1064_pos, rx1064_eos, rxscan1068_done
+  rxscan1068_scan:
+    set_addr $I10, rxscan1068_loop
+    rx1064_cur."!mark_push"(0, rx1064_pos, $I10)
+  rxscan1068_done:
+.annotate 'line', 494
   # rx subcapture "sym"
-    set_addr $I10, rxcap_1064_fail
-    rx1059_cur."!mark_push"(0, rx1059_pos, $I10)
+    set_addr $I10, rxcap_1069_fail
+    rx1064_cur."!mark_push"(0, rx1064_pos, $I10)
   # rx literal  "/"
-    add $I11, rx1059_pos, 1
-    gt $I11, rx1059_eos, rx1059_fail
-    sub $I11, rx1059_pos, rx1059_off
-    substr $S10, rx1059_tgt, $I11, 1
-    ne $S10, "/", rx1059_fail
-    add rx1059_pos, 1
-    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)
+    add $I11, rx1064_pos, 1
+    gt $I11, rx1064_eos, rx1064_fail
+    sub $I11, rx1064_pos, rx1064_off
+    substr $S10, rx1064_tgt, $I11, 1
+    ne $S10, "/", rx1064_fail
+    add rx1064_pos, 1
+    set_addr $I10, rxcap_1069_fail
+    ($I12, $I11) = rx1064_cur."!mark_peek"($I10)
+    rx1064_cur."!cursor_pos"($I11)
+    ($P10) = rx1064_cur."!cursor_start"()
+    $P10."!cursor_pass"(rx1064_pos, "")
+    rx1064_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_1069_done
+  rxcap_1069_fail:
+    goto rx1064_fail
+  rxcap_1069_done:
   # rx subrule "O" subtype=capture negate=
-    rx1059_cur."!cursor_pos"(rx1059_pos)
-    $P10 = rx1059_cur."O"("%multiplicative, :pirop<div>")
-    unless $P10, rx1059_fail
-    rx1059_cur."!mark_push"(0, -1, 0, $P10)
+    rx1064_cur."!cursor_pos"(rx1064_pos)
+    $P10 = rx1064_cur."O"("%multiplicative, :pirop<div>")
+    unless $P10, rx1064_fail
+    rx1064_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("O")
-    rx1059_pos = $P10."pos"()
+    rx1064_pos = $P10."pos"()
   # rx pass
-    rx1059_cur."!cursor_pass"(rx1059_pos, "infix:sym</>")
-    rx1059_cur."!cursor_debug"("PASS  ", "infix:sym</>", " at pos=", rx1059_pos)
-    .return (rx1059_cur)
-  rx1059_fail:
-.annotate 'line', 431
-    (rx1059_rep, rx1059_pos, $I10, $P10) = rx1059_cur."!mark_fail"(0)
-    lt rx1059_pos, -1, rx1059_done
-    eq rx1059_pos, -1, rx1059_fail
-    jump $I10
-  rx1059_done:
-    rx1059_cur."!cursor_fail"()
-    rx1059_cur."!cursor_debug"("FAIL  ", "infix:sym</>")
-    .return (rx1059_cur)
+    rx1064_cur."!cursor_pass"(rx1064_pos, "infix:sym</>")
+    rx1064_cur."!cursor_debug"("PASS  ", "infix:sym</>", " at pos=", rx1064_pos)
+    .return (rx1064_cur)
+  rx1064_fail:
+.annotate 'line', 433
+    (rx1064_rep, rx1064_pos, $I10, $P10) = rx1064_cur."!mark_fail"(0)
+    lt rx1064_pos, -1, rx1064_done
+    eq rx1064_pos, -1, rx1064_fail
+    jump $I10
+  rx1064_done:
+    rx1064_cur."!cursor_fail"()
+    rx1064_cur."!cursor_debug"("FAIL  ", "infix:sym</>")
+    .return (rx1064_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__infix:sym</>"  :subid("266_1274800460.92525") :method
-.annotate 'line', 431
-    $P1061 = self."!PREFIX__!subrule"("O", "/")
-    new $P1062, "ResizablePMCArray"
-    push $P1062, $P1061
-    .return ($P1062)
+.sub "!PREFIX__infix:sym</>"  :subid("268_1274853038.58734") :method
+.annotate 'line', 433
+    $P1066 = self."!PREFIX__!subrule"("O", "/")
+    new $P1067, "ResizablePMCArray"
+    push $P1067, $P1066
+    .return ($P1067)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "infix:sym<%>"  :subid("267_1274800460.92525") :method :outer("11_1274800460.92525")
-.annotate 'line', 431
-    .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<%>")
-    .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', 493
+.sub "infix:sym<%>"  :subid("269_1274853038.58734") :method :outer("11_1274853038.58734")
+.annotate 'line', 433
+    .local string rx1071_tgt
+    .local int rx1071_pos
+    .local int rx1071_off
+    .local int rx1071_eos
+    .local int rx1071_rep
+    .local pmc rx1071_cur
+    (rx1071_cur, rx1071_pos, rx1071_tgt) = self."!cursor_start"()
+    rx1071_cur."!cursor_debug"("START ", "infix:sym<%>")
+    .lex unicode:"$\x{a2}", rx1071_cur
+    .local pmc match
+    .lex "$/", match
+    length rx1071_eos, rx1071_tgt
+    set rx1071_off, 0
+    lt rx1071_pos, 2, rx1071_start
+    sub rx1071_off, rx1071_pos, 1
+    substr rx1071_tgt, rx1071_tgt, rx1071_off
+  rx1071_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan1075_done
+    goto rxscan1075_scan
+  rxscan1075_loop:
+    ($P10) = rx1071_cur."from"()
+    inc $P10
+    set rx1071_pos, $P10
+    ge rx1071_pos, rx1071_eos, rxscan1075_done
+  rxscan1075_scan:
+    set_addr $I10, rxscan1075_loop
+    rx1071_cur."!mark_push"(0, rx1071_pos, $I10)
+  rxscan1075_done:
+.annotate 'line', 495
   # rx subcapture "sym"
-    set_addr $I10, rxcap_1071_fail
-    rx1066_cur."!mark_push"(0, rx1066_pos, $I10)
+    set_addr $I10, rxcap_1076_fail
+    rx1071_cur."!mark_push"(0, rx1071_pos, $I10)
   # rx literal  "%"
-    add $I11, rx1066_pos, 1
-    gt $I11, rx1066_eos, rx1066_fail
-    sub $I11, rx1066_pos, rx1066_off
-    substr $S10, rx1066_tgt, $I11, 1
-    ne $S10, "%", rx1066_fail
-    add rx1066_pos, 1
-    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)
+    add $I11, rx1071_pos, 1
+    gt $I11, rx1071_eos, rx1071_fail
+    sub $I11, rx1071_pos, rx1071_off
+    substr $S10, rx1071_tgt, $I11, 1
+    ne $S10, "%", rx1071_fail
+    add rx1071_pos, 1
+    set_addr $I10, rxcap_1076_fail
+    ($I12, $I11) = rx1071_cur."!mark_peek"($I10)
+    rx1071_cur."!cursor_pos"($I11)
+    ($P10) = rx1071_cur."!cursor_start"()
+    $P10."!cursor_pass"(rx1071_pos, "")
+    rx1071_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_1076_done
+  rxcap_1076_fail:
+    goto rx1071_fail
+  rxcap_1076_done:
   # rx subrule "O" subtype=capture negate=
-    rx1066_cur."!cursor_pos"(rx1066_pos)
-    $P10 = rx1066_cur."O"("%multiplicative, :pirop<mod>")
-    unless $P10, rx1066_fail
-    rx1066_cur."!mark_push"(0, -1, 0, $P10)
+    rx1071_cur."!cursor_pos"(rx1071_pos)
+    $P10 = rx1071_cur."O"("%multiplicative, :pirop<mod>")
+    unless $P10, rx1071_fail
+    rx1071_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("O")
-    rx1066_pos = $P10."pos"()
+    rx1071_pos = $P10."pos"()
   # rx pass
-    rx1066_cur."!cursor_pass"(rx1066_pos, "infix:sym<%>")
-    rx1066_cur."!cursor_debug"("PASS  ", "infix:sym<%>", " at pos=", rx1066_pos)
-    .return (rx1066_cur)
-  rx1066_fail:
-.annotate 'line', 431
-    (rx1066_rep, rx1066_pos, $I10, $P10) = rx1066_cur."!mark_fail"(0)
-    lt rx1066_pos, -1, rx1066_done
-    eq rx1066_pos, -1, rx1066_fail
-    jump $I10
-  rx1066_done:
-    rx1066_cur."!cursor_fail"()
-    rx1066_cur."!cursor_debug"("FAIL  ", "infix:sym<%>")
-    .return (rx1066_cur)
+    rx1071_cur."!cursor_pass"(rx1071_pos, "infix:sym<%>")
+    rx1071_cur."!cursor_debug"("PASS  ", "infix:sym<%>", " at pos=", rx1071_pos)
+    .return (rx1071_cur)
+  rx1071_fail:
+.annotate 'line', 433
+    (rx1071_rep, rx1071_pos, $I10, $P10) = rx1071_cur."!mark_fail"(0)
+    lt rx1071_pos, -1, rx1071_done
+    eq rx1071_pos, -1, rx1071_fail
+    jump $I10
+  rx1071_done:
+    rx1071_cur."!cursor_fail"()
+    rx1071_cur."!cursor_debug"("FAIL  ", "infix:sym<%>")
+    .return (rx1071_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__infix:sym<%>"  :subid("268_1274800460.92525") :method
-.annotate 'line', 431
-    $P1068 = self."!PREFIX__!subrule"("O", "%")
-    new $P1069, "ResizablePMCArray"
-    push $P1069, $P1068
-    .return ($P1069)
+.sub "!PREFIX__infix:sym<%>"  :subid("270_1274853038.58734") :method
+.annotate 'line', 433
+    $P1073 = self."!PREFIX__!subrule"("O", "%")
+    new $P1074, "ResizablePMCArray"
+    push $P1074, $P1073
+    .return ($P1074)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "infix:sym<+>"  :subid("269_1274800460.92525") :method :outer("11_1274800460.92525")
-.annotate 'line', 431
-    .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<+>")
-    .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', 495
+.sub "infix:sym<+>"  :subid("271_1274853038.58734") :method :outer("11_1274853038.58734")
+.annotate 'line', 433
+    .local string rx1078_tgt
+    .local int rx1078_pos
+    .local int rx1078_off
+    .local int rx1078_eos
+    .local int rx1078_rep
+    .local pmc rx1078_cur
+    (rx1078_cur, rx1078_pos, rx1078_tgt) = self."!cursor_start"()
+    rx1078_cur."!cursor_debug"("START ", "infix:sym<+>")
+    .lex unicode:"$\x{a2}", rx1078_cur
+    .local pmc match
+    .lex "$/", match
+    length rx1078_eos, rx1078_tgt
+    set rx1078_off, 0
+    lt rx1078_pos, 2, rx1078_start
+    sub rx1078_off, rx1078_pos, 1
+    substr rx1078_tgt, rx1078_tgt, rx1078_off
+  rx1078_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan1082_done
+    goto rxscan1082_scan
+  rxscan1082_loop:
+    ($P10) = rx1078_cur."from"()
+    inc $P10
+    set rx1078_pos, $P10
+    ge rx1078_pos, rx1078_eos, rxscan1082_done
+  rxscan1082_scan:
+    set_addr $I10, rxscan1082_loop
+    rx1078_cur."!mark_push"(0, rx1078_pos, $I10)
+  rxscan1082_done:
+.annotate 'line', 497
   # rx subcapture "sym"
-    set_addr $I10, rxcap_1078_fail
-    rx1073_cur."!mark_push"(0, rx1073_pos, $I10)
+    set_addr $I10, rxcap_1083_fail
+    rx1078_cur."!mark_push"(0, rx1078_pos, $I10)
   # rx literal  "+"
-    add $I11, rx1073_pos, 1
-    gt $I11, rx1073_eos, rx1073_fail
-    sub $I11, rx1073_pos, rx1073_off
-    substr $S10, rx1073_tgt, $I11, 1
-    ne $S10, "+", rx1073_fail
-    add rx1073_pos, 1
-    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)
+    add $I11, rx1078_pos, 1
+    gt $I11, rx1078_eos, rx1078_fail
+    sub $I11, rx1078_pos, rx1078_off
+    substr $S10, rx1078_tgt, $I11, 1
+    ne $S10, "+", rx1078_fail
+    add rx1078_pos, 1
+    set_addr $I10, rxcap_1083_fail
+    ($I12, $I11) = rx1078_cur."!mark_peek"($I10)
+    rx1078_cur."!cursor_pos"($I11)
+    ($P10) = rx1078_cur."!cursor_start"()
+    $P10."!cursor_pass"(rx1078_pos, "")
+    rx1078_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_1083_done
+  rxcap_1083_fail:
+    goto rx1078_fail
+  rxcap_1083_done:
   # rx subrule "O" subtype=capture negate=
-    rx1073_cur."!cursor_pos"(rx1073_pos)
-    $P10 = rx1073_cur."O"("%additive, :pirop<add>")
-    unless $P10, rx1073_fail
-    rx1073_cur."!mark_push"(0, -1, 0, $P10)
+    rx1078_cur."!cursor_pos"(rx1078_pos)
+    $P10 = rx1078_cur."O"("%additive, :pirop<add>")
+    unless $P10, rx1078_fail
+    rx1078_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("O")
-    rx1073_pos = $P10."pos"()
+    rx1078_pos = $P10."pos"()
   # rx pass
-    rx1073_cur."!cursor_pass"(rx1073_pos, "infix:sym<+>")
-    rx1073_cur."!cursor_debug"("PASS  ", "infix:sym<+>", " at pos=", rx1073_pos)
-    .return (rx1073_cur)
-  rx1073_fail:
-.annotate 'line', 431
-    (rx1073_rep, rx1073_pos, $I10, $P10) = rx1073_cur."!mark_fail"(0)
-    lt rx1073_pos, -1, rx1073_done
-    eq rx1073_pos, -1, rx1073_fail
-    jump $I10
-  rx1073_done:
-    rx1073_cur."!cursor_fail"()
-    rx1073_cur."!cursor_debug"("FAIL  ", "infix:sym<+>")
-    .return (rx1073_cur)
+    rx1078_cur."!cursor_pass"(rx1078_pos, "infix:sym<+>")
+    rx1078_cur."!cursor_debug"("PASS  ", "infix:sym<+>", " at pos=", rx1078_pos)
+    .return (rx1078_cur)
+  rx1078_fail:
+.annotate 'line', 433
+    (rx1078_rep, rx1078_pos, $I10, $P10) = rx1078_cur."!mark_fail"(0)
+    lt rx1078_pos, -1, rx1078_done
+    eq rx1078_pos, -1, rx1078_fail
+    jump $I10
+  rx1078_done:
+    rx1078_cur."!cursor_fail"()
+    rx1078_cur."!cursor_debug"("FAIL  ", "infix:sym<+>")
+    .return (rx1078_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__infix:sym<+>"  :subid("270_1274800460.92525") :method
-.annotate 'line', 431
-    $P1075 = self."!PREFIX__!subrule"("O", "+")
-    new $P1076, "ResizablePMCArray"
-    push $P1076, $P1075
-    .return ($P1076)
+.sub "!PREFIX__infix:sym<+>"  :subid("272_1274853038.58734") :method
+.annotate 'line', 433
+    $P1080 = self."!PREFIX__!subrule"("O", "+")
+    new $P1081, "ResizablePMCArray"
+    push $P1081, $P1080
+    .return ($P1081)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "infix:sym<->"  :subid("271_1274800460.92525") :method :outer("11_1274800460.92525")
-.annotate 'line', 431
-    .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<->")
-    .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', 496
+.sub "infix:sym<->"  :subid("273_1274853038.58734") :method :outer("11_1274853038.58734")
+.annotate 'line', 433
+    .local string rx1085_tgt
+    .local int rx1085_pos
+    .local int rx1085_off
+    .local int rx1085_eos
+    .local int rx1085_rep
+    .local pmc rx1085_cur
+    (rx1085_cur, rx1085_pos, rx1085_tgt) = self."!cursor_start"()
+    rx1085_cur."!cursor_debug"("START ", "infix:sym<->")
+    .lex unicode:"$\x{a2}", rx1085_cur
+    .local pmc match
+    .lex "$/", match
+    length rx1085_eos, rx1085_tgt
+    set rx1085_off, 0
+    lt rx1085_pos, 2, rx1085_start
+    sub rx1085_off, rx1085_pos, 1
+    substr rx1085_tgt, rx1085_tgt, rx1085_off
+  rx1085_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan1089_done
+    goto rxscan1089_scan
+  rxscan1089_loop:
+    ($P10) = rx1085_cur."from"()
+    inc $P10
+    set rx1085_pos, $P10
+    ge rx1085_pos, rx1085_eos, rxscan1089_done
+  rxscan1089_scan:
+    set_addr $I10, rxscan1089_loop
+    rx1085_cur."!mark_push"(0, rx1085_pos, $I10)
+  rxscan1089_done:
+.annotate 'line', 498
   # rx subcapture "sym"
-    set_addr $I10, rxcap_1085_fail
-    rx1080_cur."!mark_push"(0, rx1080_pos, $I10)
+    set_addr $I10, rxcap_1090_fail
+    rx1085_cur."!mark_push"(0, rx1085_pos, $I10)
   # rx literal  "-"
-    add $I11, rx1080_pos, 1
-    gt $I11, rx1080_eos, rx1080_fail
-    sub $I11, rx1080_pos, rx1080_off
-    substr $S10, rx1080_tgt, $I11, 1
-    ne $S10, "-", rx1080_fail
-    add rx1080_pos, 1
-    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)
+    add $I11, rx1085_pos, 1
+    gt $I11, rx1085_eos, rx1085_fail
+    sub $I11, rx1085_pos, rx1085_off
+    substr $S10, rx1085_tgt, $I11, 1
+    ne $S10, "-", rx1085_fail
+    add rx1085_pos, 1
+    set_addr $I10, rxcap_1090_fail
+    ($I12, $I11) = rx1085_cur."!mark_peek"($I10)
+    rx1085_cur."!cursor_pos"($I11)
+    ($P10) = rx1085_cur."!cursor_start"()
+    $P10."!cursor_pass"(rx1085_pos, "")
+    rx1085_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_1090_done
+  rxcap_1090_fail:
+    goto rx1085_fail
+  rxcap_1090_done:
   # rx subrule "O" subtype=capture negate=
-    rx1080_cur."!cursor_pos"(rx1080_pos)
-    $P10 = rx1080_cur."O"("%additive, :pirop<sub>")
-    unless $P10, rx1080_fail
-    rx1080_cur."!mark_push"(0, -1, 0, $P10)
+    rx1085_cur."!cursor_pos"(rx1085_pos)
+    $P10 = rx1085_cur."O"("%additive, :pirop<sub>")
+    unless $P10, rx1085_fail
+    rx1085_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("O")
-    rx1080_pos = $P10."pos"()
+    rx1085_pos = $P10."pos"()
   # rx pass
-    rx1080_cur."!cursor_pass"(rx1080_pos, "infix:sym<->")
-    rx1080_cur."!cursor_debug"("PASS  ", "infix:sym<->", " at pos=", rx1080_pos)
-    .return (rx1080_cur)
-  rx1080_fail:
-.annotate 'line', 431
-    (rx1080_rep, rx1080_pos, $I10, $P10) = rx1080_cur."!mark_fail"(0)
-    lt rx1080_pos, -1, rx1080_done
-    eq rx1080_pos, -1, rx1080_fail
-    jump $I10
-  rx1080_done:
-    rx1080_cur."!cursor_fail"()
-    rx1080_cur."!cursor_debug"("FAIL  ", "infix:sym<->")
-    .return (rx1080_cur)
+    rx1085_cur."!cursor_pass"(rx1085_pos, "infix:sym<->")
+    rx1085_cur."!cursor_debug"("PASS  ", "infix:sym<->", " at pos=", rx1085_pos)
+    .return (rx1085_cur)
+  rx1085_fail:
+.annotate 'line', 433
+    (rx1085_rep, rx1085_pos, $I10, $P10) = rx1085_cur."!mark_fail"(0)
+    lt rx1085_pos, -1, rx1085_done
+    eq rx1085_pos, -1, rx1085_fail
+    jump $I10
+  rx1085_done:
+    rx1085_cur."!cursor_fail"()
+    rx1085_cur."!cursor_debug"("FAIL  ", "infix:sym<->")
+    .return (rx1085_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__infix:sym<->"  :subid("272_1274800460.92525") :method
-.annotate 'line', 431
-    $P1082 = self."!PREFIX__!subrule"("O", "-")
-    new $P1083, "ResizablePMCArray"
-    push $P1083, $P1082
-    .return ($P1083)
+.sub "!PREFIX__infix:sym<->"  :subid("274_1274853038.58734") :method
+.annotate 'line', 433
+    $P1087 = self."!PREFIX__!subrule"("O", "-")
+    new $P1088, "ResizablePMCArray"
+    push $P1088, $P1087
+    .return ($P1088)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "infix:sym<~>"  :subid("273_1274800460.92525") :method :outer("11_1274800460.92525")
-.annotate 'line', 431
-    .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<~>")
-    .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', 498
+.sub "infix:sym<~>"  :subid("275_1274853038.58734") :method :outer("11_1274853038.58734")
+.annotate 'line', 433
+    .local string rx1092_tgt
+    .local int rx1092_pos
+    .local int rx1092_off
+    .local int rx1092_eos
+    .local int rx1092_rep
+    .local pmc rx1092_cur
+    (rx1092_cur, rx1092_pos, rx1092_tgt) = self."!cursor_start"()
+    rx1092_cur."!cursor_debug"("START ", "infix:sym<~>")
+    .lex unicode:"$\x{a2}", rx1092_cur
+    .local pmc match
+    .lex "$/", match
+    length rx1092_eos, rx1092_tgt
+    set rx1092_off, 0
+    lt rx1092_pos, 2, rx1092_start
+    sub rx1092_off, rx1092_pos, 1
+    substr rx1092_tgt, rx1092_tgt, rx1092_off
+  rx1092_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan1096_done
+    goto rxscan1096_scan
+  rxscan1096_loop:
+    ($P10) = rx1092_cur."from"()
+    inc $P10
+    set rx1092_pos, $P10
+    ge rx1092_pos, rx1092_eos, rxscan1096_done
+  rxscan1096_scan:
+    set_addr $I10, rxscan1096_loop
+    rx1092_cur."!mark_push"(0, rx1092_pos, $I10)
+  rxscan1096_done:
+.annotate 'line', 500
   # rx subcapture "sym"
-    set_addr $I10, rxcap_1092_fail
-    rx1087_cur."!mark_push"(0, rx1087_pos, $I10)
+    set_addr $I10, rxcap_1097_fail
+    rx1092_cur."!mark_push"(0, rx1092_pos, $I10)
   # rx literal  "~"
-    add $I11, rx1087_pos, 1
-    gt $I11, rx1087_eos, rx1087_fail
-    sub $I11, rx1087_pos, rx1087_off
-    substr $S10, rx1087_tgt, $I11, 1
-    ne $S10, "~", rx1087_fail
-    add rx1087_pos, 1
-    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)
+    add $I11, rx1092_pos, 1
+    gt $I11, rx1092_eos, rx1092_fail
+    sub $I11, rx1092_pos, rx1092_off
+    substr $S10, rx1092_tgt, $I11, 1
+    ne $S10, "~", rx1092_fail
+    add rx1092_pos, 1
+    set_addr $I10, rxcap_1097_fail
+    ($I12, $I11) = rx1092_cur."!mark_peek"($I10)
+    rx1092_cur."!cursor_pos"($I11)
+    ($P10) = rx1092_cur."!cursor_start"()
+    $P10."!cursor_pass"(rx1092_pos, "")
+    rx1092_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_1097_done
+  rxcap_1097_fail:
+    goto rx1092_fail
+  rxcap_1097_done:
   # rx subrule "O" subtype=capture negate=
-    rx1087_cur."!cursor_pos"(rx1087_pos)
-    $P10 = rx1087_cur."O"("%concatenation , :pirop<concat>")
-    unless $P10, rx1087_fail
-    rx1087_cur."!mark_push"(0, -1, 0, $P10)
+    rx1092_cur."!cursor_pos"(rx1092_pos)
+    $P10 = rx1092_cur."O"("%concatenation , :pirop<concat>")
+    unless $P10, rx1092_fail
+    rx1092_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("O")
-    rx1087_pos = $P10."pos"()
+    rx1092_pos = $P10."pos"()
   # rx pass
-    rx1087_cur."!cursor_pass"(rx1087_pos, "infix:sym<~>")
-    rx1087_cur."!cursor_debug"("PASS  ", "infix:sym<~>", " at pos=", rx1087_pos)
-    .return (rx1087_cur)
-  rx1087_fail:
-.annotate 'line', 431
-    (rx1087_rep, rx1087_pos, $I10, $P10) = rx1087_cur."!mark_fail"(0)
-    lt rx1087_pos, -1, rx1087_done
-    eq rx1087_pos, -1, rx1087_fail
-    jump $I10
-  rx1087_done:
-    rx1087_cur."!cursor_fail"()
-    rx1087_cur."!cursor_debug"("FAIL  ", "infix:sym<~>")
-    .return (rx1087_cur)
+    rx1092_cur."!cursor_pass"(rx1092_pos, "infix:sym<~>")
+    rx1092_cur."!cursor_debug"("PASS  ", "infix:sym<~>", " at pos=", rx1092_pos)
+    .return (rx1092_cur)
+  rx1092_fail:
+.annotate 'line', 433
+    (rx1092_rep, rx1092_pos, $I10, $P10) = rx1092_cur."!mark_fail"(0)
+    lt rx1092_pos, -1, rx1092_done
+    eq rx1092_pos, -1, rx1092_fail
+    jump $I10
+  rx1092_done:
+    rx1092_cur."!cursor_fail"()
+    rx1092_cur."!cursor_debug"("FAIL  ", "infix:sym<~>")
+    .return (rx1092_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__infix:sym<~>"  :subid("274_1274800460.92525") :method
-.annotate 'line', 431
-    $P1089 = self."!PREFIX__!subrule"("O", "~")
-    new $P1090, "ResizablePMCArray"
-    push $P1090, $P1089
-    .return ($P1090)
+.sub "!PREFIX__infix:sym<~>"  :subid("276_1274853038.58734") :method
+.annotate 'line', 433
+    $P1094 = self."!PREFIX__!subrule"("O", "~")
+    new $P1095, "ResizablePMCArray"
+    push $P1095, $P1094
+    .return ($P1095)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "infix:sym<==>"  :subid("275_1274800460.92525") :method :outer("11_1274800460.92525")
-.annotate 'line', 431
-    .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<==>")
-    .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', 500
+.sub "infix:sym<==>"  :subid("277_1274853038.58734") :method :outer("11_1274853038.58734")
+.annotate 'line', 433
+    .local string rx1099_tgt
+    .local int rx1099_pos
+    .local int rx1099_off
+    .local int rx1099_eos
+    .local int rx1099_rep
+    .local pmc rx1099_cur
+    (rx1099_cur, rx1099_pos, rx1099_tgt) = self."!cursor_start"()
+    rx1099_cur."!cursor_debug"("START ", "infix:sym<==>")
+    .lex unicode:"$\x{a2}", rx1099_cur
+    .local pmc match
+    .lex "$/", match
+    length rx1099_eos, rx1099_tgt
+    set rx1099_off, 0
+    lt rx1099_pos, 2, rx1099_start
+    sub rx1099_off, rx1099_pos, 1
+    substr rx1099_tgt, rx1099_tgt, rx1099_off
+  rx1099_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan1103_done
+    goto rxscan1103_scan
+  rxscan1103_loop:
+    ($P10) = rx1099_cur."from"()
+    inc $P10
+    set rx1099_pos, $P10
+    ge rx1099_pos, rx1099_eos, rxscan1103_done
+  rxscan1103_scan:
+    set_addr $I10, rxscan1103_loop
+    rx1099_cur."!mark_push"(0, rx1099_pos, $I10)
+  rxscan1103_done:
+.annotate 'line', 502
   # rx subcapture "sym"
-    set_addr $I10, rxcap_1099_fail
-    rx1094_cur."!mark_push"(0, rx1094_pos, $I10)
+    set_addr $I10, rxcap_1104_fail
+    rx1099_cur."!mark_push"(0, rx1099_pos, $I10)
   # rx literal  "=="
-    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, "==", 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)
+    add $I11, rx1099_pos, 2
+    gt $I11, rx1099_eos, rx1099_fail
+    sub $I11, rx1099_pos, rx1099_off
+    substr $S10, rx1099_tgt, $I11, 2
+    ne $S10, "==", rx1099_fail
+    add rx1099_pos, 2
+    set_addr $I10, rxcap_1104_fail
+    ($I12, $I11) = rx1099_cur."!mark_peek"($I10)
+    rx1099_cur."!cursor_pos"($I11)
+    ($P10) = rx1099_cur."!cursor_start"()
+    $P10."!cursor_pass"(rx1099_pos, "")
+    rx1099_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_1104_done
+  rxcap_1104_fail:
+    goto rx1099_fail
+  rxcap_1104_done:
   # rx subrule "O" subtype=capture negate=
-    rx1094_cur."!cursor_pos"(rx1094_pos)
-    $P10 = rx1094_cur."O"("%relational, :pirop<iseq INn>")
-    unless $P10, rx1094_fail
-    rx1094_cur."!mark_push"(0, -1, 0, $P10)
+    rx1099_cur."!cursor_pos"(rx1099_pos)
+    $P10 = rx1099_cur."O"("%relational, :pirop<iseq INn>")
+    unless $P10, rx1099_fail
+    rx1099_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("O")
-    rx1094_pos = $P10."pos"()
+    rx1099_pos = $P10."pos"()
   # rx pass
-    rx1094_cur."!cursor_pass"(rx1094_pos, "infix:sym<==>")
-    rx1094_cur."!cursor_debug"("PASS  ", "infix:sym<==>", " at pos=", rx1094_pos)
-    .return (rx1094_cur)
-  rx1094_fail:
-.annotate 'line', 431
-    (rx1094_rep, rx1094_pos, $I10, $P10) = rx1094_cur."!mark_fail"(0)
-    lt rx1094_pos, -1, rx1094_done
-    eq rx1094_pos, -1, rx1094_fail
-    jump $I10
-  rx1094_done:
-    rx1094_cur."!cursor_fail"()
-    rx1094_cur."!cursor_debug"("FAIL  ", "infix:sym<==>")
-    .return (rx1094_cur)
+    rx1099_cur."!cursor_pass"(rx1099_pos, "infix:sym<==>")
+    rx1099_cur."!cursor_debug"("PASS  ", "infix:sym<==>", " at pos=", rx1099_pos)
+    .return (rx1099_cur)
+  rx1099_fail:
+.annotate 'line', 433
+    (rx1099_rep, rx1099_pos, $I10, $P10) = rx1099_cur."!mark_fail"(0)
+    lt rx1099_pos, -1, rx1099_done
+    eq rx1099_pos, -1, rx1099_fail
+    jump $I10
+  rx1099_done:
+    rx1099_cur."!cursor_fail"()
+    rx1099_cur."!cursor_debug"("FAIL  ", "infix:sym<==>")
+    .return (rx1099_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__infix:sym<==>"  :subid("276_1274800460.92525") :method
-.annotate 'line', 431
-    $P1096 = self."!PREFIX__!subrule"("O", "==")
-    new $P1097, "ResizablePMCArray"
-    push $P1097, $P1096
-    .return ($P1097)
+.sub "!PREFIX__infix:sym<==>"  :subid("278_1274853038.58734") :method
+.annotate 'line', 433
+    $P1101 = self."!PREFIX__!subrule"("O", "==")
+    new $P1102, "ResizablePMCArray"
+    push $P1102, $P1101
+    .return ($P1102)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "infix:sym<!=>"  :subid("277_1274800460.92525") :method :outer("11_1274800460.92525")
-.annotate 'line', 431
-    .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', 501
+.sub "infix:sym<!=>"  :subid("279_1274853038.58734") :method :outer("11_1274853038.58734")
+.annotate 'line', 433
+    .local string rx1106_tgt
+    .local int rx1106_pos
+    .local int rx1106_off
+    .local int rx1106_eos
+    .local int rx1106_rep
+    .local pmc rx1106_cur
+    (rx1106_cur, rx1106_pos, rx1106_tgt) = self."!cursor_start"()
+    rx1106_cur."!cursor_debug"("START ", "infix:sym<!=>")
+    .lex unicode:"$\x{a2}", rx1106_cur
+    .local pmc match
+    .lex "$/", match
+    length rx1106_eos, rx1106_tgt
+    set rx1106_off, 0
+    lt rx1106_pos, 2, rx1106_start
+    sub rx1106_off, rx1106_pos, 1
+    substr rx1106_tgt, rx1106_tgt, rx1106_off
+  rx1106_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan1110_done
+    goto rxscan1110_scan
+  rxscan1110_loop:
+    ($P10) = rx1106_cur."from"()
+    inc $P10
+    set rx1106_pos, $P10
+    ge rx1106_pos, rx1106_eos, rxscan1110_done
+  rxscan1110_scan:
+    set_addr $I10, rxscan1110_loop
+    rx1106_cur."!mark_push"(0, rx1106_pos, $I10)
+  rxscan1110_done:
+.annotate 'line', 503
   # rx subcapture "sym"
-    set_addr $I10, rxcap_1106_fail
-    rx1101_cur."!mark_push"(0, rx1101_pos, $I10)
+    set_addr $I10, rxcap_1111_fail
+    rx1106_cur."!mark_push"(0, rx1106_pos, $I10)
   # rx literal  "!="
-    add $I11, rx1101_pos, 2
-    gt $I11, rx1101_eos, rx1101_fail
-    sub $I11, rx1101_pos, rx1101_off
-    substr $S10, rx1101_tgt, $I11, 2
-    ne $S10, "!=", rx1101_fail
-    add rx1101_pos, 2
-    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)
+    add $I11, rx1106_pos, 2
+    gt $I11, rx1106_eos, rx1106_fail
+    sub $I11, rx1106_pos, rx1106_off
+    substr $S10, rx1106_tgt, $I11, 2
+    ne $S10, "!=", rx1106_fail
+    add rx1106_pos, 2
+    set_addr $I10, rxcap_1111_fail
+    ($I12, $I11) = rx1106_cur."!mark_peek"($I10)
+    rx1106_cur."!cursor_pos"($I11)
+    ($P10) = rx1106_cur."!cursor_start"()
+    $P10."!cursor_pass"(rx1106_pos, "")
+    rx1106_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_1111_done
+  rxcap_1111_fail:
+    goto rx1106_fail
+  rxcap_1111_done:
   # rx subrule "O" subtype=capture negate=
-    rx1101_cur."!cursor_pos"(rx1101_pos)
-    $P10 = rx1101_cur."O"("%relational, :pirop<isne INn>")
-    unless $P10, rx1101_fail
-    rx1101_cur."!mark_push"(0, -1, 0, $P10)
+    rx1106_cur."!cursor_pos"(rx1106_pos)
+    $P10 = rx1106_cur."O"("%relational, :pirop<isne INn>")
+    unless $P10, rx1106_fail
+    rx1106_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("O")
-    rx1101_pos = $P10."pos"()
+    rx1106_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', 431
-    (rx1101_rep, rx1101_pos, $I10, $P10) = rx1101_cur."!mark_fail"(0)
-    lt rx1101_pos, -1, rx1101_done
-    eq rx1101_pos, -1, rx1101_fail
-    jump $I10
-  rx1101_done:
-    rx1101_cur."!cursor_fail"()
-    rx1101_cur."!cursor_debug"("FAIL  ", "infix:sym<!=>")
-    .return (rx1101_cur)
+    rx1106_cur."!cursor_pass"(rx1106_pos, "infix:sym<!=>")
+    rx1106_cur."!cursor_debug"("PASS  ", "infix:sym<!=>", " at pos=", rx1106_pos)
+    .return (rx1106_cur)
+  rx1106_fail:
+.annotate 'line', 433
+    (rx1106_rep, rx1106_pos, $I10, $P10) = rx1106_cur."!mark_fail"(0)
+    lt rx1106_pos, -1, rx1106_done
+    eq rx1106_pos, -1, rx1106_fail
+    jump $I10
+  rx1106_done:
+    rx1106_cur."!cursor_fail"()
+    rx1106_cur."!cursor_debug"("FAIL  ", "infix:sym<!=>")
+    .return (rx1106_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__infix:sym<!=>"  :subid("278_1274800460.92525") :method
-.annotate 'line', 431
-    $P1103 = self."!PREFIX__!subrule"("O", "!=")
-    new $P1104, "ResizablePMCArray"
-    push $P1104, $P1103
-    .return ($P1104)
+.sub "!PREFIX__infix:sym<!=>"  :subid("280_1274853038.58734") :method
+.annotate 'line', 433
+    $P1108 = self."!PREFIX__!subrule"("O", "!=")
+    new $P1109, "ResizablePMCArray"
+    push $P1109, $P1108
+    .return ($P1109)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "infix:sym<<=>"  :subid("279_1274800460.92525") :method :outer("11_1274800460.92525")
-.annotate 'line', 431
-    .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', 502
+.sub "infix:sym<<=>"  :subid("281_1274853038.58734") :method :outer("11_1274853038.58734")
+.annotate 'line', 433
+    .local string rx1113_tgt
+    .local int rx1113_pos
+    .local int rx1113_off
+    .local int rx1113_eos
+    .local int rx1113_rep
+    .local pmc rx1113_cur
+    (rx1113_cur, rx1113_pos, rx1113_tgt) = self."!cursor_start"()
+    rx1113_cur."!cursor_debug"("START ", "infix:sym<<=>")
+    .lex unicode:"$\x{a2}", rx1113_cur
+    .local pmc match
+    .lex "$/", match
+    length rx1113_eos, rx1113_tgt
+    set rx1113_off, 0
+    lt rx1113_pos, 2, rx1113_start
+    sub rx1113_off, rx1113_pos, 1
+    substr rx1113_tgt, rx1113_tgt, rx1113_off
+  rx1113_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan1117_done
+    goto rxscan1117_scan
+  rxscan1117_loop:
+    ($P10) = rx1113_cur."from"()
+    inc $P10
+    set rx1113_pos, $P10
+    ge rx1113_pos, rx1113_eos, rxscan1117_done
+  rxscan1117_scan:
+    set_addr $I10, rxscan1117_loop
+    rx1113_cur."!mark_push"(0, rx1113_pos, $I10)
+  rxscan1117_done:
+.annotate 'line', 504
   # rx subcapture "sym"
-    set_addr $I10, rxcap_1113_fail
-    rx1108_cur."!mark_push"(0, rx1108_pos, $I10)
+    set_addr $I10, rxcap_1118_fail
+    rx1113_cur."!mark_push"(0, rx1113_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)
+    add $I11, rx1113_pos, 2
+    gt $I11, rx1113_eos, rx1113_fail
+    sub $I11, rx1113_pos, rx1113_off
+    substr $S10, rx1113_tgt, $I11, 2
+    ne $S10, "<=", rx1113_fail
+    add rx1113_pos, 2
+    set_addr $I10, rxcap_1118_fail
+    ($I12, $I11) = rx1113_cur."!mark_peek"($I10)
+    rx1113_cur."!cursor_pos"($I11)
+    ($P10) = rx1113_cur."!cursor_start"()
+    $P10."!cursor_pass"(rx1113_pos, "")
+    rx1113_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_1118_done
+  rxcap_1118_fail:
+    goto rx1113_fail
+  rxcap_1118_done:
   # rx subrule "O" subtype=capture negate=
-    rx1108_cur."!cursor_pos"(rx1108_pos)
-    $P10 = rx1108_cur."O"("%relational, :pirop<isle INn>")
-    unless $P10, rx1108_fail
-    rx1108_cur."!mark_push"(0, -1, 0, $P10)
+    rx1113_cur."!cursor_pos"(rx1113_pos)
+    $P10 = rx1113_cur."O"("%relational, :pirop<isle INn>")
+    unless $P10, rx1113_fail
+    rx1113_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("O")
-    rx1108_pos = $P10."pos"()
+    rx1113_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', 431
-    (rx1108_rep, rx1108_pos, $I10, $P10) = rx1108_cur."!mark_fail"(0)
-    lt rx1108_pos, -1, rx1108_done
-    eq rx1108_pos, -1, rx1108_fail
-    jump $I10
-  rx1108_done:
-    rx1108_cur."!cursor_fail"()
-    rx1108_cur."!cursor_debug"("FAIL  ", "infix:sym<<=>")
-    .return (rx1108_cur)
+    rx1113_cur."!cursor_pass"(rx1113_pos, "infix:sym<<=>")
+    rx1113_cur."!cursor_debug"("PASS  ", "infix:sym<<=>", " at pos=", rx1113_pos)
+    .return (rx1113_cur)
+  rx1113_fail:
+.annotate 'line', 433
+    (rx1113_rep, rx1113_pos, $I10, $P10) = rx1113_cur."!mark_fail"(0)
+    lt rx1113_pos, -1, rx1113_done
+    eq rx1113_pos, -1, rx1113_fail
+    jump $I10
+  rx1113_done:
+    rx1113_cur."!cursor_fail"()
+    rx1113_cur."!cursor_debug"("FAIL  ", "infix:sym<<=>")
+    .return (rx1113_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__infix:sym<<=>"  :subid("280_1274800460.92525") :method
-.annotate 'line', 431
-    $P1110 = self."!PREFIX__!subrule"("O", "<=")
-    new $P1111, "ResizablePMCArray"
-    push $P1111, $P1110
-    .return ($P1111)
+.sub "!PREFIX__infix:sym<<=>"  :subid("282_1274853038.58734") :method
+.annotate 'line', 433
+    $P1115 = self."!PREFIX__!subrule"("O", "<=")
+    new $P1116, "ResizablePMCArray"
+    push $P1116, $P1115
+    .return ($P1116)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "infix:sym<>=>"  :subid("281_1274800460.92525") :method :outer("11_1274800460.92525")
-.annotate 'line', 431
-    .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', 503
+.sub "infix:sym<>=>"  :subid("283_1274853038.58734") :method :outer("11_1274853038.58734")
+.annotate 'line', 433
+    .local string rx1120_tgt
+    .local int rx1120_pos
+    .local int rx1120_off
+    .local int rx1120_eos
+    .local int rx1120_rep
+    .local pmc rx1120_cur
+    (rx1120_cur, rx1120_pos, rx1120_tgt) = self."!cursor_start"()
+    rx1120_cur."!cursor_debug"("START ", "infix:sym<>=>")
+    .lex unicode:"$\x{a2}", rx1120_cur
+    .local pmc match
+    .lex "$/", match
+    length rx1120_eos, rx1120_tgt
+    set rx1120_off, 0
+    lt rx1120_pos, 2, rx1120_start
+    sub rx1120_off, rx1120_pos, 1
+    substr rx1120_tgt, rx1120_tgt, rx1120_off
+  rx1120_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan1124_done
+    goto rxscan1124_scan
+  rxscan1124_loop:
+    ($P10) = rx1120_cur."from"()
+    inc $P10
+    set rx1120_pos, $P10
+    ge rx1120_pos, rx1120_eos, rxscan1124_done
+  rxscan1124_scan:
+    set_addr $I10, rxscan1124_loop
+    rx1120_cur."!mark_push"(0, rx1120_pos, $I10)
+  rxscan1124_done:
+.annotate 'line', 505
   # rx subcapture "sym"
-    set_addr $I10, rxcap_1120_fail
-    rx1115_cur."!mark_push"(0, rx1115_pos, $I10)
+    set_addr $I10, rxcap_1125_fail
+    rx1120_cur."!mark_push"(0, rx1120_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)
+    add $I11, rx1120_pos, 2
+    gt $I11, rx1120_eos, rx1120_fail
+    sub $I11, rx1120_pos, rx1120_off
+    substr $S10, rx1120_tgt, $I11, 2
+    ne $S10, ">=", rx1120_fail
+    add rx1120_pos, 2
+    set_addr $I10, rxcap_1125_fail
+    ($I12, $I11) = rx1120_cur."!mark_peek"($I10)
+    rx1120_cur."!cursor_pos"($I11)
+    ($P10) = rx1120_cur."!cursor_start"()
+    $P10."!cursor_pass"(rx1120_pos, "")
+    rx1120_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_1125_done
+  rxcap_1125_fail:
+    goto rx1120_fail
+  rxcap_1125_done:
   # rx subrule "O" subtype=capture negate=
-    rx1115_cur."!cursor_pos"(rx1115_pos)
-    $P10 = rx1115_cur."O"("%relational, :pirop<isge INn>")
-    unless $P10, rx1115_fail
-    rx1115_cur."!mark_push"(0, -1, 0, $P10)
+    rx1120_cur."!cursor_pos"(rx1120_pos)
+    $P10 = rx1120_cur."O"("%relational, :pirop<isge INn>")
+    unless $P10, rx1120_fail
+    rx1120_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("O")
-    rx1115_pos = $P10."pos"()
+    rx1120_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', 431
-    (rx1115_rep, rx1115_pos, $I10, $P10) = rx1115_cur."!mark_fail"(0)
-    lt rx1115_pos, -1, rx1115_done
-    eq rx1115_pos, -1, rx1115_fail
-    jump $I10
-  rx1115_done:
-    rx1115_cur."!cursor_fail"()
-    rx1115_cur."!cursor_debug"("FAIL  ", "infix:sym<>=>")
-    .return (rx1115_cur)
+    rx1120_cur."!cursor_pass"(rx1120_pos, "infix:sym<>=>")
+    rx1120_cur."!cursor_debug"("PASS  ", "infix:sym<>=>", " at pos=", rx1120_pos)
+    .return (rx1120_cur)
+  rx1120_fail:
+.annotate 'line', 433
+    (rx1120_rep, rx1120_pos, $I10, $P10) = rx1120_cur."!mark_fail"(0)
+    lt rx1120_pos, -1, rx1120_done
+    eq rx1120_pos, -1, rx1120_fail
+    jump $I10
+  rx1120_done:
+    rx1120_cur."!cursor_fail"()
+    rx1120_cur."!cursor_debug"("FAIL  ", "infix:sym<>=>")
+    .return (rx1120_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__infix:sym<>=>"  :subid("282_1274800460.92525") :method
-.annotate 'line', 431
-    $P1117 = self."!PREFIX__!subrule"("O", ">=")
-    new $P1118, "ResizablePMCArray"
-    push $P1118, $P1117
-    .return ($P1118)
+.sub "!PREFIX__infix:sym<>=>"  :subid("284_1274853038.58734") :method
+.annotate 'line', 433
+    $P1122 = self."!PREFIX__!subrule"("O", ">=")
+    new $P1123, "ResizablePMCArray"
+    push $P1123, $P1122
+    .return ($P1123)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "infix:sym<<>"  :subid("283_1274800460.92525") :method :outer("11_1274800460.92525")
-.annotate 'line', 431
-    .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', 504
+.sub "infix:sym<<>"  :subid("285_1274853038.58734") :method :outer("11_1274853038.58734")
+.annotate 'line', 433
+    .local string rx1127_tgt
+    .local int rx1127_pos
+    .local int rx1127_off
+    .local int rx1127_eos
+    .local int rx1127_rep
+    .local pmc rx1127_cur
+    (rx1127_cur, rx1127_pos, rx1127_tgt) = self."!cursor_start"()
+    rx1127_cur."!cursor_debug"("START ", "infix:sym<<>")
+    .lex unicode:"$\x{a2}", rx1127_cur
+    .local pmc match
+    .lex "$/", match
+    length rx1127_eos, rx1127_tgt
+    set rx1127_off, 0
+    lt rx1127_pos, 2, rx1127_start
+    sub rx1127_off, rx1127_pos, 1
+    substr rx1127_tgt, rx1127_tgt, rx1127_off
+  rx1127_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan1131_done
+    goto rxscan1131_scan
+  rxscan1131_loop:
+    ($P10) = rx1127_cur."from"()
+    inc $P10
+    set rx1127_pos, $P10
+    ge rx1127_pos, rx1127_eos, rxscan1131_done
+  rxscan1131_scan:
+    set_addr $I10, rxscan1131_loop
+    rx1127_cur."!mark_push"(0, rx1127_pos, $I10)
+  rxscan1131_done:
+.annotate 'line', 506
   # rx subcapture "sym"
-    set_addr $I10, rxcap_1127_fail
-    rx1122_cur."!mark_push"(0, rx1122_pos, $I10)
+    set_addr $I10, rxcap_1132_fail
+    rx1127_cur."!mark_push"(0, rx1127_pos, $I10)
   # rx literal  "<"
-    add $I11, rx1122_pos, 1
-    gt $I11, rx1122_eos, rx1122_fail
-    sub $I11, rx1122_pos, rx1122_off
-    substr $S10, rx1122_tgt, $I11, 1
-    ne $S10, "<", rx1122_fail
-    add rx1122_pos, 1
-    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)
+    add $I11, rx1127_pos, 1
+    gt $I11, rx1127_eos, rx1127_fail
+    sub $I11, rx1127_pos, rx1127_off
+    substr $S10, rx1127_tgt, $I11, 1
+    ne $S10, "<", rx1127_fail
+    add rx1127_pos, 1
+    set_addr $I10, rxcap_1132_fail
+    ($I12, $I11) = rx1127_cur."!mark_peek"($I10)
+    rx1127_cur."!cursor_pos"($I11)
+    ($P10) = rx1127_cur."!cursor_start"()
+    $P10."!cursor_pass"(rx1127_pos, "")
+    rx1127_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_1132_done
+  rxcap_1132_fail:
+    goto rx1127_fail
+  rxcap_1132_done:
   # rx subrule "O" subtype=capture negate=
-    rx1122_cur."!cursor_pos"(rx1122_pos)
-    $P10 = rx1122_cur."O"("%relational, :pirop<islt INn>")
-    unless $P10, rx1122_fail
-    rx1122_cur."!mark_push"(0, -1, 0, $P10)
+    rx1127_cur."!cursor_pos"(rx1127_pos)
+    $P10 = rx1127_cur."O"("%relational, :pirop<islt INn>")
+    unless $P10, rx1127_fail
+    rx1127_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("O")
-    rx1122_pos = $P10."pos"()
+    rx1127_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', 431
-    (rx1122_rep, rx1122_pos, $I10, $P10) = rx1122_cur."!mark_fail"(0)
-    lt rx1122_pos, -1, rx1122_done
-    eq rx1122_pos, -1, rx1122_fail
-    jump $I10
-  rx1122_done:
-    rx1122_cur."!cursor_fail"()
-    rx1122_cur."!cursor_debug"("FAIL  ", "infix:sym<<>")
-    .return (rx1122_cur)
+    rx1127_cur."!cursor_pass"(rx1127_pos, "infix:sym<<>")
+    rx1127_cur."!cursor_debug"("PASS  ", "infix:sym<<>", " at pos=", rx1127_pos)
+    .return (rx1127_cur)
+  rx1127_fail:
+.annotate 'line', 433
+    (rx1127_rep, rx1127_pos, $I10, $P10) = rx1127_cur."!mark_fail"(0)
+    lt rx1127_pos, -1, rx1127_done
+    eq rx1127_pos, -1, rx1127_fail
+    jump $I10
+  rx1127_done:
+    rx1127_cur."!cursor_fail"()
+    rx1127_cur."!cursor_debug"("FAIL  ", "infix:sym<<>")
+    .return (rx1127_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__infix:sym<<>"  :subid("284_1274800460.92525") :method
-.annotate 'line', 431
-    $P1124 = self."!PREFIX__!subrule"("O", "<")
-    new $P1125, "ResizablePMCArray"
-    push $P1125, $P1124
-    .return ($P1125)
+.sub "!PREFIX__infix:sym<<>"  :subid("286_1274853038.58734") :method
+.annotate 'line', 433
+    $P1129 = self."!PREFIX__!subrule"("O", "<")
+    new $P1130, "ResizablePMCArray"
+    push $P1130, $P1129
+    .return ($P1130)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "infix:sym<>>"  :subid("285_1274800460.92525") :method :outer("11_1274800460.92525")
-.annotate 'line', 431
-    .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', 505
+.sub "infix:sym<>>"  :subid("287_1274853038.58734") :method :outer("11_1274853038.58734")
+.annotate 'line', 433
+    .local string rx1134_tgt
+    .local int rx1134_pos
+    .local int rx1134_off
+    .local int rx1134_eos
+    .local int rx1134_rep
+    .local pmc rx1134_cur
+    (rx1134_cur, rx1134_pos, rx1134_tgt) = self."!cursor_start"()
+    rx1134_cur."!cursor_debug"("START ", "infix:sym<>>")
+    .lex unicode:"$\x{a2}", rx1134_cur
+    .local pmc match
+    .lex "$/", match
+    length rx1134_eos, rx1134_tgt
+    set rx1134_off, 0
+    lt rx1134_pos, 2, rx1134_start
+    sub rx1134_off, rx1134_pos, 1
+    substr rx1134_tgt, rx1134_tgt, rx1134_off
+  rx1134_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan1138_done
+    goto rxscan1138_scan
+  rxscan1138_loop:
+    ($P10) = rx1134_cur."from"()
+    inc $P10
+    set rx1134_pos, $P10
+    ge rx1134_pos, rx1134_eos, rxscan1138_done
+  rxscan1138_scan:
+    set_addr $I10, rxscan1138_loop
+    rx1134_cur."!mark_push"(0, rx1134_pos, $I10)
+  rxscan1138_done:
+.annotate 'line', 507
   # rx subcapture "sym"
-    set_addr $I10, rxcap_1134_fail
-    rx1129_cur."!mark_push"(0, rx1129_pos, $I10)
+    set_addr $I10, rxcap_1139_fail
+    rx1134_cur."!mark_push"(0, rx1134_pos, $I10)
   # rx literal  ">"
-    add $I11, rx1129_pos, 1
-    gt $I11, rx1129_eos, rx1129_fail
-    sub $I11, rx1129_pos, rx1129_off
-    substr $S10, rx1129_tgt, $I11, 1
-    ne $S10, ">", rx1129_fail
-    add rx1129_pos, 1
-    set_addr $I10, rxcap_1134_fail
-    ($I12, $I11) = rx1129_cur."!mark_peek"($I10)
-    rx1129_cur."!cursor_pos"($I11)
-    ($P10) = rx1129_cur."!cursor_start"()
-    $P10."!cursor_pass"(rx1129_pos, "")
-    rx1129_cur."!mark_push"(0, -1, 0, $P10)
+    add $I11, rx1134_pos, 1
+    gt $I11, rx1134_eos, rx1134_fail
+    sub $I11, rx1134_pos, rx1134_off
+    substr $S10, rx1134_tgt, $I11, 1
+    ne $S10, ">", rx1134_fail
+    add rx1134_pos, 1
+    set_addr $I10, rxcap_1139_fail
+    ($I12, $I11) = rx1134_cur."!mark_peek"($I10)
+    rx1134_cur."!cursor_pos"($I11)
+    ($P10) = rx1134_cur."!cursor_start"()
+    $P10."!cursor_pass"(rx1134_pos, "")
+    rx1134_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("sym")
-    goto rxcap_1134_done
-  rxcap_1134_fail:
-    goto rx1129_fail
-  rxcap_1134_done:
+    goto rxcap_1139_done
+  rxcap_1139_fail:
+    goto rx1134_fail
+  rxcap_1139_done:
   # rx subrule "O" subtype=capture negate=
-    rx1129_cur."!cursor_pos"(rx1129_pos)
-    $P10 = rx1129_cur."O"("%relational, :pirop<isgt INn>")
-    unless $P10, rx1129_fail
-    rx1129_cur."!mark_push"(0, -1, 0, $P10)
+    rx1134_cur."!cursor_pos"(rx1134_pos)
+    $P10 = rx1134_cur."O"("%relational, :pirop<isgt INn>")
+    unless $P10, rx1134_fail
+    rx1134_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("O")
-    rx1129_pos = $P10."pos"()
+    rx1134_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', 431
-    (rx1129_rep, rx1129_pos, $I10, $P10) = rx1129_cur."!mark_fail"(0)
-    lt rx1129_pos, -1, rx1129_done
-    eq rx1129_pos, -1, rx1129_fail
-    jump $I10
-  rx1129_done:
-    rx1129_cur."!cursor_fail"()
-    rx1129_cur."!cursor_debug"("FAIL  ", "infix:sym<>>")
-    .return (rx1129_cur)
+    rx1134_cur."!cursor_pass"(rx1134_pos, "infix:sym<>>")
+    rx1134_cur."!cursor_debug"("PASS  ", "infix:sym<>>", " at pos=", rx1134_pos)
+    .return (rx1134_cur)
+  rx1134_fail:
+.annotate 'line', 433
+    (rx1134_rep, rx1134_pos, $I10, $P10) = rx1134_cur."!mark_fail"(0)
+    lt rx1134_pos, -1, rx1134_done
+    eq rx1134_pos, -1, rx1134_fail
+    jump $I10
+  rx1134_done:
+    rx1134_cur."!cursor_fail"()
+    rx1134_cur."!cursor_debug"("FAIL  ", "infix:sym<>>")
+    .return (rx1134_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__infix:sym<>>"  :subid("286_1274800460.92525") :method
-.annotate 'line', 431
-    $P1131 = self."!PREFIX__!subrule"("O", ">")
-    new $P1132, "ResizablePMCArray"
-    push $P1132, $P1131
-    .return ($P1132)
+.sub "!PREFIX__infix:sym<>>"  :subid("288_1274853038.58734") :method
+.annotate 'line', 433
+    $P1136 = self."!PREFIX__!subrule"("O", ">")
+    new $P1137, "ResizablePMCArray"
+    push $P1137, $P1136
+    .return ($P1137)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "infix:sym<eq>"  :subid("287_1274800460.92525") :method :outer("11_1274800460.92525")
-.annotate 'line', 431
-    .local string rx1136_tgt
-    .local int rx1136_pos
-    .local int rx1136_off
-    .local int rx1136_eos
-    .local int rx1136_rep
-    .local pmc rx1136_cur
-    (rx1136_cur, rx1136_pos, rx1136_tgt) = self."!cursor_start"()
-    rx1136_cur."!cursor_debug"("START ", "infix:sym<eq>")
-    .lex unicode:"$\x{a2}", rx1136_cur
-    .local pmc match
-    .lex "$/", match
-    length rx1136_eos, rx1136_tgt
-    set rx1136_off, 0
-    lt rx1136_pos, 2, rx1136_start
-    sub rx1136_off, rx1136_pos, 1
-    substr rx1136_tgt, rx1136_tgt, rx1136_off
-  rx1136_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan1140_done
-    goto rxscan1140_scan
-  rxscan1140_loop:
-    ($P10) = rx1136_cur."from"()
-    inc $P10
-    set rx1136_pos, $P10
-    ge rx1136_pos, rx1136_eos, rxscan1140_done
-  rxscan1140_scan:
-    set_addr $I10, rxscan1140_loop
-    rx1136_cur."!mark_push"(0, rx1136_pos, $I10)
-  rxscan1140_done:
-.annotate 'line', 506
+.sub "infix:sym<eq>"  :subid("289_1274853038.58734") :method :outer("11_1274853038.58734")
+.annotate 'line', 433
+    .local string rx1141_tgt
+    .local int rx1141_pos
+    .local int rx1141_off
+    .local int rx1141_eos
+    .local int rx1141_rep
+    .local pmc rx1141_cur
+    (rx1141_cur, rx1141_pos, rx1141_tgt) = self."!cursor_start"()
+    rx1141_cur."!cursor_debug"("START ", "infix:sym<eq>")
+    .lex unicode:"$\x{a2}", rx1141_cur
+    .local pmc match
+    .lex "$/", match
+    length rx1141_eos, rx1141_tgt
+    set rx1141_off, 0
+    lt rx1141_pos, 2, rx1141_start
+    sub rx1141_off, rx1141_pos, 1
+    substr rx1141_tgt, rx1141_tgt, rx1141_off
+  rx1141_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan1145_done
+    goto rxscan1145_scan
+  rxscan1145_loop:
+    ($P10) = rx1141_cur."from"()
+    inc $P10
+    set rx1141_pos, $P10
+    ge rx1141_pos, rx1141_eos, rxscan1145_done
+  rxscan1145_scan:
+    set_addr $I10, rxscan1145_loop
+    rx1141_cur."!mark_push"(0, rx1141_pos, $I10)
+  rxscan1145_done:
+.annotate 'line', 508
   # rx subcapture "sym"
-    set_addr $I10, rxcap_1141_fail
-    rx1136_cur."!mark_push"(0, rx1136_pos, $I10)
+    set_addr $I10, rxcap_1146_fail
+    rx1141_cur."!mark_push"(0, rx1141_pos, $I10)
   # rx literal  "eq"
-    add $I11, rx1136_pos, 2
-    gt $I11, rx1136_eos, rx1136_fail
-    sub $I11, rx1136_pos, rx1136_off
-    substr $S10, rx1136_tgt, $I11, 2
-    ne $S10, "eq", rx1136_fail
-    add rx1136_pos, 2
-    set_addr $I10, rxcap_1141_fail
-    ($I12, $I11) = rx1136_cur."!mark_peek"($I10)
-    rx1136_cur."!cursor_pos"($I11)
-    ($P10) = rx1136_cur."!cursor_start"()
-    $P10."!cursor_pass"(rx1136_pos, "")
-    rx1136_cur."!mark_push"(0, -1, 0, $P10)
+    add $I11, rx1141_pos, 2
+    gt $I11, rx1141_eos, rx1141_fail
+    sub $I11, rx1141_pos, rx1141_off
+    substr $S10, rx1141_tgt, $I11, 2
+    ne $S10, "eq", rx1141_fail
+    add rx1141_pos, 2
+    set_addr $I10, rxcap_1146_fail
+    ($I12, $I11) = rx1141_cur."!mark_peek"($I10)
+    rx1141_cur."!cursor_pos"($I11)
+    ($P10) = rx1141_cur."!cursor_start"()
+    $P10."!cursor_pass"(rx1141_pos, "")
+    rx1141_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("sym")
-    goto rxcap_1141_done
-  rxcap_1141_fail:
-    goto rx1136_fail
-  rxcap_1141_done:
+    goto rxcap_1146_done
+  rxcap_1146_fail:
+    goto rx1141_fail
+  rxcap_1146_done:
   # rx subrule "O" subtype=capture negate=
-    rx1136_cur."!cursor_pos"(rx1136_pos)
-    $P10 = rx1136_cur."O"("%relational, :pirop<iseq ISs>")
-    unless $P10, rx1136_fail
-    rx1136_cur."!mark_push"(0, -1, 0, $P10)
+    rx1141_cur."!cursor_pos"(rx1141_pos)
+    $P10 = rx1141_cur."O"("%relational, :pirop<iseq ISs>")
+    unless $P10, rx1141_fail
+    rx1141_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("O")
-    rx1136_pos = $P10."pos"()
+    rx1141_pos = $P10."pos"()
   # rx pass
-    rx1136_cur."!cursor_pass"(rx1136_pos, "infix:sym<eq>")
-    rx1136_cur."!cursor_debug"("PASS  ", "infix:sym<eq>", " at pos=", rx1136_pos)
-    .return (rx1136_cur)
-  rx1136_fail:
-.annotate 'line', 431
-    (rx1136_rep, rx1136_pos, $I10, $P10) = rx1136_cur."!mark_fail"(0)
-    lt rx1136_pos, -1, rx1136_done
-    eq rx1136_pos, -1, rx1136_fail
-    jump $I10
-  rx1136_done:
-    rx1136_cur."!cursor_fail"()
-    rx1136_cur."!cursor_debug"("FAIL  ", "infix:sym<eq>")
-    .return (rx1136_cur)
+    rx1141_cur."!cursor_pass"(rx1141_pos, "infix:sym<eq>")
+    rx1141_cur."!cursor_debug"("PASS  ", "infix:sym<eq>", " at pos=", rx1141_pos)
+    .return (rx1141_cur)
+  rx1141_fail:
+.annotate 'line', 433
+    (rx1141_rep, rx1141_pos, $I10, $P10) = rx1141_cur."!mark_fail"(0)
+    lt rx1141_pos, -1, rx1141_done
+    eq rx1141_pos, -1, rx1141_fail
+    jump $I10
+  rx1141_done:
+    rx1141_cur."!cursor_fail"()
+    rx1141_cur."!cursor_debug"("FAIL  ", "infix:sym<eq>")
+    .return (rx1141_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__infix:sym<eq>"  :subid("288_1274800460.92525") :method
-.annotate 'line', 431
-    $P1138 = self."!PREFIX__!subrule"("O", "eq")
-    new $P1139, "ResizablePMCArray"
-    push $P1139, $P1138
-    .return ($P1139)
+.sub "!PREFIX__infix:sym<eq>"  :subid("290_1274853038.58734") :method
+.annotate 'line', 433
+    $P1143 = self."!PREFIX__!subrule"("O", "eq")
+    new $P1144, "ResizablePMCArray"
+    push $P1144, $P1143
+    .return ($P1144)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "infix:sym<ne>"  :subid("289_1274800460.92525") :method :outer("11_1274800460.92525")
-.annotate 'line', 431
-    .local string rx1143_tgt
-    .local int rx1143_pos
-    .local int rx1143_off
-    .local int rx1143_eos
-    .local int rx1143_rep
-    .local pmc rx1143_cur
-    (rx1143_cur, rx1143_pos, rx1143_tgt) = self."!cursor_start"()
-    rx1143_cur."!cursor_debug"("START ", "infix:sym<ne>")
-    .lex unicode:"$\x{a2}", rx1143_cur
-    .local pmc match
-    .lex "$/", match
-    length rx1143_eos, rx1143_tgt
-    set rx1143_off, 0
-    lt rx1143_pos, 2, rx1143_start
-    sub rx1143_off, rx1143_pos, 1
-    substr rx1143_tgt, rx1143_tgt, rx1143_off
-  rx1143_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan1147_done
-    goto rxscan1147_scan
-  rxscan1147_loop:
-    ($P10) = rx1143_cur."from"()
-    inc $P10
-    set rx1143_pos, $P10
-    ge rx1143_pos, rx1143_eos, rxscan1147_done
-  rxscan1147_scan:
-    set_addr $I10, rxscan1147_loop
-    rx1143_cur."!mark_push"(0, rx1143_pos, $I10)
-  rxscan1147_done:
-.annotate 'line', 507
+.sub "infix:sym<ne>"  :subid("291_1274853038.58734") :method :outer("11_1274853038.58734")
+.annotate 'line', 433
+    .local string rx1148_tgt
+    .local int rx1148_pos
+    .local int rx1148_off
+    .local int rx1148_eos
+    .local int rx1148_rep
+    .local pmc rx1148_cur
+    (rx1148_cur, rx1148_pos, rx1148_tgt) = self."!cursor_start"()
+    rx1148_cur."!cursor_debug"("START ", "infix:sym<ne>")
+    .lex unicode:"$\x{a2}", rx1148_cur
+    .local pmc match
+    .lex "$/", match
+    length rx1148_eos, rx1148_tgt
+    set rx1148_off, 0
+    lt rx1148_pos, 2, rx1148_start
+    sub rx1148_off, rx1148_pos, 1
+    substr rx1148_tgt, rx1148_tgt, rx1148_off
+  rx1148_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan1152_done
+    goto rxscan1152_scan
+  rxscan1152_loop:
+    ($P10) = rx1148_cur."from"()
+    inc $P10
+    set rx1148_pos, $P10
+    ge rx1148_pos, rx1148_eos, rxscan1152_done
+  rxscan1152_scan:
+    set_addr $I10, rxscan1152_loop
+    rx1148_cur."!mark_push"(0, rx1148_pos, $I10)
+  rxscan1152_done:
+.annotate 'line', 509
   # rx subcapture "sym"
-    set_addr $I10, rxcap_1148_fail
-    rx1143_cur."!mark_push"(0, rx1143_pos, $I10)
+    set_addr $I10, rxcap_1153_fail
+    rx1148_cur."!mark_push"(0, rx1148_pos, $I10)
   # rx literal  "ne"
-    add $I11, rx1143_pos, 2
-    gt $I11, rx1143_eos, rx1143_fail
-    sub $I11, rx1143_pos, rx1143_off
-    substr $S10, rx1143_tgt, $I11, 2
-    ne $S10, "ne", rx1143_fail
-    add rx1143_pos, 2
-    set_addr $I10, rxcap_1148_fail
-    ($I12, $I11) = rx1143_cur."!mark_peek"($I10)
-    rx1143_cur."!cursor_pos"($I11)
-    ($P10) = rx1143_cur."!cursor_start"()
-    $P10."!cursor_pass"(rx1143_pos, "")
-    rx1143_cur."!mark_push"(0, -1, 0, $P10)
+    add $I11, rx1148_pos, 2
+    gt $I11, rx1148_eos, rx1148_fail
+    sub $I11, rx1148_pos, rx1148_off
+    substr $S10, rx1148_tgt, $I11, 2
+    ne $S10, "ne", rx1148_fail
+    add rx1148_pos, 2
+    set_addr $I10, rxcap_1153_fail
+    ($I12, $I11) = rx1148_cur."!mark_peek"($I10)
+    rx1148_cur."!cursor_pos"($I11)
+    ($P10) = rx1148_cur."!cursor_start"()
+    $P10."!cursor_pass"(rx1148_pos, "")
+    rx1148_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("sym")
-    goto rxcap_1148_done
-  rxcap_1148_fail:
-    goto rx1143_fail
-  rxcap_1148_done:
+    goto rxcap_1153_done
+  rxcap_1153_fail:
+    goto rx1148_fail
+  rxcap_1153_done:
   # rx subrule "O" subtype=capture negate=
-    rx1143_cur."!cursor_pos"(rx1143_pos)
-    $P10 = rx1143_cur."O"("%relational, :pirop<isne ISs>")
-    unless $P10, rx1143_fail
-    rx1143_cur."!mark_push"(0, -1, 0, $P10)
+    rx1148_cur."!cursor_pos"(rx1148_pos)
+    $P10 = rx1148_cur."O"("%relational, :pirop<isne ISs>")
+    unless $P10, rx1148_fail
+    rx1148_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("O")
-    rx1143_pos = $P10."pos"()
+    rx1148_pos = $P10."pos"()
   # rx pass
-    rx1143_cur."!cursor_pass"(rx1143_pos, "infix:sym<ne>")
-    rx1143_cur."!cursor_debug"("PASS  ", "infix:sym<ne>", " at pos=", rx1143_pos)
-    .return (rx1143_cur)
-  rx1143_fail:
-.annotate 'line', 431
-    (rx1143_rep, rx1143_pos, $I10, $P10) = rx1143_cur."!mark_fail"(0)
-    lt rx1143_pos, -1, rx1143_done
-    eq rx1143_pos, -1, rx1143_fail
-    jump $I10
-  rx1143_done:
-    rx1143_cur."!cursor_fail"()
-    rx1143_cur."!cursor_debug"("FAIL  ", "infix:sym<ne>")
-    .return (rx1143_cur)
+    rx1148_cur."!cursor_pass"(rx1148_pos, "infix:sym<ne>")
+    rx1148_cur."!cursor_debug"("PASS  ", "infix:sym<ne>", " at pos=", rx1148_pos)
+    .return (rx1148_cur)
+  rx1148_fail:
+.annotate 'line', 433
+    (rx1148_rep, rx1148_pos, $I10, $P10) = rx1148_cur."!mark_fail"(0)
+    lt rx1148_pos, -1, rx1148_done
+    eq rx1148_pos, -1, rx1148_fail
+    jump $I10
+  rx1148_done:
+    rx1148_cur."!cursor_fail"()
+    rx1148_cur."!cursor_debug"("FAIL  ", "infix:sym<ne>")
+    .return (rx1148_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__infix:sym<ne>"  :subid("290_1274800460.92525") :method
-.annotate 'line', 431
-    $P1145 = self."!PREFIX__!subrule"("O", "ne")
-    new $P1146, "ResizablePMCArray"
-    push $P1146, $P1145
-    .return ($P1146)
+.sub "!PREFIX__infix:sym<ne>"  :subid("292_1274853038.58734") :method
+.annotate 'line', 433
+    $P1150 = self."!PREFIX__!subrule"("O", "ne")
+    new $P1151, "ResizablePMCArray"
+    push $P1151, $P1150
+    .return ($P1151)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "infix:sym<le>"  :subid("291_1274800460.92525") :method :outer("11_1274800460.92525")
-.annotate 'line', 431
-    .local string rx1150_tgt
-    .local int rx1150_pos
-    .local int rx1150_off
-    .local int rx1150_eos
-    .local int rx1150_rep
-    .local pmc rx1150_cur
-    (rx1150_cur, rx1150_pos, rx1150_tgt) = self."!cursor_start"()
-    rx1150_cur."!cursor_debug"("START ", "infix:sym<le>")
-    .lex unicode:"$\x{a2}", rx1150_cur
-    .local pmc match
-    .lex "$/", match
-    length rx1150_eos, rx1150_tgt
-    set rx1150_off, 0
-    lt rx1150_pos, 2, rx1150_start
-    sub rx1150_off, rx1150_pos, 1
-    substr rx1150_tgt, rx1150_tgt, rx1150_off
-  rx1150_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan1154_done
-    goto rxscan1154_scan
-  rxscan1154_loop:
-    ($P10) = rx1150_cur."from"()
-    inc $P10
-    set rx1150_pos, $P10
-    ge rx1150_pos, rx1150_eos, rxscan1154_done
-  rxscan1154_scan:
-    set_addr $I10, rxscan1154_loop
-    rx1150_cur."!mark_push"(0, rx1150_pos, $I10)
-  rxscan1154_done:
-.annotate 'line', 508
+.sub "infix:sym<le>"  :subid("293_1274853038.58734") :method :outer("11_1274853038.58734")
+.annotate 'line', 433
+    .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<le>")
+    .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', 510
   # rx subcapture "sym"
-    set_addr $I10, rxcap_1155_fail
-    rx1150_cur."!mark_push"(0, rx1150_pos, $I10)
+    set_addr $I10, rxcap_1160_fail
+    rx1155_cur."!mark_push"(0, rx1155_pos, $I10)
   # rx literal  "le"
-    add $I11, rx1150_pos, 2
-    gt $I11, rx1150_eos, rx1150_fail
-    sub $I11, rx1150_pos, rx1150_off
-    substr $S10, rx1150_tgt, $I11, 2
-    ne $S10, "le", rx1150_fail
-    add rx1150_pos, 2
-    set_addr $I10, rxcap_1155_fail
-    ($I12, $I11) = rx1150_cur."!mark_peek"($I10)
-    rx1150_cur."!cursor_pos"($I11)
-    ($P10) = rx1150_cur."!cursor_start"()
-    $P10."!cursor_pass"(rx1150_pos, "")
-    rx1150_cur."!mark_push"(0, -1, 0, $P10)
+    add $I11, rx1155_pos, 2
+    gt $I11, rx1155_eos, rx1155_fail
+    sub $I11, rx1155_pos, rx1155_off
+    substr $S10, rx1155_tgt, $I11, 2
+    ne $S10, "le", rx1155_fail
+    add rx1155_pos, 2
+    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_1155_done
-  rxcap_1155_fail:
-    goto rx1150_fail
-  rxcap_1155_done:
+    goto rxcap_1160_done
+  rxcap_1160_fail:
+    goto rx1155_fail
+  rxcap_1160_done:
   # rx subrule "O" subtype=capture negate=
-    rx1150_cur."!cursor_pos"(rx1150_pos)
-    $P10 = rx1150_cur."O"("%relational, :pirop<isle ISs>")
-    unless $P10, rx1150_fail
-    rx1150_cur."!mark_push"(0, -1, 0, $P10)
+    rx1155_cur."!cursor_pos"(rx1155_pos)
+    $P10 = rx1155_cur."O"("%relational, :pirop<isle ISs>")
+    unless $P10, rx1155_fail
+    rx1155_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("O")
-    rx1150_pos = $P10."pos"()
+    rx1155_pos = $P10."pos"()
   # rx pass
-    rx1150_cur."!cursor_pass"(rx1150_pos, "infix:sym<le>")
-    rx1150_cur."!cursor_debug"("PASS  ", "infix:sym<le>", " at pos=", rx1150_pos)
-    .return (rx1150_cur)
-  rx1150_fail:
-.annotate 'line', 431
-    (rx1150_rep, rx1150_pos, $I10, $P10) = rx1150_cur."!mark_fail"(0)
-    lt rx1150_pos, -1, rx1150_done
-    eq rx1150_pos, -1, rx1150_fail
-    jump $I10
-  rx1150_done:
-    rx1150_cur."!cursor_fail"()
-    rx1150_cur."!cursor_debug"("FAIL  ", "infix:sym<le>")
-    .return (rx1150_cur)
+    rx1155_cur."!cursor_pass"(rx1155_pos, "infix:sym<le>")
+    rx1155_cur."!cursor_debug"("PASS  ", "infix:sym<le>", " at pos=", rx1155_pos)
+    .return (rx1155_cur)
+  rx1155_fail:
+.annotate 'line', 433
+    (rx1155_rep, rx1155_pos, $I10, $P10) = rx1155_cur."!mark_fail"(0)
+    lt rx1155_pos, -1, rx1155_done
+    eq rx1155_pos, -1, rx1155_fail
+    jump $I10
+  rx1155_done:
+    rx1155_cur."!cursor_fail"()
+    rx1155_cur."!cursor_debug"("FAIL  ", "infix:sym<le>")
+    .return (rx1155_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__infix:sym<le>"  :subid("292_1274800460.92525") :method
-.annotate 'line', 431
-    $P1152 = self."!PREFIX__!subrule"("O", "le")
-    new $P1153, "ResizablePMCArray"
-    push $P1153, $P1152
-    .return ($P1153)
+.sub "!PREFIX__infix:sym<le>"  :subid("294_1274853038.58734") :method
+.annotate 'line', 433
+    $P1157 = self."!PREFIX__!subrule"("O", "le")
+    new $P1158, "ResizablePMCArray"
+    push $P1158, $P1157
+    .return ($P1158)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "infix:sym<ge>"  :subid("293_1274800460.92525") :method :outer("11_1274800460.92525")
-.annotate 'line', 431
-    .local string rx1157_tgt
-    .local int rx1157_pos
-    .local int rx1157_off
-    .local int rx1157_eos
-    .local int rx1157_rep
-    .local pmc rx1157_cur
-    (rx1157_cur, rx1157_pos, rx1157_tgt) = self."!cursor_start"()
-    rx1157_cur."!cursor_debug"("START ", "infix:sym<ge>")
-    .lex unicode:"$\x{a2}", rx1157_cur
-    .local pmc match
-    .lex "$/", match
-    length rx1157_eos, rx1157_tgt
-    set rx1157_off, 0
-    lt rx1157_pos, 2, rx1157_start
-    sub rx1157_off, rx1157_pos, 1
-    substr rx1157_tgt, rx1157_tgt, rx1157_off
-  rx1157_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan1161_done
-    goto rxscan1161_scan
-  rxscan1161_loop:
-    ($P10) = rx1157_cur."from"()
-    inc $P10
-    set rx1157_pos, $P10
-    ge rx1157_pos, rx1157_eos, rxscan1161_done
-  rxscan1161_scan:
-    set_addr $I10, rxscan1161_loop
-    rx1157_cur."!mark_push"(0, rx1157_pos, $I10)
-  rxscan1161_done:
-.annotate 'line', 509
+.sub "infix:sym<ge>"  :subid("295_1274853038.58734") :method :outer("11_1274853038.58734")
+.annotate 'line', 433
+    .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<ge>")
+    .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) = rx1162_cur."from"()
+    inc $P10
+    set rx1162_pos, $P10
+    ge rx1162_pos, rx1162_eos, rxscan1166_done
+  rxscan1166_scan:
+    set_addr $I10, rxscan1166_loop
+    rx1162_cur."!mark_push"(0, rx1162_pos, $I10)
+  rxscan1166_done:
+.annotate 'line', 511
   # rx subcapture "sym"
-    set_addr $I10, rxcap_1162_fail
-    rx1157_cur."!mark_push"(0, rx1157_pos, $I10)
+    set_addr $I10, rxcap_1167_fail
+    rx1162_cur."!mark_push"(0, rx1162_pos, $I10)
   # rx literal  "ge"
-    add $I11, rx1157_pos, 2
-    gt $I11, rx1157_eos, rx1157_fail
-    sub $I11, rx1157_pos, rx1157_off
-    substr $S10, rx1157_tgt, $I11, 2
-    ne $S10, "ge", rx1157_fail
-    add rx1157_pos, 2
-    set_addr $I10, rxcap_1162_fail
-    ($I12, $I11) = rx1157_cur."!mark_peek"($I10)
-    rx1157_cur."!cursor_pos"($I11)
-    ($P10) = rx1157_cur."!cursor_start"()
-    $P10."!cursor_pass"(rx1157_pos, "")
-    rx1157_cur."!mark_push"(0, -1, 0, $P10)
+    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, "ge", rx1162_fail
+    add rx1162_pos, 2
+    set_addr $I10, rxcap_1167_fail
+    ($I12, $I11) = rx1162_cur."!mark_peek"($I10)
+    rx1162_cur."!cursor_pos"($I11)
+    ($P10) = rx1162_cur."!cursor_start"()
+    $P10."!cursor_pass"(rx1162_pos, "")
+    rx1162_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("sym")
-    goto rxcap_1162_done
-  rxcap_1162_fail:
-    goto rx1157_fail
-  rxcap_1162_done:
+    goto rxcap_1167_done
+  rxcap_1167_fail:
+    goto rx1162_fail
+  rxcap_1167_done:
   # rx subrule "O" subtype=capture negate=
-    rx1157_cur."!cursor_pos"(rx1157_pos)
-    $P10 = rx1157_cur."O"("%relational, :pirop<isge ISs>")
-    unless $P10, rx1157_fail
-    rx1157_cur."!mark_push"(0, -1, 0, $P10)
+    rx1162_cur."!cursor_pos"(rx1162_pos)
+    $P10 = rx1162_cur."O"("%relational, :pirop<isge ISs>")
+    unless $P10, rx1162_fail
+    rx1162_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("O")
-    rx1157_pos = $P10."pos"()
+    rx1162_pos = $P10."pos"()
   # rx pass
-    rx1157_cur."!cursor_pass"(rx1157_pos, "infix:sym<ge>")
-    rx1157_cur."!cursor_debug"("PASS  ", "infix:sym<ge>", " at pos=", rx1157_pos)
-    .return (rx1157_cur)
-  rx1157_fail:
-.annotate 'line', 431
-    (rx1157_rep, rx1157_pos, $I10, $P10) = rx1157_cur."!mark_fail"(0)
-    lt rx1157_pos, -1, rx1157_done
-    eq rx1157_pos, -1, rx1157_fail
-    jump $I10
-  rx1157_done:
-    rx1157_cur."!cursor_fail"()
-    rx1157_cur."!cursor_debug"("FAIL  ", "infix:sym<ge>")
-    .return (rx1157_cur)
+    rx1162_cur."!cursor_pass"(rx1162_pos, "infix:sym<ge>")
+    rx1162_cur."!cursor_debug"("PASS  ", "infix:sym<ge>", " at pos=", rx1162_pos)
+    .return (rx1162_cur)
+  rx1162_fail:
+.annotate 'line', 433
+    (rx1162_rep, rx1162_pos, $I10, $P10) = rx1162_cur."!mark_fail"(0)
+    lt rx1162_pos, -1, rx1162_done
+    eq rx1162_pos, -1, rx1162_fail
+    jump $I10
+  rx1162_done:
+    rx1162_cur."!cursor_fail"()
+    rx1162_cur."!cursor_debug"("FAIL  ", "infix:sym<ge>")
+    .return (rx1162_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__infix:sym<ge>"  :subid("294_1274800460.92525") :method
-.annotate 'line', 431
-    $P1159 = self."!PREFIX__!subrule"("O", "ge")
-    new $P1160, "ResizablePMCArray"
-    push $P1160, $P1159
-    .return ($P1160)
+.sub "!PREFIX__infix:sym<ge>"  :subid("296_1274853038.58734") :method
+.annotate 'line', 433
+    $P1164 = self."!PREFIX__!subrule"("O", "ge")
+    new $P1165, "ResizablePMCArray"
+    push $P1165, $P1164
+    .return ($P1165)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "infix:sym<lt>"  :subid("295_1274800460.92525") :method :outer("11_1274800460.92525")
-.annotate 'line', 431
-    .local string rx1164_tgt
-    .local int rx1164_pos
-    .local int rx1164_off
-    .local int rx1164_eos
-    .local int rx1164_rep
-    .local pmc rx1164_cur
-    (rx1164_cur, rx1164_pos, rx1164_tgt) = self."!cursor_start"()
-    rx1164_cur."!cursor_debug"("START ", "infix:sym<lt>")
-    .lex unicode:"$\x{a2}", rx1164_cur
-    .local pmc match
-    .lex "$/", match
-    length rx1164_eos, rx1164_tgt
-    set rx1164_off, 0
-    lt rx1164_pos, 2, rx1164_start
-    sub rx1164_off, rx1164_pos, 1
-    substr rx1164_tgt, rx1164_tgt, rx1164_off
-  rx1164_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan1168_done
-    goto rxscan1168_scan
-  rxscan1168_loop:
-    ($P10) = rx1164_cur."from"()
-    inc $P10
-    set rx1164_pos, $P10
-    ge rx1164_pos, rx1164_eos, rxscan1168_done
-  rxscan1168_scan:
-    set_addr $I10, rxscan1168_loop
-    rx1164_cur."!mark_push"(0, rx1164_pos, $I10)
-  rxscan1168_done:
-.annotate 'line', 510
+.sub "infix:sym<lt>"  :subid("297_1274853038.58734") :method :outer("11_1274853038.58734")
+.annotate 'line', 433
+    .local string rx1169_tgt
+    .local int rx1169_pos
+    .local int rx1169_off
+    .local int rx1169_eos
+    .local int rx1169_rep
+    .local pmc rx1169_cur
+    (rx1169_cur, rx1169_pos, rx1169_tgt) = self."!cursor_start"()
+    rx1169_cur."!cursor_debug"("START ", "infix:sym<lt>")
+    .lex unicode:"$\x{a2}", rx1169_cur
+    .local pmc match
+    .lex "$/", match
+    length rx1169_eos, rx1169_tgt
+    set rx1169_off, 0
+    lt rx1169_pos, 2, rx1169_start
+    sub rx1169_off, rx1169_pos, 1
+    substr rx1169_tgt, rx1169_tgt, rx1169_off
+  rx1169_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan1173_done
+    goto rxscan1173_scan
+  rxscan1173_loop:
+    ($P10) = rx1169_cur."from"()
+    inc $P10
+    set rx1169_pos, $P10
+    ge rx1169_pos, rx1169_eos, rxscan1173_done
+  rxscan1173_scan:
+    set_addr $I10, rxscan1173_loop
+    rx1169_cur."!mark_push"(0, rx1169_pos, $I10)
+  rxscan1173_done:
+.annotate 'line', 512
   # rx subcapture "sym"
-    set_addr $I10, rxcap_1169_fail
-    rx1164_cur."!mark_push"(0, rx1164_pos, $I10)
+    set_addr $I10, rxcap_1174_fail
+    rx1169_cur."!mark_push"(0, rx1169_pos, $I10)
   # rx literal  "lt"
-    add $I11, rx1164_pos, 2
-    gt $I11, rx1164_eos, rx1164_fail
-    sub $I11, rx1164_pos, rx1164_off
-    substr $S10, rx1164_tgt, $I11, 2
-    ne $S10, "lt", rx1164_fail
-    add rx1164_pos, 2
-    set_addr $I10, rxcap_1169_fail
-    ($I12, $I11) = rx1164_cur."!mark_peek"($I10)
-    rx1164_cur."!cursor_pos"($I11)
-    ($P10) = rx1164_cur."!cursor_start"()
-    $P10."!cursor_pass"(rx1164_pos, "")
-    rx1164_cur."!mark_push"(0, -1, 0, $P10)
+    add $I11, rx1169_pos, 2
+    gt $I11, rx1169_eos, rx1169_fail
+    sub $I11, rx1169_pos, rx1169_off
+    substr $S10, rx1169_tgt, $I11, 2
+    ne $S10, "lt", rx1169_fail
+    add rx1169_pos, 2
+    set_addr $I10, rxcap_1174_fail
+    ($I12, $I11) = rx1169_cur."!mark_peek"($I10)
+    rx1169_cur."!cursor_pos"($I11)
+    ($P10) = rx1169_cur."!cursor_start"()
+    $P10."!cursor_pass"(rx1169_pos, "")
+    rx1169_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("sym")
-    goto rxcap_1169_done
-  rxcap_1169_fail:
-    goto rx1164_fail
-  rxcap_1169_done:
+    goto rxcap_1174_done
+  rxcap_1174_fail:
+    goto rx1169_fail
+  rxcap_1174_done:
   # rx subrule "O" subtype=capture negate=
-    rx1164_cur."!cursor_pos"(rx1164_pos)
-    $P10 = rx1164_cur."O"("%relational, :pirop<islt ISs>")
-    unless $P10, rx1164_fail
-    rx1164_cur."!mark_push"(0, -1, 0, $P10)
+    rx1169_cur."!cursor_pos"(rx1169_pos)
+    $P10 = rx1169_cur."O"("%relational, :pirop<islt ISs>")
+    unless $P10, rx1169_fail
+    rx1169_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("O")
-    rx1164_pos = $P10."pos"()
+    rx1169_pos = $P10."pos"()
   # rx pass
-    rx1164_cur."!cursor_pass"(rx1164_pos, "infix:sym<lt>")
-    rx1164_cur."!cursor_debug"("PASS  ", "infix:sym<lt>", " at pos=", rx1164_pos)
-    .return (rx1164_cur)
-  rx1164_fail:
-.annotate 'line', 431
-    (rx1164_rep, rx1164_pos, $I10, $P10) = rx1164_cur."!mark_fail"(0)
-    lt rx1164_pos, -1, rx1164_done
-    eq rx1164_pos, -1, rx1164_fail
-    jump $I10
-  rx1164_done:
-    rx1164_cur."!cursor_fail"()
-    rx1164_cur."!cursor_debug"("FAIL  ", "infix:sym<lt>")
-    .return (rx1164_cur)
+    rx1169_cur."!cursor_pass"(rx1169_pos, "infix:sym<lt>")
+    rx1169_cur."!cursor_debug"("PASS  ", "infix:sym<lt>", " at pos=", rx1169_pos)
+    .return (rx1169_cur)
+  rx1169_fail:
+.annotate 'line', 433
+    (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  ", "infix:sym<lt>")
+    .return (rx1169_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__infix:sym<lt>"  :subid("296_1274800460.92525") :method
-.annotate 'line', 431
-    $P1166 = self."!PREFIX__!subrule"("O", "lt")
-    new $P1167, "ResizablePMCArray"
-    push $P1167, $P1166
-    .return ($P1167)
+.sub "!PREFIX__infix:sym<lt>"  :subid("298_1274853038.58734") :method
+.annotate 'line', 433
+    $P1171 = self."!PREFIX__!subrule"("O", "lt")
+    new $P1172, "ResizablePMCArray"
+    push $P1172, $P1171
+    .return ($P1172)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "infix:sym<gt>"  :subid("297_1274800460.92525") :method :outer("11_1274800460.92525")
-.annotate 'line', 431
-    .local string rx1171_tgt
-    .local int rx1171_pos
-    .local int rx1171_off
-    .local int rx1171_eos
-    .local int rx1171_rep
-    .local pmc rx1171_cur
-    (rx1171_cur, rx1171_pos, rx1171_tgt) = self."!cursor_start"()
-    rx1171_cur."!cursor_debug"("START ", "infix:sym<gt>")
-    .lex unicode:"$\x{a2}", rx1171_cur
-    .local pmc match
-    .lex "$/", match
-    length rx1171_eos, rx1171_tgt
-    set rx1171_off, 0
-    lt rx1171_pos, 2, rx1171_start
-    sub rx1171_off, rx1171_pos, 1
-    substr rx1171_tgt, rx1171_tgt, rx1171_off
-  rx1171_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan1175_done
-    goto rxscan1175_scan
-  rxscan1175_loop:
-    ($P10) = rx1171_cur."from"()
-    inc $P10
-    set rx1171_pos, $P10
-    ge rx1171_pos, rx1171_eos, rxscan1175_done
-  rxscan1175_scan:
-    set_addr $I10, rxscan1175_loop
-    rx1171_cur."!mark_push"(0, rx1171_pos, $I10)
-  rxscan1175_done:
-.annotate 'line', 511
+.sub "infix:sym<gt>"  :subid("299_1274853038.58734") :method :outer("11_1274853038.58734")
+.annotate 'line', 433
+    .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<gt>")
+    .lex unicode:"$\x{a2}", rx1176_cur
+    .local pmc match
+    .lex "$/", match
+    length rx1176_eos, rx1176_tgt
+    set rx1176_off, 0
+    lt rx1176_pos, 2, rx1176_start
+    sub rx1176_off, rx1176_pos, 1
+    substr rx1176_tgt, rx1176_tgt, rx1176_off
+  rx1176_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan1180_done
+    goto rxscan1180_scan
+  rxscan1180_loop:
+    ($P10) = rx1176_cur."from"()
+    inc $P10
+    set rx1176_pos, $P10
+    ge rx1176_pos, rx1176_eos, rxscan1180_done
+  rxscan1180_scan:
+    set_addr $I10, rxscan1180_loop
+    rx1176_cur."!mark_push"(0, rx1176_pos, $I10)
+  rxscan1180_done:
+.annotate 'line', 513
   # rx subcapture "sym"
-    set_addr $I10, rxcap_1176_fail
-    rx1171_cur."!mark_push"(0, rx1171_pos, $I10)
+    set_addr $I10, rxcap_1181_fail
+    rx1176_cur."!mark_push"(0, rx1176_pos, $I10)
   # rx literal  "gt"
-    add $I11, rx1171_pos, 2
-    gt $I11, rx1171_eos, rx1171_fail
-    sub $I11, rx1171_pos, rx1171_off
-    substr $S10, rx1171_tgt, $I11, 2
-    ne $S10, "gt", rx1171_fail
-    add rx1171_pos, 2
-    set_addr $I10, rxcap_1176_fail
-    ($I12, $I11) = rx1171_cur."!mark_peek"($I10)
-    rx1171_cur."!cursor_pos"($I11)
-    ($P10) = rx1171_cur."!cursor_start"()
-    $P10."!cursor_pass"(rx1171_pos, "")
-    rx1171_cur."!mark_push"(0, -1, 0, $P10)
+    add $I11, rx1176_pos, 2
+    gt $I11, rx1176_eos, rx1176_fail
+    sub $I11, rx1176_pos, rx1176_off
+    substr $S10, rx1176_tgt, $I11, 2
+    ne $S10, "gt", rx1176_fail
+    add rx1176_pos, 2
+    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_1176_done
-  rxcap_1176_fail:
-    goto rx1171_fail
-  rxcap_1176_done:
+    goto rxcap_1181_done
+  rxcap_1181_fail:
+    goto rx1176_fail
+  rxcap_1181_done:
   # rx subrule "O" subtype=capture negate=
-    rx1171_cur."!cursor_pos"(rx1171_pos)
-    $P10 = rx1171_cur."O"("%relational, :pirop<isgt ISs>")
-    unless $P10, rx1171_fail
-    rx1171_cur."!mark_push"(0, -1, 0, $P10)
+    rx1176_cur."!cursor_pos"(rx1176_pos)
+    $P10 = rx1176_cur."O"("%relational, :pirop<isgt ISs>")
+    unless $P10, rx1176_fail
+    rx1176_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("O")
-    rx1171_pos = $P10."pos"()
+    rx1176_pos = $P10."pos"()
   # rx pass
-    rx1171_cur."!cursor_pass"(rx1171_pos, "infix:sym<gt>")
-    rx1171_cur."!cursor_debug"("PASS  ", "infix:sym<gt>", " at pos=", rx1171_pos)
-    .return (rx1171_cur)
-  rx1171_fail:
-.annotate 'line', 431
-    (rx1171_rep, rx1171_pos, $I10, $P10) = rx1171_cur."!mark_fail"(0)
-    lt rx1171_pos, -1, rx1171_done
-    eq rx1171_pos, -1, rx1171_fail
-    jump $I10
-  rx1171_done:
-    rx1171_cur."!cursor_fail"()
-    rx1171_cur."!cursor_debug"("FAIL  ", "infix:sym<gt>")
-    .return (rx1171_cur)
+    rx1176_cur."!cursor_pass"(rx1176_pos, "infix:sym<gt>")
+    rx1176_cur."!cursor_debug"("PASS  ", "infix:sym<gt>", " at pos=", rx1176_pos)
+    .return (rx1176_cur)
+  rx1176_fail:
+.annotate 'line', 433
+    (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<gt>")
+    .return (rx1176_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__infix:sym<gt>"  :subid("298_1274800460.92525") :method
-.annotate 'line', 431
-    $P1173 = self."!PREFIX__!subrule"("O", "gt")
-    new $P1174, "ResizablePMCArray"
-    push $P1174, $P1173
-    .return ($P1174)
+.sub "!PREFIX__infix:sym<gt>"  :subid("300_1274853038.58734") :method
+.annotate 'line', 433
+    $P1178 = self."!PREFIX__!subrule"("O", "gt")
+    new $P1179, "ResizablePMCArray"
+    push $P1179, $P1178
+    .return ($P1179)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "infix:sym<=:=>"  :subid("299_1274800460.92525") :method :outer("11_1274800460.92525")
-.annotate 'line', 431
-    .local string rx1178_tgt
-    .local int rx1178_pos
-    .local int rx1178_off
-    .local int rx1178_eos
-    .local int rx1178_rep
-    .local pmc rx1178_cur
-    (rx1178_cur, rx1178_pos, rx1178_tgt) = self."!cursor_start"()
-    rx1178_cur."!cursor_debug"("START ", "infix:sym<=:=>")
-    .lex unicode:"$\x{a2}", rx1178_cur
-    .local pmc match
-    .lex "$/", match
-    length rx1178_eos, rx1178_tgt
-    set rx1178_off, 0
-    lt rx1178_pos, 2, rx1178_start
-    sub rx1178_off, rx1178_pos, 1
-    substr rx1178_tgt, rx1178_tgt, rx1178_off
-  rx1178_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan1182_done
-    goto rxscan1182_scan
-  rxscan1182_loop:
-    ($P10) = rx1178_cur."from"()
-    inc $P10
-    set rx1178_pos, $P10
-    ge rx1178_pos, rx1178_eos, rxscan1182_done
-  rxscan1182_scan:
-    set_addr $I10, rxscan1182_loop
-    rx1178_cur."!mark_push"(0, rx1178_pos, $I10)
-  rxscan1182_done:
-.annotate 'line', 512
+.sub "infix:sym<=:=>"  :subid("301_1274853038.58734") :method :outer("11_1274853038.58734")
+.annotate 'line', 433
+    .local string rx1183_tgt
+    .local int rx1183_pos
+    .local int rx1183_off
+    .local int rx1183_eos
+    .local int rx1183_rep
+    .local pmc rx1183_cur
+    (rx1183_cur, rx1183_pos, rx1183_tgt) = self."!cursor_start"()
+    rx1183_cur."!cursor_debug"("START ", "infix:sym<=:=>")
+    .lex unicode:"$\x{a2}", rx1183_cur
+    .local pmc match
+    .lex "$/", match
+    length rx1183_eos, rx1183_tgt
+    set rx1183_off, 0
+    lt rx1183_pos, 2, rx1183_start
+    sub rx1183_off, rx1183_pos, 1
+    substr rx1183_tgt, rx1183_tgt, rx1183_off
+  rx1183_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan1187_done
+    goto rxscan1187_scan
+  rxscan1187_loop:
+    ($P10) = rx1183_cur."from"()
+    inc $P10
+    set rx1183_pos, $P10
+    ge rx1183_pos, rx1183_eos, rxscan1187_done
+  rxscan1187_scan:
+    set_addr $I10, rxscan1187_loop
+    rx1183_cur."!mark_push"(0, rx1183_pos, $I10)
+  rxscan1187_done:
+.annotate 'line', 514
   # rx subcapture "sym"
-    set_addr $I10, rxcap_1183_fail
-    rx1178_cur."!mark_push"(0, rx1178_pos, $I10)
+    set_addr $I10, rxcap_1188_fail
+    rx1183_cur."!mark_push"(0, rx1183_pos, $I10)
   # rx literal  "=:="
-    add $I11, rx1178_pos, 3
-    gt $I11, rx1178_eos, rx1178_fail
-    sub $I11, rx1178_pos, rx1178_off
-    substr $S10, rx1178_tgt, $I11, 3
-    ne $S10, "=:=", rx1178_fail
-    add rx1178_pos, 3
-    set_addr $I10, rxcap_1183_fail
-    ($I12, $I11) = rx1178_cur."!mark_peek"($I10)
-    rx1178_cur."!cursor_pos"($I11)
-    ($P10) = rx1178_cur."!cursor_start"()
-    $P10."!cursor_pass"(rx1178_pos, "")
-    rx1178_cur."!mark_push"(0, -1, 0, $P10)
+    add $I11, rx1183_pos, 3
+    gt $I11, rx1183_eos, rx1183_fail
+    sub $I11, rx1183_pos, rx1183_off
+    substr $S10, rx1183_tgt, $I11, 3
+    ne $S10, "=:=", rx1183_fail
+    add rx1183_pos, 3
+    set_addr $I10, rxcap_1188_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_1183_done
-  rxcap_1183_fail:
-    goto rx1178_fail
-  rxcap_1183_done:
+    goto rxcap_1188_done
+  rxcap_1188_fail:
+    goto rx1183_fail
+  rxcap_1188_done:
   # rx subrule "O" subtype=capture negate=
-    rx1178_cur."!cursor_pos"(rx1178_pos)
-    $P10 = rx1178_cur."O"("%relational, :pirop<issame>")
-    unless $P10, rx1178_fail
-    rx1178_cur."!mark_push"(0, -1, 0, $P10)
+    rx1183_cur."!cursor_pos"(rx1183_pos)
+    $P10 = rx1183_cur."O"("%relational, :pirop<issame>")
+    unless $P10, rx1183_fail
+    rx1183_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("O")
-    rx1178_pos = $P10."pos"()
+    rx1183_pos = $P10."pos"()
   # rx pass
-    rx1178_cur."!cursor_pass"(rx1178_pos, "infix:sym<=:=>")
-    rx1178_cur."!cursor_debug"("PASS  ", "infix:sym<=:=>", " at pos=", rx1178_pos)
-    .return (rx1178_cur)
-  rx1178_fail:
-.annotate 'line', 431
-    (rx1178_rep, rx1178_pos, $I10, $P10) = rx1178_cur."!mark_fail"(0)
-    lt rx1178_pos, -1, rx1178_done
-    eq rx1178_pos, -1, rx1178_fail
-    jump $I10
-  rx1178_done:
-    rx1178_cur."!cursor_fail"()
-    rx1178_cur."!cursor_debug"("FAIL  ", "infix:sym<=:=>")
-    .return (rx1178_cur)
+    rx1183_cur."!cursor_pass"(rx1183_pos, "infix:sym<=:=>")
+    rx1183_cur."!cursor_debug"("PASS  ", "infix:sym<=:=>", " at pos=", rx1183_pos)
+    .return (rx1183_cur)
+  rx1183_fail:
+.annotate 'line', 433
+    (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  ", "infix:sym<=:=>")
+    .return (rx1183_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__infix:sym<=:=>"  :subid("300_1274800460.92525") :method
-.annotate 'line', 431
-    $P1180 = self."!PREFIX__!subrule"("O", "=:=")
-    new $P1181, "ResizablePMCArray"
-    push $P1181, $P1180
-    .return ($P1181)
+.sub "!PREFIX__infix:sym<=:=>"  :subid("302_1274853038.58734") :method
+.annotate 'line', 433
+    $P1185 = self."!PREFIX__!subrule"("O", "=:=")
+    new $P1186, "ResizablePMCArray"
+    push $P1186, $P1185
+    .return ($P1186)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "infix:sym<~~>"  :subid("301_1274800460.92525") :method :outer("11_1274800460.92525")
-.annotate 'line', 431
-    .local string rx1185_tgt
-    .local int rx1185_pos
-    .local int rx1185_off
-    .local int rx1185_eos
-    .local int rx1185_rep
-    .local pmc rx1185_cur
-    (rx1185_cur, rx1185_pos, rx1185_tgt) = self."!cursor_start"()
-    rx1185_cur."!cursor_debug"("START ", "infix:sym<~~>")
-    .lex unicode:"$\x{a2}", rx1185_cur
-    .local pmc match
-    .lex "$/", match
-    length rx1185_eos, rx1185_tgt
-    set rx1185_off, 0
-    lt rx1185_pos, 2, rx1185_start
-    sub rx1185_off, rx1185_pos, 1
-    substr rx1185_tgt, rx1185_tgt, rx1185_off
-  rx1185_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan1189_done
-    goto rxscan1189_scan
-  rxscan1189_loop:
-    ($P10) = rx1185_cur."from"()
-    inc $P10
-    set rx1185_pos, $P10
-    ge rx1185_pos, rx1185_eos, rxscan1189_done
-  rxscan1189_scan:
-    set_addr $I10, rxscan1189_loop
-    rx1185_cur."!mark_push"(0, rx1185_pos, $I10)
-  rxscan1189_done:
-.annotate 'line', 513
+.sub "infix:sym<~~>"  :subid("303_1274853038.58734") :method :outer("11_1274853038.58734")
+.annotate 'line', 433
+    .local string rx1190_tgt
+    .local int rx1190_pos
+    .local int rx1190_off
+    .local int rx1190_eos
+    .local int rx1190_rep
+    .local pmc rx1190_cur
+    (rx1190_cur, rx1190_pos, rx1190_tgt) = self."!cursor_start"()
+    rx1190_cur."!cursor_debug"("START ", "infix:sym<~~>")
+    .lex unicode:"$\x{a2}", rx1190_cur
+    .local pmc match
+    .lex "$/", match
+    length rx1190_eos, rx1190_tgt
+    set rx1190_off, 0
+    lt rx1190_pos, 2, rx1190_start
+    sub rx1190_off, rx1190_pos, 1
+    substr rx1190_tgt, rx1190_tgt, rx1190_off
+  rx1190_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan1194_done
+    goto rxscan1194_scan
+  rxscan1194_loop:
+    ($P10) = rx1190_cur."from"()
+    inc $P10
+    set rx1190_pos, $P10
+    ge rx1190_pos, rx1190_eos, rxscan1194_done
+  rxscan1194_scan:
+    set_addr $I10, rxscan1194_loop
+    rx1190_cur."!mark_push"(0, rx1190_pos, $I10)
+  rxscan1194_done:
+.annotate 'line', 515
   # rx subcapture "sym"
-    set_addr $I10, rxcap_1190_fail
-    rx1185_cur."!mark_push"(0, rx1185_pos, $I10)
+    set_addr $I10, rxcap_1195_fail
+    rx1190_cur."!mark_push"(0, rx1190_pos, $I10)
   # rx literal  "~~"
-    add $I11, rx1185_pos, 2
-    gt $I11, rx1185_eos, rx1185_fail
-    sub $I11, rx1185_pos, rx1185_off
-    substr $S10, rx1185_tgt, $I11, 2
-    ne $S10, "~~", rx1185_fail
-    add rx1185_pos, 2
-    set_addr $I10, rxcap_1190_fail
-    ($I12, $I11) = rx1185_cur."!mark_peek"($I10)
-    rx1185_cur."!cursor_pos"($I11)
-    ($P10) = rx1185_cur."!cursor_start"()
-    $P10."!cursor_pass"(rx1185_pos, "")
-    rx1185_cur."!mark_push"(0, -1, 0, $P10)
+    add $I11, rx1190_pos, 2
+    gt $I11, rx1190_eos, rx1190_fail
+    sub $I11, rx1190_pos, rx1190_off
+    substr $S10, rx1190_tgt, $I11, 2
+    ne $S10, "~~", rx1190_fail
+    add rx1190_pos, 2
+    set_addr $I10, rxcap_1195_fail
+    ($I12, $I11) = rx1190_cur."!mark_peek"($I10)
+    rx1190_cur."!cursor_pos"($I11)
+    ($P10) = rx1190_cur."!cursor_start"()
+    $P10."!cursor_pass"(rx1190_pos, "")
+    rx1190_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("sym")
-    goto rxcap_1190_done
-  rxcap_1190_fail:
-    goto rx1185_fail
-  rxcap_1190_done:
+    goto rxcap_1195_done
+  rxcap_1195_fail:
+    goto rx1190_fail
+  rxcap_1195_done:
   # rx subrule "O" subtype=capture negate=
-    rx1185_cur."!cursor_pos"(rx1185_pos)
-    $P10 = rx1185_cur."O"("%relational, :reducecheck<smartmatch>")
-    unless $P10, rx1185_fail
-    rx1185_cur."!mark_push"(0, -1, 0, $P10)
+    rx1190_cur."!cursor_pos"(rx1190_pos)
+    $P10 = rx1190_cur."O"("%relational, :reducecheck<smartmatch>")
+    unless $P10, rx1190_fail
+    rx1190_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("O")
-    rx1185_pos = $P10."pos"()
+    rx1190_pos = $P10."pos"()
   # rx pass
-    rx1185_cur."!cursor_pass"(rx1185_pos, "infix:sym<~~>")
-    rx1185_cur."!cursor_debug"("PASS  ", "infix:sym<~~>", " at pos=", rx1185_pos)
-    .return (rx1185_cur)
-  rx1185_fail:
-.annotate 'line', 431
-    (rx1185_rep, rx1185_pos, $I10, $P10) = rx1185_cur."!mark_fail"(0)
-    lt rx1185_pos, -1, rx1185_done
-    eq rx1185_pos, -1, rx1185_fail
-    jump $I10
-  rx1185_done:
-    rx1185_cur."!cursor_fail"()
-    rx1185_cur."!cursor_debug"("FAIL  ", "infix:sym<~~>")
-    .return (rx1185_cur)
+    rx1190_cur."!cursor_pass"(rx1190_pos, "infix:sym<~~>")
+    rx1190_cur."!cursor_debug"("PASS  ", "infix:sym<~~>", " at pos=", rx1190_pos)
+    .return (rx1190_cur)
+  rx1190_fail:
+.annotate 'line', 433
+    (rx1190_rep, rx1190_pos, $I10, $P10) = rx1190_cur."!mark_fail"(0)
+    lt rx1190_pos, -1, rx1190_done
+    eq rx1190_pos, -1, rx1190_fail
+    jump $I10
+  rx1190_done:
+    rx1190_cur."!cursor_fail"()
+    rx1190_cur."!cursor_debug"("FAIL  ", "infix:sym<~~>")
+    .return (rx1190_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__infix:sym<~~>"  :subid("302_1274800460.92525") :method
-.annotate 'line', 431
-    $P1187 = self."!PREFIX__!subrule"("O", "~~")
-    new $P1188, "ResizablePMCArray"
-    push $P1188, $P1187
-    .return ($P1188)
+.sub "!PREFIX__infix:sym<~~>"  :subid("304_1274853038.58734") :method
+.annotate 'line', 433
+    $P1192 = self."!PREFIX__!subrule"("O", "~~")
+    new $P1193, "ResizablePMCArray"
+    push $P1193, $P1192
+    .return ($P1193)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "infix:sym<&&>"  :subid("303_1274800460.92525") :method :outer("11_1274800460.92525")
-.annotate 'line', 431
-    .local string rx1192_tgt
-    .local int rx1192_pos
-    .local int rx1192_off
-    .local int rx1192_eos
-    .local int rx1192_rep
-    .local pmc rx1192_cur
-    (rx1192_cur, rx1192_pos, rx1192_tgt) = self."!cursor_start"()
-    rx1192_cur."!cursor_debug"("START ", "infix:sym<&&>")
-    .lex unicode:"$\x{a2}", rx1192_cur
-    .local pmc match
-    .lex "$/", match
-    length rx1192_eos, rx1192_tgt
-    set rx1192_off, 0
-    lt rx1192_pos, 2, rx1192_start
-    sub rx1192_off, rx1192_pos, 1
-    substr rx1192_tgt, rx1192_tgt, rx1192_off
-  rx1192_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan1196_done
-    goto rxscan1196_scan
-  rxscan1196_loop:
-    ($P10) = rx1192_cur."from"()
-    inc $P10
-    set rx1192_pos, $P10
-    ge rx1192_pos, rx1192_eos, rxscan1196_done
-  rxscan1196_scan:
-    set_addr $I10, rxscan1196_loop
-    rx1192_cur."!mark_push"(0, rx1192_pos, $I10)
-  rxscan1196_done:
-.annotate 'line', 515
+.sub "infix:sym<&&>"  :subid("305_1274853038.58734") :method :outer("11_1274853038.58734")
+.annotate 'line', 433
+    .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 ", "infix:sym<&&>")
+    .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, rxscan1201_done
+    goto rxscan1201_scan
+  rxscan1201_loop:
+    ($P10) = rx1197_cur."from"()
+    inc $P10
+    set rx1197_pos, $P10
+    ge rx1197_pos, rx1197_eos, rxscan1201_done
+  rxscan1201_scan:
+    set_addr $I10, rxscan1201_loop
+    rx1197_cur."!mark_push"(0, rx1197_pos, $I10)
+  rxscan1201_done:
+.annotate 'line', 517
   # rx subcapture "sym"
-    set_addr $I10, rxcap_1197_fail
-    rx1192_cur."!mark_push"(0, rx1192_pos, $I10)
+    set_addr $I10, rxcap_1202_fail
+    rx1197_cur."!mark_push"(0, rx1197_pos, $I10)
   # rx literal  "&&"
-    add $I11, rx1192_pos, 2
-    gt $I11, rx1192_eos, rx1192_fail
-    sub $I11, rx1192_pos, rx1192_off
-    substr $S10, rx1192_tgt, $I11, 2
-    ne $S10, "&&", rx1192_fail
-    add rx1192_pos, 2
-    set_addr $I10, rxcap_1197_fail
-    ($I12, $I11) = rx1192_cur."!mark_peek"($I10)
-    rx1192_cur."!cursor_pos"($I11)
-    ($P10) = rx1192_cur."!cursor_start"()
-    $P10."!cursor_pass"(rx1192_pos, "")
-    rx1192_cur."!mark_push"(0, -1, 0, $P10)
+    add $I11, rx1197_pos, 2
+    gt $I11, rx1197_eos, rx1197_fail
+    sub $I11, rx1197_pos, rx1197_off
+    substr $S10, rx1197_tgt, $I11, 2
+    ne $S10, "&&", rx1197_fail
+    add rx1197_pos, 2
+    set_addr $I10, rxcap_1202_fail
+    ($I12, $I11) = rx1197_cur."!mark_peek"($I10)
+    rx1197_cur."!cursor_pos"($I11)
+    ($P10) = rx1197_cur."!cursor_start"()
+    $P10."!cursor_pass"(rx1197_pos, "")
+    rx1197_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("sym")
-    goto rxcap_1197_done
-  rxcap_1197_fail:
-    goto rx1192_fail
-  rxcap_1197_done:
+    goto rxcap_1202_done
+  rxcap_1202_fail:
+    goto rx1197_fail
+  rxcap_1202_done:
   # rx subrule "O" subtype=capture negate=
-    rx1192_cur."!cursor_pos"(rx1192_pos)
-    $P10 = rx1192_cur."O"("%tight_and, :pasttype<if>")
-    unless $P10, rx1192_fail
-    rx1192_cur."!mark_push"(0, -1, 0, $P10)
+    rx1197_cur."!cursor_pos"(rx1197_pos)
+    $P10 = rx1197_cur."O"("%tight_and, :pasttype<if>")
+    unless $P10, rx1197_fail
+    rx1197_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("O")
-    rx1192_pos = $P10."pos"()
+    rx1197_pos = $P10."pos"()
   # rx pass
-    rx1192_cur."!cursor_pass"(rx1192_pos, "infix:sym<&&>")
-    rx1192_cur."!cursor_debug"("PASS  ", "infix:sym<&&>", " at pos=", rx1192_pos)
-    .return (rx1192_cur)
-  rx1192_fail:
-.annotate 'line', 431
-    (rx1192_rep, rx1192_pos, $I10, $P10) = rx1192_cur."!mark_fail"(0)
-    lt rx1192_pos, -1, rx1192_done
-    eq rx1192_pos, -1, rx1192_fail
-    jump $I10
-  rx1192_done:
-    rx1192_cur."!cursor_fail"()
-    rx1192_cur."!cursor_debug"("FAIL  ", "infix:sym<&&>")
-    .return (rx1192_cur)
+    rx1197_cur."!cursor_pass"(rx1197_pos, "infix:sym<&&>")
+    rx1197_cur."!cursor_debug"("PASS  ", "infix:sym<&&>", " at pos=", rx1197_pos)
+    .return (rx1197_cur)
+  rx1197_fail:
+.annotate 'line', 433
+    (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  ", "infix:sym<&&>")
+    .return (rx1197_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__infix:sym<&&>"  :subid("304_1274800460.92525") :method
-.annotate 'line', 431
-    $P1194 = self."!PREFIX__!subrule"("O", "&&")
-    new $P1195, "ResizablePMCArray"
-    push $P1195, $P1194
-    .return ($P1195)
+.sub "!PREFIX__infix:sym<&&>"  :subid("306_1274853038.58734") :method
+.annotate 'line', 433
+    $P1199 = self."!PREFIX__!subrule"("O", "&&")
+    new $P1200, "ResizablePMCArray"
+    push $P1200, $P1199
+    .return ($P1200)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "infix:sym<||>"  :subid("305_1274800460.92525") :method :outer("11_1274800460.92525")
-.annotate 'line', 431
-    .local string rx1199_tgt
-    .local int rx1199_pos
-    .local int rx1199_off
-    .local int rx1199_eos
-    .local int rx1199_rep
-    .local pmc rx1199_cur
-    (rx1199_cur, rx1199_pos, rx1199_tgt) = self."!cursor_start"()
-    rx1199_cur."!cursor_debug"("START ", "infix:sym<||>")
-    .lex unicode:"$\x{a2}", rx1199_cur
-    .local pmc match
-    .lex "$/", match
-    length rx1199_eos, rx1199_tgt
-    set rx1199_off, 0
-    lt rx1199_pos, 2, rx1199_start
-    sub rx1199_off, rx1199_pos, 1
-    substr rx1199_tgt, rx1199_tgt, rx1199_off
-  rx1199_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan1203_done
-    goto rxscan1203_scan
-  rxscan1203_loop:
-    ($P10) = rx1199_cur."from"()
-    inc $P10
-    set rx1199_pos, $P10
-    ge rx1199_pos, rx1199_eos, rxscan1203_done
-  rxscan1203_scan:
-    set_addr $I10, rxscan1203_loop
-    rx1199_cur."!mark_push"(0, rx1199_pos, $I10)
-  rxscan1203_done:
-.annotate 'line', 517
+.sub "infix:sym<||>"  :subid("307_1274853038.58734") :method :outer("11_1274853038.58734")
+.annotate 'line', 433
+    .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 ", "infix:sym<||>")
+    .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, rxscan1208_done
+    goto rxscan1208_scan
+  rxscan1208_loop:
+    ($P10) = rx1204_cur."from"()
+    inc $P10
+    set rx1204_pos, $P10
+    ge rx1204_pos, rx1204_eos, rxscan1208_done
+  rxscan1208_scan:
+    set_addr $I10, rxscan1208_loop
+    rx1204_cur."!mark_push"(0, rx1204_pos, $I10)
+  rxscan1208_done:
+.annotate 'line', 519
   # rx subcapture "sym"
-    set_addr $I10, rxcap_1204_fail
-    rx1199_cur."!mark_push"(0, rx1199_pos, $I10)
+    set_addr $I10, rxcap_1209_fail
+    rx1204_cur."!mark_push"(0, rx1204_pos, $I10)
   # rx literal  "||"
-    add $I11, rx1199_pos, 2
-    gt $I11, rx1199_eos, rx1199_fail
-    sub $I11, rx1199_pos, rx1199_off
-    substr $S10, rx1199_tgt, $I11, 2
-    ne $S10, "||", rx1199_fail
-    add rx1199_pos, 2
-    set_addr $I10, rxcap_1204_fail
-    ($I12, $I11) = rx1199_cur."!mark_peek"($I10)
-    rx1199_cur."!cursor_pos"($I11)
-    ($P10) = rx1199_cur."!cursor_start"()
-    $P10."!cursor_pass"(rx1199_pos, "")
-    rx1199_cur."!mark_push"(0, -1, 0, $P10)
+    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, "||", rx1204_fail
+    add rx1204_pos, 2
+    set_addr $I10, rxcap_1209_fail
+    ($I12, $I11) = rx1204_cur."!mark_peek"($I10)
+    rx1204_cur."!cursor_pos"($I11)
+    ($P10) = rx1204_cur."!cursor_start"()
+    $P10."!cursor_pass"(rx1204_pos, "")
+    rx1204_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("sym")
-    goto rxcap_1204_done
-  rxcap_1204_fail:
-    goto rx1199_fail
-  rxcap_1204_done:
+    goto rxcap_1209_done
+  rxcap_1209_fail:
+    goto rx1204_fail
+  rxcap_1209_done:
   # rx subrule "O" subtype=capture negate=
-    rx1199_cur."!cursor_pos"(rx1199_pos)
-    $P10 = rx1199_cur."O"("%tight_or, :pasttype<unless>")
-    unless $P10, rx1199_fail
-    rx1199_cur."!mark_push"(0, -1, 0, $P10)
+    rx1204_cur."!cursor_pos"(rx1204_pos)
+    $P10 = rx1204_cur."O"("%tight_or, :pasttype<unless>")
+    unless $P10, rx1204_fail
+    rx1204_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("O")
-    rx1199_pos = $P10."pos"()
+    rx1204_pos = $P10."pos"()
   # rx pass
-    rx1199_cur."!cursor_pass"(rx1199_pos, "infix:sym<||>")
-    rx1199_cur."!cursor_debug"("PASS  ", "infix:sym<||>", " at pos=", rx1199_pos)
-    .return (rx1199_cur)
-  rx1199_fail:
-.annotate 'line', 431
-    (rx1199_rep, rx1199_pos, $I10, $P10) = rx1199_cur."!mark_fail"(0)
-    lt rx1199_pos, -1, rx1199_done
-    eq rx1199_pos, -1, rx1199_fail
-    jump $I10
-  rx1199_done:
-    rx1199_cur."!cursor_fail"()
-    rx1199_cur."!cursor_debug"("FAIL  ", "infix:sym<||>")
-    .return (rx1199_cur)
+    rx1204_cur."!cursor_pass"(rx1204_pos, "infix:sym<||>")
+    rx1204_cur."!cursor_debug"("PASS  ", "infix:sym<||>", " at pos=", rx1204_pos)
+    .return (rx1204_cur)
+  rx1204_fail:
+.annotate 'line', 433
+    (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  ", "infix:sym<||>")
+    .return (rx1204_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__infix:sym<||>"  :subid("306_1274800460.92525") :method
-.annotate 'line', 431
-    $P1201 = self."!PREFIX__!subrule"("O", "||")
-    new $P1202, "ResizablePMCArray"
-    push $P1202, $P1201
-    .return ($P1202)
+.sub "!PREFIX__infix:sym<||>"  :subid("308_1274853038.58734") :method
+.annotate 'line', 433
+    $P1206 = self."!PREFIX__!subrule"("O", "||")
+    new $P1207, "ResizablePMCArray"
+    push $P1207, $P1206
+    .return ($P1207)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "infix:sym<//>"  :subid("307_1274800460.92525") :method :outer("11_1274800460.92525")
-.annotate 'line', 431
-    .local string rx1206_tgt
-    .local int rx1206_pos
-    .local int rx1206_off
-    .local int rx1206_eos
-    .local int rx1206_rep
-    .local pmc rx1206_cur
-    (rx1206_cur, rx1206_pos, rx1206_tgt) = self."!cursor_start"()
-    rx1206_cur."!cursor_debug"("START ", "infix:sym<//>")
-    .lex unicode:"$\x{a2}", rx1206_cur
-    .local pmc match
-    .lex "$/", match
-    length rx1206_eos, rx1206_tgt
-    set rx1206_off, 0
-    lt rx1206_pos, 2, rx1206_start
-    sub rx1206_off, rx1206_pos, 1
-    substr rx1206_tgt, rx1206_tgt, rx1206_off
-  rx1206_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan1210_done
-    goto rxscan1210_scan
-  rxscan1210_loop:
-    ($P10) = rx1206_cur."from"()
-    inc $P10
-    set rx1206_pos, $P10
-    ge rx1206_pos, rx1206_eos, rxscan1210_done
-  rxscan1210_scan:
-    set_addr $I10, rxscan1210_loop
-    rx1206_cur."!mark_push"(0, rx1206_pos, $I10)
-  rxscan1210_done:
-.annotate 'line', 518
+.sub "infix:sym<//>"  :subid("309_1274853038.58734") :method :outer("11_1274853038.58734")
+.annotate 'line', 433
+    .local string rx1211_tgt
+    .local int rx1211_pos
+    .local int rx1211_off
+    .local int rx1211_eos
+    .local int rx1211_rep
+    .local pmc rx1211_cur
+    (rx1211_cur, rx1211_pos, rx1211_tgt) = self."!cursor_start"()
+    rx1211_cur."!cursor_debug"("START ", "infix:sym<//>")
+    .lex unicode:"$\x{a2}", rx1211_cur
+    .local pmc match
+    .lex "$/", match
+    length rx1211_eos, rx1211_tgt
+    set rx1211_off, 0
+    lt rx1211_pos, 2, rx1211_start
+    sub rx1211_off, rx1211_pos, 1
+    substr rx1211_tgt, rx1211_tgt, rx1211_off
+  rx1211_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan1215_done
+    goto rxscan1215_scan
+  rxscan1215_loop:
+    ($P10) = rx1211_cur."from"()
+    inc $P10
+    set rx1211_pos, $P10
+    ge rx1211_pos, rx1211_eos, rxscan1215_done
+  rxscan1215_scan:
+    set_addr $I10, rxscan1215_loop
+    rx1211_cur."!mark_push"(0, rx1211_pos, $I10)
+  rxscan1215_done:
+.annotate 'line', 520
   # rx subcapture "sym"
-    set_addr $I10, rxcap_1211_fail
-    rx1206_cur."!mark_push"(0, rx1206_pos, $I10)
+    set_addr $I10, rxcap_1216_fail
+    rx1211_cur."!mark_push"(0, rx1211_pos, $I10)
   # rx literal  "//"
-    add $I11, rx1206_pos, 2
-    gt $I11, rx1206_eos, rx1206_fail
-    sub $I11, rx1206_pos, rx1206_off
-    substr $S10, rx1206_tgt, $I11, 2
-    ne $S10, "//", rx1206_fail
-    add rx1206_pos, 2
-    set_addr $I10, rxcap_1211_fail
-    ($I12, $I11) = rx1206_cur."!mark_peek"($I10)
-    rx1206_cur."!cursor_pos"($I11)
-    ($P10) = rx1206_cur."!cursor_start"()
-    $P10."!cursor_pass"(rx1206_pos, "")
-    rx1206_cur."!mark_push"(0, -1, 0, $P10)
+    add $I11, rx1211_pos, 2
+    gt $I11, rx1211_eos, rx1211_fail
+    sub $I11, rx1211_pos, rx1211_off
+    substr $S10, rx1211_tgt, $I11, 2
+    ne $S10, "//", rx1211_fail
+    add rx1211_pos, 2
+    set_addr $I10, rxcap_1216_fail
+    ($I12, $I11) = rx1211_cur."!mark_peek"($I10)
+    rx1211_cur."!cursor_pos"($I11)
+    ($P10) = rx1211_cur."!cursor_start"()
+    $P10."!cursor_pass"(rx1211_pos, "")
+    rx1211_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("sym")
-    goto rxcap_1211_done
-  rxcap_1211_fail:
-    goto rx1206_fail
-  rxcap_1211_done:
+    goto rxcap_1216_done
+  rxcap_1216_fail:
+    goto rx1211_fail
+  rxcap_1216_done:
   # rx subrule "O" subtype=capture negate=
-    rx1206_cur."!cursor_pos"(rx1206_pos)
-    $P10 = rx1206_cur."O"("%tight_or, :pasttype<def_or>")
-    unless $P10, rx1206_fail
-    rx1206_cur."!mark_push"(0, -1, 0, $P10)
+    rx1211_cur."!cursor_pos"(rx1211_pos)
+    $P10 = rx1211_cur."O"("%tight_or, :pasttype<def_or>")
+    unless $P10, rx1211_fail
+    rx1211_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("O")
-    rx1206_pos = $P10."pos"()
+    rx1211_pos = $P10."pos"()
   # rx pass
-    rx1206_cur."!cursor_pass"(rx1206_pos, "infix:sym<//>")
-    rx1206_cur."!cursor_debug"("PASS  ", "infix:sym<//>", " at pos=", rx1206_pos)
-    .return (rx1206_cur)
-  rx1206_fail:
-.annotate 'line', 431
-    (rx1206_rep, rx1206_pos, $I10, $P10) = rx1206_cur."!mark_fail"(0)
-    lt rx1206_pos, -1, rx1206_done
-    eq rx1206_pos, -1, rx1206_fail
-    jump $I10
-  rx1206_done:
-    rx1206_cur."!cursor_fail"()
-    rx1206_cur."!cursor_debug"("FAIL  ", "infix:sym<//>")
-    .return (rx1206_cur)
+    rx1211_cur."!cursor_pass"(rx1211_pos, "infix:sym<//>")
+    rx1211_cur."!cursor_debug"("PASS  ", "infix:sym<//>", " at pos=", rx1211_pos)
+    .return (rx1211_cur)
+  rx1211_fail:
+.annotate 'line', 433
+    (rx1211_rep, rx1211_pos, $I10, $P10) = rx1211_cur."!mark_fail"(0)
+    lt rx1211_pos, -1, rx1211_done
+    eq rx1211_pos, -1, rx1211_fail
+    jump $I10
+  rx1211_done:
+    rx1211_cur."!cursor_fail"()
+    rx1211_cur."!cursor_debug"("FAIL  ", "infix:sym<//>")
+    .return (rx1211_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__infix:sym<//>"  :subid("308_1274800460.92525") :method
-.annotate 'line', 431
-    $P1208 = self."!PREFIX__!subrule"("O", "//")
-    new $P1209, "ResizablePMCArray"
-    push $P1209, $P1208
-    .return ($P1209)
+.sub "!PREFIX__infix:sym<//>"  :subid("310_1274853038.58734") :method
+.annotate 'line', 433
+    $P1213 = self."!PREFIX__!subrule"("O", "//")
+    new $P1214, "ResizablePMCArray"
+    push $P1214, $P1213
+    .return ($P1214)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "infix:sym<?? !!>"  :subid("309_1274800460.92525") :method :outer("11_1274800460.92525")
-.annotate 'line', 431
-    .local string rx1213_tgt
-    .local int rx1213_pos
-    .local int rx1213_off
-    .local int rx1213_eos
-    .local int rx1213_rep
-    .local pmc rx1213_cur
-    (rx1213_cur, rx1213_pos, rx1213_tgt) = self."!cursor_start"()
-    rx1213_cur."!cursor_debug"("START ", "infix:sym<?? !!>")
-    .lex unicode:"$\x{a2}", rx1213_cur
-    .local pmc match
-    .lex "$/", match
-    length rx1213_eos, rx1213_tgt
-    set rx1213_off, 0
-    lt rx1213_pos, 2, rx1213_start
-    sub rx1213_off, rx1213_pos, 1
-    substr rx1213_tgt, rx1213_tgt, rx1213_off
-  rx1213_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan1217_done
-    goto rxscan1217_scan
-  rxscan1217_loop:
-    ($P10) = rx1213_cur."from"()
-    inc $P10
-    set rx1213_pos, $P10
-    ge rx1213_pos, rx1213_eos, rxscan1217_done
-  rxscan1217_scan:
-    set_addr $I10, rxscan1217_loop
-    rx1213_cur."!mark_push"(0, rx1213_pos, $I10)
-  rxscan1217_done:
-.annotate 'line', 521
+.sub "infix:sym<?? !!>"  :subid("311_1274853038.58734") :method :outer("11_1274853038.58734")
+.annotate 'line', 433
+    .local string rx1218_tgt
+    .local int rx1218_pos
+    .local int rx1218_off
+    .local int rx1218_eos
+    .local int rx1218_rep
+    .local pmc rx1218_cur
+    (rx1218_cur, rx1218_pos, rx1218_tgt) = self."!cursor_start"()
+    rx1218_cur."!cursor_debug"("START ", "infix:sym<?? !!>")
+    .lex unicode:"$\x{a2}", rx1218_cur
+    .local pmc match
+    .lex "$/", match
+    length rx1218_eos, rx1218_tgt
+    set rx1218_off, 0
+    lt rx1218_pos, 2, rx1218_start
+    sub rx1218_off, rx1218_pos, 1
+    substr rx1218_tgt, rx1218_tgt, rx1218_off
+  rx1218_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan1222_done
+    goto rxscan1222_scan
+  rxscan1222_loop:
+    ($P10) = rx1218_cur."from"()
+    inc $P10
+    set rx1218_pos, $P10
+    ge rx1218_pos, rx1218_eos, rxscan1222_done
+  rxscan1222_scan:
+    set_addr $I10, rxscan1222_loop
+    rx1218_cur."!mark_push"(0, rx1218_pos, $I10)
+  rxscan1222_done:
+.annotate 'line', 523
   # rx literal  "??"
-    add $I11, rx1213_pos, 2
-    gt $I11, rx1213_eos, rx1213_fail
-    sub $I11, rx1213_pos, rx1213_off
-    substr $S10, rx1213_tgt, $I11, 2
-    ne $S10, "??", rx1213_fail
-    add rx1213_pos, 2
-.annotate 'line', 522
+    add $I11, rx1218_pos, 2
+    gt $I11, rx1218_eos, rx1218_fail
+    sub $I11, rx1218_pos, rx1218_off
+    substr $S10, rx1218_tgt, $I11, 2
+    ne $S10, "??", rx1218_fail
+    add rx1218_pos, 2
+.annotate 'line', 524
   # rx subrule "ws" subtype=method negate=
-    rx1213_cur."!cursor_pos"(rx1213_pos)
-    $P10 = rx1213_cur."ws"()
-    unless $P10, rx1213_fail
-    rx1213_pos = $P10."pos"()
-.annotate 'line', 523
+    rx1218_cur."!cursor_pos"(rx1218_pos)
+    $P10 = rx1218_cur."ws"()
+    unless $P10, rx1218_fail
+    rx1218_pos = $P10."pos"()
+.annotate 'line', 525
   # rx subrule "EXPR" subtype=capture negate=
-    rx1213_cur."!cursor_pos"(rx1213_pos)
-    $P10 = rx1213_cur."EXPR"("i=")
-    unless $P10, rx1213_fail
-    rx1213_cur."!mark_push"(0, -1, 0, $P10)
+    rx1218_cur."!cursor_pos"(rx1218_pos)
+    $P10 = rx1218_cur."EXPR"("i=")
+    unless $P10, rx1218_fail
+    rx1218_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("EXPR")
-    rx1213_pos = $P10."pos"()
-.annotate 'line', 524
+    rx1218_pos = $P10."pos"()
+.annotate 'line', 526
   # rx literal  "!!"
-    add $I11, rx1213_pos, 2
-    gt $I11, rx1213_eos, rx1213_fail
-    sub $I11, rx1213_pos, rx1213_off
-    substr $S10, rx1213_tgt, $I11, 2
-    ne $S10, "!!", rx1213_fail
-    add rx1213_pos, 2
-.annotate 'line', 525
+    add $I11, rx1218_pos, 2
+    gt $I11, rx1218_eos, rx1218_fail
+    sub $I11, rx1218_pos, rx1218_off
+    substr $S10, rx1218_tgt, $I11, 2
+    ne $S10, "!!", rx1218_fail
+    add rx1218_pos, 2
+.annotate 'line', 527
   # rx subrule "O" subtype=capture negate=
-    rx1213_cur."!cursor_pos"(rx1213_pos)
-    $P10 = rx1213_cur."O"("%conditional, :reducecheck<ternary>, :pasttype<if>")
-    unless $P10, rx1213_fail
-    rx1213_cur."!mark_push"(0, -1, 0, $P10)
+    rx1218_cur."!cursor_pos"(rx1218_pos)
+    $P10 = rx1218_cur."O"("%conditional, :reducecheck<ternary>, :pasttype<if>")
+    unless $P10, rx1218_fail
+    rx1218_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("O")
-    rx1213_pos = $P10."pos"()
-.annotate 'line', 520
+    rx1218_pos = $P10."pos"()
+.annotate 'line', 522
   # rx pass
-    rx1213_cur."!cursor_pass"(rx1213_pos, "infix:sym<?? !!>")
-    rx1213_cur."!cursor_debug"("PASS  ", "infix:sym<?? !!>", " at pos=", rx1213_pos)
-    .return (rx1213_cur)
-  rx1213_fail:
-.annotate 'line', 431
-    (rx1213_rep, rx1213_pos, $I10, $P10) = rx1213_cur."!mark_fail"(0)
-    lt rx1213_pos, -1, rx1213_done
-    eq rx1213_pos, -1, rx1213_fail
-    jump $I10
-  rx1213_done:
-    rx1213_cur."!cursor_fail"()
-    rx1213_cur."!cursor_debug"("FAIL  ", "infix:sym<?? !!>")
-    .return (rx1213_cur)
+    rx1218_cur."!cursor_pass"(rx1218_pos, "infix:sym<?? !!>")
+    rx1218_cur."!cursor_debug"("PASS  ", "infix:sym<?? !!>", " at pos=", rx1218_pos)
+    .return (rx1218_cur)
+  rx1218_fail:
+.annotate 'line', 433
+    (rx1218_rep, rx1218_pos, $I10, $P10) = rx1218_cur."!mark_fail"(0)
+    lt rx1218_pos, -1, rx1218_done
+    eq rx1218_pos, -1, rx1218_fail
+    jump $I10
+  rx1218_done:
+    rx1218_cur."!cursor_fail"()
+    rx1218_cur."!cursor_debug"("FAIL  ", "infix:sym<?? !!>")
+    .return (rx1218_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__infix:sym<?? !!>"  :subid("310_1274800460.92525") :method
-.annotate 'line', 431
-    $P1215 = self."!PREFIX__!subrule"("", "??")
-    new $P1216, "ResizablePMCArray"
-    push $P1216, $P1215
-    .return ($P1216)
+.sub "!PREFIX__infix:sym<?? !!>"  :subid("312_1274853038.58734") :method
+.annotate 'line', 433
+    $P1220 = self."!PREFIX__!subrule"("", "??")
+    new $P1221, "ResizablePMCArray"
+    push $P1221, $P1220
+    .return ($P1221)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "infix:sym<=>"  :subid("311_1274800460.92525") :method :outer("11_1274800460.92525")
-.annotate 'line', 431
-    .local string rx1219_tgt
-    .local int rx1219_pos
-    .local int rx1219_off
-    .local int rx1219_eos
-    .local int rx1219_rep
-    .local pmc rx1219_cur
-    (rx1219_cur, rx1219_pos, rx1219_tgt) = self."!cursor_start"()
-    rx1219_cur."!cursor_debug"("START ", "infix:sym<=>")
-    .lex unicode:"$\x{a2}", rx1219_cur
-    .local pmc match
-    .lex "$/", match
-    length rx1219_eos, rx1219_tgt
-    set rx1219_off, 0
-    lt rx1219_pos, 2, rx1219_start
-    sub rx1219_off, rx1219_pos, 1
-    substr rx1219_tgt, rx1219_tgt, rx1219_off
-  rx1219_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan1223_done
-    goto rxscan1223_scan
-  rxscan1223_loop:
-    ($P10) = rx1219_cur."from"()
-    inc $P10
-    set rx1219_pos, $P10
-    ge rx1219_pos, rx1219_eos, rxscan1223_done
-  rxscan1223_scan:
-    set_addr $I10, rxscan1223_loop
-    rx1219_cur."!mark_push"(0, rx1219_pos, $I10)
-  rxscan1223_done:
-.annotate 'line', 529
+.sub "infix:sym<=>"  :subid("313_1274853038.58734") :method :outer("11_1274853038.58734")
+.annotate 'line', 433
+    .local string rx1224_tgt
+    .local int rx1224_pos
+    .local int rx1224_off
+    .local int rx1224_eos
+    .local int rx1224_rep
+    .local pmc rx1224_cur
+    (rx1224_cur, rx1224_pos, rx1224_tgt) = self."!cursor_start"()
+    rx1224_cur."!cursor_debug"("START ", "infix:sym<=>")
+    .lex unicode:"$\x{a2}", rx1224_cur
+    .local pmc match
+    .lex "$/", match
+    length rx1224_eos, rx1224_tgt
+    set rx1224_off, 0
+    lt rx1224_pos, 2, rx1224_start
+    sub rx1224_off, rx1224_pos, 1
+    substr rx1224_tgt, rx1224_tgt, rx1224_off
+  rx1224_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan1228_done
+    goto rxscan1228_scan
+  rxscan1228_loop:
+    ($P10) = rx1224_cur."from"()
+    inc $P10
+    set rx1224_pos, $P10
+    ge rx1224_pos, rx1224_eos, rxscan1228_done
+  rxscan1228_scan:
+    set_addr $I10, rxscan1228_loop
+    rx1224_cur."!mark_push"(0, rx1224_pos, $I10)
+  rxscan1228_done:
+.annotate 'line', 531
   # rx subcapture "sym"
-    set_addr $I10, rxcap_1224_fail
-    rx1219_cur."!mark_push"(0, rx1219_pos, $I10)
+    set_addr $I10, rxcap_1229_fail
+    rx1224_cur."!mark_push"(0, rx1224_pos, $I10)
   # rx literal  "="
-    add $I11, rx1219_pos, 1
-    gt $I11, rx1219_eos, rx1219_fail
-    sub $I11, rx1219_pos, rx1219_off
-    substr $S10, rx1219_tgt, $I11, 1
-    ne $S10, "=", rx1219_fail
-    add rx1219_pos, 1
-    set_addr $I10, rxcap_1224_fail
-    ($I12, $I11) = rx1219_cur."!mark_peek"($I10)
-    rx1219_cur."!cursor_pos"($I11)
-    ($P10) = rx1219_cur."!cursor_start"()
-    $P10."!cursor_pass"(rx1219_pos, "")
-    rx1219_cur."!mark_push"(0, -1, 0, $P10)
+    add $I11, rx1224_pos, 1
+    gt $I11, rx1224_eos, rx1224_fail
+    sub $I11, rx1224_pos, rx1224_off
+    substr $S10, rx1224_tgt, $I11, 1
+    ne $S10, "=", rx1224_fail
+    add rx1224_pos, 1
+    set_addr $I10, rxcap_1229_fail
+    ($I12, $I11) = rx1224_cur."!mark_peek"($I10)
+    rx1224_cur."!cursor_pos"($I11)
+    ($P10) = rx1224_cur."!cursor_start"()
+    $P10."!cursor_pass"(rx1224_pos, "")
+    rx1224_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("sym")
-    goto rxcap_1224_done
-  rxcap_1224_fail:
-    goto rx1219_fail
-  rxcap_1224_done:
+    goto rxcap_1229_done
+  rxcap_1229_fail:
+    goto rx1224_fail
+  rxcap_1229_done:
   # rx subrule "panic" subtype=method negate=
-    rx1219_cur."!cursor_pos"(rx1219_pos)
-    $P10 = rx1219_cur."panic"("Assignment (\"=\") not supported in NQP, use \":=\" instead")
-    unless $P10, rx1219_fail
-    rx1219_pos = $P10."pos"()
-.annotate 'line', 528
-  # rx pass
-    rx1219_cur."!cursor_pass"(rx1219_pos, "infix:sym<=>")
-    rx1219_cur."!cursor_debug"("PASS  ", "infix:sym<=>", " at pos=", rx1219_pos)
-    .return (rx1219_cur)
-  rx1219_fail:
-.annotate 'line', 431
-    (rx1219_rep, rx1219_pos, $I10, $P10) = rx1219_cur."!mark_fail"(0)
-    lt rx1219_pos, -1, rx1219_done
-    eq rx1219_pos, -1, rx1219_fail
-    jump $I10
-  rx1219_done:
-    rx1219_cur."!cursor_fail"()
-    rx1219_cur."!cursor_debug"("FAIL  ", "infix:sym<=>")
-    .return (rx1219_cur)
+    rx1224_cur."!cursor_pos"(rx1224_pos)
+    $P10 = rx1224_cur."panic"("Assignment (\"=\") not supported in NQP, use \":=\" instead")
+    unless $P10, rx1224_fail
+    rx1224_pos = $P10."pos"()
+.annotate 'line', 530
+  # rx pass
+    rx1224_cur."!cursor_pass"(rx1224_pos, "infix:sym<=>")
+    rx1224_cur."!cursor_debug"("PASS  ", "infix:sym<=>", " at pos=", rx1224_pos)
+    .return (rx1224_cur)
+  rx1224_fail:
+.annotate 'line', 433
+    (rx1224_rep, rx1224_pos, $I10, $P10) = rx1224_cur."!mark_fail"(0)
+    lt rx1224_pos, -1, rx1224_done
+    eq rx1224_pos, -1, rx1224_fail
+    jump $I10
+  rx1224_done:
+    rx1224_cur."!cursor_fail"()
+    rx1224_cur."!cursor_debug"("FAIL  ", "infix:sym<=>")
+    .return (rx1224_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__infix:sym<=>"  :subid("312_1274800460.92525") :method
-.annotate 'line', 431
-    $P1221 = self."!PREFIX__!subrule"("", "=")
-    new $P1222, "ResizablePMCArray"
-    push $P1222, $P1221
-    .return ($P1222)
+.sub "!PREFIX__infix:sym<=>"  :subid("314_1274853038.58734") :method
+.annotate 'line', 433
+    $P1226 = self."!PREFIX__!subrule"("", "=")
+    new $P1227, "ResizablePMCArray"
+    push $P1227, $P1226
+    .return ($P1227)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "infix:sym<:=>"  :subid("313_1274800460.92525") :method :outer("11_1274800460.92525")
-.annotate 'line', 431
-    .local string rx1226_tgt
-    .local int rx1226_pos
-    .local int rx1226_off
-    .local int rx1226_eos
-    .local int rx1226_rep
-    .local pmc rx1226_cur
-    (rx1226_cur, rx1226_pos, rx1226_tgt) = self."!cursor_start"()
-    rx1226_cur."!cursor_debug"("START ", "infix:sym<:=>")
-    .lex unicode:"$\x{a2}", rx1226_cur
-    .local pmc match
-    .lex "$/", match
-    length rx1226_eos, rx1226_tgt
-    set rx1226_off, 0
-    lt rx1226_pos, 2, rx1226_start
-    sub rx1226_off, rx1226_pos, 1
-    substr rx1226_tgt, rx1226_tgt, rx1226_off
-  rx1226_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan1230_done
-    goto rxscan1230_scan
-  rxscan1230_loop:
-    ($P10) = rx1226_cur."from"()
-    inc $P10
-    set rx1226_pos, $P10
-    ge rx1226_pos, rx1226_eos, rxscan1230_done
-  rxscan1230_scan:
-    set_addr $I10, rxscan1230_loop
-    rx1226_cur."!mark_push"(0, rx1226_pos, $I10)
-  rxscan1230_done:
-.annotate 'line', 531
+.sub "infix:sym<:=>"  :subid("315_1274853038.58734") :method :outer("11_1274853038.58734")
+.annotate 'line', 433
+    .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 ", "infix:sym<:=>")
+    .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', 533
   # rx subcapture "sym"
-    set_addr $I10, rxcap_1231_fail
-    rx1226_cur."!mark_push"(0, rx1226_pos, $I10)
+    set_addr $I10, rxcap_1236_fail
+    rx1231_cur."!mark_push"(0, rx1231_pos, $I10)
   # rx literal  ":="
-    add $I11, rx1226_pos, 2
-    gt $I11, rx1226_eos, rx1226_fail
-    sub $I11, rx1226_pos, rx1226_off
-    substr $S10, rx1226_tgt, $I11, 2
-    ne $S10, ":=", rx1226_fail
-    add rx1226_pos, 2
-    set_addr $I10, rxcap_1231_fail
-    ($I12, $I11) = rx1226_cur."!mark_peek"($I10)
-    rx1226_cur."!cursor_pos"($I11)
-    ($P10) = rx1226_cur."!cursor_start"()
-    $P10."!cursor_pass"(rx1226_pos, "")
-    rx1226_cur."!mark_push"(0, -1, 0, $P10)
+    add $I11, rx1231_pos, 2
+    gt $I11, rx1231_eos, rx1231_fail
+    sub $I11, rx1231_pos, rx1231_off
+    substr $S10, rx1231_tgt, $I11, 2
+    ne $S10, ":=", rx1231_fail
+    add rx1231_pos, 2
+    set_addr $I10, rxcap_1236_fail
+    ($I12, $I11) = rx1231_cur."!mark_peek"($I10)
+    rx1231_cur."!cursor_pos"($I11)
+    ($P10) = rx1231_cur."!cursor_start"()
+    $P10."!cursor_pass"(rx1231_pos, "")
+    rx1231_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("sym")
-    goto rxcap_1231_done
-  rxcap_1231_fail:
-    goto rx1226_fail
-  rxcap_1231_done:
+    goto rxcap_1236_done
+  rxcap_1236_fail:
+    goto rx1231_fail
+  rxcap_1236_done:
   # rx subrule "O" subtype=capture negate=
-    rx1226_cur."!cursor_pos"(rx1226_pos)
-    $P10 = rx1226_cur."O"("%assignment, :pasttype<bind>")
-    unless $P10, rx1226_fail
-    rx1226_cur."!mark_push"(0, -1, 0, $P10)
+    rx1231_cur."!cursor_pos"(rx1231_pos)
+    $P10 = rx1231_cur."O"("%assignment, :pasttype<bind>")
+    unless $P10, rx1231_fail
+    rx1231_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("O")
-    rx1226_pos = $P10."pos"()
+    rx1231_pos = $P10."pos"()
   # rx pass
-    rx1226_cur."!cursor_pass"(rx1226_pos, "infix:sym<:=>")
-    rx1226_cur."!cursor_debug"("PASS  ", "infix:sym<:=>", " at pos=", rx1226_pos)
-    .return (rx1226_cur)
-  rx1226_fail:
-.annotate 'line', 431
-    (rx1226_rep, rx1226_pos, $I10, $P10) = rx1226_cur."!mark_fail"(0)
-    lt rx1226_pos, -1, rx1226_done
-    eq rx1226_pos, -1, rx1226_fail
-    jump $I10
-  rx1226_done:
-    rx1226_cur."!cursor_fail"()
-    rx1226_cur."!cursor_debug"("FAIL  ", "infix:sym<:=>")
-    .return (rx1226_cur)
+    rx1231_cur."!cursor_pass"(rx1231_pos, "infix:sym<:=>")
+    rx1231_cur."!cursor_debug"("PASS  ", "infix:sym<:=>", " at pos=", rx1231_pos)
+    .return (rx1231_cur)
+  rx1231_fail:
+.annotate 'line', 433
+    (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  ", "infix:sym<:=>")
+    .return (rx1231_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__infix:sym<:=>"  :subid("314_1274800460.92525") :method
-.annotate 'line', 431
-    $P1228 = self."!PREFIX__!subrule"("O", ":=")
-    new $P1229, "ResizablePMCArray"
-    push $P1229, $P1228
-    .return ($P1229)
+.sub "!PREFIX__infix:sym<:=>"  :subid("316_1274853038.58734") :method
+.annotate 'line', 433
+    $P1233 = self."!PREFIX__!subrule"("O", ":=")
+    new $P1234, "ResizablePMCArray"
+    push $P1234, $P1233
+    .return ($P1234)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "infix:sym<::=>"  :subid("315_1274800460.92525") :method :outer("11_1274800460.92525")
-.annotate 'line', 431
-    .local string rx1233_tgt
-    .local int rx1233_pos
-    .local int rx1233_off
-    .local int rx1233_eos
-    .local int rx1233_rep
-    .local pmc rx1233_cur
-    (rx1233_cur, rx1233_pos, rx1233_tgt) = self."!cursor_start"()
-    rx1233_cur."!cursor_debug"("START ", "infix:sym<::=>")
-    .lex unicode:"$\x{a2}", rx1233_cur
-    .local pmc match
-    .lex "$/", match
-    length rx1233_eos, rx1233_tgt
-    set rx1233_off, 0
-    lt rx1233_pos, 2, rx1233_start
-    sub rx1233_off, rx1233_pos, 1
-    substr rx1233_tgt, rx1233_tgt, rx1233_off
-  rx1233_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan1237_done
-    goto rxscan1237_scan
-  rxscan1237_loop:
-    ($P10) = rx1233_cur."from"()
-    inc $P10
-    set rx1233_pos, $P10
-    ge rx1233_pos, rx1233_eos, rxscan1237_done
-  rxscan1237_scan:
-    set_addr $I10, rxscan1237_loop
-    rx1233_cur."!mark_push"(0, rx1233_pos, $I10)
-  rxscan1237_done:
-.annotate 'line', 532
+.sub "infix:sym<::=>"  :subid("317_1274853038.58734") :method :outer("11_1274853038.58734")
+.annotate 'line', 433
+    .local string rx1238_tgt
+    .local int rx1238_pos
+    .local int rx1238_off
+    .local int rx1238_eos
+    .local int rx1238_rep
+    .local pmc rx1238_cur
+    (rx1238_cur, rx1238_pos, rx1238_tgt) = self."!cursor_start"()
+    rx1238_cur."!cursor_debug"("START ", "infix:sym<::=>")
+    .lex unicode:"$\x{a2}", rx1238_cur
+    .local pmc match
+    .lex "$/", match
+    length rx1238_eos, rx1238_tgt
+    set rx1238_off, 0
+    lt rx1238_pos, 2, rx1238_start
+    sub rx1238_off, rx1238_pos, 1
+    substr rx1238_tgt, rx1238_tgt, rx1238_off
+  rx1238_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan1242_done
+    goto rxscan1242_scan
+  rxscan1242_loop:
+    ($P10) = rx1238_cur."from"()
+    inc $P10
+    set rx1238_pos, $P10
+    ge rx1238_pos, rx1238_eos, rxscan1242_done
+  rxscan1242_scan:
+    set_addr $I10, rxscan1242_loop
+    rx1238_cur."!mark_push"(0, rx1238_pos, $I10)
+  rxscan1242_done:
+.annotate 'line', 534
   # rx subcapture "sym"
-    set_addr $I10, rxcap_1238_fail
-    rx1233_cur."!mark_push"(0, rx1233_pos, $I10)
+    set_addr $I10, rxcap_1243_fail
+    rx1238_cur."!mark_push"(0, rx1238_pos, $I10)
   # rx literal  "::="
-    add $I11, rx1233_pos, 3
-    gt $I11, rx1233_eos, rx1233_fail
-    sub $I11, rx1233_pos, rx1233_off
-    substr $S10, rx1233_tgt, $I11, 3
-    ne $S10, "::=", rx1233_fail
-    add rx1233_pos, 3
-    set_addr $I10, rxcap_1238_fail
-    ($I12, $I11) = rx1233_cur."!mark_peek"($I10)
-    rx1233_cur."!cursor_pos"($I11)
-    ($P10) = rx1233_cur."!cursor_start"()
-    $P10."!cursor_pass"(rx1233_pos, "")
-    rx1233_cur."!mark_push"(0, -1, 0, $P10)
+    add $I11, rx1238_pos, 3
+    gt $I11, rx1238_eos, rx1238_fail
+    sub $I11, rx1238_pos, rx1238_off
+    substr $S10, rx1238_tgt, $I11, 3
+    ne $S10, "::=", rx1238_fail
+    add rx1238_pos, 3
+    set_addr $I10, rxcap_1243_fail
+    ($I12, $I11) = rx1238_cur."!mark_peek"($I10)
+    rx1238_cur."!cursor_pos"($I11)
+    ($P10) = rx1238_cur."!cursor_start"()
+    $P10."!cursor_pass"(rx1238_pos, "")
+    rx1238_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("sym")
-    goto rxcap_1238_done
-  rxcap_1238_fail:
-    goto rx1233_fail
-  rxcap_1238_done:
+    goto rxcap_1243_done
+  rxcap_1243_fail:
+    goto rx1238_fail
+  rxcap_1243_done:
   # rx subrule "O" subtype=capture negate=
-    rx1233_cur."!cursor_pos"(rx1233_pos)
-    $P10 = rx1233_cur."O"("%assignment, :pasttype<bind>")
-    unless $P10, rx1233_fail
-    rx1233_cur."!mark_push"(0, -1, 0, $P10)
+    rx1238_cur."!cursor_pos"(rx1238_pos)
+    $P10 = rx1238_cur."O"("%assignment, :pasttype<bind>")
+    unless $P10, rx1238_fail
+    rx1238_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("O")
-    rx1233_pos = $P10."pos"()
+    rx1238_pos = $P10."pos"()
   # rx pass
-    rx1233_cur."!cursor_pass"(rx1233_pos, "infix:sym<::=>")
-    rx1233_cur."!cursor_debug"("PASS  ", "infix:sym<::=>", " at pos=", rx1233_pos)
-    .return (rx1233_cur)
-  rx1233_fail:
-.annotate 'line', 431
-    (rx1233_rep, rx1233_pos, $I10, $P10) = rx1233_cur."!mark_fail"(0)
-    lt rx1233_pos, -1, rx1233_done
-    eq rx1233_pos, -1, rx1233_fail
-    jump $I10
-  rx1233_done:
-    rx1233_cur."!cursor_fail"()
-    rx1233_cur."!cursor_debug"("FAIL  ", "infix:sym<::=>")
-    .return (rx1233_cur)
+    rx1238_cur."!cursor_pass"(rx1238_pos, "infix:sym<::=>")
+    rx1238_cur."!cursor_debug"("PASS  ", "infix:sym<::=>", " at pos=", rx1238_pos)
+    .return (rx1238_cur)
+  rx1238_fail:
+.annotate 'line', 433
+    (rx1238_rep, rx1238_pos, $I10, $P10) = rx1238_cur."!mark_fail"(0)
+    lt rx1238_pos, -1, rx1238_done
+    eq rx1238_pos, -1, rx1238_fail
+    jump $I10
+  rx1238_done:
+    rx1238_cur."!cursor_fail"()
+    rx1238_cur."!cursor_debug"("FAIL  ", "infix:sym<::=>")
+    .return (rx1238_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__infix:sym<::=>"  :subid("316_1274800460.92525") :method
-.annotate 'line', 431
-    $P1235 = self."!PREFIX__!subrule"("O", "::=")
-    new $P1236, "ResizablePMCArray"
-    push $P1236, $P1235
-    .return ($P1236)
+.sub "!PREFIX__infix:sym<::=>"  :subid("318_1274853038.58734") :method
+.annotate 'line', 433
+    $P1240 = self."!PREFIX__!subrule"("O", "::=")
+    new $P1241, "ResizablePMCArray"
+    push $P1241, $P1240
+    .return ($P1241)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "infix:sym<,>"  :subid("317_1274800460.92525") :method :outer("11_1274800460.92525")
-.annotate 'line', 431
-    .local string rx1240_tgt
-    .local int rx1240_pos
-    .local int rx1240_off
-    .local int rx1240_eos
-    .local int rx1240_rep
-    .local pmc rx1240_cur
-    (rx1240_cur, rx1240_pos, rx1240_tgt) = self."!cursor_start"()
-    rx1240_cur."!cursor_debug"("START ", "infix:sym<,>")
-    .lex unicode:"$\x{a2}", rx1240_cur
-    .local pmc match
-    .lex "$/", match
-    length rx1240_eos, rx1240_tgt
-    set rx1240_off, 0
-    lt rx1240_pos, 2, rx1240_start
-    sub rx1240_off, rx1240_pos, 1
-    substr rx1240_tgt, rx1240_tgt, rx1240_off
-  rx1240_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan1244_done
-    goto rxscan1244_scan
-  rxscan1244_loop:
-    ($P10) = rx1240_cur."from"()
-    inc $P10
-    set rx1240_pos, $P10
-    ge rx1240_pos, rx1240_eos, rxscan1244_done
-  rxscan1244_scan:
-    set_addr $I10, rxscan1244_loop
-    rx1240_cur."!mark_push"(0, rx1240_pos, $I10)
-  rxscan1244_done:
-.annotate 'line', 534
+.sub "infix:sym<,>"  :subid("319_1274853038.58734") :method :outer("11_1274853038.58734")
+.annotate 'line', 433
+    .local string rx1245_tgt
+    .local int rx1245_pos
+    .local int rx1245_off
+    .local int rx1245_eos
+    .local int rx1245_rep
+    .local pmc rx1245_cur
+    (rx1245_cur, rx1245_pos, rx1245_tgt) = self."!cursor_start"()
+    rx1245_cur."!cursor_debug"("START ", "infix:sym<,>")
+    .lex unicode:"$\x{a2}", rx1245_cur
+    .local pmc match
+    .lex "$/", match
+    length rx1245_eos, rx1245_tgt
+    set rx1245_off, 0
+    lt rx1245_pos, 2, rx1245_start
+    sub rx1245_off, rx1245_pos, 1
+    substr rx1245_tgt, rx1245_tgt, rx1245_off
+  rx1245_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan1249_done
+    goto rxscan1249_scan
+  rxscan1249_loop:
+    ($P10) = rx1245_cur."from"()
+    inc $P10
+    set rx1245_pos, $P10
+    ge rx1245_pos, rx1245_eos, rxscan1249_done
+  rxscan1249_scan:
+    set_addr $I10, rxscan1249_loop
+    rx1245_cur."!mark_push"(0, rx1245_pos, $I10)
+  rxscan1249_done:
+.annotate 'line', 536
   # rx subcapture "sym"
-    set_addr $I10, rxcap_1245_fail
-    rx1240_cur."!mark_push"(0, rx1240_pos, $I10)
+    set_addr $I10, rxcap_1250_fail
+    rx1245_cur."!mark_push"(0, rx1245_pos, $I10)
   # rx literal  ","
-    add $I11, rx1240_pos, 1
-    gt $I11, rx1240_eos, rx1240_fail
-    sub $I11, rx1240_pos, rx1240_off
-    substr $S10, rx1240_tgt, $I11, 1
-    ne $S10, ",", rx1240_fail
-    add rx1240_pos, 1
-    set_addr $I10, rxcap_1245_fail
-    ($I12, $I11) = rx1240_cur."!mark_peek"($I10)
-    rx1240_cur."!cursor_pos"($I11)
-    ($P10) = rx1240_cur."!cursor_start"()
-    $P10."!cursor_pass"(rx1240_pos, "")
-    rx1240_cur."!mark_push"(0, -1, 0, $P10)
+    add $I11, rx1245_pos, 1
+    gt $I11, rx1245_eos, rx1245_fail
+    sub $I11, rx1245_pos, rx1245_off
+    substr $S10, rx1245_tgt, $I11, 1
+    ne $S10, ",", rx1245_fail
+    add rx1245_pos, 1
+    set_addr $I10, rxcap_1250_fail
+    ($I12, $I11) = rx1245_cur."!mark_peek"($I10)
+    rx1245_cur."!cursor_pos"($I11)
+    ($P10) = rx1245_cur."!cursor_start"()
+    $P10."!cursor_pass"(rx1245_pos, "")
+    rx1245_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("sym")
-    goto rxcap_1245_done
-  rxcap_1245_fail:
-    goto rx1240_fail
-  rxcap_1245_done:
+    goto rxcap_1250_done
+  rxcap_1250_fail:
+    goto rx1245_fail
+  rxcap_1250_done:
   # rx subrule "O" subtype=capture negate=
-    rx1240_cur."!cursor_pos"(rx1240_pos)
-    $P10 = rx1240_cur."O"("%comma, :pasttype<list>")
-    unless $P10, rx1240_fail
-    rx1240_cur."!mark_push"(0, -1, 0, $P10)
+    rx1245_cur."!cursor_pos"(rx1245_pos)
+    $P10 = rx1245_cur."O"("%comma, :pasttype<list>")
+    unless $P10, rx1245_fail
+    rx1245_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("O")
-    rx1240_pos = $P10."pos"()
+    rx1245_pos = $P10."pos"()
   # rx pass
-    rx1240_cur."!cursor_pass"(rx1240_pos, "infix:sym<,>")
-    rx1240_cur."!cursor_debug"("PASS  ", "infix:sym<,>", " at pos=", rx1240_pos)
-    .return (rx1240_cur)
-  rx1240_fail:
-.annotate 'line', 431
-    (rx1240_rep, rx1240_pos, $I10, $P10) = rx1240_cur."!mark_fail"(0)
-    lt rx1240_pos, -1, rx1240_done
-    eq rx1240_pos, -1, rx1240_fail
+    rx1245_cur."!cursor_pass"(rx1245_pos, "infix:sym<,>")
+    rx1245_cur."!cursor_debug"("PASS  ", "infix:sym<,>", " at pos=", rx1245_pos)
+    .return (rx1245_cur)
+  rx1245_fail:
+.annotate 'line', 433
+    (rx1245_rep, rx1245_pos, $I10, $P10) = rx1245_cur."!mark_fail"(0)
+    lt rx1245_pos, -1, rx1245_done
+    eq rx1245_pos, -1, rx1245_fail
     jump $I10
-  rx1240_done:
-    rx1240_cur."!cursor_fail"()
-    rx1240_cur."!cursor_debug"("FAIL  ", "infix:sym<,>")
-    .return (rx1240_cur)
+  rx1245_done:
+    rx1245_cur."!cursor_fail"()
+    rx1245_cur."!cursor_debug"("FAIL  ", "infix:sym<,>")
+    .return (rx1245_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__infix:sym<,>"  :subid("318_1274800460.92525") :method
-.annotate 'line', 431
-    $P1242 = self."!PREFIX__!subrule"("O", ",")
-    new $P1243, "ResizablePMCArray"
-    push $P1243, $P1242
-    .return ($P1243)
+.sub "!PREFIX__infix:sym<,>"  :subid("320_1274853038.58734") :method
+.annotate 'line', 433
+    $P1247 = self."!PREFIX__!subrule"("O", ",")
+    new $P1248, "ResizablePMCArray"
+    push $P1248, $P1247
+    .return ($P1248)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "prefix:sym<return>"  :subid("319_1274800460.92525") :method :outer("11_1274800460.92525")
-.annotate 'line', 431
-    .local string rx1247_tgt
-    .local int rx1247_pos
-    .local int rx1247_off
-    .local int rx1247_eos
-    .local int rx1247_rep
-    .local pmc rx1247_cur
-    (rx1247_cur, rx1247_pos, rx1247_tgt) = self."!cursor_start"()
-    rx1247_cur."!cursor_debug"("START ", "prefix:sym<return>")
-    .lex unicode:"$\x{a2}", rx1247_cur
-    .local pmc match
-    .lex "$/", match
-    length rx1247_eos, rx1247_tgt
-    set rx1247_off, 0
-    lt rx1247_pos, 2, rx1247_start
-    sub rx1247_off, rx1247_pos, 1
-    substr rx1247_tgt, rx1247_tgt, rx1247_off
-  rx1247_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan1250_done
-    goto rxscan1250_scan
-  rxscan1250_loop:
-    ($P10) = rx1247_cur."from"()
-    inc $P10
-    set rx1247_pos, $P10
-    ge rx1247_pos, rx1247_eos, rxscan1250_done
-  rxscan1250_scan:
-    set_addr $I10, rxscan1250_loop
-    rx1247_cur."!mark_push"(0, rx1247_pos, $I10)
-  rxscan1250_done:
-.annotate 'line', 536
+.sub "prefix:sym<return>"  :subid("321_1274853038.58734") :method :outer("11_1274853038.58734")
+.annotate 'line', 433
+    .local string rx1252_tgt
+    .local int rx1252_pos
+    .local int rx1252_off
+    .local int rx1252_eos
+    .local int rx1252_rep
+    .local pmc rx1252_cur
+    (rx1252_cur, rx1252_pos, rx1252_tgt) = self."!cursor_start"()
+    rx1252_cur."!cursor_debug"("START ", "prefix:sym<return>")
+    .lex unicode:"$\x{a2}", rx1252_cur
+    .local pmc match
+    .lex "$/", match
+    length rx1252_eos, rx1252_tgt
+    set rx1252_off, 0
+    lt rx1252_pos, 2, rx1252_start
+    sub rx1252_off, rx1252_pos, 1
+    substr rx1252_tgt, rx1252_tgt, rx1252_off
+  rx1252_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan1255_done
+    goto rxscan1255_scan
+  rxscan1255_loop:
+    ($P10) = rx1252_cur."from"()
+    inc $P10
+    set rx1252_pos, $P10
+    ge rx1252_pos, rx1252_eos, rxscan1255_done
+  rxscan1255_scan:
+    set_addr $I10, rxscan1255_loop
+    rx1252_cur."!mark_push"(0, rx1252_pos, $I10)
+  rxscan1255_done:
+.annotate 'line', 538
   # rx subcapture "sym"
-    set_addr $I10, rxcap_1251_fail
-    rx1247_cur."!mark_push"(0, rx1247_pos, $I10)
+    set_addr $I10, rxcap_1256_fail
+    rx1252_cur."!mark_push"(0, rx1252_pos, $I10)
   # rx literal  "return"
-    add $I11, rx1247_pos, 6
-    gt $I11, rx1247_eos, rx1247_fail
-    sub $I11, rx1247_pos, rx1247_off
-    substr $S10, rx1247_tgt, $I11, 6
-    ne $S10, "return", rx1247_fail
-    add rx1247_pos, 6
-    set_addr $I10, rxcap_1251_fail
-    ($I12, $I11) = rx1247_cur."!mark_peek"($I10)
-    rx1247_cur."!cursor_pos"($I11)
-    ($P10) = rx1247_cur."!cursor_start"()
-    $P10."!cursor_pass"(rx1247_pos, "")
-    rx1247_cur."!mark_push"(0, -1, 0, $P10)
+    add $I11, rx1252_pos, 6
+    gt $I11, rx1252_eos, rx1252_fail
+    sub $I11, rx1252_pos, rx1252_off
+    substr $S10, rx1252_tgt, $I11, 6
+    ne $S10, "return", rx1252_fail
+    add rx1252_pos, 6
+    set_addr $I10, rxcap_1256_fail
+    ($I12, $I11) = rx1252_cur."!mark_peek"($I10)
+    rx1252_cur."!cursor_pos"($I11)
+    ($P10) = rx1252_cur."!cursor_start"()
+    $P10."!cursor_pass"(rx1252_pos, "")
+    rx1252_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("sym")
-    goto rxcap_1251_done
-  rxcap_1251_fail:
-    goto rx1247_fail
-  rxcap_1251_done:
+    goto rxcap_1256_done
+  rxcap_1256_fail:
+    goto rx1252_fail
+  rxcap_1256_done:
   # rx charclass s
-    ge rx1247_pos, rx1247_eos, rx1247_fail
-    sub $I10, rx1247_pos, rx1247_off
-    is_cclass $I11, 32, rx1247_tgt, $I10
-    unless $I11, rx1247_fail
-    inc rx1247_pos
+    ge rx1252_pos, rx1252_eos, rx1252_fail
+    sub $I10, rx1252_pos, rx1252_off
+    is_cclass $I11, 32, rx1252_tgt, $I10
+    unless $I11, rx1252_fail
+    inc rx1252_pos
   # rx subrule "O" subtype=capture negate=
-    rx1247_cur."!cursor_pos"(rx1247_pos)
-    $P10 = rx1247_cur."O"("%list_prefix, :pasttype<return>")
-    unless $P10, rx1247_fail
-    rx1247_cur."!mark_push"(0, -1, 0, $P10)
+    rx1252_cur."!cursor_pos"(rx1252_pos)
+    $P10 = rx1252_cur."O"("%list_prefix, :pasttype<return>")
+    unless $P10, rx1252_fail
+    rx1252_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("O")
-    rx1247_pos = $P10."pos"()
+    rx1252_pos = $P10."pos"()
   # rx pass
-    rx1247_cur."!cursor_pass"(rx1247_pos, "prefix:sym<return>")
-    rx1247_cur."!cursor_debug"("PASS  ", "prefix:sym<return>", " at pos=", rx1247_pos)
-    .return (rx1247_cur)
-  rx1247_fail:
-.annotate 'line', 431
-    (rx1247_rep, rx1247_pos, $I10, $P10) = rx1247_cur."!mark_fail"(0)
-    lt rx1247_pos, -1, rx1247_done
-    eq rx1247_pos, -1, rx1247_fail
-    jump $I10
-  rx1247_done:
-    rx1247_cur."!cursor_fail"()
-    rx1247_cur."!cursor_debug"("FAIL  ", "prefix:sym<return>")
-    .return (rx1247_cur)
+    rx1252_cur."!cursor_pass"(rx1252_pos, "prefix:sym<return>")
+    rx1252_cur."!cursor_debug"("PASS  ", "prefix:sym<return>", " at pos=", rx1252_pos)
+    .return (rx1252_cur)
+  rx1252_fail:
+.annotate 'line', 433
+    (rx1252_rep, rx1252_pos, $I10, $P10) = rx1252_cur."!mark_fail"(0)
+    lt rx1252_pos, -1, rx1252_done
+    eq rx1252_pos, -1, rx1252_fail
+    jump $I10
+  rx1252_done:
+    rx1252_cur."!cursor_fail"()
+    rx1252_cur."!cursor_debug"("FAIL  ", "prefix:sym<return>")
+    .return (rx1252_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__prefix:sym<return>"  :subid("320_1274800460.92525") :method
-.annotate 'line', 431
-    new $P1249, "ResizablePMCArray"
-    push $P1249, "return"
-    .return ($P1249)
+.sub "!PREFIX__prefix:sym<return>"  :subid("322_1274853038.58734") :method
+.annotate 'line', 433
+    new $P1254, "ResizablePMCArray"
+    push $P1254, "return"
+    .return ($P1254)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "prefix:sym<make>"  :subid("321_1274800460.92525") :method :outer("11_1274800460.92525")
-.annotate 'line', 431
-    .local string rx1253_tgt
-    .local int rx1253_pos
-    .local int rx1253_off
-    .local int rx1253_eos
-    .local int rx1253_rep
-    .local pmc rx1253_cur
-    (rx1253_cur, rx1253_pos, rx1253_tgt) = self."!cursor_start"()
-    rx1253_cur."!cursor_debug"("START ", "prefix:sym<make>")
-    .lex unicode:"$\x{a2}", rx1253_cur
-    .local pmc match
-    .lex "$/", match
-    length rx1253_eos, rx1253_tgt
-    set rx1253_off, 0
-    lt rx1253_pos, 2, rx1253_start
-    sub rx1253_off, rx1253_pos, 1
-    substr rx1253_tgt, rx1253_tgt, rx1253_off
-  rx1253_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan1256_done
-    goto rxscan1256_scan
-  rxscan1256_loop:
-    ($P10) = rx1253_cur."from"()
-    inc $P10
-    set rx1253_pos, $P10
-    ge rx1253_pos, rx1253_eos, rxscan1256_done
-  rxscan1256_scan:
-    set_addr $I10, rxscan1256_loop
-    rx1253_cur."!mark_push"(0, rx1253_pos, $I10)
-  rxscan1256_done:
-.annotate 'line', 537
-  # rx subcapture "sym"
-    set_addr $I10, rxcap_1257_fail
-    rx1253_cur."!mark_push"(0, rx1253_pos, $I10)
+.sub "prefix:sym<make>"  :subid("323_1274853038.58734") :method :outer("11_1274853038.58734")
+.annotate 'line', 433
+    .local string rx1258_tgt
+    .local int rx1258_pos
+    .local int rx1258_off
+    .local int rx1258_eos
+    .local int rx1258_rep
+    .local pmc rx1258_cur
+    (rx1258_cur, rx1258_pos, rx1258_tgt) = self."!cursor_start"()
+    rx1258_cur."!cursor_debug"("START ", "prefix:sym<make>")
+    .lex unicode:"$\x{a2}", rx1258_cur
+    .local pmc match
+    .lex "$/", match
+    length rx1258_eos, rx1258_tgt
+    set rx1258_off, 0
+    lt rx1258_pos, 2, rx1258_start
+    sub rx1258_off, rx1258_pos, 1
+    substr rx1258_tgt, rx1258_tgt, rx1258_off
+  rx1258_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan1261_done
+    goto rxscan1261_scan
+  rxscan1261_loop:
+    ($P10) = rx1258_cur."from"()
+    inc $P10
+    set rx1258_pos, $P10
+    ge rx1258_pos, rx1258_eos, rxscan1261_done
+  rxscan1261_scan:
+    set_addr $I10, rxscan1261_loop
+    rx1258_cur."!mark_push"(0, rx1258_pos, $I10)
+  rxscan1261_done:
+.annotate 'line', 539
+  # rx subcapture "sym"
+    set_addr $I10, rxcap_1262_fail
+    rx1258_cur."!mark_push"(0, rx1258_pos, $I10)
   # rx literal  "make"
-    add $I11, rx1253_pos, 4
-    gt $I11, rx1253_eos, rx1253_fail
-    sub $I11, rx1253_pos, rx1253_off
-    substr $S10, rx1253_tgt, $I11, 4
-    ne $S10, "make", rx1253_fail
-    add rx1253_pos, 4
-    set_addr $I10, rxcap_1257_fail
-    ($I12, $I11) = rx1253_cur."!mark_peek"($I10)
-    rx1253_cur."!cursor_pos"($I11)
-    ($P10) = rx1253_cur."!cursor_start"()
-    $P10."!cursor_pass"(rx1253_pos, "")
-    rx1253_cur."!mark_push"(0, -1, 0, $P10)
+    add $I11, rx1258_pos, 4
+    gt $I11, rx1258_eos, rx1258_fail
+    sub $I11, rx1258_pos, rx1258_off
+    substr $S10, rx1258_tgt, $I11, 4
+    ne $S10, "make", rx1258_fail
+    add rx1258_pos, 4
+    set_addr $I10, rxcap_1262_fail
+    ($I12, $I11) = rx1258_cur."!mark_peek"($I10)
+    rx1258_cur."!cursor_pos"($I11)
+    ($P10) = rx1258_cur."!cursor_start"()
+    $P10."!cursor_pass"(rx1258_pos, "")
+    rx1258_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("sym")
-    goto rxcap_1257_done
-  rxcap_1257_fail:
-    goto rx1253_fail
-  rxcap_1257_done:
+    goto rxcap_1262_done
+  rxcap_1262_fail:
+    goto rx1258_fail
+  rxcap_1262_done:
   # rx charclass s
-    ge rx1253_pos, rx1253_eos, rx1253_fail
-    sub $I10, rx1253_pos, rx1253_off
-    is_cclass $I11, 32, rx1253_tgt, $I10
-    unless $I11, rx1253_fail
-    inc rx1253_pos
+    ge rx1258_pos, rx1258_eos, rx1258_fail
+    sub $I10, rx1258_pos, rx1258_off
+    is_cclass $I11, 32, rx1258_tgt, $I10
+    unless $I11, rx1258_fail
+    inc rx1258_pos
   # rx subrule "O" subtype=capture negate=
-    rx1253_cur."!cursor_pos"(rx1253_pos)
-    $P10 = rx1253_cur."O"("%list_prefix")
-    unless $P10, rx1253_fail
-    rx1253_cur."!mark_push"(0, -1, 0, $P10)
+    rx1258_cur."!cursor_pos"(rx1258_pos)
+    $P10 = rx1258_cur."O"("%list_prefix")
+    unless $P10, rx1258_fail
+    rx1258_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("O")
-    rx1253_pos = $P10."pos"()
+    rx1258_pos = $P10."pos"()
   # rx pass
-    rx1253_cur."!cursor_pass"(rx1253_pos, "prefix:sym<make>")
-    rx1253_cur."!cursor_debug"("PASS  ", "prefix:sym<make>", " at pos=", rx1253_pos)
-    .return (rx1253_cur)
-  rx1253_fail:
-.annotate 'line', 431
-    (rx1253_rep, rx1253_pos, $I10, $P10) = rx1253_cur."!mark_fail"(0)
-    lt rx1253_pos, -1, rx1253_done
-    eq rx1253_pos, -1, rx1253_fail
-    jump $I10
-  rx1253_done:
-    rx1253_cur."!cursor_fail"()
-    rx1253_cur."!cursor_debug"("FAIL  ", "prefix:sym<make>")
-    .return (rx1253_cur)
+    rx1258_cur."!cursor_pass"(rx1258_pos, "prefix:sym<make>")
+    rx1258_cur."!cursor_debug"("PASS  ", "prefix:sym<make>", " at pos=", rx1258_pos)
+    .return (rx1258_cur)
+  rx1258_fail:
+.annotate 'line', 433
+    (rx1258_rep, rx1258_pos, $I10, $P10) = rx1258_cur."!mark_fail"(0)
+    lt rx1258_pos, -1, rx1258_done
+    eq rx1258_pos, -1, rx1258_fail
+    jump $I10
+  rx1258_done:
+    rx1258_cur."!cursor_fail"()
+    rx1258_cur."!cursor_debug"("FAIL  ", "prefix:sym<make>")
+    .return (rx1258_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__prefix:sym<make>"  :subid("322_1274800460.92525") :method
-.annotate 'line', 431
-    new $P1255, "ResizablePMCArray"
-    push $P1255, "make"
-    .return ($P1255)
+.sub "!PREFIX__prefix:sym<make>"  :subid("324_1274853038.58734") :method
+.annotate 'line', 433
+    new $P1260, "ResizablePMCArray"
+    push $P1260, "make"
+    .return ($P1260)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "term:sym<last>"  :subid("323_1274800460.92525") :method :outer("11_1274800460.92525")
-.annotate 'line', 431
-    .local string rx1259_tgt
-    .local int rx1259_pos
-    .local int rx1259_off
-    .local int rx1259_eos
-    .local int rx1259_rep
-    .local pmc rx1259_cur
-    (rx1259_cur, rx1259_pos, rx1259_tgt) = self."!cursor_start"()
-    rx1259_cur."!cursor_debug"("START ", "term:sym<last>")
-    .lex unicode:"$\x{a2}", rx1259_cur
-    .local pmc match
-    .lex "$/", match
-    length rx1259_eos, rx1259_tgt
-    set rx1259_off, 0
-    lt rx1259_pos, 2, rx1259_start
-    sub rx1259_off, rx1259_pos, 1
-    substr rx1259_tgt, rx1259_tgt, rx1259_off
-  rx1259_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan1262_done
-    goto rxscan1262_scan
-  rxscan1262_loop:
-    ($P10) = rx1259_cur."from"()
-    inc $P10
-    set rx1259_pos, $P10
-    ge rx1259_pos, rx1259_eos, rxscan1262_done
-  rxscan1262_scan:
-    set_addr $I10, rxscan1262_loop
-    rx1259_cur."!mark_push"(0, rx1259_pos, $I10)
-  rxscan1262_done:
-.annotate 'line', 538
+.sub "term:sym<last>"  :subid("325_1274853038.58734") :method :outer("11_1274853038.58734")
+.annotate 'line', 433
+    .local string rx1264_tgt
+    .local int rx1264_pos
+    .local int rx1264_off
+    .local int rx1264_eos
+    .local int rx1264_rep
+    .local pmc rx1264_cur
+    (rx1264_cur, rx1264_pos, rx1264_tgt) = self."!cursor_start"()
+    rx1264_cur."!cursor_debug"("START ", "term:sym<last>")
+    .lex unicode:"$\x{a2}", rx1264_cur
+    .local pmc match
+    .lex "$/", match
+    length rx1264_eos, rx1264_tgt
+    set rx1264_off, 0
+    lt rx1264_pos, 2, rx1264_start
+    sub rx1264_off, rx1264_pos, 1
+    substr rx1264_tgt, rx1264_tgt, rx1264_off
+  rx1264_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan1267_done
+    goto rxscan1267_scan
+  rxscan1267_loop:
+    ($P10) = rx1264_cur."from"()
+    inc $P10
+    set rx1264_pos, $P10
+    ge rx1264_pos, rx1264_eos, rxscan1267_done
+  rxscan1267_scan:
+    set_addr $I10, rxscan1267_loop
+    rx1264_cur."!mark_push"(0, rx1264_pos, $I10)
+  rxscan1267_done:
+.annotate 'line', 540
   # rx subcapture "sym"
-    set_addr $I10, rxcap_1263_fail
-    rx1259_cur."!mark_push"(0, rx1259_pos, $I10)
+    set_addr $I10, rxcap_1268_fail
+    rx1264_cur."!mark_push"(0, rx1264_pos, $I10)
   # rx literal  "last"
-    add $I11, rx1259_pos, 4
-    gt $I11, rx1259_eos, rx1259_fail
-    sub $I11, rx1259_pos, rx1259_off
-    substr $S10, rx1259_tgt, $I11, 4
-    ne $S10, "last", rx1259_fail
-    add rx1259_pos, 4
-    set_addr $I10, rxcap_1263_fail
-    ($I12, $I11) = rx1259_cur."!mark_peek"($I10)
-    rx1259_cur."!cursor_pos"($I11)
-    ($P10) = rx1259_cur."!cursor_start"()
-    $P10."!cursor_pass"(rx1259_pos, "")
-    rx1259_cur."!mark_push"(0, -1, 0, $P10)
+    add $I11, rx1264_pos, 4
+    gt $I11, rx1264_eos, rx1264_fail
+    sub $I11, rx1264_pos, rx1264_off
+    substr $S10, rx1264_tgt, $I11, 4
+    ne $S10, "last", rx1264_fail
+    add rx1264_pos, 4
+    set_addr $I10, rxcap_1268_fail
+    ($I12, $I11) = rx1264_cur."!mark_peek"($I10)
+    rx1264_cur."!cursor_pos"($I11)
+    ($P10) = rx1264_cur."!cursor_start"()
+    $P10."!cursor_pass"(rx1264_pos, "")
+    rx1264_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("sym")
-    goto rxcap_1263_done
-  rxcap_1263_fail:
-    goto rx1259_fail
-  rxcap_1263_done:
-  # rx pass
-    rx1259_cur."!cursor_pass"(rx1259_pos, "term:sym<last>")
-    rx1259_cur."!cursor_debug"("PASS  ", "term:sym<last>", " at pos=", rx1259_pos)
-    .return (rx1259_cur)
-  rx1259_fail:
-.annotate 'line', 431
-    (rx1259_rep, rx1259_pos, $I10, $P10) = rx1259_cur."!mark_fail"(0)
-    lt rx1259_pos, -1, rx1259_done
-    eq rx1259_pos, -1, rx1259_fail
-    jump $I10
-  rx1259_done:
-    rx1259_cur."!cursor_fail"()
-    rx1259_cur."!cursor_debug"("FAIL  ", "term:sym<last>")
-    .return (rx1259_cur)
+    goto rxcap_1268_done
+  rxcap_1268_fail:
+    goto rx1264_fail
+  rxcap_1268_done:
+  # rx pass
+    rx1264_cur."!cursor_pass"(rx1264_pos, "term:sym<last>")
+    rx1264_cur."!cursor_debug"("PASS  ", "term:sym<last>", " at pos=", rx1264_pos)
+    .return (rx1264_cur)
+  rx1264_fail:
+.annotate 'line', 433
+    (rx1264_rep, rx1264_pos, $I10, $P10) = rx1264_cur."!mark_fail"(0)
+    lt rx1264_pos, -1, rx1264_done
+    eq rx1264_pos, -1, rx1264_fail
+    jump $I10
+  rx1264_done:
+    rx1264_cur."!cursor_fail"()
+    rx1264_cur."!cursor_debug"("FAIL  ", "term:sym<last>")
+    .return (rx1264_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__term:sym<last>"  :subid("324_1274800460.92525") :method
-.annotate 'line', 431
-    new $P1261, "ResizablePMCArray"
-    push $P1261, "last"
-    .return ($P1261)
+.sub "!PREFIX__term:sym<last>"  :subid("326_1274853038.58734") :method
+.annotate 'line', 433
+    new $P1266, "ResizablePMCArray"
+    push $P1266, "last"
+    .return ($P1266)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "term:sym<next>"  :subid("325_1274800460.92525") :method :outer("11_1274800460.92525")
-.annotate 'line', 431
-    .local string rx1265_tgt
-    .local int rx1265_pos
-    .local int rx1265_off
-    .local int rx1265_eos
-    .local int rx1265_rep
-    .local pmc rx1265_cur
-    (rx1265_cur, rx1265_pos, rx1265_tgt) = self."!cursor_start"()
-    rx1265_cur."!cursor_debug"("START ", "term:sym<next>")
-    .lex unicode:"$\x{a2}", rx1265_cur
-    .local pmc match
-    .lex "$/", match
-    length rx1265_eos, rx1265_tgt
-    set rx1265_off, 0
-    lt rx1265_pos, 2, rx1265_start
-    sub rx1265_off, rx1265_pos, 1
-    substr rx1265_tgt, rx1265_tgt, rx1265_off
-  rx1265_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan1268_done
-    goto rxscan1268_scan
-  rxscan1268_loop:
-    ($P10) = rx1265_cur."from"()
-    inc $P10
-    set rx1265_pos, $P10
-    ge rx1265_pos, rx1265_eos, rxscan1268_done
-  rxscan1268_scan:
-    set_addr $I10, rxscan1268_loop
-    rx1265_cur."!mark_push"(0, rx1265_pos, $I10)
-  rxscan1268_done:
-.annotate 'line', 539
+.sub "term:sym<next>"  :subid("327_1274853038.58734") :method :outer("11_1274853038.58734")
+.annotate 'line', 433
+    .local string rx1270_tgt
+    .local int rx1270_pos
+    .local int rx1270_off
+    .local int rx1270_eos
+    .local int rx1270_rep
+    .local pmc rx1270_cur
+    (rx1270_cur, rx1270_pos, rx1270_tgt) = self."!cursor_start"()
+    rx1270_cur."!cursor_debug"("START ", "term:sym<next>")
+    .lex unicode:"$\x{a2}", rx1270_cur
+    .local pmc match
+    .lex "$/", match
+    length rx1270_eos, rx1270_tgt
+    set rx1270_off, 0
+    lt rx1270_pos, 2, rx1270_start
+    sub rx1270_off, rx1270_pos, 1
+    substr rx1270_tgt, rx1270_tgt, rx1270_off
+  rx1270_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan1273_done
+    goto rxscan1273_scan
+  rxscan1273_loop:
+    ($P10) = rx1270_cur."from"()
+    inc $P10
+    set rx1270_pos, $P10
+    ge rx1270_pos, rx1270_eos, rxscan1273_done
+  rxscan1273_scan:
+    set_addr $I10, rxscan1273_loop
+    rx1270_cur."!mark_push"(0, rx1270_pos, $I10)
+  rxscan1273_done:
+.annotate 'line', 541
   # rx subcapture "sym"
-    set_addr $I10, rxcap_1269_fail
-    rx1265_cur."!mark_push"(0, rx1265_pos, $I10)
+    set_addr $I10, rxcap_1274_fail
+    rx1270_cur."!mark_push"(0, rx1270_pos, $I10)
   # rx literal  "next"
-    add $I11, rx1265_pos, 4
-    gt $I11, rx1265_eos, rx1265_fail
-    sub $I11, rx1265_pos, rx1265_off
-    substr $S10, rx1265_tgt, $I11, 4
-    ne $S10, "next", rx1265_fail
-    add rx1265_pos, 4
-    set_addr $I10, rxcap_1269_fail
-    ($I12, $I11) = rx1265_cur."!mark_peek"($I10)
-    rx1265_cur."!cursor_pos"($I11)
-    ($P10) = rx1265_cur."!cursor_start"()
-    $P10."!cursor_pass"(rx1265_pos, "")
-    rx1265_cur."!mark_push"(0, -1, 0, $P10)
+    add $I11, rx1270_pos, 4
+    gt $I11, rx1270_eos, rx1270_fail
+    sub $I11, rx1270_pos, rx1270_off
+    substr $S10, rx1270_tgt, $I11, 4
+    ne $S10, "next", rx1270_fail
+    add rx1270_pos, 4
+    set_addr $I10, rxcap_1274_fail
+    ($I12, $I11) = rx1270_cur."!mark_peek"($I10)
+    rx1270_cur."!cursor_pos"($I11)
+    ($P10) = rx1270_cur."!cursor_start"()
+    $P10."!cursor_pass"(rx1270_pos, "")
+    rx1270_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("sym")
-    goto rxcap_1269_done
-  rxcap_1269_fail:
-    goto rx1265_fail
-  rxcap_1269_done:
-  # rx pass
-    rx1265_cur."!cursor_pass"(rx1265_pos, "term:sym<next>")
-    rx1265_cur."!cursor_debug"("PASS  ", "term:sym<next>", " at pos=", rx1265_pos)
-    .return (rx1265_cur)
-  rx1265_fail:
-.annotate 'line', 431
-    (rx1265_rep, rx1265_pos, $I10, $P10) = rx1265_cur."!mark_fail"(0)
-    lt rx1265_pos, -1, rx1265_done
-    eq rx1265_pos, -1, rx1265_fail
-    jump $I10
-  rx1265_done:
-    rx1265_cur."!cursor_fail"()
-    rx1265_cur."!cursor_debug"("FAIL  ", "term:sym<next>")
-    .return (rx1265_cur)
+    goto rxcap_1274_done
+  rxcap_1274_fail:
+    goto rx1270_fail
+  rxcap_1274_done:
+  # rx pass
+    rx1270_cur."!cursor_pass"(rx1270_pos, "term:sym<next>")
+    rx1270_cur."!cursor_debug"("PASS  ", "term:sym<next>", " at pos=", rx1270_pos)
+    .return (rx1270_cur)
+  rx1270_fail:
+.annotate 'line', 433
+    (rx1270_rep, rx1270_pos, $I10, $P10) = rx1270_cur."!mark_fail"(0)
+    lt rx1270_pos, -1, rx1270_done
+    eq rx1270_pos, -1, rx1270_fail
+    jump $I10
+  rx1270_done:
+    rx1270_cur."!cursor_fail"()
+    rx1270_cur."!cursor_debug"("FAIL  ", "term:sym<next>")
+    .return (rx1270_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__term:sym<next>"  :subid("326_1274800460.92525") :method
-.annotate 'line', 431
-    new $P1267, "ResizablePMCArray"
-    push $P1267, "next"
-    .return ($P1267)
+.sub "!PREFIX__term:sym<next>"  :subid("328_1274853038.58734") :method
+.annotate 'line', 433
+    new $P1272, "ResizablePMCArray"
+    push $P1272, "next"
+    .return ($P1272)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "term:sym<redo>"  :subid("327_1274800460.92525") :method :outer("11_1274800460.92525")
-.annotate 'line', 431
-    .local string rx1271_tgt
-    .local int rx1271_pos
-    .local int rx1271_off
-    .local int rx1271_eos
-    .local int rx1271_rep
-    .local pmc rx1271_cur
-    (rx1271_cur, rx1271_pos, rx1271_tgt) = self."!cursor_start"()
-    rx1271_cur."!cursor_debug"("START ", "term:sym<redo>")
-    .lex unicode:"$\x{a2}", rx1271_cur
-    .local pmc match
-    .lex "$/", match
-    length rx1271_eos, rx1271_tgt
-    set rx1271_off, 0
-    lt rx1271_pos, 2, rx1271_start
-    sub rx1271_off, rx1271_pos, 1
-    substr rx1271_tgt, rx1271_tgt, rx1271_off
-  rx1271_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan1274_done
-    goto rxscan1274_scan
-  rxscan1274_loop:
-    ($P10) = rx1271_cur."from"()
-    inc $P10
-    set rx1271_pos, $P10
-    ge rx1271_pos, rx1271_eos, rxscan1274_done
-  rxscan1274_scan:
-    set_addr $I10, rxscan1274_loop
-    rx1271_cur."!mark_push"(0, rx1271_pos, $I10)
-  rxscan1274_done:
-.annotate 'line', 540
+.sub "term:sym<redo>"  :subid("329_1274853038.58734") :method :outer("11_1274853038.58734")
+.annotate 'line', 433
+    .local string rx1276_tgt
+    .local int rx1276_pos
+    .local int rx1276_off
+    .local int rx1276_eos
+    .local int rx1276_rep
+    .local pmc rx1276_cur
+    (rx1276_cur, rx1276_pos, rx1276_tgt) = self."!cursor_start"()
+    rx1276_cur."!cursor_debug"("START ", "term:sym<redo>")
+    .lex unicode:"$\x{a2}", rx1276_cur
+    .local pmc match
+    .lex "$/", match
+    length rx1276_eos, rx1276_tgt
+    set rx1276_off, 0
+    lt rx1276_pos, 2, rx1276_start
+    sub rx1276_off, rx1276_pos, 1
+    substr rx1276_tgt, rx1276_tgt, rx1276_off
+  rx1276_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan1279_done
+    goto rxscan1279_scan
+  rxscan1279_loop:
+    ($P10) = rx1276_cur."from"()
+    inc $P10
+    set rx1276_pos, $P10
+    ge rx1276_pos, rx1276_eos, rxscan1279_done
+  rxscan1279_scan:
+    set_addr $I10, rxscan1279_loop
+    rx1276_cur."!mark_push"(0, rx1276_pos, $I10)
+  rxscan1279_done:
+.annotate 'line', 542
   # rx subcapture "sym"
-    set_addr $I10, rxcap_1275_fail
-    rx1271_cur."!mark_push"(0, rx1271_pos, $I10)
+    set_addr $I10, rxcap_1280_fail
+    rx1276_cur."!mark_push"(0, rx1276_pos, $I10)
   # rx literal  "redo"
-    add $I11, rx1271_pos, 4
-    gt $I11, rx1271_eos, rx1271_fail
-    sub $I11, rx1271_pos, rx1271_off
-    substr $S10, rx1271_tgt, $I11, 4
-    ne $S10, "redo", rx1271_fail
-    add rx1271_pos, 4
-    set_addr $I10, rxcap_1275_fail
-    ($I12, $I11) = rx1271_cur."!mark_peek"($I10)
-    rx1271_cur."!cursor_pos"($I11)
-    ($P10) = rx1271_cur."!cursor_start"()
-    $P10."!cursor_pass"(rx1271_pos, "")
-    rx1271_cur."!mark_push"(0, -1, 0, $P10)
+    add $I11, rx1276_pos, 4
+    gt $I11, rx1276_eos, rx1276_fail
+    sub $I11, rx1276_pos, rx1276_off
+    substr $S10, rx1276_tgt, $I11, 4
+    ne $S10, "redo", rx1276_fail
+    add rx1276_pos, 4
+    set_addr $I10, rxcap_1280_fail
+    ($I12, $I11) = rx1276_cur."!mark_peek"($I10)
+    rx1276_cur."!cursor_pos"($I11)
+    ($P10) = rx1276_cur."!cursor_start"()
+    $P10."!cursor_pass"(rx1276_pos, "")
+    rx1276_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("sym")
-    goto rxcap_1275_done
-  rxcap_1275_fail:
-    goto rx1271_fail
-  rxcap_1275_done:
-  # rx pass
-    rx1271_cur."!cursor_pass"(rx1271_pos, "term:sym<redo>")
-    rx1271_cur."!cursor_debug"("PASS  ", "term:sym<redo>", " at pos=", rx1271_pos)
-    .return (rx1271_cur)
-  rx1271_fail:
-.annotate 'line', 431
-    (rx1271_rep, rx1271_pos, $I10, $P10) = rx1271_cur."!mark_fail"(0)
-    lt rx1271_pos, -1, rx1271_done
-    eq rx1271_pos, -1, rx1271_fail
+    goto rxcap_1280_done
+  rxcap_1280_fail:
+    goto rx1276_fail
+  rxcap_1280_done:
+  # rx pass
+    rx1276_cur."!cursor_pass"(rx1276_pos, "term:sym<redo>")
+    rx1276_cur."!cursor_debug"("PASS  ", "term:sym<redo>", " at pos=", rx1276_pos)
+    .return (rx1276_cur)
+  rx1276_fail:
+.annotate 'line', 433
+    (rx1276_rep, rx1276_pos, $I10, $P10) = rx1276_cur."!mark_fail"(0)
+    lt rx1276_pos, -1, rx1276_done
+    eq rx1276_pos, -1, rx1276_fail
     jump $I10
-  rx1271_done:
-    rx1271_cur."!cursor_fail"()
-    rx1271_cur."!cursor_debug"("FAIL  ", "term:sym<redo>")
-    .return (rx1271_cur)
+  rx1276_done:
+    rx1276_cur."!cursor_fail"()
+    rx1276_cur."!cursor_debug"("FAIL  ", "term:sym<redo>")
+    .return (rx1276_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__term:sym<redo>"  :subid("328_1274800460.92525") :method
-.annotate 'line', 431
-    new $P1273, "ResizablePMCArray"
-    push $P1273, "redo"
-    .return ($P1273)
+.sub "!PREFIX__term:sym<redo>"  :subid("330_1274853038.58734") :method
+.annotate 'line', 433
+    new $P1278, "ResizablePMCArray"
+    push $P1278, "redo"
+    .return ($P1278)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "smartmatch"  :subid("329_1274800460.92525") :method :outer("11_1274800460.92525")
-    .param pmc param_1279
-.annotate 'line', 542
-    new $P1278, 'ExceptionHandler'
-    set_addr $P1278, control_1277
-    $P1278."handle_types"(57)
-    push_eh $P1278
-    .lex "self", self
-    .lex "$/", param_1279
+.sub "smartmatch"  :subid("331_1274853038.58734") :method :outer("11_1274853038.58734")
+    .param pmc param_1284
 .annotate 'line', 544
-    new $P1280, "Undef"
-    .lex "$t", $P1280
-    find_lex $P1281, "$/"
-    unless_null $P1281, vivify_365
-    $P1281 = root_new ['parrot';'ResizablePMCArray']
-  vivify_365:
-    set $P1282, $P1281[0]
-    unless_null $P1282, vivify_366
-    new $P1282, "Undef"
-  vivify_366:
-    store_lex "$t", $P1282
-    find_lex $P1283, "$/"
-    unless_null $P1283, vivify_367
-    $P1283 = root_new ['parrot';'ResizablePMCArray']
+    new $P1283, 'ExceptionHandler'
+    set_addr $P1283, control_1282
+    $P1283."handle_types"(57)
+    push_eh $P1283
+    .lex "self", self
+    .lex "$/", param_1284
+.annotate 'line', 546
+    new $P1285, "Undef"
+    .lex "$t", $P1285
+    find_lex $P1286, "$/"
+    unless_null $P1286, vivify_367
+    $P1286 = root_new ['parrot';'ResizablePMCArray']
   vivify_367:
-    set $P1284, $P1283[1]
-    unless_null $P1284, vivify_368
-    new $P1284, "Undef"
+    set $P1287, $P1286[0]
+    unless_null $P1287, vivify_368
+    new $P1287, "Undef"
   vivify_368:
-    find_lex $P1285, "$/"
-    unless_null $P1285, vivify_369
-    $P1285 = root_new ['parrot';'ResizablePMCArray']
-    store_lex "$/", $P1285
+    store_lex "$t", $P1287
+    find_lex $P1288, "$/"
+    unless_null $P1288, vivify_369
+    $P1288 = root_new ['parrot';'ResizablePMCArray']
   vivify_369:
-    set $P1285[0], $P1284
-    find_lex $P1286, "$t"
-    find_lex $P1287, "$/"
-    unless_null $P1287, vivify_370
-    $P1287 = root_new ['parrot';'ResizablePMCArray']
-    store_lex "$/", $P1287
+    set $P1289, $P1288[1]
+    unless_null $P1289, vivify_370
+    new $P1289, "Undef"
   vivify_370:
-    set $P1287[1], $P1286
-.annotate 'line', 542
-    .return ($P1286)
-  control_1277:
+    find_lex $P1290, "$/"
+    unless_null $P1290, vivify_371
+    $P1290 = root_new ['parrot';'ResizablePMCArray']
+    store_lex "$/", $P1290
+  vivify_371:
+    set $P1290[0], $P1289
+    find_lex $P1291, "$t"
+    find_lex $P1292, "$/"
+    unless_null $P1292, vivify_372
+    $P1292 = root_new ['parrot';'ResizablePMCArray']
+    store_lex "$/", $P1292
+  vivify_372:
+    set $P1292[1], $P1291
+.annotate 'line', 544
+    .return ($P1291)
+  control_1282:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P1288, exception, "payload"
-    .return ($P1288)
+    getattribute $P1293, exception, "payload"
+    .return ($P1293)
 .end
 
 
 .namespace ["NQP";"Regex"]
-.sub "_block1289"  :subid("330_1274800460.92525") :outer("11_1274800460.92525")
-.annotate 'line', 548
-    .const 'Sub' $P1347 = "349_1274800460.92525" 
+.sub "_block1294"  :subid("332_1274853038.58734") :outer("11_1274853038.58734")
+.annotate 'line', 550
+    .const 'Sub' $P1352 = "351_1274853038.58734" 
+    capture_lex $P1352
+    .const 'Sub' $P1347 = "349_1274853038.58734" 
     capture_lex $P1347
-    .const 'Sub' $P1342 = "347_1274800460.92525" 
-    capture_lex $P1342
-    .const 'Sub' $P1329 = "344_1274800460.92525" 
-    capture_lex $P1329
-    .const 'Sub' $P1319 = "341_1274800460.92525" 
+    .const 'Sub' $P1334 = "346_1274853038.58734" 
+    capture_lex $P1334
+    .const 'Sub' $P1324 = "343_1274853038.58734" 
+    capture_lex $P1324
+    .const 'Sub' $P1319 = "341_1274853038.58734" 
     capture_lex $P1319
-    .const 'Sub' $P1314 = "339_1274800460.92525" 
-    capture_lex $P1314
-    .const 'Sub' $P1305 = "336_1274800460.92525" 
+    .const 'Sub' $P1310 = "338_1274853038.58734" 
+    capture_lex $P1310
+    .const 'Sub' $P1305 = "336_1274853038.58734" 
     capture_lex $P1305
-    .const 'Sub' $P1300 = "334_1274800460.92525" 
-    capture_lex $P1300
-    .const 'Sub' $P1291 = "331_1274800460.92525" 
-    capture_lex $P1291
-    .const 'Sub' $P1347 = "349_1274800460.92525" 
-    capture_lex $P1347
-    .return ($P1347)
+    .const 'Sub' $P1296 = "333_1274853038.58734" 
+    capture_lex $P1296
+    .const 'Sub' $P1352 = "351_1274853038.58734" 
+    capture_lex $P1352
+    .return ($P1352)
 .end
 
 
 .namespace ["NQP";"Regex"]
-.sub "metachar:sym<:my>"  :subid("331_1274800460.92525") :method :outer("330_1274800460.92525")
-.annotate 'line', 548
-    .const 'Sub' $P1297 = "333_1274800460.92525" 
-    capture_lex $P1297
-    .local string rx1292_tgt
-    .local int rx1292_pos
-    .local int rx1292_off
-    .local int rx1292_eos
-    .local int rx1292_rep
-    .local pmc rx1292_cur
-    (rx1292_cur, rx1292_pos, rx1292_tgt) = self."!cursor_start"()
-    rx1292_cur."!cursor_debug"("START ", "metachar:sym<:my>")
-    .lex unicode:"$\x{a2}", rx1292_cur
-    .local pmc match
-    .lex "$/", match
-    length rx1292_eos, rx1292_tgt
-    set rx1292_off, 0
-    lt rx1292_pos, 2, rx1292_start
-    sub rx1292_off, rx1292_pos, 1
-    substr rx1292_tgt, rx1292_tgt, rx1292_off
-  rx1292_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan1295_done
-    goto rxscan1295_scan
-  rxscan1295_loop:
-    ($P10) = rx1292_cur."from"()
-    inc $P10
-    set rx1292_pos, $P10
-    ge rx1292_pos, rx1292_eos, rxscan1295_done
-  rxscan1295_scan:
-    set_addr $I10, rxscan1295_loop
-    rx1292_cur."!mark_push"(0, rx1292_pos, $I10)
-  rxscan1295_done:
+.sub "metachar:sym<:my>"  :subid("333_1274853038.58734") :method :outer("332_1274853038.58734")
 .annotate 'line', 550
+    .const 'Sub' $P1302 = "335_1274853038.58734" 
+    capture_lex $P1302
+    .local string rx1297_tgt
+    .local int rx1297_pos
+    .local int rx1297_off
+    .local int rx1297_eos
+    .local int rx1297_rep
+    .local pmc rx1297_cur
+    (rx1297_cur, rx1297_pos, rx1297_tgt) = self."!cursor_start"()
+    rx1297_cur."!cursor_debug"("START ", "metachar:sym<:my>")
+    .lex unicode:"$\x{a2}", rx1297_cur
+    .local pmc match
+    .lex "$/", match
+    length rx1297_eos, rx1297_tgt
+    set rx1297_off, 0
+    lt rx1297_pos, 2, rx1297_start
+    sub rx1297_off, rx1297_pos, 1
+    substr rx1297_tgt, rx1297_tgt, rx1297_off
+  rx1297_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan1300_done
+    goto rxscan1300_scan
+  rxscan1300_loop:
+    ($P10) = rx1297_cur."from"()
+    inc $P10
+    set rx1297_pos, $P10
+    ge rx1297_pos, rx1297_eos, rxscan1300_done
+  rxscan1300_scan:
+    set_addr $I10, rxscan1300_loop
+    rx1297_cur."!mark_push"(0, rx1297_pos, $I10)
+  rxscan1300_done:
+.annotate 'line', 552
   # rx literal  ":"
-    add $I11, rx1292_pos, 1
-    gt $I11, rx1292_eos, rx1292_fail
-    sub $I11, rx1292_pos, rx1292_off
-    substr $S10, rx1292_tgt, $I11, 1
-    ne $S10, ":", rx1292_fail
-    add rx1292_pos, 1
+    add $I11, rx1297_pos, 1
+    gt $I11, rx1297_eos, rx1297_fail
+    sub $I11, rx1297_pos, rx1297_off
+    substr $S10, rx1297_tgt, $I11, 1
+    ne $S10, ":", rx1297_fail
+    add rx1297_pos, 1
   # rx subrule "before" subtype=zerowidth negate=
-    rx1292_cur."!cursor_pos"(rx1292_pos)
-    .const 'Sub' $P1297 = "333_1274800460.92525" 
-    capture_lex $P1297
-    $P10 = rx1292_cur."before"($P1297)
-    unless $P10, rx1292_fail
+    rx1297_cur."!cursor_pos"(rx1297_pos)
+    .const 'Sub' $P1302 = "335_1274853038.58734" 
+    capture_lex $P1302
+    $P10 = rx1297_cur."before"($P1302)
+    unless $P10, rx1297_fail
   # rx subrule "LANG" subtype=capture negate=
-    rx1292_cur."!cursor_pos"(rx1292_pos)
-    $P10 = rx1292_cur."LANG"("MAIN", "statement")
-    unless $P10, rx1292_fail
-    rx1292_cur."!mark_push"(0, -1, 0, $P10)
+    rx1297_cur."!cursor_pos"(rx1297_pos)
+    $P10 = rx1297_cur."LANG"("MAIN", "statement")
+    unless $P10, rx1297_fail
+    rx1297_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("statement")
-    rx1292_pos = $P10."pos"()
+    rx1297_pos = $P10."pos"()
   # rx subrule "ws" subtype=method negate=
-    rx1292_cur."!cursor_pos"(rx1292_pos)
-    $P10 = rx1292_cur."ws"()
-    unless $P10, rx1292_fail
-    rx1292_pos = $P10."pos"()
+    rx1297_cur."!cursor_pos"(rx1297_pos)
+    $P10 = rx1297_cur."ws"()
+    unless $P10, rx1297_fail
+    rx1297_pos = $P10."pos"()
   # rx literal  ";"
-    add $I11, rx1292_pos, 1
-    gt $I11, rx1292_eos, rx1292_fail
-    sub $I11, rx1292_pos, rx1292_off
-    substr $S10, rx1292_tgt, $I11, 1
-    ne $S10, ";", rx1292_fail
-    add rx1292_pos, 1
-.annotate 'line', 549
-  # rx pass
-    rx1292_cur."!cursor_pass"(rx1292_pos, "metachar:sym<:my>")
-    rx1292_cur."!cursor_debug"("PASS  ", "metachar:sym<:my>", " at pos=", rx1292_pos)
-    .return (rx1292_cur)
-  rx1292_fail:
-.annotate 'line', 548
-    (rx1292_rep, rx1292_pos, $I10, $P10) = rx1292_cur."!mark_fail"(0)
-    lt rx1292_pos, -1, rx1292_done
-    eq rx1292_pos, -1, rx1292_fail
-    jump $I10
-  rx1292_done:
-    rx1292_cur."!cursor_fail"()
-    rx1292_cur."!cursor_debug"("FAIL  ", "metachar:sym<:my>")
-    .return (rx1292_cur)
+    add $I11, rx1297_pos, 1
+    gt $I11, rx1297_eos, rx1297_fail
+    sub $I11, rx1297_pos, rx1297_off
+    substr $S10, rx1297_tgt, $I11, 1
+    ne $S10, ";", rx1297_fail
+    add rx1297_pos, 1
+.annotate 'line', 551
+  # rx pass
+    rx1297_cur."!cursor_pass"(rx1297_pos, "metachar:sym<:my>")
+    rx1297_cur."!cursor_debug"("PASS  ", "metachar:sym<:my>", " at pos=", rx1297_pos)
+    .return (rx1297_cur)
+  rx1297_fail:
+.annotate 'line', 550
+    (rx1297_rep, rx1297_pos, $I10, $P10) = rx1297_cur."!mark_fail"(0)
+    lt rx1297_pos, -1, rx1297_done
+    eq rx1297_pos, -1, rx1297_fail
+    jump $I10
+  rx1297_done:
+    rx1297_cur."!cursor_fail"()
+    rx1297_cur."!cursor_debug"("FAIL  ", "metachar:sym<:my>")
+    .return (rx1297_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Regex"]
-.sub "!PREFIX__metachar:sym<:my>"  :subid("332_1274800460.92525") :method
-.annotate 'line', 548
-    new $P1294, "ResizablePMCArray"
-    push $P1294, ":"
-    .return ($P1294)
-.end
-
-
-.namespace ["NQP";"Regex"]
-.sub "_block1296"  :anon :subid("333_1274800460.92525") :method :outer("331_1274800460.92525")
+.sub "!PREFIX__metachar:sym<:my>"  :subid("334_1274853038.58734") :method
 .annotate 'line', 550
-    .local string rx1298_tgt
-    .local int rx1298_pos
-    .local int rx1298_off
-    .local int rx1298_eos
-    .local int rx1298_rep
-    .local pmc rx1298_cur
-    (rx1298_cur, rx1298_pos, rx1298_tgt) = self."!cursor_start"()
-    rx1298_cur."!cursor_debug"("START ", "")
-    .lex unicode:"$\x{a2}", rx1298_cur
-    .local pmc match
-    .lex "$/", match
-    length rx1298_eos, rx1298_tgt
-    set rx1298_off, 0
-    lt rx1298_pos, 2, rx1298_start
-    sub rx1298_off, rx1298_pos, 1
-    substr rx1298_tgt, rx1298_tgt, rx1298_off
-  rx1298_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan1299_done
-    goto rxscan1299_scan
-  rxscan1299_loop:
-    ($P10) = rx1298_cur."from"()
-    inc $P10
-    set rx1298_pos, $P10
-    ge rx1298_pos, rx1298_eos, rxscan1299_done
-  rxscan1299_scan:
-    set_addr $I10, rxscan1299_loop
-    rx1298_cur."!mark_push"(0, rx1298_pos, $I10)
-  rxscan1299_done:
-  # rx literal  "my"
-    add $I11, rx1298_pos, 2
-    gt $I11, rx1298_eos, rx1298_fail
-    sub $I11, rx1298_pos, rx1298_off
-    substr $S10, rx1298_tgt, $I11, 2
-    ne $S10, "my", rx1298_fail
-    add rx1298_pos, 2
-  # rx pass
-    rx1298_cur."!cursor_pass"(rx1298_pos, "")
-    rx1298_cur."!cursor_debug"("PASS  ", "", " at pos=", rx1298_pos)
-    .return (rx1298_cur)
-  rx1298_fail:
-    (rx1298_rep, rx1298_pos, $I10, $P10) = rx1298_cur."!mark_fail"(0)
-    lt rx1298_pos, -1, rx1298_done
-    eq rx1298_pos, -1, rx1298_fail
-    jump $I10
-  rx1298_done:
-    rx1298_cur."!cursor_fail"()
-    rx1298_cur."!cursor_debug"("FAIL  ", "")
-    .return (rx1298_cur)
-    .return ()
+    new $P1299, "ResizablePMCArray"
+    push $P1299, ":"
+    .return ($P1299)
 .end
 
 
 .namespace ["NQP";"Regex"]
-.sub "metachar:sym<{ }>"  :subid("334_1274800460.92525") :method :outer("330_1274800460.92525")
-.annotate 'line', 548
-    .local string rx1301_tgt
-    .local int rx1301_pos
-    .local int rx1301_off
-    .local int rx1301_eos
-    .local int rx1301_rep
-    .local pmc rx1301_cur
-    (rx1301_cur, rx1301_pos, rx1301_tgt) = self."!cursor_start"()
-    rx1301_cur."!cursor_debug"("START ", "metachar:sym<{ }>")
-    .lex unicode:"$\x{a2}", rx1301_cur
-    .local pmc match
-    .lex "$/", match
-    length rx1301_eos, rx1301_tgt
-    set rx1301_off, 0
-    lt rx1301_pos, 2, rx1301_start
-    sub rx1301_off, rx1301_pos, 1
-    substr rx1301_tgt, rx1301_tgt, rx1301_off
-  rx1301_start:
+.sub "_block1301"  :anon :subid("335_1274853038.58734") :method :outer("333_1274853038.58734")
+.annotate 'line', 552
+    .local string rx1303_tgt
+    .local int rx1303_pos
+    .local int rx1303_off
+    .local int rx1303_eos
+    .local int rx1303_rep
+    .local pmc rx1303_cur
+    (rx1303_cur, rx1303_pos, rx1303_tgt) = self."!cursor_start"()
+    rx1303_cur."!cursor_debug"("START ", "")
+    .lex unicode:"$\x{a2}", rx1303_cur
+    .local pmc match
+    .lex "$/", match
+    length rx1303_eos, rx1303_tgt
+    set rx1303_off, 0
+    lt rx1303_pos, 2, rx1303_start
+    sub rx1303_off, rx1303_pos, 1
+    substr rx1303_tgt, rx1303_tgt, rx1303_off
+  rx1303_start:
     $I10 = self.'from'()
     ne $I10, -1, rxscan1304_done
     goto rxscan1304_scan
   rxscan1304_loop:
-    ($P10) = rx1301_cur."from"()
+    ($P10) = rx1303_cur."from"()
     inc $P10
-    set rx1301_pos, $P10
-    ge rx1301_pos, rx1301_eos, rxscan1304_done
+    set rx1303_pos, $P10
+    ge rx1303_pos, rx1303_eos, rxscan1304_done
   rxscan1304_scan:
     set_addr $I10, rxscan1304_loop
-    rx1301_cur."!mark_push"(0, rx1301_pos, $I10)
+    rx1303_cur."!mark_push"(0, rx1303_pos, $I10)
   rxscan1304_done:
-.annotate 'line', 554
-  # rx enumcharlist negate=0 zerowidth
-    ge rx1301_pos, rx1301_eos, rx1301_fail
-    sub $I10, rx1301_pos, rx1301_off
-    substr $S10, rx1301_tgt, $I10, 1
-    index $I11, "{", $S10
-    lt $I11, 0, rx1301_fail
-  # rx subrule "codeblock" subtype=capture negate=
-    rx1301_cur."!cursor_pos"(rx1301_pos)
-    $P10 = rx1301_cur."codeblock"()
-    unless $P10, rx1301_fail
-    rx1301_cur."!mark_push"(0, -1, 0, $P10)
-    $P10."!cursor_names"("codeblock")
-    rx1301_pos = $P10."pos"()
-.annotate 'line', 553
-  # rx pass
-    rx1301_cur."!cursor_pass"(rx1301_pos, "metachar:sym<{ }>")
-    rx1301_cur."!cursor_debug"("PASS  ", "metachar:sym<{ }>", " at pos=", rx1301_pos)
-    .return (rx1301_cur)
-  rx1301_fail:
-.annotate 'line', 548
-    (rx1301_rep, rx1301_pos, $I10, $P10) = rx1301_cur."!mark_fail"(0)
-    lt rx1301_pos, -1, rx1301_done
-    eq rx1301_pos, -1, rx1301_fail
-    jump $I10
-  rx1301_done:
-    rx1301_cur."!cursor_fail"()
-    rx1301_cur."!cursor_debug"("FAIL  ", "metachar:sym<{ }>")
-    .return (rx1301_cur)
+  # rx literal  "my"
+    add $I11, rx1303_pos, 2
+    gt $I11, rx1303_eos, rx1303_fail
+    sub $I11, rx1303_pos, rx1303_off
+    substr $S10, rx1303_tgt, $I11, 2
+    ne $S10, "my", rx1303_fail
+    add rx1303_pos, 2
+  # rx pass
+    rx1303_cur."!cursor_pass"(rx1303_pos, "")
+    rx1303_cur."!cursor_debug"("PASS  ", "", " at pos=", rx1303_pos)
+    .return (rx1303_cur)
+  rx1303_fail:
+    (rx1303_rep, rx1303_pos, $I10, $P10) = rx1303_cur."!mark_fail"(0)
+    lt rx1303_pos, -1, rx1303_done
+    eq rx1303_pos, -1, rx1303_fail
+    jump $I10
+  rx1303_done:
+    rx1303_cur."!cursor_fail"()
+    rx1303_cur."!cursor_debug"("FAIL  ", "")
+    .return (rx1303_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Regex"]
-.sub "!PREFIX__metachar:sym<{ }>"  :subid("335_1274800460.92525") :method
-.annotate 'line', 548
-    new $P1303, "ResizablePMCArray"
-    push $P1303, "{"
-    .return ($P1303)
-.end
-
-
-.namespace ["NQP";"Regex"]
-.sub "metachar:sym<nqpvar>"  :subid("336_1274800460.92525") :method :outer("330_1274800460.92525")
-.annotate 'line', 548
-    .const 'Sub' $P1311 = "338_1274800460.92525" 
-    capture_lex $P1311
+.sub "metachar:sym<{ }>"  :subid("336_1274853038.58734") :method :outer("332_1274853038.58734")
+.annotate 'line', 550
     .local string rx1306_tgt
     .local int rx1306_pos
     .local int rx1306_off
@@ -16043,7 +16048,7 @@
     .local int rx1306_rep
     .local pmc rx1306_cur
     (rx1306_cur, rx1306_pos, rx1306_tgt) = self."!cursor_start"()
-    rx1306_cur."!cursor_debug"("START ", "metachar:sym<nqpvar>")
+    rx1306_cur."!cursor_debug"("START ", "metachar:sym<{ }>")
     .lex unicode:"$\x{a2}", rx1306_cur
     .local pmc match
     .lex "$/", match
@@ -16065,192 +16070,192 @@
     set_addr $I10, rxscan1309_loop
     rx1306_cur."!mark_push"(0, rx1306_pos, $I10)
   rxscan1309_done:
-.annotate 'line', 558
+.annotate 'line', 556
   # rx enumcharlist negate=0 zerowidth
     ge rx1306_pos, rx1306_eos, rx1306_fail
     sub $I10, rx1306_pos, rx1306_off
     substr $S10, rx1306_tgt, $I10, 1
-    index $I11, "$@", $S10
+    index $I11, "{", $S10
     lt $I11, 0, rx1306_fail
-  # rx subrule "before" subtype=zerowidth negate=
-    rx1306_cur."!cursor_pos"(rx1306_pos)
-    .const 'Sub' $P1311 = "338_1274800460.92525" 
-    capture_lex $P1311
-    $P10 = rx1306_cur."before"($P1311)
-    unless $P10, rx1306_fail
-  # rx subrule "LANG" subtype=capture negate=
+  # rx subrule "codeblock" subtype=capture negate=
     rx1306_cur."!cursor_pos"(rx1306_pos)
-    $P10 = rx1306_cur."LANG"("MAIN", "variable")
+    $P10 = rx1306_cur."codeblock"()
     unless $P10, rx1306_fail
     rx1306_cur."!mark_push"(0, -1, 0, $P10)
-    $P10."!cursor_names"("var")
+    $P10."!cursor_names"("codeblock")
     rx1306_pos = $P10."pos"()
-.annotate 'line', 557
+.annotate 'line', 555
   # rx pass
-    rx1306_cur."!cursor_pass"(rx1306_pos, "metachar:sym<nqpvar>")
-    rx1306_cur."!cursor_debug"("PASS  ", "metachar:sym<nqpvar>", " at pos=", rx1306_pos)
+    rx1306_cur."!cursor_pass"(rx1306_pos, "metachar:sym<{ }>")
+    rx1306_cur."!cursor_debug"("PASS  ", "metachar:sym<{ }>", " at pos=", rx1306_pos)
     .return (rx1306_cur)
   rx1306_fail:
-.annotate 'line', 548
+.annotate 'line', 550
     (rx1306_rep, rx1306_pos, $I10, $P10) = rx1306_cur."!mark_fail"(0)
     lt rx1306_pos, -1, rx1306_done
     eq rx1306_pos, -1, rx1306_fail
     jump $I10
   rx1306_done:
     rx1306_cur."!cursor_fail"()
-    rx1306_cur."!cursor_debug"("FAIL  ", "metachar:sym<nqpvar>")
+    rx1306_cur."!cursor_debug"("FAIL  ", "metachar:sym<{ }>")
     .return (rx1306_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Regex"]
-.sub "!PREFIX__metachar:sym<nqpvar>"  :subid("337_1274800460.92525") :method
-.annotate 'line', 548
+.sub "!PREFIX__metachar:sym<{ }>"  :subid("337_1274853038.58734") :method
+.annotate 'line', 550
     new $P1308, "ResizablePMCArray"
-    push $P1308, "$"
-    push $P1308, "@"
+    push $P1308, "{"
     .return ($P1308)
 .end
 
 
 .namespace ["NQP";"Regex"]
-.sub "_block1310"  :anon :subid("338_1274800460.92525") :method :outer("336_1274800460.92525")
-.annotate 'line', 558
-    .local string rx1312_tgt
-    .local int rx1312_pos
-    .local int rx1312_off
-    .local int rx1312_eos
-    .local int rx1312_rep
-    .local pmc rx1312_cur
-    (rx1312_cur, rx1312_pos, rx1312_tgt) = self."!cursor_start"()
-    rx1312_cur."!cursor_debug"("START ", "")
-    .lex unicode:"$\x{a2}", rx1312_cur
-    .local pmc match
-    .lex "$/", match
-    length rx1312_eos, rx1312_tgt
-    set rx1312_off, 0
-    lt rx1312_pos, 2, rx1312_start
-    sub rx1312_off, rx1312_pos, 1
-    substr rx1312_tgt, rx1312_tgt, rx1312_off
-  rx1312_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan1313_done
-    goto rxscan1313_scan
-  rxscan1313_loop:
-    ($P10) = rx1312_cur."from"()
-    inc $P10
-    set rx1312_pos, $P10
-    ge rx1312_pos, rx1312_eos, rxscan1313_done
-  rxscan1313_scan:
-    set_addr $I10, rxscan1313_loop
-    rx1312_cur."!mark_push"(0, rx1312_pos, $I10)
-  rxscan1313_done:
-  # rx charclass .
-    ge rx1312_pos, rx1312_eos, rx1312_fail
-    inc rx1312_pos
-  # rx charclass w
-    ge rx1312_pos, rx1312_eos, rx1312_fail
-    sub $I10, rx1312_pos, rx1312_off
-    is_cclass $I11, 8192, rx1312_tgt, $I10
-    unless $I11, rx1312_fail
-    inc rx1312_pos
-  # rx pass
-    rx1312_cur."!cursor_pass"(rx1312_pos, "")
-    rx1312_cur."!cursor_debug"("PASS  ", "", " at pos=", rx1312_pos)
-    .return (rx1312_cur)
-  rx1312_fail:
-    (rx1312_rep, rx1312_pos, $I10, $P10) = rx1312_cur."!mark_fail"(0)
-    lt rx1312_pos, -1, rx1312_done
-    eq rx1312_pos, -1, rx1312_fail
-    jump $I10
-  rx1312_done:
-    rx1312_cur."!cursor_fail"()
-    rx1312_cur."!cursor_debug"("FAIL  ", "")
-    .return (rx1312_cur)
+.sub "metachar:sym<nqpvar>"  :subid("338_1274853038.58734") :method :outer("332_1274853038.58734")
+.annotate 'line', 550
+    .const 'Sub' $P1316 = "340_1274853038.58734" 
+    capture_lex $P1316
+    .local string rx1311_tgt
+    .local int rx1311_pos
+    .local int rx1311_off
+    .local int rx1311_eos
+    .local int rx1311_rep
+    .local pmc rx1311_cur
+    (rx1311_cur, rx1311_pos, rx1311_tgt) = self."!cursor_start"()
+    rx1311_cur."!cursor_debug"("START ", "metachar:sym<nqpvar>")
+    .lex unicode:"$\x{a2}", rx1311_cur
+    .local pmc match
+    .lex "$/", match
+    length rx1311_eos, rx1311_tgt
+    set rx1311_off, 0
+    lt rx1311_pos, 2, rx1311_start
+    sub rx1311_off, rx1311_pos, 1
+    substr rx1311_tgt, rx1311_tgt, rx1311_off
+  rx1311_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan1314_done
+    goto rxscan1314_scan
+  rxscan1314_loop:
+    ($P10) = rx1311_cur."from"()
+    inc $P10
+    set rx1311_pos, $P10
+    ge rx1311_pos, rx1311_eos, rxscan1314_done
+  rxscan1314_scan:
+    set_addr $I10, rxscan1314_loop
+    rx1311_cur."!mark_push"(0, rx1311_pos, $I10)
+  rxscan1314_done:
+.annotate 'line', 560
+  # rx enumcharlist negate=0 zerowidth
+    ge rx1311_pos, rx1311_eos, rx1311_fail
+    sub $I10, rx1311_pos, rx1311_off
+    substr $S10, rx1311_tgt, $I10, 1
+    index $I11, "$@", $S10
+    lt $I11, 0, rx1311_fail
+  # rx subrule "before" subtype=zerowidth negate=
+    rx1311_cur."!cursor_pos"(rx1311_pos)
+    .const 'Sub' $P1316 = "340_1274853038.58734" 
+    capture_lex $P1316
+    $P10 = rx1311_cur."before"($P1316)
+    unless $P10, rx1311_fail
+  # rx subrule "LANG" subtype=capture negate=
+    rx1311_cur."!cursor_pos"(rx1311_pos)
+    $P10 = rx1311_cur."LANG"("MAIN", "variable")
+    unless $P10, rx1311_fail
+    rx1311_cur."!mark_push"(0, -1, 0, $P10)
+    $P10."!cursor_names"("var")
+    rx1311_pos = $P10."pos"()
+.annotate 'line', 559
+  # rx pass
+    rx1311_cur."!cursor_pass"(rx1311_pos, "metachar:sym<nqpvar>")
+    rx1311_cur."!cursor_debug"("PASS  ", "metachar:sym<nqpvar>", " at pos=", rx1311_pos)
+    .return (rx1311_cur)
+  rx1311_fail:
+.annotate 'line', 550
+    (rx1311_rep, rx1311_pos, $I10, $P10) = rx1311_cur."!mark_fail"(0)
+    lt rx1311_pos, -1, rx1311_done
+    eq rx1311_pos, -1, rx1311_fail
+    jump $I10
+  rx1311_done:
+    rx1311_cur."!cursor_fail"()
+    rx1311_cur."!cursor_debug"("FAIL  ", "metachar:sym<nqpvar>")
+    .return (rx1311_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Regex"]
-.sub "assertion:sym<{ }>"  :subid("339_1274800460.92525") :method :outer("330_1274800460.92525")
-.annotate 'line', 548
-    .local string rx1315_tgt
-    .local int rx1315_pos
-    .local int rx1315_off
-    .local int rx1315_eos
-    .local int rx1315_rep
-    .local pmc rx1315_cur
-    (rx1315_cur, rx1315_pos, rx1315_tgt) = self."!cursor_start"()
-    rx1315_cur."!cursor_debug"("START ", "assertion:sym<{ }>")
-    .lex unicode:"$\x{a2}", rx1315_cur
-    .local pmc match
-    .lex "$/", match
-    length rx1315_eos, rx1315_tgt
-    set rx1315_off, 0
-    lt rx1315_pos, 2, rx1315_start
-    sub rx1315_off, rx1315_pos, 1
-    substr rx1315_tgt, rx1315_tgt, rx1315_off
-  rx1315_start:
+.sub "!PREFIX__metachar:sym<nqpvar>"  :subid("339_1274853038.58734") :method
+.annotate 'line', 550
+    new $P1313, "ResizablePMCArray"
+    push $P1313, "$"
+    push $P1313, "@"
+    .return ($P1313)
+.end
+
+
+.namespace ["NQP";"Regex"]
+.sub "_block1315"  :anon :subid("340_1274853038.58734") :method :outer("338_1274853038.58734")
+.annotate 'line', 560
+    .local string rx1317_tgt
+    .local int rx1317_pos
+    .local int rx1317_off
+    .local int rx1317_eos
+    .local int rx1317_rep
+    .local pmc rx1317_cur
+    (rx1317_cur, rx1317_pos, rx1317_tgt) = self."!cursor_start"()
+    rx1317_cur."!cursor_debug"("START ", "")
+    .lex unicode:"$\x{a2}", rx1317_cur
+    .local pmc match
+    .lex "$/", match
+    length rx1317_eos, rx1317_tgt
+    set rx1317_off, 0
+    lt rx1317_pos, 2, rx1317_start
+    sub rx1317_off, rx1317_pos, 1
+    substr rx1317_tgt, rx1317_tgt, rx1317_off
+  rx1317_start:
     $I10 = self.'from'()
     ne $I10, -1, rxscan1318_done
     goto rxscan1318_scan
   rxscan1318_loop:
-    ($P10) = rx1315_cur."from"()
+    ($P10) = rx1317_cur."from"()
     inc $P10
-    set rx1315_pos, $P10
-    ge rx1315_pos, rx1315_eos, rxscan1318_done
+    set rx1317_pos, $P10
+    ge rx1317_pos, rx1317_eos, rxscan1318_done
   rxscan1318_scan:
     set_addr $I10, rxscan1318_loop
-    rx1315_cur."!mark_push"(0, rx1315_pos, $I10)
+    rx1317_cur."!mark_push"(0, rx1317_pos, $I10)
   rxscan1318_done:
-.annotate 'line', 562
-  # rx enumcharlist negate=0 zerowidth
-    ge rx1315_pos, rx1315_eos, rx1315_fail
-    sub $I10, rx1315_pos, rx1315_off
-    substr $S10, rx1315_tgt, $I10, 1
-    index $I11, "{", $S10
-    lt $I11, 0, rx1315_fail
-  # rx subrule "codeblock" subtype=capture negate=
-    rx1315_cur."!cursor_pos"(rx1315_pos)
-    $P10 = rx1315_cur."codeblock"()
-    unless $P10, rx1315_fail
-    rx1315_cur."!mark_push"(0, -1, 0, $P10)
-    $P10."!cursor_names"("codeblock")
-    rx1315_pos = $P10."pos"()
-.annotate 'line', 561
-  # rx pass
-    rx1315_cur."!cursor_pass"(rx1315_pos, "assertion:sym<{ }>")
-    rx1315_cur."!cursor_debug"("PASS  ", "assertion:sym<{ }>", " at pos=", rx1315_pos)
-    .return (rx1315_cur)
-  rx1315_fail:
-.annotate 'line', 548
-    (rx1315_rep, rx1315_pos, $I10, $P10) = rx1315_cur."!mark_fail"(0)
-    lt rx1315_pos, -1, rx1315_done
-    eq rx1315_pos, -1, rx1315_fail
-    jump $I10
-  rx1315_done:
-    rx1315_cur."!cursor_fail"()
-    rx1315_cur."!cursor_debug"("FAIL  ", "assertion:sym<{ }>")
-    .return (rx1315_cur)
+  # rx charclass .
+    ge rx1317_pos, rx1317_eos, rx1317_fail
+    inc rx1317_pos
+  # rx charclass w
+    ge rx1317_pos, rx1317_eos, rx1317_fail
+    sub $I10, rx1317_pos, rx1317_off
+    is_cclass $I11, 8192, rx1317_tgt, $I10
+    unless $I11, rx1317_fail
+    inc rx1317_pos
+  # rx pass
+    rx1317_cur."!cursor_pass"(rx1317_pos, "")
+    rx1317_cur."!cursor_debug"("PASS  ", "", " at pos=", rx1317_pos)
+    .return (rx1317_cur)
+  rx1317_fail:
+    (rx1317_rep, rx1317_pos, $I10, $P10) = rx1317_cur."!mark_fail"(0)
+    lt rx1317_pos, -1, rx1317_done
+    eq rx1317_pos, -1, rx1317_fail
+    jump $I10
+  rx1317_done:
+    rx1317_cur."!cursor_fail"()
+    rx1317_cur."!cursor_debug"("FAIL  ", "")
+    .return (rx1317_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Regex"]
-.sub "!PREFIX__assertion:sym<{ }>"  :subid("340_1274800460.92525") :method
-.annotate 'line', 548
-    new $P1317, "ResizablePMCArray"
-    push $P1317, "{"
-    .return ($P1317)
-.end
-
-
-.namespace ["NQP";"Regex"]
-.sub "assertion:sym<?{ }>"  :subid("341_1274800460.92525") :method :outer("330_1274800460.92525")
-.annotate 'line', 548
-    .const 'Sub' $P1325 = "343_1274800460.92525" 
-    capture_lex $P1325
+.sub "assertion:sym<{ }>"  :subid("341_1274853038.58734") :method :outer("332_1274853038.58734")
+.annotate 'line', 550
     .local string rx1320_tgt
     .local int rx1320_pos
     .local int rx1320_off
@@ -16258,7 +16263,7 @@
     .local int rx1320_rep
     .local pmc rx1320_cur
     (rx1320_cur, rx1320_pos, rx1320_tgt) = self."!cursor_start"()
-    rx1320_cur."!cursor_debug"("START ", "assertion:sym<?{ }>")
+    rx1320_cur."!cursor_debug"("START ", "assertion:sym<{ }>")
     .lex unicode:"$\x{a2}", rx1320_cur
     .local pmc match
     .lex "$/", match
@@ -16280,34 +16285,13 @@
     set_addr $I10, rxscan1323_loop
     rx1320_cur."!mark_push"(0, rx1320_pos, $I10)
   rxscan1323_done:
-.annotate 'line', 566
-  # rx subcapture "zw"
-    set_addr $I10, rxcap_1328_fail
-    rx1320_cur."!mark_push"(0, rx1320_pos, $I10)
-  # rx enumcharlist negate=0 
+.annotate 'line', 564
+  # rx enumcharlist negate=0 zerowidth
     ge rx1320_pos, rx1320_eos, rx1320_fail
     sub $I10, rx1320_pos, rx1320_off
     substr $S10, rx1320_tgt, $I10, 1
-    index $I11, "?!", $S10
+    index $I11, "{", $S10
     lt $I11, 0, rx1320_fail
-    inc rx1320_pos
-  # rx subrule "before" subtype=zerowidth negate=
-    rx1320_cur."!cursor_pos"(rx1320_pos)
-    .const 'Sub' $P1325 = "343_1274800460.92525" 
-    capture_lex $P1325
-    $P10 = rx1320_cur."before"($P1325)
-    unless $P10, rx1320_fail
-    set_addr $I10, rxcap_1328_fail
-    ($I12, $I11) = rx1320_cur."!mark_peek"($I10)
-    rx1320_cur."!cursor_pos"($I11)
-    ($P10) = rx1320_cur."!cursor_start"()
-    $P10."!cursor_pass"(rx1320_pos, "")
-    rx1320_cur."!mark_push"(0, -1, 0, $P10)
-    $P10."!cursor_names"("zw")
-    goto rxcap_1328_done
-  rxcap_1328_fail:
-    goto rx1320_fail
-  rxcap_1328_done:
   # rx subrule "codeblock" subtype=capture negate=
     rx1320_cur."!cursor_pos"(rx1320_pos)
     $P10 = rx1320_cur."codeblock"()
@@ -16315,408 +16299,430 @@
     rx1320_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("codeblock")
     rx1320_pos = $P10."pos"()
-.annotate 'line', 565
+.annotate 'line', 563
   # rx pass
-    rx1320_cur."!cursor_pass"(rx1320_pos, "assertion:sym<?{ }>")
-    rx1320_cur."!cursor_debug"("PASS  ", "assertion:sym<?{ }>", " at pos=", rx1320_pos)
+    rx1320_cur."!cursor_pass"(rx1320_pos, "assertion:sym<{ }>")
+    rx1320_cur."!cursor_debug"("PASS  ", "assertion:sym<{ }>", " at pos=", rx1320_pos)
     .return (rx1320_cur)
   rx1320_fail:
-.annotate 'line', 548
+.annotate 'line', 550
     (rx1320_rep, rx1320_pos, $I10, $P10) = rx1320_cur."!mark_fail"(0)
     lt rx1320_pos, -1, rx1320_done
     eq rx1320_pos, -1, rx1320_fail
     jump $I10
   rx1320_done:
     rx1320_cur."!cursor_fail"()
-    rx1320_cur."!cursor_debug"("FAIL  ", "assertion:sym<?{ }>")
+    rx1320_cur."!cursor_debug"("FAIL  ", "assertion:sym<{ }>")
     .return (rx1320_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Regex"]
-.sub "!PREFIX__assertion:sym<?{ }>"  :subid("342_1274800460.92525") :method
-.annotate 'line', 548
+.sub "!PREFIX__assertion:sym<{ }>"  :subid("342_1274853038.58734") :method
+.annotate 'line', 550
     new $P1322, "ResizablePMCArray"
-    push $P1322, "!"
-    push $P1322, "?"
+    push $P1322, "{"
     .return ($P1322)
 .end
 
 
 .namespace ["NQP";"Regex"]
-.sub "_block1324"  :anon :subid("343_1274800460.92525") :method :outer("341_1274800460.92525")
-.annotate 'line', 566
-    .local string rx1326_tgt
-    .local int rx1326_pos
-    .local int rx1326_off
-    .local int rx1326_eos
-    .local int rx1326_rep
-    .local pmc rx1326_cur
-    (rx1326_cur, rx1326_pos, rx1326_tgt) = self."!cursor_start"()
-    rx1326_cur."!cursor_debug"("START ", "")
-    .lex unicode:"$\x{a2}", rx1326_cur
-    .local pmc match
-    .lex "$/", match
-    length rx1326_eos, rx1326_tgt
-    set rx1326_off, 0
-    lt rx1326_pos, 2, rx1326_start
-    sub rx1326_off, rx1326_pos, 1
-    substr rx1326_tgt, rx1326_tgt, rx1326_off
-  rx1326_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan1327_done
-    goto rxscan1327_scan
-  rxscan1327_loop:
-    ($P10) = rx1326_cur."from"()
-    inc $P10
-    set rx1326_pos, $P10
-    ge rx1326_pos, rx1326_eos, rxscan1327_done
-  rxscan1327_scan:
-    set_addr $I10, rxscan1327_loop
-    rx1326_cur."!mark_push"(0, rx1326_pos, $I10)
-  rxscan1327_done:
+.sub "assertion:sym<?{ }>"  :subid("343_1274853038.58734") :method :outer("332_1274853038.58734")
+.annotate 'line', 550
+    .const 'Sub' $P1330 = "345_1274853038.58734" 
+    capture_lex $P1330
+    .local string rx1325_tgt
+    .local int rx1325_pos
+    .local int rx1325_off
+    .local int rx1325_eos
+    .local int rx1325_rep
+    .local pmc rx1325_cur
+    (rx1325_cur, rx1325_pos, rx1325_tgt) = self."!cursor_start"()
+    rx1325_cur."!cursor_debug"("START ", "assertion:sym<?{ }>")
+    .lex unicode:"$\x{a2}", rx1325_cur
+    .local pmc match
+    .lex "$/", match
+    length rx1325_eos, rx1325_tgt
+    set rx1325_off, 0
+    lt rx1325_pos, 2, rx1325_start
+    sub rx1325_off, rx1325_pos, 1
+    substr rx1325_tgt, rx1325_tgt, rx1325_off
+  rx1325_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan1328_done
+    goto rxscan1328_scan
+  rxscan1328_loop:
+    ($P10) = rx1325_cur."from"()
+    inc $P10
+    set rx1325_pos, $P10
+    ge rx1325_pos, rx1325_eos, rxscan1328_done
+  rxscan1328_scan:
+    set_addr $I10, rxscan1328_loop
+    rx1325_cur."!mark_push"(0, rx1325_pos, $I10)
+  rxscan1328_done:
+.annotate 'line', 568
+  # rx subcapture "zw"
+    set_addr $I10, rxcap_1333_fail
+    rx1325_cur."!mark_push"(0, rx1325_pos, $I10)
+  # rx enumcharlist negate=0 
+    ge rx1325_pos, rx1325_eos, rx1325_fail
+    sub $I10, rx1325_pos, rx1325_off
+    substr $S10, rx1325_tgt, $I10, 1
+    index $I11, "?!", $S10
+    lt $I11, 0, rx1325_fail
+    inc rx1325_pos
+  # rx subrule "before" subtype=zerowidth negate=
+    rx1325_cur."!cursor_pos"(rx1325_pos)
+    .const 'Sub' $P1330 = "345_1274853038.58734" 
+    capture_lex $P1330
+    $P10 = rx1325_cur."before"($P1330)
+    unless $P10, rx1325_fail
+    set_addr $I10, rxcap_1333_fail
+    ($I12, $I11) = rx1325_cur."!mark_peek"($I10)
+    rx1325_cur."!cursor_pos"($I11)
+    ($P10) = rx1325_cur."!cursor_start"()
+    $P10."!cursor_pass"(rx1325_pos, "")
+    rx1325_cur."!mark_push"(0, -1, 0, $P10)
+    $P10."!cursor_names"("zw")
+    goto rxcap_1333_done
+  rxcap_1333_fail:
+    goto rx1325_fail
+  rxcap_1333_done:
+  # rx subrule "codeblock" subtype=capture negate=
+    rx1325_cur."!cursor_pos"(rx1325_pos)
+    $P10 = rx1325_cur."codeblock"()
+    unless $P10, rx1325_fail
+    rx1325_cur."!mark_push"(0, -1, 0, $P10)
+    $P10."!cursor_names"("codeblock")
+    rx1325_pos = $P10."pos"()
+.annotate 'line', 567
+  # rx pass
+    rx1325_cur."!cursor_pass"(rx1325_pos, "assertion:sym<?{ }>")
+    rx1325_cur."!cursor_debug"("PASS  ", "assertion:sym<?{ }>", " at pos=", rx1325_pos)
+    .return (rx1325_cur)
+  rx1325_fail:
+.annotate 'line', 550
+    (rx1325_rep, rx1325_pos, $I10, $P10) = rx1325_cur."!mark_fail"(0)
+    lt rx1325_pos, -1, rx1325_done
+    eq rx1325_pos, -1, rx1325_fail
+    jump $I10
+  rx1325_done:
+    rx1325_cur."!cursor_fail"()
+    rx1325_cur."!cursor_debug"("FAIL  ", "assertion:sym<?{ }>")
+    .return (rx1325_cur)
+    .return ()
+.end
+
+
+.namespace ["NQP";"Regex"]
+.sub "!PREFIX__assertion:sym<?{ }>"  :subid("344_1274853038.58734") :method
+.annotate 'line', 550
+    new $P1327, "ResizablePMCArray"
+    push $P1327, "!"
+    push $P1327, "?"
+    .return ($P1327)
+.end
+
+
+.namespace ["NQP";"Regex"]
+.sub "_block1329"  :anon :subid("345_1274853038.58734") :method :outer("343_1274853038.58734")
+.annotate 'line', 568
+    .local string rx1331_tgt
+    .local int rx1331_pos
+    .local int rx1331_off
+    .local int rx1331_eos
+    .local int rx1331_rep
+    .local pmc rx1331_cur
+    (rx1331_cur, rx1331_pos, rx1331_tgt) = self."!cursor_start"()
+    rx1331_cur."!cursor_debug"("START ", "")
+    .lex unicode:"$\x{a2}", rx1331_cur
+    .local pmc match
+    .lex "$/", match
+    length rx1331_eos, rx1331_tgt
+    set rx1331_off, 0
+    lt rx1331_pos, 2, rx1331_start
+    sub rx1331_off, rx1331_pos, 1
+    substr rx1331_tgt, rx1331_tgt, rx1331_off
+  rx1331_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan1332_done
+    goto rxscan1332_scan
+  rxscan1332_loop:
+    ($P10) = rx1331_cur."from"()
+    inc $P10
+    set rx1331_pos, $P10
+    ge rx1331_pos, rx1331_eos, rxscan1332_done
+  rxscan1332_scan:
+    set_addr $I10, rxscan1332_loop
+    rx1331_cur."!mark_push"(0, rx1331_pos, $I10)
+  rxscan1332_done:
   # rx literal  "{"
-    add $I11, rx1326_pos, 1
-    gt $I11, rx1326_eos, rx1326_fail
-    sub $I11, rx1326_pos, rx1326_off
-    substr $S10, rx1326_tgt, $I11, 1
-    ne $S10, "{", rx1326_fail
-    add rx1326_pos, 1
-  # rx pass
-    rx1326_cur."!cursor_pass"(rx1326_pos, "")
-    rx1326_cur."!cursor_debug"("PASS  ", "", " at pos=", rx1326_pos)
-    .return (rx1326_cur)
-  rx1326_fail:
-    (rx1326_rep, rx1326_pos, $I10, $P10) = rx1326_cur."!mark_fail"(0)
-    lt rx1326_pos, -1, rx1326_done
-    eq rx1326_pos, -1, rx1326_fail
-    jump $I10
-  rx1326_done:
-    rx1326_cur."!cursor_fail"()
-    rx1326_cur."!cursor_debug"("FAIL  ", "")
-    .return (rx1326_cur)
+    add $I11, rx1331_pos, 1
+    gt $I11, rx1331_eos, rx1331_fail
+    sub $I11, rx1331_pos, rx1331_off
+    substr $S10, rx1331_tgt, $I11, 1
+    ne $S10, "{", rx1331_fail
+    add rx1331_pos, 1
+  # rx pass
+    rx1331_cur."!cursor_pass"(rx1331_pos, "")
+    rx1331_cur."!cursor_debug"("PASS  ", "", " at pos=", rx1331_pos)
+    .return (rx1331_cur)
+  rx1331_fail:
+    (rx1331_rep, rx1331_pos, $I10, $P10) = rx1331_cur."!mark_fail"(0)
+    lt rx1331_pos, -1, rx1331_done
+    eq rx1331_pos, -1, rx1331_fail
+    jump $I10
+  rx1331_done:
+    rx1331_cur."!cursor_fail"()
+    rx1331_cur."!cursor_debug"("FAIL  ", "")
+    .return (rx1331_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Regex"]
-.sub "assertion:sym<name>"  :subid("344_1274800460.92525") :method :outer("330_1274800460.92525")
-.annotate 'line', 548
-    .const 'Sub' $P1338 = "346_1274800460.92525" 
-    capture_lex $P1338
-    .local string rx1330_tgt
-    .local int rx1330_pos
-    .local int rx1330_off
-    .local int rx1330_eos
-    .local int rx1330_rep
-    .local pmc rx1330_cur
-    (rx1330_cur, rx1330_pos, rx1330_tgt) = self."!cursor_start"()
-    rx1330_cur."!cursor_debug"("START ", "assertion:sym<name>")
-    rx1330_cur."!cursor_caparray"("nibbler", "arglist", "assertion")
-    .lex unicode:"$\x{a2}", rx1330_cur
-    .local pmc match
-    .lex "$/", match
-    length rx1330_eos, rx1330_tgt
-    set rx1330_off, 0
-    lt rx1330_pos, 2, rx1330_start
-    sub rx1330_off, rx1330_pos, 1
-    substr rx1330_tgt, rx1330_tgt, rx1330_off
-  rx1330_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan1333_done
-    goto rxscan1333_scan
-  rxscan1333_loop:
-    ($P10) = rx1330_cur."from"()
-    inc $P10
-    set rx1330_pos, $P10
-    ge rx1330_pos, rx1330_eos, rxscan1333_done
-  rxscan1333_scan:
-    set_addr $I10, rxscan1333_loop
-    rx1330_cur."!mark_push"(0, rx1330_pos, $I10)
-  rxscan1333_done:
-.annotate 'line', 570
+.sub "assertion:sym<name>"  :subid("346_1274853038.58734") :method :outer("332_1274853038.58734")
+.annotate 'line', 550
+    .const 'Sub' $P1343 = "348_1274853038.58734" 
+    capture_lex $P1343
+    .local string rx1335_tgt
+    .local int rx1335_pos
+    .local int rx1335_off
+    .local int rx1335_eos
+    .local int rx1335_rep
+    .local pmc rx1335_cur
+    (rx1335_cur, rx1335_pos, rx1335_tgt) = self."!cursor_start"()
+    rx1335_cur."!cursor_debug"("START ", "assertion:sym<name>")
+    rx1335_cur."!cursor_caparray"("arglist", "nibbler", "assertion")
+    .lex unicode:"$\x{a2}", rx1335_cur
+    .local pmc match
+    .lex "$/", match
+    length rx1335_eos, rx1335_tgt
+    set rx1335_off, 0
+    lt rx1335_pos, 2, rx1335_start
+    sub rx1335_off, rx1335_pos, 1
+    substr rx1335_tgt, rx1335_tgt, rx1335_off
+  rx1335_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan1338_done
+    goto rxscan1338_scan
+  rxscan1338_loop:
+    ($P10) = rx1335_cur."from"()
+    inc $P10
+    set rx1335_pos, $P10
+    ge rx1335_pos, rx1335_eos, rxscan1338_done
+  rxscan1338_scan:
+    set_addr $I10, rxscan1338_loop
+    rx1335_cur."!mark_push"(0, rx1335_pos, $I10)
+  rxscan1338_done:
+.annotate 'line', 572
   # rx subcapture "longname"
-    set_addr $I10, rxcap_1334_fail
-    rx1330_cur."!mark_push"(0, rx1330_pos, $I10)
+    set_addr $I10, rxcap_1339_fail
+    rx1335_cur."!mark_push"(0, rx1335_pos, $I10)
   # rx charclass_q w r 1..-1
-    sub $I10, rx1330_pos, rx1330_off
-    find_not_cclass $I11, 8192, rx1330_tgt, $I10, rx1330_eos
+    sub $I10, rx1335_pos, rx1335_off
+    find_not_cclass $I11, 8192, rx1335_tgt, $I10, rx1335_eos
     add $I12, $I10, 1
-    lt $I11, $I12, rx1330_fail
-    add rx1330_pos, rx1330_off, $I11
-    set_addr $I10, rxcap_1334_fail
-    ($I12, $I11) = rx1330_cur."!mark_peek"($I10)
-    rx1330_cur."!cursor_pos"($I11)
-    ($P10) = rx1330_cur."!cursor_start"()
-    $P10."!cursor_pass"(rx1330_pos, "")
-    rx1330_cur."!mark_push"(0, -1, 0, $P10)
+    lt $I11, $I12, rx1335_fail
+    add rx1335_pos, rx1335_off, $I11
+    set_addr $I10, rxcap_1339_fail
+    ($I12, $I11) = rx1335_cur."!mark_peek"($I10)
+    rx1335_cur."!cursor_pos"($I11)
+    ($P10) = rx1335_cur."!cursor_start"()
+    $P10."!cursor_pass"(rx1335_pos, "")
+    rx1335_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("longname")
-    goto rxcap_1334_done
-  rxcap_1334_fail:
-    goto rx1330_fail
-  rxcap_1334_done:
-.annotate 'line', 577
-  # rx rxquantr1335 ** 0..1
-    set_addr $I1341, rxquantr1335_done
-    rx1330_cur."!mark_push"(0, rx1330_pos, $I1341)
-  rxquantr1335_loop:
-  alt1336_0:
-.annotate 'line', 571
-    set_addr $I10, alt1336_1
-    rx1330_cur."!mark_push"(0, rx1330_pos, $I10)
-.annotate 'line', 572
-  # rx subrule "before" subtype=zerowidth negate=
-    rx1330_cur."!cursor_pos"(rx1330_pos)
-    .const 'Sub' $P1338 = "346_1274800460.92525" 
-    capture_lex $P1338
-    $P10 = rx1330_cur."before"($P1338)
-    unless $P10, rx1330_fail
-    goto alt1336_end
-  alt1336_1:
-    set_addr $I10, alt1336_2
-    rx1330_cur."!mark_push"(0, rx1330_pos, $I10)
+    goto rxcap_1339_done
+  rxcap_1339_fail:
+    goto rx1335_fail
+  rxcap_1339_done:
+.annotate 'line', 579
+  # rx rxquantr1340 ** 0..1
+    set_addr $I1346, rxquantr1340_done
+    rx1335_cur."!mark_push"(0, rx1335_pos, $I1346)
+  rxquantr1340_loop:
+  alt1341_0:
 .annotate 'line', 573
+    set_addr $I10, alt1341_1
+    rx1335_cur."!mark_push"(0, rx1335_pos, $I10)
+.annotate 'line', 574
+  # rx subrule "before" subtype=zerowidth negate=
+    rx1335_cur."!cursor_pos"(rx1335_pos)
+    .const 'Sub' $P1343 = "348_1274853038.58734" 
+    capture_lex $P1343
+    $P10 = rx1335_cur."before"($P1343)
+    unless $P10, rx1335_fail
+    goto alt1341_end
+  alt1341_1:
+    set_addr $I10, alt1341_2
+    rx1335_cur."!mark_push"(0, rx1335_pos, $I10)
+.annotate 'line', 575
   # rx literal  "="
-    add $I11, rx1330_pos, 1
-    gt $I11, rx1330_eos, rx1330_fail
-    sub $I11, rx1330_pos, rx1330_off
-    substr $S10, rx1330_tgt, $I11, 1
-    ne $S10, "=", rx1330_fail
-    add rx1330_pos, 1
+    add $I11, rx1335_pos, 1
+    gt $I11, rx1335_eos, rx1335_fail
+    sub $I11, rx1335_pos, rx1335_off
+    substr $S10, rx1335_tgt, $I11, 1
+    ne $S10, "=", rx1335_fail
+    add rx1335_pos, 1
   # rx subrule "assertion" subtype=capture negate=
-    rx1330_cur."!cursor_pos"(rx1330_pos)
-    $P10 = rx1330_cur."assertion"()
-    unless $P10, rx1330_fail
-    rx1330_cur."!mark_push"(0, -1, 0, $P10)
+    rx1335_cur."!cursor_pos"(rx1335_pos)
+    $P10 = rx1335_cur."assertion"()
+    unless $P10, rx1335_fail
+    rx1335_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("assertion")
-    rx1330_pos = $P10."pos"()
-    goto alt1336_end
-  alt1336_2:
-    set_addr $I10, alt1336_3
-    rx1330_cur."!mark_push"(0, rx1330_pos, $I10)
-.annotate 'line', 574
+    rx1335_pos = $P10."pos"()
+    goto alt1341_end
+  alt1341_2:
+    set_addr $I10, alt1341_3
+    rx1335_cur."!mark_push"(0, rx1335_pos, $I10)
+.annotate 'line', 576
   # rx literal  ":"
-    add $I11, rx1330_pos, 1
-    gt $I11, rx1330_eos, rx1330_fail
-    sub $I11, rx1330_pos, rx1330_off
-    substr $S10, rx1330_tgt, $I11, 1
-    ne $S10, ":", rx1330_fail
-    add rx1330_pos, 1
+    add $I11, rx1335_pos, 1
+    gt $I11, rx1335_eos, rx1335_fail
+    sub $I11, rx1335_pos, rx1335_off
+    substr $S10, rx1335_tgt, $I11, 1
+    ne $S10, ":", rx1335_fail
+    add rx1335_pos, 1
   # rx subrule "arglist" subtype=capture negate=
-    rx1330_cur."!cursor_pos"(rx1330_pos)
-    $P10 = rx1330_cur."arglist"()
-    unless $P10, rx1330_fail
-    rx1330_cur."!mark_push"(0, -1, 0, $P10)
+    rx1335_cur."!cursor_pos"(rx1335_pos)
+    $P10 = rx1335_cur."arglist"()
+    unless $P10, rx1335_fail
+    rx1335_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("arglist")
-    rx1330_pos = $P10."pos"()
-    goto alt1336_end
-  alt1336_3:
-    set_addr $I10, alt1336_4
-    rx1330_cur."!mark_push"(0, rx1330_pos, $I10)
-.annotate 'line', 575
+    rx1335_pos = $P10."pos"()
+    goto alt1341_end
+  alt1341_3:
+    set_addr $I10, alt1341_4
+    rx1335_cur."!mark_push"(0, rx1335_pos, $I10)
+.annotate 'line', 577
   # rx literal  "("
-    add $I11, rx1330_pos, 1
-    gt $I11, rx1330_eos, rx1330_fail
-    sub $I11, rx1330_pos, rx1330_off
-    substr $S10, rx1330_tgt, $I11, 1
-    ne $S10, "(", rx1330_fail
-    add rx1330_pos, 1
+    add $I11, rx1335_pos, 1
+    gt $I11, rx1335_eos, rx1335_fail
+    sub $I11, rx1335_pos, rx1335_off
+    substr $S10, rx1335_tgt, $I11, 1
+    ne $S10, "(", rx1335_fail
+    add rx1335_pos, 1
   # rx subrule "LANG" subtype=capture negate=
-    rx1330_cur."!cursor_pos"(rx1330_pos)
-    $P10 = rx1330_cur."LANG"("MAIN", "arglist")
-    unless $P10, rx1330_fail
-    rx1330_cur."!mark_push"(0, -1, 0, $P10)
+    rx1335_cur."!cursor_pos"(rx1335_pos)
+    $P10 = rx1335_cur."LANG"("MAIN", "arglist")
+    unless $P10, rx1335_fail
+    rx1335_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("arglist")
-    rx1330_pos = $P10."pos"()
+    rx1335_pos = $P10."pos"()
   # rx literal  ")"
-    add $I11, rx1330_pos, 1
-    gt $I11, rx1330_eos, rx1330_fail
-    sub $I11, rx1330_pos, rx1330_off
-    substr $S10, rx1330_tgt, $I11, 1
-    ne $S10, ")", rx1330_fail
-    add rx1330_pos, 1
-    goto alt1336_end
-  alt1336_4:
-.annotate 'line', 576
+    add $I11, rx1335_pos, 1
+    gt $I11, rx1335_eos, rx1335_fail
+    sub $I11, rx1335_pos, rx1335_off
+    substr $S10, rx1335_tgt, $I11, 1
+    ne $S10, ")", rx1335_fail
+    add rx1335_pos, 1
+    goto alt1341_end
+  alt1341_4:
+.annotate 'line', 578
   # rx subrule "normspace" subtype=method negate=
-    rx1330_cur."!cursor_pos"(rx1330_pos)
-    $P10 = rx1330_cur."normspace"()
-    unless $P10, rx1330_fail
-    rx1330_pos = $P10."pos"()
+    rx1335_cur."!cursor_pos"(rx1335_pos)
+    $P10 = rx1335_cur."normspace"()
+    unless $P10, rx1335_fail
+    rx1335_pos = $P10."pos"()
   # rx subrule "nibbler" subtype=capture negate=
-    rx1330_cur."!cursor_pos"(rx1330_pos)
-    $P10 = rx1330_cur."nibbler"()
-    unless $P10, rx1330_fail
-    rx1330_cur."!mark_push"(0, -1, 0, $P10)
+    rx1335_cur."!cursor_pos"(rx1335_pos)
+    $P10 = rx1335_cur."nibbler"()
+    unless $P10, rx1335_fail
+    rx1335_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("nibbler")
-    rx1330_pos = $P10."pos"()
-  alt1336_end:
-.annotate 'line', 577
-    (rx1330_rep) = rx1330_cur."!mark_commit"($I1341)
-  rxquantr1335_done:
-.annotate 'line', 569
-  # rx pass
-    rx1330_cur."!cursor_pass"(rx1330_pos, "assertion:sym<name>")
-    rx1330_cur."!cursor_debug"("PASS  ", "assertion:sym<name>", " at pos=", rx1330_pos)
-    .return (rx1330_cur)
-  rx1330_fail:
-.annotate 'line', 548
-    (rx1330_rep, rx1330_pos, $I10, $P10) = rx1330_cur."!mark_fail"(0)
-    lt rx1330_pos, -1, rx1330_done
-    eq rx1330_pos, -1, rx1330_fail
-    jump $I10
-  rx1330_done:
-    rx1330_cur."!cursor_fail"()
-    rx1330_cur."!cursor_debug"("FAIL  ", "assertion:sym<name>")
-    .return (rx1330_cur)
+    rx1335_pos = $P10."pos"()
+  alt1341_end:
+.annotate 'line', 579
+    (rx1335_rep) = rx1335_cur."!mark_commit"($I1346)
+  rxquantr1340_done:
+.annotate 'line', 571
+  # rx pass
+    rx1335_cur."!cursor_pass"(rx1335_pos, "assertion:sym<name>")
+    rx1335_cur."!cursor_debug"("PASS  ", "assertion:sym<name>", " at pos=", rx1335_pos)
+    .return (rx1335_cur)
+  rx1335_fail:
+.annotate 'line', 550
+    (rx1335_rep, rx1335_pos, $I10, $P10) = rx1335_cur."!mark_fail"(0)
+    lt rx1335_pos, -1, rx1335_done
+    eq rx1335_pos, -1, rx1335_fail
+    jump $I10
+  rx1335_done:
+    rx1335_cur."!cursor_fail"()
+    rx1335_cur."!cursor_debug"("FAIL  ", "assertion:sym<name>")
+    .return (rx1335_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Regex"]
-.sub "!PREFIX__assertion:sym<name>"  :subid("345_1274800460.92525") :method
-.annotate 'line', 548
-    new $P1332, "ResizablePMCArray"
-    push $P1332, ""
-    .return ($P1332)
+.sub "!PREFIX__assertion:sym<name>"  :subid("347_1274853038.58734") :method
+.annotate 'line', 550
+    new $P1337, "ResizablePMCArray"
+    push $P1337, ""
+    .return ($P1337)
 .end
 
 
 .namespace ["NQP";"Regex"]
-.sub "_block1337"  :anon :subid("346_1274800460.92525") :method :outer("344_1274800460.92525")
-.annotate 'line', 572
-    .local string rx1339_tgt
-    .local int rx1339_pos
-    .local int rx1339_off
-    .local int rx1339_eos
-    .local int rx1339_rep
-    .local pmc rx1339_cur
-    (rx1339_cur, rx1339_pos, rx1339_tgt) = self."!cursor_start"()
-    rx1339_cur."!cursor_debug"("START ", "")
-    .lex unicode:"$\x{a2}", rx1339_cur
-    .local pmc match
-    .lex "$/", match
-    length rx1339_eos, rx1339_tgt
-    set rx1339_off, 0
-    lt rx1339_pos, 2, rx1339_start
-    sub rx1339_off, rx1339_pos, 1
-    substr rx1339_tgt, rx1339_tgt, rx1339_off
-  rx1339_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan1340_done
-    goto rxscan1340_scan
-  rxscan1340_loop:
-    ($P10) = rx1339_cur."from"()
-    inc $P10
-    set rx1339_pos, $P10
-    ge rx1339_pos, rx1339_eos, rxscan1340_done
-  rxscan1340_scan:
-    set_addr $I10, rxscan1340_loop
-    rx1339_cur."!mark_push"(0, rx1339_pos, $I10)
-  rxscan1340_done:
+.sub "_block1342"  :anon :subid("348_1274853038.58734") :method :outer("346_1274853038.58734")
+.annotate 'line', 574
+    .local string rx1344_tgt
+    .local int rx1344_pos
+    .local int rx1344_off
+    .local int rx1344_eos
+    .local int rx1344_rep
+    .local pmc rx1344_cur
+    (rx1344_cur, rx1344_pos, rx1344_tgt) = self."!cursor_start"()
+    rx1344_cur."!cursor_debug"("START ", "")
+    .lex unicode:"$\x{a2}", rx1344_cur
+    .local pmc match
+    .lex "$/", match
+    length rx1344_eos, rx1344_tgt
+    set rx1344_off, 0
+    lt rx1344_pos, 2, rx1344_start
+    sub rx1344_off, rx1344_pos, 1
+    substr rx1344_tgt, rx1344_tgt, rx1344_off
+  rx1344_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan1345_done
+    goto rxscan1345_scan
+  rxscan1345_loop:
+    ($P10) = rx1344_cur."from"()
+    inc $P10
+    set rx1344_pos, $P10
+    ge rx1344_pos, rx1344_eos, rxscan1345_done
+  rxscan1345_scan:
+    set_addr $I10, rxscan1345_loop
+    rx1344_cur."!mark_push"(0, rx1344_pos, $I10)
+  rxscan1345_done:
   # rx literal  ">"
-    add $I11, rx1339_pos, 1
-    gt $I11, rx1339_eos, rx1339_fail
-    sub $I11, rx1339_pos, rx1339_off
-    substr $S10, rx1339_tgt, $I11, 1
-    ne $S10, ">", rx1339_fail
-    add rx1339_pos, 1
-  # rx pass
-    rx1339_cur."!cursor_pass"(rx1339_pos, "")
-    rx1339_cur."!cursor_debug"("PASS  ", "", " at pos=", rx1339_pos)
-    .return (rx1339_cur)
-  rx1339_fail:
-    (rx1339_rep, rx1339_pos, $I10, $P10) = rx1339_cur."!mark_fail"(0)
-    lt rx1339_pos, -1, rx1339_done
-    eq rx1339_pos, -1, rx1339_fail
-    jump $I10
-  rx1339_done:
-    rx1339_cur."!cursor_fail"()
-    rx1339_cur."!cursor_debug"("FAIL  ", "")
-    .return (rx1339_cur)
-    .return ()
-.end
-
-
-.namespace ["NQP";"Regex"]
-.sub "assertion:sym<var>"  :subid("347_1274800460.92525") :method :outer("330_1274800460.92525")
-.annotate 'line', 548
-    .local string rx1343_tgt
-    .local int rx1343_pos
-    .local int rx1343_off
-    .local int rx1343_eos
-    .local int rx1343_rep
-    .local pmc rx1343_cur
-    (rx1343_cur, rx1343_pos, rx1343_tgt) = self."!cursor_start"()
-    rx1343_cur."!cursor_debug"("START ", "assertion:sym<var>")
-    .lex unicode:"$\x{a2}", rx1343_cur
-    .local pmc match
-    .lex "$/", match
-    length rx1343_eos, rx1343_tgt
-    set rx1343_off, 0
-    lt rx1343_pos, 2, rx1343_start
-    sub rx1343_off, rx1343_pos, 1
-    substr rx1343_tgt, rx1343_tgt, rx1343_off
-  rx1343_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan1346_done
-    goto rxscan1346_scan
-  rxscan1346_loop:
-    ($P10) = rx1343_cur."from"()
-    inc $P10
-    set rx1343_pos, $P10
-    ge rx1343_pos, rx1343_eos, rxscan1346_done
-  rxscan1346_scan:
-    set_addr $I10, rxscan1346_loop
-    rx1343_cur."!mark_push"(0, rx1343_pos, $I10)
-  rxscan1346_done:
-.annotate 'line', 581
-  # rx enumcharlist negate=0 zerowidth
-    ge rx1343_pos, rx1343_eos, rx1343_fail
-    sub $I10, rx1343_pos, rx1343_off
-    substr $S10, rx1343_tgt, $I10, 1
-    index $I11, "$@", $S10
-    lt $I11, 0, rx1343_fail
-  # rx subrule "LANG" subtype=capture negate=
-    rx1343_cur."!cursor_pos"(rx1343_pos)
-    $P10 = rx1343_cur."LANG"("MAIN", "variable")
-    unless $P10, rx1343_fail
-    rx1343_cur."!mark_push"(0, -1, 0, $P10)
-    $P10."!cursor_names"("var")
-    rx1343_pos = $P10."pos"()
-.annotate 'line', 580
-  # rx pass
-    rx1343_cur."!cursor_pass"(rx1343_pos, "assertion:sym<var>")
-    rx1343_cur."!cursor_debug"("PASS  ", "assertion:sym<var>", " at pos=", rx1343_pos)
-    .return (rx1343_cur)
-  rx1343_fail:
-.annotate 'line', 548
-    (rx1343_rep, rx1343_pos, $I10, $P10) = rx1343_cur."!mark_fail"(0)
-    lt rx1343_pos, -1, rx1343_done
-    eq rx1343_pos, -1, rx1343_fail
-    jump $I10
-  rx1343_done:
-    rx1343_cur."!cursor_fail"()
-    rx1343_cur."!cursor_debug"("FAIL  ", "assertion:sym<var>")
-    .return (rx1343_cur)
+    add $I11, rx1344_pos, 1
+    gt $I11, rx1344_eos, rx1344_fail
+    sub $I11, rx1344_pos, rx1344_off
+    substr $S10, rx1344_tgt, $I11, 1
+    ne $S10, ">", rx1344_fail
+    add rx1344_pos, 1
+  # rx pass
+    rx1344_cur."!cursor_pass"(rx1344_pos, "")
+    rx1344_cur."!cursor_debug"("PASS  ", "", " at pos=", rx1344_pos)
+    .return (rx1344_cur)
+  rx1344_fail:
+    (rx1344_rep, rx1344_pos, $I10, $P10) = rx1344_cur."!mark_fail"(0)
+    lt rx1344_pos, -1, rx1344_done
+    eq rx1344_pos, -1, rx1344_fail
+    jump $I10
+  rx1344_done:
+    rx1344_cur."!cursor_fail"()
+    rx1344_cur."!cursor_debug"("FAIL  ", "")
+    .return (rx1344_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Regex"]
-.sub "!PREFIX__assertion:sym<var>"  :subid("348_1274800460.92525") :method
-.annotate 'line', 548
-    new $P1345, "ResizablePMCArray"
-    push $P1345, "$"
-    push $P1345, "@"
-    .return ($P1345)
-.end
-
-
-.namespace ["NQP";"Regex"]
-.sub "codeblock"  :subid("349_1274800460.92525") :method :outer("330_1274800460.92525")
-.annotate 'line', 548
+.sub "assertion:sym<var>"  :subid("349_1274853038.58734") :method :outer("332_1274853038.58734")
+.annotate 'line', 550
     .local string rx1348_tgt
     .local int rx1348_pos
     .local int rx1348_off
@@ -16724,7 +16730,7 @@
     .local int rx1348_rep
     .local pmc rx1348_cur
     (rx1348_cur, rx1348_pos, rx1348_tgt) = self."!cursor_start"()
-    rx1348_cur."!cursor_debug"("START ", "codeblock")
+    rx1348_cur."!cursor_debug"("START ", "assertion:sym<var>")
     .lex unicode:"$\x{a2}", rx1348_cur
     .local pmc match
     .lex "$/", match
@@ -16735,337 +16741,427 @@
     substr rx1348_tgt, rx1348_tgt, rx1348_off
   rx1348_start:
     $I10 = self.'from'()
-    ne $I10, -1, rxscan1352_done
-    goto rxscan1352_scan
-  rxscan1352_loop:
+    ne $I10, -1, rxscan1351_done
+    goto rxscan1351_scan
+  rxscan1351_loop:
     ($P10) = rx1348_cur."from"()
     inc $P10
     set rx1348_pos, $P10
-    ge rx1348_pos, rx1348_eos, rxscan1352_done
-  rxscan1352_scan:
-    set_addr $I10, rxscan1352_loop
+    ge rx1348_pos, rx1348_eos, rxscan1351_done
+  rxscan1351_scan:
+    set_addr $I10, rxscan1351_loop
     rx1348_cur."!mark_push"(0, rx1348_pos, $I10)
-  rxscan1352_done:
-.annotate 'line', 585
+  rxscan1351_done:
+.annotate 'line', 583
+  # rx enumcharlist negate=0 zerowidth
+    ge rx1348_pos, rx1348_eos, rx1348_fail
+    sub $I10, rx1348_pos, rx1348_off
+    substr $S10, rx1348_tgt, $I10, 1
+    index $I11, "$@", $S10
+    lt $I11, 0, rx1348_fail
   # rx subrule "LANG" subtype=capture negate=
     rx1348_cur."!cursor_pos"(rx1348_pos)
-    $P10 = rx1348_cur."LANG"("MAIN", "pblock")
+    $P10 = rx1348_cur."LANG"("MAIN", "variable")
     unless $P10, rx1348_fail
     rx1348_cur."!mark_push"(0, -1, 0, $P10)
-    $P10."!cursor_names"("block")
+    $P10."!cursor_names"("var")
     rx1348_pos = $P10."pos"()
-.annotate 'line', 584
+.annotate 'line', 582
   # rx pass
-    rx1348_cur."!cursor_pass"(rx1348_pos, "codeblock")
-    rx1348_cur."!cursor_debug"("PASS  ", "codeblock", " at pos=", rx1348_pos)
+    rx1348_cur."!cursor_pass"(rx1348_pos, "assertion:sym<var>")
+    rx1348_cur."!cursor_debug"("PASS  ", "assertion:sym<var>", " at pos=", rx1348_pos)
     .return (rx1348_cur)
   rx1348_fail:
-.annotate 'line', 548
+.annotate 'line', 550
     (rx1348_rep, rx1348_pos, $I10, $P10) = rx1348_cur."!mark_fail"(0)
     lt rx1348_pos, -1, rx1348_done
     eq rx1348_pos, -1, rx1348_fail
     jump $I10
   rx1348_done:
     rx1348_cur."!cursor_fail"()
-    rx1348_cur."!cursor_debug"("FAIL  ", "codeblock")
+    rx1348_cur."!cursor_debug"("FAIL  ", "assertion:sym<var>")
     .return (rx1348_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Regex"]
-.sub "!PREFIX__codeblock"  :subid("350_1274800460.92525") :method
-.annotate 'line', 548
-    $P1350 = self."!PREFIX__!subrule"("block", "")
-    new $P1351, "ResizablePMCArray"
-    push $P1351, $P1350
-    .return ($P1351)
+.sub "!PREFIX__assertion:sym<var>"  :subid("350_1274853038.58734") :method
+.annotate 'line', 550
+    new $P1350, "ResizablePMCArray"
+    push $P1350, "$"
+    push $P1350, "@"
+    .return ($P1350)
+.end
+
+
+.namespace ["NQP";"Regex"]
+.sub "codeblock"  :subid("351_1274853038.58734") :method :outer("332_1274853038.58734")
+.annotate 'line', 550
+    .local string rx1353_tgt
+    .local int rx1353_pos
+    .local int rx1353_off
+    .local int rx1353_eos
+    .local int rx1353_rep
+    .local pmc rx1353_cur
+    (rx1353_cur, rx1353_pos, rx1353_tgt) = self."!cursor_start"()
+    rx1353_cur."!cursor_debug"("START ", "codeblock")
+    .lex unicode:"$\x{a2}", rx1353_cur
+    .local pmc match
+    .lex "$/", match
+    length rx1353_eos, rx1353_tgt
+    set rx1353_off, 0
+    lt rx1353_pos, 2, rx1353_start
+    sub rx1353_off, rx1353_pos, 1
+    substr rx1353_tgt, rx1353_tgt, rx1353_off
+  rx1353_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan1357_done
+    goto rxscan1357_scan
+  rxscan1357_loop:
+    ($P10) = rx1353_cur."from"()
+    inc $P10
+    set rx1353_pos, $P10
+    ge rx1353_pos, rx1353_eos, rxscan1357_done
+  rxscan1357_scan:
+    set_addr $I10, rxscan1357_loop
+    rx1353_cur."!mark_push"(0, rx1353_pos, $I10)
+  rxscan1357_done:
+.annotate 'line', 587
+  # rx subrule "LANG" subtype=capture negate=
+    rx1353_cur."!cursor_pos"(rx1353_pos)
+    $P10 = rx1353_cur."LANG"("MAIN", "pblock")
+    unless $P10, rx1353_fail
+    rx1353_cur."!mark_push"(0, -1, 0, $P10)
+    $P10."!cursor_names"("block")
+    rx1353_pos = $P10."pos"()
+.annotate 'line', 586
+  # rx pass
+    rx1353_cur."!cursor_pass"(rx1353_pos, "codeblock")
+    rx1353_cur."!cursor_debug"("PASS  ", "codeblock", " at pos=", rx1353_pos)
+    .return (rx1353_cur)
+  rx1353_fail:
+.annotate 'line', 550
+    (rx1353_rep, rx1353_pos, $I10, $P10) = rx1353_cur."!mark_fail"(0)
+    lt rx1353_pos, -1, rx1353_done
+    eq rx1353_pos, -1, rx1353_fail
+    jump $I10
+  rx1353_done:
+    rx1353_cur."!cursor_fail"()
+    rx1353_cur."!cursor_debug"("FAIL  ", "codeblock")
+    .return (rx1353_cur)
+    .return ()
+.end
+
+
+.namespace ["NQP";"Regex"]
+.sub "!PREFIX__codeblock"  :subid("352_1274853038.58734") :method
+.annotate 'line', 550
+    $P1355 = self."!PREFIX__!subrule"("block", "")
+    new $P1356, "ResizablePMCArray"
+    push $P1356, $P1355
+    .return ($P1356)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "_block1354" :load :anon :subid("351_1274800460.92525")
+.sub "_block1359" :load :anon :subid("353_1274853038.58734")
 .annotate 'line', 4
-    .const 'Sub' $P1356 = "11_1274800460.92525" 
-    $P1357 = $P1356()
-    .return ($P1357)
+    .const 'Sub' $P1361 = "11_1274853038.58734" 
+    $P1362 = $P1361()
+    .return ($P1362)
 .end
 
 
 .namespace []
-.sub "_block1375" :load :anon :subid("352_1274800460.92525")
+.sub "_block1380" :load :anon :subid("354_1274853038.58734")
 .annotate 'line', 1
-    .const 'Sub' $P1377 = "10_1274800460.92525" 
-    $P1378 = $P1377()
-    .return ($P1378)
+    .const 'Sub' $P1382 = "10_1274853038.58734" 
+    $P1383 = $P1382()
+    .return ($P1383)
 .end
 
 ### .include 'gen/nqp-actions.pir'
 
 .namespace []
-.sub "_block11"  :anon :subid("10_1274800470.33966")
+.sub "_block11"  :anon :subid("10_1274853047.92727")
 .annotate 'line', 0
     get_hll_global $P14, ["NQP";"Actions"], "_block13" 
     capture_lex $P14
+.annotate 'line', 1
+    $P0 = find_dynamic_lex "$*CTXSAVE"
+    if null $P0 goto ctxsave_done
+    $I0 = can $P0, "ctxsave"
+    unless $I0 goto ctxsave_done
+    $P0."ctxsave"()
+  ctxsave_done:
 .annotate 'line', 3
     get_hll_global $P14, ["NQP";"Actions"], "_block13" 
     capture_lex $P14
-    $P2309 = $P14()
+    $P2323 = $P14()
 .annotate 'line', 1
-    .return ($P2309)
-    .const 'Sub' $P2311 = "136_1274800470.33966" 
-    .return ($P2311)
+    .return ($P2323)
+    .const 'Sub' $P2325 = "137_1274853047.92727" 
+    .return ($P2325)
 .end
 
 
 .namespace []
-.sub "" :load :init :subid("post137") :outer("10_1274800470.33966")
+.sub "" :load :init :subid("post138") :outer("10_1274853047.92727")
 .annotate 'line', 0
-    .const 'Sub' $P12 = "10_1274800470.33966" 
+    .const 'Sub' $P12 = "10_1274853047.92727" 
     .local pmc block
     set block, $P12
-    $P2314 = get_root_global ["parrot"], "P6metaclass"
-    $P2314."new_class"("NQP::Actions", "HLL::Actions" :named("parent"))
+    $P2328 = get_root_global ["parrot"], "P6metaclass"
+    $P2328."new_class"("NQP::Actions", "HLL::Actions" :named("parent"))
 .end
 
 
 .namespace ["NQP";"Actions"]
-.sub "_block13"  :subid("11_1274800470.33966") :outer("10_1274800470.33966")
+.sub "_block13"  :subid("11_1274853047.92727") :outer("10_1274853047.92727")
 .annotate 'line', 3
-    .const 'Sub' $P2305 = "135_1274800470.33966" 
-    capture_lex $P2305
-    get_hll_global $P2189, ["NQP";"RegexActions"], "_block2188" 
-    capture_lex $P2189
-    .const 'Sub' $P2178 = "125_1274800470.33966" 
+    .const 'Sub' $P2319 = "136_1274853047.92727" 
+    capture_lex $P2319
+    get_hll_global $P2203, ["NQP";"RegexActions"], "_block2202" 
+    capture_lex $P2203
+    .const 'Sub' $P2192 = "126_1274853047.92727" 
+    capture_lex $P2192
+    .const 'Sub' $P2185 = "125_1274853047.92727" 
+    capture_lex $P2185
+    .const 'Sub' $P2178 = "124_1274853047.92727" 
     capture_lex $P2178
-    .const 'Sub' $P2171 = "124_1274800470.33966" 
+    .const 'Sub' $P2171 = "123_1274853047.92727" 
     capture_lex $P2171
-    .const 'Sub' $P2164 = "123_1274800470.33966" 
-    capture_lex $P2164
-    .const 'Sub' $P2157 = "122_1274800470.33966" 
-    capture_lex $P2157
-    .const 'Sub' $P2144 = "121_1274800470.33966" 
-    capture_lex $P2144
-    .const 'Sub' $P2134 = "120_1274800470.33966" 
-    capture_lex $P2134
-    .const 'Sub' $P2124 = "119_1274800470.33966" 
-    capture_lex $P2124
-    .const 'Sub' $P2114 = "118_1274800470.33966" 
-    capture_lex $P2114
-    .const 'Sub' $P2107 = "117_1274800470.33966" 
+    .const 'Sub' $P2158 = "122_1274853047.92727" 
+    capture_lex $P2158
+    .const 'Sub' $P2148 = "121_1274853047.92727" 
+    capture_lex $P2148
+    .const 'Sub' $P2138 = "120_1274853047.92727" 
+    capture_lex $P2138
+    .const 'Sub' $P2128 = "119_1274853047.92727" 
+    capture_lex $P2128
+    .const 'Sub' $P2121 = "118_1274853047.92727" 
+    capture_lex $P2121
+    .const 'Sub' $P2107 = "117_1274853047.92727" 
     capture_lex $P2107
-    .const 'Sub' $P2093 = "116_1274800470.33966" 
-    capture_lex $P2093
-    .const 'Sub' $P2083 = "115_1274800470.33966" 
-    capture_lex $P2083
-    .const 'Sub' $P2046 = "114_1274800470.33966" 
+    .const 'Sub' $P2097 = "116_1274853047.92727" 
+    capture_lex $P2097
+    .const 'Sub' $P2060 = "115_1274853047.92727" 
+    capture_lex $P2060
+    .const 'Sub' $P2046 = "114_1274853047.92727" 
     capture_lex $P2046
-    .const 'Sub' $P2032 = "113_1274800470.33966" 
-    capture_lex $P2032
-    .const 'Sub' $P2022 = "112_1274800470.33966" 
-    capture_lex $P2022
-    .const 'Sub' $P2012 = "111_1274800470.33966" 
-    capture_lex $P2012
-    .const 'Sub' $P2002 = "110_1274800470.33966" 
-    capture_lex $P2002
-    .const 'Sub' $P1992 = "109_1274800470.33966" 
-    capture_lex $P1992
-    .const 'Sub' $P1982 = "108_1274800470.33966" 
-    capture_lex $P1982
-    .const 'Sub' $P1954 = "107_1274800470.33966" 
-    capture_lex $P1954
-    .const 'Sub' $P1937 = "106_1274800470.33966" 
-    capture_lex $P1937
-    .const 'Sub' $P1927 = "105_1274800470.33966" 
-    capture_lex $P1927
-    .const 'Sub' $P1914 = "104_1274800470.33966" 
-    capture_lex $P1914
-    .const 'Sub' $P1901 = "103_1274800470.33966" 
-    capture_lex $P1901
-    .const 'Sub' $P1888 = "102_1274800470.33966" 
-    capture_lex $P1888
-    .const 'Sub' $P1878 = "101_1274800470.33966" 
-    capture_lex $P1878
-    .const 'Sub' $P1849 = "100_1274800470.33966" 
-    capture_lex $P1849
-    .const 'Sub' $P1825 = "99_1274800470.33966" 
-    capture_lex $P1825
-    .const 'Sub' $P1815 = "98_1274800470.33966" 
-    capture_lex $P1815
-    .const 'Sub' $P1805 = "97_1274800470.33966" 
-    capture_lex $P1805
-    .const 'Sub' $P1778 = "96_1274800470.33966" 
-    capture_lex $P1778
-    .const 'Sub' $P1760 = "95_1274800470.33966" 
-    capture_lex $P1760
-    .const 'Sub' $P1750 = "94_1274800470.33966" 
-    capture_lex $P1750
-    .const 'Sub' $P1646 = "91_1274800470.33966" 
-    capture_lex $P1646
-    .const 'Sub' $P1636 = "90_1274800470.33966" 
-    capture_lex $P1636
-    .const 'Sub' $P1607 = "89_1274800470.33966" 
-    capture_lex $P1607
-    .const 'Sub' $P1565 = "88_1274800470.33966" 
-    capture_lex $P1565
-    .const 'Sub' $P1549 = "87_1274800470.33966" 
-    capture_lex $P1549
-    .const 'Sub' $P1540 = "86_1274800470.33966" 
-    capture_lex $P1540
-    .const 'Sub' $P1508 = "85_1274800470.33966" 
-    capture_lex $P1508
-    .const 'Sub' $P1409 = "82_1274800470.33966" 
-    capture_lex $P1409
-    .const 'Sub' $P1392 = "81_1274800470.33966" 
-    capture_lex $P1392
-    .const 'Sub' $P1372 = "80_1274800470.33966" 
-    capture_lex $P1372
-    .const 'Sub' $P1288 = "79_1274800470.33966" 
-    capture_lex $P1288
-    .const 'Sub' $P1264 = "77_1274800470.33966" 
-    capture_lex $P1264
-    .const 'Sub' $P1230 = "75_1274800470.33966" 
-    capture_lex $P1230
-    .const 'Sub' $P1180 = "73_1274800470.33966" 
-    capture_lex $P1180
-    .const 'Sub' $P1170 = "72_1274800470.33966" 
-    capture_lex $P1170
-    .const 'Sub' $P1160 = "71_1274800470.33966" 
-    capture_lex $P1160
-    .const 'Sub' $P1089 = "69_1274800470.33966" 
-    capture_lex $P1089
-    .const 'Sub' $P1072 = "68_1274800470.33966" 
-    capture_lex $P1072
-    .const 'Sub' $P1062 = "67_1274800470.33966" 
-    capture_lex $P1062
-    .const 'Sub' $P1052 = "66_1274800470.33966" 
-    capture_lex $P1052
-    .const 'Sub' $P1042 = "65_1274800470.33966" 
-    capture_lex $P1042
-    .const 'Sub' $P1032 = "64_1274800470.33966" 
-    capture_lex $P1032
-    .const 'Sub' $P1008 = "63_1274800470.33966" 
-    capture_lex $P1008
-    .const 'Sub' $P955 = "62_1274800470.33966" 
-    capture_lex $P955
-    .const 'Sub' $P945 = "61_1274800470.33966" 
-    capture_lex $P945
-    .const 'Sub' $P856 = "59_1274800470.33966" 
-    capture_lex $P856
-    .const 'Sub' $P830 = "58_1274800470.33966" 
-    capture_lex $P830
-    .const 'Sub' $P814 = "57_1274800470.33966" 
-    capture_lex $P814
-    .const 'Sub' $P804 = "56_1274800470.33966" 
-    capture_lex $P804
-    .const 'Sub' $P794 = "55_1274800470.33966" 
-    capture_lex $P794
-    .const 'Sub' $P784 = "54_1274800470.33966" 
-    capture_lex $P784
-    .const 'Sub' $P774 = "53_1274800470.33966" 
-    capture_lex $P774
-    .const 'Sub' $P764 = "52_1274800470.33966" 
-    capture_lex $P764
-    .const 'Sub' $P754 = "51_1274800470.33966" 
-    capture_lex $P754
-    .const 'Sub' $P744 = "50_1274800470.33966" 
-    capture_lex $P744
-    .const 'Sub' $P734 = "49_1274800470.33966" 
-    capture_lex $P734
-    .const 'Sub' $P724 = "48_1274800470.33966" 
-    capture_lex $P724
-    .const 'Sub' $P714 = "47_1274800470.33966" 
-    capture_lex $P714
-    .const 'Sub' $P704 = "46_1274800470.33966" 
-    capture_lex $P704
-    .const 'Sub' $P694 = "45_1274800470.33966" 
-    capture_lex $P694
-    .const 'Sub' $P684 = "44_1274800470.33966" 
-    capture_lex $P684
-    .const 'Sub' $P666 = "43_1274800470.33966" 
-    capture_lex $P666
-    .const 'Sub' $P631 = "42_1274800470.33966" 
-    capture_lex $P631
-    .const 'Sub' $P615 = "41_1274800470.33966" 
-    capture_lex $P615
-    .const 'Sub' $P594 = "40_1274800470.33966" 
-    capture_lex $P594
-    .const 'Sub' $P574 = "39_1274800470.33966" 
-    capture_lex $P574
-    .const 'Sub' $P561 = "38_1274800470.33966" 
-    capture_lex $P561
-    .const 'Sub' $P535 = "37_1274800470.33966" 
-    capture_lex $P535
-    .const 'Sub' $P499 = "36_1274800470.33966" 
-    capture_lex $P499
-    .const 'Sub' $P482 = "35_1274800470.33966" 
+    .const 'Sub' $P2036 = "113_1274853047.92727" 
+    capture_lex $P2036
+    .const 'Sub' $P2026 = "112_1274853047.92727" 
+    capture_lex $P2026
+    .const 'Sub' $P2016 = "111_1274853047.92727" 
+    capture_lex $P2016
+    .const 'Sub' $P2006 = "110_1274853047.92727" 
+    capture_lex $P2006
+    .const 'Sub' $P1996 = "109_1274853047.92727" 
+    capture_lex $P1996
+    .const 'Sub' $P1968 = "108_1274853047.92727" 
+    capture_lex $P1968
+    .const 'Sub' $P1951 = "107_1274853047.92727" 
+    capture_lex $P1951
+    .const 'Sub' $P1941 = "106_1274853047.92727" 
+    capture_lex $P1941
+    .const 'Sub' $P1928 = "105_1274853047.92727" 
+    capture_lex $P1928
+    .const 'Sub' $P1915 = "104_1274853047.92727" 
+    capture_lex $P1915
+    .const 'Sub' $P1902 = "103_1274853047.92727" 
+    capture_lex $P1902
+    .const 'Sub' $P1892 = "102_1274853047.92727" 
+    capture_lex $P1892
+    .const 'Sub' $P1863 = "101_1274853047.92727" 
+    capture_lex $P1863
+    .const 'Sub' $P1839 = "100_1274853047.92727" 
+    capture_lex $P1839
+    .const 'Sub' $P1829 = "99_1274853047.92727" 
+    capture_lex $P1829
+    .const 'Sub' $P1819 = "98_1274853047.92727" 
+    capture_lex $P1819
+    .const 'Sub' $P1792 = "97_1274853047.92727" 
+    capture_lex $P1792
+    .const 'Sub' $P1774 = "96_1274853047.92727" 
+    capture_lex $P1774
+    .const 'Sub' $P1764 = "95_1274853047.92727" 
+    capture_lex $P1764
+    .const 'Sub' $P1660 = "92_1274853047.92727" 
+    capture_lex $P1660
+    .const 'Sub' $P1650 = "91_1274853047.92727" 
+    capture_lex $P1650
+    .const 'Sub' $P1621 = "90_1274853047.92727" 
+    capture_lex $P1621
+    .const 'Sub' $P1579 = "89_1274853047.92727" 
+    capture_lex $P1579
+    .const 'Sub' $P1563 = "88_1274853047.92727" 
+    capture_lex $P1563
+    .const 'Sub' $P1554 = "87_1274853047.92727" 
+    capture_lex $P1554
+    .const 'Sub' $P1522 = "86_1274853047.92727" 
+    capture_lex $P1522
+    .const 'Sub' $P1423 = "83_1274853047.92727" 
+    capture_lex $P1423
+    .const 'Sub' $P1406 = "82_1274853047.92727" 
+    capture_lex $P1406
+    .const 'Sub' $P1386 = "81_1274853047.92727" 
+    capture_lex $P1386
+    .const 'Sub' $P1302 = "80_1274853047.92727" 
+    capture_lex $P1302
+    .const 'Sub' $P1278 = "78_1274853047.92727" 
+    capture_lex $P1278
+    .const 'Sub' $P1244 = "76_1274853047.92727" 
+    capture_lex $P1244
+    .const 'Sub' $P1194 = "74_1274853047.92727" 
+    capture_lex $P1194
+    .const 'Sub' $P1184 = "73_1274853047.92727" 
+    capture_lex $P1184
+    .const 'Sub' $P1174 = "72_1274853047.92727" 
+    capture_lex $P1174
+    .const 'Sub' $P1103 = "70_1274853047.92727" 
+    capture_lex $P1103
+    .const 'Sub' $P1086 = "69_1274853047.92727" 
+    capture_lex $P1086
+    .const 'Sub' $P1076 = "68_1274853047.92727" 
+    capture_lex $P1076
+    .const 'Sub' $P1066 = "67_1274853047.92727" 
+    capture_lex $P1066
+    .const 'Sub' $P1056 = "66_1274853047.92727" 
+    capture_lex $P1056
+    .const 'Sub' $P1046 = "65_1274853047.92727" 
+    capture_lex $P1046
+    .const 'Sub' $P1022 = "64_1274853047.92727" 
+    capture_lex $P1022
+    .const 'Sub' $P969 = "63_1274853047.92727" 
+    capture_lex $P969
+    .const 'Sub' $P959 = "62_1274853047.92727" 
+    capture_lex $P959
+    .const 'Sub' $P870 = "60_1274853047.92727" 
+    capture_lex $P870
+    .const 'Sub' $P844 = "59_1274853047.92727" 
+    capture_lex $P844
+    .const 'Sub' $P828 = "58_1274853047.92727" 
+    capture_lex $P828
+    .const 'Sub' $P818 = "57_1274853047.92727" 
+    capture_lex $P818
+    .const 'Sub' $P808 = "56_1274853047.92727" 
+    capture_lex $P808
+    .const 'Sub' $P798 = "55_1274853047.92727" 
+    capture_lex $P798
+    .const 'Sub' $P788 = "54_1274853047.92727" 
+    capture_lex $P788
+    .const 'Sub' $P778 = "53_1274853047.92727" 
+    capture_lex $P778
+    .const 'Sub' $P768 = "52_1274853047.92727" 
+    capture_lex $P768
+    .const 'Sub' $P758 = "51_1274853047.92727" 
+    capture_lex $P758
+    .const 'Sub' $P748 = "50_1274853047.92727" 
+    capture_lex $P748
+    .const 'Sub' $P738 = "49_1274853047.92727" 
+    capture_lex $P738
+    .const 'Sub' $P728 = "48_1274853047.92727" 
+    capture_lex $P728
+    .const 'Sub' $P718 = "47_1274853047.92727" 
+    capture_lex $P718
+    .const 'Sub' $P708 = "46_1274853047.92727" 
+    capture_lex $P708
+    .const 'Sub' $P698 = "45_1274853047.92727" 
+    capture_lex $P698
+    .const 'Sub' $P680 = "44_1274853047.92727" 
+    capture_lex $P680
+    .const 'Sub' $P645 = "43_1274853047.92727" 
+    capture_lex $P645
+    .const 'Sub' $P629 = "42_1274853047.92727" 
+    capture_lex $P629
+    .const 'Sub' $P608 = "41_1274853047.92727" 
+    capture_lex $P608
+    .const 'Sub' $P588 = "40_1274853047.92727" 
+    capture_lex $P588
+    .const 'Sub' $P575 = "39_1274853047.92727" 
+    capture_lex $P575
+    .const 'Sub' $P549 = "38_1274853047.92727" 
+    capture_lex $P549
+    .const 'Sub' $P513 = "37_1274853047.92727" 
+    capture_lex $P513
+    .const 'Sub' $P496 = "36_1274853047.92727" 
+    capture_lex $P496
+    .const 'Sub' $P482 = "35_1274853047.92727" 
     capture_lex $P482
-    .const 'Sub' $P468 = "34_1274800470.33966" 
-    capture_lex $P468
-    .const 'Sub' $P415 = "32_1274800470.33966" 
-    capture_lex $P415
-    .const 'Sub' $P402 = "31_1274800470.33966" 
-    capture_lex $P402
-    .const 'Sub' $P382 = "30_1274800470.33966" 
-    capture_lex $P382
-    .const 'Sub' $P372 = "29_1274800470.33966" 
-    capture_lex $P372
-    .const 'Sub' $P362 = "28_1274800470.33966" 
-    capture_lex $P362
-    .const 'Sub' $P346 = "27_1274800470.33966" 
-    capture_lex $P346
-    .const 'Sub' $P286 = "25_1274800470.33966" 
-    capture_lex $P286
-    .const 'Sub' $P243 = "23_1274800470.33966" 
-    capture_lex $P243
-    .const 'Sub' $P214 = "22_1274800470.33966" 
+    .const 'Sub' $P429 = "33_1274853047.92727" 
+    capture_lex $P429
+    .const 'Sub' $P418 = "32_1274853047.92727" 
+    capture_lex $P418
+    .const 'Sub' $P405 = "31_1274853047.92727" 
+    capture_lex $P405
+    .const 'Sub' $P385 = "30_1274853047.92727" 
+    capture_lex $P385
+    .const 'Sub' $P375 = "29_1274853047.92727" 
+    capture_lex $P375
+    .const 'Sub' $P365 = "28_1274853047.92727" 
+    capture_lex $P365
+    .const 'Sub' $P349 = "27_1274853047.92727" 
+    capture_lex $P349
+    .const 'Sub' $P289 = "25_1274853047.92727" 
+    capture_lex $P289
+    .const 'Sub' $P246 = "23_1274853047.92727" 
+    capture_lex $P246
+    .const 'Sub' $P214 = "22_1274853047.92727" 
     capture_lex $P214
-    .const 'Sub' $P181 = "21_1274800470.33966" 
+    .const 'Sub' $P181 = "21_1274853047.92727" 
     capture_lex $P181
-    .const 'Sub' $P171 = "20_1274800470.33966" 
+    .const 'Sub' $P171 = "20_1274853047.92727" 
     capture_lex $P171
-    .const 'Sub' $P151 = "19_1274800470.33966" 
+    .const 'Sub' $P151 = "19_1274853047.92727" 
     capture_lex $P151
-    .const 'Sub' $P100 = "18_1274800470.33966" 
+    .const 'Sub' $P100 = "18_1274853047.92727" 
     capture_lex $P100
-    .const 'Sub' $P84 = "17_1274800470.33966" 
+    .const 'Sub' $P84 = "17_1274853047.92727" 
     capture_lex $P84
-    .const 'Sub' $P63 = "16_1274800470.33966" 
+    .const 'Sub' $P63 = "16_1274853047.92727" 
     capture_lex $P63
-    .const 'Sub' $P27 = "13_1274800470.33966" 
+    .const 'Sub' $P27 = "13_1274853047.92727" 
     capture_lex $P27
-    .const 'Sub' $P16 = "12_1274800470.33966" 
+    .const 'Sub' $P16 = "12_1274853047.92727" 
     capture_lex $P16
     get_global $P15, "@BLOCK"
-    unless_null $P15, vivify_140
+    unless_null $P15, vivify_141
     $P15 = root_new ['parrot';'ResizablePMCArray']
     set_global "@BLOCK", $P15
-  vivify_140:
+  vivify_141:
 .annotate 'line', 9
-    .const 'Sub' $P16 = "12_1274800470.33966" 
+    .const 'Sub' $P16 = "12_1274853047.92727" 
     newclosure $P26, $P16
     .lex "xblock_immediate", $P26
 .annotate 'line', 14
-    .const 'Sub' $P27 = "13_1274800470.33966" 
+    .const 'Sub' $P27 = "13_1274853047.92727" 
     newclosure $P62, $P27
     .lex "block_immediate", $P62
 .annotate 'line', 24
-    .const 'Sub' $P63 = "16_1274800470.33966" 
+    .const 'Sub' $P63 = "16_1274853047.92727" 
     newclosure $P83, $P63
     .lex "vivitype", $P83
 .annotate 'line', 43
-    .const 'Sub' $P84 = "17_1274800470.33966" 
+    .const 'Sub' $P84 = "17_1274853047.92727" 
     newclosure $P99, $P84
     .lex "colonpair_str", $P99
-.annotate 'line', 204
-    .const 'Sub' $P100 = "18_1274800470.33966" 
+.annotate 'line', 213
+    .const 'Sub' $P100 = "18_1274853047.92727" 
     newclosure $P150, $P100
     .lex "push_block_handler", $P150
-.annotate 'line', 788
-    .const 'Sub' $P151 = "19_1274800470.33966" 
+.annotate 'line', 797
+    .const 'Sub' $P151 = "19_1274853047.92727" 
     newclosure $P166, $P151
     .lex "control", $P166
 .annotate 'line', 3
+    $P0 = find_dynamic_lex "$*CTXSAVE"
+    if null $P0 goto ctxsave_done
+    $I0 = can $P0, "ctxsave"
+    unless $I0 goto ctxsave_done
+    $P0."ctxsave"()
+  ctxsave_done:
     get_global $P167, "@BLOCK"
 .annotate 'line', 5
     find_lex $P168, "xblock_immediate"
@@ -17073,53 +17169,53 @@
     find_lex $P170, "vivitype"
 .annotate 'line', 35
     find_lex $P213, "colonpair_str"
-.annotate 'line', 197
-    find_lex $P614, "push_block_handler"
-.annotate 'line', 779
-    find_lex $P2156, "control"
-.annotate 'line', 810
-    get_hll_global $P2189, ["NQP";"RegexActions"], "_block2188" 
-    capture_lex $P2189
-    $P2299 = $P2189()
+.annotate 'line', 206
+    find_lex $P628, "push_block_handler"
+.annotate 'line', 788
+    find_lex $P2170, "control"
+.annotate 'line', 819
+    get_hll_global $P2203, ["NQP";"RegexActions"], "_block2202" 
+    capture_lex $P2203
+    $P2313 = $P2203()
 .annotate 'line', 3
-    .return ($P2299)
-    .const 'Sub' $P2301 = "134_1274800470.33966" 
-    .return ($P2301)
+    .return ($P2313)
+    .const 'Sub' $P2315 = "135_1274853047.92727" 
+    .return ($P2315)
 .end
 
 
 .namespace ["NQP";"Actions"]
-.sub "" :load :init :subid("post138") :outer("11_1274800470.33966")
+.sub "" :load :init :subid("post139") :outer("11_1274853047.92727")
 .annotate 'line', 3
     get_hll_global $P14, ["NQP";"Actions"], "_block13" 
     .local pmc block
     set block, $P14
 .annotate 'line', 5
-    .const 'Sub' $P2305 = "135_1274800470.33966" 
-    capture_lex $P2305
-    $P2305()
-    $P2308 = get_root_global ["parrot"], "P6metaclass"
-    $P2308."new_class"("NQP::RegexActions", "Regex::P6Regex::Actions" :named("parent"))
+    .const 'Sub' $P2319 = "136_1274853047.92727" 
+    capture_lex $P2319
+    $P2319()
+    $P2322 = get_root_global ["parrot"], "P6metaclass"
+    $P2322."new_class"("NQP::RegexActions", "Regex::P6Regex::Actions" :named("parent"))
 .end
 
 
 .namespace ["NQP";"Actions"]
-.sub "_block2304"  :anon :subid("135_1274800470.33966") :outer("11_1274800470.33966")
+.sub "_block2318"  :anon :subid("136_1274853047.92727") :outer("11_1274853047.92727")
 .annotate 'line', 6
-    get_global $P2306, "@BLOCK"
-    unless_null $P2306, vivify_139
-    $P2306 = root_new ['parrot';'ResizablePMCArray']
-    set_global "@BLOCK", $P2306
-  vivify_139:
- $P2307 = new ['ResizablePMCArray'] 
-    set_global "@BLOCK", $P2307
+    get_global $P2320, "@BLOCK"
+    unless_null $P2320, vivify_140
+    $P2320 = root_new ['parrot';'ResizablePMCArray']
+    set_global "@BLOCK", $P2320
+  vivify_140:
+ $P2321 = new ['ResizablePMCArray'] 
+    set_global "@BLOCK", $P2321
 .annotate 'line', 5
-    .return ($P2307)
+    .return ($P2321)
 .end
 
 
 .namespace ["NQP";"Actions"]
-.sub "xblock_immediate"  :subid("12_1274800470.33966") :outer("11_1274800470.33966")
+.sub "xblock_immediate"  :subid("12_1274853047.92727") :outer("11_1274853047.92727")
     .param pmc param_19
 .annotate 'line', 9
     new $P18, 'ExceptionHandler'
@@ -17129,19 +17225,19 @@
     .lex "$xblock", param_19
 .annotate 'line', 10
     find_lex $P20, "$xblock"
-    unless_null $P20, vivify_141
+    unless_null $P20, vivify_142
     $P20 = root_new ['parrot';'ResizablePMCArray']
-  vivify_141:
+  vivify_142:
     set $P21, $P20[1]
-    unless_null $P21, vivify_142
+    unless_null $P21, vivify_143
     new $P21, "Undef"
-  vivify_142:
+  vivify_143:
     $P22 = "block_immediate"($P21)
     find_lex $P23, "$xblock"
-    unless_null $P23, vivify_143
+    unless_null $P23, vivify_144
     $P23 = root_new ['parrot';'ResizablePMCArray']
     store_lex "$xblock", $P23
-  vivify_143:
+  vivify_144:
     set $P23[1], $P22
     find_lex $P24, "$xblock"
 .annotate 'line', 9
@@ -17155,10 +17251,10 @@
 
 
 .namespace ["NQP";"Actions"]
-.sub "block_immediate"  :subid("13_1274800470.33966") :outer("11_1274800470.33966")
+.sub "block_immediate"  :subid("13_1274853047.92727") :outer("11_1274853047.92727")
     .param pmc param_30
 .annotate 'line', 14
-    .const 'Sub' $P40 = "14_1274800470.33966" 
+    .const 'Sub' $P40 = "14_1274853047.92727" 
     capture_lex $P40
     new $P29, 'ExceptionHandler'
     set_addr $P29, control_28
@@ -17180,7 +17276,7 @@
     set $P33, $P38
   unless_34_end:
     if $P33, unless_32_end
-    .const 'Sub' $P40 = "14_1274800470.33966" 
+    .const 'Sub' $P40 = "14_1274853047.92727" 
     capture_lex $P40
     $P40()
   unless_32_end:
@@ -17196,9 +17292,9 @@
 
 
 .namespace ["NQP";"Actions"]
-.sub "_block39"  :anon :subid("14_1274800470.33966") :outer("13_1274800470.33966")
+.sub "_block39"  :anon :subid("14_1274853047.92727") :outer("13_1274853047.92727")
 .annotate 'line', 16
-    .const 'Sub' $P51 = "15_1274800470.33966" 
+    .const 'Sub' $P51 = "15_1274853047.92727" 
     capture_lex $P51
 .annotate 'line', 17
     new $P41, "Undef"
@@ -17211,7 +17307,7 @@
     find_lex $P46, "$block"
     $P47 = $P46."list"()
     defined $I48, $P47
-    unless $I48, for_undef_144
+    unless $I48, for_undef_145
     iter $P45, $P47
     new $P57, 'ExceptionHandler'
     set_addr $P57, loop56_handler
@@ -17221,7 +17317,7 @@
     unless $P45, loop56_done
     shift $P49, $P45
   loop56_redo:
-    .const 'Sub' $P51 = "15_1274800470.33966" 
+    .const 'Sub' $P51 = "15_1274853047.92727" 
     capture_lex $P51
     $P51($P49)
   loop56_next:
@@ -17234,7 +17330,7 @@
     eq $P58, 66, loop56_redo
   loop56_done:
     pop_eh 
-  for_undef_144:
+  for_undef_145:
 .annotate 'line', 19
     find_lex $P59, "$stmts"
     store_lex "$block", $P59
@@ -17244,7 +17340,7 @@
 
 
 .namespace ["NQP";"Actions"]
-.sub "_block50"  :anon :subid("15_1274800470.33966") :outer("14_1274800470.33966")
+.sub "_block50"  :anon :subid("15_1274853047.92727") :outer("14_1274853047.92727")
     .param pmc param_52
 .annotate 'line', 18
     .lex "$_", param_52
@@ -17256,7 +17352,7 @@
 
 
 .namespace ["NQP";"Actions"]
-.sub "vivitype"  :subid("16_1274800470.33966") :outer("11_1274800470.33966")
+.sub "vivitype"  :subid("16_1274853047.92727") :outer("11_1274853047.92727")
     .param pmc param_66
 .annotate 'line', 24
     new $P65, 'ExceptionHandler'
@@ -17304,7 +17400,7 @@
 
 
 .namespace ["NQP";"Actions"]
-.sub "colonpair_str"  :subid("17_1274800470.33966") :outer("11_1274800470.33966")
+.sub "colonpair_str"  :subid("17_1274853047.92727") :outer("11_1274853047.92727")
     .param pmc param_87
 .annotate 'line', 43
     new $P86, 'ExceptionHandler'
@@ -17342,113 +17438,113 @@
 
 
 .namespace ["NQP";"Actions"]
-.sub "push_block_handler"  :subid("18_1274800470.33966") :outer("11_1274800470.33966")
+.sub "push_block_handler"  :subid("18_1274853047.92727") :outer("11_1274853047.92727")
     .param pmc param_103
     .param pmc param_104
-.annotate 'line', 204
+.annotate 'line', 213
     new $P102, 'ExceptionHandler'
     set_addr $P102, control_101
     $P102."handle_types"(57)
     push_eh $P102
     .lex "$/", param_103
     .lex "$block", param_104
-.annotate 'line', 205
+.annotate 'line', 214
     get_global $P106, "@BLOCK"
-    unless_null $P106, vivify_145
+    unless_null $P106, vivify_146
     $P106 = root_new ['parrot';'ResizablePMCArray']
-  vivify_145:
+  vivify_146:
     set $P107, $P106[0]
-    unless_null $P107, vivify_146
+    unless_null $P107, vivify_147
     new $P107, "Undef"
-  vivify_146:
+  vivify_147:
     $P108 = $P107."handlers"()
     if $P108, unless_105_end
-.annotate 'line', 206
+.annotate 'line', 215
     get_global $P109, "@BLOCK"
-    unless_null $P109, vivify_147
+    unless_null $P109, vivify_148
     $P109 = root_new ['parrot';'ResizablePMCArray']
-  vivify_147:
+  vivify_148:
     set $P110, $P109[0]
-    unless_null $P110, vivify_148
+    unless_null $P110, vivify_149
     new $P110, "Undef"
-  vivify_148:
+  vivify_149:
     new $P111, "ResizablePMCArray"
     $P110."handlers"($P111)
   unless_105_end:
-.annotate 'line', 208
+.annotate 'line', 217
     find_lex $P113, "$block"
     $P114 = $P113."arity"()
     if $P114, unless_112_end
-.annotate 'line', 209
+.annotate 'line', 218
     find_lex $P115, "$block"
-.annotate 'line', 210
+.annotate 'line', 219
     get_hll_global $P116, ["PAST"], "Op"
-.annotate 'line', 211
+.annotate 'line', 220
     get_hll_global $P117, ["PAST"], "Var"
     $P118 = $P117."new"("lexical" :named("scope"), "$!" :named("name"), 1 :named("isdecl"))
-.annotate 'line', 212
+.annotate 'line', 221
     get_hll_global $P119, ["PAST"], "Var"
     $P120 = $P119."new"("lexical" :named("scope"), "$_" :named("name"))
     $P121 = $P116."new"($P118, $P120, "bind" :named("pasttype"))
-.annotate 'line', 210
+.annotate 'line', 219
     $P115."unshift"($P121)
-.annotate 'line', 215
+.annotate 'line', 224
     find_lex $P122, "$block"
     get_hll_global $P123, ["PAST"], "Var"
     $P124 = $P123."new"("$_" :named("name"), "parameter" :named("scope"))
     $P122."unshift"($P124)
-.annotate 'line', 216
+.annotate 'line', 225
     find_lex $P125, "$block"
     $P125."symbol"("$_", "lexical" :named("scope"))
-.annotate 'line', 217
+.annotate 'line', 226
     find_lex $P126, "$block"
     $P126."symbol"("$!", "lexical" :named("scope"))
-.annotate 'line', 218
+.annotate 'line', 227
     find_lex $P127, "$block"
     $P127."arity"(1)
   unless_112_end:
-.annotate 'line', 220
+.annotate 'line', 229
     find_lex $P128, "$block"
     $P128."blocktype"("declaration")
-.annotate 'line', 221
+.annotate 'line', 230
     get_global $P129, "@BLOCK"
-    unless_null $P129, vivify_149
+    unless_null $P129, vivify_150
     $P129 = root_new ['parrot';'ResizablePMCArray']
-  vivify_149:
+  vivify_150:
     set $P130, $P129[0]
-    unless_null $P130, vivify_150
+    unless_null $P130, vivify_151
     new $P130, "Undef"
-  vivify_150:
+  vivify_151:
     $P131 = $P130."handlers"()
-.annotate 'line', 222
+.annotate 'line', 231
     get_hll_global $P132, ["PAST"], "Control"
     find_lex $P133, "$/"
-.annotate 'line', 224
+.annotate 'line', 233
     get_hll_global $P134, ["PAST"], "Stmts"
-.annotate 'line', 225
+.annotate 'line', 234
     get_hll_global $P135, ["PAST"], "Op"
     find_lex $P136, "$block"
-.annotate 'line', 227
+.annotate 'line', 236
     get_hll_global $P137, ["PAST"], "Var"
     $P138 = $P137."new"("register" :named("scope"), "exception" :named("name"))
     $P139 = $P135."new"($P136, $P138, "call" :named("pasttype"))
-.annotate 'line', 229
+.annotate 'line', 238
     get_hll_global $P140, ["PAST"], "Op"
-.annotate 'line', 230
+.annotate 'line', 239
     get_hll_global $P141, ["PAST"], "Var"
-.annotate 'line', 231
+.annotate 'line', 240
     get_hll_global $P142, ["PAST"], "Var"
     $P143 = $P142."new"("register" :named("scope"), "exception" :named("name"))
     $P144 = $P141."new"($P143, "handled", "keyed" :named("scope"))
-.annotate 'line', 230
+.annotate 'line', 239
     $P145 = $P140."new"($P144, 1, "bind" :named("pasttype"))
-.annotate 'line', 229
+.annotate 'line', 238
     $P146 = $P134."new"($P139, $P145)
-.annotate 'line', 224
+.annotate 'line', 233
     $P147 = $P132."new"($P146, $P133 :named("node"))
-.annotate 'line', 222
+.annotate 'line', 231
     $P148 = $P131."unshift"($P147)
-.annotate 'line', 204
+.annotate 'line', 213
     .return ($P148)
   control_101:
     .local pmc exception 
@@ -17459,21 +17555,21 @@
 
 
 .namespace ["NQP";"Actions"]
-.sub "control"  :subid("19_1274800470.33966") :outer("11_1274800470.33966")
+.sub "control"  :subid("19_1274853047.92727") :outer("11_1274853047.92727")
     .param pmc param_154
     .param pmc param_155
-.annotate 'line', 788
+.annotate 'line', 797
     new $P153, 'ExceptionHandler'
     set_addr $P153, control_152
     $P153."handle_types"(57)
     push_eh $P153
     .lex "$/", param_154
     .lex "$id", param_155
-.annotate 'line', 789
+.annotate 'line', 798
     find_lex $P156, "$/"
     get_hll_global $P157, ["PAST"], "Op"
     find_lex $P158, "$/"
-.annotate 'line', 795
+.annotate 'line', 804
     new $P159, "String"
     assign $P159, "    %r[\"type\"] = "
     find_lex $P160, "$id"
@@ -17484,9 +17580,9 @@
     push $P162, $P161
     push $P162, "    throw %r"
     $P163 = $P157."new"($P158 :named("node"), "inline" :named("pasttype"), $P162 :named("inline"))
-.annotate 'line', 789
+.annotate 'line', 798
     $P164 = $P156."!make"($P163)
-.annotate 'line', 788
+.annotate 'line', 797
     .return ($P164)
   control_152:
     .local pmc exception 
@@ -17497,7 +17593,7 @@
 
 
 .namespace ["NQP";"Actions"]
-.sub "TOP"  :subid("20_1274800470.33966") :method :outer("11_1274800470.33966")
+.sub "TOP"  :subid("20_1274853047.92727") :method :outer("11_1274853047.92727")
     .param pmc param_174
 .annotate 'line', 33
     new $P173, 'ExceptionHandler'
@@ -17508,13 +17604,13 @@
     .lex "$/", param_174
     find_lex $P175, "$/"
     find_lex $P176, "$/"
-    unless_null $P176, vivify_151
+    unless_null $P176, vivify_152
     $P176 = root_new ['parrot';'Hash']
-  vivify_151:
+  vivify_152:
     set $P177, $P176["comp_unit"]
-    unless_null $P177, vivify_152
+    unless_null $P177, vivify_153
     new $P177, "Undef"
-  vivify_152:
+  vivify_153:
     $P178 = $P177."ast"()
     $P179 = $P175."!make"($P178)
     .return ($P179)
@@ -17527,7 +17623,7 @@
 
 
 .namespace ["NQP";"Actions"]
-.sub "deflongname"  :subid("21_1274800470.33966") :method :outer("11_1274800470.33966")
+.sub "deflongname"  :subid("21_1274853047.92727") :method :outer("11_1274853047.92727")
     .param pmc param_184
 .annotate 'line', 35
     new $P183, 'ExceptionHandler'
@@ -17540,13 +17636,13 @@
     find_lex $P185, "$/"
 .annotate 'line', 37
     find_lex $P188, "$/"
-    unless_null $P188, vivify_153
+    unless_null $P188, vivify_154
     $P188 = root_new ['parrot';'Hash']
-  vivify_153:
+  vivify_154:
     set $P189, $P188["colonpair"]
-    unless_null $P189, vivify_154
+    unless_null $P189, vivify_155
     new $P189, "Undef"
-  vivify_154:
+  vivify_155:
     if $P189, if_187
 .annotate 'line', 39
     find_lex $P209, "$/"
@@ -17557,46 +17653,46 @@
     goto if_187_end
   if_187:
     find_lex $P190, "$/"
-    unless_null $P190, vivify_155
+    unless_null $P190, vivify_156
     $P190 = root_new ['parrot';'Hash']
-  vivify_155:
+  vivify_156:
     set $P191, $P190["identifier"]
-    unless_null $P191, vivify_156
+    unless_null $P191, vivify_157
     new $P191, "Undef"
-  vivify_156:
+  vivify_157:
     set $S192, $P191
     new $P193, 'String'
     set $P193, $S192
     concat $P194, $P193, ":"
     find_lex $P195, "$/"
-    unless_null $P195, vivify_157
+    unless_null $P195, vivify_158
     $P195 = root_new ['parrot';'Hash']
-  vivify_157:
+  vivify_158:
     set $P196, $P195["colonpair"]
-    unless_null $P196, vivify_158
+    unless_null $P196, vivify_159
     $P196 = root_new ['parrot';'ResizablePMCArray']
-  vivify_158:
+  vivify_159:
     set $P197, $P196[0]
-    unless_null $P197, vivify_159
+    unless_null $P197, vivify_160
     new $P197, "Undef"
-  vivify_159:
+  vivify_160:
     $P198 = $P197."ast"()
     $S199 = $P198."named"()
     concat $P200, $P194, $S199
     concat $P201, $P200, "<"
 .annotate 'line', 38
     find_lex $P202, "$/"
-    unless_null $P202, vivify_160
+    unless_null $P202, vivify_161
     $P202 = root_new ['parrot';'Hash']
-  vivify_160:
+  vivify_161:
     set $P203, $P202["colonpair"]
-    unless_null $P203, vivify_161
+    unless_null $P203, vivify_162
     $P203 = root_new ['parrot';'ResizablePMCArray']
-  vivify_161:
+  vivify_162:
     set $P204, $P203[0]
-    unless_null $P204, vivify_162
+    unless_null $P204, vivify_163
     new $P204, "Undef"
-  vivify_162:
+  vivify_163:
     $P205 = $P204."ast"()
     $S206 = "colonpair_str"($P205)
     concat $P207, $P201, $S206
@@ -17616,7 +17712,7 @@
 
 
 .namespace ["NQP";"Actions"]
-.sub "comp_unit"  :subid("22_1274800470.33966") :method :outer("11_1274800470.33966")
+.sub "comp_unit"  :subid("22_1274853047.92727") :method :outer("11_1274853047.92727")
     .param pmc param_217
 .annotate 'line', 49
     new $P216, 'ExceptionHandler'
@@ -17633,773 +17729,737 @@
     .lex "$unit", $P219
 .annotate 'line', 50
     find_lex $P220, "$/"
-    unless_null $P220, vivify_163
+    unless_null $P220, vivify_164
     $P220 = root_new ['parrot';'Hash']
-  vivify_163:
+  vivify_164:
     set $P221, $P220["statementlist"]
-    unless_null $P221, vivify_164
+    unless_null $P221, vivify_165
     new $P221, "Undef"
-  vivify_164:
+  vivify_165:
     $P222 = $P221."ast"()
     store_lex "$mainline", $P222
 .annotate 'line', 51
     get_global $P223, "@BLOCK"
     $P224 = $P223."shift"()
     store_lex "$unit", $P224
-.annotate 'line', 56
+.annotate 'line', 55
     find_lex $P225, "$unit"
-.annotate 'line', 57
-    get_hll_global $P226, ["PAST"], "Op"
-    find_lex $P227, "$mainline"
-    $P228 = $P226."new"($P227, "return" :named("pirop"))
-    $P225."push"($P228)
-.annotate 'line', 62
-    find_lex $P229, "$unit"
-.annotate 'line', 63
-    get_hll_global $P230, ["PAST"], "Block"
-.annotate 'line', 65
-    get_hll_global $P231, ["PAST"], "Op"
-    get_hll_global $P232, ["PAST"], "Val"
-    find_lex $P233, "$unit"
-    $P234 = $P232."new"($P233 :named("value"))
-    $P235 = $P231."new"($P234, "call" :named("pasttype"))
-    $P236 = $P230."new"($P235, ":load" :named("pirflags"), 0 :named("lexical"), "" :named("namespace"))
-.annotate 'line', 63
-    $P229."push"($P236)
-.annotate 'line', 68
-    find_lex $P237, "$unit"
-    find_lex $P238, "$/"
-    $P237."node"($P238)
+    find_lex $P226, "self"
+    $P227 = $P226."CTXSAVE"()
+    $P225."push"($P227)
+.annotate 'line', 60
+    find_lex $P228, "$unit"
+.annotate 'line', 61
+    get_hll_global $P229, ["PAST"], "Op"
+    find_lex $P230, "$mainline"
+    $P231 = $P229."new"($P230, "return" :named("pirop"))
+    $P228."push"($P231)
+.annotate 'line', 66
+    find_lex $P232, "$unit"
+.annotate 'line', 67
+    get_hll_global $P233, ["PAST"], "Block"
 .annotate 'line', 69
-    find_lex $P239, "$/"
+    get_hll_global $P234, ["PAST"], "Op"
+    get_hll_global $P235, ["PAST"], "Val"
+    find_lex $P236, "$unit"
+    $P237 = $P235."new"($P236 :named("value"))
+    $P238 = $P234."new"($P237, "call" :named("pasttype"))
+    $P239 = $P233."new"($P238, ":load" :named("pirflags"), 0 :named("lexical"), "" :named("namespace"))
+.annotate 'line', 67
+    $P232."push"($P239)
+.annotate 'line', 72
     find_lex $P240, "$unit"
-    $P241 = $P239."!make"($P240)
+    find_lex $P241, "$/"
+    $P240."node"($P241)
+.annotate 'line', 73
+    find_lex $P242, "$/"
+    find_lex $P243, "$unit"
+    $P244 = $P242."!make"($P243)
 .annotate 'line', 49
-    .return ($P241)
+    .return ($P244)
   control_215:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P242, exception, "payload"
-    .return ($P242)
+    getattribute $P245, exception, "payload"
+    .return ($P245)
 .end
 
 
 .namespace ["NQP";"Actions"]
-.sub "statementlist"  :subid("23_1274800470.33966") :method :outer("11_1274800470.33966")
-    .param pmc param_246
-.annotate 'line', 72
-    .const 'Sub' $P260 = "24_1274800470.33966" 
-    capture_lex $P260
-    new $P245, 'ExceptionHandler'
-    set_addr $P245, control_244
-    $P245."handle_types"(57)
-    push_eh $P245
+.sub "statementlist"  :subid("23_1274853047.92727") :method :outer("11_1274853047.92727")
+    .param pmc param_249
+.annotate 'line', 76
+    .const 'Sub' $P263 = "24_1274853047.92727" 
+    capture_lex $P263
+    new $P248, 'ExceptionHandler'
+    set_addr $P248, control_247
+    $P248."handle_types"(57)
+    push_eh $P248
     .lex "self", self
-    .lex "$/", param_246
-.annotate 'line', 73
-    new $P247, "Undef"
-    .lex "$past", $P247
-    get_hll_global $P248, ["PAST"], "Stmts"
-    find_lex $P249, "$/"
-    $P250 = $P248."new"($P249 :named("node"))
-    store_lex "$past", $P250
-.annotate 'line', 74
+    .lex "$/", param_249
+.annotate 'line', 77
+    new $P250, "Undef"
+    .lex "$past", $P250
+    get_hll_global $P251, ["PAST"], "Stmts"
     find_lex $P252, "$/"
-    unless_null $P252, vivify_165
-    $P252 = root_new ['parrot';'Hash']
-  vivify_165:
-    set $P253, $P252["statement"]
-    unless_null $P253, vivify_166
-    new $P253, "Undef"
-  vivify_166:
-    unless $P253, if_251_end
-.annotate 'line', 75
+    $P253 = $P251."new"($P252 :named("node"))
+    store_lex "$past", $P253
+.annotate 'line', 78
     find_lex $P255, "$/"
-    unless_null $P255, vivify_167
+    unless_null $P255, vivify_166
     $P255 = root_new ['parrot';'Hash']
-  vivify_167:
+  vivify_166:
     set $P256, $P255["statement"]
-    unless_null $P256, vivify_168
+    unless_null $P256, vivify_167
     new $P256, "Undef"
+  vivify_167:
+    unless $P256, if_254_end
+.annotate 'line', 79
+    find_lex $P258, "$/"
+    unless_null $P258, vivify_168
+    $P258 = root_new ['parrot';'Hash']
   vivify_168:
-    defined $I257, $P256
-    unless $I257, for_undef_169
-    iter $P254, $P256
-    new $P280, 'ExceptionHandler'
-    set_addr $P280, loop279_handler
-    $P280."handle_types"(64, 66, 65)
-    push_eh $P280
-  loop279_test:
-    unless $P254, loop279_done
-    shift $P258, $P254
-  loop279_redo:
-    .const 'Sub' $P260 = "24_1274800470.33966" 
-    capture_lex $P260
-    $P260($P258)
-  loop279_next:
-    goto loop279_test
-  loop279_handler:
-    .local pmc exception 
-    .get_results (exception) 
-    getattribute $P281, exception, 'type'
-    eq $P281, 64, loop279_next
-    eq $P281, 66, loop279_redo
-  loop279_done:
+    set $P259, $P258["statement"]
+    unless_null $P259, vivify_169
+    new $P259, "Undef"
+  vivify_169:
+    defined $I260, $P259
+    unless $I260, for_undef_170
+    iter $P257, $P259
+    new $P283, 'ExceptionHandler'
+    set_addr $P283, loop282_handler
+    $P283."handle_types"(64, 66, 65)
+    push_eh $P283
+  loop282_test:
+    unless $P257, loop282_done
+    shift $P261, $P257
+  loop282_redo:
+    .const 'Sub' $P263 = "24_1274853047.92727" 
+    capture_lex $P263
+    $P263($P261)
+  loop282_next:
+    goto loop282_test
+  loop282_handler:
+    .local pmc exception 
+    .get_results (exception) 
+    getattribute $P284, exception, 'type'
+    eq $P284, 64, loop282_next
+    eq $P284, 66, loop282_redo
+  loop282_done:
     pop_eh 
-  for_undef_169:
-  if_251_end:
-.annotate 'line', 82
-    find_lex $P282, "$/"
-    find_lex $P283, "$past"
-    $P284 = $P282."!make"($P283)
-.annotate 'line', 72
-    .return ($P284)
-  control_244:
+  for_undef_170:
+  if_254_end:
+.annotate 'line', 86
+    find_lex $P285, "$/"
+    find_lex $P286, "$past"
+    $P287 = $P285."!make"($P286)
+.annotate 'line', 76
+    .return ($P287)
+  control_247:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P285, exception, "payload"
-    .return ($P285)
+    getattribute $P288, exception, "payload"
+    .return ($P288)
 .end
 
 
 .namespace ["NQP";"Actions"]
-.sub "_block259"  :anon :subid("24_1274800470.33966") :outer("23_1274800470.33966")
-    .param pmc param_262
-.annotate 'line', 76
-    new $P261, "Undef"
-    .lex "$ast", $P261
-    .lex "$_", param_262
-    find_lex $P263, "$_"
-    $P264 = $P263."ast"()
-    store_lex "$ast", $P264
-.annotate 'line', 77
-    find_lex $P266, "$ast"
-    unless_null $P266, vivify_170
-    $P266 = root_new ['parrot';'Hash']
-  vivify_170:
-    set $P267, $P266["sink"]
-    unless_null $P267, vivify_171
-    new $P267, "Undef"
-  vivify_171:
-    defined $I268, $P267
-    unless $I268, if_265_end
+.sub "_block262"  :anon :subid("24_1274853047.92727") :outer("23_1274853047.92727")
+    .param pmc param_265
+.annotate 'line', 80
+    new $P264, "Undef"
+    .lex "$ast", $P264
+    .lex "$_", param_265
+    find_lex $P266, "$_"
+    $P267 = $P266."ast"()
+    store_lex "$ast", $P267
+.annotate 'line', 81
     find_lex $P269, "$ast"
-    unless_null $P269, vivify_172
+    unless_null $P269, vivify_171
     $P269 = root_new ['parrot';'Hash']
-  vivify_172:
+  vivify_171:
     set $P270, $P269["sink"]
-    unless_null $P270, vivify_173
+    unless_null $P270, vivify_172
     new $P270, "Undef"
-  vivify_173:
-    store_lex "$ast", $P270
-  if_265_end:
-.annotate 'line', 78
+  vivify_172:
+    defined $I271, $P270
+    unless $I271, if_268_end
     find_lex $P272, "$ast"
-    unless_null $P272, vivify_174
+    unless_null $P272, vivify_173
     $P272 = root_new ['parrot';'Hash']
-  vivify_174:
-    set $P273, $P272["bareblock"]
-    unless_null $P273, vivify_175
+  vivify_173:
+    set $P273, $P272["sink"]
+    unless_null $P273, vivify_174
     new $P273, "Undef"
+  vivify_174:
+    store_lex "$ast", $P273
+  if_268_end:
+.annotate 'line', 82
+    find_lex $P275, "$ast"
+    unless_null $P275, vivify_175
+    $P275 = root_new ['parrot';'Hash']
   vivify_175:
-    unless $P273, if_271_end
-    find_lex $P274, "$ast"
-    $P275 = "block_immediate"($P274)
-    store_lex "$ast", $P275
-  if_271_end:
-.annotate 'line', 79
-    find_lex $P276, "$past"
+    set $P276, $P275["bareblock"]
+    unless_null $P276, vivify_176
+    new $P276, "Undef"
+  vivify_176:
+    unless $P276, if_274_end
     find_lex $P277, "$ast"
-    $P278 = $P276."push"($P277)
-.annotate 'line', 75
-    .return ($P278)
+    $P278 = "block_immediate"($P277)
+    store_lex "$ast", $P278
+  if_274_end:
+.annotate 'line', 83
+    find_lex $P279, "$past"
+    find_lex $P280, "$ast"
+    $P281 = $P279."push"($P280)
+.annotate 'line', 79
+    .return ($P281)
 .end
 
 
 .namespace ["NQP";"Actions"]
-.sub "statement"  :subid("25_1274800470.33966") :method :outer("11_1274800470.33966")
-    .param pmc param_289
-    .param pmc param_290 :optional
-    .param int has_param_290 :opt_flag
-.annotate 'line', 85
-    .const 'Sub' $P298 = "26_1274800470.33966" 
-    capture_lex $P298
-    new $P288, 'ExceptionHandler'
-    set_addr $P288, control_287
-    $P288."handle_types"(57)
-    push_eh $P288
-    .lex "self", self
-    .lex "$/", param_289
-    if has_param_290, optparam_176
-    new $P291, "Undef"
-    set param_290, $P291
-  optparam_176:
-    .lex "$key", param_290
-.annotate 'line', 86
-    new $P292, "Undef"
-    .lex "$past", $P292
-.annotate 'line', 85
-    find_lex $P293, "$past"
-.annotate 'line', 87
-    find_lex $P295, "$/"
-    unless_null $P295, vivify_177
-    $P295 = root_new ['parrot';'Hash']
-  vivify_177:
-    set $P296, $P295["EXPR"]
-    unless_null $P296, vivify_178
-    new $P296, "Undef"
+.sub "statement"  :subid("25_1274853047.92727") :method :outer("11_1274853047.92727")
+    .param pmc param_292
+    .param pmc param_293 :optional
+    .param int has_param_293 :opt_flag
+.annotate 'line', 89
+    .const 'Sub' $P301 = "26_1274853047.92727" 
+    capture_lex $P301
+    new $P291, 'ExceptionHandler'
+    set_addr $P291, control_290
+    $P291."handle_types"(57)
+    push_eh $P291
+    .lex "self", self
+    .lex "$/", param_292
+    if has_param_293, optparam_177
+    new $P294, "Undef"
+    set param_293, $P294
+  optparam_177:
+    .lex "$key", param_293
+.annotate 'line', 90
+    new $P295, "Undef"
+    .lex "$past", $P295
+.annotate 'line', 89
+    find_lex $P296, "$past"
+.annotate 'line', 91
+    find_lex $P298, "$/"
+    unless_null $P298, vivify_178
+    $P298 = root_new ['parrot';'Hash']
   vivify_178:
-    if $P296, if_294
-.annotate 'line', 98
-    find_lex $P336, "$/"
-    unless_null $P336, vivify_179
-    $P336 = root_new ['parrot';'Hash']
+    set $P299, $P298["EXPR"]
+    unless_null $P299, vivify_179
+    new $P299, "Undef"
   vivify_179:
-    set $P337, $P336["statement_control"]
-    unless_null $P337, vivify_180
-    new $P337, "Undef"
+    if $P299, if_297
+.annotate 'line', 102
+    find_lex $P339, "$/"
+    unless_null $P339, vivify_180
+    $P339 = root_new ['parrot';'Hash']
   vivify_180:
-    if $P337, if_335
-.annotate 'line', 99
-    new $P341, "Integer"
-    assign $P341, 0
-    store_lex "$past", $P341
-    goto if_335_end
-  if_335:
-.annotate 'line', 98
-    find_lex $P338, "$/"
-    unless_null $P338, vivify_181
-    $P338 = root_new ['parrot';'Hash']
+    set $P340, $P339["statement_control"]
+    unless_null $P340, vivify_181
+    new $P340, "Undef"
   vivify_181:
-    set $P339, $P338["statement_control"]
-    unless_null $P339, vivify_182
-    new $P339, "Undef"
+    if $P340, if_338
+.annotate 'line', 103
+    new $P344, "Integer"
+    assign $P344, 0
+    store_lex "$past", $P344
+    goto if_338_end
+  if_338:
+.annotate 'line', 102
+    find_lex $P341, "$/"
+    unless_null $P341, vivify_182
+    $P341 = root_new ['parrot';'Hash']
   vivify_182:
-    $P340 = $P339."ast"()
-    store_lex "$past", $P340
-  if_335_end:
-    goto if_294_end
-  if_294:
-.annotate 'line', 87
-    .const 'Sub' $P298 = "26_1274800470.33966" 
-    capture_lex $P298
-    $P298()
-  if_294_end:
-.annotate 'line', 100
-    find_lex $P342, "$/"
-    find_lex $P343, "$past"
-    $P344 = $P342."!make"($P343)
-.annotate 'line', 85
-    .return ($P344)
-  control_287:
+    set $P342, $P341["statement_control"]
+    unless_null $P342, vivify_183
+    new $P342, "Undef"
+  vivify_183:
+    $P343 = $P342."ast"()
+    store_lex "$past", $P343
+  if_338_end:
+    goto if_297_end
+  if_297:
+.annotate 'line', 91
+    .const 'Sub' $P301 = "26_1274853047.92727" 
+    capture_lex $P301
+    $P301()
+  if_297_end:
+.annotate 'line', 104
+    find_lex $P345, "$/"
+    find_lex $P346, "$past"
+    $P347 = $P345."!make"($P346)
+.annotate 'line', 89
+    .return ($P347)
+  control_290:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P345, exception, "payload"
-    .return ($P345)
+    getattribute $P348, exception, "payload"
+    .return ($P348)
 .end
 
 
 .namespace ["NQP";"Actions"]
-.sub "_block297"  :anon :subid("26_1274800470.33966") :outer("25_1274800470.33966")
-.annotate 'line', 88
-    new $P299, "Undef"
-    .lex "$mc", $P299
-.annotate 'line', 89
-    new $P300, "Undef"
-    .lex "$ml", $P300
-.annotate 'line', 88
-    find_lex $P301, "$/"
-    unless_null $P301, vivify_183
-    $P301 = root_new ['parrot';'Hash']
-  vivify_183:
-    set $P302, $P301["statement_mod_cond"]
-    unless_null $P302, vivify_184
-    $P302 = root_new ['parrot';'ResizablePMCArray']
-  vivify_184:
-    set $P303, $P302[0]
-    unless_null $P303, vivify_185
+.sub "_block300"  :anon :subid("26_1274853047.92727") :outer("25_1274853047.92727")
+.annotate 'line', 92
+    new $P302, "Undef"
+    .lex "$mc", $P302
+.annotate 'line', 93
     new $P303, "Undef"
-  vivify_185:
-    store_lex "$mc", $P303
-.annotate 'line', 89
+    .lex "$ml", $P303
+.annotate 'line', 92
     find_lex $P304, "$/"
-    unless_null $P304, vivify_186
+    unless_null $P304, vivify_184
     $P304 = root_new ['parrot';'Hash']
-  vivify_186:
-    set $P305, $P304["statement_mod_loop"]
-    unless_null $P305, vivify_187
+  vivify_184:
+    set $P305, $P304["statement_mod_cond"]
+    unless_null $P305, vivify_185
     $P305 = root_new ['parrot';'ResizablePMCArray']
-  vivify_187:
+  vivify_185:
     set $P306, $P305[0]
-    unless_null $P306, vivify_188
+    unless_null $P306, vivify_186
     new $P306, "Undef"
-  vivify_188:
-    store_lex "$ml", $P306
-.annotate 'line', 90
+  vivify_186:
+    store_lex "$mc", $P306
+.annotate 'line', 93
     find_lex $P307, "$/"
-    unless_null $P307, vivify_189
+    unless_null $P307, vivify_187
     $P307 = root_new ['parrot';'Hash']
+  vivify_187:
+    set $P308, $P307["statement_mod_loop"]
+    unless_null $P308, vivify_188
+    $P308 = root_new ['parrot';'ResizablePMCArray']
+  vivify_188:
+    set $P309, $P308[0]
+    unless_null $P309, vivify_189
+    new $P309, "Undef"
   vivify_189:
-    set $P308, $P307["EXPR"]
-    unless_null $P308, vivify_190
-    new $P308, "Undef"
+    store_lex "$ml", $P309
+.annotate 'line', 94
+    find_lex $P310, "$/"
+    unless_null $P310, vivify_190
+    $P310 = root_new ['parrot';'Hash']
   vivify_190:
-    $P309 = $P308."ast"()
-    store_lex "$past", $P309
-.annotate 'line', 91
-    find_lex $P311, "$mc"
-    unless $P311, if_310_end
-.annotate 'line', 92
-    get_hll_global $P312, ["PAST"], "Op"
-    find_lex $P313, "$mc"
-    unless_null $P313, vivify_191
-    $P313 = root_new ['parrot';'Hash']
+    set $P311, $P310["EXPR"]
+    unless_null $P311, vivify_191
+    new $P311, "Undef"
   vivify_191:
-    set $P314, $P313["cond"]
-    unless_null $P314, vivify_192
-    new $P314, "Undef"
+    $P312 = $P311."ast"()
+    store_lex "$past", $P312
+.annotate 'line', 95
+    find_lex $P314, "$mc"
+    unless $P314, if_313_end
+.annotate 'line', 96
+    get_hll_global $P315, ["PAST"], "Op"
+    find_lex $P316, "$mc"
+    unless_null $P316, vivify_192
+    $P316 = root_new ['parrot';'Hash']
   vivify_192:
-    $P315 = $P314."ast"()
-    find_lex $P316, "$past"
-    find_lex $P317, "$mc"
+    set $P317, $P316["cond"]
     unless_null $P317, vivify_193
-    $P317 = root_new ['parrot';'Hash']
+    new $P317, "Undef"
   vivify_193:
-    set $P318, $P317["sym"]
-    unless_null $P318, vivify_194
-    new $P318, "Undef"
+    $P318 = $P317."ast"()
+    find_lex $P319, "$past"
+    find_lex $P320, "$mc"
+    unless_null $P320, vivify_194
+    $P320 = root_new ['parrot';'Hash']
   vivify_194:
-    set $S319, $P318
-    find_lex $P320, "$/"
-    $P321 = $P312."new"($P315, $P316, $S319 :named("pasttype"), $P320 :named("node"))
-    store_lex "$past", $P321
-  if_310_end:
-.annotate 'line', 94
-    find_lex $P324, "$ml"
-    if $P324, if_323
-    set $P322, $P324
-    goto if_323_end
-  if_323:
-.annotate 'line', 95
-    get_hll_global $P325, ["PAST"], "Op"
-    find_lex $P326, "$ml"
-    unless_null $P326, vivify_195
-    $P326 = root_new ['parrot';'Hash']
+    set $P321, $P320["sym"]
+    unless_null $P321, vivify_195
+    new $P321, "Undef"
   vivify_195:
-    set $P327, $P326["cond"]
-    unless_null $P327, vivify_196
-    new $P327, "Undef"
+    set $S322, $P321
+    find_lex $P323, "$/"
+    $P324 = $P315."new"($P318, $P319, $S322 :named("pasttype"), $P323 :named("node"))
+    store_lex "$past", $P324
+  if_313_end:
+.annotate 'line', 98
+    find_lex $P327, "$ml"
+    if $P327, if_326
+    set $P325, $P327
+    goto if_326_end
+  if_326:
+.annotate 'line', 99
+    get_hll_global $P328, ["PAST"], "Op"
+    find_lex $P329, "$ml"
+    unless_null $P329, vivify_196
+    $P329 = root_new ['parrot';'Hash']
   vivify_196:
-    $P328 = $P327."ast"()
-    find_lex $P329, "$past"
-    find_lex $P330, "$ml"
+    set $P330, $P329["cond"]
     unless_null $P330, vivify_197
-    $P330 = root_new ['parrot';'Hash']
+    new $P330, "Undef"
   vivify_197:
-    set $P331, $P330["sym"]
-    unless_null $P331, vivify_198
-    new $P331, "Undef"
+    $P331 = $P330."ast"()
+    find_lex $P332, "$past"
+    find_lex $P333, "$ml"
+    unless_null $P333, vivify_198
+    $P333 = root_new ['parrot';'Hash']
   vivify_198:
-    set $S332, $P331
-    find_lex $P333, "$/"
-    $P334 = $P325."new"($P328, $P329, $S332 :named("pasttype"), $P333 :named("node"))
-    store_lex "$past", $P334
-.annotate 'line', 94
-    set $P322, $P334
-  if_323_end:
-.annotate 'line', 87
-    .return ($P322)
+    set $P334, $P333["sym"]
+    unless_null $P334, vivify_199
+    new $P334, "Undef"
+  vivify_199:
+    set $S335, $P334
+    find_lex $P336, "$/"
+    $P337 = $P328."new"($P331, $P332, $S335 :named("pasttype"), $P336 :named("node"))
+    store_lex "$past", $P337
+.annotate 'line', 98
+    set $P325, $P337
+  if_326_end:
+.annotate 'line', 91
+    .return ($P325)
 .end
 
 
 .namespace ["NQP";"Actions"]
-.sub "xblock"  :subid("27_1274800470.33966") :method :outer("11_1274800470.33966")
-    .param pmc param_349
-.annotate 'line', 103
-    new $P348, 'ExceptionHandler'
-    set_addr $P348, control_347
-    $P348."handle_types"(57)
-    push_eh $P348
+.sub "xblock"  :subid("27_1274853047.92727") :method :outer("11_1274853047.92727")
+    .param pmc param_352
+.annotate 'line', 107
+    new $P351, 'ExceptionHandler'
+    set_addr $P351, control_350
+    $P351."handle_types"(57)
+    push_eh $P351
     .lex "self", self
-    .lex "$/", param_349
-.annotate 'line', 104
-    find_lex $P350, "$/"
-    get_hll_global $P351, ["PAST"], "Op"
-    find_lex $P352, "$/"
-    unless_null $P352, vivify_199
-    $P352 = root_new ['parrot';'Hash']
-  vivify_199:
-    set $P353, $P352["EXPR"]
-    unless_null $P353, vivify_200
-    new $P353, "Undef"
-  vivify_200:
-    $P354 = $P353."ast"()
+    .lex "$/", param_352
+.annotate 'line', 108
+    find_lex $P353, "$/"
+    get_hll_global $P354, ["PAST"], "Op"
     find_lex $P355, "$/"
-    unless_null $P355, vivify_201
+    unless_null $P355, vivify_200
     $P355 = root_new ['parrot';'Hash']
-  vivify_201:
-    set $P356, $P355["pblock"]
-    unless_null $P356, vivify_202
+  vivify_200:
+    set $P356, $P355["EXPR"]
+    unless_null $P356, vivify_201
     new $P356, "Undef"
-  vivify_202:
+  vivify_201:
     $P357 = $P356."ast"()
     find_lex $P358, "$/"
-    $P359 = $P351."new"($P354, $P357, "if" :named("pasttype"), $P358 :named("node"))
-    $P360 = $P350."!make"($P359)
-.annotate 'line', 103
-    .return ($P360)
-  control_347:
-    .local pmc exception 
-    .get_results (exception) 
-    getattribute $P361, exception, "payload"
-    .return ($P361)
-.end
-
-
-.namespace ["NQP";"Actions"]
-.sub "pblock"  :subid("28_1274800470.33966") :method :outer("11_1274800470.33966")
-    .param pmc param_365
-.annotate 'line', 107
-    new $P364, 'ExceptionHandler'
-    set_addr $P364, control_363
-    $P364."handle_types"(57)
-    push_eh $P364
-    .lex "self", self
-    .lex "$/", param_365
-.annotate 'line', 108
-    find_lex $P366, "$/"
-    find_lex $P367, "$/"
-    unless_null $P367, vivify_203
-    $P367 = root_new ['parrot';'Hash']
+    unless_null $P358, vivify_202
+    $P358 = root_new ['parrot';'Hash']
+  vivify_202:
+    set $P359, $P358["pblock"]
+    unless_null $P359, vivify_203
+    new $P359, "Undef"
   vivify_203:
-    set $P368, $P367["blockoid"]
-    unless_null $P368, vivify_204
-    new $P368, "Undef"
-  vivify_204:
-    $P369 = $P368."ast"()
-    $P370 = $P366."!make"($P369)
+    $P360 = $P359."ast"()
+    find_lex $P361, "$/"
+    $P362 = $P354."new"($P357, $P360, "if" :named("pasttype"), $P361 :named("node"))
+    $P363 = $P353."!make"($P362)
 .annotate 'line', 107
-    .return ($P370)
-  control_363:
+    .return ($P363)
+  control_350:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P371, exception, "payload"
-    .return ($P371)
+    getattribute $P364, exception, "payload"
+    .return ($P364)
 .end
 
 
 .namespace ["NQP";"Actions"]
-.sub "block"  :subid("29_1274800470.33966") :method :outer("11_1274800470.33966")
-    .param pmc param_375
+.sub "pblock"  :subid("28_1274853047.92727") :method :outer("11_1274853047.92727")
+    .param pmc param_368
 .annotate 'line', 111
-    new $P374, 'ExceptionHandler'
-    set_addr $P374, control_373
-    $P374."handle_types"(57)
-    push_eh $P374
+    new $P367, 'ExceptionHandler'
+    set_addr $P367, control_366
+    $P367."handle_types"(57)
+    push_eh $P367
     .lex "self", self
-    .lex "$/", param_375
+    .lex "$/", param_368
 .annotate 'line', 112
-    find_lex $P376, "$/"
-    find_lex $P377, "$/"
-    unless_null $P377, vivify_205
-    $P377 = root_new ['parrot';'Hash']
+    find_lex $P369, "$/"
+    find_lex $P370, "$/"
+    unless_null $P370, vivify_204
+    $P370 = root_new ['parrot';'Hash']
+  vivify_204:
+    set $P371, $P370["blockoid"]
+    unless_null $P371, vivify_205
+    new $P371, "Undef"
   vivify_205:
-    set $P378, $P377["blockoid"]
-    unless_null $P378, vivify_206
-    new $P378, "Undef"
-  vivify_206:
-    $P379 = $P378."ast"()
-    $P380 = $P376."!make"($P379)
+    $P372 = $P371."ast"()
+    $P373 = $P369."!make"($P372)
 .annotate 'line', 111
-    .return ($P380)
-  control_373:
+    .return ($P373)
+  control_366:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P381, exception, "payload"
-    .return ($P381)
+    getattribute $P374, exception, "payload"
+    .return ($P374)
 .end
 
 
 .namespace ["NQP";"Actions"]
-.sub "blockoid"  :subid("30_1274800470.33966") :method :outer("11_1274800470.33966")
-    .param pmc param_385
+.sub "block"  :subid("29_1274853047.92727") :method :outer("11_1274853047.92727")
+    .param pmc param_378
 .annotate 'line', 115
-    new $P384, 'ExceptionHandler'
-    set_addr $P384, control_383
-    $P384."handle_types"(57)
-    push_eh $P384
+    new $P377, 'ExceptionHandler'
+    set_addr $P377, control_376
+    $P377."handle_types"(57)
+    push_eh $P377
     .lex "self", self
-    .lex "$/", param_385
+    .lex "$/", param_378
 .annotate 'line', 116
-    new $P386, "Undef"
-    .lex "$past", $P386
-.annotate 'line', 117
-    new $P387, "Undef"
-    .lex "$BLOCK", $P387
-.annotate 'line', 116
-    find_lex $P388, "$/"
-    unless_null $P388, vivify_207
-    $P388 = root_new ['parrot';'Hash']
+    find_lex $P379, "$/"
+    find_lex $P380, "$/"
+    unless_null $P380, vivify_206
+    $P380 = root_new ['parrot';'Hash']
+  vivify_206:
+    set $P381, $P380["blockoid"]
+    unless_null $P381, vivify_207
+    new $P381, "Undef"
   vivify_207:
-    set $P389, $P388["statementlist"]
-    unless_null $P389, vivify_208
-    new $P389, "Undef"
-  vivify_208:
-    $P390 = $P389."ast"()
-    store_lex "$past", $P390
-.annotate 'line', 117
-    get_global $P391, "@BLOCK"
-    $P392 = $P391."shift"()
-    store_lex "$BLOCK", $P392
-.annotate 'line', 118
-    find_lex $P393, "$BLOCK"
-    find_lex $P394, "$past"
-    $P393."push"($P394)
-.annotate 'line', 119
-    find_lex $P395, "$BLOCK"
-    find_lex $P396, "$/"
-    $P395."node"($P396)
-.annotate 'line', 120
-    find_lex $P397, "$BLOCK"
-    $P397."closure"(1)
-.annotate 'line', 121
-    find_lex $P398, "$/"
-    find_lex $P399, "$BLOCK"
-    $P400 = $P398."!make"($P399)
+    $P382 = $P381."ast"()
+    $P383 = $P379."!make"($P382)
 .annotate 'line', 115
-    .return ($P400)
-  control_383:
+    .return ($P383)
+  control_376:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P401, exception, "payload"
-    .return ($P401)
+    getattribute $P384, exception, "payload"
+    .return ($P384)
 .end
 
 
 .namespace ["NQP";"Actions"]
-.sub "newpad"  :subid("31_1274800470.33966") :method :outer("11_1274800470.33966")
-    .param pmc param_405
-.annotate 'line', 124
-    new $P404, 'ExceptionHandler'
-    set_addr $P404, control_403
-    $P404."handle_types"(57)
-    push_eh $P404
+.sub "blockoid"  :subid("30_1274853047.92727") :method :outer("11_1274853047.92727")
+    .param pmc param_388
+.annotate 'line', 119
+    new $P387, 'ExceptionHandler'
+    set_addr $P387, control_386
+    $P387."handle_types"(57)
+    push_eh $P387
     .lex "self", self
-    .lex "$/", param_405
-.annotate 'line', 125
-    get_global $P406, "@BLOCK"
-    unless_null $P406, vivify_209
-    $P406 = root_new ['parrot';'ResizablePMCArray']
-    set_global "@BLOCK", $P406
+    .lex "$/", param_388
+.annotate 'line', 120
+    new $P389, "Undef"
+    .lex "$past", $P389
+.annotate 'line', 121
+    new $P390, "Undef"
+    .lex "$BLOCK", $P390
+.annotate 'line', 120
+    find_lex $P391, "$/"
+    unless_null $P391, vivify_208
+    $P391 = root_new ['parrot';'Hash']
+  vivify_208:
+    set $P392, $P391["statementlist"]
+    unless_null $P392, vivify_209
+    new $P392, "Undef"
   vivify_209:
+    $P393 = $P392."ast"()
+    store_lex "$past", $P393
+.annotate 'line', 121
+    get_global $P394, "@BLOCK"
+    $P395 = $P394."shift"()
+    store_lex "$BLOCK", $P395
+.annotate 'line', 122
+    find_lex $P396, "$BLOCK"
+    find_lex $P397, "$past"
+    $P396."push"($P397)
+.annotate 'line', 123
+    find_lex $P398, "$BLOCK"
+    find_lex $P399, "$/"
+    $P398."node"($P399)
 .annotate 'line', 124
-    get_global $P407, "@BLOCK"
-.annotate 'line', 126
-    get_global $P408, "@BLOCK"
-    get_hll_global $P409, ["PAST"], "Block"
-    get_hll_global $P410, ["PAST"], "Stmts"
-    $P411 = $P410."new"()
-    $P412 = $P409."new"($P411)
-    $P413 = $P408."unshift"($P412)
-.annotate 'line', 124
-    .return ($P413)
-  control_403:
+    find_lex $P400, "$BLOCK"
+    $P400."closure"(1)
+.annotate 'line', 125
+    find_lex $P401, "$/"
+    find_lex $P402, "$BLOCK"
+    $P403 = $P401."!make"($P402)
+.annotate 'line', 119
+    .return ($P403)
+  control_386:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P414, exception, "payload"
-    .return ($P414)
+    getattribute $P404, exception, "payload"
+    .return ($P404)
 .end
 
 
 .namespace ["NQP";"Actions"]
-.sub "statement_control:sym<if>"  :subid("32_1274800470.33966") :method :outer("11_1274800470.33966")
-    .param pmc param_418
-.annotate 'line', 131
-    .const 'Sub' $P446 = "33_1274800470.33966" 
-    capture_lex $P446
-    new $P417, 'ExceptionHandler'
-    set_addr $P417, control_416
-    $P417."handle_types"(57)
-    push_eh $P417
-    .lex "self", self
-    .lex "$/", param_418
-.annotate 'line', 132
-    new $P419, "Undef"
-    .lex "$count", $P419
-.annotate 'line', 133
-    new $P420, "Undef"
-    .lex "$past", $P420
-.annotate 'line', 132
-    find_lex $P421, "$/"
-    unless_null $P421, vivify_210
-    $P421 = root_new ['parrot';'Hash']
+.sub "newpad"  :subid("31_1274853047.92727") :method :outer("11_1274853047.92727")
+    .param pmc param_408
+.annotate 'line', 128
+    new $P407, 'ExceptionHandler'
+    set_addr $P407, control_406
+    $P407."handle_types"(57)
+    push_eh $P407
+    .lex "self", self
+    .lex "$/", param_408
+.annotate 'line', 129
+    get_global $P409, "@BLOCK"
+    unless_null $P409, vivify_210
+    $P409 = root_new ['parrot';'ResizablePMCArray']
+    set_global "@BLOCK", $P409
   vivify_210:
-    set $P422, $P421["xblock"]
+.annotate 'line', 128
+    get_global $P410, "@BLOCK"
+.annotate 'line', 130
+    get_global $P411, "@BLOCK"
+    get_hll_global $P412, ["PAST"], "Block"
+    get_hll_global $P413, ["PAST"], "Stmts"
+    $P414 = $P413."new"()
+    $P415 = $P412."new"($P414)
+    $P416 = $P411."unshift"($P415)
+.annotate 'line', 128
+    .return ($P416)
+  control_406:
+    .local pmc exception 
+    .get_results (exception) 
+    getattribute $P417, exception, "payload"
+    .return ($P417)
+.end
+
+
+.namespace ["NQP";"Actions"]
+.sub "outerctx"  :subid("32_1274853047.92727") :method :outer("11_1274853047.92727")
+    .param pmc param_421
+.annotate 'line', 133
+    new $P420, 'ExceptionHandler'
+    set_addr $P420, control_419
+    $P420."handle_types"(57)
+    push_eh $P420
+    .lex "self", self
+    .lex "$/", param_421
+.annotate 'line', 134
+    get_global $P422, "@BLOCK"
     unless_null $P422, vivify_211
-    new $P422, "Undef"
+    $P422 = root_new ['parrot';'ResizablePMCArray']
+    set_global "@BLOCK", $P422
   vivify_211:
-    set $N423, $P422
-    new $P424, 'Float'
-    set $P424, $N423
-    sub $P425, $P424, 1
-    store_lex "$count", $P425
 .annotate 'line', 133
-    find_lex $P426, "$count"
-    set $I427, $P426
-    find_lex $P428, "$/"
-    unless_null $P428, vivify_212
-    $P428 = root_new ['parrot';'Hash']
+    get_global $P423, "@BLOCK"
+.annotate 'line', 135
+    find_lex $P424, "self"
+    get_global $P425, "@BLOCK"
+    unless_null $P425, vivify_212
+    $P425 = root_new ['parrot';'ResizablePMCArray']
   vivify_212:
-    set $P429, $P428["xblock"]
-    unless_null $P429, vivify_213
-    $P429 = root_new ['parrot';'ResizablePMCArray']
+    set $P426, $P425[0]
+    unless_null $P426, vivify_213
+    new $P426, "Undef"
   vivify_213:
-    set $P430, $P429[$I427]
-    unless_null $P430, vivify_214
-    new $P430, "Undef"
-  vivify_214:
-    $P431 = $P430."ast"()
-    $P432 = "xblock_immediate"($P431)
-    store_lex "$past", $P432
-.annotate 'line', 134
-    find_lex $P434, "$/"
-    unless_null $P434, vivify_215
-    $P434 = root_new ['parrot';'Hash']
-  vivify_215:
-    set $P435, $P434["else"]
-    unless_null $P435, vivify_216
-    new $P435, "Undef"
-  vivify_216:
-    unless $P435, if_433_end
-.annotate 'line', 135
-    find_lex $P436, "$past"
-    find_lex $P437, "$/"
-    unless_null $P437, vivify_217
-    $P437 = root_new ['parrot';'Hash']
-  vivify_217:
-    set $P438, $P437["else"]
-    unless_null $P438, vivify_218
-    $P438 = root_new ['parrot';'ResizablePMCArray']
-  vivify_218:
-    set $P439, $P438[0]
-    unless_null $P439, vivify_219
-    new $P439, "Undef"
-  vivify_219:
-    $P440 = $P439."ast"()
-    $P441 = "block_immediate"($P440)
-    $P436."push"($P441)
-  if_433_end:
-.annotate 'line', 138
-    new $P462, 'ExceptionHandler'
-    set_addr $P462, loop461_handler
-    $P462."handle_types"(64, 66, 65)
-    push_eh $P462
-  loop461_test:
-    find_lex $P442, "$count"
-    set $N443, $P442
-    isgt $I444, $N443, 0.0
-    unless $I444, loop461_done
-  loop461_redo:
-    .const 'Sub' $P446 = "33_1274800470.33966" 
-    capture_lex $P446
-    $P446()
-  loop461_next:
-    goto loop461_test
-  loop461_handler:
-    .local pmc exception 
-    .get_results (exception) 
-    getattribute $P463, exception, 'type'
-    eq $P463, 64, loop461_next
-    eq $P463, 66, loop461_redo
-  loop461_done:
-    pop_eh 
-.annotate 'line', 144
-    find_lex $P464, "$/"
-    find_lex $P465, "$past"
-    $P466 = $P464."!make"($P465)
-.annotate 'line', 131
-    .return ($P466)
-  control_416:
+    $P427 = $P424."SET_BLOCK_OUTER_CTX"($P426)
+.annotate 'line', 133
+    .return ($P427)
+  control_419:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P467, exception, "payload"
-    .return ($P467)
+    getattribute $P428, exception, "payload"
+    .return ($P428)
 .end
 
 
 .namespace ["NQP";"Actions"]
-.sub "_block445"  :anon :subid("33_1274800470.33966") :outer("32_1274800470.33966")
+.sub "statement_control:sym<if>"  :subid("33_1274853047.92727") :method :outer("11_1274853047.92727")
+    .param pmc param_432
 .annotate 'line', 140
-    new $P447, "Undef"
-    .lex "$else", $P447
-.annotate 'line', 138
-    find_lex $P448, "$count"
-    clone $P449, $P448
-    dec $P448
-.annotate 'line', 140
-    find_lex $P450, "$past"
-    store_lex "$else", $P450
+    .const 'Sub' $P460 = "34_1274853047.92727" 
+    capture_lex $P460
+    new $P431, 'ExceptionHandler'
+    set_addr $P431, control_430
+    $P431."handle_types"(57)
+    push_eh $P431
+    .lex "self", self
+    .lex "$/", param_432
 .annotate 'line', 141
-    find_lex $P451, "$count"
-    set $I452, $P451
-    find_lex $P453, "$/"
-    unless_null $P453, vivify_220
-    $P453 = root_new ['parrot';'Hash']
+    new $P433, "Undef"
+    .lex "$count", $P433
+.annotate 'line', 142
+    new $P434, "Undef"
+    .lex "$past", $P434
+.annotate 'line', 141
+    find_lex $P435, "$/"
+    unless_null $P435, vivify_214
+    $P435 = root_new ['parrot';'Hash']
+  vivify_214:
+    set $P436, $P435["xblock"]
+    unless_null $P436, vivify_215
+    new $P436, "Undef"
+  vivify_215:
+    set $N437, $P436
+    new $P438, 'Float'
+    set $P438, $N437
+    sub $P439, $P438, 1
+    store_lex "$count", $P439
+.annotate 'line', 142
+    find_lex $P440, "$count"
+    set $I441, $P440
+    find_lex $P442, "$/"
+    unless_null $P442, vivify_216
+    $P442 = root_new ['parrot';'Hash']
+  vivify_216:
+    set $P443, $P442["xblock"]
+    unless_null $P443, vivify_217
+    $P443 = root_new ['parrot';'ResizablePMCArray']
+  vivify_217:
+    set $P444, $P443[$I441]
+    unless_null $P444, vivify_218
+    new $P444, "Undef"
+  vivify_218:
+    $P445 = $P444."ast"()
+    $P446 = "xblock_immediate"($P445)
+    store_lex "$past", $P446
+.annotate 'line', 143
+    find_lex $P448, "$/"
+    unless_null $P448, vivify_219
+    $P448 = root_new ['parrot';'Hash']
+  vivify_219:
+    set $P449, $P448["else"]
+    unless_null $P449, vivify_220
+    new $P449, "Undef"
   vivify_220:
-    set $P454, $P453["xblock"]
-    unless_null $P454, vivify_221
-    $P454 = root_new ['parrot';'ResizablePMCArray']
+    unless $P449, if_447_end
+.annotate 'line', 144
+    find_lex $P450, "$past"
+    find_lex $P451, "$/"
+    unless_null $P451, vivify_221
+    $P451 = root_new ['parrot';'Hash']
   vivify_221:
-    set $P455, $P454[$I452]
-    unless_null $P455, vivify_222
-    new $P455, "Undef"
+    set $P452, $P451["else"]
+    unless_null $P452, vivify_222
+    $P452 = root_new ['parrot';'ResizablePMCArray']
   vivify_222:
-    $P456 = $P455."ast"()
-    $P457 = "xblock_immediate"($P456)
-    store_lex "$past", $P457
-.annotate 'line', 142
-    find_lex $P458, "$past"
-    find_lex $P459, "$else"
-    $P460 = $P458."push"($P459)
-.annotate 'line', 138
-    .return ($P460)
-.end
-
-
-.namespace ["NQP";"Actions"]
-.sub "statement_control:sym<unless>"  :subid("34_1274800470.33966") :method :outer("11_1274800470.33966")
-    .param pmc param_471
-.annotate 'line', 147
-    new $P470, 'ExceptionHandler'
-    set_addr $P470, control_469
-    $P470."handle_types"(57)
-    push_eh $P470
-    .lex "self", self
-    .lex "$/", param_471
-.annotate 'line', 148
-    new $P472, "Undef"
-    .lex "$past", $P472
-    find_lex $P473, "$/"
-    unless_null $P473, vivify_223
-    $P473 = root_new ['parrot';'Hash']
+    set $P453, $P452[0]
+    unless_null $P453, vivify_223
+    new $P453, "Undef"
   vivify_223:
-    set $P474, $P473["xblock"]
-    unless_null $P474, vivify_224
-    new $P474, "Undef"
-  vivify_224:
-    $P475 = $P474."ast"()
-    $P476 = "xblock_immediate"($P475)
-    store_lex "$past", $P476
-.annotate 'line', 149
-    find_lex $P477, "$past"
-    $P477."pasttype"("unless")
-.annotate 'line', 150
+    $P454 = $P453."ast"()
+    $P455 = "block_immediate"($P454)
+    $P450."push"($P455)
+  if_447_end:
+.annotate 'line', 147
+    new $P476, 'ExceptionHandler'
+    set_addr $P476, loop475_handler
+    $P476."handle_types"(64, 66, 65)
+    push_eh $P476
+  loop475_test:
+    find_lex $P456, "$count"
+    set $N457, $P456
+    isgt $I458, $N457, 0.0
+    unless $I458, loop475_done
+  loop475_redo:
+    .const 'Sub' $P460 = "34_1274853047.92727" 
+    capture_lex $P460
+    $P460()
+  loop475_next:
+    goto loop475_test
+  loop475_handler:
+    .local pmc exception 
+    .get_results (exception) 
+    getattribute $P477, exception, 'type'
+    eq $P477, 64, loop475_next
+    eq $P477, 66, loop475_redo
+  loop475_done:
+    pop_eh 
+.annotate 'line', 153
     find_lex $P478, "$/"
     find_lex $P479, "$past"
     $P480 = $P478."!make"($P479)
-.annotate 'line', 147
+.annotate 'line', 140
     .return ($P480)
-  control_469:
+  control_430:
     .local pmc exception 
     .get_results (exception) 
     getattribute $P481, exception, "payload"
@@ -18408,4547 +18468,4591 @@
 
 
 .namespace ["NQP";"Actions"]
-.sub "statement_control:sym<while>"  :subid("35_1274800470.33966") :method :outer("11_1274800470.33966")
+.sub "_block459"  :anon :subid("34_1274853047.92727") :outer("33_1274853047.92727")
+.annotate 'line', 149
+    new $P461, "Undef"
+    .lex "$else", $P461
+.annotate 'line', 147
+    find_lex $P462, "$count"
+    clone $P463, $P462
+    dec $P462
+.annotate 'line', 149
+    find_lex $P464, "$past"
+    store_lex "$else", $P464
+.annotate 'line', 150
+    find_lex $P465, "$count"
+    set $I466, $P465
+    find_lex $P467, "$/"
+    unless_null $P467, vivify_224
+    $P467 = root_new ['parrot';'Hash']
+  vivify_224:
+    set $P468, $P467["xblock"]
+    unless_null $P468, vivify_225
+    $P468 = root_new ['parrot';'ResizablePMCArray']
+  vivify_225:
+    set $P469, $P468[$I466]
+    unless_null $P469, vivify_226
+    new $P469, "Undef"
+  vivify_226:
+    $P470 = $P469."ast"()
+    $P471 = "xblock_immediate"($P470)
+    store_lex "$past", $P471
+.annotate 'line', 151
+    find_lex $P472, "$past"
+    find_lex $P473, "$else"
+    $P474 = $P472."push"($P473)
+.annotate 'line', 147
+    .return ($P474)
+.end
+
+
+.namespace ["NQP";"Actions"]
+.sub "statement_control:sym<unless>"  :subid("35_1274853047.92727") :method :outer("11_1274853047.92727")
     .param pmc param_485
-.annotate 'line', 153
+.annotate 'line', 156
     new $P484, 'ExceptionHandler'
     set_addr $P484, control_483
     $P484."handle_types"(57)
     push_eh $P484
     .lex "self", self
     .lex "$/", param_485
-.annotate 'line', 154
+.annotate 'line', 157
     new $P486, "Undef"
     .lex "$past", $P486
     find_lex $P487, "$/"
-    unless_null $P487, vivify_225
+    unless_null $P487, vivify_227
     $P487 = root_new ['parrot';'Hash']
-  vivify_225:
+  vivify_227:
     set $P488, $P487["xblock"]
-    unless_null $P488, vivify_226
+    unless_null $P488, vivify_228
     new $P488, "Undef"
-  vivify_226:
+  vivify_228:
     $P489 = $P488."ast"()
     $P490 = "xblock_immediate"($P489)
     store_lex "$past", $P490
-.annotate 'line', 155
+.annotate 'line', 158
     find_lex $P491, "$past"
+    $P491."pasttype"("unless")
+.annotate 'line', 159
     find_lex $P492, "$/"
-    unless_null $P492, vivify_227
-    $P492 = root_new ['parrot';'Hash']
-  vivify_227:
-    set $P493, $P492["sym"]
-    unless_null $P493, vivify_228
-    new $P493, "Undef"
-  vivify_228:
-    set $S494, $P493
-    $P491."pasttype"($S494)
+    find_lex $P493, "$past"
+    $P494 = $P492."!make"($P493)
 .annotate 'line', 156
-    find_lex $P495, "$/"
-    find_lex $P496, "$past"
-    $P497 = $P495."!make"($P496)
-.annotate 'line', 153
-    .return ($P497)
+    .return ($P494)
   control_483:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P498, exception, "payload"
-    .return ($P498)
+    getattribute $P495, exception, "payload"
+    .return ($P495)
 .end
 
 
 .namespace ["NQP";"Actions"]
-.sub "statement_control:sym<repeat>"  :subid("36_1274800470.33966") :method :outer("11_1274800470.33966")
-    .param pmc param_502
-.annotate 'line', 159
-    new $P501, 'ExceptionHandler'
-    set_addr $P501, control_500
-    $P501."handle_types"(57)
-    push_eh $P501
+.sub "statement_control:sym<while>"  :subid("36_1274853047.92727") :method :outer("11_1274853047.92727")
+    .param pmc param_499
+.annotate 'line', 162
+    new $P498, 'ExceptionHandler'
+    set_addr $P498, control_497
+    $P498."handle_types"(57)
+    push_eh $P498
     .lex "self", self
-    .lex "$/", param_502
-.annotate 'line', 160
-    new $P503, "Undef"
-    .lex "$pasttype", $P503
-.annotate 'line', 161
-    new $P504, "Undef"
-    .lex "$past", $P504
-.annotate 'line', 160
-    new $P505, "String"
-    assign $P505, "repeat_"
+    .lex "$/", param_499
+.annotate 'line', 163
+    new $P500, "Undef"
+    .lex "$past", $P500
+    find_lex $P501, "$/"
+    unless_null $P501, vivify_229
+    $P501 = root_new ['parrot';'Hash']
+  vivify_229:
+    set $P502, $P501["xblock"]
+    unless_null $P502, vivify_230
+    new $P502, "Undef"
+  vivify_230:
+    $P503 = $P502."ast"()
+    $P504 = "xblock_immediate"($P503)
+    store_lex "$past", $P504
+.annotate 'line', 164
+    find_lex $P505, "$past"
     find_lex $P506, "$/"
-    unless_null $P506, vivify_229
+    unless_null $P506, vivify_231
     $P506 = root_new ['parrot';'Hash']
-  vivify_229:
-    set $P507, $P506["wu"]
-    unless_null $P507, vivify_230
+  vivify_231:
+    set $P507, $P506["sym"]
+    unless_null $P507, vivify_232
     new $P507, "Undef"
-  vivify_230:
+  vivify_232:
     set $S508, $P507
-    concat $P509, $P505, $S508
-    store_lex "$pasttype", $P509
+    $P505."pasttype"($S508)
+.annotate 'line', 165
+    find_lex $P509, "$/"
     find_lex $P510, "$past"
+    $P511 = $P509."!make"($P510)
 .annotate 'line', 162
-    find_lex $P512, "$/"
-    unless_null $P512, vivify_231
-    $P512 = root_new ['parrot';'Hash']
-  vivify_231:
-    set $P513, $P512["xblock"]
-    unless_null $P513, vivify_232
-    new $P513, "Undef"
-  vivify_232:
-    if $P513, if_511
-.annotate 'line', 167
-    get_hll_global $P520, ["PAST"], "Op"
-    find_lex $P521, "$/"
-    unless_null $P521, vivify_233
-    $P521 = root_new ['parrot';'Hash']
-  vivify_233:
-    set $P522, $P521["EXPR"]
-    unless_null $P522, vivify_234
-    new $P522, "Undef"
-  vivify_234:
-    $P523 = $P522."ast"()
-    find_lex $P524, "$/"
-    unless_null $P524, vivify_235
-    $P524 = root_new ['parrot';'Hash']
-  vivify_235:
-    set $P525, $P524["pblock"]
-    unless_null $P525, vivify_236
-    new $P525, "Undef"
-  vivify_236:
-    $P526 = $P525."ast"()
-    $P527 = "block_immediate"($P526)
-    find_lex $P528, "$pasttype"
-    find_lex $P529, "$/"
-    $P530 = $P520."new"($P523, $P527, $P528 :named("pasttype"), $P529 :named("node"))
-    store_lex "$past", $P530
-.annotate 'line', 166
-    goto if_511_end
-  if_511:
-.annotate 'line', 163
-    find_lex $P514, "$/"
-    unless_null $P514, vivify_237
-    $P514 = root_new ['parrot';'Hash']
-  vivify_237:
-    set $P515, $P514["xblock"]
-    unless_null $P515, vivify_238
-    new $P515, "Undef"
-  vivify_238:
-    $P516 = $P515."ast"()
-    $P517 = "xblock_immediate"($P516)
-    store_lex "$past", $P517
-.annotate 'line', 164
-    find_lex $P518, "$past"
-    find_lex $P519, "$pasttype"
-    $P518."pasttype"($P519)
-  if_511_end:
-.annotate 'line', 170
-    find_lex $P531, "$/"
-    find_lex $P532, "$past"
-    $P533 = $P531."!make"($P532)
-.annotate 'line', 159
-    .return ($P533)
-  control_500:
+    .return ($P511)
+  control_497:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P534, exception, "payload"
-    .return ($P534)
+    getattribute $P512, exception, "payload"
+    .return ($P512)
 .end
 
 
 .namespace ["NQP";"Actions"]
-.sub "statement_control:sym<for>"  :subid("37_1274800470.33966") :method :outer("11_1274800470.33966")
-    .param pmc param_538
-.annotate 'line', 173
-    new $P537, 'ExceptionHandler'
-    set_addr $P537, control_536
-    $P537."handle_types"(57)
-    push_eh $P537
+.sub "statement_control:sym<repeat>"  :subid("37_1274853047.92727") :method :outer("11_1274853047.92727")
+    .param pmc param_516
+.annotate 'line', 168
+    new $P515, 'ExceptionHandler'
+    set_addr $P515, control_514
+    $P515."handle_types"(57)
+    push_eh $P515
     .lex "self", self
-    .lex "$/", param_538
-.annotate 'line', 174
-    new $P539, "Undef"
-    .lex "$past", $P539
+    .lex "$/", param_516
+.annotate 'line', 169
+    new $P517, "Undef"
+    .lex "$pasttype", $P517
+.annotate 'line', 170
+    new $P518, "Undef"
+    .lex "$past", $P518
+.annotate 'line', 169
+    new $P519, "String"
+    assign $P519, "repeat_"
+    find_lex $P520, "$/"
+    unless_null $P520, vivify_233
+    $P520 = root_new ['parrot';'Hash']
+  vivify_233:
+    set $P521, $P520["wu"]
+    unless_null $P521, vivify_234
+    new $P521, "Undef"
+  vivify_234:
+    set $S522, $P521
+    concat $P523, $P519, $S522
+    store_lex "$pasttype", $P523
+    find_lex $P524, "$past"
+.annotate 'line', 171
+    find_lex $P526, "$/"
+    unless_null $P526, vivify_235
+    $P526 = root_new ['parrot';'Hash']
+  vivify_235:
+    set $P527, $P526["xblock"]
+    unless_null $P527, vivify_236
+    new $P527, "Undef"
+  vivify_236:
+    if $P527, if_525
 .annotate 'line', 176
-    new $P540, "Undef"
-    .lex "$block", $P540
-.annotate 'line', 174
-    find_lex $P541, "$/"
-    unless_null $P541, vivify_239
-    $P541 = root_new ['parrot';'Hash']
+    get_hll_global $P534, ["PAST"], "Op"
+    find_lex $P535, "$/"
+    unless_null $P535, vivify_237
+    $P535 = root_new ['parrot';'Hash']
+  vivify_237:
+    set $P536, $P535["EXPR"]
+    unless_null $P536, vivify_238
+    new $P536, "Undef"
+  vivify_238:
+    $P537 = $P536."ast"()
+    find_lex $P538, "$/"
+    unless_null $P538, vivify_239
+    $P538 = root_new ['parrot';'Hash']
   vivify_239:
-    set $P542, $P541["xblock"]
-    unless_null $P542, vivify_240
-    new $P542, "Undef"
+    set $P539, $P538["pblock"]
+    unless_null $P539, vivify_240
+    new $P539, "Undef"
   vivify_240:
-    $P543 = $P542."ast"()
-    store_lex "$past", $P543
+    $P540 = $P539."ast"()
+    $P541 = "block_immediate"($P540)
+    find_lex $P542, "$pasttype"
+    find_lex $P543, "$/"
+    $P544 = $P534."new"($P537, $P541, $P542 :named("pasttype"), $P543 :named("node"))
+    store_lex "$past", $P544
 .annotate 'line', 175
-    find_lex $P544, "$past"
-    $P544."pasttype"("for")
-.annotate 'line', 176
-    find_lex $P545, "$past"
-    unless_null $P545, vivify_241
-    $P545 = root_new ['parrot';'ResizablePMCArray']
+    goto if_525_end
+  if_525:
+.annotate 'line', 172
+    find_lex $P528, "$/"
+    unless_null $P528, vivify_241
+    $P528 = root_new ['parrot';'Hash']
   vivify_241:
-    set $P546, $P545[1]
-    unless_null $P546, vivify_242
-    new $P546, "Undef"
+    set $P529, $P528["xblock"]
+    unless_null $P529, vivify_242
+    new $P529, "Undef"
   vivify_242:
-    store_lex "$block", $P546
-.annotate 'line', 177
-    find_lex $P548, "$block"
-    $P549 = $P548."arity"()
-    if $P549, unless_547_end
-.annotate 'line', 178
-    find_lex $P550, "$block"
-    unless_null $P550, vivify_243
-    $P550 = root_new ['parrot';'ResizablePMCArray']
-  vivify_243:
-    set $P551, $P550[0]
-    unless_null $P551, vivify_244
-    new $P551, "Undef"
-  vivify_244:
-    get_hll_global $P552, ["PAST"], "Var"
-    $P553 = $P552."new"("$_" :named("name"), "parameter" :named("scope"))
-    $P551."push"($P553)
-.annotate 'line', 179
-    find_lex $P554, "$block"
-    $P554."symbol"("$_", "lexical" :named("scope"))
-.annotate 'line', 180
-    find_lex $P555, "$block"
-    $P555."arity"(1)
-  unless_547_end:
-.annotate 'line', 182
-    find_lex $P556, "$block"
-    $P556."blocktype"("immediate")
-.annotate 'line', 183
-    find_lex $P557, "$/"
-    find_lex $P558, "$past"
-    $P559 = $P557."!make"($P558)
+    $P530 = $P529."ast"()
+    $P531 = "xblock_immediate"($P530)
+    store_lex "$past", $P531
 .annotate 'line', 173
-    .return ($P559)
-  control_536:
+    find_lex $P532, "$past"
+    find_lex $P533, "$pasttype"
+    $P532."pasttype"($P533)
+  if_525_end:
+.annotate 'line', 179
+    find_lex $P545, "$/"
+    find_lex $P546, "$past"
+    $P547 = $P545."!make"($P546)
+.annotate 'line', 168
+    .return ($P547)
+  control_514:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P560, exception, "payload"
-    .return ($P560)
+    getattribute $P548, exception, "payload"
+    .return ($P548)
 .end
 
 
 .namespace ["NQP";"Actions"]
-.sub "statement_control:sym<return>"  :subid("38_1274800470.33966") :method :outer("11_1274800470.33966")
-    .param pmc param_564
-.annotate 'line', 186
-    new $P563, 'ExceptionHandler'
-    set_addr $P563, control_562
-    $P563."handle_types"(57)
-    push_eh $P563
+.sub "statement_control:sym<for>"  :subid("38_1274853047.92727") :method :outer("11_1274853047.92727")
+    .param pmc param_552
+.annotate 'line', 182
+    new $P551, 'ExceptionHandler'
+    set_addr $P551, control_550
+    $P551."handle_types"(57)
+    push_eh $P551
     .lex "self", self
-    .lex "$/", param_564
-.annotate 'line', 187
-    find_lex $P565, "$/"
-    get_hll_global $P566, ["PAST"], "Op"
-    find_lex $P567, "$/"
-    unless_null $P567, vivify_245
-    $P567 = root_new ['parrot';'Hash']
+    .lex "$/", param_552
+.annotate 'line', 183
+    new $P553, "Undef"
+    .lex "$past", $P553
+.annotate 'line', 185
+    new $P554, "Undef"
+    .lex "$block", $P554
+.annotate 'line', 183
+    find_lex $P555, "$/"
+    unless_null $P555, vivify_243
+    $P555 = root_new ['parrot';'Hash']
+  vivify_243:
+    set $P556, $P555["xblock"]
+    unless_null $P556, vivify_244
+    new $P556, "Undef"
+  vivify_244:
+    $P557 = $P556."ast"()
+    store_lex "$past", $P557
+.annotate 'line', 184
+    find_lex $P558, "$past"
+    $P558."pasttype"("for")
+.annotate 'line', 185
+    find_lex $P559, "$past"
+    unless_null $P559, vivify_245
+    $P559 = root_new ['parrot';'ResizablePMCArray']
   vivify_245:
-    set $P568, $P567["EXPR"]
-    unless_null $P568, vivify_246
-    new $P568, "Undef"
+    set $P560, $P559[1]
+    unless_null $P560, vivify_246
+    new $P560, "Undef"
   vivify_246:
-    $P569 = $P568."ast"()
-    find_lex $P570, "$/"
-    $P571 = $P566."new"($P569, "return" :named("pasttype"), $P570 :named("node"))
-    $P572 = $P565."!make"($P571)
+    store_lex "$block", $P560
 .annotate 'line', 186
-    .return ($P572)
-  control_562:
+    find_lex $P562, "$block"
+    $P563 = $P562."arity"()
+    if $P563, unless_561_end
+.annotate 'line', 187
+    find_lex $P564, "$block"
+    unless_null $P564, vivify_247
+    $P564 = root_new ['parrot';'ResizablePMCArray']
+  vivify_247:
+    set $P565, $P564[0]
+    unless_null $P565, vivify_248
+    new $P565, "Undef"
+  vivify_248:
+    get_hll_global $P566, ["PAST"], "Var"
+    $P567 = $P566."new"("$_" :named("name"), "parameter" :named("scope"))
+    $P565."push"($P567)
+.annotate 'line', 188
+    find_lex $P568, "$block"
+    $P568."symbol"("$_", "lexical" :named("scope"))
+.annotate 'line', 189
+    find_lex $P569, "$block"
+    $P569."arity"(1)
+  unless_561_end:
+.annotate 'line', 191
+    find_lex $P570, "$block"
+    $P570."blocktype"("immediate")
+.annotate 'line', 192
+    find_lex $P571, "$/"
+    find_lex $P572, "$past"
+    $P573 = $P571."!make"($P572)
+.annotate 'line', 182
+    .return ($P573)
+  control_550:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P573, exception, "payload"
-    .return ($P573)
+    getattribute $P574, exception, "payload"
+    .return ($P574)
 .end
 
 
 .namespace ["NQP";"Actions"]
-.sub "statement_control:sym<CATCH>"  :subid("39_1274800470.33966") :method :outer("11_1274800470.33966")
-    .param pmc param_577
-.annotate 'line', 190
-    new $P576, 'ExceptionHandler'
-    set_addr $P576, control_575
-    $P576."handle_types"(57)
-    push_eh $P576
+.sub "statement_control:sym<return>"  :subid("39_1274853047.92727") :method :outer("11_1274853047.92727")
+    .param pmc param_578
+.annotate 'line', 195
+    new $P577, 'ExceptionHandler'
+    set_addr $P577, control_576
+    $P577."handle_types"(57)
+    push_eh $P577
     .lex "self", self
-    .lex "$/", param_577
-.annotate 'line', 191
-    new $P578, "Undef"
-    .lex "$block", $P578
+    .lex "$/", param_578
+.annotate 'line', 196
     find_lex $P579, "$/"
-    unless_null $P579, vivify_247
-    $P579 = root_new ['parrot';'Hash']
-  vivify_247:
-    set $P580, $P579["block"]
-    unless_null $P580, vivify_248
-    new $P580, "Undef"
-  vivify_248:
-    $P581 = $P580."ast"()
-    store_lex "$block", $P581
-.annotate 'line', 192
-    find_lex $P582, "$/"
-    find_lex $P583, "$block"
-    "push_block_handler"($P582, $P583)
-.annotate 'line', 193
-    get_global $P584, "@BLOCK"
-    unless_null $P584, vivify_249
-    $P584 = root_new ['parrot';'ResizablePMCArray']
+    get_hll_global $P580, ["PAST"], "Op"
+    find_lex $P581, "$/"
+    unless_null $P581, vivify_249
+    $P581 = root_new ['parrot';'Hash']
   vivify_249:
-    set $P585, $P584[0]
-    unless_null $P585, vivify_250
-    new $P585, "Undef"
+    set $P582, $P581["EXPR"]
+    unless_null $P582, vivify_250
+    new $P582, "Undef"
   vivify_250:
-    $P586 = $P585."handlers"()
-    set $P587, $P586[0]
-    unless_null $P587, vivify_251
-    new $P587, "Undef"
-  vivify_251:
-    $P587."handle_types_except"("CONTROL")
-.annotate 'line', 194
-    find_lex $P588, "$/"
-    get_hll_global $P589, ["PAST"], "Stmts"
-    find_lex $P590, "$/"
-    $P591 = $P589."new"($P590 :named("node"))
-    $P592 = $P588."!make"($P591)
-.annotate 'line', 190
-    .return ($P592)
-  control_575:
+    $P583 = $P582."ast"()
+    find_lex $P584, "$/"
+    $P585 = $P580."new"($P583, "return" :named("pasttype"), $P584 :named("node"))
+    $P586 = $P579."!make"($P585)
+.annotate 'line', 195
+    .return ($P586)
+  control_576:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P593, exception, "payload"
-    .return ($P593)
+    getattribute $P587, exception, "payload"
+    .return ($P587)
 .end
 
 
 .namespace ["NQP";"Actions"]
-.sub "statement_control:sym<CONTROL>"  :subid("40_1274800470.33966") :method :outer("11_1274800470.33966")
-    .param pmc param_597
-.annotate 'line', 197
-    new $P596, 'ExceptionHandler'
-    set_addr $P596, control_595
-    $P596."handle_types"(57)
-    push_eh $P596
+.sub "statement_control:sym<CATCH>"  :subid("40_1274853047.92727") :method :outer("11_1274853047.92727")
+    .param pmc param_591
+.annotate 'line', 199
+    new $P590, 'ExceptionHandler'
+    set_addr $P590, control_589
+    $P590."handle_types"(57)
+    push_eh $P590
     .lex "self", self
-    .lex "$/", param_597
-.annotate 'line', 198
-    new $P598, "Undef"
-    .lex "$block", $P598
-    find_lex $P599, "$/"
-    unless_null $P599, vivify_252
-    $P599 = root_new ['parrot';'Hash']
+    .lex "$/", param_591
+.annotate 'line', 200
+    new $P592, "Undef"
+    .lex "$block", $P592
+    find_lex $P593, "$/"
+    unless_null $P593, vivify_251
+    $P593 = root_new ['parrot';'Hash']
+  vivify_251:
+    set $P594, $P593["block"]
+    unless_null $P594, vivify_252
+    new $P594, "Undef"
   vivify_252:
-    set $P600, $P599["block"]
-    unless_null $P600, vivify_253
-    new $P600, "Undef"
+    $P595 = $P594."ast"()
+    store_lex "$block", $P595
+.annotate 'line', 201
+    find_lex $P596, "$/"
+    find_lex $P597, "$block"
+    "push_block_handler"($P596, $P597)
+.annotate 'line', 202
+    get_global $P598, "@BLOCK"
+    unless_null $P598, vivify_253
+    $P598 = root_new ['parrot';'ResizablePMCArray']
   vivify_253:
-    $P601 = $P600."ast"()
-    store_lex "$block", $P601
-.annotate 'line', 199
-    find_lex $P602, "$/"
-    find_lex $P603, "$block"
-    "push_block_handler"($P602, $P603)
-.annotate 'line', 200
-    get_global $P604, "@BLOCK"
-    unless_null $P604, vivify_254
-    $P604 = root_new ['parrot';'ResizablePMCArray']
+    set $P599, $P598[0]
+    unless_null $P599, vivify_254
+    new $P599, "Undef"
   vivify_254:
-    set $P605, $P604[0]
-    unless_null $P605, vivify_255
-    new $P605, "Undef"
+    $P600 = $P599."handlers"()
+    set $P601, $P600[0]
+    unless_null $P601, vivify_255
+    new $P601, "Undef"
   vivify_255:
-    $P606 = $P605."handlers"()
-    set $P607, $P606[0]
-    unless_null $P607, vivify_256
-    new $P607, "Undef"
-  vivify_256:
-    $P607."handle_types"("CONTROL")
-.annotate 'line', 201
-    find_lex $P608, "$/"
-    get_hll_global $P609, ["PAST"], "Stmts"
-    find_lex $P610, "$/"
-    $P611 = $P609."new"($P610 :named("node"))
-    $P612 = $P608."!make"($P611)
-.annotate 'line', 197
-    .return ($P612)
-  control_595:
+    $P601."handle_types_except"("CONTROL")
+.annotate 'line', 203
+    find_lex $P602, "$/"
+    get_hll_global $P603, ["PAST"], "Stmts"
+    find_lex $P604, "$/"
+    $P605 = $P603."new"($P604 :named("node"))
+    $P606 = $P602."!make"($P605)
+.annotate 'line', 199
+    .return ($P606)
+  control_589:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P613, exception, "payload"
-    .return ($P613)
+    getattribute $P607, exception, "payload"
+    .return ($P607)
 .end
 
 
 .namespace ["NQP";"Actions"]
-.sub "statement_prefix:sym<INIT>"  :subid("41_1274800470.33966") :method :outer("11_1274800470.33966")
-    .param pmc param_618
-.annotate 'line', 241
-    new $P617, 'ExceptionHandler'
-    set_addr $P617, control_616
-    $P617."handle_types"(57)
-    push_eh $P617
-    .lex "self", self
-    .lex "$/", param_618
-.annotate 'line', 242
-    get_global $P619, "@BLOCK"
-    unless_null $P619, vivify_257
-    $P619 = root_new ['parrot';'ResizablePMCArray']
+.sub "statement_control:sym<CONTROL>"  :subid("41_1274853047.92727") :method :outer("11_1274853047.92727")
+    .param pmc param_611
+.annotate 'line', 206
+    new $P610, 'ExceptionHandler'
+    set_addr $P610, control_609
+    $P610."handle_types"(57)
+    push_eh $P610
+    .lex "self", self
+    .lex "$/", param_611
+.annotate 'line', 207
+    new $P612, "Undef"
+    .lex "$block", $P612
+    find_lex $P613, "$/"
+    unless_null $P613, vivify_256
+    $P613 = root_new ['parrot';'Hash']
+  vivify_256:
+    set $P614, $P613["block"]
+    unless_null $P614, vivify_257
+    new $P614, "Undef"
   vivify_257:
-    set $P620, $P619[0]
-    unless_null $P620, vivify_258
-    new $P620, "Undef"
+    $P615 = $P614."ast"()
+    store_lex "$block", $P615
+.annotate 'line', 208
+    find_lex $P616, "$/"
+    find_lex $P617, "$block"
+    "push_block_handler"($P616, $P617)
+.annotate 'line', 209
+    get_global $P618, "@BLOCK"
+    unless_null $P618, vivify_258
+    $P618 = root_new ['parrot';'ResizablePMCArray']
   vivify_258:
-    $P621 = $P620."loadinit"()
-    find_lex $P622, "$/"
-    unless_null $P622, vivify_259
-    $P622 = root_new ['parrot';'Hash']
+    set $P619, $P618[0]
+    unless_null $P619, vivify_259
+    new $P619, "Undef"
   vivify_259:
-    set $P623, $P622["blorst"]
-    unless_null $P623, vivify_260
-    new $P623, "Undef"
+    $P620 = $P619."handlers"()
+    set $P621, $P620[0]
+    unless_null $P621, vivify_260
+    new $P621, "Undef"
   vivify_260:
-    $P624 = $P623."ast"()
-    $P621."push"($P624)
-.annotate 'line', 243
-    find_lex $P625, "$/"
-    get_hll_global $P626, ["PAST"], "Stmts"
-    find_lex $P627, "$/"
-    $P628 = $P626."new"($P627 :named("node"))
-    $P629 = $P625."!make"($P628)
-.annotate 'line', 241
-    .return ($P629)
-  control_616:
+    $P621."handle_types"("CONTROL")
+.annotate 'line', 210
+    find_lex $P622, "$/"
+    get_hll_global $P623, ["PAST"], "Stmts"
+    find_lex $P624, "$/"
+    $P625 = $P623."new"($P624 :named("node"))
+    $P626 = $P622."!make"($P625)
+.annotate 'line', 206
+    .return ($P626)
+  control_609:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P630, exception, "payload"
-    .return ($P630)
+    getattribute $P627, exception, "payload"
+    .return ($P627)
 .end
 
 
 .namespace ["NQP";"Actions"]
-.sub "statement_prefix:sym<try>"  :subid("42_1274800470.33966") :method :outer("11_1274800470.33966")
-    .param pmc param_634
-.annotate 'line', 246
-    new $P633, 'ExceptionHandler'
-    set_addr $P633, control_632
-    $P633."handle_types"(57)
-    push_eh $P633
+.sub "statement_prefix:sym<INIT>"  :subid("42_1274853047.92727") :method :outer("11_1274853047.92727")
+    .param pmc param_632
+.annotate 'line', 250
+    new $P631, 'ExceptionHandler'
+    set_addr $P631, control_630
+    $P631."handle_types"(57)
+    push_eh $P631
     .lex "self", self
-    .lex "$/", param_634
-.annotate 'line', 247
-    new $P635, "Undef"
-    .lex "$past", $P635
+    .lex "$/", param_632
+.annotate 'line', 251
+    get_global $P633, "@BLOCK"
+    unless_null $P633, vivify_261
+    $P633 = root_new ['parrot';'ResizablePMCArray']
+  vivify_261:
+    set $P634, $P633[0]
+    unless_null $P634, vivify_262
+    new $P634, "Undef"
+  vivify_262:
+    $P635 = $P634."loadinit"()
     find_lex $P636, "$/"
-    unless_null $P636, vivify_261
+    unless_null $P636, vivify_263
     $P636 = root_new ['parrot';'Hash']
-  vivify_261:
+  vivify_263:
     set $P637, $P636["blorst"]
-    unless_null $P637, vivify_262
+    unless_null $P637, vivify_264
     new $P637, "Undef"
-  vivify_262:
+  vivify_264:
     $P638 = $P637."ast"()
-    store_lex "$past", $P638
-.annotate 'line', 248
-    find_lex $P640, "$past"
-    $S641 = $P640."WHAT"()
-    isne $I642, $S641, "PAST::Block()"
-    unless $I642, if_639_end
-.annotate 'line', 249
-    get_hll_global $P643, ["PAST"], "Block"
-    find_lex $P644, "$past"
-    find_lex $P645, "$/"
-    $P646 = $P643."new"($P644, "immediate" :named("blocktype"), $P645 :named("node"))
-    store_lex "$past", $P646
-  if_639_end:
-.annotate 'line', 251
-    find_lex $P648, "$past"
-    $P649 = $P648."handlers"()
-    if $P649, unless_647_end
+    $P635."push"($P638)
 .annotate 'line', 252
-    find_lex $P650, "$past"
-    get_hll_global $P651, ["PAST"], "Control"
-.annotate 'line', 254
-    get_hll_global $P652, ["PAST"], "Stmts"
-.annotate 'line', 255
-    get_hll_global $P653, ["PAST"], "Op"
-.annotate 'line', 256
-    get_hll_global $P654, ["PAST"], "Var"
-.annotate 'line', 257
-    get_hll_global $P655, ["PAST"], "Var"
-    $P656 = $P655."new"("register" :named("scope"), "exception" :named("name"))
-    $P657 = $P654."new"($P656, "handled", "keyed" :named("scope"))
-.annotate 'line', 256
-    $P658 = $P653."new"($P657, 1, "bind" :named("pasttype"))
-.annotate 'line', 255
-    $P659 = $P652."new"($P658)
-.annotate 'line', 254
-    $P660 = $P651."new"($P659, "CONTROL" :named("handle_types_except"))
-.annotate 'line', 252
-    new $P661, "ResizablePMCArray"
-    push $P661, $P660
-    $P650."handlers"($P661)
-  unless_647_end:
-.annotate 'line', 266
-    find_lex $P662, "$/"
-    find_lex $P663, "$past"
-    $P664 = $P662."!make"($P663)
-.annotate 'line', 246
-    .return ($P664)
-  control_632:
+    find_lex $P639, "$/"
+    get_hll_global $P640, ["PAST"], "Stmts"
+    find_lex $P641, "$/"
+    $P642 = $P640."new"($P641 :named("node"))
+    $P643 = $P639."!make"($P642)
+.annotate 'line', 250
+    .return ($P643)
+  control_630:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P665, exception, "payload"
-    .return ($P665)
+    getattribute $P644, exception, "payload"
+    .return ($P644)
 .end
 
 
 .namespace ["NQP";"Actions"]
-.sub "blorst"  :subid("43_1274800470.33966") :method :outer("11_1274800470.33966")
-    .param pmc param_669
-.annotate 'line', 269
-    new $P668, 'ExceptionHandler'
-    set_addr $P668, control_667
-    $P668."handle_types"(57)
-    push_eh $P668
+.sub "statement_prefix:sym<try>"  :subid("43_1274853047.92727") :method :outer("11_1274853047.92727")
+    .param pmc param_648
+.annotate 'line', 255
+    new $P647, 'ExceptionHandler'
+    set_addr $P647, control_646
+    $P647."handle_types"(57)
+    push_eh $P647
     .lex "self", self
-    .lex "$/", param_669
-.annotate 'line', 270
-    find_lex $P670, "$/"
-.annotate 'line', 271
-    find_lex $P673, "$/"
-    unless_null $P673, vivify_263
-    $P673 = root_new ['parrot';'Hash']
-  vivify_263:
-    set $P674, $P673["block"]
-    unless_null $P674, vivify_264
-    new $P674, "Undef"
-  vivify_264:
-    if $P674, if_672
-.annotate 'line', 272
-    find_lex $P679, "$/"
-    unless_null $P679, vivify_265
-    $P679 = root_new ['parrot';'Hash']
+    .lex "$/", param_648
+.annotate 'line', 256
+    new $P649, "Undef"
+    .lex "$past", $P649
+    find_lex $P650, "$/"
+    unless_null $P650, vivify_265
+    $P650 = root_new ['parrot';'Hash']
   vivify_265:
-    set $P680, $P679["statement"]
-    unless_null $P680, vivify_266
-    new $P680, "Undef"
+    set $P651, $P650["blorst"]
+    unless_null $P651, vivify_266
+    new $P651, "Undef"
   vivify_266:
-    $P681 = $P680."ast"()
-    set $P671, $P681
-.annotate 'line', 271
-    goto if_672_end
-  if_672:
-    find_lex $P675, "$/"
-    unless_null $P675, vivify_267
-    $P675 = root_new ['parrot';'Hash']
-  vivify_267:
-    set $P676, $P675["block"]
-    unless_null $P676, vivify_268
-    new $P676, "Undef"
-  vivify_268:
-    $P677 = $P676."ast"()
-    $P678 = "block_immediate"($P677)
-    set $P671, $P678
-  if_672_end:
-    $P682 = $P670."!make"($P671)
-.annotate 'line', 269
-    .return ($P682)
-  control_667:
+    $P652 = $P651."ast"()
+    store_lex "$past", $P652
+.annotate 'line', 257
+    find_lex $P654, "$past"
+    $S655 = $P654."WHAT"()
+    isne $I656, $S655, "PAST::Block()"
+    unless $I656, if_653_end
+.annotate 'line', 258
+    get_hll_global $P657, ["PAST"], "Block"
+    find_lex $P658, "$past"
+    find_lex $P659, "$/"
+    $P660 = $P657."new"($P658, "immediate" :named("blocktype"), $P659 :named("node"))
+    store_lex "$past", $P660
+  if_653_end:
+.annotate 'line', 260
+    find_lex $P662, "$past"
+    $P663 = $P662."handlers"()
+    if $P663, unless_661_end
+.annotate 'line', 261
+    find_lex $P664, "$past"
+    get_hll_global $P665, ["PAST"], "Control"
+.annotate 'line', 263
+    get_hll_global $P666, ["PAST"], "Stmts"
+.annotate 'line', 264
+    get_hll_global $P667, ["PAST"], "Op"
+.annotate 'line', 265
+    get_hll_global $P668, ["PAST"], "Var"
+.annotate 'line', 266
+    get_hll_global $P669, ["PAST"], "Var"
+    $P670 = $P669."new"("register" :named("scope"), "exception" :named("name"))
+    $P671 = $P668."new"($P670, "handled", "keyed" :named("scope"))
+.annotate 'line', 265
+    $P672 = $P667."new"($P671, 1, "bind" :named("pasttype"))
+.annotate 'line', 264
+    $P673 = $P666."new"($P672)
+.annotate 'line', 263
+    $P674 = $P665."new"($P673, "CONTROL" :named("handle_types_except"))
+.annotate 'line', 261
+    new $P675, "ResizablePMCArray"
+    push $P675, $P674
+    $P664."handlers"($P675)
+  unless_661_end:
+.annotate 'line', 275
+    find_lex $P676, "$/"
+    find_lex $P677, "$past"
+    $P678 = $P676."!make"($P677)
+.annotate 'line', 255
+    .return ($P678)
+  control_646:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P683, exception, "payload"
-    .return ($P683)
+    getattribute $P679, exception, "payload"
+    .return ($P679)
 .end
 
 
 .namespace ["NQP";"Actions"]
-.sub "statement_mod_cond:sym<if>"  :subid("44_1274800470.33966") :method :outer("11_1274800470.33966")
-    .param pmc param_687
-.annotate 'line', 277
-    new $P686, 'ExceptionHandler'
-    set_addr $P686, control_685
-    $P686."handle_types"(57)
-    push_eh $P686
-    .lex "self", self
-    .lex "$/", param_687
-    find_lex $P688, "$/"
+.sub "blorst"  :subid("44_1274853047.92727") :method :outer("11_1274853047.92727")
+    .param pmc param_683
+.annotate 'line', 278
+    new $P682, 'ExceptionHandler'
+    set_addr $P682, control_681
+    $P682."handle_types"(57)
+    push_eh $P682
+    .lex "self", self
+    .lex "$/", param_683
+.annotate 'line', 279
+    find_lex $P684, "$/"
+.annotate 'line', 280
+    find_lex $P687, "$/"
+    unless_null $P687, vivify_267
+    $P687 = root_new ['parrot';'Hash']
+  vivify_267:
+    set $P688, $P687["block"]
+    unless_null $P688, vivify_268
+    new $P688, "Undef"
+  vivify_268:
+    if $P688, if_686
+.annotate 'line', 281
+    find_lex $P693, "$/"
+    unless_null $P693, vivify_269
+    $P693 = root_new ['parrot';'Hash']
+  vivify_269:
+    set $P694, $P693["statement"]
+    unless_null $P694, vivify_270
+    new $P694, "Undef"
+  vivify_270:
+    $P695 = $P694."ast"()
+    set $P685, $P695
+.annotate 'line', 280
+    goto if_686_end
+  if_686:
     find_lex $P689, "$/"
-    unless_null $P689, vivify_269
+    unless_null $P689, vivify_271
     $P689 = root_new ['parrot';'Hash']
-  vivify_269:
-    set $P690, $P689["cond"]
-    unless_null $P690, vivify_270
+  vivify_271:
+    set $P690, $P689["block"]
+    unless_null $P690, vivify_272
     new $P690, "Undef"
-  vivify_270:
+  vivify_272:
     $P691 = $P690."ast"()
-    $P692 = $P688."!make"($P691)
-    .return ($P692)
-  control_685:
-    .local pmc exception 
-    .get_results (exception) 
-    getattribute $P693, exception, "payload"
-    .return ($P693)
-.end
-
-
-.namespace ["NQP";"Actions"]
-.sub "statement_mod_cond:sym<unless>"  :subid("45_1274800470.33966") :method :outer("11_1274800470.33966")
-    .param pmc param_697
+    $P692 = "block_immediate"($P691)
+    set $P685, $P692
+  if_686_end:
+    $P696 = $P684."!make"($P685)
 .annotate 'line', 278
-    new $P696, 'ExceptionHandler'
-    set_addr $P696, control_695
-    $P696."handle_types"(57)
-    push_eh $P696
-    .lex "self", self
-    .lex "$/", param_697
-    find_lex $P698, "$/"
-    find_lex $P699, "$/"
-    unless_null $P699, vivify_271
-    $P699 = root_new ['parrot';'Hash']
-  vivify_271:
-    set $P700, $P699["cond"]
-    unless_null $P700, vivify_272
-    new $P700, "Undef"
-  vivify_272:
-    $P701 = $P700."ast"()
-    $P702 = $P698."!make"($P701)
-    .return ($P702)
-  control_695:
+    .return ($P696)
+  control_681:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P703, exception, "payload"
-    .return ($P703)
+    getattribute $P697, exception, "payload"
+    .return ($P697)
 .end
 
 
 .namespace ["NQP";"Actions"]
-.sub "statement_mod_loop:sym<while>"  :subid("46_1274800470.33966") :method :outer("11_1274800470.33966")
-    .param pmc param_707
-.annotate 'line', 280
-    new $P706, 'ExceptionHandler'
-    set_addr $P706, control_705
-    $P706."handle_types"(57)
-    push_eh $P706
-    .lex "self", self
-    .lex "$/", param_707
-    find_lex $P708, "$/"
-    find_lex $P709, "$/"
-    unless_null $P709, vivify_273
-    $P709 = root_new ['parrot';'Hash']
+.sub "statement_mod_cond:sym<if>"  :subid("45_1274853047.92727") :method :outer("11_1274853047.92727")
+    .param pmc param_701
+.annotate 'line', 286
+    new $P700, 'ExceptionHandler'
+    set_addr $P700, control_699
+    $P700."handle_types"(57)
+    push_eh $P700
+    .lex "self", self
+    .lex "$/", param_701
+    find_lex $P702, "$/"
+    find_lex $P703, "$/"
+    unless_null $P703, vivify_273
+    $P703 = root_new ['parrot';'Hash']
   vivify_273:
-    set $P710, $P709["cond"]
-    unless_null $P710, vivify_274
-    new $P710, "Undef"
+    set $P704, $P703["cond"]
+    unless_null $P704, vivify_274
+    new $P704, "Undef"
   vivify_274:
-    $P711 = $P710."ast"()
-    $P712 = $P708."!make"($P711)
-    .return ($P712)
-  control_705:
+    $P705 = $P704."ast"()
+    $P706 = $P702."!make"($P705)
+    .return ($P706)
+  control_699:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P713, exception, "payload"
-    .return ($P713)
+    getattribute $P707, exception, "payload"
+    .return ($P707)
 .end
 
 
 .namespace ["NQP";"Actions"]
-.sub "statement_mod_loop:sym<until>"  :subid("47_1274800470.33966") :method :outer("11_1274800470.33966")
-    .param pmc param_717
-.annotate 'line', 281
-    new $P716, 'ExceptionHandler'
-    set_addr $P716, control_715
-    $P716."handle_types"(57)
-    push_eh $P716
-    .lex "self", self
-    .lex "$/", param_717
-    find_lex $P718, "$/"
-    find_lex $P719, "$/"
-    unless_null $P719, vivify_275
-    $P719 = root_new ['parrot';'Hash']
+.sub "statement_mod_cond:sym<unless>"  :subid("46_1274853047.92727") :method :outer("11_1274853047.92727")
+    .param pmc param_711
+.annotate 'line', 287
+    new $P710, 'ExceptionHandler'
+    set_addr $P710, control_709
+    $P710."handle_types"(57)
+    push_eh $P710
+    .lex "self", self
+    .lex "$/", param_711
+    find_lex $P712, "$/"
+    find_lex $P713, "$/"
+    unless_null $P713, vivify_275
+    $P713 = root_new ['parrot';'Hash']
   vivify_275:
-    set $P720, $P719["cond"]
-    unless_null $P720, vivify_276
-    new $P720, "Undef"
+    set $P714, $P713["cond"]
+    unless_null $P714, vivify_276
+    new $P714, "Undef"
   vivify_276:
-    $P721 = $P720."ast"()
-    $P722 = $P718."!make"($P721)
-    .return ($P722)
-  control_715:
+    $P715 = $P714."ast"()
+    $P716 = $P712."!make"($P715)
+    .return ($P716)
+  control_709:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P723, exception, "payload"
-    .return ($P723)
+    getattribute $P717, exception, "payload"
+    .return ($P717)
 .end
 
 
 .namespace ["NQP";"Actions"]
-.sub "term:sym<fatarrow>"  :subid("48_1274800470.33966") :method :outer("11_1274800470.33966")
-    .param pmc param_727
-.annotate 'line', 285
-    new $P726, 'ExceptionHandler'
-    set_addr $P726, control_725
-    $P726."handle_types"(57)
-    push_eh $P726
-    .lex "self", self
-    .lex "$/", param_727
-    find_lex $P728, "$/"
-    find_lex $P729, "$/"
-    unless_null $P729, vivify_277
-    $P729 = root_new ['parrot';'Hash']
+.sub "statement_mod_loop:sym<while>"  :subid("47_1274853047.92727") :method :outer("11_1274853047.92727")
+    .param pmc param_721
+.annotate 'line', 289
+    new $P720, 'ExceptionHandler'
+    set_addr $P720, control_719
+    $P720."handle_types"(57)
+    push_eh $P720
+    .lex "self", self
+    .lex "$/", param_721
+    find_lex $P722, "$/"
+    find_lex $P723, "$/"
+    unless_null $P723, vivify_277
+    $P723 = root_new ['parrot';'Hash']
   vivify_277:
-    set $P730, $P729["fatarrow"]
-    unless_null $P730, vivify_278
-    new $P730, "Undef"
+    set $P724, $P723["cond"]
+    unless_null $P724, vivify_278
+    new $P724, "Undef"
   vivify_278:
-    $P731 = $P730."ast"()
-    $P732 = $P728."!make"($P731)
-    .return ($P732)
-  control_725:
+    $P725 = $P724."ast"()
+    $P726 = $P722."!make"($P725)
+    .return ($P726)
+  control_719:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P733, exception, "payload"
-    .return ($P733)
+    getattribute $P727, exception, "payload"
+    .return ($P727)
 .end
 
 
 .namespace ["NQP";"Actions"]
-.sub "term:sym<colonpair>"  :subid("49_1274800470.33966") :method :outer("11_1274800470.33966")
-    .param pmc param_737
-.annotate 'line', 286
-    new $P736, 'ExceptionHandler'
-    set_addr $P736, control_735
-    $P736."handle_types"(57)
-    push_eh $P736
-    .lex "self", self
-    .lex "$/", param_737
-    find_lex $P738, "$/"
-    find_lex $P739, "$/"
-    unless_null $P739, vivify_279
-    $P739 = root_new ['parrot';'Hash']
+.sub "statement_mod_loop:sym<until>"  :subid("48_1274853047.92727") :method :outer("11_1274853047.92727")
+    .param pmc param_731
+.annotate 'line', 290
+    new $P730, 'ExceptionHandler'
+    set_addr $P730, control_729
+    $P730."handle_types"(57)
+    push_eh $P730
+    .lex "self", self
+    .lex "$/", param_731
+    find_lex $P732, "$/"
+    find_lex $P733, "$/"
+    unless_null $P733, vivify_279
+    $P733 = root_new ['parrot';'Hash']
   vivify_279:
-    set $P740, $P739["colonpair"]
-    unless_null $P740, vivify_280
-    new $P740, "Undef"
+    set $P734, $P733["cond"]
+    unless_null $P734, vivify_280
+    new $P734, "Undef"
   vivify_280:
-    $P741 = $P740."ast"()
-    $P742 = $P738."!make"($P741)
-    .return ($P742)
-  control_735:
+    $P735 = $P734."ast"()
+    $P736 = $P732."!make"($P735)
+    .return ($P736)
+  control_729:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P743, exception, "payload"
-    .return ($P743)
+    getattribute $P737, exception, "payload"
+    .return ($P737)
 .end
 
 
 .namespace ["NQP";"Actions"]
-.sub "term:sym<variable>"  :subid("50_1274800470.33966") :method :outer("11_1274800470.33966")
-    .param pmc param_747
-.annotate 'line', 287
-    new $P746, 'ExceptionHandler'
-    set_addr $P746, control_745
-    $P746."handle_types"(57)
-    push_eh $P746
-    .lex "self", self
-    .lex "$/", param_747
-    find_lex $P748, "$/"
-    find_lex $P749, "$/"
-    unless_null $P749, vivify_281
-    $P749 = root_new ['parrot';'Hash']
+.sub "term:sym<fatarrow>"  :subid("49_1274853047.92727") :method :outer("11_1274853047.92727")
+    .param pmc param_741
+.annotate 'line', 294
+    new $P740, 'ExceptionHandler'
+    set_addr $P740, control_739
+    $P740."handle_types"(57)
+    push_eh $P740
+    .lex "self", self
+    .lex "$/", param_741
+    find_lex $P742, "$/"
+    find_lex $P743, "$/"
+    unless_null $P743, vivify_281
+    $P743 = root_new ['parrot';'Hash']
   vivify_281:
-    set $P750, $P749["variable"]
-    unless_null $P750, vivify_282
-    new $P750, "Undef"
+    set $P744, $P743["fatarrow"]
+    unless_null $P744, vivify_282
+    new $P744, "Undef"
   vivify_282:
-    $P751 = $P750."ast"()
-    $P752 = $P748."!make"($P751)
-    .return ($P752)
-  control_745:
+    $P745 = $P744."ast"()
+    $P746 = $P742."!make"($P745)
+    .return ($P746)
+  control_739:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P753, exception, "payload"
-    .return ($P753)
+    getattribute $P747, exception, "payload"
+    .return ($P747)
 .end
 
 
 .namespace ["NQP";"Actions"]
-.sub "term:sym<package_declarator>"  :subid("51_1274800470.33966") :method :outer("11_1274800470.33966")
-    .param pmc param_757
-.annotate 'line', 288
-    new $P756, 'ExceptionHandler'
-    set_addr $P756, control_755
-    $P756."handle_types"(57)
-    push_eh $P756
-    .lex "self", self
-    .lex "$/", param_757
-    find_lex $P758, "$/"
-    find_lex $P759, "$/"
-    unless_null $P759, vivify_283
-    $P759 = root_new ['parrot';'Hash']
+.sub "term:sym<colonpair>"  :subid("50_1274853047.92727") :method :outer("11_1274853047.92727")
+    .param pmc param_751
+.annotate 'line', 295
+    new $P750, 'ExceptionHandler'
+    set_addr $P750, control_749
+    $P750."handle_types"(57)
+    push_eh $P750
+    .lex "self", self
+    .lex "$/", param_751
+    find_lex $P752, "$/"
+    find_lex $P753, "$/"
+    unless_null $P753, vivify_283
+    $P753 = root_new ['parrot';'Hash']
   vivify_283:
-    set $P760, $P759["package_declarator"]
-    unless_null $P760, vivify_284
-    new $P760, "Undef"
+    set $P754, $P753["colonpair"]
+    unless_null $P754, vivify_284
+    new $P754, "Undef"
   vivify_284:
-    $P761 = $P760."ast"()
-    $P762 = $P758."!make"($P761)
-    .return ($P762)
-  control_755:
+    $P755 = $P754."ast"()
+    $P756 = $P752."!make"($P755)
+    .return ($P756)
+  control_749:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P763, exception, "payload"
-    .return ($P763)
+    getattribute $P757, exception, "payload"
+    .return ($P757)
 .end
 
 
 .namespace ["NQP";"Actions"]
-.sub "term:sym<scope_declarator>"  :subid("52_1274800470.33966") :method :outer("11_1274800470.33966")
-    .param pmc param_767
-.annotate 'line', 289
-    new $P766, 'ExceptionHandler'
-    set_addr $P766, control_765
-    $P766."handle_types"(57)
-    push_eh $P766
-    .lex "self", self
-    .lex "$/", param_767
-    find_lex $P768, "$/"
-    find_lex $P769, "$/"
-    unless_null $P769, vivify_285
-    $P769 = root_new ['parrot';'Hash']
+.sub "term:sym<variable>"  :subid("51_1274853047.92727") :method :outer("11_1274853047.92727")
+    .param pmc param_761
+.annotate 'line', 296
+    new $P760, 'ExceptionHandler'
+    set_addr $P760, control_759
+    $P760."handle_types"(57)
+    push_eh $P760
+    .lex "self", self
+    .lex "$/", param_761
+    find_lex $P762, "$/"
+    find_lex $P763, "$/"
+    unless_null $P763, vivify_285
+    $P763 = root_new ['parrot';'Hash']
   vivify_285:
-    set $P770, $P769["scope_declarator"]
-    unless_null $P770, vivify_286
-    new $P770, "Undef"
+    set $P764, $P763["variable"]
+    unless_null $P764, vivify_286
+    new $P764, "Undef"
   vivify_286:
-    $P771 = $P770."ast"()
-    $P772 = $P768."!make"($P771)
-    .return ($P772)
-  control_765:
+    $P765 = $P764."ast"()
+    $P766 = $P762."!make"($P765)
+    .return ($P766)
+  control_759:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P773, exception, "payload"
-    .return ($P773)
+    getattribute $P767, exception, "payload"
+    .return ($P767)
 .end
 
 
 .namespace ["NQP";"Actions"]
-.sub "term:sym<routine_declarator>"  :subid("53_1274800470.33966") :method :outer("11_1274800470.33966")
-    .param pmc param_777
-.annotate 'line', 290
-    new $P776, 'ExceptionHandler'
-    set_addr $P776, control_775
-    $P776."handle_types"(57)
-    push_eh $P776
-    .lex "self", self
-    .lex "$/", param_777
-    find_lex $P778, "$/"
-    find_lex $P779, "$/"
-    unless_null $P779, vivify_287
-    $P779 = root_new ['parrot';'Hash']
+.sub "term:sym<package_declarator>"  :subid("52_1274853047.92727") :method :outer("11_1274853047.92727")
+    .param pmc param_771
+.annotate 'line', 297
+    new $P770, 'ExceptionHandler'
+    set_addr $P770, control_769
+    $P770."handle_types"(57)
+    push_eh $P770
+    .lex "self", self
+    .lex "$/", param_771
+    find_lex $P772, "$/"
+    find_lex $P773, "$/"
+    unless_null $P773, vivify_287
+    $P773 = root_new ['parrot';'Hash']
   vivify_287:
-    set $P780, $P779["routine_declarator"]
-    unless_null $P780, vivify_288
-    new $P780, "Undef"
+    set $P774, $P773["package_declarator"]
+    unless_null $P774, vivify_288
+    new $P774, "Undef"
   vivify_288:
-    $P781 = $P780."ast"()
-    $P782 = $P778."!make"($P781)
-    .return ($P782)
-  control_775:
+    $P775 = $P774."ast"()
+    $P776 = $P772."!make"($P775)
+    .return ($P776)
+  control_769:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P783, exception, "payload"
-    .return ($P783)
+    getattribute $P777, exception, "payload"
+    .return ($P777)
 .end
 
 
 .namespace ["NQP";"Actions"]
-.sub "term:sym<regex_declarator>"  :subid("54_1274800470.33966") :method :outer("11_1274800470.33966")
-    .param pmc param_787
-.annotate 'line', 291
-    new $P786, 'ExceptionHandler'
-    set_addr $P786, control_785
-    $P786."handle_types"(57)
-    push_eh $P786
-    .lex "self", self
-    .lex "$/", param_787
-    find_lex $P788, "$/"
-    find_lex $P789, "$/"
-    unless_null $P789, vivify_289
-    $P789 = root_new ['parrot';'Hash']
+.sub "term:sym<scope_declarator>"  :subid("53_1274853047.92727") :method :outer("11_1274853047.92727")
+    .param pmc param_781
+.annotate 'line', 298
+    new $P780, 'ExceptionHandler'
+    set_addr $P780, control_779
+    $P780."handle_types"(57)
+    push_eh $P780
+    .lex "self", self
+    .lex "$/", param_781
+    find_lex $P782, "$/"
+    find_lex $P783, "$/"
+    unless_null $P783, vivify_289
+    $P783 = root_new ['parrot';'Hash']
   vivify_289:
-    set $P790, $P789["regex_declarator"]
-    unless_null $P790, vivify_290
-    new $P790, "Undef"
+    set $P784, $P783["scope_declarator"]
+    unless_null $P784, vivify_290
+    new $P784, "Undef"
   vivify_290:
-    $P791 = $P790."ast"()
-    $P792 = $P788."!make"($P791)
-    .return ($P792)
-  control_785:
+    $P785 = $P784."ast"()
+    $P786 = $P782."!make"($P785)
+    .return ($P786)
+  control_779:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P793, exception, "payload"
-    .return ($P793)
+    getattribute $P787, exception, "payload"
+    .return ($P787)
 .end
 
 
 .namespace ["NQP";"Actions"]
-.sub "term:sym<statement_prefix>"  :subid("55_1274800470.33966") :method :outer("11_1274800470.33966")
-    .param pmc param_797
-.annotate 'line', 292
-    new $P796, 'ExceptionHandler'
-    set_addr $P796, control_795
-    $P796."handle_types"(57)
-    push_eh $P796
-    .lex "self", self
-    .lex "$/", param_797
-    find_lex $P798, "$/"
-    find_lex $P799, "$/"
-    unless_null $P799, vivify_291
-    $P799 = root_new ['parrot';'Hash']
+.sub "term:sym<routine_declarator>"  :subid("54_1274853047.92727") :method :outer("11_1274853047.92727")
+    .param pmc param_791
+.annotate 'line', 299
+    new $P790, 'ExceptionHandler'
+    set_addr $P790, control_789
+    $P790."handle_types"(57)
+    push_eh $P790
+    .lex "self", self
+    .lex "$/", param_791
+    find_lex $P792, "$/"
+    find_lex $P793, "$/"
+    unless_null $P793, vivify_291
+    $P793 = root_new ['parrot';'Hash']
   vivify_291:
-    set $P800, $P799["statement_prefix"]
-    unless_null $P800, vivify_292
-    new $P800, "Undef"
+    set $P794, $P793["routine_declarator"]
+    unless_null $P794, vivify_292
+    new $P794, "Undef"
   vivify_292:
-    $P801 = $P800."ast"()
-    $P802 = $P798."!make"($P801)
-    .return ($P802)
-  control_795:
+    $P795 = $P794."ast"()
+    $P796 = $P792."!make"($P795)
+    .return ($P796)
+  control_789:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P803, exception, "payload"
-    .return ($P803)
+    getattribute $P797, exception, "payload"
+    .return ($P797)
 .end
 
 
 .namespace ["NQP";"Actions"]
-.sub "term:sym<lambda>"  :subid("56_1274800470.33966") :method :outer("11_1274800470.33966")
-    .param pmc param_807
-.annotate 'line', 293
-    new $P806, 'ExceptionHandler'
-    set_addr $P806, control_805
-    $P806."handle_types"(57)
-    push_eh $P806
-    .lex "self", self
-    .lex "$/", param_807
-    find_lex $P808, "$/"
-    find_lex $P809, "$/"
-    unless_null $P809, vivify_293
-    $P809 = root_new ['parrot';'Hash']
+.sub "term:sym<regex_declarator>"  :subid("55_1274853047.92727") :method :outer("11_1274853047.92727")
+    .param pmc param_801
+.annotate 'line', 300
+    new $P800, 'ExceptionHandler'
+    set_addr $P800, control_799
+    $P800."handle_types"(57)
+    push_eh $P800
+    .lex "self", self
+    .lex "$/", param_801
+    find_lex $P802, "$/"
+    find_lex $P803, "$/"
+    unless_null $P803, vivify_293
+    $P803 = root_new ['parrot';'Hash']
   vivify_293:
-    set $P810, $P809["pblock"]
-    unless_null $P810, vivify_294
-    new $P810, "Undef"
+    set $P804, $P803["regex_declarator"]
+    unless_null $P804, vivify_294
+    new $P804, "Undef"
   vivify_294:
-    $P811 = $P810."ast"()
-    $P812 = $P808."!make"($P811)
-    .return ($P812)
-  control_805:
+    $P805 = $P804."ast"()
+    $P806 = $P802."!make"($P805)
+    .return ($P806)
+  control_799:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P813, exception, "payload"
-    .return ($P813)
+    getattribute $P807, exception, "payload"
+    .return ($P807)
 .end
 
 
 .namespace ["NQP";"Actions"]
-.sub "fatarrow"  :subid("57_1274800470.33966") :method :outer("11_1274800470.33966")
-    .param pmc param_817
-.annotate 'line', 295
-    new $P816, 'ExceptionHandler'
-    set_addr $P816, control_815
-    $P816."handle_types"(57)
-    push_eh $P816
-    .lex "self", self
-    .lex "$/", param_817
-.annotate 'line', 296
-    new $P818, "Undef"
-    .lex "$past", $P818
-    find_lex $P819, "$/"
-    unless_null $P819, vivify_295
-    $P819 = root_new ['parrot';'Hash']
+.sub "term:sym<statement_prefix>"  :subid("56_1274853047.92727") :method :outer("11_1274853047.92727")
+    .param pmc param_811
+.annotate 'line', 301
+    new $P810, 'ExceptionHandler'
+    set_addr $P810, control_809
+    $P810."handle_types"(57)
+    push_eh $P810
+    .lex "self", self
+    .lex "$/", param_811
+    find_lex $P812, "$/"
+    find_lex $P813, "$/"
+    unless_null $P813, vivify_295
+    $P813 = root_new ['parrot';'Hash']
   vivify_295:
-    set $P820, $P819["val"]
-    unless_null $P820, vivify_296
-    new $P820, "Undef"
+    set $P814, $P813["statement_prefix"]
+    unless_null $P814, vivify_296
+    new $P814, "Undef"
   vivify_296:
-    $P821 = $P820."ast"()
-    store_lex "$past", $P821
-.annotate 'line', 297
-    find_lex $P822, "$past"
+    $P815 = $P814."ast"()
+    $P816 = $P812."!make"($P815)
+    .return ($P816)
+  control_809:
+    .local pmc exception 
+    .get_results (exception) 
+    getattribute $P817, exception, "payload"
+    .return ($P817)
+.end
+
+
+.namespace ["NQP";"Actions"]
+.sub "term:sym<lambda>"  :subid("57_1274853047.92727") :method :outer("11_1274853047.92727")
+    .param pmc param_821
+.annotate 'line', 302
+    new $P820, 'ExceptionHandler'
+    set_addr $P820, control_819
+    $P820."handle_types"(57)
+    push_eh $P820
+    .lex "self", self
+    .lex "$/", param_821
+    find_lex $P822, "$/"
     find_lex $P823, "$/"
     unless_null $P823, vivify_297
     $P823 = root_new ['parrot';'Hash']
   vivify_297:
-    set $P824, $P823["key"]
+    set $P824, $P823["pblock"]
     unless_null $P824, vivify_298
     new $P824, "Undef"
   vivify_298:
-    $P825 = $P824."Str"()
-    $P822."named"($P825)
-.annotate 'line', 298
-    find_lex $P826, "$/"
-    find_lex $P827, "$past"
-    $P828 = $P826."!make"($P827)
-.annotate 'line', 295
-    .return ($P828)
-  control_815:
+    $P825 = $P824."ast"()
+    $P826 = $P822."!make"($P825)
+    .return ($P826)
+  control_819:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P829, exception, "payload"
-    .return ($P829)
+    getattribute $P827, exception, "payload"
+    .return ($P827)
 .end
 
 
 .namespace ["NQP";"Actions"]
-.sub "colonpair"  :subid("58_1274800470.33966") :method :outer("11_1274800470.33966")
-    .param pmc param_833
-.annotate 'line', 301
-    new $P832, 'ExceptionHandler'
-    set_addr $P832, control_831
-    $P832."handle_types"(57)
-    push_eh $P832
+.sub "fatarrow"  :subid("58_1274853047.92727") :method :outer("11_1274853047.92727")
+    .param pmc param_831
+.annotate 'line', 304
+    new $P830, 'ExceptionHandler'
+    set_addr $P830, control_829
+    $P830."handle_types"(57)
+    push_eh $P830
     .lex "self", self
-    .lex "$/", param_833
-.annotate 'line', 302
+    .lex "$/", param_831
+.annotate 'line', 305
+    new $P832, "Undef"
+    .lex "$past", $P832
+    find_lex $P833, "$/"
+    unless_null $P833, vivify_299
+    $P833 = root_new ['parrot';'Hash']
+  vivify_299:
+    set $P834, $P833["val"]
+    unless_null $P834, vivify_300
     new $P834, "Undef"
-    .lex "$past", $P834
-.annotate 'line', 303
+  vivify_300:
+    $P835 = $P834."ast"()
+    store_lex "$past", $P835
+.annotate 'line', 306
+    find_lex $P836, "$past"
     find_lex $P837, "$/"
-    unless_null $P837, vivify_299
+    unless_null $P837, vivify_301
     $P837 = root_new ['parrot';'Hash']
-  vivify_299:
-    set $P838, $P837["circumfix"]
-    unless_null $P838, vivify_300
-    new $P838, "Undef"
-  vivify_300:
-    if $P838, if_836
-.annotate 'line', 304
-    get_hll_global $P843, ["PAST"], "Val"
-    find_lex $P844, "$/"
-    unless_null $P844, vivify_301
-    $P844 = root_new ['parrot';'Hash']
   vivify_301:
-    set $P845, $P844["not"]
-    unless_null $P845, vivify_302
-    new $P845, "Undef"
+    set $P838, $P837["key"]
+    unless_null $P838, vivify_302
+    new $P838, "Undef"
   vivify_302:
-    isfalse $I846, $P845
-    $P847 = $P843."new"($I846 :named("value"))
-    set $P835, $P847
-.annotate 'line', 303
-    goto if_836_end
-  if_836:
-    find_lex $P839, "$/"
-    unless_null $P839, vivify_303
-    $P839 = root_new ['parrot';'Hash']
-  vivify_303:
-    set $P840, $P839["circumfix"]
-    unless_null $P840, vivify_304
-    $P840 = root_new ['parrot';'ResizablePMCArray']
-  vivify_304:
-    set $P841, $P840[0]
-    unless_null $P841, vivify_305
-    new $P841, "Undef"
-  vivify_305:
-    $P842 = $P841."ast"()
-    set $P835, $P842
-  if_836_end:
-    store_lex "$past", $P835
-.annotate 'line', 305
-    find_lex $P848, "$past"
-    find_lex $P849, "$/"
-    unless_null $P849, vivify_306
-    $P849 = root_new ['parrot';'Hash']
-  vivify_306:
-    set $P850, $P849["identifier"]
-    unless_null $P850, vivify_307
-    new $P850, "Undef"
-  vivify_307:
-    set $S851, $P850
-    $P848."named"($S851)
-.annotate 'line', 306
-    find_lex $P852, "$/"
-    find_lex $P853, "$past"
-    $P854 = $P852."!make"($P853)
-.annotate 'line', 301
-    .return ($P854)
-  control_831:
+    $P839 = $P838."Str"()
+    $P836."named"($P839)
+.annotate 'line', 307
+    find_lex $P840, "$/"
+    find_lex $P841, "$past"
+    $P842 = $P840."!make"($P841)
+.annotate 'line', 304
+    .return ($P842)
+  control_829:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P855, exception, "payload"
-    .return ($P855)
+    getattribute $P843, exception, "payload"
+    .return ($P843)
 .end
 
 
 .namespace ["NQP";"Actions"]
-.sub "variable"  :subid("59_1274800470.33966") :method :outer("11_1274800470.33966")
-    .param pmc param_859
-.annotate 'line', 309
-    .const 'Sub' $P872 = "60_1274800470.33966" 
-    capture_lex $P872
-    new $P858, 'ExceptionHandler'
-    set_addr $P858, control_857
-    $P858."handle_types"(57)
-    push_eh $P858
-    .lex "self", self
-    .lex "$/", param_859
+.sub "colonpair"  :subid("59_1274853047.92727") :method :outer("11_1274853047.92727")
+    .param pmc param_847
 .annotate 'line', 310
-    new $P860, "Undef"
-    .lex "$past", $P860
-.annotate 'line', 309
-    find_lex $P861, "$past"
+    new $P846, 'ExceptionHandler'
+    set_addr $P846, control_845
+    $P846."handle_types"(57)
+    push_eh $P846
+    .lex "self", self
+    .lex "$/", param_847
 .annotate 'line', 311
+    new $P848, "Undef"
+    .lex "$past", $P848
+.annotate 'line', 312
+    find_lex $P851, "$/"
+    unless_null $P851, vivify_303
+    $P851 = root_new ['parrot';'Hash']
+  vivify_303:
+    set $P852, $P851["circumfix"]
+    unless_null $P852, vivify_304
+    new $P852, "Undef"
+  vivify_304:
+    if $P852, if_850
+.annotate 'line', 313
+    get_hll_global $P857, ["PAST"], "Val"
+    find_lex $P858, "$/"
+    unless_null $P858, vivify_305
+    $P858 = root_new ['parrot';'Hash']
+  vivify_305:
+    set $P859, $P858["not"]
+    unless_null $P859, vivify_306
+    new $P859, "Undef"
+  vivify_306:
+    isfalse $I860, $P859
+    $P861 = $P857."new"($I860 :named("value"))
+    set $P849, $P861
+.annotate 'line', 312
+    goto if_850_end
+  if_850:
+    find_lex $P853, "$/"
+    unless_null $P853, vivify_307
+    $P853 = root_new ['parrot';'Hash']
+  vivify_307:
+    set $P854, $P853["circumfix"]
+    unless_null $P854, vivify_308
+    $P854 = root_new ['parrot';'ResizablePMCArray']
+  vivify_308:
+    set $P855, $P854[0]
+    unless_null $P855, vivify_309
+    new $P855, "Undef"
+  vivify_309:
+    $P856 = $P855."ast"()
+    set $P849, $P856
+  if_850_end:
+    store_lex "$past", $P849
+.annotate 'line', 314
+    find_lex $P862, "$past"
     find_lex $P863, "$/"
-    unless_null $P863, vivify_308
+    unless_null $P863, vivify_310
     $P863 = root_new ['parrot';'Hash']
-  vivify_308:
-    set $P864, $P863["postcircumfix"]
-    unless_null $P864, vivify_309
+  vivify_310:
+    set $P864, $P863["identifier"]
+    unless_null $P864, vivify_311
     new $P864, "Undef"
-  vivify_309:
-    if $P864, if_862
+  vivify_311:
+    set $S865, $P864
+    $P862."named"($S865)
 .annotate 'line', 315
-    .const 'Sub' $P872 = "60_1274800470.33966" 
-    capture_lex $P872
-    $P872()
-    goto if_862_end
-  if_862:
-.annotate 'line', 312
-    find_lex $P865, "$/"
-    unless_null $P865, vivify_326
-    $P865 = root_new ['parrot';'Hash']
-  vivify_326:
-    set $P866, $P865["postcircumfix"]
-    unless_null $P866, vivify_327
-    new $P866, "Undef"
-  vivify_327:
-    $P867 = $P866."ast"()
-    store_lex "$past", $P867
-.annotate 'line', 313
-    find_lex $P868, "$past"
-    get_hll_global $P869, ["PAST"], "Var"
-    $P870 = $P869."new"("$/" :named("name"))
-    $P868."unshift"($P870)
-  if_862_end:
-.annotate 'line', 344
-    find_lex $P941, "$/"
-    find_lex $P942, "$past"
-    $P943 = $P941."!make"($P942)
-.annotate 'line', 309
-    .return ($P943)
-  control_857:
+    find_lex $P866, "$/"
+    find_lex $P867, "$past"
+    $P868 = $P866."!make"($P867)
+.annotate 'line', 310
+    .return ($P868)
+  control_845:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P944, exception, "payload"
-    .return ($P944)
+    getattribute $P869, exception, "payload"
+    .return ($P869)
 .end
 
 
 .namespace ["NQP";"Actions"]
-.sub "_block871"  :anon :subid("60_1274800470.33966") :outer("59_1274800470.33966")
-.annotate 'line', 316
-    $P873 = root_new ['parrot';'ResizablePMCArray']
-    .lex "@name", $P873
-    get_hll_global $P874, ["NQP"], "Compiler"
-    find_lex $P875, "$/"
-    set $S876, $P875
-    $P877 = $P874."parse_name"($S876)
-    store_lex "@name", $P877
-.annotate 'line', 317
-    get_hll_global $P878, ["PAST"], "Var"
-    find_lex $P879, "@name"
-    $P880 = $P879."pop"()
-    set $S881, $P880
-    $P882 = $P878."new"($S881 :named("name"))
-    store_lex "$past", $P882
+.sub "variable"  :subid("60_1274853047.92727") :method :outer("11_1274853047.92727")
+    .param pmc param_873
 .annotate 'line', 318
-    find_lex $P884, "@name"
-    unless $P884, if_883_end
+    .const 'Sub' $P886 = "61_1274853047.92727" 
+    capture_lex $P886
+    new $P872, 'ExceptionHandler'
+    set_addr $P872, control_871
+    $P872."handle_types"(57)
+    push_eh $P872
+    .lex "self", self
+    .lex "$/", param_873
 .annotate 'line', 319
-    find_lex $P886, "@name"
-    unless_null $P886, vivify_310
-    $P886 = root_new ['parrot';'ResizablePMCArray']
-  vivify_310:
-    set $P887, $P886[0]
-    unless_null $P887, vivify_311
-    new $P887, "Undef"
-  vivify_311:
-    set $S888, $P887
-    iseq $I889, $S888, "GLOBAL"
-    unless $I889, if_885_end
-    find_lex $P890, "@name"
-    $P890."shift"()
-  if_885_end:
+    new $P874, "Undef"
+    .lex "$past", $P874
+.annotate 'line', 318
+    find_lex $P875, "$past"
 .annotate 'line', 320
-    find_lex $P891, "$past"
-    find_lex $P892, "@name"
-    $P891."namespace"($P892)
-.annotate 'line', 321
-    find_lex $P893, "$past"
-    $P893."scope"("package")
-.annotate 'line', 322
-    find_lex $P894, "$past"
-    find_lex $P895, "$/"
-    unless_null $P895, vivify_312
-    $P895 = root_new ['parrot';'Hash']
+    find_lex $P877, "$/"
+    unless_null $P877, vivify_312
+    $P877 = root_new ['parrot';'Hash']
   vivify_312:
-    set $P896, $P895["sigil"]
-    unless_null $P896, vivify_313
-    new $P896, "Undef"
+    set $P878, $P877["postcircumfix"]
+    unless_null $P878, vivify_313
+    new $P878, "Undef"
   vivify_313:
-    $P897 = "vivitype"($P896)
-    $P894."viviself"($P897)
-.annotate 'line', 323
-    find_lex $P898, "$past"
-    $P898."lvalue"(1)
-  if_883_end:
+    if $P878, if_876
+.annotate 'line', 324
+    .const 'Sub' $P886 = "61_1274853047.92727" 
+    capture_lex $P886
+    $P886()
+    goto if_876_end
+  if_876:
+.annotate 'line', 321
+    find_lex $P879, "$/"
+    unless_null $P879, vivify_330
+    $P879 = root_new ['parrot';'Hash']
+  vivify_330:
+    set $P880, $P879["postcircumfix"]
+    unless_null $P880, vivify_331
+    new $P880, "Undef"
+  vivify_331:
+    $P881 = $P880."ast"()
+    store_lex "$past", $P881
+.annotate 'line', 322
+    find_lex $P882, "$past"
+    get_hll_global $P883, ["PAST"], "Var"
+    $P884 = $P883."new"("$/" :named("name"))
+    $P882."unshift"($P884)
+  if_876_end:
+.annotate 'line', 353
+    find_lex $P955, "$/"
+    find_lex $P956, "$past"
+    $P957 = $P955."!make"($P956)
+.annotate 'line', 318
+    .return ($P957)
+  control_871:
+    .local pmc exception 
+    .get_results (exception) 
+    getattribute $P958, exception, "payload"
+    .return ($P958)
+.end
+
+
+.namespace ["NQP";"Actions"]
+.sub "_block885"  :anon :subid("61_1274853047.92727") :outer("60_1274853047.92727")
 .annotate 'line', 325
-    find_lex $P901, "$/"
-    unless_null $P901, vivify_314
-    $P901 = root_new ['parrot';'Hash']
+    $P887 = root_new ['parrot';'ResizablePMCArray']
+    .lex "@name", $P887
+    get_hll_global $P888, ["NQP"], "Compiler"
+    find_lex $P889, "$/"
+    set $S890, $P889
+    $P891 = $P888."parse_name"($S890)
+    store_lex "@name", $P891
+.annotate 'line', 326
+    get_hll_global $P892, ["PAST"], "Var"
+    find_lex $P893, "@name"
+    $P894 = $P893."pop"()
+    set $S895, $P894
+    $P896 = $P892."new"($S895 :named("name"))
+    store_lex "$past", $P896
+.annotate 'line', 327
+    find_lex $P898, "@name"
+    unless $P898, if_897_end
+.annotate 'line', 328
+    find_lex $P900, "@name"
+    unless_null $P900, vivify_314
+    $P900 = root_new ['parrot';'ResizablePMCArray']
   vivify_314:
-    set $P902, $P901["twigil"]
-    unless_null $P902, vivify_315
-    $P902 = root_new ['parrot';'ResizablePMCArray']
+    set $P901, $P900[0]
+    unless_null $P901, vivify_315
+    new $P901, "Undef"
   vivify_315:
-    set $P903, $P902[0]
-    unless_null $P903, vivify_316
-    new $P903, "Undef"
+    set $S902, $P901
+    iseq $I903, $S902, "GLOBAL"
+    unless $I903, if_899_end
+    find_lex $P904, "@name"
+    $P904."shift"()
+  if_899_end:
+.annotate 'line', 329
+    find_lex $P905, "$past"
+    find_lex $P906, "@name"
+    $P905."namespace"($P906)
+.annotate 'line', 330
+    find_lex $P907, "$past"
+    $P907."scope"("package")
+.annotate 'line', 331
+    find_lex $P908, "$past"
+    find_lex $P909, "$/"
+    unless_null $P909, vivify_316
+    $P909 = root_new ['parrot';'Hash']
   vivify_316:
-    set $S904, $P903
-    iseq $I905, $S904, "*"
-    if $I905, if_900
-.annotate 'line', 338
-    find_lex $P927, "$/"
-    unless_null $P927, vivify_317
-    $P927 = root_new ['parrot';'Hash']
+    set $P910, $P909["sigil"]
+    unless_null $P910, vivify_317
+    new $P910, "Undef"
   vivify_317:
-    set $P928, $P927["twigil"]
-    unless_null $P928, vivify_318
-    $P928 = root_new ['parrot';'ResizablePMCArray']
+    $P911 = "vivitype"($P910)
+    $P908."viviself"($P911)
+.annotate 'line', 332
+    find_lex $P912, "$past"
+    $P912."lvalue"(1)
+  if_897_end:
+.annotate 'line', 334
+    find_lex $P915, "$/"
+    unless_null $P915, vivify_318
+    $P915 = root_new ['parrot';'Hash']
   vivify_318:
-    set $P929, $P928[0]
-    unless_null $P929, vivify_319
-    new $P929, "Undef"
+    set $P916, $P915["twigil"]
+    unless_null $P916, vivify_319
+    $P916 = root_new ['parrot';'ResizablePMCArray']
   vivify_319:
-    set $S930, $P929
-    iseq $I931, $S930, "!"
-    if $I931, if_926
-    new $P925, 'Integer'
-    set $P925, $I931
-    goto if_926_end
-  if_926:
-.annotate 'line', 339
-    find_lex $P932, "$past"
-    get_hll_global $P933, ["PAST"], "Var"
-    $P934 = $P933."new"("self" :named("name"))
-    $P932."push"($P934)
-.annotate 'line', 340
-    find_lex $P935, "$past"
-    $P935."scope"("attribute")
-.annotate 'line', 341
-    find_lex $P936, "$past"
-    find_lex $P937, "$/"
-    unless_null $P937, vivify_320
-    $P937 = root_new ['parrot';'Hash']
+    set $P917, $P916[0]
+    unless_null $P917, vivify_320
+    new $P917, "Undef"
   vivify_320:
-    set $P938, $P937["sigil"]
-    unless_null $P938, vivify_321
-    new $P938, "Undef"
+    set $S918, $P917
+    iseq $I919, $S918, "*"
+    if $I919, if_914
+.annotate 'line', 347
+    find_lex $P941, "$/"
+    unless_null $P941, vivify_321
+    $P941 = root_new ['parrot';'Hash']
   vivify_321:
-    $P939 = "vivitype"($P938)
-    $P940 = $P936."viviself"($P939)
-.annotate 'line', 338
-    set $P925, $P940
-  if_926_end:
-    set $P899, $P925
-.annotate 'line', 325
-    goto if_900_end
-  if_900:
-.annotate 'line', 326
-    find_lex $P906, "$past"
-    $P906."scope"("contextual")
-.annotate 'line', 327
-    find_lex $P907, "$past"
-.annotate 'line', 328
-    get_hll_global $P908, ["PAST"], "Var"
-.annotate 'line', 330
-    find_lex $P909, "$/"
-    unless_null $P909, vivify_322
-    $P909 = root_new ['parrot';'Hash']
+    set $P942, $P941["twigil"]
+    unless_null $P942, vivify_322
+    $P942 = root_new ['parrot';'ResizablePMCArray']
   vivify_322:
-    set $P910, $P909["sigil"]
-    unless_null $P910, vivify_323
-    new $P910, "Undef"
+    set $P943, $P942[0]
+    unless_null $P943, vivify_323
+    new $P943, "Undef"
   vivify_323:
-    set $S911, $P910
-    new $P912, 'String'
-    set $P912, $S911
-    find_lex $P913, "$/"
-    unless_null $P913, vivify_324
-    $P913 = root_new ['parrot';'Hash']
+    set $S944, $P943
+    iseq $I945, $S944, "!"
+    if $I945, if_940
+    new $P939, 'Integer'
+    set $P939, $I945
+    goto if_940_end
+  if_940:
+.annotate 'line', 348
+    find_lex $P946, "$past"
+    get_hll_global $P947, ["PAST"], "Var"
+    $P948 = $P947."new"("self" :named("name"))
+    $P946."push"($P948)
+.annotate 'line', 349
+    find_lex $P949, "$past"
+    $P949."scope"("attribute")
+.annotate 'line', 350
+    find_lex $P950, "$past"
+    find_lex $P951, "$/"
+    unless_null $P951, vivify_324
+    $P951 = root_new ['parrot';'Hash']
   vivify_324:
-    set $P914, $P913["desigilname"]
-    unless_null $P914, vivify_325
-    new $P914, "Undef"
+    set $P952, $P951["sigil"]
+    unless_null $P952, vivify_325
+    new $P952, "Undef"
   vivify_325:
-    concat $P915, $P912, $P914
-.annotate 'line', 332
-    get_hll_global $P916, ["PAST"], "Op"
-    new $P917, "String"
-    assign $P917, "Contextual "
-    find_lex $P918, "$/"
-    set $S919, $P918
-    concat $P920, $P917, $S919
-    concat $P921, $P920, " not found"
-    $P922 = $P916."new"($P921, "die" :named("pirop"))
-    $P923 = $P908."new"("package" :named("scope"), "" :named("namespace"), $P915 :named("name"), $P922 :named("viviself"))
-.annotate 'line', 328
-    $P924 = $P907."viviself"($P923)
-.annotate 'line', 325
-    set $P899, $P924
-  if_900_end:
-.annotate 'line', 315
-    .return ($P899)
+    $P953 = "vivitype"($P952)
+    $P954 = $P950."viviself"($P953)
+.annotate 'line', 347
+    set $P939, $P954
+  if_940_end:
+    set $P913, $P939
+.annotate 'line', 334
+    goto if_914_end
+  if_914:
+.annotate 'line', 335
+    find_lex $P920, "$past"
+    $P920."scope"("contextual")
+.annotate 'line', 336
+    find_lex $P921, "$past"
+.annotate 'line', 337
+    get_hll_global $P922, ["PAST"], "Var"
+.annotate 'line', 339
+    find_lex $P923, "$/"
+    unless_null $P923, vivify_326
+    $P923 = root_new ['parrot';'Hash']
+  vivify_326:
+    set $P924, $P923["sigil"]
+    unless_null $P924, vivify_327
+    new $P924, "Undef"
+  vivify_327:
+    set $S925, $P924
+    new $P926, 'String'
+    set $P926, $S925
+    find_lex $P927, "$/"
+    unless_null $P927, vivify_328
+    $P927 = root_new ['parrot';'Hash']
+  vivify_328:
+    set $P928, $P927["desigilname"]
+    unless_null $P928, vivify_329
+    new $P928, "Undef"
+  vivify_329:
+    concat $P929, $P926, $P928
+.annotate 'line', 341
+    get_hll_global $P930, ["PAST"], "Op"
+    new $P931, "String"
+    assign $P931, "Contextual "
+    find_lex $P932, "$/"
+    set $S933, $P932
+    concat $P934, $P931, $S933
+    concat $P935, $P934, " not found"
+    $P936 = $P930."new"($P935, "die" :named("pirop"))
+    $P937 = $P922."new"("package" :named("scope"), "" :named("namespace"), $P929 :named("name"), $P936 :named("viviself"))
+.annotate 'line', 337
+    $P938 = $P921."viviself"($P937)
+.annotate 'line', 334
+    set $P913, $P938
+  if_914_end:
+.annotate 'line', 324
+    .return ($P913)
 .end
 
 
 .namespace ["NQP";"Actions"]
-.sub "package_declarator:sym<module>"  :subid("61_1274800470.33966") :method :outer("11_1274800470.33966")
-    .param pmc param_948
-.annotate 'line', 347
-    new $P947, 'ExceptionHandler'
-    set_addr $P947, control_946
-    $P947."handle_types"(57)
-    push_eh $P947
-    .lex "self", self
-    .lex "$/", param_948
-    find_lex $P949, "$/"
-    find_lex $P950, "$/"
-    unless_null $P950, vivify_328
-    $P950 = root_new ['parrot';'Hash']
-  vivify_328:
-    set $P951, $P950["package_def"]
-    unless_null $P951, vivify_329
-    new $P951, "Undef"
-  vivify_329:
-    $P952 = $P951."ast"()
-    $P953 = $P949."!make"($P952)
-    .return ($P953)
-  control_946:
+.sub "package_declarator:sym<module>"  :subid("62_1274853047.92727") :method :outer("11_1274853047.92727")
+    .param pmc param_962
+.annotate 'line', 356
+    new $P961, 'ExceptionHandler'
+    set_addr $P961, control_960
+    $P961."handle_types"(57)
+    push_eh $P961
+    .lex "self", self
+    .lex "$/", param_962
+    find_lex $P963, "$/"
+    find_lex $P964, "$/"
+    unless_null $P964, vivify_332
+    $P964 = root_new ['parrot';'Hash']
+  vivify_332:
+    set $P965, $P964["package_def"]
+    unless_null $P965, vivify_333
+    new $P965, "Undef"
+  vivify_333:
+    $P966 = $P965."ast"()
+    $P967 = $P963."!make"($P966)
+    .return ($P967)
+  control_960:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P954, exception, "payload"
-    .return ($P954)
+    getattribute $P968, exception, "payload"
+    .return ($P968)
 .end
 
 
 .namespace ["NQP";"Actions"]
-.sub "package_declarator:sym<class>"  :subid("62_1274800470.33966") :method :outer("11_1274800470.33966")
-    .param pmc param_958
-.annotate 'line', 348
-    new $P957, 'ExceptionHandler'
-    set_addr $P957, control_956
-    $P957."handle_types"(57)
-    push_eh $P957
+.sub "package_declarator:sym<class>"  :subid("63_1274853047.92727") :method :outer("11_1274853047.92727")
+    .param pmc param_972
+.annotate 'line', 357
+    new $P971, 'ExceptionHandler'
+    set_addr $P971, control_970
+    $P971."handle_types"(57)
+    push_eh $P971
     .lex "self", self
-    .lex "$/", param_958
-.annotate 'line', 349
-    new $P959, "Undef"
-    .lex "$past", $P959
-.annotate 'line', 350
-    new $P960, "Undef"
-    .lex "$classinit", $P960
+    .lex "$/", param_972
+.annotate 'line', 358
+    new $P973, "Undef"
+    .lex "$past", $P973
 .annotate 'line', 359
-    new $P961, "Undef"
-    .lex "$parent", $P961
-.annotate 'line', 349
-    find_lex $P962, "$/"
-    unless_null $P962, vivify_330
-    $P962 = root_new ['parrot';'Hash']
-  vivify_330:
-    set $P963, $P962["package_def"]
-    unless_null $P963, vivify_331
-    new $P963, "Undef"
-  vivify_331:
-    $P964 = $P963."ast"()
-    store_lex "$past", $P964
-.annotate 'line', 351
-    get_hll_global $P965, ["PAST"], "Op"
-.annotate 'line', 352
-    get_hll_global $P966, ["PAST"], "Op"
-    $P967 = $P966."new"("    %r = get_root_global [\"parrot\"], \"P6metaclass\"" :named("inline"))
-.annotate 'line', 355
-    find_lex $P968, "$/"
-    unless_null $P968, vivify_332
-    $P968 = root_new ['parrot';'Hash']
-  vivify_332:
-    set $P969, $P968["package_def"]
-    unless_null $P969, vivify_333
-    $P969 = root_new ['parrot';'Hash']
-  vivify_333:
-    set $P970, $P969["name"]
-    unless_null $P970, vivify_334
-    new $P970, "Undef"
+    new $P974, "Undef"
+    .lex "$classinit", $P974
+.annotate 'line', 368
+    new $P975, "Undef"
+    .lex "$parent", $P975
+.annotate 'line', 358
+    find_lex $P976, "$/"
+    unless_null $P976, vivify_334
+    $P976 = root_new ['parrot';'Hash']
   vivify_334:
-    set $S971, $P970
-    $P972 = $P965."new"($P967, $S971, "new_class" :named("name"), "callmethod" :named("pasttype"))
-.annotate 'line', 351
-    store_lex "$classinit", $P972
-.annotate 'line', 359
-    find_lex $P975, "$/"
-    unless_null $P975, vivify_335
-    $P975 = root_new ['parrot';'Hash']
+    set $P977, $P976["package_def"]
+    unless_null $P977, vivify_335
+    new $P977, "Undef"
   vivify_335:
-    set $P976, $P975["package_def"]
-    unless_null $P976, vivify_336
-    $P976 = root_new ['parrot';'Hash']
+    $P978 = $P977."ast"()
+    store_lex "$past", $P978
+.annotate 'line', 360
+    get_hll_global $P979, ["PAST"], "Op"
+.annotate 'line', 361
+    get_hll_global $P980, ["PAST"], "Op"
+    $P981 = $P980."new"("    %r = get_root_global [\"parrot\"], \"P6metaclass\"" :named("inline"))
+.annotate 'line', 364
+    find_lex $P982, "$/"
+    unless_null $P982, vivify_336
+    $P982 = root_new ['parrot';'Hash']
   vivify_336:
-    set $P977, $P976["parent"]
-    unless_null $P977, vivify_337
-    $P977 = root_new ['parrot';'ResizablePMCArray']
+    set $P983, $P982["package_def"]
+    unless_null $P983, vivify_337
+    $P983 = root_new ['parrot';'Hash']
   vivify_337:
-    set $P978, $P977[0]
-    unless_null $P978, vivify_338
-    new $P978, "Undef"
+    set $P984, $P983["name"]
+    unless_null $P984, vivify_338
+    new $P984, "Undef"
   vivify_338:
-    set $S979, $P978
-    unless $S979, unless_974
-    new $P973, 'String'
-    set $P973, $S979
-    goto unless_974_end
-  unless_974:
+    set $S985, $P984
+    $P986 = $P979."new"($P981, $S985, "new_class" :named("name"), "callmethod" :named("pasttype"))
 .annotate 'line', 360
-    find_lex $P982, "$/"
-    unless_null $P982, vivify_339
-    $P982 = root_new ['parrot';'Hash']
+    store_lex "$classinit", $P986
+.annotate 'line', 368
+    find_lex $P989, "$/"
+    unless_null $P989, vivify_339
+    $P989 = root_new ['parrot';'Hash']
   vivify_339:
-    set $P983, $P982["sym"]
-    unless_null $P983, vivify_340
-    new $P983, "Undef"
+    set $P990, $P989["package_def"]
+    unless_null $P990, vivify_340
+    $P990 = root_new ['parrot';'Hash']
   vivify_340:
-    set $S984, $P983
-    iseq $I985, $S984, "grammar"
-    if $I985, if_981
-    new $P987, "String"
-    assign $P987, ""
-    set $P980, $P987
-    goto if_981_end
-  if_981:
-    new $P986, "String"
-    assign $P986, "Regex::Cursor"
-    set $P980, $P986
-  if_981_end:
-    set $P973, $P980
-  unless_974_end:
-    store_lex "$parent", $P973
-.annotate 'line', 361
-    find_lex $P989, "$parent"
-    unless $P989, if_988_end
-.annotate 'line', 362
-    find_lex $P990, "$classinit"
-    get_hll_global $P991, ["PAST"], "Val"
-    find_lex $P992, "$parent"
-    $P993 = $P991."new"($P992 :named("value"), "parent" :named("named"))
-    $P990."push"($P993)
-  if_988_end:
-.annotate 'line', 364
-    find_lex $P995, "$past"
-    unless_null $P995, vivify_341
-    $P995 = root_new ['parrot';'Hash']
+    set $P991, $P990["parent"]
+    unless_null $P991, vivify_341
+    $P991 = root_new ['parrot';'ResizablePMCArray']
   vivify_341:
-    set $P996, $P995["attributes"]
-    unless_null $P996, vivify_342
-    new $P996, "Undef"
+    set $P992, $P991[0]
+    unless_null $P992, vivify_342
+    new $P992, "Undef"
   vivify_342:
-    unless $P996, if_994_end
-.annotate 'line', 365
-    find_lex $P997, "$classinit"
-    find_lex $P998, "$past"
-    unless_null $P998, vivify_343
-    $P998 = root_new ['parrot';'Hash']
+    set $S993, $P992
+    unless $S993, unless_988
+    new $P987, 'String'
+    set $P987, $S993
+    goto unless_988_end
+  unless_988:
+.annotate 'line', 369
+    find_lex $P996, "$/"
+    unless_null $P996, vivify_343
+    $P996 = root_new ['parrot';'Hash']
   vivify_343:
-    set $P999, $P998["attributes"]
-    unless_null $P999, vivify_344
-    new $P999, "Undef"
+    set $P997, $P996["sym"]
+    unless_null $P997, vivify_344
+    new $P997, "Undef"
   vivify_344:
-    $P997."push"($P999)
-  if_994_end:
-.annotate 'line', 367
-    get_global $P1000, "@BLOCK"
-    unless_null $P1000, vivify_345
-    $P1000 = root_new ['parrot';'ResizablePMCArray']
+    set $S998, $P997
+    iseq $I999, $S998, "grammar"
+    if $I999, if_995
+    new $P1001, "String"
+    assign $P1001, ""
+    set $P994, $P1001
+    goto if_995_end
+  if_995:
+    new $P1000, "String"
+    assign $P1000, "Regex::Cursor"
+    set $P994, $P1000
+  if_995_end:
+    set $P987, $P994
+  unless_988_end:
+    store_lex "$parent", $P987
+.annotate 'line', 370
+    find_lex $P1003, "$parent"
+    unless $P1003, if_1002_end
+.annotate 'line', 371
+    find_lex $P1004, "$classinit"
+    get_hll_global $P1005, ["PAST"], "Val"
+    find_lex $P1006, "$parent"
+    $P1007 = $P1005."new"($P1006 :named("value"), "parent" :named("named"))
+    $P1004."push"($P1007)
+  if_1002_end:
+.annotate 'line', 373
+    find_lex $P1009, "$past"
+    unless_null $P1009, vivify_345
+    $P1009 = root_new ['parrot';'Hash']
   vivify_345:
-    set $P1001, $P1000[0]
-    unless_null $P1001, vivify_346
-    new $P1001, "Undef"
+    set $P1010, $P1009["attributes"]
+    unless_null $P1010, vivify_346
+    new $P1010, "Undef"
   vivify_346:
-    $P1002 = $P1001."loadinit"()
-    find_lex $P1003, "$classinit"
-    $P1002."push"($P1003)
-.annotate 'line', 368
-    find_lex $P1004, "$/"
-    find_lex $P1005, "$past"
-    $P1006 = $P1004."!make"($P1005)
-.annotate 'line', 348
-    .return ($P1006)
-  control_956:
-    .local pmc exception 
-    .get_results (exception) 
-    getattribute $P1007, exception, "payload"
-    .return ($P1007)
-.end
-
-
-.namespace ["NQP";"Actions"]
-.sub "package_def"  :subid("63_1274800470.33966") :method :outer("11_1274800470.33966")
-    .param pmc param_1011
-.annotate 'line', 371
-    new $P1010, 'ExceptionHandler'
-    set_addr $P1010, control_1009
-    $P1010."handle_types"(57)
-    push_eh $P1010
-    .lex "self", self
-    .lex "$/", param_1011
-.annotate 'line', 372
-    new $P1012, "Undef"
-    .lex "$past", $P1012
-    find_lex $P1015, "$/"
-    unless_null $P1015, vivify_347
-    $P1015 = root_new ['parrot';'Hash']
+    unless $P1010, if_1008_end
+.annotate 'line', 374
+    find_lex $P1011, "$classinit"
+    find_lex $P1012, "$past"
+    unless_null $P1012, vivify_347
+    $P1012 = root_new ['parrot';'Hash']
   vivify_347:
-    set $P1016, $P1015["block"]
-    unless_null $P1016, vivify_348
-    new $P1016, "Undef"
+    set $P1013, $P1012["attributes"]
+    unless_null $P1013, vivify_348
+    new $P1013, "Undef"
   vivify_348:
-    if $P1016, if_1014
-    find_lex $P1020, "$/"
-    unless_null $P1020, vivify_349
-    $P1020 = root_new ['parrot';'Hash']
+    $P1011."push"($P1013)
+  if_1008_end:
+.annotate 'line', 376
+    get_global $P1014, "@BLOCK"
+    unless_null $P1014, vivify_349
+    $P1014 = root_new ['parrot';'ResizablePMCArray']
   vivify_349:
-    set $P1021, $P1020["comp_unit"]
-    unless_null $P1021, vivify_350
-    new $P1021, "Undef"
+    set $P1015, $P1014[0]
+    unless_null $P1015, vivify_350
+    new $P1015, "Undef"
   vivify_350:
-    $P1022 = $P1021."ast"()
-    set $P1013, $P1022
-    goto if_1014_end
-  if_1014:
-    find_lex $P1017, "$/"
-    unless_null $P1017, vivify_351
-    $P1017 = root_new ['parrot';'Hash']
-  vivify_351:
-    set $P1018, $P1017["block"]
-    unless_null $P1018, vivify_352
-    new $P1018, "Undef"
-  vivify_352:
-    $P1019 = $P1018."ast"()
-    set $P1013, $P1019
-  if_1014_end:
-    store_lex "$past", $P1013
-.annotate 'line', 373
-    find_lex $P1023, "$past"
-    find_lex $P1024, "$/"
-    unless_null $P1024, vivify_353
-    $P1024 = root_new ['parrot';'Hash']
-  vivify_353:
-    set $P1025, $P1024["name"]
-    unless_null $P1025, vivify_354
-    $P1025 = root_new ['parrot';'Hash']
-  vivify_354:
-    set $P1026, $P1025["identifier"]
-    unless_null $P1026, vivify_355
-    new $P1026, "Undef"
-  vivify_355:
-    $P1023."namespace"($P1026)
-.annotate 'line', 374
-    find_lex $P1027, "$past"
-    $P1027."blocktype"("immediate")
-.annotate 'line', 375
-    find_lex $P1028, "$/"
-    find_lex $P1029, "$past"
-    $P1030 = $P1028."!make"($P1029)
-.annotate 'line', 371
-    .return ($P1030)
-  control_1009:
+    $P1016 = $P1015."loadinit"()
+    find_lex $P1017, "$classinit"
+    $P1016."push"($P1017)
+.annotate 'line', 377
+    find_lex $P1018, "$/"
+    find_lex $P1019, "$past"
+    $P1020 = $P1018."!make"($P1019)
+.annotate 'line', 357
+    .return ($P1020)
+  control_970:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P1031, exception, "payload"
-    .return ($P1031)
+    getattribute $P1021, exception, "payload"
+    .return ($P1021)
 .end
 
 
 .namespace ["NQP";"Actions"]
-.sub "scope_declarator:sym<my>"  :subid("64_1274800470.33966") :method :outer("11_1274800470.33966")
-    .param pmc param_1035
-.annotate 'line', 378
-    new $P1034, 'ExceptionHandler'
-    set_addr $P1034, control_1033
-    $P1034."handle_types"(57)
-    push_eh $P1034
+.sub "package_def"  :subid("64_1274853047.92727") :method :outer("11_1274853047.92727")
+    .param pmc param_1025
+.annotate 'line', 380
+    new $P1024, 'ExceptionHandler'
+    set_addr $P1024, control_1023
+    $P1024."handle_types"(57)
+    push_eh $P1024
     .lex "self", self
-    .lex "$/", param_1035
-    find_lex $P1036, "$/"
-    find_lex $P1037, "$/"
-    unless_null $P1037, vivify_356
-    $P1037 = root_new ['parrot';'Hash']
+    .lex "$/", param_1025
+.annotate 'line', 381
+    new $P1026, "Undef"
+    .lex "$past", $P1026
+    find_lex $P1029, "$/"
+    unless_null $P1029, vivify_351
+    $P1029 = root_new ['parrot';'Hash']
+  vivify_351:
+    set $P1030, $P1029["block"]
+    unless_null $P1030, vivify_352
+    new $P1030, "Undef"
+  vivify_352:
+    if $P1030, if_1028
+    find_lex $P1034, "$/"
+    unless_null $P1034, vivify_353
+    $P1034 = root_new ['parrot';'Hash']
+  vivify_353:
+    set $P1035, $P1034["comp_unit"]
+    unless_null $P1035, vivify_354
+    new $P1035, "Undef"
+  vivify_354:
+    $P1036 = $P1035."ast"()
+    set $P1027, $P1036
+    goto if_1028_end
+  if_1028:
+    find_lex $P1031, "$/"
+    unless_null $P1031, vivify_355
+    $P1031 = root_new ['parrot';'Hash']
+  vivify_355:
+    set $P1032, $P1031["block"]
+    unless_null $P1032, vivify_356
+    new $P1032, "Undef"
   vivify_356:
-    set $P1038, $P1037["scoped"]
+    $P1033 = $P1032."ast"()
+    set $P1027, $P1033
+  if_1028_end:
+    store_lex "$past", $P1027
+.annotate 'line', 382
+    find_lex $P1037, "$past"
+    find_lex $P1038, "$/"
     unless_null $P1038, vivify_357
-    new $P1038, "Undef"
+    $P1038 = root_new ['parrot';'Hash']
   vivify_357:
-    $P1039 = $P1038."ast"()
-    $P1040 = $P1036."!make"($P1039)
-    .return ($P1040)
-  control_1033:
+    set $P1039, $P1038["name"]
+    unless_null $P1039, vivify_358
+    $P1039 = root_new ['parrot';'Hash']
+  vivify_358:
+    set $P1040, $P1039["identifier"]
+    unless_null $P1040, vivify_359
+    new $P1040, "Undef"
+  vivify_359:
+    $P1037."namespace"($P1040)
+.annotate 'line', 383
+    find_lex $P1041, "$past"
+    $P1041."blocktype"("immediate")
+.annotate 'line', 384
+    find_lex $P1042, "$/"
+    find_lex $P1043, "$past"
+    $P1044 = $P1042."!make"($P1043)
+.annotate 'line', 380
+    .return ($P1044)
+  control_1023:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P1041, exception, "payload"
-    .return ($P1041)
+    getattribute $P1045, exception, "payload"
+    .return ($P1045)
 .end
 
 
 .namespace ["NQP";"Actions"]
-.sub "scope_declarator:sym<our>"  :subid("65_1274800470.33966") :method :outer("11_1274800470.33966")
-    .param pmc param_1045
-.annotate 'line', 379
-    new $P1044, 'ExceptionHandler'
-    set_addr $P1044, control_1043
-    $P1044."handle_types"(57)
-    push_eh $P1044
-    .lex "self", self
-    .lex "$/", param_1045
-    find_lex $P1046, "$/"
-    find_lex $P1047, "$/"
-    unless_null $P1047, vivify_358
-    $P1047 = root_new ['parrot';'Hash']
-  vivify_358:
-    set $P1048, $P1047["scoped"]
-    unless_null $P1048, vivify_359
-    new $P1048, "Undef"
-  vivify_359:
-    $P1049 = $P1048."ast"()
-    $P1050 = $P1046."!make"($P1049)
-    .return ($P1050)
-  control_1043:
+.sub "scope_declarator:sym<my>"  :subid("65_1274853047.92727") :method :outer("11_1274853047.92727")
+    .param pmc param_1049
+.annotate 'line', 387
+    new $P1048, 'ExceptionHandler'
+    set_addr $P1048, control_1047
+    $P1048."handle_types"(57)
+    push_eh $P1048
+    .lex "self", self
+    .lex "$/", param_1049
+    find_lex $P1050, "$/"
+    find_lex $P1051, "$/"
+    unless_null $P1051, vivify_360
+    $P1051 = root_new ['parrot';'Hash']
+  vivify_360:
+    set $P1052, $P1051["scoped"]
+    unless_null $P1052, vivify_361
+    new $P1052, "Undef"
+  vivify_361:
+    $P1053 = $P1052."ast"()
+    $P1054 = $P1050."!make"($P1053)
+    .return ($P1054)
+  control_1047:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P1051, exception, "payload"
-    .return ($P1051)
+    getattribute $P1055, exception, "payload"
+    .return ($P1055)
 .end
 
 
 .namespace ["NQP";"Actions"]
-.sub "scope_declarator:sym<has>"  :subid("66_1274800470.33966") :method :outer("11_1274800470.33966")
-    .param pmc param_1055
-.annotate 'line', 380
-    new $P1054, 'ExceptionHandler'
-    set_addr $P1054, control_1053
-    $P1054."handle_types"(57)
-    push_eh $P1054
-    .lex "self", self
-    .lex "$/", param_1055
-    find_lex $P1056, "$/"
-    find_lex $P1057, "$/"
-    unless_null $P1057, vivify_360
-    $P1057 = root_new ['parrot';'Hash']
-  vivify_360:
-    set $P1058, $P1057["scoped"]
-    unless_null $P1058, vivify_361
-    new $P1058, "Undef"
-  vivify_361:
-    $P1059 = $P1058."ast"()
-    $P1060 = $P1056."!make"($P1059)
-    .return ($P1060)
-  control_1053:
+.sub "scope_declarator:sym<our>"  :subid("66_1274853047.92727") :method :outer("11_1274853047.92727")
+    .param pmc param_1059
+.annotate 'line', 388
+    new $P1058, 'ExceptionHandler'
+    set_addr $P1058, control_1057
+    $P1058."handle_types"(57)
+    push_eh $P1058
+    .lex "self", self
+    .lex "$/", param_1059
+    find_lex $P1060, "$/"
+    find_lex $P1061, "$/"
+    unless_null $P1061, vivify_362
+    $P1061 = root_new ['parrot';'Hash']
+  vivify_362:
+    set $P1062, $P1061["scoped"]
+    unless_null $P1062, vivify_363
+    new $P1062, "Undef"
+  vivify_363:
+    $P1063 = $P1062."ast"()
+    $P1064 = $P1060."!make"($P1063)
+    .return ($P1064)
+  control_1057:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P1061, exception, "payload"
-    .return ($P1061)
+    getattribute $P1065, exception, "payload"
+    .return ($P1065)
 .end
 
 
 .namespace ["NQP";"Actions"]
-.sub "scoped"  :subid("67_1274800470.33966") :method :outer("11_1274800470.33966")
-    .param pmc param_1065
-.annotate 'line', 382
-    new $P1064, 'ExceptionHandler'
-    set_addr $P1064, control_1063
-    $P1064."handle_types"(57)
-    push_eh $P1064
-    .lex "self", self
-    .lex "$/", param_1065
-.annotate 'line', 383
-    find_lex $P1066, "$/"
-    find_lex $P1067, "$/"
-    unless_null $P1067, vivify_362
-    $P1067 = root_new ['parrot';'Hash']
-  vivify_362:
-    set $P1068, $P1067["declarator"]
-    unless_null $P1068, vivify_363
-    new $P1068, "Undef"
-  vivify_363:
-    $P1069 = $P1068."ast"()
-    $P1070 = $P1066."!make"($P1069)
-.annotate 'line', 382
-    .return ($P1070)
-  control_1063:
+.sub "scope_declarator:sym<has>"  :subid("67_1274853047.92727") :method :outer("11_1274853047.92727")
+    .param pmc param_1069
+.annotate 'line', 389
+    new $P1068, 'ExceptionHandler'
+    set_addr $P1068, control_1067
+    $P1068."handle_types"(57)
+    push_eh $P1068
+    .lex "self", self
+    .lex "$/", param_1069
+    find_lex $P1070, "$/"
+    find_lex $P1071, "$/"
+    unless_null $P1071, vivify_364
+    $P1071 = root_new ['parrot';'Hash']
+  vivify_364:
+    set $P1072, $P1071["scoped"]
+    unless_null $P1072, vivify_365
+    new $P1072, "Undef"
+  vivify_365:
+    $P1073 = $P1072."ast"()
+    $P1074 = $P1070."!make"($P1073)
+    .return ($P1074)
+  control_1067:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P1071, exception, "payload"
-    .return ($P1071)
+    getattribute $P1075, exception, "payload"
+    .return ($P1075)
 .end
 
 
 .namespace ["NQP";"Actions"]
-.sub "declarator"  :subid("68_1274800470.33966") :method :outer("11_1274800470.33966")
-    .param pmc param_1075
-.annotate 'line', 386
-    new $P1074, 'ExceptionHandler'
-    set_addr $P1074, control_1073
-    $P1074."handle_types"(57)
-    push_eh $P1074
+.sub "scoped"  :subid("68_1274853047.92727") :method :outer("11_1274853047.92727")
+    .param pmc param_1079
+.annotate 'line', 391
+    new $P1078, 'ExceptionHandler'
+    set_addr $P1078, control_1077
+    $P1078."handle_types"(57)
+    push_eh $P1078
     .lex "self", self
-    .lex "$/", param_1075
-.annotate 'line', 387
-    find_lex $P1076, "$/"
-.annotate 'line', 388
-    find_lex $P1079, "$/"
-    unless_null $P1079, vivify_364
-    $P1079 = root_new ['parrot';'Hash']
-  vivify_364:
-    set $P1080, $P1079["routine_declarator"]
-    unless_null $P1080, vivify_365
-    new $P1080, "Undef"
-  vivify_365:
-    if $P1080, if_1078
-.annotate 'line', 389
-    find_lex $P1084, "$/"
-    unless_null $P1084, vivify_366
-    $P1084 = root_new ['parrot';'Hash']
-  vivify_366:
-    set $P1085, $P1084["variable_declarator"]
-    unless_null $P1085, vivify_367
-    new $P1085, "Undef"
-  vivify_367:
-    $P1086 = $P1085."ast"()
-    set $P1077, $P1086
-.annotate 'line', 388
-    goto if_1078_end
-  if_1078:
+    .lex "$/", param_1079
+.annotate 'line', 392
+    find_lex $P1080, "$/"
     find_lex $P1081, "$/"
-    unless_null $P1081, vivify_368
+    unless_null $P1081, vivify_366
     $P1081 = root_new ['parrot';'Hash']
-  vivify_368:
-    set $P1082, $P1081["routine_declarator"]
-    unless_null $P1082, vivify_369
+  vivify_366:
+    set $P1082, $P1081["declarator"]
+    unless_null $P1082, vivify_367
     new $P1082, "Undef"
-  vivify_369:
+  vivify_367:
     $P1083 = $P1082."ast"()
-    set $P1077, $P1083
-  if_1078_end:
-    $P1087 = $P1076."!make"($P1077)
-.annotate 'line', 386
-    .return ($P1087)
-  control_1073:
+    $P1084 = $P1080."!make"($P1083)
+.annotate 'line', 391
+    .return ($P1084)
+  control_1077:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P1088, exception, "payload"
-    .return ($P1088)
+    getattribute $P1085, exception, "payload"
+    .return ($P1085)
 .end
 
 
 .namespace ["NQP";"Actions"]
-.sub "variable_declarator"  :subid("69_1274800470.33966") :method :outer("11_1274800470.33966")
-    .param pmc param_1092
-.annotate 'line', 392
-    .const 'Sub' $P1132 = "70_1274800470.33966" 
-    capture_lex $P1132
-    new $P1091, 'ExceptionHandler'
-    set_addr $P1091, control_1090
-    $P1091."handle_types"(57)
-    push_eh $P1091
-    .lex "self", self
-    .lex "$/", param_1092
-.annotate 'line', 393
-    new $P1093, "Undef"
-    .lex "$past", $P1093
-.annotate 'line', 394
-    new $P1094, "Undef"
-    .lex "$sigil", $P1094
+.sub "declarator"  :subid("69_1274853047.92727") :method :outer("11_1274853047.92727")
+    .param pmc param_1089
 .annotate 'line', 395
-    new $P1095, "Undef"
-    .lex "$name", $P1095
+    new $P1088, 'ExceptionHandler'
+    set_addr $P1088, control_1087
+    $P1088."handle_types"(57)
+    push_eh $P1088
+    .lex "self", self
+    .lex "$/", param_1089
 .annotate 'line', 396
-    new $P1096, "Undef"
-    .lex "$BLOCK", $P1096
-.annotate 'line', 393
-    find_lex $P1097, "$/"
-    unless_null $P1097, vivify_370
-    $P1097 = root_new ['parrot';'Hash']
+    find_lex $P1090, "$/"
+.annotate 'line', 397
+    find_lex $P1093, "$/"
+    unless_null $P1093, vivify_368
+    $P1093 = root_new ['parrot';'Hash']
+  vivify_368:
+    set $P1094, $P1093["routine_declarator"]
+    unless_null $P1094, vivify_369
+    new $P1094, "Undef"
+  vivify_369:
+    if $P1094, if_1092
+.annotate 'line', 398
+    find_lex $P1098, "$/"
+    unless_null $P1098, vivify_370
+    $P1098 = root_new ['parrot';'Hash']
   vivify_370:
-    set $P1098, $P1097["variable"]
-    unless_null $P1098, vivify_371
-    new $P1098, "Undef"
+    set $P1099, $P1098["variable_declarator"]
+    unless_null $P1099, vivify_371
+    new $P1099, "Undef"
   vivify_371:
-    $P1099 = $P1098."ast"()
-    store_lex "$past", $P1099
-.annotate 'line', 394
-    find_lex $P1100, "$/"
-    unless_null $P1100, vivify_372
-    $P1100 = root_new ['parrot';'Hash']
+    $P1100 = $P1099."ast"()
+    set $P1091, $P1100
+.annotate 'line', 397
+    goto if_1092_end
+  if_1092:
+    find_lex $P1095, "$/"
+    unless_null $P1095, vivify_372
+    $P1095 = root_new ['parrot';'Hash']
   vivify_372:
-    set $P1101, $P1100["variable"]
-    unless_null $P1101, vivify_373
-    $P1101 = root_new ['parrot';'Hash']
+    set $P1096, $P1095["routine_declarator"]
+    unless_null $P1096, vivify_373
+    new $P1096, "Undef"
   vivify_373:
-    set $P1102, $P1101["sigil"]
-    unless_null $P1102, vivify_374
-    new $P1102, "Undef"
-  vivify_374:
-    store_lex "$sigil", $P1102
+    $P1097 = $P1096."ast"()
+    set $P1091, $P1097
+  if_1092_end:
+    $P1101 = $P1090."!make"($P1091)
 .annotate 'line', 395
-    find_lex $P1103, "$past"
-    $P1104 = $P1103."name"()
-    store_lex "$name", $P1104
-.annotate 'line', 396
-    get_global $P1105, "@BLOCK"
-    unless_null $P1105, vivify_375
-    $P1105 = root_new ['parrot';'ResizablePMCArray']
+    .return ($P1101)
+  control_1087:
+    .local pmc exception 
+    .get_results (exception) 
+    getattribute $P1102, exception, "payload"
+    .return ($P1102)
+.end
+
+
+.namespace ["NQP";"Actions"]
+.sub "variable_declarator"  :subid("70_1274853047.92727") :method :outer("11_1274853047.92727")
+    .param pmc param_1106
+.annotate 'line', 401
+    .const 'Sub' $P1146 = "71_1274853047.92727" 
+    capture_lex $P1146
+    new $P1105, 'ExceptionHandler'
+    set_addr $P1105, control_1104
+    $P1105."handle_types"(57)
+    push_eh $P1105
+    .lex "self", self
+    .lex "$/", param_1106
+.annotate 'line', 402
+    new $P1107, "Undef"
+    .lex "$past", $P1107
+.annotate 'line', 403
+    new $P1108, "Undef"
+    .lex "$sigil", $P1108
+.annotate 'line', 404
+    new $P1109, "Undef"
+    .lex "$name", $P1109
+.annotate 'line', 405
+    new $P1110, "Undef"
+    .lex "$BLOCK", $P1110
+.annotate 'line', 402
+    find_lex $P1111, "$/"
+    unless_null $P1111, vivify_374
+    $P1111 = root_new ['parrot';'Hash']
+  vivify_374:
+    set $P1112, $P1111["variable"]
+    unless_null $P1112, vivify_375
+    new $P1112, "Undef"
   vivify_375:
-    set $P1106, $P1105[0]
-    unless_null $P1106, vivify_376
-    new $P1106, "Undef"
+    $P1113 = $P1112."ast"()
+    store_lex "$past", $P1113
+.annotate 'line', 403
+    find_lex $P1114, "$/"
+    unless_null $P1114, vivify_376
+    $P1114 = root_new ['parrot';'Hash']
   vivify_376:
-    store_lex "$BLOCK", $P1106
-.annotate 'line', 397
-    find_lex $P1108, "$BLOCK"
-    find_lex $P1109, "$name"
-    $P1110 = $P1108."symbol"($P1109)
-    unless $P1110, if_1107_end
-.annotate 'line', 398
-    find_lex $P1111, "$/"
-    $P1112 = $P1111."CURSOR"()
-    find_lex $P1113, "$name"
-    $P1112."panic"("Redeclaration of symbol ", $P1113)
-  if_1107_end:
-.annotate 'line', 400
-    find_dynamic_lex $P1115, "$*SCOPE"
+    set $P1115, $P1114["variable"]
     unless_null $P1115, vivify_377
-    get_hll_global $P1115, "$SCOPE"
-    unless_null $P1115, vivify_378
-    die "Contextual $*SCOPE not found"
-  vivify_378:
+    $P1115 = root_new ['parrot';'Hash']
   vivify_377:
-    set $S1116, $P1115
-    iseq $I1117, $S1116, "has"
-    if $I1117, if_1114
-.annotate 'line', 409
-    .const 'Sub' $P1132 = "70_1274800470.33966" 
-    capture_lex $P1132
-    $P1132()
-    goto if_1114_end
-  if_1114:
-.annotate 'line', 401
-    find_lex $P1118, "$BLOCK"
-    find_lex $P1119, "$name"
-    $P1118."symbol"($P1119, "attribute" :named("scope"))
-.annotate 'line', 402
-    find_lex $P1121, "$BLOCK"
-    unless_null $P1121, vivify_383
-    $P1121 = root_new ['parrot';'Hash']
-  vivify_383:
-    set $P1122, $P1121["attributes"]
-    unless_null $P1122, vivify_384
-    new $P1122, "Undef"
-  vivify_384:
-    if $P1122, unless_1120_end
+    set $P1116, $P1115["sigil"]
+    unless_null $P1116, vivify_378
+    new $P1116, "Undef"
+  vivify_378:
+    store_lex "$sigil", $P1116
 .annotate 'line', 404
-    get_hll_global $P1123, ["PAST"], "Op"
-    $P1124 = $P1123."new"("list" :named("pasttype"), "attr" :named("named"))
-    find_lex $P1125, "$BLOCK"
-    unless_null $P1125, vivify_385
-    $P1125 = root_new ['parrot';'Hash']
-    store_lex "$BLOCK", $P1125
-  vivify_385:
-    set $P1125["attributes"], $P1124
-  unless_1120_end:
+    find_lex $P1117, "$past"
+    $P1118 = $P1117."name"()
+    store_lex "$name", $P1118
+.annotate 'line', 405
+    get_global $P1119, "@BLOCK"
+    unless_null $P1119, vivify_379
+    $P1119 = root_new ['parrot';'ResizablePMCArray']
+  vivify_379:
+    set $P1120, $P1119[0]
+    unless_null $P1120, vivify_380
+    new $P1120, "Undef"
+  vivify_380:
+    store_lex "$BLOCK", $P1120
 .annotate 'line', 406
-    find_lex $P1126, "$BLOCK"
-    unless_null $P1126, vivify_386
-    $P1126 = root_new ['parrot';'Hash']
-  vivify_386:
-    set $P1127, $P1126["attributes"]
-    unless_null $P1127, vivify_387
-    new $P1127, "Undef"
-  vivify_387:
-    find_lex $P1128, "$name"
-    $P1127."push"($P1128)
+    find_lex $P1122, "$BLOCK"
+    find_lex $P1123, "$name"
+    $P1124 = $P1122."symbol"($P1123)
+    unless $P1124, if_1121_end
 .annotate 'line', 407
-    get_hll_global $P1129, ["PAST"], "Stmts"
-    $P1130 = $P1129."new"()
-    store_lex "$past", $P1130
-  if_1114_end:
-.annotate 'line', 417
-    find_lex $P1156, "$/"
-    find_lex $P1157, "$past"
-    $P1158 = $P1156."!make"($P1157)
-.annotate 'line', 392
-    .return ($P1158)
-  control_1090:
-    .local pmc exception 
-    .get_results (exception) 
-    getattribute $P1159, exception, "payload"
-    .return ($P1159)
-.end
-
-
-.namespace ["NQP";"Actions"]
-.sub "_block1131"  :anon :subid("70_1274800470.33966") :outer("69_1274800470.33966")
-.annotate 'line', 410
-    new $P1133, "Undef"
-    .lex "$scope", $P1133
-.annotate 'line', 411
-    new $P1134, "Undef"
-    .lex "$decl", $P1134
-.annotate 'line', 410
-    find_dynamic_lex $P1137, "$*SCOPE"
-    unless_null $P1137, vivify_379
-    get_hll_global $P1137, "$SCOPE"
-    unless_null $P1137, vivify_380
+    find_lex $P1125, "$/"
+    $P1126 = $P1125."CURSOR"()
+    find_lex $P1127, "$name"
+    $P1126."panic"("Redeclaration of symbol ", $P1127)
+  if_1121_end:
+.annotate 'line', 409
+    find_dynamic_lex $P1129, "$*SCOPE"
+    unless_null $P1129, vivify_381
+    get_hll_global $P1129, "$SCOPE"
+    unless_null $P1129, vivify_382
     die "Contextual $*SCOPE not found"
-  vivify_380:
-  vivify_379:
-    set $S1138, $P1137
-    iseq $I1139, $S1138, "our"
-    if $I1139, if_1136
-    new $P1141, "String"
-    assign $P1141, "lexical"
-    set $P1135, $P1141
-    goto if_1136_end
-  if_1136:
-    new $P1140, "String"
-    assign $P1140, "package"
-    set $P1135, $P1140
-  if_1136_end:
-    store_lex "$scope", $P1135
-.annotate 'line', 411
-    get_hll_global $P1142, ["PAST"], "Var"
-    find_lex $P1143, "$name"
-    find_lex $P1144, "$scope"
-.annotate 'line', 412
-    find_lex $P1145, "$sigil"
-    $P1146 = "vivitype"($P1145)
-    find_lex $P1147, "$/"
-    $P1148 = $P1142."new"($P1143 :named("name"), $P1144 :named("scope"), 1 :named("isdecl"), 1 :named("lvalue"), $P1146 :named("viviself"), $P1147 :named("node"))
+  vivify_382:
+  vivify_381:
+    set $S1130, $P1129
+    iseq $I1131, $S1130, "has"
+    if $I1131, if_1128
+.annotate 'line', 418
+    .const 'Sub' $P1146 = "71_1274853047.92727" 
+    capture_lex $P1146
+    $P1146()
+    goto if_1128_end
+  if_1128:
+.annotate 'line', 410
+    find_lex $P1132, "$BLOCK"
+    find_lex $P1133, "$name"
+    $P1132."symbol"($P1133, "attribute" :named("scope"))
 .annotate 'line', 411
-    store_lex "$decl", $P1148
-.annotate 'line', 414
-    find_lex $P1149, "$BLOCK"
-    find_lex $P1150, "$name"
-    find_lex $P1151, "$scope"
-    $P1149."symbol"($P1150, $P1151 :named("scope"))
+    find_lex $P1135, "$BLOCK"
+    unless_null $P1135, vivify_387
+    $P1135 = root_new ['parrot';'Hash']
+  vivify_387:
+    set $P1136, $P1135["attributes"]
+    unless_null $P1136, vivify_388
+    new $P1136, "Undef"
+  vivify_388:
+    if $P1136, unless_1134_end
+.annotate 'line', 413
+    get_hll_global $P1137, ["PAST"], "Op"
+    $P1138 = $P1137."new"("list" :named("pasttype"), "attr" :named("named"))
+    find_lex $P1139, "$BLOCK"
+    unless_null $P1139, vivify_389
+    $P1139 = root_new ['parrot';'Hash']
+    store_lex "$BLOCK", $P1139
+  vivify_389:
+    set $P1139["attributes"], $P1138
+  unless_1134_end:
 .annotate 'line', 415
-    find_lex $P1152, "$BLOCK"
-    unless_null $P1152, vivify_381
-    $P1152 = root_new ['parrot';'ResizablePMCArray']
-  vivify_381:
-    set $P1153, $P1152[0]
-    unless_null $P1153, vivify_382
-    new $P1153, "Undef"
-  vivify_382:
-    find_lex $P1154, "$decl"
-    $P1155 = $P1153."push"($P1154)
-.annotate 'line', 409
-    .return ($P1155)
+    find_lex $P1140, "$BLOCK"
+    unless_null $P1140, vivify_390
+    $P1140 = root_new ['parrot';'Hash']
+  vivify_390:
+    set $P1141, $P1140["attributes"]
+    unless_null $P1141, vivify_391
+    new $P1141, "Undef"
+  vivify_391:
+    find_lex $P1142, "$name"
+    $P1141."push"($P1142)
+.annotate 'line', 416
+    get_hll_global $P1143, ["PAST"], "Stmts"
+    $P1144 = $P1143."new"()
+    store_lex "$past", $P1144
+  if_1128_end:
+.annotate 'line', 426
+    find_lex $P1170, "$/"
+    find_lex $P1171, "$past"
+    $P1172 = $P1170."!make"($P1171)
+.annotate 'line', 401
+    .return ($P1172)
+  control_1104:
+    .local pmc exception 
+    .get_results (exception) 
+    getattribute $P1173, exception, "payload"
+    .return ($P1173)
 .end
 
 
 .namespace ["NQP";"Actions"]
-.sub "routine_declarator:sym<sub>"  :subid("71_1274800470.33966") :method :outer("11_1274800470.33966")
-    .param pmc param_1163
+.sub "_block1145"  :anon :subid("71_1274853047.92727") :outer("70_1274853047.92727")
+.annotate 'line', 419
+    new $P1147, "Undef"
+    .lex "$scope", $P1147
 .annotate 'line', 420
-    new $P1162, 'ExceptionHandler'
-    set_addr $P1162, control_1161
-    $P1162."handle_types"(57)
-    push_eh $P1162
-    .lex "self", self
-    .lex "$/", param_1163
-    find_lex $P1164, "$/"
-    find_lex $P1165, "$/"
-    unless_null $P1165, vivify_388
-    $P1165 = root_new ['parrot';'Hash']
-  vivify_388:
-    set $P1166, $P1165["routine_def"]
-    unless_null $P1166, vivify_389
-    new $P1166, "Undef"
-  vivify_389:
-    $P1167 = $P1166."ast"()
-    $P1168 = $P1164."!make"($P1167)
-    .return ($P1168)
-  control_1161:
-    .local pmc exception 
-    .get_results (exception) 
-    getattribute $P1169, exception, "payload"
+    new $P1148, "Undef"
+    .lex "$decl", $P1148
+.annotate 'line', 419
+    find_dynamic_lex $P1151, "$*SCOPE"
+    unless_null $P1151, vivify_383
+    get_hll_global $P1151, "$SCOPE"
+    unless_null $P1151, vivify_384
+    die "Contextual $*SCOPE not found"
+  vivify_384:
+  vivify_383:
+    set $S1152, $P1151
+    iseq $I1153, $S1152, "our"
+    if $I1153, if_1150
+    new $P1155, "String"
+    assign $P1155, "lexical"
+    set $P1149, $P1155
+    goto if_1150_end
+  if_1150:
+    new $P1154, "String"
+    assign $P1154, "package"
+    set $P1149, $P1154
+  if_1150_end:
+    store_lex "$scope", $P1149
+.annotate 'line', 420
+    get_hll_global $P1156, ["PAST"], "Var"
+    find_lex $P1157, "$name"
+    find_lex $P1158, "$scope"
+.annotate 'line', 421
+    find_lex $P1159, "$sigil"
+    $P1160 = "vivitype"($P1159)
+    find_lex $P1161, "$/"
+    $P1162 = $P1156."new"($P1157 :named("name"), $P1158 :named("scope"), 1 :named("isdecl"), 1 :named("lvalue"), $P1160 :named("viviself"), $P1161 :named("node"))
+.annotate 'line', 420
+    store_lex "$decl", $P1162
+.annotate 'line', 423
+    find_lex $P1163, "$BLOCK"
+    find_lex $P1164, "$name"
+    find_lex $P1165, "$scope"
+    $P1163."symbol"($P1164, $P1165 :named("scope"))
+.annotate 'line', 424
+    find_lex $P1166, "$BLOCK"
+    unless_null $P1166, vivify_385
+    $P1166 = root_new ['parrot';'ResizablePMCArray']
+  vivify_385:
+    set $P1167, $P1166[0]
+    unless_null $P1167, vivify_386
+    new $P1167, "Undef"
+  vivify_386:
+    find_lex $P1168, "$decl"
+    $P1169 = $P1167."push"($P1168)
+.annotate 'line', 418
     .return ($P1169)
 .end
 
 
 .namespace ["NQP";"Actions"]
-.sub "routine_declarator:sym<method>"  :subid("72_1274800470.33966") :method :outer("11_1274800470.33966")
-    .param pmc param_1173
-.annotate 'line', 421
-    new $P1172, 'ExceptionHandler'
-    set_addr $P1172, control_1171
-    $P1172."handle_types"(57)
-    push_eh $P1172
-    .lex "self", self
-    .lex "$/", param_1173
-    find_lex $P1174, "$/"
-    find_lex $P1175, "$/"
-    unless_null $P1175, vivify_390
-    $P1175 = root_new ['parrot';'Hash']
-  vivify_390:
-    set $P1176, $P1175["method_def"]
-    unless_null $P1176, vivify_391
-    new $P1176, "Undef"
-  vivify_391:
-    $P1177 = $P1176."ast"()
-    $P1178 = $P1174."!make"($P1177)
-    .return ($P1178)
-  control_1171:
+.sub "routine_declarator:sym<sub>"  :subid("72_1274853047.92727") :method :outer("11_1274853047.92727")
+    .param pmc param_1177
+.annotate 'line', 429
+    new $P1176, 'ExceptionHandler'
+    set_addr $P1176, control_1175
+    $P1176."handle_types"(57)
+    push_eh $P1176
+    .lex "self", self
+    .lex "$/", param_1177
+    find_lex $P1178, "$/"
+    find_lex $P1179, "$/"
+    unless_null $P1179, vivify_392
+    $P1179 = root_new ['parrot';'Hash']
+  vivify_392:
+    set $P1180, $P1179["routine_def"]
+    unless_null $P1180, vivify_393
+    new $P1180, "Undef"
+  vivify_393:
+    $P1181 = $P1180."ast"()
+    $P1182 = $P1178."!make"($P1181)
+    .return ($P1182)
+  control_1175:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P1179, exception, "payload"
-    .return ($P1179)
+    getattribute $P1183, exception, "payload"
+    .return ($P1183)
 .end
 
 
 .namespace ["NQP";"Actions"]
-.sub "routine_def"  :subid("73_1274800470.33966") :method :outer("11_1274800470.33966")
-    .param pmc param_1183
-.annotate 'line', 423
-    .const 'Sub' $P1194 = "74_1274800470.33966" 
-    capture_lex $P1194
-    new $P1182, 'ExceptionHandler'
-    set_addr $P1182, control_1181
-    $P1182."handle_types"(57)
-    push_eh $P1182
-    .lex "self", self
-    .lex "$/", param_1183
-.annotate 'line', 424
-    new $P1184, "Undef"
-    .lex "$past", $P1184
-    find_lex $P1185, "$/"
-    unless_null $P1185, vivify_392
-    $P1185 = root_new ['parrot';'Hash']
-  vivify_392:
-    set $P1186, $P1185["blockoid"]
-    unless_null $P1186, vivify_393
-    new $P1186, "Undef"
-  vivify_393:
-    $P1187 = $P1186."ast"()
-    store_lex "$past", $P1187
-.annotate 'line', 425
-    find_lex $P1188, "$past"
-    $P1188."blocktype"("declaration")
-.annotate 'line', 426
-    find_lex $P1189, "$past"
-    $P1189."control"("return_pir")
-.annotate 'line', 427
-    find_lex $P1191, "$/"
-    unless_null $P1191, vivify_394
-    $P1191 = root_new ['parrot';'Hash']
+.sub "routine_declarator:sym<method>"  :subid("73_1274853047.92727") :method :outer("11_1274853047.92727")
+    .param pmc param_1187
+.annotate 'line', 430
+    new $P1186, 'ExceptionHandler'
+    set_addr $P1186, control_1185
+    $P1186."handle_types"(57)
+    push_eh $P1186
+    .lex "self", self
+    .lex "$/", param_1187
+    find_lex $P1188, "$/"
+    find_lex $P1189, "$/"
+    unless_null $P1189, vivify_394
+    $P1189 = root_new ['parrot';'Hash']
   vivify_394:
-    set $P1192, $P1191["deflongname"]
-    unless_null $P1192, vivify_395
-    new $P1192, "Undef"
+    set $P1190, $P1189["method_def"]
+    unless_null $P1190, vivify_395
+    new $P1190, "Undef"
   vivify_395:
-    unless $P1192, if_1190_end
-    .const 'Sub' $P1194 = "74_1274800470.33966" 
-    capture_lex $P1194
-    $P1194()
-  if_1190_end:
-.annotate 'line', 437
-    find_lex $P1226, "$/"
-    find_lex $P1227, "$past"
-    $P1228 = $P1226."!make"($P1227)
-.annotate 'line', 423
-    .return ($P1228)
-  control_1181:
+    $P1191 = $P1190."ast"()
+    $P1192 = $P1188."!make"($P1191)
+    .return ($P1192)
+  control_1185:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P1229, exception, "payload"
-    .return ($P1229)
+    getattribute $P1193, exception, "payload"
+    .return ($P1193)
 .end
 
 
 .namespace ["NQP";"Actions"]
-.sub "_block1193"  :anon :subid("74_1274800470.33966") :outer("73_1274800470.33966")
-.annotate 'line', 428
-    new $P1195, "Undef"
-    .lex "$name", $P1195
-    find_lex $P1196, "$/"
-    unless_null $P1196, vivify_396
-    $P1196 = root_new ['parrot';'Hash']
+.sub "routine_def"  :subid("74_1274853047.92727") :method :outer("11_1274853047.92727")
+    .param pmc param_1197
+.annotate 'line', 432
+    .const 'Sub' $P1208 = "75_1274853047.92727" 
+    capture_lex $P1208
+    new $P1196, 'ExceptionHandler'
+    set_addr $P1196, control_1195
+    $P1196."handle_types"(57)
+    push_eh $P1196
+    .lex "self", self
+    .lex "$/", param_1197
+.annotate 'line', 433
+    new $P1198, "Undef"
+    .lex "$past", $P1198
+    find_lex $P1199, "$/"
+    unless_null $P1199, vivify_396
+    $P1199 = root_new ['parrot';'Hash']
   vivify_396:
-    set $P1197, $P1196["sigil"]
-    unless_null $P1197, vivify_397
-    $P1197 = root_new ['parrot';'ResizablePMCArray']
+    set $P1200, $P1199["blockoid"]
+    unless_null $P1200, vivify_397
+    new $P1200, "Undef"
   vivify_397:
-    set $P1198, $P1197[0]
-    unless_null $P1198, vivify_398
-    new $P1198, "Undef"
+    $P1201 = $P1200."ast"()
+    store_lex "$past", $P1201
+.annotate 'line', 434
+    find_lex $P1202, "$past"
+    $P1202."blocktype"("declaration")
+.annotate 'line', 435
+    find_lex $P1203, "$past"
+    $P1203."control"("return_pir")
+.annotate 'line', 436
+    find_lex $P1205, "$/"
+    unless_null $P1205, vivify_398
+    $P1205 = root_new ['parrot';'Hash']
   vivify_398:
-    set $S1199, $P1198
-    new $P1200, 'String'
-    set $P1200, $S1199
-    find_lex $P1201, "$/"
-    unless_null $P1201, vivify_399
-    $P1201 = root_new ['parrot';'Hash']
+    set $P1206, $P1205["deflongname"]
+    unless_null $P1206, vivify_399
+    new $P1206, "Undef"
   vivify_399:
-    set $P1202, $P1201["deflongname"]
-    unless_null $P1202, vivify_400
-    $P1202 = root_new ['parrot';'ResizablePMCArray']
+    unless $P1206, if_1204_end
+    .const 'Sub' $P1208 = "75_1274853047.92727" 
+    capture_lex $P1208
+    $P1208()
+  if_1204_end:
+.annotate 'line', 446
+    find_lex $P1240, "$/"
+    find_lex $P1241, "$past"
+    $P1242 = $P1240."!make"($P1241)
+.annotate 'line', 432
+    .return ($P1242)
+  control_1195:
+    .local pmc exception 
+    .get_results (exception) 
+    getattribute $P1243, exception, "payload"
+    .return ($P1243)
+.end
+
+
+.namespace ["NQP";"Actions"]
+.sub "_block1207"  :anon :subid("75_1274853047.92727") :outer("74_1274853047.92727")
+.annotate 'line', 437
+    new $P1209, "Undef"
+    .lex "$name", $P1209
+    find_lex $P1210, "$/"
+    unless_null $P1210, vivify_400
+    $P1210 = root_new ['parrot';'Hash']
   vivify_400:
-    set $P1203, $P1202[0]
-    unless_null $P1203, vivify_401
-    new $P1203, "Undef"
+    set $P1211, $P1210["sigil"]
+    unless_null $P1211, vivify_401
+    $P1211 = root_new ['parrot';'ResizablePMCArray']
   vivify_401:
-    $S1204 = $P1203."ast"()
-    concat $P1205, $P1200, $S1204
-    store_lex "$name", $P1205
-.annotate 'line', 429
-    find_lex $P1206, "$past"
-    find_lex $P1207, "$name"
-    $P1206."name"($P1207)
-.annotate 'line', 430
-    find_dynamic_lex $P1210, "$*SCOPE"
-    unless_null $P1210, vivify_402
-    get_hll_global $P1210, "$SCOPE"
-    unless_null $P1210, vivify_403
-    die "Contextual $*SCOPE not found"
-  vivify_403:
+    set $P1212, $P1211[0]
+    unless_null $P1212, vivify_402
+    new $P1212, "Undef"
   vivify_402:
-    set $S1211, $P1210
-    isne $I1212, $S1211, "our"
-    if $I1212, if_1209
-    new $P1208, 'Integer'
-    set $P1208, $I1212
-    goto if_1209_end
-  if_1209:
-.annotate 'line', 431
-    get_global $P1213, "@BLOCK"
-    unless_null $P1213, vivify_404
-    $P1213 = root_new ['parrot';'ResizablePMCArray']
+    set $S1213, $P1212
+    new $P1214, 'String'
+    set $P1214, $S1213
+    find_lex $P1215, "$/"
+    unless_null $P1215, vivify_403
+    $P1215 = root_new ['parrot';'Hash']
+  vivify_403:
+    set $P1216, $P1215["deflongname"]
+    unless_null $P1216, vivify_404
+    $P1216 = root_new ['parrot';'ResizablePMCArray']
   vivify_404:
-    set $P1214, $P1213[0]
-    unless_null $P1214, vivify_405
-    $P1214 = root_new ['parrot';'ResizablePMCArray']
+    set $P1217, $P1216[0]
+    unless_null $P1217, vivify_405
+    new $P1217, "Undef"
   vivify_405:
-    set $P1215, $P1214[0]
-    unless_null $P1215, vivify_406
-    new $P1215, "Undef"
-  vivify_406:
-    get_hll_global $P1216, ["PAST"], "Var"
-    find_lex $P1217, "$name"
-    find_lex $P1218, "$past"
-    $P1219 = $P1216."new"($P1217 :named("name"), 1 :named("isdecl"), $P1218 :named("viviself"), "lexical" :named("scope"))
-    $P1215."push"($P1219)
-.annotate 'line', 433
-    get_global $P1220, "@BLOCK"
-    unless_null $P1220, vivify_407
-    $P1220 = root_new ['parrot';'ResizablePMCArray']
+    $S1218 = $P1217."ast"()
+    concat $P1219, $P1214, $S1218
+    store_lex "$name", $P1219
+.annotate 'line', 438
+    find_lex $P1220, "$past"
+    find_lex $P1221, "$name"
+    $P1220."name"($P1221)
+.annotate 'line', 439
+    find_dynamic_lex $P1224, "$*SCOPE"
+    unless_null $P1224, vivify_406
+    get_hll_global $P1224, "$SCOPE"
+    unless_null $P1224, vivify_407
+    die "Contextual $*SCOPE not found"
   vivify_407:
-    set $P1221, $P1220[0]
-    unless_null $P1221, vivify_408
-    new $P1221, "Undef"
+  vivify_406:
+    set $S1225, $P1224
+    isne $I1226, $S1225, "our"
+    if $I1226, if_1223
+    new $P1222, 'Integer'
+    set $P1222, $I1226
+    goto if_1223_end
+  if_1223:
+.annotate 'line', 440
+    get_global $P1227, "@BLOCK"
+    unless_null $P1227, vivify_408
+    $P1227 = root_new ['parrot';'ResizablePMCArray']
   vivify_408:
-    find_lex $P1222, "$name"
-    $P1221."symbol"($P1222, "lexical" :named("scope"))
-.annotate 'line', 434
-    get_hll_global $P1223, ["PAST"], "Var"
-    find_lex $P1224, "$name"
-    $P1225 = $P1223."new"($P1224 :named("name"))
-    store_lex "$past", $P1225
-.annotate 'line', 430
-    set $P1208, $P1225
-  if_1209_end:
-.annotate 'line', 427
-    .return ($P1208)
-.end
-
-
-.namespace ["NQP";"Actions"]
-.sub "method_def"  :subid("75_1274800470.33966") :method :outer("11_1274800470.33966")
-    .param pmc param_1233
-.annotate 'line', 441
-    .const 'Sub' $P1249 = "76_1274800470.33966" 
-    capture_lex $P1249
-    new $P1232, 'ExceptionHandler'
-    set_addr $P1232, control_1231
-    $P1232."handle_types"(57)
-    push_eh $P1232
-    .lex "self", self
-    .lex "$/", param_1233
-.annotate 'line', 442
-    new $P1234, "Undef"
-    .lex "$past", $P1234
-    find_lex $P1235, "$/"
-    unless_null $P1235, vivify_409
-    $P1235 = root_new ['parrot';'Hash']
+    set $P1228, $P1227[0]
+    unless_null $P1228, vivify_409
+    $P1228 = root_new ['parrot';'ResizablePMCArray']
   vivify_409:
-    set $P1236, $P1235["blockoid"]
-    unless_null $P1236, vivify_410
-    new $P1236, "Undef"
+    set $P1229, $P1228[0]
+    unless_null $P1229, vivify_410
+    new $P1229, "Undef"
   vivify_410:
-    $P1237 = $P1236."ast"()
-    store_lex "$past", $P1237
-.annotate 'line', 443
-    find_lex $P1238, "$past"
-    $P1238."blocktype"("method")
-.annotate 'line', 444
-    find_lex $P1239, "$past"
-    $P1239."control"("return_pir")
-.annotate 'line', 445
-    find_lex $P1240, "$past"
-    unless_null $P1240, vivify_411
-    $P1240 = root_new ['parrot';'ResizablePMCArray']
+    get_hll_global $P1230, ["PAST"], "Var"
+    find_lex $P1231, "$name"
+    find_lex $P1232, "$past"
+    $P1233 = $P1230."new"($P1231 :named("name"), 1 :named("isdecl"), $P1232 :named("viviself"), "lexical" :named("scope"))
+    $P1229."push"($P1233)
+.annotate 'line', 442
+    get_global $P1234, "@BLOCK"
+    unless_null $P1234, vivify_411
+    $P1234 = root_new ['parrot';'ResizablePMCArray']
   vivify_411:
-    set $P1241, $P1240[0]
-    unless_null $P1241, vivify_412
-    new $P1241, "Undef"
+    set $P1235, $P1234[0]
+    unless_null $P1235, vivify_412
+    new $P1235, "Undef"
   vivify_412:
-    get_hll_global $P1242, ["PAST"], "Op"
-    $P1243 = $P1242."new"("    .lex \"self\", self" :named("inline"))
-    $P1241."unshift"($P1243)
-.annotate 'line', 446
-    find_lex $P1244, "$past"
-    $P1244."symbol"("self", "lexical" :named("scope"))
-.annotate 'line', 447
-    find_lex $P1246, "$/"
-    unless_null $P1246, vivify_413
-    $P1246 = root_new ['parrot';'Hash']
-  vivify_413:
-    set $P1247, $P1246["deflongname"]
-    unless_null $P1247, vivify_414
-    new $P1247, "Undef"
-  vivify_414:
-    unless $P1247, if_1245_end
-    .const 'Sub' $P1249 = "76_1274800470.33966" 
-    capture_lex $P1249
-    $P1249()
-  if_1245_end:
-.annotate 'line', 451
-    find_lex $P1260, "$/"
-    find_lex $P1261, "$past"
-    $P1262 = $P1260."!make"($P1261)
-.annotate 'line', 441
-    .return ($P1262)
-  control_1231:
-    .local pmc exception 
-    .get_results (exception) 
-    getattribute $P1263, exception, "payload"
-    .return ($P1263)
+    find_lex $P1236, "$name"
+    $P1235."symbol"($P1236, "lexical" :named("scope"))
+.annotate 'line', 443
+    get_hll_global $P1237, ["PAST"], "Var"
+    find_lex $P1238, "$name"
+    $P1239 = $P1237."new"($P1238 :named("name"))
+    store_lex "$past", $P1239
+.annotate 'line', 439
+    set $P1222, $P1239
+  if_1223_end:
+.annotate 'line', 436
+    .return ($P1222)
 .end
 
 
 .namespace ["NQP";"Actions"]
-.sub "_block1248"  :anon :subid("76_1274800470.33966") :outer("75_1274800470.33966")
-.annotate 'line', 448
+.sub "method_def"  :subid("76_1274853047.92727") :method :outer("11_1274853047.92727")
+    .param pmc param_1247
+.annotate 'line', 450
+    .const 'Sub' $P1263 = "77_1274853047.92727" 
+    capture_lex $P1263
+    new $P1246, 'ExceptionHandler'
+    set_addr $P1246, control_1245
+    $P1246."handle_types"(57)
+    push_eh $P1246
+    .lex "self", self
+    .lex "$/", param_1247
+.annotate 'line', 451
+    new $P1248, "Undef"
+    .lex "$past", $P1248
+    find_lex $P1249, "$/"
+    unless_null $P1249, vivify_413
+    $P1249 = root_new ['parrot';'Hash']
+  vivify_413:
+    set $P1250, $P1249["blockoid"]
+    unless_null $P1250, vivify_414
     new $P1250, "Undef"
-    .lex "$name", $P1250
-    find_lex $P1251, "$/"
-    unless_null $P1251, vivify_415
-    $P1251 = root_new ['parrot';'Hash']
+  vivify_414:
+    $P1251 = $P1250."ast"()
+    store_lex "$past", $P1251
+.annotate 'line', 452
+    find_lex $P1252, "$past"
+    $P1252."blocktype"("method")
+.annotate 'line', 453
+    find_lex $P1253, "$past"
+    $P1253."control"("return_pir")
+.annotate 'line', 454
+    find_lex $P1254, "$past"
+    unless_null $P1254, vivify_415
+    $P1254 = root_new ['parrot';'ResizablePMCArray']
   vivify_415:
-    set $P1252, $P1251["deflongname"]
-    unless_null $P1252, vivify_416
-    $P1252 = root_new ['parrot';'ResizablePMCArray']
+    set $P1255, $P1254[0]
+    unless_null $P1255, vivify_416
+    new $P1255, "Undef"
   vivify_416:
-    set $P1253, $P1252[0]
-    unless_null $P1253, vivify_417
-    new $P1253, "Undef"
+    get_hll_global $P1256, ["PAST"], "Op"
+    $P1257 = $P1256."new"("    .lex \"self\", self" :named("inline"))
+    $P1255."unshift"($P1257)
+.annotate 'line', 455
+    find_lex $P1258, "$past"
+    $P1258."symbol"("self", "lexical" :named("scope"))
+.annotate 'line', 456
+    find_lex $P1260, "$/"
+    unless_null $P1260, vivify_417
+    $P1260 = root_new ['parrot';'Hash']
   vivify_417:
-    $P1254 = $P1253."ast"()
-    set $S1255, $P1254
-    new $P1256, 'String'
-    set $P1256, $S1255
-    store_lex "$name", $P1256
-.annotate 'line', 449
-    find_lex $P1257, "$past"
-    find_lex $P1258, "$name"
-    $P1259 = $P1257."name"($P1258)
-.annotate 'line', 447
-    .return ($P1259)
+    set $P1261, $P1260["deflongname"]
+    unless_null $P1261, vivify_418
+    new $P1261, "Undef"
+  vivify_418:
+    unless $P1261, if_1259_end
+    .const 'Sub' $P1263 = "77_1274853047.92727" 
+    capture_lex $P1263
+    $P1263()
+  if_1259_end:
+.annotate 'line', 460
+    find_lex $P1274, "$/"
+    find_lex $P1275, "$past"
+    $P1276 = $P1274."!make"($P1275)
+.annotate 'line', 450
+    .return ($P1276)
+  control_1245:
+    .local pmc exception 
+    .get_results (exception) 
+    getattribute $P1277, exception, "payload"
+    .return ($P1277)
 .end
 
 
 .namespace ["NQP";"Actions"]
-.sub "signature"  :subid("77_1274800470.33966") :method :outer("11_1274800470.33966")
-    .param pmc param_1267
-.annotate 'line', 455
-    .const 'Sub' $P1278 = "78_1274800470.33966" 
-    capture_lex $P1278
-    new $P1266, 'ExceptionHandler'
-    set_addr $P1266, control_1265
-    $P1266."handle_types"(57)
-    push_eh $P1266
-    .lex "self", self
-    .lex "$/", param_1267
-.annotate 'line', 456
-    new $P1268, "Undef"
-    .lex "$BLOCKINIT", $P1268
-    get_global $P1269, "@BLOCK"
-    unless_null $P1269, vivify_418
-    $P1269 = root_new ['parrot';'ResizablePMCArray']
-  vivify_418:
-    set $P1270, $P1269[0]
-    unless_null $P1270, vivify_419
-    $P1270 = root_new ['parrot';'ResizablePMCArray']
+.sub "_block1262"  :anon :subid("77_1274853047.92727") :outer("76_1274853047.92727")
+.annotate 'line', 457
+    new $P1264, "Undef"
+    .lex "$name", $P1264
+    find_lex $P1265, "$/"
+    unless_null $P1265, vivify_419
+    $P1265 = root_new ['parrot';'Hash']
   vivify_419:
-    set $P1271, $P1270[0]
-    unless_null $P1271, vivify_420
-    new $P1271, "Undef"
+    set $P1266, $P1265["deflongname"]
+    unless_null $P1266, vivify_420
+    $P1266 = root_new ['parrot';'ResizablePMCArray']
   vivify_420:
-    store_lex "$BLOCKINIT", $P1271
-.annotate 'line', 457
-    find_lex $P1273, "$/"
-    unless_null $P1273, vivify_421
-    $P1273 = root_new ['parrot';'Hash']
+    set $P1267, $P1266[0]
+    unless_null $P1267, vivify_421
+    new $P1267, "Undef"
   vivify_421:
-    set $P1274, $P1273["parameter"]
-    unless_null $P1274, vivify_422
-    new $P1274, "Undef"
+    $P1268 = $P1267."ast"()
+    set $S1269, $P1268
+    new $P1270, 'String'
+    set $P1270, $S1269
+    store_lex "$name", $P1270
+.annotate 'line', 458
+    find_lex $P1271, "$past"
+    find_lex $P1272, "$name"
+    $P1273 = $P1271."name"($P1272)
+.annotate 'line', 456
+    .return ($P1273)
+.end
+
+
+.namespace ["NQP";"Actions"]
+.sub "signature"  :subid("78_1274853047.92727") :method :outer("11_1274853047.92727")
+    .param pmc param_1281
+.annotate 'line', 464
+    .const 'Sub' $P1292 = "79_1274853047.92727" 
+    capture_lex $P1292
+    new $P1280, 'ExceptionHandler'
+    set_addr $P1280, control_1279
+    $P1280."handle_types"(57)
+    push_eh $P1280
+    .lex "self", self
+    .lex "$/", param_1281
+.annotate 'line', 465
+    new $P1282, "Undef"
+    .lex "$BLOCKINIT", $P1282
+    get_global $P1283, "@BLOCK"
+    unless_null $P1283, vivify_422
+    $P1283 = root_new ['parrot';'ResizablePMCArray']
   vivify_422:
-    defined $I1275, $P1274
-    unless $I1275, for_undef_423
-    iter $P1272, $P1274
-    new $P1285, 'ExceptionHandler'
-    set_addr $P1285, loop1284_handler
-    $P1285."handle_types"(64, 66, 65)
-    push_eh $P1285
-  loop1284_test:
-    unless $P1272, loop1284_done
-    shift $P1276, $P1272
-  loop1284_redo:
-    .const 'Sub' $P1278 = "78_1274800470.33966" 
-    capture_lex $P1278
-    $P1278($P1276)
-  loop1284_next:
-    goto loop1284_test
-  loop1284_handler:
-    .local pmc exception 
-    .get_results (exception) 
-    getattribute $P1286, exception, 'type'
-    eq $P1286, 64, loop1284_next
-    eq $P1286, 66, loop1284_redo
-  loop1284_done:
+    set $P1284, $P1283[0]
+    unless_null $P1284, vivify_423
+    $P1284 = root_new ['parrot';'ResizablePMCArray']
+  vivify_423:
+    set $P1285, $P1284[0]
+    unless_null $P1285, vivify_424
+    new $P1285, "Undef"
+  vivify_424:
+    store_lex "$BLOCKINIT", $P1285
+.annotate 'line', 466
+    find_lex $P1287, "$/"
+    unless_null $P1287, vivify_425
+    $P1287 = root_new ['parrot';'Hash']
+  vivify_425:
+    set $P1288, $P1287["parameter"]
+    unless_null $P1288, vivify_426
+    new $P1288, "Undef"
+  vivify_426:
+    defined $I1289, $P1288
+    unless $I1289, for_undef_427
+    iter $P1286, $P1288
+    new $P1299, 'ExceptionHandler'
+    set_addr $P1299, loop1298_handler
+    $P1299."handle_types"(64, 66, 65)
+    push_eh $P1299
+  loop1298_test:
+    unless $P1286, loop1298_done
+    shift $P1290, $P1286
+  loop1298_redo:
+    .const 'Sub' $P1292 = "79_1274853047.92727" 
+    capture_lex $P1292
+    $P1292($P1290)
+  loop1298_next:
+    goto loop1298_test
+  loop1298_handler:
+    .local pmc exception 
+    .get_results (exception) 
+    getattribute $P1300, exception, 'type'
+    eq $P1300, 64, loop1298_next
+    eq $P1300, 66, loop1298_redo
+  loop1298_done:
     pop_eh 
-  for_undef_423:
-.annotate 'line', 455
-    .return ($P1272)
-  control_1265:
+  for_undef_427:
+.annotate 'line', 464
+    .return ($P1286)
+  control_1279:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P1287, exception, "payload"
-    .return ($P1287)
+    getattribute $P1301, exception, "payload"
+    .return ($P1301)
 .end
 
 
 .namespace ["NQP";"Actions"]
-.sub "_block1277"  :anon :subid("78_1274800470.33966") :outer("77_1274800470.33966")
-    .param pmc param_1279
-.annotate 'line', 457
-    .lex "$_", param_1279
-    find_lex $P1280, "$BLOCKINIT"
-    find_lex $P1281, "$_"
-    $P1282 = $P1281."ast"()
-    $P1283 = $P1280."push"($P1282)
-    .return ($P1283)
+.sub "_block1291"  :anon :subid("79_1274853047.92727") :outer("78_1274853047.92727")
+    .param pmc param_1293
+.annotate 'line', 466
+    .lex "$_", param_1293
+    find_lex $P1294, "$BLOCKINIT"
+    find_lex $P1295, "$_"
+    $P1296 = $P1295."ast"()
+    $P1297 = $P1294."push"($P1296)
+    .return ($P1297)
 .end
 
 
 .namespace ["NQP";"Actions"]
-.sub "parameter"  :subid("79_1274800470.33966") :method :outer("11_1274800470.33966")
-    .param pmc param_1291
-.annotate 'line', 460
-    new $P1290, 'ExceptionHandler'
-    set_addr $P1290, control_1289
-    $P1290."handle_types"(57)
-    push_eh $P1290
+.sub "parameter"  :subid("80_1274853047.92727") :method :outer("11_1274853047.92727")
+    .param pmc param_1305
+.annotate 'line', 469
+    new $P1304, 'ExceptionHandler'
+    set_addr $P1304, control_1303
+    $P1304."handle_types"(57)
+    push_eh $P1304
     .lex "self", self
-    .lex "$/", param_1291
-.annotate 'line', 461
-    new $P1292, "Undef"
-    .lex "$quant", $P1292
-.annotate 'line', 462
-    new $P1293, "Undef"
-    .lex "$past", $P1293
-.annotate 'line', 461
-    find_lex $P1294, "$/"
-    unless_null $P1294, vivify_424
-    $P1294 = root_new ['parrot';'Hash']
-  vivify_424:
-    set $P1295, $P1294["quant"]
-    unless_null $P1295, vivify_425
-    new $P1295, "Undef"
-  vivify_425:
-    store_lex "$quant", $P1295
-    find_lex $P1296, "$past"
-.annotate 'line', 463
-    find_lex $P1298, "$/"
-    unless_null $P1298, vivify_426
-    $P1298 = root_new ['parrot';'Hash']
-  vivify_426:
-    set $P1299, $P1298["named_param"]
-    unless_null $P1299, vivify_427
-    new $P1299, "Undef"
-  vivify_427:
-    if $P1299, if_1297
+    .lex "$/", param_1305
+.annotate 'line', 470
+    new $P1306, "Undef"
+    .lex "$quant", $P1306
+.annotate 'line', 471
+    new $P1307, "Undef"
+    .lex "$past", $P1307
 .annotate 'line', 470
-    find_lex $P1313, "$/"
-    unless_null $P1313, vivify_428
-    $P1313 = root_new ['parrot';'Hash']
+    find_lex $P1308, "$/"
+    unless_null $P1308, vivify_428
+    $P1308 = root_new ['parrot';'Hash']
   vivify_428:
-    set $P1314, $P1313["param_var"]
-    unless_null $P1314, vivify_429
-    new $P1314, "Undef"
+    set $P1309, $P1308["quant"]
+    unless_null $P1309, vivify_429
+    new $P1309, "Undef"
   vivify_429:
-    $P1315 = $P1314."ast"()
-    store_lex "$past", $P1315
-.annotate 'line', 471
-    find_lex $P1317, "$quant"
-    set $S1318, $P1317
-    iseq $I1319, $S1318, "*"
-    if $I1319, if_1316
-.annotate 'line', 475
-    find_lex $P1328, "$quant"
-    set $S1329, $P1328
-    iseq $I1330, $S1329, "?"
-    unless $I1330, if_1327_end
-.annotate 'line', 476
-    find_lex $P1331, "$past"
-    find_lex $P1332, "$/"
-    unless_null $P1332, vivify_430
-    $P1332 = root_new ['parrot';'Hash']
+    store_lex "$quant", $P1309
+    find_lex $P1310, "$past"
+.annotate 'line', 472
+    find_lex $P1312, "$/"
+    unless_null $P1312, vivify_430
+    $P1312 = root_new ['parrot';'Hash']
   vivify_430:
-    set $P1333, $P1332["param_var"]
-    unless_null $P1333, vivify_431
-    $P1333 = root_new ['parrot';'Hash']
+    set $P1313, $P1312["named_param"]
+    unless_null $P1313, vivify_431
+    new $P1313, "Undef"
   vivify_431:
-    set $P1334, $P1333["sigil"]
-    unless_null $P1334, vivify_432
-    new $P1334, "Undef"
+    if $P1313, if_1311
+.annotate 'line', 479
+    find_lex $P1327, "$/"
+    unless_null $P1327, vivify_432
+    $P1327 = root_new ['parrot';'Hash']
   vivify_432:
-    $P1335 = "vivitype"($P1334)
-    $P1331."viviself"($P1335)
-  if_1327_end:
-.annotate 'line', 475
-    goto if_1316_end
-  if_1316:
-.annotate 'line', 472
-    find_lex $P1320, "$past"
-    $P1320."slurpy"(1)
-.annotate 'line', 473
-    find_lex $P1321, "$past"
-    find_lex $P1322, "$/"
-    unless_null $P1322, vivify_433
-    $P1322 = root_new ['parrot';'Hash']
+    set $P1328, $P1327["param_var"]
+    unless_null $P1328, vivify_433
+    new $P1328, "Undef"
   vivify_433:
-    set $P1323, $P1322["param_var"]
-    unless_null $P1323, vivify_434
-    $P1323 = root_new ['parrot';'Hash']
+    $P1329 = $P1328."ast"()
+    store_lex "$past", $P1329
+.annotate 'line', 480
+    find_lex $P1331, "$quant"
+    set $S1332, $P1331
+    iseq $I1333, $S1332, "*"
+    if $I1333, if_1330
+.annotate 'line', 484
+    find_lex $P1342, "$quant"
+    set $S1343, $P1342
+    iseq $I1344, $S1343, "?"
+    unless $I1344, if_1341_end
+.annotate 'line', 485
+    find_lex $P1345, "$past"
+    find_lex $P1346, "$/"
+    unless_null $P1346, vivify_434
+    $P1346 = root_new ['parrot';'Hash']
   vivify_434:
-    set $P1324, $P1323["sigil"]
-    unless_null $P1324, vivify_435
-    new $P1324, "Undef"
+    set $P1347, $P1346["param_var"]
+    unless_null $P1347, vivify_435
+    $P1347 = root_new ['parrot';'Hash']
   vivify_435:
-    set $S1325, $P1324
-    iseq $I1326, $S1325, "%"
-    $P1321."named"($I1326)
-  if_1316_end:
-.annotate 'line', 469
-    goto if_1297_end
-  if_1297:
-.annotate 'line', 464
-    find_lex $P1300, "$/"
-    unless_null $P1300, vivify_436
-    $P1300 = root_new ['parrot';'Hash']
+    set $P1348, $P1347["sigil"]
+    unless_null $P1348, vivify_436
+    new $P1348, "Undef"
   vivify_436:
-    set $P1301, $P1300["named_param"]
-    unless_null $P1301, vivify_437
-    new $P1301, "Undef"
+    $P1349 = "vivitype"($P1348)
+    $P1345."viviself"($P1349)
+  if_1341_end:
+.annotate 'line', 484
+    goto if_1330_end
+  if_1330:
+.annotate 'line', 481
+    find_lex $P1334, "$past"
+    $P1334."slurpy"(1)
+.annotate 'line', 482
+    find_lex $P1335, "$past"
+    find_lex $P1336, "$/"
+    unless_null $P1336, vivify_437
+    $P1336 = root_new ['parrot';'Hash']
   vivify_437:
-    $P1302 = $P1301."ast"()
-    store_lex "$past", $P1302
-.annotate 'line', 465
-    find_lex $P1304, "$quant"
-    set $S1305, $P1304
-    isne $I1306, $S1305, "!"
-    unless $I1306, if_1303_end
-.annotate 'line', 466
-    find_lex $P1307, "$past"
-    find_lex $P1308, "$/"
-    unless_null $P1308, vivify_438
-    $P1308 = root_new ['parrot';'Hash']
+    set $P1337, $P1336["param_var"]
+    unless_null $P1337, vivify_438
+    $P1337 = root_new ['parrot';'Hash']
   vivify_438:
-    set $P1309, $P1308["named_param"]
-    unless_null $P1309, vivify_439
-    $P1309 = root_new ['parrot';'Hash']
+    set $P1338, $P1337["sigil"]
+    unless_null $P1338, vivify_439
+    new $P1338, "Undef"
   vivify_439:
-    set $P1310, $P1309["param_var"]
-    unless_null $P1310, vivify_440
-    $P1310 = root_new ['parrot';'Hash']
+    set $S1339, $P1338
+    iseq $I1340, $S1339, "%"
+    $P1335."named"($I1340)
+  if_1330_end:
+.annotate 'line', 478
+    goto if_1311_end
+  if_1311:
+.annotate 'line', 473
+    find_lex $P1314, "$/"
+    unless_null $P1314, vivify_440
+    $P1314 = root_new ['parrot';'Hash']
   vivify_440:
-    set $P1311, $P1310["sigil"]
-    unless_null $P1311, vivify_441
-    new $P1311, "Undef"
+    set $P1315, $P1314["named_param"]
+    unless_null $P1315, vivify_441
+    new $P1315, "Undef"
   vivify_441:
-    $P1312 = "vivitype"($P1311)
-    $P1307."viviself"($P1312)
-  if_1303_end:
-  if_1297_end:
-.annotate 'line', 479
-    find_lex $P1337, "$/"
-    unless_null $P1337, vivify_442
-    $P1337 = root_new ['parrot';'Hash']
+    $P1316 = $P1315."ast"()
+    store_lex "$past", $P1316
+.annotate 'line', 474
+    find_lex $P1318, "$quant"
+    set $S1319, $P1318
+    isne $I1320, $S1319, "!"
+    unless $I1320, if_1317_end
+.annotate 'line', 475
+    find_lex $P1321, "$past"
+    find_lex $P1322, "$/"
+    unless_null $P1322, vivify_442
+    $P1322 = root_new ['parrot';'Hash']
   vivify_442:
-    set $P1338, $P1337["default_value"]
-    unless_null $P1338, vivify_443
-    new $P1338, "Undef"
+    set $P1323, $P1322["named_param"]
+    unless_null $P1323, vivify_443
+    $P1323 = root_new ['parrot';'Hash']
   vivify_443:
-    unless $P1338, if_1336_end
-.annotate 'line', 480
-    find_lex $P1340, "$quant"
-    set $S1341, $P1340
-    iseq $I1342, $S1341, "*"
-    unless $I1342, if_1339_end
-.annotate 'line', 481
-    find_lex $P1343, "$/"
-    $P1344 = $P1343."CURSOR"()
-    $P1344."panic"("Can't put default on slurpy parameter")
-  if_1339_end:
-.annotate 'line', 483
-    find_lex $P1346, "$quant"
-    set $S1347, $P1346
-    iseq $I1348, $S1347, "!"
-    unless $I1348, if_1345_end
-.annotate 'line', 484
-    find_lex $P1349, "$/"
-    $P1350 = $P1349."CURSOR"()
-    $P1350."panic"("Can't put default on required parameter")
-  if_1345_end:
-.annotate 'line', 486
-    find_lex $P1351, "$past"
-    find_lex $P1352, "$/"
-    unless_null $P1352, vivify_444
-    $P1352 = root_new ['parrot';'Hash']
+    set $P1324, $P1323["param_var"]
+    unless_null $P1324, vivify_444
+    $P1324 = root_new ['parrot';'Hash']
   vivify_444:
-    set $P1353, $P1352["default_value"]
-    unless_null $P1353, vivify_445
-    $P1353 = root_new ['parrot';'ResizablePMCArray']
+    set $P1325, $P1324["sigil"]
+    unless_null $P1325, vivify_445
+    new $P1325, "Undef"
   vivify_445:
-    set $P1354, $P1353[0]
-    unless_null $P1354, vivify_446
-    $P1354 = root_new ['parrot';'Hash']
+    $P1326 = "vivitype"($P1325)
+    $P1321."viviself"($P1326)
+  if_1317_end:
+  if_1311_end:
+.annotate 'line', 488
+    find_lex $P1351, "$/"
+    unless_null $P1351, vivify_446
+    $P1351 = root_new ['parrot';'Hash']
   vivify_446:
-    set $P1355, $P1354["EXPR"]
-    unless_null $P1355, vivify_447
-    new $P1355, "Undef"
+    set $P1352, $P1351["default_value"]
+    unless_null $P1352, vivify_447
+    new $P1352, "Undef"
   vivify_447:
-    $P1356 = $P1355."ast"()
-    $P1351."viviself"($P1356)
-  if_1336_end:
-.annotate 'line', 488
-    find_lex $P1358, "$past"
-    $P1359 = $P1358."viviself"()
-    if $P1359, unless_1357_end
-    get_global $P1360, "@BLOCK"
-    unless_null $P1360, vivify_448
-    $P1360 = root_new ['parrot';'ResizablePMCArray']
+    unless $P1352, if_1350_end
+.annotate 'line', 489
+    find_lex $P1354, "$quant"
+    set $S1355, $P1354
+    iseq $I1356, $S1355, "*"
+    unless $I1356, if_1353_end
+.annotate 'line', 490
+    find_lex $P1357, "$/"
+    $P1358 = $P1357."CURSOR"()
+    $P1358."panic"("Can't put default on slurpy parameter")
+  if_1353_end:
+.annotate 'line', 492
+    find_lex $P1360, "$quant"
+    set $S1361, $P1360
+    iseq $I1362, $S1361, "!"
+    unless $I1362, if_1359_end
+.annotate 'line', 493
+    find_lex $P1363, "$/"
+    $P1364 = $P1363."CURSOR"()
+    $P1364."panic"("Can't put default on required parameter")
+  if_1359_end:
+.annotate 'line', 495
+    find_lex $P1365, "$past"
+    find_lex $P1366, "$/"
+    unless_null $P1366, vivify_448
+    $P1366 = root_new ['parrot';'Hash']
   vivify_448:
-    set $P1361, $P1360[0]
-    unless_null $P1361, vivify_449
-    new $P1361, "Undef"
+    set $P1367, $P1366["default_value"]
+    unless_null $P1367, vivify_449
+    $P1367 = root_new ['parrot';'ResizablePMCArray']
   vivify_449:
-    get_global $P1362, "@BLOCK"
-    unless_null $P1362, vivify_450
-    $P1362 = root_new ['parrot';'ResizablePMCArray']
+    set $P1368, $P1367[0]
+    unless_null $P1368, vivify_450
+    $P1368 = root_new ['parrot';'Hash']
   vivify_450:
-    set $P1363, $P1362[0]
-    unless_null $P1363, vivify_451
-    new $P1363, "Undef"
+    set $P1369, $P1368["EXPR"]
+    unless_null $P1369, vivify_451
+    new $P1369, "Undef"
   vivify_451:
-    $P1364 = $P1363."arity"()
-    set $N1365, $P1364
-    new $P1366, 'Float'
-    set $P1366, $N1365
-    add $P1367, $P1366, 1
-    $P1361."arity"($P1367)
-  unless_1357_end:
-.annotate 'line', 489
-    find_lex $P1368, "$/"
-    find_lex $P1369, "$past"
-    $P1370 = $P1368."!make"($P1369)
-.annotate 'line', 460
-    .return ($P1370)
-  control_1289:
-    .local pmc exception 
-    .get_results (exception) 
-    getattribute $P1371, exception, "payload"
-    .return ($P1371)
-.end
-
-
-.namespace ["NQP";"Actions"]
-.sub "param_var"  :subid("80_1274800470.33966") :method :outer("11_1274800470.33966")
-    .param pmc param_1375
-.annotate 'line', 492
-    new $P1374, 'ExceptionHandler'
-    set_addr $P1374, control_1373
-    $P1374."handle_types"(57)
-    push_eh $P1374
-    .lex "self", self
-    .lex "$/", param_1375
-.annotate 'line', 493
-    new $P1376, "Undef"
-    .lex "$name", $P1376
-.annotate 'line', 494
-    new $P1377, "Undef"
-    .lex "$past", $P1377
-.annotate 'line', 493
-    find_lex $P1378, "$/"
-    set $S1379, $P1378
-    new $P1380, 'String'
-    set $P1380, $S1379
-    store_lex "$name", $P1380
-.annotate 'line', 494
-    get_hll_global $P1381, ["PAST"], "Var"
-    find_lex $P1382, "$name"
-    find_lex $P1383, "$/"
-    $P1384 = $P1381."new"($P1382 :named("name"), "parameter" :named("scope"), 1 :named("isdecl"), $P1383 :named("node"))
-    store_lex "$past", $P1384
-.annotate 'line', 496
-    get_global $P1385, "@BLOCK"
-    unless_null $P1385, vivify_452
-    $P1385 = root_new ['parrot';'ResizablePMCArray']
+    $P1370 = $P1369."ast"()
+    $P1365."viviself"($P1370)
+  if_1350_end:
+.annotate 'line', 497
+    find_lex $P1372, "$past"
+    $P1373 = $P1372."viviself"()
+    if $P1373, unless_1371_end
+    get_global $P1374, "@BLOCK"
+    unless_null $P1374, vivify_452
+    $P1374 = root_new ['parrot';'ResizablePMCArray']
   vivify_452:
-    set $P1386, $P1385[0]
-    unless_null $P1386, vivify_453
-    new $P1386, "Undef"
+    set $P1375, $P1374[0]
+    unless_null $P1375, vivify_453
+    new $P1375, "Undef"
   vivify_453:
-    find_lex $P1387, "$name"
-    $P1386."symbol"($P1387, "lexical" :named("scope"))
-.annotate 'line', 497
-    find_lex $P1388, "$/"
-    find_lex $P1389, "$past"
-    $P1390 = $P1388."!make"($P1389)
-.annotate 'line', 492
-    .return ($P1390)
-  control_1373:
+    get_global $P1376, "@BLOCK"
+    unless_null $P1376, vivify_454
+    $P1376 = root_new ['parrot';'ResizablePMCArray']
+  vivify_454:
+    set $P1377, $P1376[0]
+    unless_null $P1377, vivify_455
+    new $P1377, "Undef"
+  vivify_455:
+    $P1378 = $P1377."arity"()
+    set $N1379, $P1378
+    new $P1380, 'Float'
+    set $P1380, $N1379
+    add $P1381, $P1380, 1
+    $P1375."arity"($P1381)
+  unless_1371_end:
+.annotate 'line', 498
+    find_lex $P1382, "$/"
+    find_lex $P1383, "$past"
+    $P1384 = $P1382."!make"($P1383)
+.annotate 'line', 469
+    .return ($P1384)
+  control_1303:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P1391, exception, "payload"
-    .return ($P1391)
+    getattribute $P1385, exception, "payload"
+    .return ($P1385)
 .end
 
 
 .namespace ["NQP";"Actions"]
-.sub "named_param"  :subid("81_1274800470.33966") :method :outer("11_1274800470.33966")
-    .param pmc param_1395
-.annotate 'line', 500
-    new $P1394, 'ExceptionHandler'
-    set_addr $P1394, control_1393
-    $P1394."handle_types"(57)
-    push_eh $P1394
-    .lex "self", self
-    .lex "$/", param_1395
+.sub "param_var"  :subid("81_1274853047.92727") :method :outer("11_1274853047.92727")
+    .param pmc param_1389
 .annotate 'line', 501
-    new $P1396, "Undef"
-    .lex "$past", $P1396
-    find_lex $P1397, "$/"
-    unless_null $P1397, vivify_454
-    $P1397 = root_new ['parrot';'Hash']
-  vivify_454:
-    set $P1398, $P1397["param_var"]
-    unless_null $P1398, vivify_455
-    new $P1398, "Undef"
-  vivify_455:
-    $P1399 = $P1398."ast"()
-    store_lex "$past", $P1399
+    new $P1388, 'ExceptionHandler'
+    set_addr $P1388, control_1387
+    $P1388."handle_types"(57)
+    push_eh $P1388
+    .lex "self", self
+    .lex "$/", param_1389
 .annotate 'line', 502
-    find_lex $P1400, "$past"
-    find_lex $P1401, "$/"
-    unless_null $P1401, vivify_456
-    $P1401 = root_new ['parrot';'Hash']
+    new $P1390, "Undef"
+    .lex "$name", $P1390
+.annotate 'line', 503
+    new $P1391, "Undef"
+    .lex "$past", $P1391
+.annotate 'line', 502
+    find_lex $P1392, "$/"
+    set $S1393, $P1392
+    new $P1394, 'String'
+    set $P1394, $S1393
+    store_lex "$name", $P1394
+.annotate 'line', 503
+    get_hll_global $P1395, ["PAST"], "Var"
+    find_lex $P1396, "$name"
+    find_lex $P1397, "$/"
+    $P1398 = $P1395."new"($P1396 :named("name"), "parameter" :named("scope"), 1 :named("isdecl"), $P1397 :named("node"))
+    store_lex "$past", $P1398
+.annotate 'line', 505
+    get_global $P1399, "@BLOCK"
+    unless_null $P1399, vivify_456
+    $P1399 = root_new ['parrot';'ResizablePMCArray']
   vivify_456:
-    set $P1402, $P1401["param_var"]
-    unless_null $P1402, vivify_457
-    $P1402 = root_new ['parrot';'Hash']
+    set $P1400, $P1399[0]
+    unless_null $P1400, vivify_457
+    new $P1400, "Undef"
   vivify_457:
-    set $P1403, $P1402["name"]
-    unless_null $P1403, vivify_458
-    new $P1403, "Undef"
-  vivify_458:
-    set $S1404, $P1403
-    $P1400."named"($S1404)
-.annotate 'line', 503
-    find_lex $P1405, "$/"
-    find_lex $P1406, "$past"
-    $P1407 = $P1405."!make"($P1406)
-.annotate 'line', 500
-    .return ($P1407)
-  control_1393:
+    find_lex $P1401, "$name"
+    $P1400."symbol"($P1401, "lexical" :named("scope"))
+.annotate 'line', 506
+    find_lex $P1402, "$/"
+    find_lex $P1403, "$past"
+    $P1404 = $P1402."!make"($P1403)
+.annotate 'line', 501
+    .return ($P1404)
+  control_1387:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P1408, exception, "payload"
-    .return ($P1408)
+    getattribute $P1405, exception, "payload"
+    .return ($P1405)
 .end
 
 
 .namespace ["NQP";"Actions"]
-.sub "regex_declarator"  :subid("82_1274800470.33966") :method :outer("11_1274800470.33966")
-    .param pmc param_1412
-    .param pmc param_1413 :optional
-    .param int has_param_1413 :opt_flag
-.annotate 'line', 506
-    .const 'Sub' $P1483 = "84_1274800470.33966" 
-    capture_lex $P1483
-    .const 'Sub' $P1455 = "83_1274800470.33966" 
-    capture_lex $P1455
-    new $P1411, 'ExceptionHandler'
-    set_addr $P1411, control_1410
-    $P1411."handle_types"(57)
-    push_eh $P1411
-    .lex "self", self
-    .lex "$/", param_1412
-    if has_param_1413, optparam_459
-    new $P1414, "Undef"
-    set param_1413, $P1414
-  optparam_459:
-    .lex "$key", param_1413
-.annotate 'line', 507
-    $P1415 = root_new ['parrot';'ResizablePMCArray']
-    .lex "@MODIFIERS", $P1415
+.sub "named_param"  :subid("82_1274853047.92727") :method :outer("11_1274853047.92727")
+    .param pmc param_1409
+.annotate 'line', 509
+    new $P1408, 'ExceptionHandler'
+    set_addr $P1408, control_1407
+    $P1408."handle_types"(57)
+    push_eh $P1408
+    .lex "self", self
+    .lex "$/", param_1409
 .annotate 'line', 510
-    new $P1416, "Undef"
-    .lex "$name", $P1416
+    new $P1410, "Undef"
+    .lex "$past", $P1410
+    find_lex $P1411, "$/"
+    unless_null $P1411, vivify_458
+    $P1411 = root_new ['parrot';'Hash']
+  vivify_458:
+    set $P1412, $P1411["param_var"]
+    unless_null $P1412, vivify_459
+    new $P1412, "Undef"
+  vivify_459:
+    $P1413 = $P1412."ast"()
+    store_lex "$past", $P1413
 .annotate 'line', 511
-    new $P1417, "Undef"
-    .lex "$past", $P1417
-.annotate 'line', 507
-
-        $P1418 = get_hll_global ['Regex';'P6Regex';'Actions'], '@MODIFIERS'
-    
-    store_lex "@MODIFIERS", $P1418
-.annotate 'line', 510
-    find_lex $P1419, "$/"
-    unless_null $P1419, vivify_460
-    $P1419 = root_new ['parrot';'Hash']
+    find_lex $P1414, "$past"
+    find_lex $P1415, "$/"
+    unless_null $P1415, vivify_460
+    $P1415 = root_new ['parrot';'Hash']
   vivify_460:
-    set $P1420, $P1419["deflongname"]
-    unless_null $P1420, vivify_461
-    new $P1420, "Undef"
+    set $P1416, $P1415["param_var"]
+    unless_null $P1416, vivify_461
+    $P1416 = root_new ['parrot';'Hash']
   vivify_461:
-    $P1421 = $P1420."ast"()
-    set $S1422, $P1421
-    new $P1423, 'String'
-    set $P1423, $S1422
-    store_lex "$name", $P1423
-    find_lex $P1424, "$past"
-.annotate 'line', 512
-    find_lex $P1426, "$/"
-    unless_null $P1426, vivify_462
-    $P1426 = root_new ['parrot';'Hash']
+    set $P1417, $P1416["name"]
+    unless_null $P1417, vivify_462
+    new $P1417, "Undef"
   vivify_462:
-    set $P1427, $P1426["proto"]
-    unless_null $P1427, vivify_463
-    new $P1427, "Undef"
-  vivify_463:
-    if $P1427, if_1425
-.annotate 'line', 539
-    find_lex $P1451, "$key"
-    set $S1452, $P1451
-    iseq $I1453, $S1452, "open"
-    if $I1453, if_1450
-.annotate 'line', 552
-    .const 'Sub' $P1483 = "84_1274800470.33966" 
-    capture_lex $P1483
-    $P1483()
-    goto if_1450_end
-  if_1450:
-.annotate 'line', 539
-    .const 'Sub' $P1455 = "83_1274800470.33966" 
-    capture_lex $P1455
-    $P1455()
-  if_1450_end:
-    goto if_1425_end
-  if_1425:
-.annotate 'line', 514
-    get_hll_global $P1428, ["PAST"], "Stmts"
-.annotate 'line', 515
-    get_hll_global $P1429, ["PAST"], "Block"
-    find_lex $P1430, "$name"
-.annotate 'line', 516
-    get_hll_global $P1431, ["PAST"], "Op"
-.annotate 'line', 517
-    get_hll_global $P1432, ["PAST"], "Var"
-    $P1433 = $P1432."new"("self" :named("name"), "register" :named("scope"))
-    find_lex $P1434, "$name"
-    $P1435 = $P1431."new"($P1433, $P1434, "!protoregex" :named("name"), "callmethod" :named("pasttype"))
-.annotate 'line', 516
-    find_lex $P1436, "$/"
-    $P1437 = $P1429."new"($P1435, $P1430 :named("name"), "method" :named("blocktype"), 0 :named("lexical"), $P1436 :named("node"))
-.annotate 'line', 526
-    get_hll_global $P1438, ["PAST"], "Block"
-    new $P1439, "String"
-    assign $P1439, "!PREFIX__"
-    find_lex $P1440, "$name"
-    concat $P1441, $P1439, $P1440
-.annotate 'line', 527
-    get_hll_global $P1442, ["PAST"], "Op"
-.annotate 'line', 528
-    get_hll_global $P1443, ["PAST"], "Var"
-    $P1444 = $P1443."new"("self" :named("name"), "register" :named("scope"))
-    find_lex $P1445, "$name"
-    $P1446 = $P1442."new"($P1444, $P1445, "!PREFIX__!protoregex" :named("name"), "callmethod" :named("pasttype"))
-.annotate 'line', 527
-    find_lex $P1447, "$/"
-    $P1448 = $P1438."new"($P1446, $P1441 :named("name"), "method" :named("blocktype"), 0 :named("lexical"), $P1447 :named("node"))
-.annotate 'line', 526
-    $P1449 = $P1428."new"($P1437, $P1448)
-.annotate 'line', 514
-    store_lex "$past", $P1449
-  if_1425_end:
-.annotate 'line', 566
-    find_lex $P1504, "$/"
-    find_lex $P1505, "$past"
-    $P1506 = $P1504."!make"($P1505)
-.annotate 'line', 506
-    .return ($P1506)
-  control_1410:
+    set $S1418, $P1417
+    $P1414."named"($S1418)
+.annotate 'line', 512
+    find_lex $P1419, "$/"
+    find_lex $P1420, "$past"
+    $P1421 = $P1419."!make"($P1420)
+.annotate 'line', 509
+    .return ($P1421)
+  control_1407:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P1507, exception, "payload"
-    .return ($P1507)
+    getattribute $P1422, exception, "payload"
+    .return ($P1422)
 .end
 
 
 .namespace ["NQP";"Actions"]
-.sub "_block1482"  :anon :subid("84_1274800470.33966") :outer("82_1274800470.33966")
-.annotate 'line', 553
-    new $P1484, "Undef"
-    .lex "$regex", $P1484
-.annotate 'line', 554
-    get_hll_global $P1485, ["Regex";"P6Regex";"Actions"], "buildsub"
-    find_lex $P1486, "$/"
-    unless_null $P1486, vivify_464
-    $P1486 = root_new ['parrot';'Hash']
+.sub "regex_declarator"  :subid("83_1274853047.92727") :method :outer("11_1274853047.92727")
+    .param pmc param_1426
+    .param pmc param_1427 :optional
+    .param int has_param_1427 :opt_flag
+.annotate 'line', 515
+    .const 'Sub' $P1497 = "85_1274853047.92727" 
+    capture_lex $P1497
+    .const 'Sub' $P1469 = "84_1274853047.92727" 
+    capture_lex $P1469
+    new $P1425, 'ExceptionHandler'
+    set_addr $P1425, control_1424
+    $P1425."handle_types"(57)
+    push_eh $P1425
+    .lex "self", self
+    .lex "$/", param_1426
+    if has_param_1427, optparam_463
+    new $P1428, "Undef"
+    set param_1427, $P1428
+  optparam_463:
+    .lex "$key", param_1427
+.annotate 'line', 516
+    $P1429 = root_new ['parrot';'ResizablePMCArray']
+    .lex "@MODIFIERS", $P1429
+.annotate 'line', 519
+    new $P1430, "Undef"
+    .lex "$name", $P1430
+.annotate 'line', 520
+    new $P1431, "Undef"
+    .lex "$past", $P1431
+.annotate 'line', 516
+
+        $P1432 = get_hll_global ['Regex';'P6Regex';'Actions'], '@MODIFIERS'
+    
+    store_lex "@MODIFIERS", $P1432
+.annotate 'line', 519
+    find_lex $P1433, "$/"
+    unless_null $P1433, vivify_464
+    $P1433 = root_new ['parrot';'Hash']
   vivify_464:
-    set $P1487, $P1486["p6regex"]
-    unless_null $P1487, vivify_465
-    new $P1487, "Undef"
+    set $P1434, $P1433["deflongname"]
+    unless_null $P1434, vivify_465
+    new $P1434, "Undef"
   vivify_465:
-    $P1488 = $P1487."ast"()
-    get_global $P1489, "@BLOCK"
-    $P1490 = $P1489."shift"()
-    $P1491 = $P1485($P1488, $P1490)
-    store_lex "$regex", $P1491
-.annotate 'line', 555
-    find_lex $P1492, "$regex"
-    find_lex $P1493, "$name"
-    $P1492."name"($P1493)
-.annotate 'line', 557
-    get_hll_global $P1494, ["PAST"], "Op"
-.annotate 'line', 559
-    get_hll_global $P1495, ["PAST"], "Var"
-    new $P1496, "ResizablePMCArray"
-    push $P1496, "Regex"
-    $P1497 = $P1495."new"("Method" :named("name"), $P1496 :named("namespace"), "package" :named("scope"))
-    find_lex $P1498, "$regex"
-    $P1499 = $P1494."new"($P1497, $P1498, "callmethod" :named("pasttype"), "new" :named("name"))
-.annotate 'line', 557
-    store_lex "$past", $P1499
-.annotate 'line', 563
-    find_lex $P1500, "$regex"
-    find_lex $P1501, "$past"
-    unless_null $P1501, vivify_466
-    $P1501 = root_new ['parrot';'Hash']
-    store_lex "$past", $P1501
+    $P1435 = $P1434."ast"()
+    set $S1436, $P1435
+    new $P1437, 'String'
+    set $P1437, $S1436
+    store_lex "$name", $P1437
+    find_lex $P1438, "$past"
+.annotate 'line', 521
+    find_lex $P1440, "$/"
+    unless_null $P1440, vivify_466
+    $P1440 = root_new ['parrot';'Hash']
   vivify_466:
-    set $P1501["sink"], $P1500
-.annotate 'line', 564
-    find_lex $P1502, "@MODIFIERS"
-    $P1503 = $P1502."shift"()
-.annotate 'line', 552
-    .return ($P1503)
+    set $P1441, $P1440["proto"]
+    unless_null $P1441, vivify_467
+    new $P1441, "Undef"
+  vivify_467:
+    if $P1441, if_1439
+.annotate 'line', 548
+    find_lex $P1465, "$key"
+    set $S1466, $P1465
+    iseq $I1467, $S1466, "open"
+    if $I1467, if_1464
+.annotate 'line', 561
+    .const 'Sub' $P1497 = "85_1274853047.92727" 
+    capture_lex $P1497
+    $P1497()
+    goto if_1464_end
+  if_1464:
+.annotate 'line', 548
+    .const 'Sub' $P1469 = "84_1274853047.92727" 
+    capture_lex $P1469
+    $P1469()
+  if_1464_end:
+    goto if_1439_end
+  if_1439:
+.annotate 'line', 523
+    get_hll_global $P1442, ["PAST"], "Stmts"
+.annotate 'line', 524
+    get_hll_global $P1443, ["PAST"], "Block"
+    find_lex $P1444, "$name"
+.annotate 'line', 525
+    get_hll_global $P1445, ["PAST"], "Op"
+.annotate 'line', 526
+    get_hll_global $P1446, ["PAST"], "Var"
+    $P1447 = $P1446."new"("self" :named("name"), "register" :named("scope"))
+    find_lex $P1448, "$name"
+    $P1449 = $P1445."new"($P1447, $P1448, "!protoregex" :named("name"), "callmethod" :named("pasttype"))
+.annotate 'line', 525
+    find_lex $P1450, "$/"
+    $P1451 = $P1443."new"($P1449, $P1444 :named("name"), "method" :named("blocktype"), 0 :named("lexical"), $P1450 :named("node"))
+.annotate 'line', 535
+    get_hll_global $P1452, ["PAST"], "Block"
+    new $P1453, "String"
+    assign $P1453, "!PREFIX__"
+    find_lex $P1454, "$name"
+    concat $P1455, $P1453, $P1454
+.annotate 'line', 536
+    get_hll_global $P1456, ["PAST"], "Op"
+.annotate 'line', 537
+    get_hll_global $P1457, ["PAST"], "Var"
+    $P1458 = $P1457."new"("self" :named("name"), "register" :named("scope"))
+    find_lex $P1459, "$name"
+    $P1460 = $P1456."new"($P1458, $P1459, "!PREFIX__!protoregex" :named("name"), "callmethod" :named("pasttype"))
+.annotate 'line', 536
+    find_lex $P1461, "$/"
+    $P1462 = $P1452."new"($P1460, $P1455 :named("name"), "method" :named("blocktype"), 0 :named("lexical"), $P1461 :named("node"))
+.annotate 'line', 535
+    $P1463 = $P1442."new"($P1451, $P1462)
+.annotate 'line', 523
+    store_lex "$past", $P1463
+  if_1439_end:
+.annotate 'line', 575
+    find_lex $P1518, "$/"
+    find_lex $P1519, "$past"
+    $P1520 = $P1518."!make"($P1519)
+.annotate 'line', 515
+    .return ($P1520)
+  control_1424:
+    .local pmc exception 
+    .get_results (exception) 
+    getattribute $P1521, exception, "payload"
+    .return ($P1521)
 .end
 
 
 .namespace ["NQP";"Actions"]
-.sub "_block1454"  :anon :subid("83_1274800470.33966") :outer("82_1274800470.33966")
-.annotate 'line', 540
-    $P1456 = root_new ['parrot';'Hash']
-    .lex "%h", $P1456
-.annotate 'line', 539
-    find_lex $P1457, "%h"
-.annotate 'line', 541
-    find_lex $P1459, "$/"
-    unless_null $P1459, vivify_467
-    $P1459 = root_new ['parrot';'Hash']
-  vivify_467:
-    set $P1460, $P1459["sym"]
-    unless_null $P1460, vivify_468
-    new $P1460, "Undef"
+.sub "_block1496"  :anon :subid("85_1274853047.92727") :outer("83_1274853047.92727")
+.annotate 'line', 562
+    new $P1498, "Undef"
+    .lex "$regex", $P1498
+.annotate 'line', 563
+    get_hll_global $P1499, ["Regex";"P6Regex";"Actions"], "buildsub"
+    find_lex $P1500, "$/"
+    unless_null $P1500, vivify_468
+    $P1500 = root_new ['parrot';'Hash']
   vivify_468:
-    set $S1461, $P1460
-    iseq $I1462, $S1461, "token"
-    unless $I1462, if_1458_end
-    new $P1463, "Integer"
-    assign $P1463, 1
-    find_lex $P1464, "%h"
-    unless_null $P1464, vivify_469
-    $P1464 = root_new ['parrot';'Hash']
-    store_lex "%h", $P1464
+    set $P1501, $P1500["p6regex"]
+    unless_null $P1501, vivify_469
+    new $P1501, "Undef"
   vivify_469:
-    set $P1464["r"], $P1463
-  if_1458_end:
-.annotate 'line', 542
-    find_lex $P1466, "$/"
-    unless_null $P1466, vivify_470
-    $P1466 = root_new ['parrot';'Hash']
+    $P1502 = $P1501."ast"()
+    get_global $P1503, "@BLOCK"
+    $P1504 = $P1503."shift"()
+    $P1505 = $P1499($P1502, $P1504)
+    store_lex "$regex", $P1505
+.annotate 'line', 564
+    find_lex $P1506, "$regex"
+    find_lex $P1507, "$name"
+    $P1506."name"($P1507)
+.annotate 'line', 566
+    get_hll_global $P1508, ["PAST"], "Op"
+.annotate 'line', 568
+    get_hll_global $P1509, ["PAST"], "Var"
+    new $P1510, "ResizablePMCArray"
+    push $P1510, "Regex"
+    $P1511 = $P1509."new"("Method" :named("name"), $P1510 :named("namespace"), "package" :named("scope"))
+    find_lex $P1512, "$regex"
+    $P1513 = $P1508."new"($P1511, $P1512, "callmethod" :named("pasttype"), "new" :named("name"))
+.annotate 'line', 566
+    store_lex "$past", $P1513
+.annotate 'line', 572
+    find_lex $P1514, "$regex"
+    find_lex $P1515, "$past"
+    unless_null $P1515, vivify_470
+    $P1515 = root_new ['parrot';'Hash']
+    store_lex "$past", $P1515
   vivify_470:
-    set $P1467, $P1466["sym"]
-    unless_null $P1467, vivify_471
-    new $P1467, "Undef"
-  vivify_471:
-    set $S1468, $P1467
-    iseq $I1469, $S1468, "rule"
-    unless $I1469, if_1465_end
-    new $P1470, "Integer"
-    assign $P1470, 1
+    set $P1515["sink"], $P1514
+.annotate 'line', 573
+    find_lex $P1516, "@MODIFIERS"
+    $P1517 = $P1516."shift"()
+.annotate 'line', 561
+    .return ($P1517)
+.end
+
+
+.namespace ["NQP";"Actions"]
+.sub "_block1468"  :anon :subid("84_1274853047.92727") :outer("83_1274853047.92727")
+.annotate 'line', 549
+    $P1470 = root_new ['parrot';'Hash']
+    .lex "%h", $P1470
+.annotate 'line', 548
     find_lex $P1471, "%h"
-    unless_null $P1471, vivify_472
-    $P1471 = root_new ['parrot';'Hash']
-    store_lex "%h", $P1471
-  vivify_472:
-    set $P1471["r"], $P1470
-    new $P1472, "Integer"
-    assign $P1472, 1
-    find_lex $P1473, "%h"
-    unless_null $P1473, vivify_473
+.annotate 'line', 550
+    find_lex $P1473, "$/"
+    unless_null $P1473, vivify_471
     $P1473 = root_new ['parrot';'Hash']
-    store_lex "%h", $P1473
+  vivify_471:
+    set $P1474, $P1473["sym"]
+    unless_null $P1474, vivify_472
+    new $P1474, "Undef"
+  vivify_472:
+    set $S1475, $P1474
+    iseq $I1476, $S1475, "token"
+    unless $I1476, if_1472_end
+    new $P1477, "Integer"
+    assign $P1477, 1
+    find_lex $P1478, "%h"
+    unless_null $P1478, vivify_473
+    $P1478 = root_new ['parrot';'Hash']
+    store_lex "%h", $P1478
   vivify_473:
-    set $P1473["s"], $P1472
-  if_1465_end:
-.annotate 'line', 543
-    find_lex $P1474, "@MODIFIERS"
-    find_lex $P1475, "%h"
-    $P1474."unshift"($P1475)
-.annotate 'line', 544
+    set $P1478["r"], $P1477
+  if_1472_end:
+.annotate 'line', 551
+    find_lex $P1480, "$/"
+    unless_null $P1480, vivify_474
+    $P1480 = root_new ['parrot';'Hash']
+  vivify_474:
+    set $P1481, $P1480["sym"]
+    unless_null $P1481, vivify_475
+    new $P1481, "Undef"
+  vivify_475:
+    set $S1482, $P1481
+    iseq $I1483, $S1482, "rule"
+    unless $I1483, if_1479_end
+    new $P1484, "Integer"
+    assign $P1484, 1
+    find_lex $P1485, "%h"
+    unless_null $P1485, vivify_476
+    $P1485 = root_new ['parrot';'Hash']
+    store_lex "%h", $P1485
+  vivify_476:
+    set $P1485["r"], $P1484
+    new $P1486, "Integer"
+    assign $P1486, 1
+    find_lex $P1487, "%h"
+    unless_null $P1487, vivify_477
+    $P1487 = root_new ['parrot';'Hash']
+    store_lex "%h", $P1487
+  vivify_477:
+    set $P1487["s"], $P1486
+  if_1479_end:
+.annotate 'line', 552
+    find_lex $P1488, "@MODIFIERS"
+    find_lex $P1489, "%h"
+    $P1488."unshift"($P1489)
+.annotate 'line', 553
 
             $P0 = find_lex '$name'
             set_hll_global ['Regex';'P6Regex';'Actions'], '$REGEXNAME', $P0
         
+.annotate 'line', 557
+    get_global $P1490, "@BLOCK"
+    unless_null $P1490, vivify_478
+    $P1490 = root_new ['parrot';'ResizablePMCArray']
+  vivify_478:
+    set $P1491, $P1490[0]
+    unless_null $P1491, vivify_479
+    new $P1491, "Undef"
+  vivify_479:
+    $P1491."symbol"(unicode:"$\x{a2}", "lexical" :named("scope"))
+.annotate 'line', 558
+    get_global $P1492, "@BLOCK"
+    unless_null $P1492, vivify_480
+    $P1492 = root_new ['parrot';'ResizablePMCArray']
+  vivify_480:
+    set $P1493, $P1492[0]
+    unless_null $P1493, vivify_481
+    new $P1493, "Undef"
+  vivify_481:
+    $P1493."symbol"("$/", "lexical" :named("scope"))
+.annotate 'line', 559
+    new $P1494, "Exception"
+    set $P1494['type'], 57
+    new $P1495, "Integer"
+    assign $P1495, 0
+    setattribute $P1494, 'payload', $P1495
+    throw $P1494
 .annotate 'line', 548
-    get_global $P1476, "@BLOCK"
-    unless_null $P1476, vivify_474
-    $P1476 = root_new ['parrot';'ResizablePMCArray']
-  vivify_474:
-    set $P1477, $P1476[0]
-    unless_null $P1477, vivify_475
-    new $P1477, "Undef"
-  vivify_475:
-    $P1477."symbol"(unicode:"$\x{a2}", "lexical" :named("scope"))
-.annotate 'line', 549
-    get_global $P1478, "@BLOCK"
-    unless_null $P1478, vivify_476
-    $P1478 = root_new ['parrot';'ResizablePMCArray']
-  vivify_476:
-    set $P1479, $P1478[0]
-    unless_null $P1479, vivify_477
-    new $P1479, "Undef"
-  vivify_477:
-    $P1479."symbol"("$/", "lexical" :named("scope"))
-.annotate 'line', 550
-    new $P1480, "Exception"
-    set $P1480['type'], 57
-    new $P1481, "Integer"
-    assign $P1481, 0
-    setattribute $P1480, 'payload', $P1481
-    throw $P1480
-.annotate 'line', 539
     .return ()
 .end
 
 
 .namespace ["NQP";"Actions"]
-.sub "dotty"  :subid("85_1274800470.33966") :method :outer("11_1274800470.33966")
-    .param pmc param_1511
-.annotate 'line', 570
-    new $P1510, 'ExceptionHandler'
-    set_addr $P1510, control_1509
-    $P1510."handle_types"(57)
-    push_eh $P1510
+.sub "dotty"  :subid("86_1274853047.92727") :method :outer("11_1274853047.92727")
+    .param pmc param_1525
+.annotate 'line', 579
+    new $P1524, 'ExceptionHandler'
+    set_addr $P1524, control_1523
+    $P1524."handle_types"(57)
+    push_eh $P1524
     .lex "self", self
-    .lex "$/", param_1511
-.annotate 'line', 571
-    new $P1512, "Undef"
-    .lex "$past", $P1512
-    find_lex $P1515, "$/"
-    unless_null $P1515, vivify_478
-    $P1515 = root_new ['parrot';'Hash']
-  vivify_478:
-    set $P1516, $P1515["args"]
-    unless_null $P1516, vivify_479
-    new $P1516, "Undef"
-  vivify_479:
-    if $P1516, if_1514
-    get_hll_global $P1521, ["PAST"], "Op"
-    find_lex $P1522, "$/"
-    $P1523 = $P1521."new"($P1522 :named("node"))
-    set $P1513, $P1523
-    goto if_1514_end
-  if_1514:
-    find_lex $P1517, "$/"
-    unless_null $P1517, vivify_480
-    $P1517 = root_new ['parrot';'Hash']
-  vivify_480:
-    set $P1518, $P1517["args"]
-    unless_null $P1518, vivify_481
-    $P1518 = root_new ['parrot';'ResizablePMCArray']
-  vivify_481:
-    set $P1519, $P1518[0]
-    unless_null $P1519, vivify_482
-    new $P1519, "Undef"
+    .lex "$/", param_1525
+.annotate 'line', 580
+    new $P1526, "Undef"
+    .lex "$past", $P1526
+    find_lex $P1529, "$/"
+    unless_null $P1529, vivify_482
+    $P1529 = root_new ['parrot';'Hash']
   vivify_482:
-    $P1520 = $P1519."ast"()
-    set $P1513, $P1520
-  if_1514_end:
-    store_lex "$past", $P1513
-.annotate 'line', 572
-    find_lex $P1524, "$past"
-    find_lex $P1527, "$/"
-    unless_null $P1527, vivify_483
-    $P1527 = root_new ['parrot';'Hash']
+    set $P1530, $P1529["args"]
+    unless_null $P1530, vivify_483
+    new $P1530, "Undef"
   vivify_483:
-    set $P1528, $P1527["quote"]
-    unless_null $P1528, vivify_484
-    new $P1528, "Undef"
+    if $P1530, if_1528
+    get_hll_global $P1535, ["PAST"], "Op"
+    find_lex $P1536, "$/"
+    $P1537 = $P1535."new"($P1536 :named("node"))
+    set $P1527, $P1537
+    goto if_1528_end
+  if_1528:
+    find_lex $P1531, "$/"
+    unless_null $P1531, vivify_484
+    $P1531 = root_new ['parrot';'Hash']
   vivify_484:
-    if $P1528, if_1526
-    find_lex $P1532, "$/"
+    set $P1532, $P1531["args"]
     unless_null $P1532, vivify_485
-    $P1532 = root_new ['parrot';'Hash']
+    $P1532 = root_new ['parrot';'ResizablePMCArray']
   vivify_485:
-    set $P1533, $P1532["longname"]
+    set $P1533, $P1532[0]
     unless_null $P1533, vivify_486
     new $P1533, "Undef"
   vivify_486:
-    set $S1534, $P1533
-    new $P1525, 'String'
-    set $P1525, $S1534
-    goto if_1526_end
-  if_1526:
-    find_lex $P1529, "$/"
-    unless_null $P1529, vivify_487
-    $P1529 = root_new ['parrot';'Hash']
+    $P1534 = $P1533."ast"()
+    set $P1527, $P1534
+  if_1528_end:
+    store_lex "$past", $P1527
+.annotate 'line', 581
+    find_lex $P1538, "$past"
+    find_lex $P1541, "$/"
+    unless_null $P1541, vivify_487
+    $P1541 = root_new ['parrot';'Hash']
   vivify_487:
-    set $P1530, $P1529["quote"]
-    unless_null $P1530, vivify_488
-    new $P1530, "Undef"
+    set $P1542, $P1541["quote"]
+    unless_null $P1542, vivify_488
+    new $P1542, "Undef"
   vivify_488:
-    $P1531 = $P1530."ast"()
-    set $P1525, $P1531
-  if_1526_end:
-    $P1524."name"($P1525)
-.annotate 'line', 573
-    find_lex $P1535, "$past"
-    $P1535."pasttype"("callmethod")
-.annotate 'line', 574
-    find_lex $P1536, "$/"
-    find_lex $P1537, "$past"
-    $P1538 = $P1536."!make"($P1537)
-.annotate 'line', 570
-    .return ($P1538)
-  control_1509:
-    .local pmc exception 
-    .get_results (exception) 
-    getattribute $P1539, exception, "payload"
-    .return ($P1539)
-.end
-
-
-.namespace ["NQP";"Actions"]
-.sub "term:sym<self>"  :subid("86_1274800470.33966") :method :outer("11_1274800470.33966")
-    .param pmc param_1543
-.annotate 'line', 579
-    new $P1542, 'ExceptionHandler'
-    set_addr $P1542, control_1541
-    $P1542."handle_types"(57)
-    push_eh $P1542
-    .lex "self", self
-    .lex "$/", param_1543
-.annotate 'line', 580
-    find_lex $P1544, "$/"
-    get_hll_global $P1545, ["PAST"], "Var"
-    $P1546 = $P1545."new"("self" :named("name"))
-    $P1547 = $P1544."!make"($P1546)
+    if $P1542, if_1540
+    find_lex $P1546, "$/"
+    unless_null $P1546, vivify_489
+    $P1546 = root_new ['parrot';'Hash']
+  vivify_489:
+    set $P1547, $P1546["longname"]
+    unless_null $P1547, vivify_490
+    new $P1547, "Undef"
+  vivify_490:
+    set $S1548, $P1547
+    new $P1539, 'String'
+    set $P1539, $S1548
+    goto if_1540_end
+  if_1540:
+    find_lex $P1543, "$/"
+    unless_null $P1543, vivify_491
+    $P1543 = root_new ['parrot';'Hash']
+  vivify_491:
+    set $P1544, $P1543["quote"]
+    unless_null $P1544, vivify_492
+    new $P1544, "Undef"
+  vivify_492:
+    $P1545 = $P1544."ast"()
+    set $P1539, $P1545
+  if_1540_end:
+    $P1538."name"($P1539)
+.annotate 'line', 582
+    find_lex $P1549, "$past"
+    $P1549."pasttype"("callmethod")
+.annotate 'line', 583
+    find_lex $P1550, "$/"
+    find_lex $P1551, "$past"
+    $P1552 = $P1550."!make"($P1551)
 .annotate 'line', 579
-    .return ($P1547)
-  control_1541:
+    .return ($P1552)
+  control_1523:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P1548, exception, "payload"
-    .return ($P1548)
+    getattribute $P1553, exception, "payload"
+    .return ($P1553)
 .end
 
 
 .namespace ["NQP";"Actions"]
-.sub "term:sym<identifier>"  :subid("87_1274800470.33966") :method :outer("11_1274800470.33966")
-    .param pmc param_1552
-.annotate 'line', 583
-    new $P1551, 'ExceptionHandler'
-    set_addr $P1551, control_1550
-    $P1551."handle_types"(57)
-    push_eh $P1551
-    .lex "self", self
-    .lex "$/", param_1552
-.annotate 'line', 584
-    new $P1553, "Undef"
-    .lex "$past", $P1553
-    find_lex $P1554, "$/"
-    unless_null $P1554, vivify_489
-    $P1554 = root_new ['parrot';'Hash']
-  vivify_489:
-    set $P1555, $P1554["args"]
-    unless_null $P1555, vivify_490
-    new $P1555, "Undef"
-  vivify_490:
-    $P1556 = $P1555."ast"()
-    store_lex "$past", $P1556
-.annotate 'line', 585
-    find_lex $P1557, "$past"
+.sub "term:sym<self>"  :subid("87_1274853047.92727") :method :outer("11_1274853047.92727")
+    .param pmc param_1557
+.annotate 'line', 588
+    new $P1556, 'ExceptionHandler'
+    set_addr $P1556, control_1555
+    $P1556."handle_types"(57)
+    push_eh $P1556
+    .lex "self", self
+    .lex "$/", param_1557
+.annotate 'line', 589
     find_lex $P1558, "$/"
-    unless_null $P1558, vivify_491
-    $P1558 = root_new ['parrot';'Hash']
-  vivify_491:
-    set $P1559, $P1558["identifier"]
-    unless_null $P1559, vivify_492
-    new $P1559, "Undef"
-  vivify_492:
-    set $S1560, $P1559
-    $P1557."name"($S1560)
-.annotate 'line', 586
-    find_lex $P1561, "$/"
-    find_lex $P1562, "$past"
-    $P1563 = $P1561."!make"($P1562)
-.annotate 'line', 583
-    .return ($P1563)
-  control_1550:
+    get_hll_global $P1559, ["PAST"], "Var"
+    $P1560 = $P1559."new"("self" :named("name"))
+    $P1561 = $P1558."!make"($P1560)
+.annotate 'line', 588
+    .return ($P1561)
+  control_1555:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P1564, exception, "payload"
-    .return ($P1564)
+    getattribute $P1562, exception, "payload"
+    .return ($P1562)
 .end
 
 
 .namespace ["NQP";"Actions"]
-.sub "term:sym<name>"  :subid("88_1274800470.33966") :method :outer("11_1274800470.33966")
-    .param pmc param_1568
-.annotate 'line', 589
-    new $P1567, 'ExceptionHandler'
-    set_addr $P1567, control_1566
-    $P1567."handle_types"(57)
-    push_eh $P1567
-    .lex "self", self
-    .lex "$/", param_1568
-.annotate 'line', 590
-    $P1569 = root_new ['parrot';'ResizablePMCArray']
-    .lex "@ns", $P1569
-.annotate 'line', 591
-    new $P1570, "Undef"
-    .lex "$name", $P1570
+.sub "term:sym<identifier>"  :subid("88_1274853047.92727") :method :outer("11_1274853047.92727")
+    .param pmc param_1566
+.annotate 'line', 592
+    new $P1565, 'ExceptionHandler'
+    set_addr $P1565, control_1564
+    $P1565."handle_types"(57)
+    push_eh $P1565
+    .lex "self", self
+    .lex "$/", param_1566
 .annotate 'line', 593
-    new $P1571, "Undef"
-    .lex "$var", $P1571
-.annotate 'line', 595
-    new $P1572, "Undef"
-    .lex "$past", $P1572
-.annotate 'line', 590
-    find_lex $P1573, "$/"
-    unless_null $P1573, vivify_493
-    $P1573 = root_new ['parrot';'Hash']
+    new $P1567, "Undef"
+    .lex "$past", $P1567
+    find_lex $P1568, "$/"
+    unless_null $P1568, vivify_493
+    $P1568 = root_new ['parrot';'Hash']
   vivify_493:
-    set $P1574, $P1573["name"]
-    unless_null $P1574, vivify_494
-    $P1574 = root_new ['parrot';'Hash']
+    set $P1569, $P1568["args"]
+    unless_null $P1569, vivify_494
+    new $P1569, "Undef"
   vivify_494:
-    set $P1575, $P1574["identifier"]
-    unless_null $P1575, vivify_495
-    new $P1575, "Undef"
+    $P1570 = $P1569."ast"()
+    store_lex "$past", $P1570
+.annotate 'line', 594
+    find_lex $P1571, "$past"
+    find_lex $P1572, "$/"
+    unless_null $P1572, vivify_495
+    $P1572 = root_new ['parrot';'Hash']
   vivify_495:
-    clone $P1576, $P1575
-    store_lex "@ns", $P1576
-.annotate 'line', 591
-    find_lex $P1577, "@ns"
-    $P1578 = $P1577."pop"()
-    store_lex "$name", $P1578
+    set $P1573, $P1572["identifier"]
+    unless_null $P1573, vivify_496
+    new $P1573, "Undef"
+  vivify_496:
+    set $S1574, $P1573
+    $P1571."name"($S1574)
+.annotate 'line', 595
+    find_lex $P1575, "$/"
+    find_lex $P1576, "$past"
+    $P1577 = $P1575."!make"($P1576)
 .annotate 'line', 592
-    find_lex $P1582, "@ns"
-    if $P1582, if_1581
-    set $P1580, $P1582
-    goto if_1581_end
-  if_1581:
-    find_lex $P1583, "@ns"
-    unless_null $P1583, vivify_496
+    .return ($P1577)
+  control_1564:
+    .local pmc exception 
+    .get_results (exception) 
+    getattribute $P1578, exception, "payload"
+    .return ($P1578)
+.end
+
+
+.namespace ["NQP";"Actions"]
+.sub "term:sym<name>"  :subid("89_1274853047.92727") :method :outer("11_1274853047.92727")
+    .param pmc param_1582
+.annotate 'line', 598
+    new $P1581, 'ExceptionHandler'
+    set_addr $P1581, control_1580
+    $P1581."handle_types"(57)
+    push_eh $P1581
+    .lex "self", self
+    .lex "$/", param_1582
+.annotate 'line', 599
     $P1583 = root_new ['parrot';'ResizablePMCArray']
-  vivify_496:
-    set $P1584, $P1583[0]
-    unless_null $P1584, vivify_497
+    .lex "@ns", $P1583
+.annotate 'line', 600
     new $P1584, "Undef"
+    .lex "$name", $P1584
+.annotate 'line', 602
+    new $P1585, "Undef"
+    .lex "$var", $P1585
+.annotate 'line', 604
+    new $P1586, "Undef"
+    .lex "$past", $P1586
+.annotate 'line', 599
+    find_lex $P1587, "$/"
+    unless_null $P1587, vivify_497
+    $P1587 = root_new ['parrot';'Hash']
   vivify_497:
-    set $S1585, $P1584
-    iseq $I1586, $S1585, "GLOBAL"
-    new $P1580, 'Integer'
-    set $P1580, $I1586
-  if_1581_end:
-    unless $P1580, if_1579_end
-    find_lex $P1587, "@ns"
-    $P1587."shift"()
-  if_1579_end:
-.annotate 'line', 594
-    get_hll_global $P1588, ["PAST"], "Var"
-    find_lex $P1589, "$name"
-    set $S1590, $P1589
-    find_lex $P1591, "@ns"
-    $P1592 = $P1588."new"($S1590 :named("name"), $P1591 :named("namespace"), "package" :named("scope"))
-    store_lex "$var", $P1592
-.annotate 'line', 595
-    find_lex $P1593, "$var"
-    store_lex "$past", $P1593
-.annotate 'line', 596
-    find_lex $P1595, "$/"
-    unless_null $P1595, vivify_498
-    $P1595 = root_new ['parrot';'Hash']
+    set $P1588, $P1587["name"]
+    unless_null $P1588, vivify_498
+    $P1588 = root_new ['parrot';'Hash']
   vivify_498:
-    set $P1596, $P1595["args"]
-    unless_null $P1596, vivify_499
-    new $P1596, "Undef"
+    set $P1589, $P1588["identifier"]
+    unless_null $P1589, vivify_499
+    new $P1589, "Undef"
   vivify_499:
-    unless $P1596, if_1594_end
-.annotate 'line', 597
-    find_lex $P1597, "$/"
+    clone $P1590, $P1589
+    store_lex "@ns", $P1590
+.annotate 'line', 600
+    find_lex $P1591, "@ns"
+    $P1592 = $P1591."pop"()
+    store_lex "$name", $P1592
+.annotate 'line', 601
+    find_lex $P1596, "@ns"
+    if $P1596, if_1595
+    set $P1594, $P1596
+    goto if_1595_end
+  if_1595:
+    find_lex $P1597, "@ns"
     unless_null $P1597, vivify_500
-    $P1597 = root_new ['parrot';'Hash']
+    $P1597 = root_new ['parrot';'ResizablePMCArray']
   vivify_500:
-    set $P1598, $P1597["args"]
+    set $P1598, $P1597[0]
     unless_null $P1598, vivify_501
-    $P1598 = root_new ['parrot';'ResizablePMCArray']
+    new $P1598, "Undef"
   vivify_501:
-    set $P1599, $P1598[0]
-    unless_null $P1599, vivify_502
-    new $P1599, "Undef"
+    set $S1599, $P1598
+    iseq $I1600, $S1599, "GLOBAL"
+    new $P1594, 'Integer'
+    set $P1594, $I1600
+  if_1595_end:
+    unless $P1594, if_1593_end
+    find_lex $P1601, "@ns"
+    $P1601."shift"()
+  if_1593_end:
+.annotate 'line', 603
+    get_hll_global $P1602, ["PAST"], "Var"
+    find_lex $P1603, "$name"
+    set $S1604, $P1603
+    find_lex $P1605, "@ns"
+    $P1606 = $P1602."new"($S1604 :named("name"), $P1605 :named("namespace"), "package" :named("scope"))
+    store_lex "$var", $P1606
+.annotate 'line', 604
+    find_lex $P1607, "$var"
+    store_lex "$past", $P1607
+.annotate 'line', 605
+    find_lex $P1609, "$/"
+    unless_null $P1609, vivify_502
+    $P1609 = root_new ['parrot';'Hash']
   vivify_502:
-    $P1600 = $P1599."ast"()
-    store_lex "$past", $P1600
+    set $P1610, $P1609["args"]
+    unless_null $P1610, vivify_503
+    new $P1610, "Undef"
+  vivify_503:
+    unless $P1610, if_1608_end
+.annotate 'line', 606
+    find_lex $P1611, "$/"
+    unless_null $P1611, vivify_504
+    $P1611 = root_new ['parrot';'Hash']
+  vivify_504:
+    set $P1612, $P1611["args"]
+    unless_null $P1612, vivify_505
+    $P1612 = root_new ['parrot';'ResizablePMCArray']
+  vivify_505:
+    set $P1613, $P1612[0]
+    unless_null $P1613, vivify_506
+    new $P1613, "Undef"
+  vivify_506:
+    $P1614 = $P1613."ast"()
+    store_lex "$past", $P1614
+.annotate 'line', 607
+    find_lex $P1615, "$past"
+    find_lex $P1616, "$var"
+    $P1615."unshift"($P1616)
+  if_1608_end:
+.annotate 'line', 609
+    find_lex $P1617, "$/"
+    find_lex $P1618, "$past"
+    $P1619 = $P1617."!make"($P1618)
 .annotate 'line', 598
-    find_lex $P1601, "$past"
-    find_lex $P1602, "$var"
-    $P1601."unshift"($P1602)
-  if_1594_end:
-.annotate 'line', 600
-    find_lex $P1603, "$/"
-    find_lex $P1604, "$past"
-    $P1605 = $P1603."!make"($P1604)
-.annotate 'line', 589
-    .return ($P1605)
-  control_1566:
+    .return ($P1619)
+  control_1580:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P1606, exception, "payload"
-    .return ($P1606)
+    getattribute $P1620, exception, "payload"
+    .return ($P1620)
 .end
 
 
 .namespace ["NQP";"Actions"]
-.sub "term:sym<pir::op>"  :subid("89_1274800470.33966") :method :outer("11_1274800470.33966")
-    .param pmc param_1610
-.annotate 'line', 603
-    new $P1609, 'ExceptionHandler'
-    set_addr $P1609, control_1608
-    $P1609."handle_types"(57)
-    push_eh $P1609
+.sub "term:sym<pir::op>"  :subid("90_1274853047.92727") :method :outer("11_1274853047.92727")
+    .param pmc param_1624
+.annotate 'line', 612
+    new $P1623, 'ExceptionHandler'
+    set_addr $P1623, control_1622
+    $P1623."handle_types"(57)
+    push_eh $P1623
     .lex "self", self
-    .lex "$/", param_1610
-.annotate 'line', 604
-    new $P1611, "Undef"
-    .lex "$past", $P1611
-.annotate 'line', 605
-    new $P1612, "Undef"
-    .lex "$pirop", $P1612
-.annotate 'line', 604
-    find_lex $P1615, "$/"
-    unless_null $P1615, vivify_503
-    $P1615 = root_new ['parrot';'Hash']
-  vivify_503:
-    set $P1616, $P1615["args"]
-    unless_null $P1616, vivify_504
-    new $P1616, "Undef"
-  vivify_504:
-    if $P1616, if_1614
-    get_hll_global $P1621, ["PAST"], "Op"
-    find_lex $P1622, "$/"
-    $P1623 = $P1621."new"($P1622 :named("node"))
-    set $P1613, $P1623
-    goto if_1614_end
-  if_1614:
-    find_lex $P1617, "$/"
-    unless_null $P1617, vivify_505
-    $P1617 = root_new ['parrot';'Hash']
-  vivify_505:
-    set $P1618, $P1617["args"]
-    unless_null $P1618, vivify_506
-    $P1618 = root_new ['parrot';'ResizablePMCArray']
-  vivify_506:
-    set $P1619, $P1618[0]
-    unless_null $P1619, vivify_507
-    new $P1619, "Undef"
+    .lex "$/", param_1624
+.annotate 'line', 613
+    new $P1625, "Undef"
+    .lex "$past", $P1625
+.annotate 'line', 614
+    new $P1626, "Undef"
+    .lex "$pirop", $P1626
+.annotate 'line', 613
+    find_lex $P1629, "$/"
+    unless_null $P1629, vivify_507
+    $P1629 = root_new ['parrot';'Hash']
   vivify_507:
-    $P1620 = $P1619."ast"()
-    set $P1613, $P1620
-  if_1614_end:
-    store_lex "$past", $P1613
-.annotate 'line', 605
-    find_lex $P1624, "$/"
-    unless_null $P1624, vivify_508
-    $P1624 = root_new ['parrot';'Hash']
+    set $P1630, $P1629["args"]
+    unless_null $P1630, vivify_508
+    new $P1630, "Undef"
   vivify_508:
-    set $P1625, $P1624["op"]
-    unless_null $P1625, vivify_509
-    new $P1625, "Undef"
+    if $P1630, if_1628
+    get_hll_global $P1635, ["PAST"], "Op"
+    find_lex $P1636, "$/"
+    $P1637 = $P1635."new"($P1636 :named("node"))
+    set $P1627, $P1637
+    goto if_1628_end
+  if_1628:
+    find_lex $P1631, "$/"
+    unless_null $P1631, vivify_509
+    $P1631 = root_new ['parrot';'Hash']
   vivify_509:
-    set $S1626, $P1625
-    new $P1627, 'String'
-    set $P1627, $S1626
-    store_lex "$pirop", $P1627
-.annotate 'line', 606
+    set $P1632, $P1631["args"]
+    unless_null $P1632, vivify_510
+    $P1632 = root_new ['parrot';'ResizablePMCArray']
+  vivify_510:
+    set $P1633, $P1632[0]
+    unless_null $P1633, vivify_511
+    new $P1633, "Undef"
+  vivify_511:
+    $P1634 = $P1633."ast"()
+    set $P1627, $P1634
+  if_1628_end:
+    store_lex "$past", $P1627
+.annotate 'line', 614
+    find_lex $P1638, "$/"
+    unless_null $P1638, vivify_512
+    $P1638 = root_new ['parrot';'Hash']
+  vivify_512:
+    set $P1639, $P1638["op"]
+    unless_null $P1639, vivify_513
+    new $P1639, "Undef"
+  vivify_513:
+    set $S1640, $P1639
+    new $P1641, 'String'
+    set $P1641, $S1640
+    store_lex "$pirop", $P1641
+.annotate 'line', 615
 
         $P0 = find_lex '$pirop'
         $S0 = $P0
         $P0 = split '__', $S0
         $S0 = join ' ', $P0
-        $P1628 = box $S0
+        $P1642 = box $S0
     
-    store_lex "$pirop", $P1628
-.annotate 'line', 613
-    find_lex $P1629, "$past"
-    find_lex $P1630, "$pirop"
-    $P1629."pirop"($P1630)
-.annotate 'line', 614
-    find_lex $P1631, "$past"
-    $P1631."pasttype"("pirop")
-.annotate 'line', 615
-    find_lex $P1632, "$/"
-    find_lex $P1633, "$past"
-    $P1634 = $P1632."!make"($P1633)
-.annotate 'line', 603
-    .return ($P1634)
-  control_1608:
+    store_lex "$pirop", $P1642
+.annotate 'line', 622
+    find_lex $P1643, "$past"
+    find_lex $P1644, "$pirop"
+    $P1643."pirop"($P1644)
+.annotate 'line', 623
+    find_lex $P1645, "$past"
+    $P1645."pasttype"("pirop")
+.annotate 'line', 624
+    find_lex $P1646, "$/"
+    find_lex $P1647, "$past"
+    $P1648 = $P1646."!make"($P1647)
+.annotate 'line', 612
+    .return ($P1648)
+  control_1622:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P1635, exception, "payload"
-    .return ($P1635)
+    getattribute $P1649, exception, "payload"
+    .return ($P1649)
 .end
 
 
 .namespace ["NQP";"Actions"]
-.sub "args"  :subid("90_1274800470.33966") :method :outer("11_1274800470.33966")
-    .param pmc param_1639
-.annotate 'line', 618
-    new $P1638, 'ExceptionHandler'
-    set_addr $P1638, control_1637
-    $P1638."handle_types"(57)
-    push_eh $P1638
+.sub "args"  :subid("91_1274853047.92727") :method :outer("11_1274853047.92727")
+    .param pmc param_1653
+.annotate 'line', 627
+    new $P1652, 'ExceptionHandler'
+    set_addr $P1652, control_1651
+    $P1652."handle_types"(57)
+    push_eh $P1652
     .lex "self", self
-    .lex "$/", param_1639
-    find_lex $P1640, "$/"
-    find_lex $P1641, "$/"
-    unless_null $P1641, vivify_510
-    $P1641 = root_new ['parrot';'Hash']
-  vivify_510:
-    set $P1642, $P1641["arglist"]
-    unless_null $P1642, vivify_511
-    new $P1642, "Undef"
-  vivify_511:
-    $P1643 = $P1642."ast"()
-    $P1644 = $P1640."!make"($P1643)
-    .return ($P1644)
-  control_1637:
+    .lex "$/", param_1653
+    find_lex $P1654, "$/"
+    find_lex $P1655, "$/"
+    unless_null $P1655, vivify_514
+    $P1655 = root_new ['parrot';'Hash']
+  vivify_514:
+    set $P1656, $P1655["arglist"]
+    unless_null $P1656, vivify_515
+    new $P1656, "Undef"
+  vivify_515:
+    $P1657 = $P1656."ast"()
+    $P1658 = $P1654."!make"($P1657)
+    .return ($P1658)
+  control_1651:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P1645, exception, "payload"
-    .return ($P1645)
+    getattribute $P1659, exception, "payload"
+    .return ($P1659)
 .end
 
 
 .namespace ["NQP";"Actions"]
-.sub "arglist"  :subid("91_1274800470.33966") :method :outer("11_1274800470.33966")
-    .param pmc param_1649
-.annotate 'line', 620
-    .const 'Sub' $P1660 = "92_1274800470.33966" 
-    capture_lex $P1660
-    new $P1648, 'ExceptionHandler'
-    set_addr $P1648, control_1647
-    $P1648."handle_types"(57)
-    push_eh $P1648
-    .lex "self", self
-    .lex "$/", param_1649
-.annotate 'line', 621
-    new $P1650, "Undef"
-    .lex "$past", $P1650
+.sub "arglist"  :subid("92_1274853047.92727") :method :outer("11_1274853047.92727")
+    .param pmc param_1663
 .annotate 'line', 629
-    new $P1651, "Undef"
-    .lex "$i", $P1651
+    .const 'Sub' $P1674 = "93_1274853047.92727" 
+    capture_lex $P1674
+    new $P1662, 'ExceptionHandler'
+    set_addr $P1662, control_1661
+    $P1662."handle_types"(57)
+    push_eh $P1662
+    .lex "self", self
+    .lex "$/", param_1663
 .annotate 'line', 630
-    new $P1652, "Undef"
-    .lex "$n", $P1652
-.annotate 'line', 621
-    get_hll_global $P1653, ["PAST"], "Op"
-    find_lex $P1654, "$/"
-    $P1655 = $P1653."new"("call" :named("pasttype"), $P1654 :named("node"))
-    store_lex "$past", $P1655
-.annotate 'line', 622
-    find_lex $P1657, "$/"
-    unless_null $P1657, vivify_512
-    $P1657 = root_new ['parrot';'Hash']
-  vivify_512:
-    set $P1658, $P1657["EXPR"]
-    unless_null $P1658, vivify_513
-    new $P1658, "Undef"
-  vivify_513:
-    unless $P1658, if_1656_end
-    .const 'Sub' $P1660 = "92_1274800470.33966" 
-    capture_lex $P1660
-    $P1660()
-  if_1656_end:
-.annotate 'line', 629
-    new $P1692, "Integer"
-    assign $P1692, 0
-    store_lex "$i", $P1692
+    new $P1664, "Undef"
+    .lex "$past", $P1664
+.annotate 'line', 638
+    new $P1665, "Undef"
+    .lex "$i", $P1665
+.annotate 'line', 639
+    new $P1666, "Undef"
+    .lex "$n", $P1666
 .annotate 'line', 630
-    find_lex $P1693, "$past"
-    $P1694 = $P1693."list"()
-    set $N1695, $P1694
-    new $P1696, 'Float'
-    set $P1696, $N1695
-    store_lex "$n", $P1696
+    get_hll_global $P1667, ["PAST"], "Op"
+    find_lex $P1668, "$/"
+    $P1669 = $P1667."new"("call" :named("pasttype"), $P1668 :named("node"))
+    store_lex "$past", $P1669
 .annotate 'line', 631
-    new $P1744, 'ExceptionHandler'
-    set_addr $P1744, loop1743_handler
-    $P1744."handle_types"(64, 66, 65)
-    push_eh $P1744
-  loop1743_test:
-    find_lex $P1697, "$i"
-    set $N1698, $P1697
-    find_lex $P1699, "$n"
-    set $N1700, $P1699
-    islt $I1701, $N1698, $N1700
-    unless $I1701, loop1743_done
-  loop1743_redo:
-.annotate 'line', 632
-    find_lex $P1703, "$i"
-    set $I1704, $P1703
-    find_lex $P1705, "$past"
-    unless_null $P1705, vivify_517
-    $P1705 = root_new ['parrot';'ResizablePMCArray']
+    find_lex $P1671, "$/"
+    unless_null $P1671, vivify_516
+    $P1671 = root_new ['parrot';'Hash']
+  vivify_516:
+    set $P1672, $P1671["EXPR"]
+    unless_null $P1672, vivify_517
+    new $P1672, "Undef"
   vivify_517:
-    set $P1706, $P1705[$I1704]
-    unless_null $P1706, vivify_518
-    new $P1706, "Undef"
-  vivify_518:
-    $S1707 = $P1706."name"()
-    iseq $I1708, $S1707, "&prefix:<|>"
-    unless $I1708, if_1702_end
-.annotate 'line', 633
-    find_lex $P1709, "$i"
-    set $I1710, $P1709
-    find_lex $P1711, "$past"
-    unless_null $P1711, vivify_519
-    $P1711 = root_new ['parrot';'ResizablePMCArray']
-  vivify_519:
-    set $P1712, $P1711[$I1710]
-    unless_null $P1712, vivify_520
-    $P1712 = root_new ['parrot';'ResizablePMCArray']
-  vivify_520:
-    set $P1713, $P1712[0]
-    unless_null $P1713, vivify_521
-    new $P1713, "Undef"
-  vivify_521:
-    find_lex $P1714, "$i"
-    set $I1715, $P1714
-    find_lex $P1716, "$past"
-    unless_null $P1716, vivify_522
-    $P1716 = root_new ['parrot';'ResizablePMCArray']
-    store_lex "$past", $P1716
-  vivify_522:
-    set $P1716[$I1715], $P1713
-.annotate 'line', 634
+    unless $P1672, if_1670_end
+    .const 'Sub' $P1674 = "93_1274853047.92727" 
+    capture_lex $P1674
+    $P1674()
+  if_1670_end:
+.annotate 'line', 638
+    new $P1706, "Integer"
+    assign $P1706, 0
+    store_lex "$i", $P1706
+.annotate 'line', 639
+    find_lex $P1707, "$past"
+    $P1708 = $P1707."list"()
+    set $N1709, $P1708
+    new $P1710, 'Float'
+    set $P1710, $N1709
+    store_lex "$n", $P1710
+.annotate 'line', 640
+    new $P1758, 'ExceptionHandler'
+    set_addr $P1758, loop1757_handler
+    $P1758."handle_types"(64, 66, 65)
+    push_eh $P1758
+  loop1757_test:
+    find_lex $P1711, "$i"
+    set $N1712, $P1711
+    find_lex $P1713, "$n"
+    set $N1714, $P1713
+    islt $I1715, $N1712, $N1714
+    unless $I1715, loop1757_done
+  loop1757_redo:
+.annotate 'line', 641
     find_lex $P1717, "$i"
     set $I1718, $P1717
     find_lex $P1719, "$past"
-    unless_null $P1719, vivify_523
+    unless_null $P1719, vivify_521
     $P1719 = root_new ['parrot';'ResizablePMCArray']
-  vivify_523:
+  vivify_521:
     set $P1720, $P1719[$I1718]
-    unless_null $P1720, vivify_524
+    unless_null $P1720, vivify_522
     new $P1720, "Undef"
-  vivify_524:
-    $P1720."flat"(1)
-.annotate 'line', 635
-    find_lex $P1724, "$i"
-    set $I1725, $P1724
-    find_lex $P1726, "$past"
-    unless_null $P1726, vivify_525
+  vivify_522:
+    $S1721 = $P1720."name"()
+    iseq $I1722, $S1721, "&prefix:<|>"
+    unless $I1722, if_1716_end
+.annotate 'line', 642
+    find_lex $P1723, "$i"
+    set $I1724, $P1723
+    find_lex $P1725, "$past"
+    unless_null $P1725, vivify_523
+    $P1725 = root_new ['parrot';'ResizablePMCArray']
+  vivify_523:
+    set $P1726, $P1725[$I1724]
+    unless_null $P1726, vivify_524
     $P1726 = root_new ['parrot';'ResizablePMCArray']
-  vivify_525:
-    set $P1727, $P1726[$I1725]
-    unless_null $P1727, vivify_526
+  vivify_524:
+    set $P1727, $P1726[0]
+    unless_null $P1727, vivify_525
     new $P1727, "Undef"
+  vivify_525:
+    find_lex $P1728, "$i"
+    set $I1729, $P1728
+    find_lex $P1730, "$past"
+    unless_null $P1730, vivify_526
+    $P1730 = root_new ['parrot';'ResizablePMCArray']
+    store_lex "$past", $P1730
   vivify_526:
-    get_hll_global $P1728, ["PAST"], "Val"
-    $P1729 = $P1727."isa"($P1728)
-    if $P1729, if_1723
-    set $P1722, $P1729
-    goto if_1723_end
-  if_1723:
-.annotate 'line', 636
-    find_lex $P1730, "$i"
-    set $I1731, $P1730
-    find_lex $P1732, "$past"
-    unless_null $P1732, vivify_527
-    $P1732 = root_new ['parrot';'ResizablePMCArray']
+    set $P1730[$I1729], $P1727
+.annotate 'line', 643
+    find_lex $P1731, "$i"
+    set $I1732, $P1731
+    find_lex $P1733, "$past"
+    unless_null $P1733, vivify_527
+    $P1733 = root_new ['parrot';'ResizablePMCArray']
   vivify_527:
-    set $P1733, $P1732[$I1731]
-    unless_null $P1733, vivify_528
-    new $P1733, "Undef"
+    set $P1734, $P1733[$I1732]
+    unless_null $P1734, vivify_528
+    new $P1734, "Undef"
   vivify_528:
-    $S1734 = $P1733."name"()
-    substr $S1735, $S1734, 0, 1
-    iseq $I1736, $S1735, "%"
-    new $P1722, 'Integer'
-    set $P1722, $I1736
-  if_1723_end:
-    unless $P1722, if_1721_end
-.annotate 'line', 637
-    find_lex $P1737, "$i"
-    set $I1738, $P1737
-    find_lex $P1739, "$past"
-    unless_null $P1739, vivify_529
-    $P1739 = root_new ['parrot';'ResizablePMCArray']
+    $P1734."flat"(1)
+.annotate 'line', 644
+    find_lex $P1738, "$i"
+    set $I1739, $P1738
+    find_lex $P1740, "$past"
+    unless_null $P1740, vivify_529
+    $P1740 = root_new ['parrot';'ResizablePMCArray']
   vivify_529:
-    set $P1740, $P1739[$I1738]
-    unless_null $P1740, vivify_530
-    new $P1740, "Undef"
+    set $P1741, $P1740[$I1739]
+    unless_null $P1741, vivify_530
+    new $P1741, "Undef"
   vivify_530:
-    $P1740."named"(1)
-  if_1721_end:
-  if_1702_end:
-.annotate 'line', 632
-    find_lex $P1741, "$i"
-    clone $P1742, $P1741
-    inc $P1741
-  loop1743_next:
-.annotate 'line', 631
-    goto loop1743_test
-  loop1743_handler:
-    .local pmc exception 
-    .get_results (exception) 
-    getattribute $P1745, exception, 'type'
-    eq $P1745, 64, loop1743_next
-    eq $P1745, 66, loop1743_redo
-  loop1743_done:
+    get_hll_global $P1742, ["PAST"], "Val"
+    $P1743 = $P1741."isa"($P1742)
+    if $P1743, if_1737
+    set $P1736, $P1743
+    goto if_1737_end
+  if_1737:
+.annotate 'line', 645
+    find_lex $P1744, "$i"
+    set $I1745, $P1744
+    find_lex $P1746, "$past"
+    unless_null $P1746, vivify_531
+    $P1746 = root_new ['parrot';'ResizablePMCArray']
+  vivify_531:
+    set $P1747, $P1746[$I1745]
+    unless_null $P1747, vivify_532
+    new $P1747, "Undef"
+  vivify_532:
+    $S1748 = $P1747."name"()
+    substr $S1749, $S1748, 0, 1
+    iseq $I1750, $S1749, "%"
+    new $P1736, 'Integer'
+    set $P1736, $I1750
+  if_1737_end:
+    unless $P1736, if_1735_end
+.annotate 'line', 646
+    find_lex $P1751, "$i"
+    set $I1752, $P1751
+    find_lex $P1753, "$past"
+    unless_null $P1753, vivify_533
+    $P1753 = root_new ['parrot';'ResizablePMCArray']
+  vivify_533:
+    set $P1754, $P1753[$I1752]
+    unless_null $P1754, vivify_534
+    new $P1754, "Undef"
+  vivify_534:
+    $P1754."named"(1)
+  if_1735_end:
+  if_1716_end:
+.annotate 'line', 641
+    find_lex $P1755, "$i"
+    clone $P1756, $P1755
+    inc $P1755
+  loop1757_next:
+.annotate 'line', 640
+    goto loop1757_test
+  loop1757_handler:
+    .local pmc exception 
+    .get_results (exception) 
+    getattribute $P1759, exception, 'type'
+    eq $P1759, 64, loop1757_next
+    eq $P1759, 66, loop1757_redo
+  loop1757_done:
     pop_eh 
-.annotate 'line', 642
-    find_lex $P1746, "$/"
-    find_lex $P1747, "$past"
-    $P1748 = $P1746."!make"($P1747)
-.annotate 'line', 620
-    .return ($P1748)
-  control_1647:
+.annotate 'line', 651
+    find_lex $P1760, "$/"
+    find_lex $P1761, "$past"
+    $P1762 = $P1760."!make"($P1761)
+.annotate 'line', 629
+    .return ($P1762)
+  control_1661:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P1749, exception, "payload"
-    .return ($P1749)
+    getattribute $P1763, exception, "payload"
+    .return ($P1763)
 .end
 
 
 .namespace ["NQP";"Actions"]
-.sub "_block1659"  :anon :subid("92_1274800470.33966") :outer("91_1274800470.33966")
-.annotate 'line', 622
-    .const 'Sub' $P1681 = "93_1274800470.33966" 
-    capture_lex $P1681
-.annotate 'line', 623
-    new $P1661, "Undef"
-    .lex "$expr", $P1661
-    find_lex $P1662, "$/"
-    unless_null $P1662, vivify_514
-    $P1662 = root_new ['parrot';'Hash']
-  vivify_514:
-    set $P1663, $P1662["EXPR"]
-    unless_null $P1663, vivify_515
-    new $P1663, "Undef"
-  vivify_515:
-    $P1664 = $P1663."ast"()
-    store_lex "$expr", $P1664
-.annotate 'line', 624
-    find_lex $P1669, "$expr"
-    $S1670 = $P1669."name"()
-    iseq $I1671, $S1670, "&infix:<,>"
-    if $I1671, if_1668
-    new $P1667, 'Integer'
-    set $P1667, $I1671
-    goto if_1668_end
-  if_1668:
-    find_lex $P1672, "$expr"
-    $P1673 = $P1672."named"()
-    isfalse $I1674, $P1673
-    new $P1667, 'Integer'
-    set $P1667, $I1674
-  if_1668_end:
-    if $P1667, if_1666
-.annotate 'line', 627
-    find_lex $P1689, "$past"
+.sub "_block1673"  :anon :subid("93_1274853047.92727") :outer("92_1274853047.92727")
+.annotate 'line', 631
+    .const 'Sub' $P1695 = "94_1274853047.92727" 
+    capture_lex $P1695
+.annotate 'line', 632
+    new $P1675, "Undef"
+    .lex "$expr", $P1675
+    find_lex $P1676, "$/"
+    unless_null $P1676, vivify_518
+    $P1676 = root_new ['parrot';'Hash']
+  vivify_518:
+    set $P1677, $P1676["EXPR"]
+    unless_null $P1677, vivify_519
+    new $P1677, "Undef"
+  vivify_519:
+    $P1678 = $P1677."ast"()
+    store_lex "$expr", $P1678
+.annotate 'line', 633
+    find_lex $P1683, "$expr"
+    $S1684 = $P1683."name"()
+    iseq $I1685, $S1684, "&infix:<,>"
+    if $I1685, if_1682
+    new $P1681, 'Integer'
+    set $P1681, $I1685
+    goto if_1682_end
+  if_1682:
+    find_lex $P1686, "$expr"
+    $P1687 = $P1686."named"()
+    isfalse $I1688, $P1687
+    new $P1681, 'Integer'
+    set $P1681, $I1688
+  if_1682_end:
+    if $P1681, if_1680
+.annotate 'line', 636
+    find_lex $P1703, "$past"
+    find_lex $P1704, "$expr"
+    $P1705 = $P1703."push"($P1704)
+    set $P1679, $P1705
+.annotate 'line', 633
+    goto if_1680_end
+  if_1680:
+.annotate 'line', 634
     find_lex $P1690, "$expr"
-    $P1691 = $P1689."push"($P1690)
-    set $P1665, $P1691
-.annotate 'line', 624
-    goto if_1666_end
-  if_1666:
-.annotate 'line', 625
-    find_lex $P1676, "$expr"
-    $P1677 = $P1676."list"()
-    defined $I1678, $P1677
-    unless $I1678, for_undef_516
-    iter $P1675, $P1677
-    new $P1687, 'ExceptionHandler'
-    set_addr $P1687, loop1686_handler
-    $P1687."handle_types"(64, 66, 65)
-    push_eh $P1687
-  loop1686_test:
-    unless $P1675, loop1686_done
-    shift $P1679, $P1675
-  loop1686_redo:
-    .const 'Sub' $P1681 = "93_1274800470.33966" 
-    capture_lex $P1681
-    $P1681($P1679)
-  loop1686_next:
-    goto loop1686_test
-  loop1686_handler:
-    .local pmc exception 
-    .get_results (exception) 
-    getattribute $P1688, exception, 'type'
-    eq $P1688, 64, loop1686_next
-    eq $P1688, 66, loop1686_redo
-  loop1686_done:
+    $P1691 = $P1690."list"()
+    defined $I1692, $P1691
+    unless $I1692, for_undef_520
+    iter $P1689, $P1691
+    new $P1701, 'ExceptionHandler'
+    set_addr $P1701, loop1700_handler
+    $P1701."handle_types"(64, 66, 65)
+    push_eh $P1701
+  loop1700_test:
+    unless $P1689, loop1700_done
+    shift $P1693, $P1689
+  loop1700_redo:
+    .const 'Sub' $P1695 = "94_1274853047.92727" 
+    capture_lex $P1695
+    $P1695($P1693)
+  loop1700_next:
+    goto loop1700_test
+  loop1700_handler:
+    .local pmc exception 
+    .get_results (exception) 
+    getattribute $P1702, exception, 'type'
+    eq $P1702, 64, loop1700_next
+    eq $P1702, 66, loop1700_redo
+  loop1700_done:
     pop_eh 
-  for_undef_516:
-.annotate 'line', 624
-    set $P1665, $P1675
-  if_1666_end:
-.annotate 'line', 622
-    .return ($P1665)
-.end
-
-
-.namespace ["NQP";"Actions"]
-.sub "_block1680"  :anon :subid("93_1274800470.33966") :outer("92_1274800470.33966")
-    .param pmc param_1682
-.annotate 'line', 625
-    .lex "$_", param_1682
-    find_lex $P1683, "$past"
-    find_lex $P1684, "$_"
-    $P1685 = $P1683."push"($P1684)
-    .return ($P1685)
+  for_undef_520:
+.annotate 'line', 633
+    set $P1679, $P1689
+  if_1680_end:
+.annotate 'line', 631
+    .return ($P1679)
 .end
 
 
 .namespace ["NQP";"Actions"]
-.sub "term:sym<value>"  :subid("94_1274800470.33966") :method :outer("11_1274800470.33966")
-    .param pmc param_1753
-.annotate 'line', 646
-    new $P1752, 'ExceptionHandler'
-    set_addr $P1752, control_1751
-    $P1752."handle_types"(57)
-    push_eh $P1752
-    .lex "self", self
-    .lex "$/", param_1753
-    find_lex $P1754, "$/"
-    find_lex $P1755, "$/"
-    unless_null $P1755, vivify_531
-    $P1755 = root_new ['parrot';'Hash']
-  vivify_531:
-    set $P1756, $P1755["value"]
-    unless_null $P1756, vivify_532
-    new $P1756, "Undef"
-  vivify_532:
-    $P1757 = $P1756."ast"()
-    $P1758 = $P1754."!make"($P1757)
-    .return ($P1758)
-  control_1751:
-    .local pmc exception 
-    .get_results (exception) 
-    getattribute $P1759, exception, "payload"
-    .return ($P1759)
+.sub "_block1694"  :anon :subid("94_1274853047.92727") :outer("93_1274853047.92727")
+    .param pmc param_1696
+.annotate 'line', 634
+    .lex "$_", param_1696
+    find_lex $P1697, "$past"
+    find_lex $P1698, "$_"
+    $P1699 = $P1697."push"($P1698)
+    .return ($P1699)
 .end
 
 
 .namespace ["NQP";"Actions"]
-.sub "circumfix:sym<( )>"  :subid("95_1274800470.33966") :method :outer("11_1274800470.33966")
-    .param pmc param_1763
-.annotate 'line', 648
-    new $P1762, 'ExceptionHandler'
-    set_addr $P1762, control_1761
-    $P1762."handle_types"(57)
-    push_eh $P1762
+.sub "term:sym<value>"  :subid("95_1274853047.92727") :method :outer("11_1274853047.92727")
+    .param pmc param_1767
+.annotate 'line', 655
+    new $P1766, 'ExceptionHandler'
+    set_addr $P1766, control_1765
+    $P1766."handle_types"(57)
+    push_eh $P1766
     .lex "self", self
-    .lex "$/", param_1763
-.annotate 'line', 649
-    find_lex $P1764, "$/"
-.annotate 'line', 650
-    find_lex $P1767, "$/"
-    unless_null $P1767, vivify_533
-    $P1767 = root_new ['parrot';'Hash']
-  vivify_533:
-    set $P1768, $P1767["EXPR"]
-    unless_null $P1768, vivify_534
-    new $P1768, "Undef"
-  vivify_534:
-    if $P1768, if_1766
-.annotate 'line', 651
-    get_hll_global $P1773, ["PAST"], "Op"
-    find_lex $P1774, "$/"
-    $P1775 = $P1773."new"("list" :named("pasttype"), $P1774 :named("node"))
-    set $P1765, $P1775
-.annotate 'line', 650
-    goto if_1766_end
-  if_1766:
+    .lex "$/", param_1767
+    find_lex $P1768, "$/"
     find_lex $P1769, "$/"
     unless_null $P1769, vivify_535
     $P1769 = root_new ['parrot';'Hash']
   vivify_535:
-    set $P1770, $P1769["EXPR"]
+    set $P1770, $P1769["value"]
     unless_null $P1770, vivify_536
-    $P1770 = root_new ['parrot';'ResizablePMCArray']
+    new $P1770, "Undef"
   vivify_536:
-    set $P1771, $P1770[0]
-    unless_null $P1771, vivify_537
-    new $P1771, "Undef"
-  vivify_537:
-    $P1772 = $P1771."ast"()
-    set $P1765, $P1772
-  if_1766_end:
-    $P1776 = $P1764."!make"($P1765)
-.annotate 'line', 648
-    .return ($P1776)
-  control_1761:
+    $P1771 = $P1770."ast"()
+    $P1772 = $P1768."!make"($P1771)
+    .return ($P1772)
+  control_1765:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P1777, exception, "payload"
-    .return ($P1777)
+    getattribute $P1773, exception, "payload"
+    .return ($P1773)
 .end
 
 
 .namespace ["NQP";"Actions"]
-.sub "circumfix:sym<[ ]>"  :subid("96_1274800470.33966") :method :outer("11_1274800470.33966")
-    .param pmc param_1781
-.annotate 'line', 654
-    new $P1780, 'ExceptionHandler'
-    set_addr $P1780, control_1779
-    $P1780."handle_types"(57)
-    push_eh $P1780
+.sub "circumfix:sym<( )>"  :subid("96_1274853047.92727") :method :outer("11_1274853047.92727")
+    .param pmc param_1777
+.annotate 'line', 657
+    new $P1776, 'ExceptionHandler'
+    set_addr $P1776, control_1775
+    $P1776."handle_types"(57)
+    push_eh $P1776
     .lex "self", self
-    .lex "$/", param_1781
-.annotate 'line', 655
+    .lex "$/", param_1777
+.annotate 'line', 658
+    find_lex $P1778, "$/"
+.annotate 'line', 659
+    find_lex $P1781, "$/"
+    unless_null $P1781, vivify_537
+    $P1781 = root_new ['parrot';'Hash']
+  vivify_537:
+    set $P1782, $P1781["EXPR"]
+    unless_null $P1782, vivify_538
     new $P1782, "Undef"
-    .lex "$past", $P1782
-.annotate 'line', 654
-    find_lex $P1783, "$past"
-.annotate 'line', 656
-    find_lex $P1785, "$/"
-    unless_null $P1785, vivify_538
-    $P1785 = root_new ['parrot';'Hash']
   vivify_538:
-    set $P1786, $P1785["EXPR"]
-    unless_null $P1786, vivify_539
-    new $P1786, "Undef"
+    if $P1782, if_1780
+.annotate 'line', 660
+    get_hll_global $P1787, ["PAST"], "Op"
+    find_lex $P1788, "$/"
+    $P1789 = $P1787."new"("list" :named("pasttype"), $P1788 :named("node"))
+    set $P1779, $P1789
+.annotate 'line', 659
+    goto if_1780_end
+  if_1780:
+    find_lex $P1783, "$/"
+    unless_null $P1783, vivify_539
+    $P1783 = root_new ['parrot';'Hash']
   vivify_539:
-    if $P1786, if_1784
-.annotate 'line', 663
-    get_hll_global $P1798, ["PAST"], "Op"
-    $P1799 = $P1798."new"("list" :named("pasttype"))
-    store_lex "$past", $P1799
-.annotate 'line', 662
-    goto if_1784_end
-  if_1784:
-.annotate 'line', 657
-    find_lex $P1787, "$/"
-    unless_null $P1787, vivify_540
-    $P1787 = root_new ['parrot';'Hash']
+    set $P1784, $P1783["EXPR"]
+    unless_null $P1784, vivify_540
+    $P1784 = root_new ['parrot';'ResizablePMCArray']
   vivify_540:
-    set $P1788, $P1787["EXPR"]
-    unless_null $P1788, vivify_541
-    $P1788 = root_new ['parrot';'ResizablePMCArray']
+    set $P1785, $P1784[0]
+    unless_null $P1785, vivify_541
+    new $P1785, "Undef"
   vivify_541:
-    set $P1789, $P1788[0]
-    unless_null $P1789, vivify_542
-    new $P1789, "Undef"
-  vivify_542:
-    $P1790 = $P1789."ast"()
-    store_lex "$past", $P1790
-.annotate 'line', 658
-    find_lex $P1792, "$past"
-    $S1793 = $P1792."name"()
-    isne $I1794, $S1793, "&infix:<,>"
-    unless $I1794, if_1791_end
-.annotate 'line', 659
-    get_hll_global $P1795, ["PAST"], "Op"
-    find_lex $P1796, "$past"
-    $P1797 = $P1795."new"($P1796, "list" :named("pasttype"))
-    store_lex "$past", $P1797
-  if_1791_end:
-  if_1784_end:
-.annotate 'line', 665
-    find_lex $P1800, "$past"
-    $P1800."name"("&circumfix:<[ ]>")
-.annotate 'line', 666
-    find_lex $P1801, "$/"
-    find_lex $P1802, "$past"
-    $P1803 = $P1801."!make"($P1802)
-.annotate 'line', 654
-    .return ($P1803)
-  control_1779:
+    $P1786 = $P1785."ast"()
+    set $P1779, $P1786
+  if_1780_end:
+    $P1790 = $P1778."!make"($P1779)
+.annotate 'line', 657
+    .return ($P1790)
+  control_1775:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P1804, exception, "payload"
-    .return ($P1804)
+    getattribute $P1791, exception, "payload"
+    .return ($P1791)
 .end
 
 
 .namespace ["NQP";"Actions"]
-.sub "circumfix:sym<ang>"  :subid("97_1274800470.33966") :method :outer("11_1274800470.33966")
-    .param pmc param_1808
-.annotate 'line', 669
-    new $P1807, 'ExceptionHandler'
-    set_addr $P1807, control_1806
-    $P1807."handle_types"(57)
-    push_eh $P1807
-    .lex "self", self
-    .lex "$/", param_1808
-    find_lex $P1809, "$/"
-    find_lex $P1810, "$/"
-    unless_null $P1810, vivify_543
-    $P1810 = root_new ['parrot';'Hash']
+.sub "circumfix:sym<[ ]>"  :subid("97_1274853047.92727") :method :outer("11_1274853047.92727")
+    .param pmc param_1795
+.annotate 'line', 663
+    new $P1794, 'ExceptionHandler'
+    set_addr $P1794, control_1793
+    $P1794."handle_types"(57)
+    push_eh $P1794
+    .lex "self", self
+    .lex "$/", param_1795
+.annotate 'line', 664
+    new $P1796, "Undef"
+    .lex "$past", $P1796
+.annotate 'line', 663
+    find_lex $P1797, "$past"
+.annotate 'line', 665
+    find_lex $P1799, "$/"
+    unless_null $P1799, vivify_542
+    $P1799 = root_new ['parrot';'Hash']
+  vivify_542:
+    set $P1800, $P1799["EXPR"]
+    unless_null $P1800, vivify_543
+    new $P1800, "Undef"
   vivify_543:
-    set $P1811, $P1810["quote_EXPR"]
-    unless_null $P1811, vivify_544
-    new $P1811, "Undef"
+    if $P1800, if_1798
+.annotate 'line', 672
+    get_hll_global $P1812, ["PAST"], "Op"
+    $P1813 = $P1812."new"("list" :named("pasttype"))
+    store_lex "$past", $P1813
+.annotate 'line', 671
+    goto if_1798_end
+  if_1798:
+.annotate 'line', 666
+    find_lex $P1801, "$/"
+    unless_null $P1801, vivify_544
+    $P1801 = root_new ['parrot';'Hash']
   vivify_544:
-    $P1812 = $P1811."ast"()
-    $P1813 = $P1809."!make"($P1812)
-    .return ($P1813)
-  control_1806:
+    set $P1802, $P1801["EXPR"]
+    unless_null $P1802, vivify_545
+    $P1802 = root_new ['parrot';'ResizablePMCArray']
+  vivify_545:
+    set $P1803, $P1802[0]
+    unless_null $P1803, vivify_546
+    new $P1803, "Undef"
+  vivify_546:
+    $P1804 = $P1803."ast"()
+    store_lex "$past", $P1804
+.annotate 'line', 667
+    find_lex $P1806, "$past"
+    $S1807 = $P1806."name"()
+    isne $I1808, $S1807, "&infix:<,>"
+    unless $I1808, if_1805_end
+.annotate 'line', 668
+    get_hll_global $P1809, ["PAST"], "Op"
+    find_lex $P1810, "$past"
+    $P1811 = $P1809."new"($P1810, "list" :named("pasttype"))
+    store_lex "$past", $P1811
+  if_1805_end:
+  if_1798_end:
+.annotate 'line', 674
+    find_lex $P1814, "$past"
+    $P1814."name"("&circumfix:<[ ]>")
+.annotate 'line', 675
+    find_lex $P1815, "$/"
+    find_lex $P1816, "$past"
+    $P1817 = $P1815."!make"($P1816)
+.annotate 'line', 663
+    .return ($P1817)
+  control_1793:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P1814, exception, "payload"
-    .return ($P1814)
+    getattribute $P1818, exception, "payload"
+    .return ($P1818)
 .end
 
 
 .namespace ["NQP";"Actions"]
-.sub unicode:"circumfix:sym<\x{ab} \x{bb}>"  :subid("98_1274800470.33966") :method :outer("11_1274800470.33966")
-    .param pmc param_1818
-.annotate 'line', 670
-    new $P1817, 'ExceptionHandler'
-    set_addr $P1817, control_1816
-    $P1817."handle_types"(57)
-    push_eh $P1817
+.sub "circumfix:sym<ang>"  :subid("98_1274853047.92727") :method :outer("11_1274853047.92727")
+    .param pmc param_1822
+.annotate 'line', 678
+    new $P1821, 'ExceptionHandler'
+    set_addr $P1821, control_1820
+    $P1821."handle_types"(57)
+    push_eh $P1821
     .lex "self", self
-    .lex "$/", param_1818
-    find_lex $P1819, "$/"
-    find_lex $P1820, "$/"
-    unless_null $P1820, vivify_545
-    $P1820 = root_new ['parrot';'Hash']
-  vivify_545:
-    set $P1821, $P1820["quote_EXPR"]
-    unless_null $P1821, vivify_546
-    new $P1821, "Undef"
-  vivify_546:
-    $P1822 = $P1821."ast"()
-    $P1823 = $P1819."!make"($P1822)
-    .return ($P1823)
-  control_1816:
+    .lex "$/", param_1822
+    find_lex $P1823, "$/"
+    find_lex $P1824, "$/"
+    unless_null $P1824, vivify_547
+    $P1824 = root_new ['parrot';'Hash']
+  vivify_547:
+    set $P1825, $P1824["quote_EXPR"]
+    unless_null $P1825, vivify_548
+    new $P1825, "Undef"
+  vivify_548:
+    $P1826 = $P1825."ast"()
+    $P1827 = $P1823."!make"($P1826)
+    .return ($P1827)
+  control_1820:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P1824, exception, "payload"
-    .return ($P1824)
+    getattribute $P1828, exception, "payload"
+    .return ($P1828)
 .end
 
 
 .namespace ["NQP";"Actions"]
-.sub "circumfix:sym<{ }>"  :subid("99_1274800470.33966") :method :outer("11_1274800470.33966")
-    .param pmc param_1828
-.annotate 'line', 672
-    new $P1827, 'ExceptionHandler'
-    set_addr $P1827, control_1826
-    $P1827."handle_types"(57)
-    push_eh $P1827
-    .lex "self", self
-    .lex "$/", param_1828
-.annotate 'line', 673
-    new $P1829, "Undef"
-    .lex "$past", $P1829
-    find_lex $P1832, "$/"
-    unless_null $P1832, vivify_547
-    $P1832 = root_new ['parrot';'Hash']
-  vivify_547:
-    set $P1833, $P1832["pblock"]
-    unless_null $P1833, vivify_548
-    $P1833 = root_new ['parrot';'Hash']
-  vivify_548:
-    set $P1834, $P1833["blockoid"]
+.sub unicode:"circumfix:sym<\x{ab} \x{bb}>"  :subid("99_1274853047.92727") :method :outer("11_1274853047.92727")
+    .param pmc param_1832
+.annotate 'line', 679
+    new $P1831, 'ExceptionHandler'
+    set_addr $P1831, control_1830
+    $P1831."handle_types"(57)
+    push_eh $P1831
+    .lex "self", self
+    .lex "$/", param_1832
+    find_lex $P1833, "$/"
+    find_lex $P1834, "$/"
     unless_null $P1834, vivify_549
     $P1834 = root_new ['parrot';'Hash']
   vivify_549:
-    set $P1835, $P1834["statementlist"]
+    set $P1835, $P1834["quote_EXPR"]
     unless_null $P1835, vivify_550
-    $P1835 = root_new ['parrot';'Hash']
+    new $P1835, "Undef"
   vivify_550:
-    set $P1836, $P1835["statement"]
-    unless_null $P1836, vivify_551
-    new $P1836, "Undef"
-  vivify_551:
-    set $N1837, $P1836
-    isgt $I1838, $N1837, 0.0
-    if $I1838, if_1831
-.annotate 'line', 675
-    $P1842 = "vivitype"("%")
-    set $P1830, $P1842
-.annotate 'line', 673
-    goto if_1831_end
-  if_1831:
-.annotate 'line', 674
-    find_lex $P1839, "$/"
-    unless_null $P1839, vivify_552
-    $P1839 = root_new ['parrot';'Hash']
-  vivify_552:
-    set $P1840, $P1839["pblock"]
-    unless_null $P1840, vivify_553
-    new $P1840, "Undef"
-  vivify_553:
-    $P1841 = $P1840."ast"()
-    set $P1830, $P1841
-  if_1831_end:
-    store_lex "$past", $P1830
-.annotate 'line', 676
-    new $P1843, "Integer"
-    assign $P1843, 1
-    find_lex $P1844, "$past"
-    unless_null $P1844, vivify_554
-    $P1844 = root_new ['parrot';'Hash']
-    store_lex "$past", $P1844
-  vivify_554:
-    set $P1844["bareblock"], $P1843
-.annotate 'line', 677
-    find_lex $P1845, "$/"
-    find_lex $P1846, "$past"
-    $P1847 = $P1845."!make"($P1846)
-.annotate 'line', 672
-    .return ($P1847)
-  control_1826:
+    $P1836 = $P1835."ast"()
+    $P1837 = $P1833."!make"($P1836)
+    .return ($P1837)
+  control_1830:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P1848, exception, "payload"
-    .return ($P1848)
+    getattribute $P1838, exception, "payload"
+    .return ($P1838)
 .end
 
 
 .namespace ["NQP";"Actions"]
-.sub "circumfix:sym<sigil>"  :subid("100_1274800470.33966") :method :outer("11_1274800470.33966")
-    .param pmc param_1852
-.annotate 'line', 680
-    new $P1851, 'ExceptionHandler'
-    set_addr $P1851, control_1850
-    $P1851."handle_types"(57)
-    push_eh $P1851
-    .lex "self", self
-    .lex "$/", param_1852
+.sub "circumfix:sym<{ }>"  :subid("100_1274853047.92727") :method :outer("11_1274853047.92727")
+    .param pmc param_1842
 .annotate 'line', 681
-    new $P1853, "Undef"
-    .lex "$name", $P1853
-    find_lex $P1856, "$/"
-    unless_null $P1856, vivify_555
-    $P1856 = root_new ['parrot';'Hash']
+    new $P1841, 'ExceptionHandler'
+    set_addr $P1841, control_1840
+    $P1841."handle_types"(57)
+    push_eh $P1841
+    .lex "self", self
+    .lex "$/", param_1842
+.annotate 'line', 682
+    new $P1843, "Undef"
+    .lex "$past", $P1843
+    find_lex $P1846, "$/"
+    unless_null $P1846, vivify_551
+    $P1846 = root_new ['parrot';'Hash']
+  vivify_551:
+    set $P1847, $P1846["pblock"]
+    unless_null $P1847, vivify_552
+    $P1847 = root_new ['parrot';'Hash']
+  vivify_552:
+    set $P1848, $P1847["blockoid"]
+    unless_null $P1848, vivify_553
+    $P1848 = root_new ['parrot';'Hash']
+  vivify_553:
+    set $P1849, $P1848["statementlist"]
+    unless_null $P1849, vivify_554
+    $P1849 = root_new ['parrot';'Hash']
+  vivify_554:
+    set $P1850, $P1849["statement"]
+    unless_null $P1850, vivify_555
+    new $P1850, "Undef"
   vivify_555:
-    set $P1857, $P1856["sigil"]
-    unless_null $P1857, vivify_556
-    new $P1857, "Undef"
-  vivify_556:
-    set $S1858, $P1857
-    iseq $I1859, $S1858, "@"
-    if $I1859, if_1855
+    set $N1851, $P1850
+    isgt $I1852, $N1851, 0.0
+    if $I1852, if_1845
+.annotate 'line', 684
+    $P1856 = "vivitype"("%")
+    set $P1844, $P1856
 .annotate 'line', 682
-    find_lex $P1863, "$/"
-    unless_null $P1863, vivify_557
-    $P1863 = root_new ['parrot';'Hash']
+    goto if_1845_end
+  if_1845:
+.annotate 'line', 683
+    find_lex $P1853, "$/"
+    unless_null $P1853, vivify_556
+    $P1853 = root_new ['parrot';'Hash']
+  vivify_556:
+    set $P1854, $P1853["pblock"]
+    unless_null $P1854, vivify_557
+    new $P1854, "Undef"
   vivify_557:
-    set $P1864, $P1863["sigil"]
-    unless_null $P1864, vivify_558
-    new $P1864, "Undef"
+    $P1855 = $P1854."ast"()
+    set $P1844, $P1855
+  if_1845_end:
+    store_lex "$past", $P1844
+.annotate 'line', 685
+    new $P1857, "Integer"
+    assign $P1857, 1
+    find_lex $P1858, "$past"
+    unless_null $P1858, vivify_558
+    $P1858 = root_new ['parrot';'Hash']
+    store_lex "$past", $P1858
   vivify_558:
-    set $S1865, $P1864
-    iseq $I1866, $S1865, "%"
-    if $I1866, if_1862
-    new $P1868, "String"
-    assign $P1868, "item"
-    set $P1861, $P1868
-    goto if_1862_end
-  if_1862:
-    new $P1867, "String"
-    assign $P1867, "hash"
-    set $P1861, $P1867
-  if_1862_end:
-    set $P1854, $P1861
+    set $P1858["bareblock"], $P1857
+.annotate 'line', 686
+    find_lex $P1859, "$/"
+    find_lex $P1860, "$past"
+    $P1861 = $P1859."!make"($P1860)
 .annotate 'line', 681
-    goto if_1855_end
-  if_1855:
-    new $P1860, "String"
-    assign $P1860, "list"
-    set $P1854, $P1860
-  if_1855_end:
-    store_lex "$name", $P1854
-.annotate 'line', 684
-    find_lex $P1869, "$/"
-    get_hll_global $P1870, ["PAST"], "Op"
-    find_lex $P1871, "$name"
-    find_lex $P1872, "$/"
-    unless_null $P1872, vivify_559
-    $P1872 = root_new ['parrot';'Hash']
-  vivify_559:
-    set $P1873, $P1872["semilist"]
-    unless_null $P1873, vivify_560
-    new $P1873, "Undef"
-  vivify_560:
-    $P1874 = $P1873."ast"()
-    $P1875 = $P1870."new"($P1874, "callmethod" :named("pasttype"), $P1871 :named("name"))
-    $P1876 = $P1869."!make"($P1875)
-.annotate 'line', 680
-    .return ($P1876)
-  control_1850:
+    .return ($P1861)
+  control_1840:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P1877, exception, "payload"
-    .return ($P1877)
+    getattribute $P1862, exception, "payload"
+    .return ($P1862)
 .end
 
 
 .namespace ["NQP";"Actions"]
-.sub "semilist"  :subid("101_1274800470.33966") :method :outer("11_1274800470.33966")
-    .param pmc param_1881
-.annotate 'line', 687
-    new $P1880, 'ExceptionHandler'
-    set_addr $P1880, control_1879
-    $P1880."handle_types"(57)
-    push_eh $P1880
+.sub "circumfix:sym<sigil>"  :subid("101_1274853047.92727") :method :outer("11_1274853047.92727")
+    .param pmc param_1866
+.annotate 'line', 689
+    new $P1865, 'ExceptionHandler'
+    set_addr $P1865, control_1864
+    $P1865."handle_types"(57)
+    push_eh $P1865
     .lex "self", self
-    .lex "$/", param_1881
-    find_lex $P1882, "$/"
-    find_lex $P1883, "$/"
-    unless_null $P1883, vivify_561
-    $P1883 = root_new ['parrot';'Hash']
+    .lex "$/", param_1866
+.annotate 'line', 690
+    new $P1867, "Undef"
+    .lex "$name", $P1867
+    find_lex $P1870, "$/"
+    unless_null $P1870, vivify_559
+    $P1870 = root_new ['parrot';'Hash']
+  vivify_559:
+    set $P1871, $P1870["sigil"]
+    unless_null $P1871, vivify_560
+    new $P1871, "Undef"
+  vivify_560:
+    set $S1872, $P1871
+    iseq $I1873, $S1872, "@"
+    if $I1873, if_1869
+.annotate 'line', 691
+    find_lex $P1877, "$/"
+    unless_null $P1877, vivify_561
+    $P1877 = root_new ['parrot';'Hash']
   vivify_561:
-    set $P1884, $P1883["statement"]
-    unless_null $P1884, vivify_562
-    new $P1884, "Undef"
+    set $P1878, $P1877["sigil"]
+    unless_null $P1878, vivify_562
+    new $P1878, "Undef"
   vivify_562:
-    $P1885 = $P1884."ast"()
-    $P1886 = $P1882."!make"($P1885)
-    .return ($P1886)
-  control_1879:
-    .local pmc exception 
-    .get_results (exception) 
-    getattribute $P1887, exception, "payload"
-    .return ($P1887)
-.end
-
-
-.namespace ["NQP";"Actions"]
-.sub "postcircumfix:sym<[ ]>"  :subid("102_1274800470.33966") :method :outer("11_1274800470.33966")
-    .param pmc param_1891
-.annotate 'line', 689
-    new $P1890, 'ExceptionHandler'
-    set_addr $P1890, control_1889
-    $P1890."handle_types"(57)
-    push_eh $P1890
-    .lex "self", self
-    .lex "$/", param_1891
+    set $S1879, $P1878
+    iseq $I1880, $S1879, "%"
+    if $I1880, if_1876
+    new $P1882, "String"
+    assign $P1882, "item"
+    set $P1875, $P1882
+    goto if_1876_end
+  if_1876:
+    new $P1881, "String"
+    assign $P1881, "hash"
+    set $P1875, $P1881
+  if_1876_end:
+    set $P1868, $P1875
 .annotate 'line', 690
-    find_lex $P1892, "$/"
-    get_hll_global $P1893, ["PAST"], "Var"
-    find_lex $P1894, "$/"
-    unless_null $P1894, vivify_563
-    $P1894 = root_new ['parrot';'Hash']
+    goto if_1869_end
+  if_1869:
+    new $P1874, "String"
+    assign $P1874, "list"
+    set $P1868, $P1874
+  if_1869_end:
+    store_lex "$name", $P1868
+.annotate 'line', 693
+    find_lex $P1883, "$/"
+    get_hll_global $P1884, ["PAST"], "Op"
+    find_lex $P1885, "$name"
+    find_lex $P1886, "$/"
+    unless_null $P1886, vivify_563
+    $P1886 = root_new ['parrot';'Hash']
   vivify_563:
-    set $P1895, $P1894["EXPR"]
-    unless_null $P1895, vivify_564
-    new $P1895, "Undef"
+    set $P1887, $P1886["semilist"]
+    unless_null $P1887, vivify_564
+    new $P1887, "Undef"
   vivify_564:
-    $P1896 = $P1895."ast"()
-.annotate 'line', 692
-    $P1897 = "vivitype"("@")
-    $P1898 = $P1893."new"($P1896, "keyed_int" :named("scope"), "Undef" :named("viviself"), $P1897 :named("vivibase"))
-.annotate 'line', 690
-    $P1899 = $P1892."!make"($P1898)
+    $P1888 = $P1887."ast"()
+    $P1889 = $P1884."new"($P1888, "callmethod" :named("pasttype"), $P1885 :named("name"))
+    $P1890 = $P1883."!make"($P1889)
 .annotate 'line', 689
-    .return ($P1899)
-  control_1889:
+    .return ($P1890)
+  control_1864:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P1900, exception, "payload"
-    .return ($P1900)
+    getattribute $P1891, exception, "payload"
+    .return ($P1891)
 .end
 
 
 .namespace ["NQP";"Actions"]
-.sub "postcircumfix:sym<{ }>"  :subid("103_1274800470.33966") :method :outer("11_1274800470.33966")
-    .param pmc param_1904
-.annotate 'line', 695
-    new $P1903, 'ExceptionHandler'
-    set_addr $P1903, control_1902
-    $P1903."handle_types"(57)
-    push_eh $P1903
-    .lex "self", self
-    .lex "$/", param_1904
+.sub "semilist"  :subid("102_1274853047.92727") :method :outer("11_1274853047.92727")
+    .param pmc param_1895
 .annotate 'line', 696
-    find_lex $P1905, "$/"
-    get_hll_global $P1906, ["PAST"], "Var"
-    find_lex $P1907, "$/"
-    unless_null $P1907, vivify_565
-    $P1907 = root_new ['parrot';'Hash']
+    new $P1894, 'ExceptionHandler'
+    set_addr $P1894, control_1893
+    $P1894."handle_types"(57)
+    push_eh $P1894
+    .lex "self", self
+    .lex "$/", param_1895
+    find_lex $P1896, "$/"
+    find_lex $P1897, "$/"
+    unless_null $P1897, vivify_565
+    $P1897 = root_new ['parrot';'Hash']
   vivify_565:
-    set $P1908, $P1907["EXPR"]
-    unless_null $P1908, vivify_566
-    new $P1908, "Undef"
+    set $P1898, $P1897["statement"]
+    unless_null $P1898, vivify_566
+    new $P1898, "Undef"
   vivify_566:
-    $P1909 = $P1908."ast"()
-.annotate 'line', 698
-    $P1910 = "vivitype"("%")
-    $P1911 = $P1906."new"($P1909, "keyed" :named("scope"), "Undef" :named("viviself"), $P1910 :named("vivibase"))
-.annotate 'line', 696
-    $P1912 = $P1905."!make"($P1911)
-.annotate 'line', 695
-    .return ($P1912)
-  control_1902:
+    $P1899 = $P1898."ast"()
+    $P1900 = $P1896."!make"($P1899)
+    .return ($P1900)
+  control_1893:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P1913, exception, "payload"
-    .return ($P1913)
+    getattribute $P1901, exception, "payload"
+    .return ($P1901)
 .end
 
 
 .namespace ["NQP";"Actions"]
-.sub "postcircumfix:sym<ang>"  :subid("104_1274800470.33966") :method :outer("11_1274800470.33966")
-    .param pmc param_1917
-.annotate 'line', 701
-    new $P1916, 'ExceptionHandler'
-    set_addr $P1916, control_1915
-    $P1916."handle_types"(57)
-    push_eh $P1916
-    .lex "self", self
-    .lex "$/", param_1917
-.annotate 'line', 702
-    find_lex $P1918, "$/"
-    get_hll_global $P1919, ["PAST"], "Var"
-    find_lex $P1920, "$/"
-    unless_null $P1920, vivify_567
-    $P1920 = root_new ['parrot';'Hash']
+.sub "postcircumfix:sym<[ ]>"  :subid("103_1274853047.92727") :method :outer("11_1274853047.92727")
+    .param pmc param_1905
+.annotate 'line', 698
+    new $P1904, 'ExceptionHandler'
+    set_addr $P1904, control_1903
+    $P1904."handle_types"(57)
+    push_eh $P1904
+    .lex "self", self
+    .lex "$/", param_1905
+.annotate 'line', 699
+    find_lex $P1906, "$/"
+    get_hll_global $P1907, ["PAST"], "Var"
+    find_lex $P1908, "$/"
+    unless_null $P1908, vivify_567
+    $P1908 = root_new ['parrot';'Hash']
   vivify_567:
-    set $P1921, $P1920["quote_EXPR"]
-    unless_null $P1921, vivify_568
-    new $P1921, "Undef"
+    set $P1909, $P1908["EXPR"]
+    unless_null $P1909, vivify_568
+    new $P1909, "Undef"
   vivify_568:
-    $P1922 = $P1921."ast"()
-.annotate 'line', 704
-    $P1923 = "vivitype"("%")
-    $P1924 = $P1919."new"($P1922, "keyed" :named("scope"), "Undef" :named("viviself"), $P1923 :named("vivibase"))
-.annotate 'line', 702
-    $P1925 = $P1918."!make"($P1924)
+    $P1910 = $P1909."ast"()
 .annotate 'line', 701
-    .return ($P1925)
-  control_1915:
+    $P1911 = "vivitype"("@")
+    $P1912 = $P1907."new"($P1910, "keyed_int" :named("scope"), "Undef" :named("viviself"), $P1911 :named("vivibase"))
+.annotate 'line', 699
+    $P1913 = $P1906."!make"($P1912)
+.annotate 'line', 698
+    .return ($P1913)
+  control_1903:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P1926, exception, "payload"
-    .return ($P1926)
+    getattribute $P1914, exception, "payload"
+    .return ($P1914)
 .end
 
 
 .namespace ["NQP";"Actions"]
-.sub "postcircumfix:sym<( )>"  :subid("105_1274800470.33966") :method :outer("11_1274800470.33966")
-    .param pmc param_1930
-.annotate 'line', 707
-    new $P1929, 'ExceptionHandler'
-    set_addr $P1929, control_1928
-    $P1929."handle_types"(57)
-    push_eh $P1929
-    .lex "self", self
-    .lex "$/", param_1930
-.annotate 'line', 708
-    find_lex $P1931, "$/"
-    find_lex $P1932, "$/"
-    unless_null $P1932, vivify_569
-    $P1932 = root_new ['parrot';'Hash']
+.sub "postcircumfix:sym<{ }>"  :subid("104_1274853047.92727") :method :outer("11_1274853047.92727")
+    .param pmc param_1918
+.annotate 'line', 704
+    new $P1917, 'ExceptionHandler'
+    set_addr $P1917, control_1916
+    $P1917."handle_types"(57)
+    push_eh $P1917
+    .lex "self", self
+    .lex "$/", param_1918
+.annotate 'line', 705
+    find_lex $P1919, "$/"
+    get_hll_global $P1920, ["PAST"], "Var"
+    find_lex $P1921, "$/"
+    unless_null $P1921, vivify_569
+    $P1921 = root_new ['parrot';'Hash']
   vivify_569:
-    set $P1933, $P1932["arglist"]
-    unless_null $P1933, vivify_570
-    new $P1933, "Undef"
+    set $P1922, $P1921["EXPR"]
+    unless_null $P1922, vivify_570
+    new $P1922, "Undef"
   vivify_570:
-    $P1934 = $P1933."ast"()
-    $P1935 = $P1931."!make"($P1934)
+    $P1923 = $P1922."ast"()
 .annotate 'line', 707
-    .return ($P1935)
-  control_1928:
+    $P1924 = "vivitype"("%")
+    $P1925 = $P1920."new"($P1923, "keyed" :named("scope"), "Undef" :named("viviself"), $P1924 :named("vivibase"))
+.annotate 'line', 705
+    $P1926 = $P1919."!make"($P1925)
+.annotate 'line', 704
+    .return ($P1926)
+  control_1916:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P1936, exception, "payload"
-    .return ($P1936)
+    getattribute $P1927, exception, "payload"
+    .return ($P1927)
 .end
 
 
 .namespace ["NQP";"Actions"]
-.sub "value"  :subid("106_1274800470.33966") :method :outer("11_1274800470.33966")
-    .param pmc param_1940
+.sub "postcircumfix:sym<ang>"  :subid("105_1274853047.92727") :method :outer("11_1274853047.92727")
+    .param pmc param_1931
+.annotate 'line', 710
+    new $P1930, 'ExceptionHandler'
+    set_addr $P1930, control_1929
+    $P1930."handle_types"(57)
+    push_eh $P1930
+    .lex "self", self
+    .lex "$/", param_1931
 .annotate 'line', 711
-    new $P1939, 'ExceptionHandler'
-    set_addr $P1939, control_1938
-    $P1939."handle_types"(57)
-    push_eh $P1939
-    .lex "self", self
-    .lex "$/", param_1940
-.annotate 'line', 712
-    find_lex $P1941, "$/"
-    find_lex $P1944, "$/"
-    unless_null $P1944, vivify_571
-    $P1944 = root_new ['parrot';'Hash']
+    find_lex $P1932, "$/"
+    get_hll_global $P1933, ["PAST"], "Var"
+    find_lex $P1934, "$/"
+    unless_null $P1934, vivify_571
+    $P1934 = root_new ['parrot';'Hash']
   vivify_571:
-    set $P1945, $P1944["quote"]
-    unless_null $P1945, vivify_572
-    new $P1945, "Undef"
+    set $P1935, $P1934["quote_EXPR"]
+    unless_null $P1935, vivify_572
+    new $P1935, "Undef"
   vivify_572:
-    if $P1945, if_1943
-    find_lex $P1949, "$/"
-    unless_null $P1949, vivify_573
-    $P1949 = root_new ['parrot';'Hash']
-  vivify_573:
-    set $P1950, $P1949["number"]
-    unless_null $P1950, vivify_574
-    new $P1950, "Undef"
-  vivify_574:
-    $P1951 = $P1950."ast"()
-    set $P1942, $P1951
-    goto if_1943_end
-  if_1943:
-    find_lex $P1946, "$/"
-    unless_null $P1946, vivify_575
-    $P1946 = root_new ['parrot';'Hash']
-  vivify_575:
-    set $P1947, $P1946["quote"]
-    unless_null $P1947, vivify_576
-    new $P1947, "Undef"
-  vivify_576:
-    $P1948 = $P1947."ast"()
-    set $P1942, $P1948
-  if_1943_end:
-    $P1952 = $P1941."!make"($P1942)
+    $P1936 = $P1935."ast"()
+.annotate 'line', 713
+    $P1937 = "vivitype"("%")
+    $P1938 = $P1933."new"($P1936, "keyed" :named("scope"), "Undef" :named("viviself"), $P1937 :named("vivibase"))
 .annotate 'line', 711
-    .return ($P1952)
-  control_1938:
+    $P1939 = $P1932."!make"($P1938)
+.annotate 'line', 710
+    .return ($P1939)
+  control_1929:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P1953, exception, "payload"
-    .return ($P1953)
+    getattribute $P1940, exception, "payload"
+    .return ($P1940)
 .end
 
 
 .namespace ["NQP";"Actions"]
-.sub "number"  :subid("107_1274800470.33966") :method :outer("11_1274800470.33966")
-    .param pmc param_1957
-.annotate 'line', 715
-    new $P1956, 'ExceptionHandler'
-    set_addr $P1956, control_1955
-    $P1956."handle_types"(57)
-    push_eh $P1956
-    .lex "self", self
-    .lex "$/", param_1957
+.sub "postcircumfix:sym<( )>"  :subid("106_1274853047.92727") :method :outer("11_1274853047.92727")
+    .param pmc param_1944
 .annotate 'line', 716
-    new $P1958, "Undef"
-    .lex "$value", $P1958
-    find_lex $P1961, "$/"
-    unless_null $P1961, vivify_577
-    $P1961 = root_new ['parrot';'Hash']
-  vivify_577:
-    set $P1962, $P1961["dec_number"]
-    unless_null $P1962, vivify_578
-    new $P1962, "Undef"
-  vivify_578:
-    if $P1962, if_1960
-    find_lex $P1966, "$/"
-    unless_null $P1966, vivify_579
-    $P1966 = root_new ['parrot';'Hash']
-  vivify_579:
-    set $P1967, $P1966["integer"]
-    unless_null $P1967, vivify_580
-    new $P1967, "Undef"
-  vivify_580:
-    $P1968 = $P1967."ast"()
-    set $P1959, $P1968
-    goto if_1960_end
-  if_1960:
-    find_lex $P1963, "$/"
-    unless_null $P1963, vivify_581
-    $P1963 = root_new ['parrot';'Hash']
-  vivify_581:
-    set $P1964, $P1963["dec_number"]
-    unless_null $P1964, vivify_582
-    new $P1964, "Undef"
-  vivify_582:
-    $P1965 = $P1964."ast"()
-    set $P1959, $P1965
-  if_1960_end:
-    store_lex "$value", $P1959
+    new $P1943, 'ExceptionHandler'
+    set_addr $P1943, control_1942
+    $P1943."handle_types"(57)
+    push_eh $P1943
+    .lex "self", self
+    .lex "$/", param_1944
 .annotate 'line', 717
-    find_lex $P1970, "$/"
-    unless_null $P1970, vivify_583
-    $P1970 = root_new ['parrot';'Hash']
-  vivify_583:
-    set $P1971, $P1970["sign"]
-    unless_null $P1971, vivify_584
-    new $P1971, "Undef"
-  vivify_584:
-    set $S1972, $P1971
-    iseq $I1973, $S1972, "-"
-    unless $I1973, if_1969_end
-    find_lex $P1974, "$value"
-    neg $P1975, $P1974
-    store_lex "$value", $P1975
-  if_1969_end:
-.annotate 'line', 718
-    find_lex $P1976, "$/"
-    get_hll_global $P1977, ["PAST"], "Val"
-    find_lex $P1978, "$value"
-    $P1979 = $P1977."new"($P1978 :named("value"))
-    $P1980 = $P1976."!make"($P1979)
-.annotate 'line', 715
-    .return ($P1980)
-  control_1955:
+    find_lex $P1945, "$/"
+    find_lex $P1946, "$/"
+    unless_null $P1946, vivify_573
+    $P1946 = root_new ['parrot';'Hash']
+  vivify_573:
+    set $P1947, $P1946["arglist"]
+    unless_null $P1947, vivify_574
+    new $P1947, "Undef"
+  vivify_574:
+    $P1948 = $P1947."ast"()
+    $P1949 = $P1945."!make"($P1948)
+.annotate 'line', 716
+    .return ($P1949)
+  control_1942:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P1981, exception, "payload"
-    .return ($P1981)
+    getattribute $P1950, exception, "payload"
+    .return ($P1950)
 .end
 
 
 .namespace ["NQP";"Actions"]
-.sub "quote:sym<apos>"  :subid("108_1274800470.33966") :method :outer("11_1274800470.33966")
-    .param pmc param_1985
+.sub "value"  :subid("107_1274853047.92727") :method :outer("11_1274853047.92727")
+    .param pmc param_1954
+.annotate 'line', 720
+    new $P1953, 'ExceptionHandler'
+    set_addr $P1953, control_1952
+    $P1953."handle_types"(57)
+    push_eh $P1953
+    .lex "self", self
+    .lex "$/", param_1954
 .annotate 'line', 721
-    new $P1984, 'ExceptionHandler'
-    set_addr $P1984, control_1983
-    $P1984."handle_types"(57)
-    push_eh $P1984
-    .lex "self", self
-    .lex "$/", param_1985
-    find_lex $P1986, "$/"
-    find_lex $P1987, "$/"
-    unless_null $P1987, vivify_585
-    $P1987 = root_new ['parrot';'Hash']
-  vivify_585:
-    set $P1988, $P1987["quote_EXPR"]
-    unless_null $P1988, vivify_586
-    new $P1988, "Undef"
-  vivify_586:
-    $P1989 = $P1988."ast"()
-    $P1990 = $P1986."!make"($P1989)
-    .return ($P1990)
-  control_1983:
+    find_lex $P1955, "$/"
+    find_lex $P1958, "$/"
+    unless_null $P1958, vivify_575
+    $P1958 = root_new ['parrot';'Hash']
+  vivify_575:
+    set $P1959, $P1958["quote"]
+    unless_null $P1959, vivify_576
+    new $P1959, "Undef"
+  vivify_576:
+    if $P1959, if_1957
+    find_lex $P1963, "$/"
+    unless_null $P1963, vivify_577
+    $P1963 = root_new ['parrot';'Hash']
+  vivify_577:
+    set $P1964, $P1963["number"]
+    unless_null $P1964, vivify_578
+    new $P1964, "Undef"
+  vivify_578:
+    $P1965 = $P1964."ast"()
+    set $P1956, $P1965
+    goto if_1957_end
+  if_1957:
+    find_lex $P1960, "$/"
+    unless_null $P1960, vivify_579
+    $P1960 = root_new ['parrot';'Hash']
+  vivify_579:
+    set $P1961, $P1960["quote"]
+    unless_null $P1961, vivify_580
+    new $P1961, "Undef"
+  vivify_580:
+    $P1962 = $P1961."ast"()
+    set $P1956, $P1962
+  if_1957_end:
+    $P1966 = $P1955."!make"($P1956)
+.annotate 'line', 720
+    .return ($P1966)
+  control_1952:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P1991, exception, "payload"
-    .return ($P1991)
+    getattribute $P1967, exception, "payload"
+    .return ($P1967)
 .end
 
 
 .namespace ["NQP";"Actions"]
-.sub "quote:sym<dblq>"  :subid("109_1274800470.33966") :method :outer("11_1274800470.33966")
-    .param pmc param_1995
-.annotate 'line', 722
-    new $P1994, 'ExceptionHandler'
-    set_addr $P1994, control_1993
-    $P1994."handle_types"(57)
-    push_eh $P1994
+.sub "number"  :subid("108_1274853047.92727") :method :outer("11_1274853047.92727")
+    .param pmc param_1971
+.annotate 'line', 724
+    new $P1970, 'ExceptionHandler'
+    set_addr $P1970, control_1969
+    $P1970."handle_types"(57)
+    push_eh $P1970
     .lex "self", self
-    .lex "$/", param_1995
-    find_lex $P1996, "$/"
-    find_lex $P1997, "$/"
-    unless_null $P1997, vivify_587
-    $P1997 = root_new ['parrot';'Hash']
+    .lex "$/", param_1971
+.annotate 'line', 725
+    new $P1972, "Undef"
+    .lex "$value", $P1972
+    find_lex $P1975, "$/"
+    unless_null $P1975, vivify_581
+    $P1975 = root_new ['parrot';'Hash']
+  vivify_581:
+    set $P1976, $P1975["dec_number"]
+    unless_null $P1976, vivify_582
+    new $P1976, "Undef"
+  vivify_582:
+    if $P1976, if_1974
+    find_lex $P1980, "$/"
+    unless_null $P1980, vivify_583
+    $P1980 = root_new ['parrot';'Hash']
+  vivify_583:
+    set $P1981, $P1980["integer"]
+    unless_null $P1981, vivify_584
+    new $P1981, "Undef"
+  vivify_584:
+    $P1982 = $P1981."ast"()
+    set $P1973, $P1982
+    goto if_1974_end
+  if_1974:
+    find_lex $P1977, "$/"
+    unless_null $P1977, vivify_585
+    $P1977 = root_new ['parrot';'Hash']
+  vivify_585:
+    set $P1978, $P1977["dec_number"]
+    unless_null $P1978, vivify_586
+    new $P1978, "Undef"
+  vivify_586:
+    $P1979 = $P1978."ast"()
+    set $P1973, $P1979
+  if_1974_end:
+    store_lex "$value", $P1973
+.annotate 'line', 726
+    find_lex $P1984, "$/"
+    unless_null $P1984, vivify_587
+    $P1984 = root_new ['parrot';'Hash']
   vivify_587:
-    set $P1998, $P1997["quote_EXPR"]
-    unless_null $P1998, vivify_588
-    new $P1998, "Undef"
+    set $P1985, $P1984["sign"]
+    unless_null $P1985, vivify_588
+    new $P1985, "Undef"
   vivify_588:
-    $P1999 = $P1998."ast"()
-    $P2000 = $P1996."!make"($P1999)
-    .return ($P2000)
-  control_1993:
+    set $S1986, $P1985
+    iseq $I1987, $S1986, "-"
+    unless $I1987, if_1983_end
+    find_lex $P1988, "$value"
+    neg $P1989, $P1988
+    store_lex "$value", $P1989
+  if_1983_end:
+.annotate 'line', 727
+    find_lex $P1990, "$/"
+    get_hll_global $P1991, ["PAST"], "Val"
+    find_lex $P1992, "$value"
+    $P1993 = $P1991."new"($P1992 :named("value"))
+    $P1994 = $P1990."!make"($P1993)
+.annotate 'line', 724
+    .return ($P1994)
+  control_1969:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P2001, exception, "payload"
-    .return ($P2001)
+    getattribute $P1995, exception, "payload"
+    .return ($P1995)
 .end
 
 
 .namespace ["NQP";"Actions"]
-.sub "quote:sym<qq>"  :subid("110_1274800470.33966") :method :outer("11_1274800470.33966")
-    .param pmc param_2005
-.annotate 'line', 723
-    new $P2004, 'ExceptionHandler'
-    set_addr $P2004, control_2003
-    $P2004."handle_types"(57)
-    push_eh $P2004
+.sub "quote:sym<apos>"  :subid("109_1274853047.92727") :method :outer("11_1274853047.92727")
+    .param pmc param_1999
+.annotate 'line', 730
+    new $P1998, 'ExceptionHandler'
+    set_addr $P1998, control_1997
+    $P1998."handle_types"(57)
+    push_eh $P1998
     .lex "self", self
-    .lex "$/", param_2005
-    find_lex $P2006, "$/"
-    find_lex $P2007, "$/"
-    unless_null $P2007, vivify_589
-    $P2007 = root_new ['parrot';'Hash']
+    .lex "$/", param_1999
+    find_lex $P2000, "$/"
+    find_lex $P2001, "$/"
+    unless_null $P2001, vivify_589
+    $P2001 = root_new ['parrot';'Hash']
   vivify_589:
-    set $P2008, $P2007["quote_EXPR"]
-    unless_null $P2008, vivify_590
-    new $P2008, "Undef"
+    set $P2002, $P2001["quote_EXPR"]
+    unless_null $P2002, vivify_590
+    new $P2002, "Undef"
   vivify_590:
-    $P2009 = $P2008."ast"()
-    $P2010 = $P2006."!make"($P2009)
-    .return ($P2010)
-  control_2003:
+    $P2003 = $P2002."ast"()
+    $P2004 = $P2000."!make"($P2003)
+    .return ($P2004)
+  control_1997:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P2011, exception, "payload"
-    .return ($P2011)
+    getattribute $P2005, exception, "payload"
+    .return ($P2005)
 .end
 
 
 .namespace ["NQP";"Actions"]
-.sub "quote:sym<q>"  :subid("111_1274800470.33966") :method :outer("11_1274800470.33966")
-    .param pmc param_2015
-.annotate 'line', 724
-    new $P2014, 'ExceptionHandler'
-    set_addr $P2014, control_2013
-    $P2014."handle_types"(57)
-    push_eh $P2014
-    .lex "self", self
-    .lex "$/", param_2015
-    find_lex $P2016, "$/"
-    find_lex $P2017, "$/"
-    unless_null $P2017, vivify_591
-    $P2017 = root_new ['parrot';'Hash']
+.sub "quote:sym<dblq>"  :subid("110_1274853047.92727") :method :outer("11_1274853047.92727")
+    .param pmc param_2009
+.annotate 'line', 731
+    new $P2008, 'ExceptionHandler'
+    set_addr $P2008, control_2007
+    $P2008."handle_types"(57)
+    push_eh $P2008
+    .lex "self", self
+    .lex "$/", param_2009
+    find_lex $P2010, "$/"
+    find_lex $P2011, "$/"
+    unless_null $P2011, vivify_591
+    $P2011 = root_new ['parrot';'Hash']
   vivify_591:
-    set $P2018, $P2017["quote_EXPR"]
-    unless_null $P2018, vivify_592
-    new $P2018, "Undef"
+    set $P2012, $P2011["quote_EXPR"]
+    unless_null $P2012, vivify_592
+    new $P2012, "Undef"
   vivify_592:
-    $P2019 = $P2018."ast"()
-    $P2020 = $P2016."!make"($P2019)
-    .return ($P2020)
-  control_2013:
+    $P2013 = $P2012."ast"()
+    $P2014 = $P2010."!make"($P2013)
+    .return ($P2014)
+  control_2007:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P2021, exception, "payload"
-    .return ($P2021)
+    getattribute $P2015, exception, "payload"
+    .return ($P2015)
 .end
 
 
 .namespace ["NQP";"Actions"]
-.sub "quote:sym<Q>"  :subid("112_1274800470.33966") :method :outer("11_1274800470.33966")
-    .param pmc param_2025
-.annotate 'line', 725
-    new $P2024, 'ExceptionHandler'
-    set_addr $P2024, control_2023
-    $P2024."handle_types"(57)
-    push_eh $P2024
-    .lex "self", self
-    .lex "$/", param_2025
-    find_lex $P2026, "$/"
-    find_lex $P2027, "$/"
-    unless_null $P2027, vivify_593
-    $P2027 = root_new ['parrot';'Hash']
+.sub "quote:sym<qq>"  :subid("111_1274853047.92727") :method :outer("11_1274853047.92727")
+    .param pmc param_2019
+.annotate 'line', 732
+    new $P2018, 'ExceptionHandler'
+    set_addr $P2018, control_2017
+    $P2018."handle_types"(57)
+    push_eh $P2018
+    .lex "self", self
+    .lex "$/", param_2019
+    find_lex $P2020, "$/"
+    find_lex $P2021, "$/"
+    unless_null $P2021, vivify_593
+    $P2021 = root_new ['parrot';'Hash']
   vivify_593:
-    set $P2028, $P2027["quote_EXPR"]
-    unless_null $P2028, vivify_594
-    new $P2028, "Undef"
+    set $P2022, $P2021["quote_EXPR"]
+    unless_null $P2022, vivify_594
+    new $P2022, "Undef"
   vivify_594:
-    $P2029 = $P2028."ast"()
-    $P2030 = $P2026."!make"($P2029)
-    .return ($P2030)
-  control_2023:
+    $P2023 = $P2022."ast"()
+    $P2024 = $P2020."!make"($P2023)
+    .return ($P2024)
+  control_2017:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P2031, exception, "payload"
-    .return ($P2031)
+    getattribute $P2025, exception, "payload"
+    .return ($P2025)
 .end
 
 
 .namespace ["NQP";"Actions"]
-.sub "quote:sym<Q:PIR>"  :subid("113_1274800470.33966") :method :outer("11_1274800470.33966")
-    .param pmc param_2035
-.annotate 'line', 726
-    new $P2034, 'ExceptionHandler'
-    set_addr $P2034, control_2033
-    $P2034."handle_types"(57)
-    push_eh $P2034
-    .lex "self", self
-    .lex "$/", param_2035
-.annotate 'line', 727
-    find_lex $P2036, "$/"
-    get_hll_global $P2037, ["PAST"], "Op"
-    find_lex $P2038, "$/"
-    unless_null $P2038, vivify_595
-    $P2038 = root_new ['parrot';'Hash']
+.sub "quote:sym<q>"  :subid("112_1274853047.92727") :method :outer("11_1274853047.92727")
+    .param pmc param_2029
+.annotate 'line', 733
+    new $P2028, 'ExceptionHandler'
+    set_addr $P2028, control_2027
+    $P2028."handle_types"(57)
+    push_eh $P2028
+    .lex "self", self
+    .lex "$/", param_2029
+    find_lex $P2030, "$/"
+    find_lex $P2031, "$/"
+    unless_null $P2031, vivify_595
+    $P2031 = root_new ['parrot';'Hash']
   vivify_595:
-    set $P2039, $P2038["quote_EXPR"]
-    unless_null $P2039, vivify_596
-    new $P2039, "Undef"
+    set $P2032, $P2031["quote_EXPR"]
+    unless_null $P2032, vivify_596
+    new $P2032, "Undef"
   vivify_596:
-    $P2040 = $P2039."ast"()
-    $P2041 = $P2040."value"()
-    find_lex $P2042, "$/"
-    $P2043 = $P2037."new"($P2041 :named("inline"), "inline" :named("pasttype"), $P2042 :named("node"))
-    $P2044 = $P2036."!make"($P2043)
-.annotate 'line', 726
+    $P2033 = $P2032."ast"()
+    $P2034 = $P2030."!make"($P2033)
+    .return ($P2034)
+  control_2027:
+    .local pmc exception 
+    .get_results (exception) 
+    getattribute $P2035, exception, "payload"
+    .return ($P2035)
+.end
+
+
+.namespace ["NQP";"Actions"]
+.sub "quote:sym<Q>"  :subid("113_1274853047.92727") :method :outer("11_1274853047.92727")
+    .param pmc param_2039
+.annotate 'line', 734
+    new $P2038, 'ExceptionHandler'
+    set_addr $P2038, control_2037
+    $P2038."handle_types"(57)
+    push_eh $P2038
+    .lex "self", self
+    .lex "$/", param_2039
+    find_lex $P2040, "$/"
+    find_lex $P2041, "$/"
+    unless_null $P2041, vivify_597
+    $P2041 = root_new ['parrot';'Hash']
+  vivify_597:
+    set $P2042, $P2041["quote_EXPR"]
+    unless_null $P2042, vivify_598
+    new $P2042, "Undef"
+  vivify_598:
+    $P2043 = $P2042."ast"()
+    $P2044 = $P2040."!make"($P2043)
     .return ($P2044)
-  control_2033:
+  control_2037:
     .local pmc exception 
     .get_results (exception) 
     getattribute $P2045, exception, "payload"
@@ -22957,175 +23061,173 @@
 
 
 .namespace ["NQP";"Actions"]
-.sub "quote:sym</ />"  :subid("114_1274800470.33966") :method :outer("11_1274800470.33966")
+.sub "quote:sym<Q:PIR>"  :subid("114_1274853047.92727") :method :outer("11_1274853047.92727")
     .param pmc param_2049
-    .param pmc param_2050 :optional
-    .param int has_param_2050 :opt_flag
-.annotate 'line', 732
+.annotate 'line', 735
     new $P2048, 'ExceptionHandler'
     set_addr $P2048, control_2047
     $P2048."handle_types"(57)
     push_eh $P2048
     .lex "self", self
     .lex "$/", param_2049
-    if has_param_2050, optparam_597
-    new $P2051, "Undef"
-    set param_2050, $P2051
-  optparam_597:
-    .lex "$key", param_2050
-.annotate 'line', 742
-    new $P2052, "Undef"
-    .lex "$regex", $P2052
-.annotate 'line', 744
-    new $P2053, "Undef"
-    .lex "$past", $P2053
-.annotate 'line', 733
-    find_lex $P2055, "$key"
-    set $S2056, $P2055
-    iseq $I2057, $S2056, "open"
-    unless $I2057, if_2054_end
-.annotate 'line', 734
-
-            null $P0
-            set_hll_global ['Regex';'P6Regex';'Actions'], '$REGEXNAME', $P0
-        
-.annotate 'line', 738
-    get_global $P2058, "@BLOCK"
-    unless_null $P2058, vivify_598
-    $P2058 = root_new ['parrot';'ResizablePMCArray']
-  vivify_598:
-    set $P2059, $P2058[0]
-    unless_null $P2059, vivify_599
-    new $P2059, "Undef"
+.annotate 'line', 736
+    find_lex $P2050, "$/"
+    get_hll_global $P2051, ["PAST"], "Op"
+    find_lex $P2052, "$/"
+    unless_null $P2052, vivify_599
+    $P2052 = root_new ['parrot';'Hash']
   vivify_599:
-    $P2059."symbol"(unicode:"$\x{a2}", "lexical" :named("scope"))
-.annotate 'line', 739
-    get_global $P2060, "@BLOCK"
-    unless_null $P2060, vivify_600
-    $P2060 = root_new ['parrot';'ResizablePMCArray']
+    set $P2053, $P2052["quote_EXPR"]
+    unless_null $P2053, vivify_600
+    new $P2053, "Undef"
   vivify_600:
-    set $P2061, $P2060[0]
-    unless_null $P2061, vivify_601
-    new $P2061, "Undef"
-  vivify_601:
-    $P2061."symbol"("$/", "lexical" :named("scope"))
-.annotate 'line', 740
-    new $P2062, "Exception"
-    set $P2062['type'], 57
-    new $P2063, "Integer"
-    assign $P2063, 0
-    setattribute $P2062, 'payload', $P2063
-    throw $P2062
-  if_2054_end:
-.annotate 'line', 743
-    get_hll_global $P2064, ["Regex";"P6Regex";"Actions"], "buildsub"
-    find_lex $P2065, "$/"
-    unless_null $P2065, vivify_602
-    $P2065 = root_new ['parrot';'Hash']
-  vivify_602:
-    set $P2066, $P2065["p6regex"]
-    unless_null $P2066, vivify_603
-    new $P2066, "Undef"
-  vivify_603:
-    $P2067 = $P2066."ast"()
-    get_global $P2068, "@BLOCK"
-    $P2069 = $P2068."shift"()
-    $P2070 = $P2064($P2067, $P2069)
-    store_lex "$regex", $P2070
-.annotate 'line', 745
-    get_hll_global $P2071, ["PAST"], "Op"
-.annotate 'line', 747
-    get_hll_global $P2072, ["PAST"], "Var"
-    new $P2073, "ResizablePMCArray"
-    push $P2073, "Regex"
-    $P2074 = $P2072."new"("Regex" :named("name"), $P2073 :named("namespace"), "package" :named("scope"))
-    find_lex $P2075, "$regex"
-    $P2076 = $P2071."new"($P2074, $P2075, "callmethod" :named("pasttype"), "new" :named("name"))
-.annotate 'line', 745
-    store_lex "$past", $P2076
-.annotate 'line', 751
-    find_lex $P2077, "$regex"
-    find_lex $P2078, "$past"
-    unless_null $P2078, vivify_604
-    $P2078 = root_new ['parrot';'Hash']
-    store_lex "$past", $P2078
-  vivify_604:
-    set $P2078["sink"], $P2077
-.annotate 'line', 752
-    find_lex $P2079, "$/"
-    find_lex $P2080, "$past"
-    $P2081 = $P2079."!make"($P2080)
-.annotate 'line', 732
-    .return ($P2081)
+    $P2054 = $P2053."ast"()
+    $P2055 = $P2054."value"()
+    find_lex $P2056, "$/"
+    $P2057 = $P2051."new"($P2055 :named("inline"), "inline" :named("pasttype"), $P2056 :named("node"))
+    $P2058 = $P2050."!make"($P2057)
+.annotate 'line', 735
+    .return ($P2058)
   control_2047:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P2082, exception, "payload"
-    .return ($P2082)
+    getattribute $P2059, exception, "payload"
+    .return ($P2059)
 .end
 
 
 .namespace ["NQP";"Actions"]
-.sub "quote_escape:sym<$>"  :subid("115_1274800470.33966") :method :outer("11_1274800470.33966")
-    .param pmc param_2086
-.annotate 'line', 755
-    new $P2085, 'ExceptionHandler'
-    set_addr $P2085, control_2084
-    $P2085."handle_types"(57)
-    push_eh $P2085
-    .lex "self", self
-    .lex "$/", param_2086
-    find_lex $P2087, "$/"
-    find_lex $P2088, "$/"
-    unless_null $P2088, vivify_605
-    $P2088 = root_new ['parrot';'Hash']
+.sub "quote:sym</ />"  :subid("115_1274853047.92727") :method :outer("11_1274853047.92727")
+    .param pmc param_2063
+    .param pmc param_2064 :optional
+    .param int has_param_2064 :opt_flag
+.annotate 'line', 741
+    new $P2062, 'ExceptionHandler'
+    set_addr $P2062, control_2061
+    $P2062."handle_types"(57)
+    push_eh $P2062
+    .lex "self", self
+    .lex "$/", param_2063
+    if has_param_2064, optparam_601
+    new $P2065, "Undef"
+    set param_2064, $P2065
+  optparam_601:
+    .lex "$key", param_2064
+.annotate 'line', 751
+    new $P2066, "Undef"
+    .lex "$regex", $P2066
+.annotate 'line', 753
+    new $P2067, "Undef"
+    .lex "$past", $P2067
+.annotate 'line', 742
+    find_lex $P2069, "$key"
+    set $S2070, $P2069
+    iseq $I2071, $S2070, "open"
+    unless $I2071, if_2068_end
+.annotate 'line', 743
+
+            null $P0
+            set_hll_global ['Regex';'P6Regex';'Actions'], '$REGEXNAME', $P0
+        
+.annotate 'line', 747
+    get_global $P2072, "@BLOCK"
+    unless_null $P2072, vivify_602
+    $P2072 = root_new ['parrot';'ResizablePMCArray']
+  vivify_602:
+    set $P2073, $P2072[0]
+    unless_null $P2073, vivify_603
+    new $P2073, "Undef"
+  vivify_603:
+    $P2073."symbol"(unicode:"$\x{a2}", "lexical" :named("scope"))
+.annotate 'line', 748
+    get_global $P2074, "@BLOCK"
+    unless_null $P2074, vivify_604
+    $P2074 = root_new ['parrot';'ResizablePMCArray']
+  vivify_604:
+    set $P2075, $P2074[0]
+    unless_null $P2075, vivify_605
+    new $P2075, "Undef"
   vivify_605:
-    set $P2089, $P2088["variable"]
-    unless_null $P2089, vivify_606
-    new $P2089, "Undef"
+    $P2075."symbol"("$/", "lexical" :named("scope"))
+.annotate 'line', 749
+    new $P2076, "Exception"
+    set $P2076['type'], 57
+    new $P2077, "Integer"
+    assign $P2077, 0
+    setattribute $P2076, 'payload', $P2077
+    throw $P2076
+  if_2068_end:
+.annotate 'line', 752
+    get_hll_global $P2078, ["Regex";"P6Regex";"Actions"], "buildsub"
+    find_lex $P2079, "$/"
+    unless_null $P2079, vivify_606
+    $P2079 = root_new ['parrot';'Hash']
   vivify_606:
-    $P2090 = $P2089."ast"()
-    $P2091 = $P2087."!make"($P2090)
-    .return ($P2091)
-  control_2084:
+    set $P2080, $P2079["p6regex"]
+    unless_null $P2080, vivify_607
+    new $P2080, "Undef"
+  vivify_607:
+    $P2081 = $P2080."ast"()
+    get_global $P2082, "@BLOCK"
+    $P2083 = $P2082."shift"()
+    $P2084 = $P2078($P2081, $P2083)
+    store_lex "$regex", $P2084
+.annotate 'line', 754
+    get_hll_global $P2085, ["PAST"], "Op"
+.annotate 'line', 756
+    get_hll_global $P2086, ["PAST"], "Var"
+    new $P2087, "ResizablePMCArray"
+    push $P2087, "Regex"
+    $P2088 = $P2086."new"("Regex" :named("name"), $P2087 :named("namespace"), "package" :named("scope"))
+    find_lex $P2089, "$regex"
+    $P2090 = $P2085."new"($P2088, $P2089, "callmethod" :named("pasttype"), "new" :named("name"))
+.annotate 'line', 754
+    store_lex "$past", $P2090
+.annotate 'line', 760
+    find_lex $P2091, "$regex"
+    find_lex $P2092, "$past"
+    unless_null $P2092, vivify_608
+    $P2092 = root_new ['parrot';'Hash']
+    store_lex "$past", $P2092
+  vivify_608:
+    set $P2092["sink"], $P2091
+.annotate 'line', 761
+    find_lex $P2093, "$/"
+    find_lex $P2094, "$past"
+    $P2095 = $P2093."!make"($P2094)
+.annotate 'line', 741
+    .return ($P2095)
+  control_2061:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P2092, exception, "payload"
-    .return ($P2092)
+    getattribute $P2096, exception, "payload"
+    .return ($P2096)
 .end
 
 
 .namespace ["NQP";"Actions"]
-.sub "quote_escape:sym<{ }>"  :subid("116_1274800470.33966") :method :outer("11_1274800470.33966")
-    .param pmc param_2096
-.annotate 'line', 756
-    new $P2095, 'ExceptionHandler'
-    set_addr $P2095, control_2094
-    $P2095."handle_types"(57)
-    push_eh $P2095
-    .lex "self", self
-    .lex "$/", param_2096
-.annotate 'line', 757
-    find_lex $P2097, "$/"
-    get_hll_global $P2098, ["PAST"], "Op"
-.annotate 'line', 758
-    find_lex $P2099, "$/"
-    unless_null $P2099, vivify_607
-    $P2099 = root_new ['parrot';'Hash']
-  vivify_607:
-    set $P2100, $P2099["block"]
-    unless_null $P2100, vivify_608
-    new $P2100, "Undef"
-  vivify_608:
-    $P2101 = $P2100."ast"()
-    $P2102 = "block_immediate"($P2101)
-    find_lex $P2103, "$/"
-    $P2104 = $P2098."new"($P2102, "set S*" :named("pirop"), $P2103 :named("node"))
-.annotate 'line', 757
-    $P2105 = $P2097."!make"($P2104)
-.annotate 'line', 756
+.sub "quote_escape:sym<$>"  :subid("116_1274853047.92727") :method :outer("11_1274853047.92727")
+    .param pmc param_2100
+.annotate 'line', 764
+    new $P2099, 'ExceptionHandler'
+    set_addr $P2099, control_2098
+    $P2099."handle_types"(57)
+    push_eh $P2099
+    .lex "self", self
+    .lex "$/", param_2100
+    find_lex $P2101, "$/"
+    find_lex $P2102, "$/"
+    unless_null $P2102, vivify_609
+    $P2102 = root_new ['parrot';'Hash']
+  vivify_609:
+    set $P2103, $P2102["variable"]
+    unless_null $P2103, vivify_610
+    new $P2103, "Undef"
+  vivify_610:
+    $P2104 = $P2103."ast"()
+    $P2105 = $P2101."!make"($P2104)
     .return ($P2105)
-  control_2094:
+  control_2098:
     .local pmc exception 
     .get_results (exception) 
     getattribute $P2106, exception, "payload"
@@ -23134,192 +23236,188 @@
 
 
 .namespace ["NQP";"Actions"]
-.sub "quote_escape:sym<esc>"  :subid("117_1274800470.33966") :method :outer("11_1274800470.33966")
+.sub "quote_escape:sym<{ }>"  :subid("117_1274853047.92727") :method :outer("11_1274853047.92727")
     .param pmc param_2110
-.annotate 'line', 761
+.annotate 'line', 765
     new $P2109, 'ExceptionHandler'
     set_addr $P2109, control_2108
     $P2109."handle_types"(57)
     push_eh $P2109
     .lex "self", self
     .lex "$/", param_2110
+.annotate 'line', 766
     find_lex $P2111, "$/"
-    $P2112 = $P2111."!make"("\e")
-    .return ($P2112)
+    get_hll_global $P2112, ["PAST"], "Op"
+.annotate 'line', 767
+    find_lex $P2113, "$/"
+    unless_null $P2113, vivify_611
+    $P2113 = root_new ['parrot';'Hash']
+  vivify_611:
+    set $P2114, $P2113["block"]
+    unless_null $P2114, vivify_612
+    new $P2114, "Undef"
+  vivify_612:
+    $P2115 = $P2114."ast"()
+    $P2116 = "block_immediate"($P2115)
+    find_lex $P2117, "$/"
+    $P2118 = $P2112."new"($P2116, "set S*" :named("pirop"), $P2117 :named("node"))
+.annotate 'line', 766
+    $P2119 = $P2111."!make"($P2118)
+.annotate 'line', 765
+    .return ($P2119)
   control_2108:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P2113, exception, "payload"
-    .return ($P2113)
+    getattribute $P2120, exception, "payload"
+    .return ($P2120)
 .end
 
 
 .namespace ["NQP";"Actions"]
-.sub "postfix:sym<.>"  :subid("118_1274800470.33966") :method :outer("11_1274800470.33966")
-    .param pmc param_2117
-.annotate 'line', 765
-    new $P2116, 'ExceptionHandler'
-    set_addr $P2116, control_2115
-    $P2116."handle_types"(57)
-    push_eh $P2116
-    .lex "self", self
-    .lex "$/", param_2117
-    find_lex $P2118, "$/"
-    find_lex $P2119, "$/"
-    unless_null $P2119, vivify_609
-    $P2119 = root_new ['parrot';'Hash']
-  vivify_609:
-    set $P2120, $P2119["dotty"]
-    unless_null $P2120, vivify_610
-    new $P2120, "Undef"
-  vivify_610:
-    $P2121 = $P2120."ast"()
-    $P2122 = $P2118."!make"($P2121)
-    .return ($P2122)
-  control_2115:
+.sub "quote_escape:sym<esc>"  :subid("118_1274853047.92727") :method :outer("11_1274853047.92727")
+    .param pmc param_2124
+.annotate 'line', 770
+    new $P2123, 'ExceptionHandler'
+    set_addr $P2123, control_2122
+    $P2123."handle_types"(57)
+    push_eh $P2123
+    .lex "self", self
+    .lex "$/", param_2124
+    find_lex $P2125, "$/"
+    $P2126 = $P2125."!make"("\e")
+    .return ($P2126)
+  control_2122:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P2123, exception, "payload"
-    .return ($P2123)
+    getattribute $P2127, exception, "payload"
+    .return ($P2127)
 .end
 
 
 .namespace ["NQP";"Actions"]
-.sub "postfix:sym<++>"  :subid("119_1274800470.33966") :method :outer("11_1274800470.33966")
-    .param pmc param_2127
-.annotate 'line', 767
-    new $P2126, 'ExceptionHandler'
-    set_addr $P2126, control_2125
-    $P2126."handle_types"(57)
-    push_eh $P2126
-    .lex "self", self
-    .lex "$/", param_2127
-.annotate 'line', 768
-    find_lex $P2128, "$/"
-    get_hll_global $P2129, ["PAST"], "Op"
-.annotate 'line', 769
-    new $P2130, "ResizablePMCArray"
-    push $P2130, "    clone %r, %0"
-    push $P2130, "    inc %0"
-    $P2131 = $P2129."new"("postfix:<++>" :named("name"), $P2130 :named("inline"), "inline" :named("pasttype"))
-.annotate 'line', 768
-    $P2132 = $P2128."!make"($P2131)
-.annotate 'line', 767
-    .return ($P2132)
-  control_2125:
+.sub "postfix:sym<.>"  :subid("119_1274853047.92727") :method :outer("11_1274853047.92727")
+    .param pmc param_2131
+.annotate 'line', 774
+    new $P2130, 'ExceptionHandler'
+    set_addr $P2130, control_2129
+    $P2130."handle_types"(57)
+    push_eh $P2130
+    .lex "self", self
+    .lex "$/", param_2131
+    find_lex $P2132, "$/"
+    find_lex $P2133, "$/"
+    unless_null $P2133, vivify_613
+    $P2133 = root_new ['parrot';'Hash']
+  vivify_613:
+    set $P2134, $P2133["dotty"]
+    unless_null $P2134, vivify_614
+    new $P2134, "Undef"
+  vivify_614:
+    $P2135 = $P2134."ast"()
+    $P2136 = $P2132."!make"($P2135)
+    .return ($P2136)
+  control_2129:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P2133, exception, "payload"
-    .return ($P2133)
+    getattribute $P2137, exception, "payload"
+    .return ($P2137)
 .end
 
 
 .namespace ["NQP";"Actions"]
-.sub "postfix:sym<-->"  :subid("120_1274800470.33966") :method :outer("11_1274800470.33966")
-    .param pmc param_2137
-.annotate 'line', 773
-    new $P2136, 'ExceptionHandler'
-    set_addr $P2136, control_2135
-    $P2136."handle_types"(57)
-    push_eh $P2136
+.sub "postfix:sym<++>"  :subid("120_1274853047.92727") :method :outer("11_1274853047.92727")
+    .param pmc param_2141
+.annotate 'line', 776
+    new $P2140, 'ExceptionHandler'
+    set_addr $P2140, control_2139
+    $P2140."handle_types"(57)
+    push_eh $P2140
     .lex "self", self
-    .lex "$/", param_2137
-.annotate 'line', 774
-    find_lex $P2138, "$/"
-    get_hll_global $P2139, ["PAST"], "Op"
-.annotate 'line', 775
-    new $P2140, "ResizablePMCArray"
-    push $P2140, "    clone %r, %0"
-    push $P2140, "    dec %0"
-    $P2141 = $P2139."new"("postfix:<-->" :named("name"), $P2140 :named("inline"), "inline" :named("pasttype"))
-.annotate 'line', 774
-    $P2142 = $P2138."!make"($P2141)
-.annotate 'line', 773
-    .return ($P2142)
-  control_2135:
+    .lex "$/", param_2141
+.annotate 'line', 777
+    find_lex $P2142, "$/"
+    get_hll_global $P2143, ["PAST"], "Op"
+.annotate 'line', 778
+    new $P2144, "ResizablePMCArray"
+    push $P2144, "    clone %r, %0"
+    push $P2144, "    inc %0"
+    $P2145 = $P2143."new"("postfix:<++>" :named("name"), $P2144 :named("inline"), "inline" :named("pasttype"))
+.annotate 'line', 777
+    $P2146 = $P2142."!make"($P2145)
+.annotate 'line', 776
+    .return ($P2146)
+  control_2139:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P2143, exception, "payload"
-    .return ($P2143)
+    getattribute $P2147, exception, "payload"
+    .return ($P2147)
 .end
 
 
 .namespace ["NQP";"Actions"]
-.sub "prefix:sym<make>"  :subid("121_1274800470.33966") :method :outer("11_1274800470.33966")
-    .param pmc param_2147
-.annotate 'line', 779
-    new $P2146, 'ExceptionHandler'
-    set_addr $P2146, control_2145
-    $P2146."handle_types"(57)
-    push_eh $P2146
+.sub "postfix:sym<-->"  :subid("121_1274853047.92727") :method :outer("11_1274853047.92727")
+    .param pmc param_2151
+.annotate 'line', 782
+    new $P2150, 'ExceptionHandler'
+    set_addr $P2150, control_2149
+    $P2150."handle_types"(57)
+    push_eh $P2150
     .lex "self", self
-    .lex "$/", param_2147
-.annotate 'line', 780
-    find_lex $P2148, "$/"
-    get_hll_global $P2149, ["PAST"], "Op"
-.annotate 'line', 781
-    get_hll_global $P2150, ["PAST"], "Var"
-    $P2151 = $P2150."new"("$/" :named("name"), "contextual" :named("scope"))
+    .lex "$/", param_2151
+.annotate 'line', 783
     find_lex $P2152, "$/"
-    $P2153 = $P2149."new"($P2151, "callmethod" :named("pasttype"), "!make" :named("name"), $P2152 :named("node"))
-.annotate 'line', 780
-    $P2154 = $P2148."!make"($P2153)
-.annotate 'line', 779
-    .return ($P2154)
-  control_2145:
+    get_hll_global $P2153, ["PAST"], "Op"
+.annotate 'line', 784
+    new $P2154, "ResizablePMCArray"
+    push $P2154, "    clone %r, %0"
+    push $P2154, "    dec %0"
+    $P2155 = $P2153."new"("postfix:<-->" :named("name"), $P2154 :named("inline"), "inline" :named("pasttype"))
+.annotate 'line', 783
+    $P2156 = $P2152."!make"($P2155)
+.annotate 'line', 782
+    .return ($P2156)
+  control_2149:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P2155, exception, "payload"
-    .return ($P2155)
+    getattribute $P2157, exception, "payload"
+    .return ($P2157)
 .end
 
 
 .namespace ["NQP";"Actions"]
-.sub "term:sym<next>"  :subid("122_1274800470.33966") :method :outer("11_1274800470.33966")
-    .param pmc param_2160
-.annotate 'line', 801
-    new $P2159, 'ExceptionHandler'
-    set_addr $P2159, control_2158
-    $P2159."handle_types"(57)
-    push_eh $P2159
+.sub "prefix:sym<make>"  :subid("122_1274853047.92727") :method :outer("11_1274853047.92727")
+    .param pmc param_2161
+.annotate 'line', 788
+    new $P2160, 'ExceptionHandler'
+    set_addr $P2160, control_2159
+    $P2160."handle_types"(57)
+    push_eh $P2160
     .lex "self", self
-    .lex "$/", param_2160
-    find_lex $P2161, "$/"
-    $P2162 = "control"($P2161, ".CONTROL_LOOP_NEXT")
-    .return ($P2162)
-  control_2158:
+    .lex "$/", param_2161
+.annotate 'line', 789
+    find_lex $P2162, "$/"
+    get_hll_global $P2163, ["PAST"], "Op"
+.annotate 'line', 790
+    get_hll_global $P2164, ["PAST"], "Var"
+    $P2165 = $P2164."new"("$/" :named("name"), "contextual" :named("scope"))
+    find_lex $P2166, "$/"
+    $P2167 = $P2163."new"($P2165, "callmethod" :named("pasttype"), "!make" :named("name"), $P2166 :named("node"))
+.annotate 'line', 789
+    $P2168 = $P2162."!make"($P2167)
+.annotate 'line', 788
+    .return ($P2168)
+  control_2159:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P2163, exception, "payload"
-    .return ($P2163)
-.end
-
-
-.namespace ["NQP";"Actions"]
-.sub "term:sym<last>"  :subid("123_1274800470.33966") :method :outer("11_1274800470.33966")
-    .param pmc param_2167
-.annotate 'line', 802
-    new $P2166, 'ExceptionHandler'
-    set_addr $P2166, control_2165
-    $P2166."handle_types"(57)
-    push_eh $P2166
-    .lex "self", self
-    .lex "$/", param_2167
-    find_lex $P2168, "$/"
-    $P2169 = "control"($P2168, ".CONTROL_LOOP_LAST")
+    getattribute $P2169, exception, "payload"
     .return ($P2169)
-  control_2165:
-    .local pmc exception 
-    .get_results (exception) 
-    getattribute $P2170, exception, "payload"
-    .return ($P2170)
 .end
 
 
 .namespace ["NQP";"Actions"]
-.sub "term:sym<redo>"  :subid("124_1274800470.33966") :method :outer("11_1274800470.33966")
+.sub "term:sym<next>"  :subid("123_1274853047.92727") :method :outer("11_1274853047.92727")
     .param pmc param_2174
-.annotate 'line', 803
+.annotate 'line', 810
     new $P2173, 'ExceptionHandler'
     set_addr $P2173, control_2172
     $P2173."handle_types"(57)
@@ -23327,7 +23425,7 @@
     .lex "self", self
     .lex "$/", param_2174
     find_lex $P2175, "$/"
-    $P2176 = "control"($P2175, ".CONTROL_LOOP_REDO")
+    $P2176 = "control"($P2175, ".CONTROL_LOOP_NEXT")
     .return ($P2176)
   control_2172:
     .local pmc exception 
@@ -23338,361 +23436,403 @@
 
 
 .namespace ["NQP";"Actions"]
-.sub "infix:sym<~~>"  :subid("125_1274800470.33966") :method :outer("11_1274800470.33966")
+.sub "term:sym<last>"  :subid("124_1274853047.92727") :method :outer("11_1274853047.92727")
     .param pmc param_2181
-.annotate 'line', 805
+.annotate 'line', 811
     new $P2180, 'ExceptionHandler'
     set_addr $P2180, control_2179
     $P2180."handle_types"(57)
     push_eh $P2180
     .lex "self", self
     .lex "$/", param_2181
-.annotate 'line', 806
     find_lex $P2182, "$/"
-    get_hll_global $P2183, ["PAST"], "Op"
-    find_lex $P2184, "$/"
-    $P2185 = $P2183."new"("callmethod" :named("pasttype"), "ACCEPTS" :named("name"), $P2184 :named("node"))
-    $P2186 = $P2182."!make"($P2185)
-.annotate 'line', 805
-    .return ($P2186)
+    $P2183 = "control"($P2182, ".CONTROL_LOOP_LAST")
+    .return ($P2183)
   control_2179:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P2187, exception, "payload"
-    .return ($P2187)
+    getattribute $P2184, exception, "payload"
+    .return ($P2184)
 .end
 
 
-.namespace ["NQP";"RegexActions"]
-.sub "_block2188"  :subid("126_1274800470.33966") :outer("11_1274800470.33966")
-.annotate 'line', 810
-    .const 'Sub' $P2273 = "133_1274800470.33966" 
-    capture_lex $P2273
-    .const 'Sub' $P2260 = "132_1274800470.33966" 
-    capture_lex $P2260
-    .const 'Sub' $P2243 = "131_1274800470.33966" 
-    capture_lex $P2243
-    .const 'Sub' $P2230 = "130_1274800470.33966" 
-    capture_lex $P2230
-    .const 'Sub' $P2217 = "129_1274800470.33966" 
-    capture_lex $P2217
-    .const 'Sub' $P2204 = "128_1274800470.33966" 
-    capture_lex $P2204
-    .const 'Sub' $P2190 = "127_1274800470.33966" 
-    capture_lex $P2190
-.annotate 'line', 843
-    .const 'Sub' $P2273 = "133_1274800470.33966" 
-    newclosure $P2298, $P2273
-.annotate 'line', 810
-    .return ($P2298)
+.namespace ["NQP";"Actions"]
+.sub "term:sym<redo>"  :subid("125_1274853047.92727") :method :outer("11_1274853047.92727")
+    .param pmc param_2188
+.annotate 'line', 812
+    new $P2187, 'ExceptionHandler'
+    set_addr $P2187, control_2186
+    $P2187."handle_types"(57)
+    push_eh $P2187
+    .lex "self", self
+    .lex "$/", param_2188
+    find_lex $P2189, "$/"
+    $P2190 = "control"($P2189, ".CONTROL_LOOP_REDO")
+    .return ($P2190)
+  control_2186:
+    .local pmc exception 
+    .get_results (exception) 
+    getattribute $P2191, exception, "payload"
+    .return ($P2191)
 .end
 
 
-.namespace ["NQP";"RegexActions"]
-.sub "metachar:sym<:my>"  :subid("127_1274800470.33966") :method :outer("126_1274800470.33966")
-    .param pmc param_2193
-.annotate 'line', 812
-    new $P2192, 'ExceptionHandler'
-    set_addr $P2192, control_2191
-    $P2192."handle_types"(57)
-    push_eh $P2192
-    .lex "self", self
-    .lex "$/", param_2193
-.annotate 'line', 813
-    new $P2194, "Undef"
-    .lex "$past", $P2194
-    find_lex $P2195, "$/"
-    unless_null $P2195, vivify_611
-    $P2195 = root_new ['parrot';'Hash']
-  vivify_611:
-    set $P2196, $P2195["statement"]
-    unless_null $P2196, vivify_612
-    new $P2196, "Undef"
-  vivify_612:
-    $P2197 = $P2196."ast"()
-    store_lex "$past", $P2197
+.namespace ["NQP";"Actions"]
+.sub "infix:sym<~~>"  :subid("126_1274853047.92727") :method :outer("11_1274853047.92727")
+    .param pmc param_2195
 .annotate 'line', 814
+    new $P2194, 'ExceptionHandler'
+    set_addr $P2194, control_2193
+    $P2194."handle_types"(57)
+    push_eh $P2194
+    .lex "self", self
+    .lex "$/", param_2195
+.annotate 'line', 815
+    find_lex $P2196, "$/"
+    get_hll_global $P2197, ["PAST"], "Op"
     find_lex $P2198, "$/"
-    get_hll_global $P2199, ["PAST"], "Regex"
-    find_lex $P2200, "$past"
-    $P2201 = $P2199."new"($P2200, "pastnode" :named("pasttype"))
-    $P2202 = $P2198."!make"($P2201)
-.annotate 'line', 812
-    .return ($P2202)
-  control_2191:
+    $P2199 = $P2197."new"("callmethod" :named("pasttype"), "ACCEPTS" :named("name"), $P2198 :named("node"))
+    $P2200 = $P2196."!make"($P2199)
+.annotate 'line', 814
+    .return ($P2200)
+  control_2193:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P2203, exception, "payload"
-    .return ($P2203)
+    getattribute $P2201, exception, "payload"
+    .return ($P2201)
+.end
+
+
+.namespace ["NQP";"RegexActions"]
+.sub "_block2202"  :subid("127_1274853047.92727") :outer("11_1274853047.92727")
+.annotate 'line', 819
+    .const 'Sub' $P2287 = "134_1274853047.92727" 
+    capture_lex $P2287
+    .const 'Sub' $P2274 = "133_1274853047.92727" 
+    capture_lex $P2274
+    .const 'Sub' $P2257 = "132_1274853047.92727" 
+    capture_lex $P2257
+    .const 'Sub' $P2244 = "131_1274853047.92727" 
+    capture_lex $P2244
+    .const 'Sub' $P2231 = "130_1274853047.92727" 
+    capture_lex $P2231
+    .const 'Sub' $P2218 = "129_1274853047.92727" 
+    capture_lex $P2218
+    .const 'Sub' $P2204 = "128_1274853047.92727" 
+    capture_lex $P2204
+.annotate 'line', 852
+    .const 'Sub' $P2287 = "134_1274853047.92727" 
+    newclosure $P2312, $P2287
+.annotate 'line', 819
+    .return ($P2312)
 .end
 
 
 .namespace ["NQP";"RegexActions"]
-.sub "metachar:sym<{ }>"  :subid("128_1274800470.33966") :method :outer("126_1274800470.33966")
+.sub "metachar:sym<:my>"  :subid("128_1274853047.92727") :method :outer("127_1274853047.92727")
     .param pmc param_2207
-.annotate 'line', 817
+.annotate 'line', 821
     new $P2206, 'ExceptionHandler'
     set_addr $P2206, control_2205
     $P2206."handle_types"(57)
     push_eh $P2206
     .lex "self", self
     .lex "$/", param_2207
-.annotate 'line', 818
-    find_lex $P2208, "$/"
-    get_hll_global $P2209, ["PAST"], "Regex"
-    find_lex $P2210, "$/"
-    unless_null $P2210, vivify_613
-    $P2210 = root_new ['parrot';'Hash']
-  vivify_613:
-    set $P2211, $P2210["codeblock"]
-    unless_null $P2211, vivify_614
-    new $P2211, "Undef"
-  vivify_614:
-    $P2212 = $P2211."ast"()
-    find_lex $P2213, "$/"
-    $P2214 = $P2209."new"($P2212, "pastnode" :named("pasttype"), $P2213 :named("node"))
-    $P2215 = $P2208."!make"($P2214)
-.annotate 'line', 817
-    .return ($P2215)
-  control_2205:
-    .local pmc exception 
-    .get_results (exception) 
-    getattribute $P2216, exception, "payload"
-    .return ($P2216)
-.end
-
-
-.namespace ["NQP";"RegexActions"]
-.sub "metachar:sym<nqpvar>"  :subid("129_1274800470.33966") :method :outer("126_1274800470.33966")
-    .param pmc param_2220
 .annotate 'line', 822
-    new $P2219, 'ExceptionHandler'
-    set_addr $P2219, control_2218
-    $P2219."handle_types"(57)
-    push_eh $P2219
-    .lex "self", self
-    .lex "$/", param_2220
-.annotate 'line', 823
-    find_lex $P2221, "$/"
-    get_hll_global $P2222, ["PAST"], "Regex"
-    find_lex $P2223, "$/"
-    unless_null $P2223, vivify_615
-    $P2223 = root_new ['parrot';'Hash']
+    new $P2208, "Undef"
+    .lex "$past", $P2208
+    find_lex $P2209, "$/"
+    unless_null $P2209, vivify_615
+    $P2209 = root_new ['parrot';'Hash']
   vivify_615:
-    set $P2224, $P2223["var"]
-    unless_null $P2224, vivify_616
-    new $P2224, "Undef"
+    set $P2210, $P2209["statement"]
+    unless_null $P2210, vivify_616
+    new $P2210, "Undef"
   vivify_616:
-    $P2225 = $P2224."ast"()
-    find_lex $P2226, "$/"
-    $P2227 = $P2222."new"("!INTERPOLATE", $P2225, "subrule" :named("pasttype"), "method" :named("subtype"), $P2226 :named("node"))
-    $P2228 = $P2221."!make"($P2227)
-.annotate 'line', 822
-    .return ($P2228)
-  control_2218:
+    $P2211 = $P2210."ast"()
+    store_lex "$past", $P2211
+.annotate 'line', 823
+    find_lex $P2212, "$/"
+    get_hll_global $P2213, ["PAST"], "Regex"
+    find_lex $P2214, "$past"
+    $P2215 = $P2213."new"($P2214, "pastnode" :named("pasttype"))
+    $P2216 = $P2212."!make"($P2215)
+.annotate 'line', 821
+    .return ($P2216)
+  control_2205:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P2229, exception, "payload"
-    .return ($P2229)
+    getattribute $P2217, exception, "payload"
+    .return ($P2217)
 .end
 
 
 .namespace ["NQP";"RegexActions"]
-.sub "assertion:sym<{ }>"  :subid("130_1274800470.33966") :method :outer("126_1274800470.33966")
-    .param pmc param_2233
+.sub "metachar:sym<{ }>"  :subid("129_1274853047.92727") :method :outer("127_1274853047.92727")
+    .param pmc param_2221
+.annotate 'line', 826
+    new $P2220, 'ExceptionHandler'
+    set_addr $P2220, control_2219
+    $P2220."handle_types"(57)
+    push_eh $P2220
+    .lex "self", self
+    .lex "$/", param_2221
 .annotate 'line', 827
-    new $P2232, 'ExceptionHandler'
-    set_addr $P2232, control_2231
-    $P2232."handle_types"(57)
-    push_eh $P2232
-    .lex "self", self
-    .lex "$/", param_2233
-.annotate 'line', 828
-    find_lex $P2234, "$/"
-    get_hll_global $P2235, ["PAST"], "Regex"
-    find_lex $P2236, "$/"
-    unless_null $P2236, vivify_617
-    $P2236 = root_new ['parrot';'Hash']
+    find_lex $P2222, "$/"
+    get_hll_global $P2223, ["PAST"], "Regex"
+    find_lex $P2224, "$/"
+    unless_null $P2224, vivify_617
+    $P2224 = root_new ['parrot';'Hash']
   vivify_617:
-    set $P2237, $P2236["codeblock"]
-    unless_null $P2237, vivify_618
-    new $P2237, "Undef"
+    set $P2225, $P2224["codeblock"]
+    unless_null $P2225, vivify_618
+    new $P2225, "Undef"
   vivify_618:
-    $P2238 = $P2237."ast"()
-    find_lex $P2239, "$/"
-    $P2240 = $P2235."new"("!INTERPOLATE_REGEX", $P2238, "subrule" :named("pasttype"), "method" :named("subtype"), $P2239 :named("node"))
-    $P2241 = $P2234."!make"($P2240)
-.annotate 'line', 827
-    .return ($P2241)
-  control_2231:
+    $P2226 = $P2225."ast"()
+    find_lex $P2227, "$/"
+    $P2228 = $P2223."new"($P2226, "pastnode" :named("pasttype"), $P2227 :named("node"))
+    $P2229 = $P2222."!make"($P2228)
+.annotate 'line', 826
+    .return ($P2229)
+  control_2219:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P2242, exception, "payload"
-    .return ($P2242)
+    getattribute $P2230, exception, "payload"
+    .return ($P2230)
 .end
 
 
 .namespace ["NQP";"RegexActions"]
-.sub "assertion:sym<?{ }>"  :subid("131_1274800470.33966") :method :outer("126_1274800470.33966")
-    .param pmc param_2246
+.sub "metachar:sym<nqpvar>"  :subid("130_1274853047.92727") :method :outer("127_1274853047.92727")
+    .param pmc param_2234
+.annotate 'line', 831
+    new $P2233, 'ExceptionHandler'
+    set_addr $P2233, control_2232
+    $P2233."handle_types"(57)
+    push_eh $P2233
+    .lex "self", self
+    .lex "$/", param_2234
 .annotate 'line', 832
-    new $P2245, 'ExceptionHandler'
-    set_addr $P2245, control_2244
-    $P2245."handle_types"(57)
-    push_eh $P2245
-    .lex "self", self
-    .lex "$/", param_2246
-.annotate 'line', 833
-    find_lex $P2247, "$/"
-    get_hll_global $P2248, ["PAST"], "Regex"
-    find_lex $P2249, "$/"
-    unless_null $P2249, vivify_619
-    $P2249 = root_new ['parrot';'Hash']
+    find_lex $P2235, "$/"
+    get_hll_global $P2236, ["PAST"], "Regex"
+    find_lex $P2237, "$/"
+    unless_null $P2237, vivify_619
+    $P2237 = root_new ['parrot';'Hash']
   vivify_619:
-    set $P2250, $P2249["codeblock"]
-    unless_null $P2250, vivify_620
-    new $P2250, "Undef"
+    set $P2238, $P2237["var"]
+    unless_null $P2238, vivify_620
+    new $P2238, "Undef"
   vivify_620:
-    $P2251 = $P2250."ast"()
-.annotate 'line', 834
-    find_lex $P2252, "$/"
-    unless_null $P2252, vivify_621
-    $P2252 = root_new ['parrot';'Hash']
+    $P2239 = $P2238."ast"()
+    find_lex $P2240, "$/"
+    $P2241 = $P2236."new"("!INTERPOLATE", $P2239, "subrule" :named("pasttype"), "method" :named("subtype"), $P2240 :named("node"))
+    $P2242 = $P2235."!make"($P2241)
+.annotate 'line', 831
+    .return ($P2242)
+  control_2232:
+    .local pmc exception 
+    .get_results (exception) 
+    getattribute $P2243, exception, "payload"
+    .return ($P2243)
+.end
+
+
+.namespace ["NQP";"RegexActions"]
+.sub "assertion:sym<{ }>"  :subid("131_1274853047.92727") :method :outer("127_1274853047.92727")
+    .param pmc param_2247
+.annotate 'line', 836
+    new $P2246, 'ExceptionHandler'
+    set_addr $P2246, control_2245
+    $P2246."handle_types"(57)
+    push_eh $P2246
+    .lex "self", self
+    .lex "$/", param_2247
+.annotate 'line', 837
+    find_lex $P2248, "$/"
+    get_hll_global $P2249, ["PAST"], "Regex"
+    find_lex $P2250, "$/"
+    unless_null $P2250, vivify_621
+    $P2250 = root_new ['parrot';'Hash']
   vivify_621:
-    set $P2253, $P2252["zw"]
-    unless_null $P2253, vivify_622
-    new $P2253, "Undef"
+    set $P2251, $P2250["codeblock"]
+    unless_null $P2251, vivify_622
+    new $P2251, "Undef"
   vivify_622:
-    set $S2254, $P2253
-    iseq $I2255, $S2254, "!"
-    find_lex $P2256, "$/"
-    $P2257 = $P2248."new"($P2251, "zerowidth" :named("subtype"), $I2255 :named("negate"), "pastnode" :named("pasttype"), $P2256 :named("node"))
-.annotate 'line', 833
-    $P2258 = $P2247."!make"($P2257)
-.annotate 'line', 832
-    .return ($P2258)
-  control_2244:
+    $P2252 = $P2251."ast"()
+    find_lex $P2253, "$/"
+    $P2254 = $P2249."new"("!INTERPOLATE_REGEX", $P2252, "subrule" :named("pasttype"), "method" :named("subtype"), $P2253 :named("node"))
+    $P2255 = $P2248."!make"($P2254)
+.annotate 'line', 836
+    .return ($P2255)
+  control_2245:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P2259, exception, "payload"
-    .return ($P2259)
+    getattribute $P2256, exception, "payload"
+    .return ($P2256)
 .end
 
 
 .namespace ["NQP";"RegexActions"]
-.sub "assertion:sym<var>"  :subid("132_1274800470.33966") :method :outer("126_1274800470.33966")
-    .param pmc param_2263
-.annotate 'line', 838
-    new $P2262, 'ExceptionHandler'
-    set_addr $P2262, control_2261
-    $P2262."handle_types"(57)
-    push_eh $P2262
-    .lex "self", self
-    .lex "$/", param_2263
-.annotate 'line', 839
-    find_lex $P2264, "$/"
-    get_hll_global $P2265, ["PAST"], "Regex"
+.sub "assertion:sym<?{ }>"  :subid("132_1274853047.92727") :method :outer("127_1274853047.92727")
+    .param pmc param_2260
+.annotate 'line', 841
+    new $P2259, 'ExceptionHandler'
+    set_addr $P2259, control_2258
+    $P2259."handle_types"(57)
+    push_eh $P2259
+    .lex "self", self
+    .lex "$/", param_2260
+.annotate 'line', 842
+    find_lex $P2261, "$/"
+    get_hll_global $P2262, ["PAST"], "Regex"
+    find_lex $P2263, "$/"
+    unless_null $P2263, vivify_623
+    $P2263 = root_new ['parrot';'Hash']
+  vivify_623:
+    set $P2264, $P2263["codeblock"]
+    unless_null $P2264, vivify_624
+    new $P2264, "Undef"
+  vivify_624:
+    $P2265 = $P2264."ast"()
+.annotate 'line', 843
     find_lex $P2266, "$/"
-    unless_null $P2266, vivify_623
+    unless_null $P2266, vivify_625
     $P2266 = root_new ['parrot';'Hash']
-  vivify_623:
-    set $P2267, $P2266["var"]
-    unless_null $P2267, vivify_624
+  vivify_625:
+    set $P2267, $P2266["zw"]
+    unless_null $P2267, vivify_626
     new $P2267, "Undef"
-  vivify_624:
-    $P2268 = $P2267."ast"()
-    find_lex $P2269, "$/"
-    $P2270 = $P2265."new"("!INTERPOLATE_REGEX", $P2268, "subrule" :named("pasttype"), "method" :named("subtype"), $P2269 :named("node"))
-    $P2271 = $P2264."!make"($P2270)
-.annotate 'line', 838
-    .return ($P2271)
-  control_2261:
+  vivify_626:
+    set $S2268, $P2267
+    iseq $I2269, $S2268, "!"
+    find_lex $P2270, "$/"
+    $P2271 = $P2262."new"($P2265, "zerowidth" :named("subtype"), $I2269 :named("negate"), "pastnode" :named("pasttype"), $P2270 :named("node"))
+.annotate 'line', 842
+    $P2272 = $P2261."!make"($P2271)
+.annotate 'line', 841
+    .return ($P2272)
+  control_2258:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P2272, exception, "payload"
-    .return ($P2272)
+    getattribute $P2273, exception, "payload"
+    .return ($P2273)
 .end
 
 
 .namespace ["NQP";"RegexActions"]
-.sub "codeblock"  :subid("133_1274800470.33966") :method :outer("126_1274800470.33966")
-    .param pmc param_2276
-.annotate 'line', 843
-    new $P2275, 'ExceptionHandler'
-    set_addr $P2275, control_2274
-    $P2275."handle_types"(57)
-    push_eh $P2275
-    .lex "self", self
-    .lex "$/", param_2276
-.annotate 'line', 844
-    new $P2277, "Undef"
-    .lex "$block", $P2277
-.annotate 'line', 846
-    new $P2278, "Undef"
-    .lex "$past", $P2278
-.annotate 'line', 844
-    find_lex $P2279, "$/"
-    unless_null $P2279, vivify_625
-    $P2279 = root_new ['parrot';'Hash']
-  vivify_625:
-    set $P2280, $P2279["block"]
-    unless_null $P2280, vivify_626
-    new $P2280, "Undef"
-  vivify_626:
-    $P2281 = $P2280."ast"()
-    store_lex "$block", $P2281
-.annotate 'line', 845
-    find_lex $P2282, "$block"
-    $P2282."blocktype"("immediate")
+.sub "assertion:sym<var>"  :subid("133_1274853047.92727") :method :outer("127_1274853047.92727")
+    .param pmc param_2277
 .annotate 'line', 847
-    get_hll_global $P2283, ["PAST"], "Stmts"
-.annotate 'line', 848
-    get_hll_global $P2284, ["PAST"], "Op"
-.annotate 'line', 849
-    get_hll_global $P2285, ["PAST"], "Var"
-    $P2286 = $P2285."new"("$/" :named("name"))
-.annotate 'line', 850
-    get_hll_global $P2287, ["PAST"], "Op"
-.annotate 'line', 851
-    get_hll_global $P2288, ["PAST"], "Var"
-    $P2289 = $P2288."new"(unicode:"$\x{a2}" :named("name"))
-    $P2290 = $P2287."new"($P2289, "MATCH" :named("name"), "callmethod" :named("pasttype"))
-.annotate 'line', 850
-    $P2291 = $P2284."new"($P2286, $P2290, "bind" :named("pasttype"))
+    new $P2276, 'ExceptionHandler'
+    set_addr $P2276, control_2275
+    $P2276."handle_types"(57)
+    push_eh $P2276
+    .lex "self", self
+    .lex "$/", param_2277
 .annotate 'line', 848
-    find_lex $P2292, "$block"
-    $P2293 = $P2283."new"($P2291, $P2292)
+    find_lex $P2278, "$/"
+    get_hll_global $P2279, ["PAST"], "Regex"
+    find_lex $P2280, "$/"
+    unless_null $P2280, vivify_627
+    $P2280 = root_new ['parrot';'Hash']
+  vivify_627:
+    set $P2281, $P2280["var"]
+    unless_null $P2281, vivify_628
+    new $P2281, "Undef"
+  vivify_628:
+    $P2282 = $P2281."ast"()
+    find_lex $P2283, "$/"
+    $P2284 = $P2279."new"("!INTERPOLATE_REGEX", $P2282, "subrule" :named("pasttype"), "method" :named("subtype"), $P2283 :named("node"))
+    $P2285 = $P2278."!make"($P2284)
 .annotate 'line', 847
-    store_lex "$past", $P2293
+    .return ($P2285)
+  control_2275:
+    .local pmc exception 
+    .get_results (exception) 
+    getattribute $P2286, exception, "payload"
+    .return ($P2286)
+.end
+
+
+.namespace ["NQP";"RegexActions"]
+.sub "codeblock"  :subid("134_1274853047.92727") :method :outer("127_1274853047.92727")
+    .param pmc param_2290
+.annotate 'line', 852
+    new $P2289, 'ExceptionHandler'
+    set_addr $P2289, control_2288
+    $P2289."handle_types"(57)
+    push_eh $P2289
+    .lex "self", self
+    .lex "$/", param_2290
+.annotate 'line', 853
+    new $P2291, "Undef"
+    .lex "$block", $P2291
+.annotate 'line', 855
+    new $P2292, "Undef"
+    .lex "$past", $P2292
+.annotate 'line', 853
+    find_lex $P2293, "$/"
+    unless_null $P2293, vivify_629
+    $P2293 = root_new ['parrot';'Hash']
+  vivify_629:
+    set $P2294, $P2293["block"]
+    unless_null $P2294, vivify_630
+    new $P2294, "Undef"
+  vivify_630:
+    $P2295 = $P2294."ast"()
+    store_lex "$block", $P2295
+.annotate 'line', 854
+    find_lex $P2296, "$block"
+    $P2296."blocktype"("immediate")
+.annotate 'line', 856
+    get_hll_global $P2297, ["PAST"], "Stmts"
+.annotate 'line', 857
+    get_hll_global $P2298, ["PAST"], "Op"
+.annotate 'line', 858
+    get_hll_global $P2299, ["PAST"], "Var"
+    $P2300 = $P2299."new"("$/" :named("name"))
 .annotate 'line', 859
-    find_lex $P2294, "$/"
-    find_lex $P2295, "$past"
-    $P2296 = $P2294."!make"($P2295)
-.annotate 'line', 843
-    .return ($P2296)
-  control_2274:
+    get_hll_global $P2301, ["PAST"], "Op"
+.annotate 'line', 860
+    get_hll_global $P2302, ["PAST"], "Var"
+    $P2303 = $P2302."new"(unicode:"$\x{a2}" :named("name"))
+    $P2304 = $P2301."new"($P2303, "MATCH" :named("name"), "callmethod" :named("pasttype"))
+.annotate 'line', 859
+    $P2305 = $P2298."new"($P2300, $P2304, "bind" :named("pasttype"))
+.annotate 'line', 857
+    find_lex $P2306, "$block"
+    $P2307 = $P2297."new"($P2305, $P2306)
+.annotate 'line', 856
+    store_lex "$past", $P2307
+.annotate 'line', 868
+    find_lex $P2308, "$/"
+    find_lex $P2309, "$past"
+    $P2310 = $P2308."!make"($P2309)
+.annotate 'line', 852
+    .return ($P2310)
+  control_2288:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P2297, exception, "payload"
-    .return ($P2297)
+    getattribute $P2311, exception, "payload"
+    .return ($P2311)
 .end
 
 
 .namespace ["NQP";"Actions"]
-.sub "_block2300" :load :anon :subid("134_1274800470.33966")
+.sub "_block2314" :load :anon :subid("135_1274853047.92727")
 .annotate 'line', 3
-    .const 'Sub' $P2302 = "11_1274800470.33966" 
-    $P2303 = $P2302()
-    .return ($P2303)
+    .const 'Sub' $P2316 = "11_1274853047.92727" 
+    $P2317 = $P2316()
+    .return ($P2317)
 .end
 
 
 .namespace []
-.sub "_block2310" :load :anon :subid("136_1274800470.33966")
+.sub "_block2324" :load :anon :subid("137_1274853047.92727")
 .annotate 'line', 1
-    .const 'Sub' $P2312 = "10_1274800470.33966" 
-    $P2313 = $P2312()
-    .return ($P2313)
+    .const 'Sub' $P2326 = "10_1274853047.92727" 
+    $P2327 = $P2326()
+    .return ($P2327)
 .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 May 26 09:39:08 2010	(r47021)
+++ trunk/ext/nqp-rx/src/stage0/P6Regex-s0.pir	Wed May 26 12:29:29 2010	(r47022)
@@ -16,25 +16,32 @@
 ### .include 'gen/p6regex-grammar.pir'
 
 .namespace []
-.sub "_block11"  :anon :subid("10_1274800449.69268")
+.sub "_block11"  :anon :subid("10_1274853027.61936")
 .annotate 'line', 0
     get_hll_global $P14, ["Regex";"P6Regex";"Grammar"], "_block13" 
     capture_lex $P14
+.annotate 'line', 1
+    $P0 = find_dynamic_lex "$*CTXSAVE"
+    if null $P0 goto ctxsave_done
+    $I0 = can $P0, "ctxsave"
+    unless $I0 goto ctxsave_done
+    $P0."ctxsave"()
+  ctxsave_done:
 .annotate 'line', 3
     get_hll_global $P14, ["Regex";"P6Regex";"Grammar"], "_block13" 
     capture_lex $P14
     $P583 = $P14()
 .annotate 'line', 1
     .return ($P583)
-    .const 'Sub' $P585 = "159_1274800449.69268" 
+    .const 'Sub' $P585 = "159_1274853027.61936" 
     .return ($P585)
 .end
 
 
 .namespace []
-.sub "" :load :init :subid("post160") :outer("10_1274800449.69268")
+.sub "" :load :init :subid("post160") :outer("10_1274853027.61936")
 .annotate 'line', 0
-    .const 'Sub' $P12 = "10_1274800449.69268" 
+    .const 'Sub' $P12 = "10_1274853027.61936" 
     .local pmc block
     set block, $P12
     $P588 = get_root_global ["parrot"], "P6metaclass"
@@ -43,142 +50,148 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "_block13"  :subid("11_1274800449.69268") :outer("10_1274800449.69268")
+.sub "_block13"  :subid("11_1274853027.61936") :outer("10_1274853027.61936")
 .annotate 'line', 3
-    .const 'Sub' $P571 = "156_1274800449.69268" 
+    .const 'Sub' $P571 = "156_1274853027.61936" 
     capture_lex $P571
-    .const 'Sub' $P563 = "154_1274800449.69268" 
+    .const 'Sub' $P563 = "154_1274853027.61936" 
     capture_lex $P563
-    .const 'Sub' $P555 = "152_1274800449.69268" 
+    .const 'Sub' $P555 = "152_1274853027.61936" 
     capture_lex $P555
-    .const 'Sub' $P534 = "147_1274800449.69268" 
+    .const 'Sub' $P534 = "147_1274853027.61936" 
     capture_lex $P534
-    .const 'Sub' $P499 = "141_1274800449.69268" 
+    .const 'Sub' $P499 = "141_1274853027.61936" 
     capture_lex $P499
-    .const 'Sub' $P487 = "138_1274800449.69268" 
+    .const 'Sub' $P487 = "138_1274853027.61936" 
     capture_lex $P487
-    .const 'Sub' $P474 = "135_1274800449.69268" 
+    .const 'Sub' $P474 = "135_1274853027.61936" 
     capture_lex $P474
-    .const 'Sub' $P468 = "133_1274800449.69268" 
+    .const 'Sub' $P468 = "133_1274853027.61936" 
     capture_lex $P468
-    .const 'Sub' $P457 = "130_1274800449.69268" 
+    .const 'Sub' $P457 = "130_1274853027.61936" 
     capture_lex $P457
-    .const 'Sub' $P446 = "127_1274800449.69268" 
+    .const 'Sub' $P446 = "127_1274853027.61936" 
     capture_lex $P446
-    .const 'Sub' $P437 = "123_1274800449.69268" 
+    .const 'Sub' $P437 = "123_1274853027.61936" 
     capture_lex $P437
-    .const 'Sub' $P431 = "121_1274800449.69268" 
+    .const 'Sub' $P431 = "121_1274853027.61936" 
     capture_lex $P431
-    .const 'Sub' $P425 = "119_1274800449.69268" 
+    .const 'Sub' $P425 = "119_1274853027.61936" 
     capture_lex $P425
-    .const 'Sub' $P419 = "117_1274800449.69268" 
+    .const 'Sub' $P419 = "117_1274853027.61936" 
     capture_lex $P419
-    .const 'Sub' $P413 = "115_1274800449.69268" 
+    .const 'Sub' $P413 = "115_1274853027.61936" 
     capture_lex $P413
-    .const 'Sub' $P405 = "113_1274800449.69268" 
+    .const 'Sub' $P405 = "113_1274853027.61936" 
     capture_lex $P405
-    .const 'Sub' $P394 = "111_1274800449.69268" 
+    .const 'Sub' $P394 = "111_1274853027.61936" 
     capture_lex $P394
-    .const 'Sub' $P383 = "109_1274800449.69268" 
+    .const 'Sub' $P383 = "109_1274853027.61936" 
     capture_lex $P383
-    .const 'Sub' $P377 = "107_1274800449.69268" 
+    .const 'Sub' $P377 = "107_1274853027.61936" 
     capture_lex $P377
-    .const 'Sub' $P371 = "105_1274800449.69268" 
+    .const 'Sub' $P371 = "105_1274853027.61936" 
     capture_lex $P371
-    .const 'Sub' $P365 = "103_1274800449.69268" 
+    .const 'Sub' $P365 = "103_1274853027.61936" 
     capture_lex $P365
-    .const 'Sub' $P359 = "101_1274800449.69268" 
+    .const 'Sub' $P359 = "101_1274853027.61936" 
     capture_lex $P359
-    .const 'Sub' $P353 = "99_1274800449.69268" 
+    .const 'Sub' $P353 = "99_1274853027.61936" 
     capture_lex $P353
-    .const 'Sub' $P347 = "97_1274800449.69268" 
+    .const 'Sub' $P347 = "97_1274853027.61936" 
     capture_lex $P347
-    .const 'Sub' $P341 = "95_1274800449.69268" 
+    .const 'Sub' $P341 = "95_1274853027.61936" 
     capture_lex $P341
-    .const 'Sub' $P335 = "93_1274800449.69268" 
+    .const 'Sub' $P335 = "93_1274853027.61936" 
     capture_lex $P335
-    .const 'Sub' $P323 = "89_1274800449.69268" 
+    .const 'Sub' $P323 = "89_1274853027.61936" 
     capture_lex $P323
-    .const 'Sub' $P311 = "87_1274800449.69268" 
+    .const 'Sub' $P311 = "87_1274853027.61936" 
     capture_lex $P311
-    .const 'Sub' $P304 = "85_1274800449.69268" 
+    .const 'Sub' $P304 = "85_1274853027.61936" 
     capture_lex $P304
-    .const 'Sub' $P287 = "83_1274800449.69268" 
+    .const 'Sub' $P287 = "83_1274853027.61936" 
     capture_lex $P287
-    .const 'Sub' $P280 = "81_1274800449.69268" 
+    .const 'Sub' $P280 = "81_1274853027.61936" 
     capture_lex $P280
-    .const 'Sub' $P274 = "79_1274800449.69268" 
+    .const 'Sub' $P274 = "79_1274853027.61936" 
     capture_lex $P274
-    .const 'Sub' $P268 = "77_1274800449.69268" 
+    .const 'Sub' $P268 = "77_1274853027.61936" 
     capture_lex $P268
-    .const 'Sub' $P261 = "75_1274800449.69268" 
+    .const 'Sub' $P261 = "75_1274853027.61936" 
     capture_lex $P261
-    .const 'Sub' $P254 = "73_1274800449.69268" 
+    .const 'Sub' $P254 = "73_1274853027.61936" 
     capture_lex $P254
-    .const 'Sub' $P247 = "71_1274800449.69268" 
+    .const 'Sub' $P247 = "71_1274853027.61936" 
     capture_lex $P247
-    .const 'Sub' $P240 = "69_1274800449.69268" 
+    .const 'Sub' $P240 = "69_1274853027.61936" 
     capture_lex $P240
-    .const 'Sub' $P234 = "67_1274800449.69268" 
+    .const 'Sub' $P234 = "67_1274853027.61936" 
     capture_lex $P234
-    .const 'Sub' $P228 = "65_1274800449.69268" 
+    .const 'Sub' $P228 = "65_1274853027.61936" 
     capture_lex $P228
-    .const 'Sub' $P222 = "63_1274800449.69268" 
+    .const 'Sub' $P222 = "63_1274853027.61936" 
     capture_lex $P222
-    .const 'Sub' $P216 = "61_1274800449.69268" 
+    .const 'Sub' $P216 = "61_1274853027.61936" 
     capture_lex $P216
-    .const 'Sub' $P210 = "59_1274800449.69268" 
+    .const 'Sub' $P210 = "59_1274853027.61936" 
     capture_lex $P210
-    .const 'Sub' $P205 = "57_1274800449.69268" 
+    .const 'Sub' $P205 = "57_1274853027.61936" 
     capture_lex $P205
-    .const 'Sub' $P200 = "55_1274800449.69268" 
+    .const 'Sub' $P200 = "55_1274853027.61936" 
     capture_lex $P200
-    .const 'Sub' $P194 = "53_1274800449.69268" 
+    .const 'Sub' $P194 = "53_1274853027.61936" 
     capture_lex $P194
-    .const 'Sub' $P188 = "51_1274800449.69268" 
+    .const 'Sub' $P188 = "51_1274853027.61936" 
     capture_lex $P188
-    .const 'Sub' $P182 = "49_1274800449.69268" 
+    .const 'Sub' $P182 = "49_1274853027.61936" 
     capture_lex $P182
-    .const 'Sub' $P166 = "44_1274800449.69268" 
+    .const 'Sub' $P166 = "44_1274853027.61936" 
     capture_lex $P166
-    .const 'Sub' $P154 = "42_1274800449.69268" 
+    .const 'Sub' $P154 = "42_1274853027.61936" 
     capture_lex $P154
-    .const 'Sub' $P147 = "40_1274800449.69268" 
+    .const 'Sub' $P147 = "40_1274853027.61936" 
     capture_lex $P147
-    .const 'Sub' $P140 = "38_1274800449.69268" 
+    .const 'Sub' $P140 = "38_1274853027.61936" 
     capture_lex $P140
-    .const 'Sub' $P133 = "36_1274800449.69268" 
+    .const 'Sub' $P133 = "36_1274853027.61936" 
     capture_lex $P133
-    .const 'Sub' $P114 = "31_1274800449.69268" 
+    .const 'Sub' $P114 = "31_1274853027.61936" 
     capture_lex $P114
-    .const 'Sub' $P101 = "28_1274800449.69268" 
+    .const 'Sub' $P101 = "28_1274853027.61936" 
     capture_lex $P101
-    .const 'Sub' $P94 = "26_1274800449.69268" 
+    .const 'Sub' $P94 = "26_1274853027.61936" 
     capture_lex $P94
-    .const 'Sub' $P82 = "24_1274800449.69268" 
+    .const 'Sub' $P82 = "24_1274853027.61936" 
     capture_lex $P82
-    .const 'Sub' $P75 = "22_1274800449.69268" 
+    .const 'Sub' $P75 = "22_1274853027.61936" 
     capture_lex $P75
-    .const 'Sub' $P63 = "20_1274800449.69268" 
+    .const 'Sub' $P63 = "20_1274853027.61936" 
     capture_lex $P63
-    .const 'Sub' $P56 = "18_1274800449.69268" 
+    .const 'Sub' $P56 = "18_1274853027.61936" 
     capture_lex $P56
-    .const 'Sub' $P46 = "15_1274800449.69268" 
+    .const 'Sub' $P46 = "15_1274853027.61936" 
     capture_lex $P46
-    .const 'Sub' $P38 = "13_1274800449.69268" 
+    .const 'Sub' $P38 = "13_1274853027.61936" 
     capture_lex $P38
-    .const 'Sub' $P15 = "12_1274800449.69268" 
+    .const 'Sub' $P15 = "12_1274853027.61936" 
     capture_lex $P15
-    .const 'Sub' $P571 = "156_1274800449.69268" 
+    $P0 = find_dynamic_lex "$*CTXSAVE"
+    if null $P0 goto ctxsave_done
+    $I0 = can $P0, "ctxsave"
+    unless $I0 goto ctxsave_done
+    $P0."ctxsave"()
+  ctxsave_done:
+    .const 'Sub' $P571 = "156_1274853027.61936" 
     capture_lex $P571
     .return ($P571)
-    .const 'Sub' $P580 = "158_1274800449.69268" 
+    .const 'Sub' $P580 = "158_1274853027.61936" 
     .return ($P580)
 .end
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "obs"  :subid("12_1274800449.69268") :method :outer("11_1274800449.69268")
+.sub "obs"  :subid("12_1274853027.61936") :method :outer("11_1274853027.61936")
     .param pmc param_18
     .param pmc param_19
     .param pmc param_20 :optional
@@ -226,7 +239,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "ws"  :subid("13_1274800449.69268") :method :outer("11_1274800449.69268")
+.sub "ws"  :subid("13_1274853027.61936") :method :outer("11_1274853027.61936")
 .annotate 'line', 3
     .local string rx39_tgt
     .local int rx39_pos
@@ -308,7 +321,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__ws"  :subid("14_1274800449.69268") :method
+.sub "!PREFIX__ws"  :subid("14_1274853027.61936") :method
 .annotate 'line', 3
     new $P41, "ResizablePMCArray"
     push $P41, ""
@@ -317,9 +330,9 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "normspace"  :subid("15_1274800449.69268") :method :outer("11_1274800449.69268")
+.sub "normspace"  :subid("15_1274853027.61936") :method :outer("11_1274853027.61936")
 .annotate 'line', 3
-    .const 'Sub' $P52 = "17_1274800449.69268" 
+    .const 'Sub' $P52 = "17_1274853027.61936" 
     capture_lex $P52
     .local string rx47_tgt
     .local int rx47_pos
@@ -353,7 +366,7 @@
 .annotate 'line', 10
   # rx subrule "before" subtype=zerowidth negate=
     rx47_cur."!cursor_pos"(rx47_pos)
-    .const 'Sub' $P52 = "17_1274800449.69268" 
+    .const 'Sub' $P52 = "17_1274853027.61936" 
     capture_lex $P52
     $P10 = rx47_cur."before"($P52)
     unless $P10, rx47_fail
@@ -381,7 +394,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__normspace"  :subid("16_1274800449.69268") :method
+.sub "!PREFIX__normspace"  :subid("16_1274853027.61936") :method
 .annotate 'line', 3
     new $P49, "ResizablePMCArray"
     push $P49, ""
@@ -390,7 +403,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "_block51"  :anon :subid("17_1274800449.69268") :method :outer("15_1274800449.69268")
+.sub "_block51"  :anon :subid("17_1274853027.61936") :method :outer("15_1274853027.61936")
 .annotate 'line', 10
     .local string rx53_tgt
     .local int rx53_pos
@@ -458,7 +471,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "arg"  :subid("18_1274800449.69268") :method :outer("11_1274800449.69268")
+.sub "arg"  :subid("18_1274853027.61936") :method :outer("11_1274853027.61936")
 .annotate 'line', 3
     .local string rx57_tgt
     .local int rx57_pos
@@ -569,7 +582,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__arg"  :subid("19_1274800449.69268") :method
+.sub "!PREFIX__arg"  :subid("19_1274853027.61936") :method
 .annotate 'line', 3
     new $P59, "ResizablePMCArray"
     push $P59, ""
@@ -580,7 +593,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "arglist"  :subid("20_1274800449.69268") :method :outer("11_1274800449.69268")
+.sub "arglist"  :subid("20_1274853027.61936") :method :outer("11_1274853027.61936")
 .annotate 'line', 3
     .local string rx64_tgt
     .local int rx64_pos
@@ -686,7 +699,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__arglist"  :subid("21_1274800449.69268") :method
+.sub "!PREFIX__arglist"  :subid("21_1274853027.61936") :method
 .annotate 'line', 3
     new $P66, "ResizablePMCArray"
     push $P66, ""
@@ -695,7 +708,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "TOP"  :subid("22_1274800449.69268") :method :outer("11_1274800449.69268")
+.sub "TOP"  :subid("22_1274853027.61936") :method :outer("11_1274853027.61936")
 .annotate 'line', 3
     .local string rx76_tgt
     .local int rx76_pos
@@ -768,7 +781,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__TOP"  :subid("23_1274800449.69268") :method
+.sub "!PREFIX__TOP"  :subid("23_1274853027.61936") :method
 .annotate 'line', 3
     $P78 = self."!PREFIX__!subrule"("nibbler", "")
     new $P79, "ResizablePMCArray"
@@ -778,7 +791,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "nibbler"  :subid("24_1274800449.69268") :method :outer("11_1274800449.69268")
+.sub "nibbler"  :subid("24_1274853027.61936") :method :outer("11_1274853027.61936")
 .annotate 'line', 3
     .local string rx83_tgt
     .local int rx83_pos
@@ -946,7 +959,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__nibbler"  :subid("25_1274800449.69268") :method
+.sub "!PREFIX__nibbler"  :subid("25_1274853027.61936") :method
 .annotate 'line', 3
     new $P85, "ResizablePMCArray"
     push $P85, ""
@@ -955,7 +968,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "termish"  :subid("26_1274800449.69268") :method :outer("11_1274800449.69268")
+.sub "termish"  :subid("26_1274853027.61936") :method :outer("11_1274853027.61936")
 .annotate 'line', 3
     .local string rx95_tgt
     .local int rx95_pos
@@ -1023,7 +1036,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__termish"  :subid("27_1274800449.69268") :method
+.sub "!PREFIX__termish"  :subid("27_1274853027.61936") :method
 .annotate 'line', 3
     new $P97, "ResizablePMCArray"
     push $P97, ""
@@ -1032,9 +1045,9 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "quantified_atom"  :subid("28_1274800449.69268") :method :outer("11_1274800449.69268")
+.sub "quantified_atom"  :subid("28_1274853027.61936") :method :outer("11_1274853027.61936")
 .annotate 'line', 3
-    .const 'Sub' $P110 = "30_1274800449.69268" 
+    .const 'Sub' $P110 = "30_1274853027.61936" 
     capture_lex $P110
     .local string rx102_tgt
     .local int rx102_pos
@@ -1097,7 +1110,7 @@
   alt108_1:
   # rx subrule "before" subtype=zerowidth negate=
     rx102_cur."!cursor_pos"(rx102_pos)
-    .const 'Sub' $P110 = "30_1274800449.69268" 
+    .const 'Sub' $P110 = "30_1274853027.61936" 
     capture_lex $P110
     $P10 = rx102_cur."before"($P110)
     unless $P10, rx102_fail
@@ -1135,7 +1148,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__quantified_atom"  :subid("29_1274800449.69268") :method
+.sub "!PREFIX__quantified_atom"  :subid("29_1274853027.61936") :method
 .annotate 'line', 3
     $P104 = self."!PREFIX__!subrule"("atom", "")
     new $P105, "ResizablePMCArray"
@@ -1145,7 +1158,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "_block109"  :anon :subid("30_1274800449.69268") :method :outer("28_1274800449.69268")
+.sub "_block109"  :anon :subid("30_1274853027.61936") :method :outer("28_1274853027.61936")
 .annotate 'line', 41
     .local string rx111_tgt
     .local int rx111_pos
@@ -1201,9 +1214,9 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "atom"  :subid("31_1274800449.69268") :method :outer("11_1274800449.69268")
+.sub "atom"  :subid("31_1274853027.61936") :method :outer("11_1274853027.61936")
 .annotate 'line', 3
-    .const 'Sub' $P125 = "33_1274800449.69268" 
+    .const 'Sub' $P125 = "33_1274853027.61936" 
     capture_lex $P125
     .local string rx115_tgt
     .local int rx115_pos
@@ -1263,7 +1276,7 @@
   rxquantg122_done:
   # rx subrule "before" subtype=zerowidth negate=
     rx115_cur."!cursor_pos"(rx115_pos)
-    .const 'Sub' $P125 = "33_1274800449.69268" 
+    .const 'Sub' $P125 = "33_1274853027.61936" 
     capture_lex $P125
     $P10 = rx115_cur."before"($P125)
     unless $P10, rx115_fail
@@ -1300,7 +1313,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__atom"  :subid("32_1274800449.69268") :method
+.sub "!PREFIX__atom"  :subid("32_1274853027.61936") :method
 .annotate 'line', 3
     $P117 = self."!PREFIX__!subrule"("metachar", "")
     new $P118, "ResizablePMCArray"
@@ -1311,7 +1324,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "_block124"  :anon :subid("33_1274800449.69268") :method :outer("31_1274800449.69268")
+.sub "_block124"  :anon :subid("33_1274853027.61936") :method :outer("31_1274853027.61936")
 .annotate 'line', 47
     .local string rx126_tgt
     .local int rx126_pos
@@ -1366,7 +1379,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "quantifier"  :subid("34_1274800449.69268") :method
+.sub "quantifier"  :subid("34_1274853027.61936") :method
 .annotate 'line', 52
     $P130 = self."!protoregex"("quantifier")
     .return ($P130)
@@ -1374,7 +1387,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__quantifier"  :subid("35_1274800449.69268") :method
+.sub "!PREFIX__quantifier"  :subid("35_1274853027.61936") :method
 .annotate 'line', 52
     $P132 = self."!PREFIX__!protoregex"("quantifier")
     .return ($P132)
@@ -1382,7 +1395,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "quantifier:sym<*>"  :subid("36_1274800449.69268") :method :outer("11_1274800449.69268")
+.sub "quantifier:sym<*>"  :subid("36_1274853027.61936") :method :outer("11_1274853027.61936")
 .annotate 'line', 3
     .local string rx134_tgt
     .local int rx134_pos
@@ -1461,7 +1474,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__quantifier:sym<*>"  :subid("37_1274800449.69268") :method
+.sub "!PREFIX__quantifier:sym<*>"  :subid("37_1274853027.61936") :method
 .annotate 'line', 3
     $P136 = self."!PREFIX__!subrule"("backmod", "*")
     new $P137, "ResizablePMCArray"
@@ -1471,7 +1484,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "quantifier:sym<+>"  :subid("38_1274800449.69268") :method :outer("11_1274800449.69268")
+.sub "quantifier:sym<+>"  :subid("38_1274853027.61936") :method :outer("11_1274853027.61936")
 .annotate 'line', 3
     .local string rx141_tgt
     .local int rx141_pos
@@ -1550,7 +1563,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__quantifier:sym<+>"  :subid("39_1274800449.69268") :method
+.sub "!PREFIX__quantifier:sym<+>"  :subid("39_1274853027.61936") :method
 .annotate 'line', 3
     $P143 = self."!PREFIX__!subrule"("backmod", "+")
     new $P144, "ResizablePMCArray"
@@ -1560,7 +1573,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "quantifier:sym<?>"  :subid("40_1274800449.69268") :method :outer("11_1274800449.69268")
+.sub "quantifier:sym<?>"  :subid("40_1274853027.61936") :method :outer("11_1274853027.61936")
 .annotate 'line', 3
     .local string rx148_tgt
     .local int rx148_pos
@@ -1639,7 +1652,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__quantifier:sym<?>"  :subid("41_1274800449.69268") :method
+.sub "!PREFIX__quantifier:sym<?>"  :subid("41_1274853027.61936") :method
 .annotate 'line', 3
     $P150 = self."!PREFIX__!subrule"("backmod", "?")
     new $P151, "ResizablePMCArray"
@@ -1649,7 +1662,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "quantifier:sym<**>"  :subid("42_1274800449.69268") :method :outer("11_1274800449.69268")
+.sub "quantifier:sym<**>"  :subid("42_1274853027.61936") :method :outer("11_1274853027.61936")
 .annotate 'line', 3
     .local string rx155_tgt
     .local int rx155_pos
@@ -1838,7 +1851,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__quantifier:sym<**>"  :subid("43_1274800449.69268") :method
+.sub "!PREFIX__quantifier:sym<**>"  :subid("43_1274853027.61936") :method
 .annotate 'line', 3
     new $P157, "ResizablePMCArray"
     push $P157, "**"
@@ -1847,9 +1860,9 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "backmod"  :subid("44_1274800449.69268") :method :outer("11_1274800449.69268")
+.sub "backmod"  :subid("44_1274853027.61936") :method :outer("11_1274853027.61936")
 .annotate 'line', 3
-    .const 'Sub' $P175 = "46_1274800449.69268" 
+    .const 'Sub' $P175 = "46_1274853027.61936" 
     capture_lex $P175
     .local string rx167_tgt
     .local int rx167_pos
@@ -1919,7 +1932,7 @@
   alt173_2:
   # rx subrule "before" subtype=zerowidth negate=1
     rx167_cur."!cursor_pos"(rx167_pos)
-    .const 'Sub' $P175 = "46_1274800449.69268" 
+    .const 'Sub' $P175 = "46_1274853027.61936" 
     capture_lex $P175
     $P10 = rx167_cur."before"($P175)
     if $P10, rx167_fail
@@ -1943,7 +1956,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__backmod"  :subid("45_1274800449.69268") :method
+.sub "!PREFIX__backmod"  :subid("45_1274853027.61936") :method
 .annotate 'line', 3
     new $P169, "ResizablePMCArray"
     push $P169, ""
@@ -1952,7 +1965,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "_block174"  :anon :subid("46_1274800449.69268") :method :outer("44_1274800449.69268")
+.sub "_block174"  :anon :subid("46_1274853027.61936") :method :outer("44_1274853027.61936")
 .annotate 'line', 71
     .local string rx176_tgt
     .local int rx176_pos
@@ -2008,7 +2021,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "metachar"  :subid("47_1274800449.69268") :method
+.sub "metachar"  :subid("47_1274853027.61936") :method
 .annotate 'line', 73
     $P179 = self."!protoregex"("metachar")
     .return ($P179)
@@ -2016,7 +2029,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__metachar"  :subid("48_1274800449.69268") :method
+.sub "!PREFIX__metachar"  :subid("48_1274853027.61936") :method
 .annotate 'line', 73
     $P181 = self."!PREFIX__!protoregex"("metachar")
     .return ($P181)
@@ -2024,7 +2037,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "metachar:sym<ws>"  :subid("49_1274800449.69268") :method :outer("11_1274800449.69268")
+.sub "metachar:sym<ws>"  :subid("49_1274853027.61936") :method :outer("11_1274853027.61936")
 .annotate 'line', 3
     .local string rx183_tgt
     .local int rx183_pos
@@ -2080,7 +2093,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__metachar:sym<ws>"  :subid("50_1274800449.69268") :method
+.sub "!PREFIX__metachar:sym<ws>"  :subid("50_1274853027.61936") :method
 .annotate 'line', 3
     $P185 = self."!PREFIX__!subrule"("", "")
     new $P186, "ResizablePMCArray"
@@ -2090,7 +2103,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "metachar:sym<[ ]>"  :subid("51_1274800449.69268") :method :outer("11_1274800449.69268")
+.sub "metachar:sym<[ ]>"  :subid("51_1274853027.61936") :method :outer("11_1274853027.61936")
 .annotate 'line', 3
     .local string rx189_tgt
     .local int rx189_pos
@@ -2162,7 +2175,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__metachar:sym<[ ]>"  :subid("52_1274800449.69268") :method
+.sub "!PREFIX__metachar:sym<[ ]>"  :subid("52_1274853027.61936") :method
 .annotate 'line', 3
     $P191 = self."!PREFIX__!subrule"("nibbler", "[")
     new $P192, "ResizablePMCArray"
@@ -2172,7 +2185,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "metachar:sym<( )>"  :subid("53_1274800449.69268") :method :outer("11_1274800449.69268")
+.sub "metachar:sym<( )>"  :subid("53_1274853027.61936") :method :outer("11_1274853027.61936")
 .annotate 'line', 3
     .local string rx195_tgt
     .local int rx195_pos
@@ -2244,7 +2257,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__metachar:sym<( )>"  :subid("54_1274800449.69268") :method
+.sub "!PREFIX__metachar:sym<( )>"  :subid("54_1274853027.61936") :method
 .annotate 'line', 3
     $P197 = self."!PREFIX__!subrule"("nibbler", "(")
     new $P198, "ResizablePMCArray"
@@ -2254,7 +2267,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "metachar:sym<'>"  :subid("55_1274800449.69268") :method :outer("11_1274800449.69268")
+.sub "metachar:sym<'>"  :subid("55_1274853027.61936") :method :outer("11_1274853027.61936")
 .annotate 'line', 3
     .local string rx201_tgt
     .local int rx201_pos
@@ -2318,7 +2331,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__metachar:sym<'>"  :subid("56_1274800449.69268") :method
+.sub "!PREFIX__metachar:sym<'>"  :subid("56_1274853027.61936") :method
 .annotate 'line', 3
     new $P203, "ResizablePMCArray"
     push $P203, "'"
@@ -2327,7 +2340,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "metachar:sym<\">"  :subid("57_1274800449.69268") :method :outer("11_1274800449.69268")
+.sub "metachar:sym<\">"  :subid("57_1274853027.61936") :method :outer("11_1274853027.61936")
 .annotate 'line', 3
     .local string rx206_tgt
     .local int rx206_pos
@@ -2391,7 +2404,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__metachar:sym<\">"  :subid("58_1274800449.69268") :method
+.sub "!PREFIX__metachar:sym<\">"  :subid("58_1274853027.61936") :method
 .annotate 'line', 3
     new $P208, "ResizablePMCArray"
     push $P208, "\""
@@ -2400,7 +2413,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "metachar:sym<.>"  :subid("59_1274800449.69268") :method :outer("11_1274800449.69268")
+.sub "metachar:sym<.>"  :subid("59_1274853027.61936") :method :outer("11_1274853027.61936")
 .annotate 'line', 3
     .local string rx211_tgt
     .local int rx211_pos
@@ -2472,7 +2485,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__metachar:sym<.>"  :subid("60_1274800449.69268") :method
+.sub "!PREFIX__metachar:sym<.>"  :subid("60_1274853027.61936") :method
 .annotate 'line', 3
     new $P213, "ResizablePMCArray"
     push $P213, "."
@@ -2481,7 +2494,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "metachar:sym<^>"  :subid("61_1274800449.69268") :method :outer("11_1274800449.69268")
+.sub "metachar:sym<^>"  :subid("61_1274853027.61936") :method :outer("11_1274853027.61936")
 .annotate 'line', 3
     .local string rx217_tgt
     .local int rx217_pos
@@ -2553,7 +2566,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__metachar:sym<^>"  :subid("62_1274800449.69268") :method
+.sub "!PREFIX__metachar:sym<^>"  :subid("62_1274853027.61936") :method
 .annotate 'line', 3
     new $P219, "ResizablePMCArray"
     push $P219, "^"
@@ -2562,7 +2575,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "metachar:sym<^^>"  :subid("63_1274800449.69268") :method :outer("11_1274800449.69268")
+.sub "metachar:sym<^^>"  :subid("63_1274853027.61936") :method :outer("11_1274853027.61936")
 .annotate 'line', 3
     .local string rx223_tgt
     .local int rx223_pos
@@ -2634,7 +2647,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__metachar:sym<^^>"  :subid("64_1274800449.69268") :method
+.sub "!PREFIX__metachar:sym<^^>"  :subid("64_1274853027.61936") :method
 .annotate 'line', 3
     new $P225, "ResizablePMCArray"
     push $P225, "^^"
@@ -2643,7 +2656,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "metachar:sym<$>"  :subid("65_1274800449.69268") :method :outer("11_1274800449.69268")
+.sub "metachar:sym<$>"  :subid("65_1274853027.61936") :method :outer("11_1274853027.61936")
 .annotate 'line', 3
     .local string rx229_tgt
     .local int rx229_pos
@@ -2715,7 +2728,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__metachar:sym<$>"  :subid("66_1274800449.69268") :method
+.sub "!PREFIX__metachar:sym<$>"  :subid("66_1274853027.61936") :method
 .annotate 'line', 3
     new $P231, "ResizablePMCArray"
     push $P231, "$"
@@ -2724,7 +2737,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "metachar:sym<$$>"  :subid("67_1274800449.69268") :method :outer("11_1274800449.69268")
+.sub "metachar:sym<$$>"  :subid("67_1274853027.61936") :method :outer("11_1274853027.61936")
 .annotate 'line', 3
     .local string rx235_tgt
     .local int rx235_pos
@@ -2796,7 +2809,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__metachar:sym<$$>"  :subid("68_1274800449.69268") :method
+.sub "!PREFIX__metachar:sym<$$>"  :subid("68_1274853027.61936") :method
 .annotate 'line', 3
     new $P237, "ResizablePMCArray"
     push $P237, "$$"
@@ -2805,7 +2818,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "metachar:sym<:::>"  :subid("69_1274800449.69268") :method :outer("11_1274800449.69268")
+.sub "metachar:sym<:::>"  :subid("69_1274853027.61936") :method :outer("11_1274853027.61936")
 .annotate 'line', 3
     .local string rx241_tgt
     .local int rx241_pos
@@ -2882,7 +2895,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__metachar:sym<:::>"  :subid("70_1274800449.69268") :method
+.sub "!PREFIX__metachar:sym<:::>"  :subid("70_1274853027.61936") :method
 .annotate 'line', 3
     $P243 = self."!PREFIX__!subrule"("", ":::")
     new $P244, "ResizablePMCArray"
@@ -2892,7 +2905,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "metachar:sym<::>"  :subid("71_1274800449.69268") :method :outer("11_1274800449.69268")
+.sub "metachar:sym<::>"  :subid("71_1274853027.61936") :method :outer("11_1274853027.61936")
 .annotate 'line', 3
     .local string rx248_tgt
     .local int rx248_pos
@@ -2969,7 +2982,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__metachar:sym<::>"  :subid("72_1274800449.69268") :method
+.sub "!PREFIX__metachar:sym<::>"  :subid("72_1274853027.61936") :method
 .annotate 'line', 3
     $P250 = self."!PREFIX__!subrule"("", "::")
     new $P251, "ResizablePMCArray"
@@ -2979,7 +2992,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "metachar:sym<lwb>"  :subid("73_1274800449.69268") :method :outer("11_1274800449.69268")
+.sub "metachar:sym<lwb>"  :subid("73_1274853027.61936") :method :outer("11_1274853027.61936")
 .annotate 'line', 3
     .local string rx255_tgt
     .local int rx255_pos
@@ -3064,7 +3077,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__metachar:sym<lwb>"  :subid("74_1274800449.69268") :method
+.sub "!PREFIX__metachar:sym<lwb>"  :subid("74_1274853027.61936") :method
 .annotate 'line', 3
     new $P257, "ResizablePMCArray"
     push $P257, unicode:"\x{ab}"
@@ -3074,7 +3087,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "metachar:sym<rwb>"  :subid("75_1274800449.69268") :method :outer("11_1274800449.69268")
+.sub "metachar:sym<rwb>"  :subid("75_1274853027.61936") :method :outer("11_1274853027.61936")
 .annotate 'line', 3
     .local string rx262_tgt
     .local int rx262_pos
@@ -3159,7 +3172,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__metachar:sym<rwb>"  :subid("76_1274800449.69268") :method
+.sub "!PREFIX__metachar:sym<rwb>"  :subid("76_1274853027.61936") :method
 .annotate 'line', 3
     new $P264, "ResizablePMCArray"
     push $P264, unicode:"\x{bb}"
@@ -3169,7 +3182,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "metachar:sym<bs>"  :subid("77_1274800449.69268") :method :outer("11_1274800449.69268")
+.sub "metachar:sym<bs>"  :subid("77_1274853027.61936") :method :outer("11_1274853027.61936")
 .annotate 'line', 3
     .local string rx269_tgt
     .local int rx269_pos
@@ -3234,7 +3247,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__metachar:sym<bs>"  :subid("78_1274800449.69268") :method
+.sub "!PREFIX__metachar:sym<bs>"  :subid("78_1274853027.61936") :method
 .annotate 'line', 3
     $P271 = self."!PREFIX__!subrule"("backslash", "\\")
     new $P272, "ResizablePMCArray"
@@ -3244,7 +3257,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "metachar:sym<mod>"  :subid("79_1274800449.69268") :method :outer("11_1274800449.69268")
+.sub "metachar:sym<mod>"  :subid("79_1274853027.61936") :method :outer("11_1274853027.61936")
 .annotate 'line', 3
     .local string rx275_tgt
     .local int rx275_pos
@@ -3302,7 +3315,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__metachar:sym<mod>"  :subid("80_1274800449.69268") :method
+.sub "!PREFIX__metachar:sym<mod>"  :subid("80_1274853027.61936") :method
 .annotate 'line', 3
     $P277 = self."!PREFIX__!subrule"("mod_internal", "")
     new $P278, "ResizablePMCArray"
@@ -3312,7 +3325,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "metachar:sym<~>"  :subid("81_1274800449.69268") :method :outer("11_1274800449.69268")
+.sub "metachar:sym<~>"  :subid("81_1274853027.61936") :method :outer("11_1274853027.61936")
 .annotate 'line', 3
     .local string rx281_tgt
     .local int rx281_pos
@@ -3411,7 +3424,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__metachar:sym<~>"  :subid("82_1274800449.69268") :method
+.sub "!PREFIX__metachar:sym<~>"  :subid("82_1274853027.61936") :method
 .annotate 'line', 3
     $P283 = self."!PREFIX__!subrule"("", "~")
     new $P284, "ResizablePMCArray"
@@ -3421,7 +3434,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "metachar:sym<{*}>"  :subid("83_1274800449.69268") :method :outer("11_1274800449.69268")
+.sub "metachar:sym<{*}>"  :subid("83_1274853027.61936") :method :outer("11_1274853027.61936")
 .annotate 'line', 3
     .local string rx288_tgt
     .local int rx288_pos
@@ -3588,7 +3601,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__metachar:sym<{*}>"  :subid("84_1274800449.69268") :method
+.sub "!PREFIX__metachar:sym<{*}>"  :subid("84_1274853027.61936") :method
 .annotate 'line', 3
     new $P290, "ResizablePMCArray"
     push $P290, "{*}"
@@ -3597,7 +3610,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "metachar:sym<assert>"  :subid("85_1274800449.69268") :method :outer("11_1274800449.69268")
+.sub "metachar:sym<assert>"  :subid("85_1274853027.61936") :method :outer("11_1274853027.61936")
 .annotate 'line', 3
     .local string rx305_tgt
     .local int rx305_pos
@@ -3682,7 +3695,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__metachar:sym<assert>"  :subid("86_1274800449.69268") :method
+.sub "!PREFIX__metachar:sym<assert>"  :subid("86_1274853027.61936") :method
 .annotate 'line', 3
     $P307 = self."!PREFIX__!subrule"("assertion", "<")
     new $P308, "ResizablePMCArray"
@@ -3692,7 +3705,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "metachar:sym<var>"  :subid("87_1274800449.69268") :method :outer("11_1274800449.69268")
+.sub "metachar:sym<var>"  :subid("87_1274853027.61936") :method :outer("11_1274853027.61936")
 .annotate 'line', 3
     .local string rx312_tgt
     .local int rx312_pos
@@ -3854,7 +3867,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__metachar:sym<var>"  :subid("88_1274800449.69268") :method
+.sub "!PREFIX__metachar:sym<var>"  :subid("88_1274853027.61936") :method
 .annotate 'line', 3
     new $P314, "ResizablePMCArray"
     push $P314, "$"
@@ -3864,7 +3877,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "metachar:sym<PIR>"  :subid("89_1274800449.69268") :method :outer("11_1274800449.69268")
+.sub "metachar:sym<PIR>"  :subid("89_1274853027.61936") :method :outer("11_1274853027.61936")
 .annotate 'line', 3
     .local string rx324_tgt
     .local int rx324_pos
@@ -3955,7 +3968,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__metachar:sym<PIR>"  :subid("90_1274800449.69268") :method
+.sub "!PREFIX__metachar:sym<PIR>"  :subid("90_1274853027.61936") :method
 .annotate 'line', 3
     new $P326, "ResizablePMCArray"
     push $P326, ":PIR{{"
@@ -3964,7 +3977,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "backslash"  :subid("91_1274800449.69268") :method
+.sub "backslash"  :subid("91_1274853027.61936") :method
 .annotate 'line', 120
     $P332 = self."!protoregex"("backslash")
     .return ($P332)
@@ -3972,7 +3985,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__backslash"  :subid("92_1274800449.69268") :method
+.sub "!PREFIX__backslash"  :subid("92_1274853027.61936") :method
 .annotate 'line', 120
     $P334 = self."!PREFIX__!protoregex"("backslash")
     .return ($P334)
@@ -3980,7 +3993,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "backslash:sym<w>"  :subid("93_1274800449.69268") :method :outer("11_1274800449.69268")
+.sub "backslash:sym<w>"  :subid("93_1274853027.61936") :method :outer("11_1274853027.61936")
 .annotate 'line', 3
     .local string rx336_tgt
     .local int rx336_pos
@@ -4052,7 +4065,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__backslash:sym<w>"  :subid("94_1274800449.69268") :method
+.sub "!PREFIX__backslash:sym<w>"  :subid("94_1274853027.61936") :method
 .annotate 'line', 3
     new $P338, "ResizablePMCArray"
     push $P338, "N"
@@ -4068,7 +4081,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "backslash:sym<b>"  :subid("95_1274800449.69268") :method :outer("11_1274800449.69268")
+.sub "backslash:sym<b>"  :subid("95_1274853027.61936") :method :outer("11_1274853027.61936")
 .annotate 'line', 3
     .local string rx342_tgt
     .local int rx342_pos
@@ -4140,7 +4153,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__backslash:sym<b>"  :subid("96_1274800449.69268") :method
+.sub "!PREFIX__backslash:sym<b>"  :subid("96_1274853027.61936") :method
 .annotate 'line', 3
     new $P344, "ResizablePMCArray"
     push $P344, "B"
@@ -4150,7 +4163,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "backslash:sym<e>"  :subid("97_1274800449.69268") :method :outer("11_1274800449.69268")
+.sub "backslash:sym<e>"  :subid("97_1274853027.61936") :method :outer("11_1274853027.61936")
 .annotate 'line', 3
     .local string rx348_tgt
     .local int rx348_pos
@@ -4222,7 +4235,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__backslash:sym<e>"  :subid("98_1274800449.69268") :method
+.sub "!PREFIX__backslash:sym<e>"  :subid("98_1274853027.61936") :method
 .annotate 'line', 3
     new $P350, "ResizablePMCArray"
     push $P350, "E"
@@ -4232,7 +4245,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "backslash:sym<f>"  :subid("99_1274800449.69268") :method :outer("11_1274800449.69268")
+.sub "backslash:sym<f>"  :subid("99_1274853027.61936") :method :outer("11_1274853027.61936")
 .annotate 'line', 3
     .local string rx354_tgt
     .local int rx354_pos
@@ -4304,7 +4317,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__backslash:sym<f>"  :subid("100_1274800449.69268") :method
+.sub "!PREFIX__backslash:sym<f>"  :subid("100_1274853027.61936") :method
 .annotate 'line', 3
     new $P356, "ResizablePMCArray"
     push $P356, "F"
@@ -4314,7 +4327,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "backslash:sym<h>"  :subid("101_1274800449.69268") :method :outer("11_1274800449.69268")
+.sub "backslash:sym<h>"  :subid("101_1274853027.61936") :method :outer("11_1274853027.61936")
 .annotate 'line', 3
     .local string rx360_tgt
     .local int rx360_pos
@@ -4386,7 +4399,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__backslash:sym<h>"  :subid("102_1274800449.69268") :method
+.sub "!PREFIX__backslash:sym<h>"  :subid("102_1274853027.61936") :method
 .annotate 'line', 3
     new $P362, "ResizablePMCArray"
     push $P362, "H"
@@ -4396,7 +4409,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "backslash:sym<r>"  :subid("103_1274800449.69268") :method :outer("11_1274800449.69268")
+.sub "backslash:sym<r>"  :subid("103_1274853027.61936") :method :outer("11_1274853027.61936")
 .annotate 'line', 3
     .local string rx366_tgt
     .local int rx366_pos
@@ -4468,7 +4481,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__backslash:sym<r>"  :subid("104_1274800449.69268") :method
+.sub "!PREFIX__backslash:sym<r>"  :subid("104_1274853027.61936") :method
 .annotate 'line', 3
     new $P368, "ResizablePMCArray"
     push $P368, "R"
@@ -4478,7 +4491,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "backslash:sym<t>"  :subid("105_1274800449.69268") :method :outer("11_1274800449.69268")
+.sub "backslash:sym<t>"  :subid("105_1274853027.61936") :method :outer("11_1274853027.61936")
 .annotate 'line', 3
     .local string rx372_tgt
     .local int rx372_pos
@@ -4550,7 +4563,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__backslash:sym<t>"  :subid("106_1274800449.69268") :method
+.sub "!PREFIX__backslash:sym<t>"  :subid("106_1274853027.61936") :method
 .annotate 'line', 3
     new $P374, "ResizablePMCArray"
     push $P374, "T"
@@ -4560,7 +4573,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "backslash:sym<v>"  :subid("107_1274800449.69268") :method :outer("11_1274800449.69268")
+.sub "backslash:sym<v>"  :subid("107_1274853027.61936") :method :outer("11_1274853027.61936")
 .annotate 'line', 3
     .local string rx378_tgt
     .local int rx378_pos
@@ -4632,7 +4645,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__backslash:sym<v>"  :subid("108_1274800449.69268") :method
+.sub "!PREFIX__backslash:sym<v>"  :subid("108_1274853027.61936") :method
 .annotate 'line', 3
     new $P380, "ResizablePMCArray"
     push $P380, "V"
@@ -4642,7 +4655,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "backslash:sym<o>"  :subid("109_1274800449.69268") :method :outer("11_1274800449.69268")
+.sub "backslash:sym<o>"  :subid("109_1274853027.61936") :method :outer("11_1274853027.61936")
 .annotate 'line', 3
     .local string rx384_tgt
     .local int rx384_pos
@@ -4748,7 +4761,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__backslash:sym<o>"  :subid("110_1274800449.69268") :method
+.sub "!PREFIX__backslash:sym<o>"  :subid("110_1274853027.61936") :method
 .annotate 'line', 3
     $P386 = self."!PREFIX__!subrule"("octints", "O[")
     $P387 = self."!PREFIX__!subrule"("octint", "O")
@@ -4764,7 +4777,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "backslash:sym<x>"  :subid("111_1274800449.69268") :method :outer("11_1274800449.69268")
+.sub "backslash:sym<x>"  :subid("111_1274853027.61936") :method :outer("11_1274853027.61936")
 .annotate 'line', 3
     .local string rx395_tgt
     .local int rx395_pos
@@ -4870,7 +4883,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__backslash:sym<x>"  :subid("112_1274800449.69268") :method
+.sub "!PREFIX__backslash:sym<x>"  :subid("112_1274853027.61936") :method
 .annotate 'line', 3
     $P397 = self."!PREFIX__!subrule"("hexints", "X[")
     $P398 = self."!PREFIX__!subrule"("hexint", "X")
@@ -4886,7 +4899,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "backslash:sym<c>"  :subid("113_1274800449.69268") :method :outer("11_1274800449.69268")
+.sub "backslash:sym<c>"  :subid("113_1274853027.61936") :method :outer("11_1274853027.61936")
 .annotate 'line', 3
     .local string rx406_tgt
     .local int rx406_pos
@@ -4965,7 +4978,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__backslash:sym<c>"  :subid("114_1274800449.69268") :method
+.sub "!PREFIX__backslash:sym<c>"  :subid("114_1274853027.61936") :method
 .annotate 'line', 3
     $P408 = self."!PREFIX__!subrule"("charspec", "C")
     $P409 = self."!PREFIX__!subrule"("charspec", "c")
@@ -4977,7 +4990,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "backslash:sym<A>"  :subid("115_1274800449.69268") :method :outer("11_1274800449.69268")
+.sub "backslash:sym<A>"  :subid("115_1274853027.61936") :method :outer("11_1274853027.61936")
 .annotate 'line', 3
     .local string rx414_tgt
     .local int rx414_pos
@@ -5040,7 +5053,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__backslash:sym<A>"  :subid("116_1274800449.69268") :method
+.sub "!PREFIX__backslash:sym<A>"  :subid("116_1274853027.61936") :method
 .annotate 'line', 3
     $P416 = self."!PREFIX__!subrule"("", "A")
     new $P417, "ResizablePMCArray"
@@ -5050,7 +5063,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "backslash:sym<z>"  :subid("117_1274800449.69268") :method :outer("11_1274800449.69268")
+.sub "backslash:sym<z>"  :subid("117_1274853027.61936") :method :outer("11_1274853027.61936")
 .annotate 'line', 3
     .local string rx420_tgt
     .local int rx420_pos
@@ -5113,7 +5126,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__backslash:sym<z>"  :subid("118_1274800449.69268") :method
+.sub "!PREFIX__backslash:sym<z>"  :subid("118_1274853027.61936") :method
 .annotate 'line', 3
     $P422 = self."!PREFIX__!subrule"("", "z")
     new $P423, "ResizablePMCArray"
@@ -5123,7 +5136,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "backslash:sym<Z>"  :subid("119_1274800449.69268") :method :outer("11_1274800449.69268")
+.sub "backslash:sym<Z>"  :subid("119_1274853027.61936") :method :outer("11_1274853027.61936")
 .annotate 'line', 3
     .local string rx426_tgt
     .local int rx426_pos
@@ -5186,7 +5199,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__backslash:sym<Z>"  :subid("120_1274800449.69268") :method
+.sub "!PREFIX__backslash:sym<Z>"  :subid("120_1274853027.61936") :method
 .annotate 'line', 3
     $P428 = self."!PREFIX__!subrule"("", "Z")
     new $P429, "ResizablePMCArray"
@@ -5196,7 +5209,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "backslash:sym<Q>"  :subid("121_1274800449.69268") :method :outer("11_1274800449.69268")
+.sub "backslash:sym<Q>"  :subid("121_1274853027.61936") :method :outer("11_1274853027.61936")
 .annotate 'line', 3
     .local string rx432_tgt
     .local int rx432_pos
@@ -5259,7 +5272,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__backslash:sym<Q>"  :subid("122_1274800449.69268") :method
+.sub "!PREFIX__backslash:sym<Q>"  :subid("122_1274853027.61936") :method
 .annotate 'line', 3
     $P434 = self."!PREFIX__!subrule"("", "Q")
     new $P435, "ResizablePMCArray"
@@ -5269,7 +5282,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "backslash:sym<misc>"  :subid("123_1274800449.69268") :method :outer("11_1274800449.69268")
+.sub "backslash:sym<misc>"  :subid("123_1274853027.61936") :method :outer("11_1274853027.61936")
 .annotate 'line', 3
     .local string rx438_tgt
     .local int rx438_pos
@@ -5326,7 +5339,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__backslash:sym<misc>"  :subid("124_1274800449.69268") :method
+.sub "!PREFIX__backslash:sym<misc>"  :subid("124_1274853027.61936") :method
 .annotate 'line', 3
     new $P440, "ResizablePMCArray"
     push $P440, ""
@@ -5335,7 +5348,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "assertion"  :subid("125_1274800449.69268") :method
+.sub "assertion"  :subid("125_1274853027.61936") :method
 .annotate 'line', 138
     $P443 = self."!protoregex"("assertion")
     .return ($P443)
@@ -5343,7 +5356,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__assertion"  :subid("126_1274800449.69268") :method
+.sub "!PREFIX__assertion"  :subid("126_1274853027.61936") :method
 .annotate 'line', 138
     $P445 = self."!PREFIX__!protoregex"("assertion")
     .return ($P445)
@@ -5351,9 +5364,9 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "assertion:sym<?>"  :subid("127_1274800449.69268") :method :outer("11_1274800449.69268")
+.sub "assertion:sym<?>"  :subid("127_1274853027.61936") :method :outer("11_1274853027.61936")
 .annotate 'line', 3
-    .const 'Sub' $P454 = "129_1274800449.69268" 
+    .const 'Sub' $P454 = "129_1274853027.61936" 
     capture_lex $P454
     .local string rx447_tgt
     .local int rx447_pos
@@ -5397,7 +5410,7 @@
     rx447_cur."!mark_push"(0, rx447_pos, $I10)
   # rx subrule "before" subtype=zerowidth negate=
     rx447_cur."!cursor_pos"(rx447_pos)
-    .const 'Sub' $P454 = "129_1274800449.69268" 
+    .const 'Sub' $P454 = "129_1274853027.61936" 
     capture_lex $P454
     $P10 = rx447_cur."before"($P454)
     unless $P10, rx447_fail
@@ -5430,7 +5443,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__assertion:sym<?>"  :subid("128_1274800449.69268") :method
+.sub "!PREFIX__assertion:sym<?>"  :subid("128_1274853027.61936") :method
 .annotate 'line', 3
     $P449 = self."!PREFIX__!subrule"("assertion", "?")
     new $P450, "ResizablePMCArray"
@@ -5441,7 +5454,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "_block453"  :anon :subid("129_1274800449.69268") :method :outer("127_1274800449.69268")
+.sub "_block453"  :anon :subid("129_1274853027.61936") :method :outer("127_1274853027.61936")
 .annotate 'line', 140
     .local string rx455_tgt
     .local int rx455_pos
@@ -5497,9 +5510,9 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "assertion:sym<!>"  :subid("130_1274800449.69268") :method :outer("11_1274800449.69268")
+.sub "assertion:sym<!>"  :subid("130_1274853027.61936") :method :outer("11_1274853027.61936")
 .annotate 'line', 3
-    .const 'Sub' $P465 = "132_1274800449.69268" 
+    .const 'Sub' $P465 = "132_1274853027.61936" 
     capture_lex $P465
     .local string rx458_tgt
     .local int rx458_pos
@@ -5543,7 +5556,7 @@
     rx458_cur."!mark_push"(0, rx458_pos, $I10)
   # rx subrule "before" subtype=zerowidth negate=
     rx458_cur."!cursor_pos"(rx458_pos)
-    .const 'Sub' $P465 = "132_1274800449.69268" 
+    .const 'Sub' $P465 = "132_1274853027.61936" 
     capture_lex $P465
     $P10 = rx458_cur."before"($P465)
     unless $P10, rx458_fail
@@ -5576,7 +5589,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__assertion:sym<!>"  :subid("131_1274800449.69268") :method
+.sub "!PREFIX__assertion:sym<!>"  :subid("131_1274853027.61936") :method
 .annotate 'line', 3
     $P460 = self."!PREFIX__!subrule"("assertion", "!")
     new $P461, "ResizablePMCArray"
@@ -5587,7 +5600,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "_block464"  :anon :subid("132_1274800449.69268") :method :outer("130_1274800449.69268")
+.sub "_block464"  :anon :subid("132_1274853027.61936") :method :outer("130_1274853027.61936")
 .annotate 'line', 141
     .local string rx466_tgt
     .local int rx466_pos
@@ -5643,7 +5656,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "assertion:sym<method>"  :subid("133_1274800449.69268") :method :outer("11_1274800449.69268")
+.sub "assertion:sym<method>"  :subid("133_1274853027.61936") :method :outer("11_1274853027.61936")
 .annotate 'line', 3
     .local string rx469_tgt
     .local int rx469_pos
@@ -5709,7 +5722,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__assertion:sym<method>"  :subid("134_1274800449.69268") :method
+.sub "!PREFIX__assertion:sym<method>"  :subid("134_1274853027.61936") :method
 .annotate 'line', 3
     $P471 = self."!PREFIX__!subrule"("assertion", ".")
     new $P472, "ResizablePMCArray"
@@ -5719,9 +5732,9 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "assertion:sym<name>"  :subid("135_1274800449.69268") :method :outer("11_1274800449.69268")
+.sub "assertion:sym<name>"  :subid("135_1274853027.61936") :method :outer("11_1274853027.61936")
 .annotate 'line', 3
-    .const 'Sub' $P483 = "137_1274800449.69268" 
+    .const 'Sub' $P483 = "137_1274853027.61936" 
     capture_lex $P483
     .local string rx475_tgt
     .local int rx475_pos
@@ -5731,7 +5744,7 @@
     .local pmc rx475_cur
     (rx475_cur, rx475_pos, rx475_tgt) = self."!cursor_start"()
     rx475_cur."!cursor_debug"("START ", "assertion:sym<name>")
-    rx475_cur."!cursor_caparray"("nibbler", "arglist", "assertion")
+    rx475_cur."!cursor_caparray"("arglist", "nibbler", "assertion")
     .lex unicode:"$\x{a2}", rx475_cur
     .local pmc match
     .lex "$/", match
@@ -5786,7 +5799,7 @@
 .annotate 'line', 150
   # rx subrule "before" subtype=zerowidth negate=
     rx475_cur."!cursor_pos"(rx475_pos)
-    .const 'Sub' $P483 = "137_1274800449.69268" 
+    .const 'Sub' $P483 = "137_1274853027.61936" 
     capture_lex $P483
     $P10 = rx475_cur."before"($P483)
     unless $P10, rx475_fail
@@ -5893,7 +5906,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__assertion:sym<name>"  :subid("136_1274800449.69268") :method
+.sub "!PREFIX__assertion:sym<name>"  :subid("136_1274853027.61936") :method
 .annotate 'line', 3
     new $P477, "ResizablePMCArray"
     push $P477, ""
@@ -5902,7 +5915,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "_block482"  :anon :subid("137_1274800449.69268") :method :outer("135_1274800449.69268")
+.sub "_block482"  :anon :subid("137_1274853027.61936") :method :outer("135_1274853027.61936")
 .annotate 'line', 150
     .local string rx484_tgt
     .local int rx484_pos
@@ -5958,9 +5971,9 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "assertion:sym<[>"  :subid("138_1274800449.69268") :method :outer("11_1274800449.69268")
+.sub "assertion:sym<[>"  :subid("138_1274853027.61936") :method :outer("11_1274853027.61936")
 .annotate 'line', 3
-    .const 'Sub' $P493 = "140_1274800449.69268" 
+    .const 'Sub' $P493 = "140_1274853027.61936" 
     capture_lex $P493
     .local string rx488_tgt
     .local int rx488_pos
@@ -5995,7 +6008,7 @@
 .annotate 'line', 158
   # rx subrule "before" subtype=zerowidth negate=
     rx488_cur."!cursor_pos"(rx488_pos)
-    .const 'Sub' $P493 = "140_1274800449.69268" 
+    .const 'Sub' $P493 = "140_1274853027.61936" 
     capture_lex $P493
     $P10 = rx488_cur."before"($P493)
     unless $P10, rx488_fail
@@ -6033,7 +6046,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__assertion:sym<[>"  :subid("139_1274800449.69268") :method
+.sub "!PREFIX__assertion:sym<[>"  :subid("139_1274853027.61936") :method
 .annotate 'line', 3
     new $P490, "ResizablePMCArray"
     push $P490, ""
@@ -6042,7 +6055,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "_block492"  :anon :subid("140_1274800449.69268") :method :outer("138_1274800449.69268")
+.sub "_block492"  :anon :subid("140_1274853027.61936") :method :outer("138_1274853027.61936")
 .annotate 'line', 158
     .local string rx494_tgt
     .local int rx494_pos
@@ -6122,9 +6135,9 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "cclass_elem"  :subid("141_1274800449.69268") :method :outer("11_1274800449.69268")
+.sub "cclass_elem"  :subid("141_1274853027.61936") :method :outer("11_1274853027.61936")
 .annotate 'line', 3
-    .const 'Sub' $P511 = "143_1274800449.69268" 
+    .const 'Sub' $P511 = "143_1274853027.61936" 
     capture_lex $P511
     .local string rx500_tgt
     .local int rx500_pos
@@ -6227,7 +6240,7 @@
 .annotate 'line', 164
   # rx subrule $P511 subtype=capture negate=
     rx500_cur."!cursor_pos"(rx500_pos)
-    .const 'Sub' $P511 = "143_1274800449.69268" 
+    .const 'Sub' $P511 = "143_1274853027.61936" 
     capture_lex $P511
     $P10 = rx500_cur.$P511()
     unless $P10, rx500_fail
@@ -6308,7 +6321,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__cclass_elem"  :subid("142_1274800449.69268") :method
+.sub "!PREFIX__cclass_elem"  :subid("142_1274853027.61936") :method
 .annotate 'line', 3
     new $P502, "ResizablePMCArray"
     push $P502, ""
@@ -6319,13 +6332,13 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "_block510"  :anon :subid("143_1274800449.69268") :method :outer("141_1274800449.69268")
+.sub "_block510"  :anon :subid("143_1274853027.61936") :method :outer("141_1274853027.61936")
 .annotate 'line', 164
-    .const 'Sub' $P526 = "146_1274800449.69268" 
+    .const 'Sub' $P526 = "146_1274853027.61936" 
     capture_lex $P526
-    .const 'Sub' $P521 = "145_1274800449.69268" 
+    .const 'Sub' $P521 = "145_1274853027.61936" 
     capture_lex $P521
-    .const 'Sub' $P517 = "144_1274800449.69268" 
+    .const 'Sub' $P517 = "144_1274853027.61936" 
     capture_lex $P517
     .local string rx512_tgt
     .local int rx512_pos
@@ -6396,7 +6409,7 @@
     add rx512_pos, 1
   # rx subrule $P517 subtype=capture negate=
     rx512_cur."!cursor_pos"(rx512_pos)
-    .const 'Sub' $P517 = "144_1274800449.69268" 
+    .const 'Sub' $P517 = "144_1274853027.61936" 
     capture_lex $P517
     $P10 = rx512_cur.$P517()
     unless $P10, rx512_fail
@@ -6407,7 +6420,7 @@
   alt515_1:
   # rx subrule $P521 subtype=capture negate=
     rx512_cur."!cursor_pos"(rx512_pos)
-    .const 'Sub' $P521 = "145_1274800449.69268" 
+    .const 'Sub' $P521 = "145_1274853027.61936" 
     capture_lex $P521
     $P10 = rx512_cur.$P521()
     unless $P10, rx512_fail
@@ -6436,7 +6449,7 @@
     add rx512_pos, rx512_off, $I11
   # rx subrule $P526 subtype=capture negate=
     rx512_cur."!cursor_pos"(rx512_pos)
-    .const 'Sub' $P526 = "146_1274800449.69268" 
+    .const 'Sub' $P526 = "146_1274853027.61936" 
     capture_lex $P526
     $P10 = rx512_cur.$P526()
     unless $P10, rx512_fail
@@ -6465,7 +6478,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "_block516"  :anon :subid("144_1274800449.69268") :method :outer("143_1274800449.69268")
+.sub "_block516"  :anon :subid("144_1274853027.61936") :method :outer("143_1274853027.61936")
 .annotate 'line', 166
     .local string rx518_tgt
     .local int rx518_pos
@@ -6517,7 +6530,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "_block520"  :anon :subid("145_1274800449.69268") :method :outer("143_1274800449.69268")
+.sub "_block520"  :anon :subid("145_1274853027.61936") :method :outer("143_1274853027.61936")
 .annotate 'line', 166
     .local string rx522_tgt
     .local int rx522_pos
@@ -6573,7 +6586,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "_block525"  :anon :subid("146_1274800449.69268") :method :outer("143_1274800449.69268")
+.sub "_block525"  :anon :subid("146_1274853027.61936") :method :outer("143_1274853027.61936")
 .annotate 'line', 166
     .local string rx527_tgt
     .local int rx527_pos
@@ -6625,9 +6638,9 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "mod_internal"  :subid("147_1274800449.69268") :method :outer("11_1274800449.69268")
+.sub "mod_internal"  :subid("147_1274853027.61936") :method :outer("11_1274853027.61936")
 .annotate 'line', 3
-    .const 'Sub' $P543 = "149_1274800449.69268" 
+    .const 'Sub' $P543 = "149_1274853027.61936" 
     capture_lex $P543
     .local string rx535_tgt
     .local int rx535_pos
@@ -6677,7 +6690,7 @@
   rxquantr541_loop:
   # rx subrule $P543 subtype=capture negate=
     rx535_cur."!cursor_pos"(rx535_pos)
-    .const 'Sub' $P543 = "149_1274800449.69268" 
+    .const 'Sub' $P543 = "149_1274853027.61936" 
     capture_lex $P543
     $P10 = rx535_cur.$P543()
     unless $P10, rx535_fail
@@ -6779,7 +6792,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__mod_internal"  :subid("148_1274800449.69268") :method
+.sub "!PREFIX__mod_internal"  :subid("148_1274853027.61936") :method
 .annotate 'line', 3
     $P537 = self."!PREFIX__!subrule"("mod_ident", ":")
     new $P538, "ResizablePMCArray"
@@ -6790,7 +6803,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "_block542"  :anon :subid("149_1274800449.69268") :method :outer("147_1274800449.69268")
+.sub "_block542"  :anon :subid("149_1274853027.61936") :method :outer("147_1274853027.61936")
 .annotate 'line', 176
     .local string rx544_tgt
     .local int rx544_pos
@@ -6858,7 +6871,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "mod_ident"  :subid("150_1274800449.69268") :method
+.sub "mod_ident"  :subid("150_1274853027.61936") :method
 .annotate 'line', 181
     $P552 = self."!protoregex"("mod_ident")
     .return ($P552)
@@ -6866,7 +6879,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__mod_ident"  :subid("151_1274800449.69268") :method
+.sub "!PREFIX__mod_ident"  :subid("151_1274853027.61936") :method
 .annotate 'line', 181
     $P554 = self."!PREFIX__!protoregex"("mod_ident")
     .return ($P554)
@@ -6874,7 +6887,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "mod_ident:sym<ignorecase>"  :subid("152_1274800449.69268") :method :outer("11_1274800449.69268")
+.sub "mod_ident:sym<ignorecase>"  :subid("152_1274853027.61936") :method :outer("11_1274853027.61936")
 .annotate 'line', 3
     .local string rx556_tgt
     .local int rx556_pos
@@ -6959,7 +6972,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__mod_ident:sym<ignorecase>"  :subid("153_1274800449.69268") :method
+.sub "!PREFIX__mod_ident:sym<ignorecase>"  :subid("153_1274853027.61936") :method
 .annotate 'line', 3
     new $P558, "ResizablePMCArray"
     push $P558, "i"
@@ -6968,7 +6981,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "mod_ident:sym<ratchet>"  :subid("154_1274800449.69268") :method :outer("11_1274800449.69268")
+.sub "mod_ident:sym<ratchet>"  :subid("154_1274853027.61936") :method :outer("11_1274853027.61936")
 .annotate 'line', 3
     .local string rx564_tgt
     .local int rx564_pos
@@ -7053,7 +7066,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__mod_ident:sym<ratchet>"  :subid("155_1274800449.69268") :method
+.sub "!PREFIX__mod_ident:sym<ratchet>"  :subid("155_1274853027.61936") :method
 .annotate 'line', 3
     new $P566, "ResizablePMCArray"
     push $P566, "r"
@@ -7062,7 +7075,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "mod_ident:sym<sigspace>"  :subid("156_1274800449.69268") :method :outer("11_1274800449.69268")
+.sub "mod_ident:sym<sigspace>"  :subid("156_1274853027.61936") :method :outer("11_1274853027.61936")
 .annotate 'line', 3
     .local string rx572_tgt
     .local int rx572_pos
@@ -7147,7 +7160,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__mod_ident:sym<sigspace>"  :subid("157_1274800449.69268") :method
+.sub "!PREFIX__mod_ident:sym<sigspace>"  :subid("157_1274853027.61936") :method
 .annotate 'line', 3
     new $P574, "ResizablePMCArray"
     push $P574, "s"
@@ -7156,18 +7169,18 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "_block579" :load :anon :subid("158_1274800449.69268")
+.sub "_block579" :load :anon :subid("158_1274853027.61936")
 .annotate 'line', 3
-    .const 'Sub' $P581 = "11_1274800449.69268" 
+    .const 'Sub' $P581 = "11_1274853027.61936" 
     $P582 = $P581()
     .return ($P582)
 .end
 
 
 .namespace []
-.sub "_block584" :load :anon :subid("159_1274800449.69268")
+.sub "_block584" :load :anon :subid("159_1274853027.61936")
 .annotate 'line', 1
-    .const 'Sub' $P586 = "10_1274800449.69268" 
+    .const 'Sub' $P586 = "10_1274853027.61936" 
     $P587 = $P586()
     .return ($P587)
 .end
@@ -7175,25 +7188,32 @@
 ### .include 'gen/p6regex-actions.pir'
 
 .namespace []
-.sub "_block11"  :anon :subid("10_1274800455.32363")
+.sub "_block11"  :anon :subid("10_1274853033.06396")
 .annotate 'line', 0
     get_hll_global $P14, ["Regex";"P6Regex";"Actions"], "_block13" 
     capture_lex $P14
+.annotate 'line', 1
+    $P0 = find_dynamic_lex "$*CTXSAVE"
+    if null $P0 goto ctxsave_done
+    $I0 = can $P0, "ctxsave"
+    unless $I0 goto ctxsave_done
+    $P0."ctxsave"()
+  ctxsave_done:
 .annotate 'line', 4
     get_hll_global $P14, ["Regex";"P6Regex";"Actions"], "_block13" 
     capture_lex $P14
     $P1572 = $P14()
 .annotate 'line', 1
     .return ($P1572)
-    .const 'Sub' $P1574 = "90_1274800455.32363" 
+    .const 'Sub' $P1574 = "90_1274853033.06396" 
     .return ($P1574)
 .end
 
 
 .namespace []
-.sub "" :load :init :subid("post91") :outer("10_1274800455.32363")
+.sub "" :load :init :subid("post91") :outer("10_1274853033.06396")
 .annotate 'line', 0
-    .const 'Sub' $P12 = "10_1274800455.32363" 
+    .const 'Sub' $P12 = "10_1274853033.06396" 
     .local pmc block
     set block, $P12
     $P1577 = get_root_global ["parrot"], "P6metaclass"
@@ -7202,115 +7222,115 @@
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "_block13"  :subid("11_1274800455.32363") :outer("10_1274800455.32363")
+.sub "_block13"  :subid("11_1274853033.06396") :outer("10_1274853033.06396")
 .annotate 'line', 4
-    .const 'Sub' $P1534 = "88_1274800455.32363" 
+    .const 'Sub' $P1534 = "88_1274853033.06396" 
     capture_lex $P1534
-    .const 'Sub' $P1465 = "84_1274800455.32363" 
+    .const 'Sub' $P1465 = "84_1274853033.06396" 
     capture_lex $P1465
-    .const 'Sub' $P1397 = "82_1274800455.32363" 
+    .const 'Sub' $P1397 = "82_1274853033.06396" 
     capture_lex $P1397
-    .const 'Sub' $P1324 = "79_1274800455.32363" 
+    .const 'Sub' $P1324 = "79_1274853033.06396" 
     capture_lex $P1324
-    .const 'Sub' $P1310 = "78_1274800455.32363" 
+    .const 'Sub' $P1310 = "78_1274853033.06396" 
     capture_lex $P1310
-    .const 'Sub' $P1286 = "77_1274800455.32363" 
+    .const 'Sub' $P1286 = "77_1274853033.06396" 
     capture_lex $P1286
-    .const 'Sub' $P1268 = "76_1274800455.32363" 
+    .const 'Sub' $P1268 = "76_1274853033.06396" 
     capture_lex $P1268
-    .const 'Sub' $P1254 = "75_1274800455.32363" 
+    .const 'Sub' $P1254 = "75_1274853033.06396" 
     capture_lex $P1254
-    .const 'Sub' $P1241 = "74_1274800455.32363" 
+    .const 'Sub' $P1241 = "74_1274853033.06396" 
     capture_lex $P1241
-    .const 'Sub' $P1210 = "73_1274800455.32363" 
+    .const 'Sub' $P1210 = "73_1274853033.06396" 
     capture_lex $P1210
-    .const 'Sub' $P1179 = "72_1274800455.32363" 
+    .const 'Sub' $P1179 = "72_1274853033.06396" 
     capture_lex $P1179
-    .const 'Sub' $P1163 = "71_1274800455.32363" 
+    .const 'Sub' $P1163 = "71_1274853033.06396" 
     capture_lex $P1163
-    .const 'Sub' $P1147 = "70_1274800455.32363" 
+    .const 'Sub' $P1147 = "70_1274853033.06396" 
     capture_lex $P1147
-    .const 'Sub' $P1131 = "69_1274800455.32363" 
+    .const 'Sub' $P1131 = "69_1274853033.06396" 
     capture_lex $P1131
-    .const 'Sub' $P1115 = "68_1274800455.32363" 
+    .const 'Sub' $P1115 = "68_1274853033.06396" 
     capture_lex $P1115
-    .const 'Sub' $P1099 = "67_1274800455.32363" 
+    .const 'Sub' $P1099 = "67_1274853033.06396" 
     capture_lex $P1099
-    .const 'Sub' $P1083 = "66_1274800455.32363" 
+    .const 'Sub' $P1083 = "66_1274853033.06396" 
     capture_lex $P1083
-    .const 'Sub' $P1067 = "65_1274800455.32363" 
+    .const 'Sub' $P1067 = "65_1274853033.06396" 
     capture_lex $P1067
-    .const 'Sub' $P1043 = "64_1274800455.32363" 
+    .const 'Sub' $P1043 = "64_1274853033.06396" 
     capture_lex $P1043
-    .const 'Sub' $P1028 = "63_1274800455.32363" 
+    .const 'Sub' $P1028 = "63_1274853033.06396" 
     capture_lex $P1028
-    .const 'Sub' $P972 = "62_1274800455.32363" 
+    .const 'Sub' $P972 = "62_1274853033.06396" 
     capture_lex $P972
-    .const 'Sub' $P951 = "61_1274800455.32363" 
+    .const 'Sub' $P951 = "61_1274853033.06396" 
     capture_lex $P951
-    .const 'Sub' $P929 = "60_1274800455.32363" 
+    .const 'Sub' $P929 = "60_1274853033.06396" 
     capture_lex $P929
-    .const 'Sub' $P919 = "59_1274800455.32363" 
+    .const 'Sub' $P919 = "59_1274853033.06396" 
     capture_lex $P919
-    .const 'Sub' $P909 = "58_1274800455.32363" 
+    .const 'Sub' $P909 = "58_1274853033.06396" 
     capture_lex $P909
-    .const 'Sub' $P899 = "57_1274800455.32363" 
+    .const 'Sub' $P899 = "57_1274853033.06396" 
     capture_lex $P899
-    .const 'Sub' $P887 = "56_1274800455.32363" 
+    .const 'Sub' $P887 = "56_1274853033.06396" 
     capture_lex $P887
-    .const 'Sub' $P875 = "55_1274800455.32363" 
+    .const 'Sub' $P875 = "55_1274853033.06396" 
     capture_lex $P875
-    .const 'Sub' $P863 = "54_1274800455.32363" 
+    .const 'Sub' $P863 = "54_1274853033.06396" 
     capture_lex $P863
-    .const 'Sub' $P851 = "53_1274800455.32363" 
+    .const 'Sub' $P851 = "53_1274853033.06396" 
     capture_lex $P851
-    .const 'Sub' $P839 = "52_1274800455.32363" 
+    .const 'Sub' $P839 = "52_1274853033.06396" 
     capture_lex $P839
-    .const 'Sub' $P827 = "51_1274800455.32363" 
+    .const 'Sub' $P827 = "51_1274853033.06396" 
     capture_lex $P827
-    .const 'Sub' $P815 = "50_1274800455.32363" 
+    .const 'Sub' $P815 = "50_1274853033.06396" 
     capture_lex $P815
-    .const 'Sub' $P803 = "49_1274800455.32363" 
+    .const 'Sub' $P803 = "49_1274853033.06396" 
     capture_lex $P803
-    .const 'Sub' $P780 = "48_1274800455.32363" 
+    .const 'Sub' $P780 = "48_1274853033.06396" 
     capture_lex $P780
-    .const 'Sub' $P757 = "47_1274800455.32363" 
+    .const 'Sub' $P757 = "47_1274853033.06396" 
     capture_lex $P757
-    .const 'Sub' $P739 = "46_1274800455.32363" 
+    .const 'Sub' $P739 = "46_1274853033.06396" 
     capture_lex $P739
-    .const 'Sub' $P729 = "45_1274800455.32363" 
+    .const 'Sub' $P729 = "45_1274853033.06396" 
     capture_lex $P729
-    .const 'Sub' $P711 = "44_1274800455.32363" 
+    .const 'Sub' $P711 = "44_1274853033.06396" 
     capture_lex $P711
-    .const 'Sub' $P664 = "43_1274800455.32363" 
+    .const 'Sub' $P664 = "43_1274853033.06396" 
     capture_lex $P664
-    .const 'Sub' $P647 = "42_1274800455.32363" 
+    .const 'Sub' $P647 = "42_1274853033.06396" 
     capture_lex $P647
-    .const 'Sub' $P632 = "41_1274800455.32363" 
+    .const 'Sub' $P632 = "41_1274853033.06396" 
     capture_lex $P632
-    .const 'Sub' $P617 = "40_1274800455.32363" 
+    .const 'Sub' $P617 = "40_1274853033.06396" 
     capture_lex $P617
-    .const 'Sub' $P591 = "39_1274800455.32363" 
+    .const 'Sub' $P591 = "39_1274853033.06396" 
     capture_lex $P591
-    .const 'Sub' $P541 = "37_1274800455.32363" 
+    .const 'Sub' $P541 = "37_1274853033.06396" 
     capture_lex $P541
-    .const 'Sub' $P473 = "35_1274800455.32363" 
+    .const 'Sub' $P473 = "35_1274853033.06396" 
     capture_lex $P473
-    .const 'Sub' $P418 = "32_1274800455.32363" 
+    .const 'Sub' $P418 = "32_1274853033.06396" 
     capture_lex $P418
-    .const 'Sub' $P403 = "31_1274800455.32363" 
+    .const 'Sub' $P403 = "31_1274853033.06396" 
     capture_lex $P403
-    .const 'Sub' $P377 = "29_1274800455.32363" 
+    .const 'Sub' $P377 = "29_1274853033.06396" 
     capture_lex $P377
-    .const 'Sub' $P360 = "28_1274800455.32363" 
+    .const 'Sub' $P360 = "28_1274853033.06396" 
     capture_lex $P360
-    .const 'Sub' $P338 = "27_1274800455.32363" 
+    .const 'Sub' $P338 = "27_1274853033.06396" 
     capture_lex $P338
-    .const 'Sub' $P305 = "26_1274800455.32363" 
+    .const 'Sub' $P305 = "26_1274853033.06396" 
     capture_lex $P305
-    .const 'Sub' $P50 = "13_1274800455.32363" 
+    .const 'Sub' $P50 = "13_1274853033.06396" 
     capture_lex $P50
-    .const 'Sub' $P16 = "12_1274800455.32363" 
+    .const 'Sub' $P16 = "12_1274853033.06396" 
     capture_lex $P16
     get_global $P15, "@MODIFIERS"
     unless_null $P15, vivify_93
@@ -7318,22 +7338,28 @@
     set_global "@MODIFIERS", $P15
   vivify_93:
 .annotate 'line', 479
-    .const 'Sub' $P16 = "12_1274800455.32363" 
+    .const 'Sub' $P16 = "12_1274853033.06396" 
     newclosure $P49, $P16
     .lex "buildsub", $P49
 .annotate 'line', 496
-    .const 'Sub' $P50 = "13_1274800455.32363" 
+    .const 'Sub' $P50 = "13_1274853033.06396" 
     newclosure $P304, $P50
     .lex "capnames", $P304
 .annotate 'line', 562
-    .const 'Sub' $P305 = "26_1274800455.32363" 
+    .const 'Sub' $P305 = "26_1274853033.06396" 
     newclosure $P337, $P305
     .lex "backmod", $P337
 .annotate 'line', 569
-    .const 'Sub' $P338 = "27_1274800455.32363" 
+    .const 'Sub' $P338 = "27_1274853033.06396" 
     newclosure $P358, $P338
     .lex "subrule_alias", $P358
 .annotate 'line', 4
+    $P0 = find_dynamic_lex "$*CTXSAVE"
+    if null $P0 goto ctxsave_done
+    $I0 = can $P0, "ctxsave"
+    unless $I0 goto ctxsave_done
+    $P0."ctxsave"()
+  ctxsave_done:
     get_global $P359, "@MODIFIERS"
 .annotate 'line', 472
     find_lex $P1563, "buildsub"
@@ -7342,13 +7368,13 @@
     find_lex $P1566, "subrule_alias"
 .annotate 'line', 4
     .return ($P1566)
-    .const 'Sub' $P1568 = "89_1274800455.32363" 
+    .const 'Sub' $P1568 = "89_1274853033.06396" 
     .return ($P1568)
 .end
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "" :load :init :subid("post92") :outer("11_1274800455.32363")
+.sub "" :load :init :subid("post92") :outer("11_1274853033.06396")
 .annotate 'line', 4
     get_hll_global $P14, ["Regex";"P6Regex";"Actions"], "_block13" 
     .local pmc block
@@ -7364,7 +7390,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "buildsub"  :subid("12_1274800455.32363") :outer("11_1274800455.32363")
+.sub "buildsub"  :subid("12_1274853033.06396") :outer("11_1274853033.06396")
     .param pmc param_19
     .param pmc param_20 :optional
     .param int has_param_20 :opt_flag
@@ -7441,19 +7467,19 @@
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "capnames"  :subid("13_1274800455.32363") :outer("11_1274800455.32363")
+.sub "capnames"  :subid("13_1274853033.06396") :outer("11_1274853033.06396")
     .param pmc param_53
     .param pmc param_54
 .annotate 'line', 496
-    .const 'Sub' $P279 = "24_1274800455.32363" 
+    .const 'Sub' $P279 = "24_1274853033.06396" 
     capture_lex $P279
-    .const 'Sub' $P216 = "21_1274800455.32363" 
+    .const 'Sub' $P216 = "21_1274853033.06396" 
     capture_lex $P216
-    .const 'Sub' $P174 = "19_1274800455.32363" 
+    .const 'Sub' $P174 = "19_1274853033.06396" 
     capture_lex $P174
-    .const 'Sub' $P132 = "17_1274800455.32363" 
+    .const 'Sub' $P132 = "17_1274853033.06396" 
     capture_lex $P132
-    .const 'Sub' $P65 = "14_1274800455.32363" 
+    .const 'Sub' $P65 = "14_1274853033.06396" 
     capture_lex $P65
     new $P52, 'ExceptionHandler'
     set_addr $P52, control_51
@@ -7509,21 +7535,21 @@
     set $S276, $P275
     iseq $I277, $S276, "quant"
     unless $I277, if_274_end
-    .const 'Sub' $P279 = "24_1274800455.32363" 
+    .const 'Sub' $P279 = "24_1274853033.06396" 
     capture_lex $P279
     $P279()
   if_274_end:
     goto if_211_end
   if_211:
 .annotate 'line', 534
-    .const 'Sub' $P216 = "21_1274800455.32363" 
+    .const 'Sub' $P216 = "21_1274853033.06396" 
     capture_lex $P216
     $P216()
   if_211_end:
     goto if_164_end
   if_164:
 .annotate 'line', 521
-    .const 'Sub' $P174 = "19_1274800455.32363" 
+    .const 'Sub' $P174 = "19_1274853033.06396" 
     capture_lex $P174
     $P174()
   if_164_end:
@@ -7543,7 +7569,7 @@
     unless $P126, loop161_done
     shift $P130, $P126
   loop161_redo:
-    .const 'Sub' $P132 = "17_1274800455.32363" 
+    .const 'Sub' $P132 = "17_1274853033.06396" 
     capture_lex $P132
     $P132($P130)
   loop161_next:
@@ -7562,7 +7588,7 @@
     goto if_60_end
   if_60:
 .annotate 'line', 499
-    .const 'Sub' $P65 = "14_1274800455.32363" 
+    .const 'Sub' $P65 = "14_1274853033.06396" 
     capture_lex $P65
     $P65()
   if_60_end:
@@ -7586,9 +7612,9 @@
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "_block278"  :anon :subid("24_1274800455.32363") :outer("13_1274800455.32363")
+.sub "_block278"  :anon :subid("24_1274853033.06396") :outer("13_1274853033.06396")
 .annotate 'line', 551
-    .const 'Sub' $P290 = "25_1274800455.32363" 
+    .const 'Sub' $P290 = "25_1274853033.06396" 
     capture_lex $P290
 .annotate 'line', 552
     $P280 = root_new ['parrot';'Hash']
@@ -7617,7 +7643,7 @@
     unless $P285, loop295_done
     shift $P288, $P285
   loop295_redo:
-    .const 'Sub' $P290 = "25_1274800455.32363" 
+    .const 'Sub' $P290 = "25_1274853033.06396" 
     capture_lex $P290
     $P290($P288)
   loop295_next:
@@ -7647,7 +7673,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "_block289"  :anon :subid("25_1274800455.32363") :outer("24_1274800455.32363")
+.sub "_block289"  :anon :subid("25_1274853033.06396") :outer("24_1274853033.06396")
     .param pmc param_291
 .annotate 'line', 553
     .lex "$_", param_291
@@ -7667,11 +7693,11 @@
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "_block215"  :anon :subid("21_1274800455.32363") :outer("13_1274800455.32363")
+.sub "_block215"  :anon :subid("21_1274853033.06396") :outer("13_1274853033.06396")
 .annotate 'line', 534
-    .const 'Sub' $P256 = "23_1274800455.32363" 
+    .const 'Sub' $P256 = "23_1274853033.06396" 
     capture_lex $P256
-    .const 'Sub' $P228 = "22_1274800455.32363" 
+    .const 'Sub' $P228 = "22_1274853033.06396" 
     capture_lex $P228
 .annotate 'line', 535
     new $P217, "Undef"
@@ -7706,7 +7732,7 @@
     unless $P223, loop244_done
     shift $P226, $P223
   loop244_redo:
-    .const 'Sub' $P228 = "22_1274800455.32363" 
+    .const 'Sub' $P228 = "22_1274853033.06396" 
     capture_lex $P228
     $P228($P226)
   loop244_next:
@@ -7745,7 +7771,7 @@
     unless $P251, loop269_done
     shift $P254, $P251
   loop269_redo:
-    .const 'Sub' $P256 = "23_1274800455.32363" 
+    .const 'Sub' $P256 = "23_1274853033.06396" 
     capture_lex $P256
     $P256($P254)
   loop269_next:
@@ -7775,7 +7801,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "_block227"  :anon :subid("22_1274800455.32363") :outer("21_1274800455.32363")
+.sub "_block227"  :anon :subid("22_1274853033.06396") :outer("21_1274853033.06396")
     .param pmc param_229
 .annotate 'line', 541
     .lex "$_", param_229
@@ -7815,7 +7841,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "_block255"  :anon :subid("23_1274800455.32363") :outer("21_1274800455.32363")
+.sub "_block255"  :anon :subid("23_1274853033.06396") :outer("21_1274853033.06396")
     .param pmc param_257
 .annotate 'line', 546
     .lex "$_", param_257
@@ -7855,9 +7881,9 @@
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "_block173"  :anon :subid("19_1274800455.32363") :outer("13_1274800455.32363")
+.sub "_block173"  :anon :subid("19_1274853033.06396") :outer("13_1274853033.06396")
 .annotate 'line', 521
-    .const 'Sub' $P192 = "20_1274800455.32363" 
+    .const 'Sub' $P192 = "20_1274853033.06396" 
     capture_lex $P192
 .annotate 'line', 522
     new $P175, "Undef"
@@ -7900,7 +7926,7 @@
     unless $P187, loop208_done
     shift $P190, $P187
   loop208_redo:
-    .const 'Sub' $P192 = "20_1274800455.32363" 
+    .const 'Sub' $P192 = "20_1274853033.06396" 
     capture_lex $P192
     $P192($P190)
   loop208_next:
@@ -7920,7 +7946,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "_block191"  :anon :subid("20_1274800455.32363") :outer("19_1274800455.32363")
+.sub "_block191"  :anon :subid("20_1274853033.06396") :outer("19_1274853033.06396")
     .param pmc param_193
 .annotate 'line', 529
     .lex "$_", param_193
@@ -7960,10 +7986,10 @@
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "_block131"  :anon :subid("17_1274800455.32363") :outer("13_1274800455.32363")
+.sub "_block131"  :anon :subid("17_1274853033.06396") :outer("13_1274853033.06396")
     .param pmc param_134
 .annotate 'line', 513
-    .const 'Sub' $P143 = "18_1274800455.32363" 
+    .const 'Sub' $P143 = "18_1274853033.06396" 
     capture_lex $P143
 .annotate 'line', 514
     $P133 = root_new ['parrot';'Hash']
@@ -7986,7 +8012,7 @@
     unless $P138, loop156_done
     shift $P141, $P138
   loop156_redo:
-    .const 'Sub' $P143 = "18_1274800455.32363" 
+    .const 'Sub' $P143 = "18_1274853033.06396" 
     capture_lex $P143
     $P143($P141)
   loop156_next:
@@ -8016,7 +8042,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "_block142"  :anon :subid("18_1274800455.32363") :outer("17_1274800455.32363")
+.sub "_block142"  :anon :subid("18_1274853033.06396") :outer("17_1274853033.06396")
     .param pmc param_144
 .annotate 'line', 515
     .lex "$_", param_144
@@ -8056,9 +8082,9 @@
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "_block64"  :anon :subid("14_1274800455.32363") :outer("13_1274800455.32363")
+.sub "_block64"  :anon :subid("14_1274853033.06396") :outer("13_1274853033.06396")
 .annotate 'line', 499
-    .const 'Sub' $P74 = "15_1274800455.32363" 
+    .const 'Sub' $P74 = "15_1274853033.06396" 
     capture_lex $P74
 .annotate 'line', 500
     new $P66, "Undef"
@@ -8079,7 +8105,7 @@
     unless $P68, loop118_done
     shift $P72, $P68
   loop118_redo:
-    .const 'Sub' $P74 = "15_1274800455.32363" 
+    .const 'Sub' $P74 = "15_1274853033.06396" 
     capture_lex $P74
     $P74($P72)
   loop118_next:
@@ -8102,10 +8128,10 @@
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "_block73"  :anon :subid("15_1274800455.32363") :outer("14_1274800455.32363")
+.sub "_block73"  :anon :subid("15_1274853033.06396") :outer("14_1274853033.06396")
     .param pmc param_76
 .annotate 'line', 501
-    .const 'Sub' $P85 = "16_1274800455.32363" 
+    .const 'Sub' $P85 = "16_1274853033.06396" 
     capture_lex $P85
 .annotate 'line', 502
     $P75 = root_new ['parrot';'Hash']
@@ -8128,7 +8154,7 @@
     unless $P80, loop105_done
     shift $P83, $P80
   loop105_redo:
-    .const 'Sub' $P85 = "16_1274800455.32363" 
+    .const 'Sub' $P85 = "16_1274853033.06396" 
     capture_lex $P85
     $P85($P83)
   loop105_next:
@@ -8177,7 +8203,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "_block84"  :anon :subid("16_1274800455.32363") :outer("15_1274800455.32363")
+.sub "_block84"  :anon :subid("16_1274853033.06396") :outer("15_1274853033.06396")
     .param pmc param_86
 .annotate 'line', 503
     .lex "$_", param_86
@@ -8236,7 +8262,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "backmod"  :subid("26_1274800455.32363") :outer("11_1274800455.32363")
+.sub "backmod"  :subid("26_1274853033.06396") :outer("11_1274853033.06396")
     .param pmc param_308
     .param pmc param_309
 .annotate 'line', 562
@@ -8310,7 +8336,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "subrule_alias"  :subid("27_1274800455.32363") :outer("11_1274800455.32363")
+.sub "subrule_alias"  :subid("27_1274853033.06396") :outer("11_1274853033.06396")
     .param pmc param_341
     .param pmc param_342
 .annotate 'line', 569
@@ -8354,7 +8380,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "arg"  :subid("28_1274800455.32363") :method :outer("11_1274800455.32363")
+.sub "arg"  :subid("28_1274853033.06396") :method :outer("11_1274853033.06396")
     .param pmc param_363
 .annotate 'line', 14
     new $P362, 'ExceptionHandler'
@@ -8410,10 +8436,10 @@
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "arglist"  :subid("29_1274800455.32363") :method :outer("11_1274800455.32363")
+.sub "arglist"  :subid("29_1274853033.06396") :method :outer("11_1274853033.06396")
     .param pmc param_380
 .annotate 'line', 18
-    .const 'Sub' $P390 = "30_1274800455.32363" 
+    .const 'Sub' $P390 = "30_1274853033.06396" 
     capture_lex $P390
     new $P379, 'ExceptionHandler'
     set_addr $P379, control_378
@@ -8447,7 +8473,7 @@
     unless $P384, loop396_done
     shift $P388, $P384
   loop396_redo:
-    .const 'Sub' $P390 = "30_1274800455.32363" 
+    .const 'Sub' $P390 = "30_1274853033.06396" 
     capture_lex $P390
     $P390($P388)
   loop396_next:
@@ -8476,7 +8502,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "_block389"  :anon :subid("30_1274800455.32363") :outer("29_1274800455.32363")
+.sub "_block389"  :anon :subid("30_1274853033.06396") :outer("29_1274853033.06396")
     .param pmc param_391
 .annotate 'line', 20
     .lex "$_", param_391
@@ -8489,7 +8515,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "TOP"  :subid("31_1274800455.32363") :method :outer("11_1274800455.32363")
+.sub "TOP"  :subid("31_1274853033.06396") :method :outer("11_1274853033.06396")
     .param pmc param_406
 .annotate 'line', 24
     new $P405, 'ExceptionHandler'
@@ -8531,14 +8557,14 @@
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "nibbler"  :subid("32_1274800455.32363") :method :outer("11_1274800455.32363")
+.sub "nibbler"  :subid("32_1274853033.06396") :method :outer("11_1274853033.06396")
     .param pmc param_421
     .param pmc param_422 :optional
     .param int has_param_422 :opt_flag
 .annotate 'line', 30
-    .const 'Sub' $P456 = "34_1274800455.32363" 
+    .const 'Sub' $P456 = "34_1274853033.06396" 
     capture_lex $P456
-    .const 'Sub' $P430 = "33_1274800455.32363" 
+    .const 'Sub' $P430 = "33_1274853033.06396" 
     capture_lex $P430
     new $P420, 'ExceptionHandler'
     set_addr $P420, control_419
@@ -8559,7 +8585,7 @@
     set $S427, $P426
     iseq $I428, $S427, "open"
     unless $I428, if_425_end
-    .const 'Sub' $P430 = "33_1274800455.32363" 
+    .const 'Sub' $P430 = "33_1274853033.06396" 
     capture_lex $P430
     $P430()
   if_425_end:
@@ -8622,7 +8648,7 @@
     unless $P450, loop462_done
     shift $P454, $P450
   loop462_redo:
-    .const 'Sub' $P456 = "34_1274800455.32363" 
+    .const 'Sub' $P456 = "34_1274853033.06396" 
     capture_lex $P456
     $P456($P454)
   loop462_next:
@@ -8652,7 +8678,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "_block429"  :anon :subid("33_1274800455.32363") :outer("32_1274800455.32363")
+.sub "_block429"  :anon :subid("33_1274853033.06396") :outer("32_1274853033.06396")
 .annotate 'line', 32
     $P431 = root_new ['parrot';'Hash']
     .lex "%old", $P431
@@ -8692,7 +8718,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "_block455"  :anon :subid("34_1274800455.32363") :outer("32_1274800455.32363")
+.sub "_block455"  :anon :subid("34_1274853033.06396") :outer("32_1274853033.06396")
     .param pmc param_457
 .annotate 'line', 45
     .lex "$_", param_457
@@ -8707,10 +8733,10 @@
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "termish"  :subid("35_1274800455.32363") :method :outer("11_1274800455.32363")
+.sub "termish"  :subid("35_1274853033.06396") :method :outer("11_1274853033.06396")
     .param pmc param_476
 .annotate 'line', 55
-    .const 'Sub' $P489 = "36_1274800455.32363" 
+    .const 'Sub' $P489 = "36_1274853033.06396" 
     capture_lex $P489
     new $P475, 'ExceptionHandler'
     set_addr $P475, control_474
@@ -8753,7 +8779,7 @@
     unless $P483, loop534_done
     shift $P487, $P483
   loop534_redo:
-    .const 'Sub' $P489 = "36_1274800455.32363" 
+    .const 'Sub' $P489 = "36_1274853033.06396" 
     capture_lex $P489
     $P489($P487)
   loop534_next:
@@ -8782,7 +8808,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "_block488"  :anon :subid("36_1274800455.32363") :outer("35_1274800455.32363")
+.sub "_block488"  :anon :subid("36_1274853033.06396") :outer("35_1274853033.06396")
     .param pmc param_491
 .annotate 'line', 59
     new $P490, "Undef"
@@ -8909,10 +8935,10 @@
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "quantified_atom"  :subid("37_1274800455.32363") :method :outer("11_1274800455.32363")
+.sub "quantified_atom"  :subid("37_1274853033.06396") :method :outer("11_1274853033.06396")
     .param pmc param_544
 .annotate 'line', 76
-    .const 'Sub' $P553 = "38_1274800455.32363" 
+    .const 'Sub' $P553 = "38_1274853033.06396" 
     capture_lex $P553
     new $P543, 'ExceptionHandler'
     set_addr $P543, control_542
@@ -8975,7 +9001,7 @@
     goto if_549_end
   if_549:
 .annotate 'line', 78
-    .const 'Sub' $P553 = "38_1274800455.32363" 
+    .const 'Sub' $P553 = "38_1274853033.06396" 
     capture_lex $P553
     $P553()
   if_549_end:
@@ -9029,7 +9055,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "_block552"  :anon :subid("38_1274800455.32363") :outer("37_1274800455.32363")
+.sub "_block552"  :anon :subid("38_1274853033.06396") :outer("37_1274853033.06396")
 .annotate 'line', 80
     new $P554, "Undef"
     .lex "$qast", $P554
@@ -9068,7 +9094,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "atom"  :subid("39_1274800455.32363") :method :outer("11_1274800455.32363")
+.sub "atom"  :subid("39_1274853033.06396") :method :outer("11_1274853033.06396")
     .param pmc param_594
 .annotate 'line', 91
     new $P593, 'ExceptionHandler'
@@ -9146,7 +9172,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "quantifier:sym<*>"  :subid("40_1274800455.32363") :method :outer("11_1274800455.32363")
+.sub "quantifier:sym<*>"  :subid("40_1274853033.06396") :method :outer("11_1274853033.06396")
     .param pmc param_620
 .annotate 'line', 101
     new $P619, 'ExceptionHandler'
@@ -9186,7 +9212,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "quantifier:sym<+>"  :subid("41_1274800455.32363") :method :outer("11_1274800455.32363")
+.sub "quantifier:sym<+>"  :subid("41_1274853033.06396") :method :outer("11_1274853033.06396")
     .param pmc param_635
 .annotate 'line', 106
     new $P634, 'ExceptionHandler'
@@ -9226,7 +9252,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "quantifier:sym<?>"  :subid("42_1274800455.32363") :method :outer("11_1274800455.32363")
+.sub "quantifier:sym<?>"  :subid("42_1274853033.06396") :method :outer("11_1274853033.06396")
     .param pmc param_650
 .annotate 'line', 111
     new $P649, 'ExceptionHandler'
@@ -9270,7 +9296,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "quantifier:sym<**>"  :subid("43_1274800455.32363") :method :outer("11_1274800455.32363")
+.sub "quantifier:sym<**>"  :subid("43_1274853033.06396") :method :outer("11_1274853033.06396")
     .param pmc param_667
 .annotate 'line', 117
     new $P666, 'ExceptionHandler'
@@ -9410,7 +9436,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "metachar:sym<ws>"  :subid("44_1274800455.32363") :method :outer("11_1274800455.32363")
+.sub "metachar:sym<ws>"  :subid("44_1274853033.06396") :method :outer("11_1274853033.06396")
     .param pmc param_714
 .annotate 'line', 131
     new $P713, 'ExceptionHandler'
@@ -9462,7 +9488,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "metachar:sym<[ ]>"  :subid("45_1274800455.32363") :method :outer("11_1274800455.32363")
+.sub "metachar:sym<[ ]>"  :subid("45_1274853033.06396") :method :outer("11_1274853033.06396")
     .param pmc param_732
 .annotate 'line', 140
     new $P731, 'ExceptionHandler'
@@ -9494,7 +9520,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "metachar:sym<( )>"  :subid("46_1274800455.32363") :method :outer("11_1274800455.32363")
+.sub "metachar:sym<( )>"  :subid("46_1274853033.06396") :method :outer("11_1274853033.06396")
     .param pmc param_742
 .annotate 'line', 144
     new $P741, 'ExceptionHandler'
@@ -9542,7 +9568,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "metachar:sym<'>"  :subid("47_1274800455.32363") :method :outer("11_1274800455.32363")
+.sub "metachar:sym<'>"  :subid("47_1274853033.06396") :method :outer("11_1274853033.06396")
     .param pmc param_760
 .annotate 'line', 151
     new $P759, 'ExceptionHandler'
@@ -9598,7 +9624,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "metachar:sym<\">"  :subid("48_1274800455.32363") :method :outer("11_1274800455.32363")
+.sub "metachar:sym<\">"  :subid("48_1274853033.06396") :method :outer("11_1274853033.06396")
     .param pmc param_783
 .annotate 'line', 158
     new $P782, 'ExceptionHandler'
@@ -9654,7 +9680,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "metachar:sym<.>"  :subid("49_1274800455.32363") :method :outer("11_1274800455.32363")
+.sub "metachar:sym<.>"  :subid("49_1274853033.06396") :method :outer("11_1274853033.06396")
     .param pmc param_806
 .annotate 'line', 165
     new $P805, 'ExceptionHandler'
@@ -9685,7 +9711,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "metachar:sym<^>"  :subid("50_1274800455.32363") :method :outer("11_1274800455.32363")
+.sub "metachar:sym<^>"  :subid("50_1274853033.06396") :method :outer("11_1274853033.06396")
     .param pmc param_818
 .annotate 'line', 170
     new $P817, 'ExceptionHandler'
@@ -9716,7 +9742,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "metachar:sym<^^>"  :subid("51_1274800455.32363") :method :outer("11_1274800455.32363")
+.sub "metachar:sym<^^>"  :subid("51_1274853033.06396") :method :outer("11_1274853033.06396")
     .param pmc param_830
 .annotate 'line', 175
     new $P829, 'ExceptionHandler'
@@ -9747,7 +9773,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "metachar:sym<$>"  :subid("52_1274800455.32363") :method :outer("11_1274800455.32363")
+.sub "metachar:sym<$>"  :subid("52_1274853033.06396") :method :outer("11_1274853033.06396")
     .param pmc param_842
 .annotate 'line', 180
     new $P841, 'ExceptionHandler'
@@ -9778,7 +9804,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "metachar:sym<$$>"  :subid("53_1274800455.32363") :method :outer("11_1274800455.32363")
+.sub "metachar:sym<$$>"  :subid("53_1274853033.06396") :method :outer("11_1274853033.06396")
     .param pmc param_854
 .annotate 'line', 185
     new $P853, 'ExceptionHandler'
@@ -9809,7 +9835,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "metachar:sym<:::>"  :subid("54_1274800455.32363") :method :outer("11_1274800455.32363")
+.sub "metachar:sym<:::>"  :subid("54_1274853033.06396") :method :outer("11_1274853033.06396")
     .param pmc param_866
 .annotate 'line', 190
     new $P865, 'ExceptionHandler'
@@ -9840,7 +9866,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "metachar:sym<lwb>"  :subid("55_1274800455.32363") :method :outer("11_1274800455.32363")
+.sub "metachar:sym<lwb>"  :subid("55_1274853033.06396") :method :outer("11_1274853033.06396")
     .param pmc param_878
 .annotate 'line', 195
     new $P877, 'ExceptionHandler'
@@ -9871,7 +9897,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "metachar:sym<rwb>"  :subid("56_1274800455.32363") :method :outer("11_1274800455.32363")
+.sub "metachar:sym<rwb>"  :subid("56_1274853033.06396") :method :outer("11_1274853033.06396")
     .param pmc param_890
 .annotate 'line', 200
     new $P889, 'ExceptionHandler'
@@ -9902,7 +9928,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "metachar:sym<bs>"  :subid("57_1274800455.32363") :method :outer("11_1274800455.32363")
+.sub "metachar:sym<bs>"  :subid("57_1274853033.06396") :method :outer("11_1274853033.06396")
     .param pmc param_902
 .annotate 'line', 205
     new $P901, 'ExceptionHandler'
@@ -9934,7 +9960,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "metachar:sym<mod>"  :subid("58_1274800455.32363") :method :outer("11_1274800455.32363")
+.sub "metachar:sym<mod>"  :subid("58_1274853033.06396") :method :outer("11_1274853033.06396")
     .param pmc param_912
 .annotate 'line', 209
     new $P911, 'ExceptionHandler'
@@ -9966,7 +9992,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "metachar:sym<assert>"  :subid("59_1274800455.32363") :method :outer("11_1274800455.32363")
+.sub "metachar:sym<assert>"  :subid("59_1274853033.06396") :method :outer("11_1274853033.06396")
     .param pmc param_922
 .annotate 'line', 213
     new $P921, 'ExceptionHandler'
@@ -9998,7 +10024,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "metachar:sym<~>"  :subid("60_1274800455.32363") :method :outer("11_1274800455.32363")
+.sub "metachar:sym<~>"  :subid("60_1274853033.06396") :method :outer("11_1274853033.06396")
     .param pmc param_932
 .annotate 'line', 217
     new $P931, 'ExceptionHandler'
@@ -10060,7 +10086,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "metachar:sym<{*}>"  :subid("61_1274800455.32363") :method :outer("11_1274800455.32363")
+.sub "metachar:sym<{*}>"  :subid("61_1274853033.06396") :method :outer("11_1274853033.06396")
     .param pmc param_954
 .annotate 'line', 230
     new $P953, 'ExceptionHandler'
@@ -10121,7 +10147,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "metachar:sym<var>"  :subid("62_1274800455.32363") :method :outer("11_1274800455.32363")
+.sub "metachar:sym<var>"  :subid("62_1274853033.06396") :method :outer("11_1274853033.06396")
     .param pmc param_975
 .annotate 'line', 237
     new $P974, 'ExceptionHandler'
@@ -10281,7 +10307,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "metachar:sym<PIR>"  :subid("63_1274800455.32363") :method :outer("11_1274800455.32363")
+.sub "metachar:sym<PIR>"  :subid("63_1274853033.06396") :method :outer("11_1274853033.06396")
     .param pmc param_1031
 .annotate 'line', 257
     new $P1030, 'ExceptionHandler'
@@ -10320,7 +10346,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "backslash:sym<w>"  :subid("64_1274800455.32363") :method :outer("11_1274800455.32363")
+.sub "backslash:sym<w>"  :subid("64_1274853033.06396") :method :outer("11_1274853033.06396")
     .param pmc param_1046
 .annotate 'line', 265
     new $P1045, 'ExceptionHandler'
@@ -10386,7 +10412,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "backslash:sym<b>"  :subid("65_1274800455.32363") :method :outer("11_1274800455.32363")
+.sub "backslash:sym<b>"  :subid("65_1274853033.06396") :method :outer("11_1274853033.06396")
     .param pmc param_1070
 .annotate 'line', 271
     new $P1069, 'ExceptionHandler'
@@ -10429,7 +10455,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "backslash:sym<e>"  :subid("66_1274800455.32363") :method :outer("11_1274800455.32363")
+.sub "backslash:sym<e>"  :subid("66_1274853033.06396") :method :outer("11_1274853033.06396")
     .param pmc param_1086
 .annotate 'line', 277
     new $P1085, 'ExceptionHandler'
@@ -10472,7 +10498,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "backslash:sym<f>"  :subid("67_1274800455.32363") :method :outer("11_1274800455.32363")
+.sub "backslash:sym<f>"  :subid("67_1274853033.06396") :method :outer("11_1274853033.06396")
     .param pmc param_1102
 .annotate 'line', 283
     new $P1101, 'ExceptionHandler'
@@ -10515,7 +10541,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "backslash:sym<h>"  :subid("68_1274800455.32363") :method :outer("11_1274800455.32363")
+.sub "backslash:sym<h>"  :subid("68_1274853033.06396") :method :outer("11_1274853033.06396")
     .param pmc param_1118
 .annotate 'line', 289
     new $P1117, 'ExceptionHandler'
@@ -10558,7 +10584,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "backslash:sym<r>"  :subid("69_1274800455.32363") :method :outer("11_1274800455.32363")
+.sub "backslash:sym<r>"  :subid("69_1274853033.06396") :method :outer("11_1274853033.06396")
     .param pmc param_1134
 .annotate 'line', 295
     new $P1133, 'ExceptionHandler'
@@ -10601,7 +10627,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "backslash:sym<t>"  :subid("70_1274800455.32363") :method :outer("11_1274800455.32363")
+.sub "backslash:sym<t>"  :subid("70_1274853033.06396") :method :outer("11_1274853033.06396")
     .param pmc param_1150
 .annotate 'line', 301
     new $P1149, 'ExceptionHandler'
@@ -10644,7 +10670,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "backslash:sym<v>"  :subid("71_1274800455.32363") :method :outer("11_1274800455.32363")
+.sub "backslash:sym<v>"  :subid("71_1274853033.06396") :method :outer("11_1274853033.06396")
     .param pmc param_1166
 .annotate 'line', 307
     new $P1165, 'ExceptionHandler'
@@ -10687,7 +10713,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "backslash:sym<o>"  :subid("72_1274800455.32363") :method :outer("11_1274800455.32363")
+.sub "backslash:sym<o>"  :subid("72_1274853033.06396") :method :outer("11_1274853033.06396")
     .param pmc param_1182
 .annotate 'line', 314
     new $P1181, 'ExceptionHandler'
@@ -10770,7 +10796,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "backslash:sym<x>"  :subid("73_1274800455.32363") :method :outer("11_1274800455.32363")
+.sub "backslash:sym<x>"  :subid("73_1274853033.06396") :method :outer("11_1274853033.06396")
     .param pmc param_1213
 .annotate 'line', 323
     new $P1212, 'ExceptionHandler'
@@ -10853,7 +10879,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "backslash:sym<c>"  :subid("74_1274800455.32363") :method :outer("11_1274800455.32363")
+.sub "backslash:sym<c>"  :subid("74_1274853033.06396") :method :outer("11_1274853033.06396")
     .param pmc param_1244
 .annotate 'line', 332
     new $P1243, 'ExceptionHandler'
@@ -10888,7 +10914,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "backslash:sym<misc>"  :subid("75_1274800455.32363") :method :outer("11_1274800455.32363")
+.sub "backslash:sym<misc>"  :subid("75_1274853033.06396") :method :outer("11_1274853033.06396")
     .param pmc param_1257
 .annotate 'line', 336
     new $P1256, 'ExceptionHandler'
@@ -10921,7 +10947,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "assertion:sym<?>"  :subid("76_1274800455.32363") :method :outer("11_1274800455.32363")
+.sub "assertion:sym<?>"  :subid("76_1274853033.06396") :method :outer("11_1274853033.06396")
     .param pmc param_1271
 .annotate 'line', 342
     new $P1270, 'ExceptionHandler'
@@ -10981,7 +11007,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "assertion:sym<!>"  :subid("77_1274800455.32363") :method :outer("11_1274800455.32363")
+.sub "assertion:sym<!>"  :subid("77_1274853033.06396") :method :outer("11_1274853033.06396")
     .param pmc param_1289
 .annotate 'line', 352
     new $P1288, 'ExceptionHandler'
@@ -11049,7 +11075,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "assertion:sym<method>"  :subid("78_1274800455.32363") :method :outer("11_1274800455.32363")
+.sub "assertion:sym<method>"  :subid("78_1274853033.06396") :method :outer("11_1274853033.06396")
     .param pmc param_1313
 .annotate 'line', 365
     new $P1312, 'ExceptionHandler'
@@ -11092,12 +11118,12 @@
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "assertion:sym<name>"  :subid("79_1274800455.32363") :method :outer("11_1274800455.32363")
+.sub "assertion:sym<name>"  :subid("79_1274853033.06396") :method :outer("11_1274853033.06396")
     .param pmc param_1327
 .annotate 'line', 372
-    .const 'Sub' $P1385 = "81_1274800455.32363" 
+    .const 'Sub' $P1385 = "81_1274853033.06396" 
     capture_lex $P1385
-    .const 'Sub' $P1349 = "80_1274800455.32363" 
+    .const 'Sub' $P1349 = "80_1274853033.06396" 
     capture_lex $P1349
     new $P1326, 'ExceptionHandler'
     set_addr $P1326, control_1325
@@ -11193,7 +11219,7 @@
     unless $P1376, loop1390_done
     shift $P1383, $P1376
   loop1390_redo:
-    .const 'Sub' $P1385 = "81_1274800455.32363" 
+    .const 'Sub' $P1385 = "81_1274853033.06396" 
     capture_lex $P1385
     $P1385($P1383)
   loop1390_next:
@@ -11233,7 +11259,7 @@
     goto if_1344_end
   if_1344:
 .annotate 'line', 379
-    .const 'Sub' $P1349 = "80_1274800455.32363" 
+    .const 'Sub' $P1349 = "80_1274853033.06396" 
     capture_lex $P1349
     $P1349()
   if_1344_end:
@@ -11274,7 +11300,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "_block1384"  :anon :subid("81_1274800455.32363") :outer("79_1274800455.32363")
+.sub "_block1384"  :anon :subid("81_1274853033.06396") :outer("79_1274853033.06396")
     .param pmc param_1386
 .annotate 'line', 401
     .lex "$_", param_1386
@@ -11286,7 +11312,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "_block1348"  :anon :subid("80_1274800455.32363") :outer("79_1274800455.32363")
+.sub "_block1348"  :anon :subid("80_1274853033.06396") :outer("79_1274853033.06396")
 .annotate 'line', 380
     new $P1350, "Undef"
     .lex "$regexsym", $P1350
@@ -11317,10 +11343,10 @@
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "assertion:sym<[>"  :subid("82_1274800455.32363") :method :outer("11_1274800455.32363")
+.sub "assertion:sym<[>"  :subid("82_1274853033.06396") :method :outer("11_1274853033.06396")
     .param pmc param_1400
 .annotate 'line', 407
-    .const 'Sub' $P1435 = "83_1274800455.32363" 
+    .const 'Sub' $P1435 = "83_1274853033.06396" 
     capture_lex $P1435
     new $P1399, 'ExceptionHandler'
     set_addr $P1399, control_1398
@@ -11412,7 +11438,7 @@
     islt $I1433, $N1430, $N1432
     unless $I1433, loop1458_done
   loop1458_redo:
-    .const 'Sub' $P1435 = "83_1274800455.32363" 
+    .const 'Sub' $P1435 = "83_1274853033.06396" 
     capture_lex $P1435
     $P1435()
   loop1458_next:
@@ -11440,7 +11466,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "_block1434"  :anon :subid("83_1274800455.32363") :outer("82_1274800455.32363")
+.sub "_block1434"  :anon :subid("83_1274853033.06396") :outer("82_1274853033.06396")
 .annotate 'line', 421
     new $P1436, "Undef"
     .lex "$ast", $P1436
@@ -11491,12 +11517,12 @@
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "cclass_elem"  :subid("84_1274800455.32363") :method :outer("11_1274800455.32363")
+.sub "cclass_elem"  :subid("84_1274853033.06396") :method :outer("11_1274853033.06396")
     .param pmc param_1468
 .annotate 'line', 434
-    .const 'Sub' $P1493 = "86_1274800455.32363" 
+    .const 'Sub' $P1493 = "86_1274853033.06396" 
     capture_lex $P1493
-    .const 'Sub' $P1477 = "85_1274800455.32363" 
+    .const 'Sub' $P1477 = "85_1274853033.06396" 
     capture_lex $P1477
     new $P1467, 'ExceptionHandler'
     set_addr $P1467, control_1466
@@ -11545,7 +11571,7 @@
     unless $P1487, loop1518_done
     shift $P1491, $P1487
   loop1518_redo:
-    .const 'Sub' $P1493 = "86_1274800455.32363" 
+    .const 'Sub' $P1493 = "86_1274853033.06396" 
     capture_lex $P1493
     $P1493($P1491)
   loop1518_next:
@@ -11569,7 +11595,7 @@
     goto if_1473_end
   if_1473:
 .annotate 'line', 437
-    .const 'Sub' $P1477 = "85_1274800455.32363" 
+    .const 'Sub' $P1477 = "85_1274853033.06396" 
     capture_lex $P1477
     $P1477()
   if_1473_end:
@@ -11601,10 +11627,10 @@
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "_block1492"  :anon :subid("86_1274800455.32363") :outer("84_1274800455.32363")
+.sub "_block1492"  :anon :subid("86_1274853033.06396") :outer("84_1274853033.06396")
     .param pmc param_1494
 .annotate 'line', 441
-    .const 'Sub' $P1500 = "87_1274800455.32363" 
+    .const 'Sub' $P1500 = "87_1274853033.06396" 
     capture_lex $P1500
     .lex "$_", param_1494
 .annotate 'line', 442
@@ -11633,7 +11659,7 @@
 .annotate 'line', 442
     goto if_1496_end
   if_1496:
-    .const 'Sub' $P1500 = "87_1274800455.32363" 
+    .const 'Sub' $P1500 = "87_1274853033.06396" 
     capture_lex $P1500
     $P1513 = $P1500()
     set $P1495, $P1513
@@ -11644,7 +11670,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "_block1499"  :anon :subid("87_1274800455.32363") :outer("86_1274800455.32363")
+.sub "_block1499"  :anon :subid("87_1274853033.06396") :outer("86_1274853033.06396")
 .annotate 'line', 443
     new $P1501, "Undef"
     .lex "$a", $P1501
@@ -11708,7 +11734,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "_block1476"  :anon :subid("85_1274800455.32363") :outer("84_1274800455.32363")
+.sub "_block1476"  :anon :subid("85_1274853033.06396") :outer("84_1274853033.06396")
 .annotate 'line', 438
     new $P1478, "Undef"
     .lex "$name", $P1478
@@ -11736,7 +11762,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "mod_internal"  :subid("88_1274800455.32363") :method :outer("11_1274800455.32363")
+.sub "mod_internal"  :subid("88_1274853033.06396") :method :outer("11_1274853033.06396")
     .param pmc param_1537
 .annotate 'line', 472
     new $P1536, 'ExceptionHandler'
@@ -11834,18 +11860,18 @@
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "_block1567" :load :anon :subid("89_1274800455.32363")
+.sub "_block1567" :load :anon :subid("89_1274853033.06396")
 .annotate 'line', 4
-    .const 'Sub' $P1569 = "11_1274800455.32363" 
+    .const 'Sub' $P1569 = "11_1274853033.06396" 
     $P1570 = $P1569()
     .return ($P1570)
 .end
 
 
 .namespace []
-.sub "_block1573" :load :anon :subid("90_1274800455.32363")
+.sub "_block1573" :load :anon :subid("90_1274853033.06396")
 .annotate 'line', 1
-    .const 'Sub' $P1575 = "10_1274800455.32363" 
+    .const 'Sub' $P1575 = "10_1274853033.06396" 
     $P1576 = $P1575()
     .return ($P1576)
 .end


More information about the parrot-commits mailing list